// JavaScript Document

//LAYOUT
var ElGoodies = {

    getDocument: function(){
        return this.ownerDocument;
    },

    getWindow: function(){
        return this.getDocument().getWindow?this.getDocument().getWindow():window;
    },

    dispose: function(){
        return this.parentNode.removeChild(this);
    },

    replaces: function(el){
        if('string'==(typeof el).toLowerCase()) el = document.getElementById(el);
        el.parentNode.replaceChild(this, el);
        return this;
    },

    hasClass: function(className){
        return this.className.contains(className, ' ');
    },

    addClass: function(className){
        if (!this.hasClass(className)) this.className = (this.className + ' ' + className).clean();
        return this;
    },

    removeClass: function(className){
        this.className = this.className.replace(new RegExp('(^|\\s)' + className + '(?:\\s|$)'), '$1').clean();
        return this;
    },

    toggleClass: function(className){
        return this.hasClass(className) ? this.removeClass(className) : this.addClass(className);
    },

    getComputedStyle: function(property){
        var result = null;
        if (this.currentStyle){
            result = this.currentStyle[property.camelCase()];
        } else {
            var computed = this.getWindow().getComputedStyle(this, null);
            if (computed) result = computed.getPropertyValue([property.hyphenate()]);
        }
        return result;
    },

    isBody: function() {
        return this.tagName.toLowerCase() == 'body';
    },

    getPosition: function(relative){
        function objectize(el) {
            if('string'==(typeof el).toLowerCase()) el = document.getElementById(el);
            return el;
        }
        if (this.isBody()) return {x: 0, y: 0};
        var el = this, position = {x: 0, y: 0};
        while (el){
            position.x += el.offsetLeft;
            position.y += el.offsetTop;
            el = el.offsetParent;
        }
        var rpos = (relative) ? objectize(relative).getPosition() : {x: 0, y: 0};
        return {x: position.x - rpos.x, y: position.y - rpos.y};
    },

    enrich: function(el){
        if(null==el) return;
        if('string'==(typeof el).toLowerCase()) el = document.getElementById(el);
        for( var methodName in this ) {
            if('enrich'==methodName) continue;
            if( 'undefined' == typeof el[methodName] || null == typeof el[methodName] ) {
                el[methodName] = this[methodName];
            }
        }
    }
};

function maximize(el) {
    if(!el.getPosition) ElGoodies.enrich(el);
    var soFarAway = document.getElementById('soFarAway');
    var farAway = document.getElementById('farAway');
    var lastDiv = (document.getElementsByTagName('div'))[document.getElementsByTagName('div').length-1];
    if( null==soFarAway ) {
        var sfaProps = {
            position:'absolute',
            right:'1px',
            bottom:'1px',
            overflow:'hidden',
            width:'1px',
            height:'1px',
            backgroundColor:'transparent',
            zIndex:'-1'
        };
        soFarAway = document.createElement('div');
        soFarAway.setAttribute('id','soFarAway');
        for( var prop in sfaProps ) soFarAway.style[prop] = sfaProps[prop];
        el.getDocument().body.insertBefore(soFarAway,document.body.firstChild);
        ElGoodies.enrich(soFarAway);
        ElGoodies.enrich(lastDiv);
    }
    lastDiv.pos = lastDiv.getPosition();
    soFarAway.pos = soFarAway.getPosition();
    el.style.width  = Math.max(soFarAway.pos.x+2,el.getDocument().body.clientWidth)+'px';
    //el.style.height = Math.max(soFarAway.pos.y+1,lastDiv.pos.y+lastDiv.offsetHeight)+'px';

    h = Math.max((window.innerHeight?window.innerHeight:0),(document.getElementsByTagName('body'))[0].offsetHeight,(document.getElementsByTagName('html'))[0].offsetHeight)
    el.style.height = h+'px';
    el.style.width = '994px';

    el.style.display = 'block';
}

function affichePopIn(nom_popup){
    maximize(document.getElementById('BgPopup'));
    document.getElementById(nom_popup).style.display='block';


    // on enleve les select
    var x = document.getElementsByTagName("select");
    for (i = 0; i < x.length; i++) {
       //x[i].style.display = "none";
       x[i].style.visibility = "hidden";
    }

    return false;
}

function cachePopIn(nom_popup){
    document.getElementById(nom_popup).style.display='none';
    document.getElementById('BgPopup').style.display='none';

    // on remet les select
    var x = document.getElementsByTagName("select");
    for (i = 0; i < x.length; i++) {
       //x[i].style.display = "block";
       x[i].style.visibility = "";
    }
    return false;
}// JavaScript Document

//PNG IE
 /* var bgsleight   = function() {

    function addLoadEvent(func) {
        var oldonload = window.onload;
        if (typeof window.onload != 'function') {
            window.onload = func;
        } else {
            window.onload = function() {
                if (oldonload) {
                    oldonload();
                }
                func();
            }
        }
    }

    function fnLoadPngs() {
        var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
        var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);
        for (var i = document.all.length - 1, obj = null; (obj = document.all[i]); i--) {
            if (itsAllGood && obj.currentStyle.backgroundImage.match(/\.png/i) != null) {
                fnFixPng(obj);
                obj.attachEvent("onpropertychange", fnPropertyChanged);
            }
        }
    }

    function fnPropertyChanged() {
        if (window.event.propertyName == "style.backgroundImage") {
            var el = window.event.srcElement;
            if (!el.currentStyle.backgroundImage.match(/x\.gif/i)) {
                var bg  = el.currentStyle.backgroundImage;
                var src = bg.substring(5,bg.length-2);
                el.filters.item(0).src = src;
                el.style.backgroundImage = "url(x.gif)";
            }
        }
    }

    function fnFixPng(obj) {
        var bg  = obj.currentStyle.backgroundImage;
        var src = bg.substring(5,bg.length-2);
        obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')";
        obj.style.backgroundImage = "url(x.gif)";
    }




    return {

        init: function() {

            if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
                addLoadEvent(fnLoadPngs);
            }

        }
    }

}();

bgsleight.init();

*/
//MENU
function montre(id) {
   if (id == "partir_deux" || id == "sejour"){
    if (document.getElementById("destination") != undefined){
        document.getElementById("destination").style.visibility = "hidden";
        document.getElementById("villedep").style.visibility = "hidden";
      }
      if (document.getElementById("votreagence") != undefined){
        document.getElementById("votreagence").style.visibility = "hidden";
      }

   }
}

function cache(id) {

   if (id == "partir_deux" || id == "sejour"){
    if (document.getElementById("destination") != undefined){
          document.getElementById("destination").style.visibility = "";
          document.getElementById("villedep").style.visibility = "";
       }
      if (document.getElementById("votreagence") != undefined){
        document.getElementById("votreagence").style.visibility = "";
      }
   }
}


 function getStyle(el,styleProp)    {
    var x = document.getElementById(el);
    if (window.getComputedStyle)// Mozilla
    var y = window.getComputedStyle(x,null).getPropertyValue(styleProp);
    else if (x.currentStyle)// Explorer 6
    {
        if (styleProp!='clip') var y = eval('x.currentStyle.' + styleProp);
        else{
            ctop=x.currentStyle.clipTop;
            cright=x.currentStyle.clipRight;
            cbottom=x.currentStyle.clipBottom;
            cleft=x.currentStyle.clipLeft;
            y='rect('+ctop+','+cright+','+cbottom+','+cleft+')';
        }
    }
    return y;
}


function calageForm(){
    var tailleArianne = getStyle("arianne","height").split('px')[0];
    if (tailleArianne>43){
        var decalage = parseInt(tailleArianne) + parseInt(223) - parseInt(50);
        document.getElementById("formulaire_recherche").style.top = decalage+"px";
    }
}

function calageForm2(){
    var tailleArianne = getStyle("arianne","height").split('px')[0];
    var topForm = getStyle("formulaire_recherche","top").split('px')[0];
    if (tailleArianne>43){
        var decalage = parseInt(tailleArianne) + parseInt(topForm) - parseInt(50);
        document.getElementById("formulaire_recherche").style.top = decalage+"px";
    }
}


//POPIN ==> Apporte une erreur sur GG
/*onscroll = function(){
   if (document.all){
      document.getElementById('popin_acces_compte').style.top=document.documentElement.scrollTop+100+"px";
      document.getElementById('popin_recherche_pass').style.top=document.documentElement.scrollTop+100+"px";
      document.getElementById('popin_recherche_pass2').style.top=document.documentElement.scrollTop+100+"px";
   }else{
      document.getElementById('popin_acces_compte').style.top=window.pageYOffset+100+"px";
      document.getElementById('popin_recherche_pass').style.top=window.pageYOffset+100+"px";
      document.getElementById('popin_recherche_pass2').style.top=window.pageYOffset+100+"px";
   }
}*/




function verifEmail(email,url)  {

    $("#DivPopOk2").css("display","block");
    $("body").append("<div id='BgPopup' style='height: 926px; width: 1263px; margin-left: -149.5px; display: block;'></div>");



    adresse = email.value;
    var place = adresse.indexOf("@",1);
    var point = adresse.indexOf(".",place+1);
    if ((place > -1)&&(adresse.length >2)&&(point > 1))
    {

        bodyContent = $.ajax({

              type: "GET",
              url: "/newsletter_typo.php",
              data: "action=subscribe&source=magasin&email_input="+adresse,
              success: function(msg){

                if(msg == 0) {
                    $("p#reponse").html("Vous Ãªtes dÃ©jÃ  inscrit Ã  la newsletter");
                }
                else {
                    $("p#reponse").html("Votre inscription Ã  la newsletter a bien Ã©tÃ© enregistrÃ©");
                }

                }
        });


    }
    else
    {
        $("p#reponse").html("Veuillez renseigner votre e-mail");
    }
    return false;
}

function closeNewsletter() {
    $("#DivPopOk2").css("display","none");
    $("#BgPopup").remove();

}

function closeJustice() {
    $("#DivPopOkJustice").css("display","none");
    $("#BgPopup").remove();

}

// Controle du formulaire Contactez-nous Shopping

function verifFormShopping(civi,nom,prenom,email,demande,message,newssubscription2)  {

    $("#DivPopOk2").css("display","block");
    $("body").append("<div id='BgPopup' style='height: 926px; width: 1263px; margin-left: -149.5px; display: block;'></div>");

    var frm  = document.question;
    var errMsg = new Array();
    var messageErr = '';
    errCount = 0;

    // controle civilite
	civilite = $("input[name='civi']:checked").val();
    var controlCivilite = false;
    if (nbCoche(frm.elements['civi']) == 0)
    {
        errMsg[0] = "Veuillez choisir votre civilité.";
        errCount++;
    }
    else
    {
        controlCivilite = true;
        errMsg[0] ='';
    }

    // controle nom
    nom = nom.value
    var controlNom = false;
    if (nom.length >2)
    {
        controlNom = true;
        errMsg[1] ='';
    }
    else
    {
        errMsg[1] = "Veuillez saisir votre nom.";
        errCount++;
    }

    // controle prenom
    prenom = prenom.value
    var controlPrenom = false;
    if (prenom.length >2)
    {
        controlPrenom = true;
        errMsg[2] = '';
    }
    else
    {
        errMsg[2] = "Veuillez saisir votre prénom.";
        errCount++;
    }

    // controle email
    adresse = email.value;
    var controlEmail = false;
    var place = adresse.indexOf("@",1);
    var point = adresse.indexOf(".",place+1);
    if ((place > -1)&&(adresse.length >2)&&(point > 1))
    {
        controlEmail = true;
        errMsg[3] ='';
    }
    else
    {
        errMsg[3] = "Veuillez saisir votre e-mail.";
        errCount++;
    }

    // controle demande
    demande = demande.value
    var controlDemande = false;
    if (demande.length >2)
    {
        controlDemande = true;
        errMsg[4] ='';
    }
    else
    {
        errMsg[4] = "Veuillez choisir l'objet de votre demande.";
        errCount++;
    }

    // controle message
    message = message.value
    var controlMessage = false;
    if (message.length >2)
    {
        controlMessage = true;
        errMsg[5] ='';
    }
    else
    {
        errMsg[5] = "Veuillez saisir un message.";
        errCount++;
    }

    // controle newssubscription
    newssubscription = $("input[name='newssubscription']:checked").val();
    var controlNewssubscription = false;
    if (nbCoche(frm.elements['newssubscription']) == 0)
    {
        errMsg[6] = "Veuillez choisir si oui ou non vous souhaitez reçevoir les actualités de Galerieslafayette.com.";
        errCount++;
    }
    else
    {
        controlNewssubscription = true;
        errMsg[6] ='';
    }

    if (controlCivilite && controlNom && controlPrenom && controlEmail && controlDemande && controlMessage && controlNewssubscription)
    {

        bodyContent = $.ajax({
              type: "GET",
              url: "/content/send_mail.php",
              data: "civi="+civilite+"&nom="+nom+"&prenom="+prenom+"&email="+adresse+"&demande="+demande+"&message="+message+"&newssubscription="+newssubscription,
              success: function(html){

                if(html == "OK") {
                    $("p#reponse").html("Bonjour,<br />Nous avons bien pris en compte votre demande nous la traiterons dans les plus brefs délais.<br />Trés cordialement<br />Le service Clients</div>");
                }
                else {
                    $("p#reponse").html("Une erreur s'est produite durant l'envoi de votre formulaire.<br />Veuillez essayer a nouveau dans quelques instants. </div>");
                }
            }

           }
        );

    }
    else
    {
        for (i=0; i < 6; i++) {
            if (errMsg[i] == '') {
                messageErr += errMsg[i];
            }
            else
            {
                messageErr += errMsg[i] + "<br />";
            }
        }
        $("p#reponse").html(messageErr);
    }
    return false;
}

function closeFormShopping() {
    $("#DivPopOk2").css("display","none");
    $("#BgPopup").remove();
}

/* Renvoie le nb de case cochees */
function nbCoche(e){
    var nb = 0;
    for (i=0; i < e.length; i++){
        if ( e[i].checked ){
            nb++;
        }
    }
    return nb;
}


function verifFormContrib(civi,nom,prenom,email,demande,message,newssubscription)   {

    $("#DivPopOk2").css("display","block");
    $("body").append("<div id='BgPopup' style='height: 926px; width: 1263px; margin-left: -149.5px; display: block;'></div>");

    var frm  = document.contrib;
    var errMsg = new Array();
    var messageErr = '';
    errCount = 0;

    // controle civilite
    civilite = civi.value
    var controlCivilite = false;
    if (nbCoche(frm.elements['civi']) == 0)
    {
        errMsg[0] = "Veuillez choisir votre civilité.";
        errCount++;
    }
    else
    {
        controlCivilite = true;
        errMsg[0] ='';
    }

    // controle nom
    nom = nom.value
    var controlNom = false;
    if (nom.length >2)
    {
        controlNom = true;
        errMsg[1] ='';
    }
    else
    {
        errMsg[1] = "Veuillez saisir votre nom.";
        errCount++;
    }

    // controle prenom
    prenom = prenom.value
    var controlPrenom = false;
    if (prenom.length >2)
    {
        controlPrenom = true;
        errMsg[2] = '';
    }
    else
    {
        errMsg[2] = "Veuillez saisir votre prénom.";
        errCount++;
    }

    // controle email
    adresse = email.value;
    var controlEmail = false;
    var place = adresse.indexOf("@",1);
    var point = adresse.indexOf(".",place+1);
    if ((place > -1)&&(adresse.length >2)&&(point > 1))
    {
        controlEmail = true;
        errMsg[3] ='';
    }
    else
    {
        errMsg[3] = "Veuillez saisir votre e-mail.";
        errCount++;
    }

    // controle demande
    demande = demande.value
    var controlDemande = false;
    if (demande.length >2)
    {
        controlDemande = true;
        errMsg[4] ='';
    }
    else
    {
        errMsg[4] = "Veuillez choisir l'objet de votre demande.";
        errCount++;
    }

    // controle message
    message = message.value
    var controlMessage = false;
    if (message.length >2)
    {
        controlMessage = true;
        errMsg[5] ='';
    }
    else
    {
        errMsg[5] = "Veuillez saisir un message.";
        errCount++;
    }

    // controle newssubscription
    newssubscription = newssubscription.value
    var controlNewssubscription = false;
    if (nbCoche(frm.elements['newssubscription']) == 0)
    {
        errMsg[6] = "Veuillez choisir si oui ou non vous souhaitez reçevoir les actualités de Galerieslafayette.com.";
        errCount++;
    }
    else
    {
        controlNewssubscription = true;
        errMsg[6] ='';
    }

    if (controlCivilite && controlNom && controlPrenom && controlEmail && controlDemande && controlMessage && controlNewssubscription)
    {

        bodyContent = $.ajax({
              type: "GET",
              url: "send_mail.php",
              data: "civi="+civi+"&nom="+nom+"&prenom="+prenom+"&email="+email+"&demande="+demande+"&message="+message+"&newssubscription="+newssubscription,
              success: function(html){

                if(html == "OK") {
                    $("p#reponse").html("Bonjour,<br />Nous avons bien pris en compte votre demande nous la traiterons dans les plus brefs délais.<br />Trés cordialement<br />Le service Clients</div>");
                }
                else {
                    $("p#reponse").html("Une erreur s'est produite durant l'envoi de votre formulaire.<br />Veuillez essayer à nouveau dans quelques instants. </div>");
                }
            }

           }
        );

    }
    else
    {
        for (i=0; i < 7; i++) {
            if (errMsg[i] == '') {
                messageErr += errMsg[i];
            }
            else
            {
                messageErr += errMsg[i] + "<br />";
            }
        }
        $("p#reponse").html(messageErr);
    }
    return false;
}






function setCookie(c_name,value,expiredays) {
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name) {
    if (document.cookie.length>0) {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1) {
            c_start=c_start + c_name.length+1;
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
        }
    }
    return "";
}

/* fonction qui affiche le nom et premom et les infos panier de l'utilisateur dans le header à partir des cookies */
/*$(document).ready(function() {
    displayUserCookieData();
});*/
function displayUserCookieData() {
    //var typo3 = getCookie('fe_typo_user');
    //var typo3check = getCookie('user[sessiontypo]');
/*
    if (typo3 == typo3check) {
        var nom    = getCookie('user[nom]');
        var prenom = getCookie('user[prenom]');
        if (prenom != null && prenom != ''){
          if ( document.getElementById('headerNom') ){
            document.getElementById('headerNom').innerHTML = prenom +  '&nbsp;' + nom;
            document.getElementById('disconnect').innerHTML = '<a href="/compte/compte.html?no_cache=1&action=disconnect">(D&eacute;connexion)</a>';
            document.getElementById('headerNom').style.display = 'inline';
          }
        }
    }
*/
    var nb_article = getCookie('nb_article');
    //var text_article = getCookie('user[text_article]');
    //var total_panier = getCookie('user[total_panier]');

    if (nb_article != '') {
        $('p#nbArticles > a').html('('+nb_article+')');
    }
}
