/** #########################################
* Permet d'ajouter une slection
*/
function ajoutSelection(langue, nom, url, reference, libelle, image,concutPour,typology){
    cookieValue = getCookie(nom);
    //Calcule la date du jour
    var dateDuJour = new Date() ;
    month = dateDuJour.getMonth()+1 ;
    if(month < 10){
      month = "0" + month ;
    }
    
    day = dateDuJour.getDate() ;
    if(day < 10){
      day = "0" + day ;
    }
    
    var dateCourante = day+"/"+month+"/"+dateDuJour.getFullYear() ;
    if(langue == 'EN'){
      dateCourante = dateDuJour.getFullYear()+"-"+month+"-"+day ;
    } 
    
    var numPriorite = "0" ;
    
    //travail sur l'url pour supprimer les #
    if(url.indexOf("#") > -1){
        url = url.split("#")[0] ;
    }
    
    //travail sur l'url pour supprimer "index.shtml"
    if(url.indexOf("index.shtml") > -1){
        url = url.split("index.shtml")[0] ;
    }
    
    var value = url+"__"+reference+"__"+libelle+"__"+image+"__"+dateCourante+"__"+concutPour +"__"+typology;    
    var replacementArray = new Array ;
    replacementArray[0] = "&quot;" ;
    replacementArray[1] = "''" ;
    value = replaceAll(value, replacementArray) ;

    // Le cookie n'existe pas
    if (cookieValue == null ){
        var expdate = new Date ();
        var expDateToGMT = "" ;
        
        var aujourdhui = new Date(0);
        var aujourdhuidate = aujourdhui.getTime();
        if (aujourdhuidate > 0){    
            expdate.setTime (expdate.getTime() - aujourdhuidate);
        }
        expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000 * 7)); // expire dans 1 semaine
        expDateToGMT = expdate.toGMTString() ;
        
        value = value + "__date_liste=" + expDateToGMT ;
        
       setCookie(langue, nom, value, expDateToGMT);
       incrementeMaSelection() ;
    }
    //sinon, il existe et on va incrmenter la valeur du nombre de clic dans ce cookie
    else{
        cookieValue = value + ";" + cookieValue  ;
        dateDeLaListe = cookieValue.split("__date_liste=")[1] ;
        setCookie(langue, nom, cookieValue, dateDeLaListe);
        incrementeMaSelection() ;
    }
    verifMaSelection(reference) ;
}

/** #########################################
* Permet de rcuprer le nb de slections en cours
*/
function getNbMaSelection(){
    var produits = getCookie('panier') ;
    if(produits){
        produitsTab = produits.split(';') ;
        if(produitsTab.length>0){
            return produitsTab.length ;
        }
        else{
            return 0 ;
        }
    }
    else{
        return 0 ;
    }
}

/** #########################################
* Permet de slectionner tous les produits
*/
function checkAll(langue){
    var listeCheck = document.getElementsByName("produitCb") ;
    for(var j=0 ; j<listeCheck.length ; j++){
        listeCheck[j].checked = "true" ;
    }
}

/** #########################################
* Permet d'incrmenter le nb de slection
*/
function incrementeMaSelection(){
    document.getElementById("nb-selections").innerHTML = getNbMaSelection() ;
}

/** #########################################
* Permet de vrifier si le produit n'est pas dj dans ma slection
*/
function verifMaSelection(idModele){
    var produits = getCookie('panier') ;
    if(produits){
      produitsTab = produits.split(';') ;
      if(produitsTab.length>0){
        for(i=0 ; i<produitsTab.length ; i++){
          var paramModele = produitsTab[i] ;
          var paramsTab = paramModele.split("__") ;
    
          var refProduit =  paramsTab[1] ;
          if(idModele == refProduit){
              document.getElementById("dejaSelectionne").style.display = "block" ;
              document.getElementById("ajouter-favoris").style.display = "none" ;              
          }
        }
      }
    }
}

/** #########################################
* Permet de gnrer la liste des modles correspondant aux produit
*/
function getModelList(){
    var produits = getCookie('panier') ;
    var modelList = new ArrayList ;
    if(produits){
	var produitsTab = produits.split(';') ;
        if(produitsTab.length>0){
            for(i=0 ; i<produitsTab.length ; i++){
                var paramModele = produitsTab[i] ;
                var paramsTab = paramModele.split("__") ;
                                
                var refProduit =  paramsTab[1] ;
		modelList.add(refProduit) ;
            }
        }

    }
    return modelList ;
}

/** #########################################
* Permet de gnrer la liste des slections
*/
function genereMaSelection(langue, produits, libelleMaSelection, libelleAcces, libelleSupprimer, libelleValidite, libellePrixJur, refLibelle, articleLibelle, prioTitre, prioLib0, prioLib1, prioLib2, urlSite, nomSite, sujet, introduction, corps1, corps2, signature, refLabel, finLabel, newLabel,libellerInfoProduit,idImage,idBloc,categoryName) {
    if(produits){
        produitsTab = produits.split(';') ;
        if(produitsTab.length>0){
            for(var i=0 ; i<produitsTab.length ; i++){
                var paramModele = produitsTab[i] ;
                var paramsTab = paramModele.split("__") ;
                
                var urlProduit = paramsTab[0] ;
                var refProduit =  paramsTab[1] ;
                var libelleProduit =  paramsTab[2] ;
                var imageProduit =  paramsTab[3] ;
                var reg=new RegExp("(my-asset)", "g");
                imageProduit=imageProduit.replace(reg,"mh-asset");
                var dateSelection = paramsTab[4] ;
                var concutPour = paramsTab[5] ;      
                var typo = paramsTab[6] ;    
                        
                var tagGA=setLinkTag(tagRubrique+categoryName+"_product","");
                if(urlProduit && refProduit && libelleProduit && imageProduit && dateSelection && concutPour && typo){
                    if(urlProduit != "undefined" && refProduit != "undefined" && libelleProduit != "undefined" && imageProduit != "undefined" && dateSelection!= "undefined" && concutPour!= "undefined" && typo!= "undefined"){
                      contenuHTML = contenuHTML +  
                      '<div class="row-prod" id="prod'+refProduit+'">'+
                          '<div class="col1">'+
                          '<span class="collection">'+
                                '<span class="intitulerNew" id="picto-new-'+refProduit+'">'+newLabel+'</span>'+
                                '<span class="intitulerFin" id="picto-fin-'+refProduit+'">'+ finLabel+ '</span>'+
                          '</span>'+
                          '<a href="'+urlProduit+'" onclick="'+tagGA+'"><img src="'+imageProduit + '" alt="'+libelleProduit+'" /></a>'+
                          '</div>'+
                          '<div class="col2">'+
                              '<div class="row1">'+
                                  '<i>'+typo.toUpperCase()+'</i>'+
                                  '<b>'+libelleProduit.toUpperCase()+'</b>'+
                                  '<a href="javascript: supprimerSelection(\''+langue+'\', \''+refProduit+'\');"><div class="btn-supprimer"></div>'+libelleSupprimer+'</a>'+
                              '</div>'+
                              '<div class="row2">'+
                                  '<i>'+refLibelle+refProduit+'</i>'+
                                 '<div id="bloc-prix'+refProduit+'" class="prixFavor" style="display:none;">'+
                                     '<div class="prixDecathlon" id="bloc-decathlon'+refProduit+'" style="display:none;"></div>'+
                                     '<div class="prixKoodza" id="bloc-koodza'+refProduit+'" style="display:none;"></div>'+
                                 '<p class="libJurPrix" id="libJurPrix'+refProduit+'"></p></div>'+
                              '</div>'+
                              '<div class="row3">'+
                                 libelleMaSelection+' : '+dateSelection+'<br/>'+
                                libellerInfoProduit +' : '+ concutPour +     
                             '</div>'+
                        '</div>'+
                   ' </div>';
                    
                   }
                }
            }
        }
        var propertiesDivObjSr = document.getElementById("contentMaSelection");
        propertiesDivObjSr.innerHTML = contenuHTML ;
        var courrier = getElement("lien-courrier",true,"");
        if(courrier){
            courrier.style.display="block";
        }
        var imprimer = getElement("lien-imprimer",true,"");
        if(imprimer){
            imprimer.style.display="block";
        }
        redimensionnePage(idImage, idBloc);
    }            
}

/** #########################################
* Permet de gnrer la liste des prios
*/
function genereListePrio(prio, refProduit, langue, prioTitre, prioLib0, prioLib1, prioLib2, urlSite, nomSite, sujet, introduction, corps1, corps2, signature, refLabel){
    var laPrio = "" ;
    var resultPrio = 
        "<dt class='priorite' id='prioMaSelection'>"+prioTitre+" : "+
            "<select id='prio"+refProduit+"' onchange='saveChange(\""+refProduit+"\", \""+langue+"\", \""+urlSite+"\", \""+nomSite+"\", \""+encodeURI(sujet)+"\", \""+encodeURI(introduction)+"\", \""+encodeURI(corps1)+"\", \""+encodeURI(corps2)+"\", \""+encodeURI(signature)+"\", \""+encodeURI(refLabel)+"\", \""+prioLib0+"\", \""+prioLib1+"\", \""+prioLib2+"\")'>" ;

    if(prio == "0"){
        resultPrio = resultPrio + "<option value='0' selected>1 - "+prioLib0+"</option>" ;
        laPrio = prioLib0 ;
    }
    else{
        resultPrio = resultPrio + "<option value='0'>1 - "+prioLib0+"</option>" ;
    }
    
    if(prio == "1"){
        resultPrio = resultPrio + "<option value='1' selected>2 - "+prioLib1+"</option>" ;
        laPrio = prioLib1 ;
    }
    else{
        resultPrio = resultPrio + "<option value='1'>2 - "+prioLib1+"</option>" ;
    }
    
    if(prio == "2"){
        resultPrio = resultPrio + "<option value='2' selected>3 - "+prioLib2+"</option>" ;
        laPrio = prioLib2 ;
    }
    else{
        resultPrio = resultPrio +  "<option value='2'>3 - "+prioLib2+"</option>" ;       
    }    
    
    resultPrio = resultPrio + 
            "</select>"+
            "<span id='prioLib' style='display:none'>"+prioTitre+": "+laPrio+"</span>" +
        "</dt>"  ;
        
    return resultPrio ;
}

/** #########################################
* Permet de sauvegarder sa liste
*/
function saveChange(reference, langue, urlSite, nomSite, sujet, introduction, corps1, corps2, signature, refLabel, prioLib0, prioLib1, prioLib2){
    var produits = getCookie('panier') ;
    if(produits){
        dateDeLaListe = produits.split("__date_liste=")[1] ;
        produitsTab = produits.split(';') ;
        if(produitsTab.length>0){
            var nouvelleValeur = "" ;
            for(t=0 ; t<produitsTab.length ; t++){
                var paramModele = produitsTab[t] ;
                var paramsTab = paramModele.split("__") ;
                
                var refProduit =  paramsTab[1] ;
                if(refProduit != reference){
                    if(nouvelleValeur.length == 0){
                        nouvelleValeur = paramModele ;
                    }
                    else{
                        nouvelleValeur = nouvelleValeur +";"+ paramModele ;
                    }
                }
                else{
                    var urlProduit = paramsTab[0] ;                    
                    var libelleProduit =  paramsTab[2] ;
                    var imageProduit =  paramsTab[3] ;
                    var dateSelection = paramsTab[4] ;
                    var concutPour = paramsTab[5] ;
                    var isSelection = paramsTab[6] ;
                    paramModele = urlProduit+"__"+refProduit+"__"+libelleProduit+"__"+imageProduit+"__"+dateSelection+"__"+concutPour+"__"+ isSelection;
                    
                    if(nouvelleValeur.length == 0){
                        nouvelleValeur = paramModele ;
                    }
                    else{
                        nouvelleValeur = nouvelleValeur +";"+ paramModele ;
                    }
                }
            }            
            nouvelleValeur = nouvelleValeur + "__date_liste="+dateDeLaListe ;
            setCookie(langue, "panier", nouvelleValeur, dateDeLaListe) ;
            
            var nouveauLienMailTo = getLienMailTo(urlSite, nomSite, sujet, introduction, corps1, corps2, signature, refLabel, prioLib0, prioLib1, prioLib2) ;
            document.getElementById("lien-mailto").href = nouveauLienMailTo ;
        }
    }
}

/** #########################################
* Permet de supprimer une slection
*/
function supprimerSelection(langue, reference){
    var produits = getCookie('panier') ;
    if(produits){    
        dateDeLaListe = produits.split("__date_liste=")[1] ;
        produitsTab = produits.split(';') ;
        if(produitsTab.length == 1){        
            deleteCookie(langue, 'panier') ;
            window.location.reload() ;
        }
        else if(produitsTab.length>1){
            var nouvelleValeur = "" ;
            for(t=0 ; t<produitsTab.length ; t++){
                var paramModele = produitsTab[t] ;
                var paramsTab = paramModele.split("__") ;
                
                var refProduit =  paramsTab[1] ;
                if(refProduit != reference){
                    if(nouvelleValeur.length == 0){
                        nouvelleValeur = paramModele ;
                    }
                    else{
                        nouvelleValeur = nouvelleValeur +";"+ paramModele ;
                    }
                }
            }            
            nouvelleValeur = nouvelleValeur + "__date_liste="+dateDeLaListe ;
            setCookie(langue, "panier", nouvelleValeur, dateDeLaListe) ;
            
            window.location.reload() ;
        }
    }
}

/** #########################################
* Permet de supprimer les slections choisies
*/
function supprimerSelectionChoisie(langue, warningSupprime){    
    var listeCheck = document.getElementsByName("produitCb") ;
    
    if(listeCheck.length == 0){
        alert(warningSupprime) ;
    }
    else{
        var isArticleSupprime = false ;
        for(var j=0 ; j<listeCheck.length ; j++){
            if(listeCheck[j].checked){
                var reference = listeCheck[j].value ;
                supprimerSelection(langue, reference) ;
                isArticleSupprime = true ;
            }
        }
        if(isArticleSupprime){
            window.location.reload() ;
        }
    }
}


/** #########################################
* Permet de rcuprer la date du jour
*/
function getDateDuJour(langue, libelleDate){
    var dateDuJour = new Date() ;
    month = dateDuJour.getMonth()+1 ;
    if(month<10){
        month = "0" + month ;
    }
    var day = dateDuJour.getDate() ;
    if(day<10){
        day = "0" + day ;
    }    
    var dateCourante = day+"/"+month+"/"+dateDuJour.getFullYear() ;
    if(langue == 'EN'){
        dateCourante = dateDuJour.getFullYear()+"-"+month+"-"+dateDuJour.getDate() ;
    }
    document.getElementById("dateImpression").innerHTML = dateCourante ;
}
                 
/** #########################################
* Permet de rcuprer le lien mailTo
*/
function getLienMailTo(urlSite, nomSite, sujet, introduction, corps1, corps2, signature, refLabel, prio0, prio1, prio2){
    //Gnration du lien mailTo
    var produits = getCookie('panier') ;
    var bodyEmail = decodeURI(introduction) ;
    
    if(produits){
        produitsTab = produits.split(';') ;
        if(produitsTab.length>0){
        for(i=0 ; i<produitsTab.length ; i++){
            var paramModele = produitsTab[i] ;
            var paramsTab = paramModele.split("__") ;
            
            var urlProduit = paramsTab[0] ;
            var refProduit =  paramsTab[1] ;
            var libelleProduit =  paramsTab[2] ;
            var dateSelection = paramsTab[4] ;
            
            
            bodyEmail = bodyEmail + "\n" +
                "- " + libelleProduit + " - " + decodeURI(refLabel) + refProduit + " >> " + urlProduit ;
            }
        }
    }
    var lienMailTo = "mailto:?subject=" +
        escape(decodeURI(sujet)+" "+nomSite) +
        "&body=" + escape(bodyEmail+"\n"+decodeURI(signature)) ;
    return lienMailTo ;
}

/** #########################################
* Permet de vrifier le nombre de produit pour envoi  un ami
*/
function verifProduit(avertissementMessage){
    var produits = getCookie('panier') ;
    if(produits){
        produitsTab = produits.split(';') ;
        if(produitsTab.length>10){
            alert(avertissementMessage) ;
            return false ;
        }
        else{
            return true ;
        }
    }
    else{
        return false;
    }
}

/** #########################################
* Permet de rcuprer le lien mailTo
*/
function displayInformationPage(langue, urlSite, maSelectionValidite, liageDecath, libelleAcheterDecath, libellePrixJur, libelleValidite){
    var produits = getCookie('panier') ;

    if(produits){
        produitsTab = produits.split(';') ;
        if(produitsTab.length>0){
            var propertiesDivObjSr = document.getElementById("contentMaSelection");
            for(i=0 ; i<produitsTab.length ; i++){
                var paramModele = produitsTab[i] ;
                var paramsTab = paramModele.split("__") ;
        
                var urlProduit = paramsTab[0] ;
                var refProduit =  paramsTab[1] ;
                
                if(paramsTab.length > 6){ //on va recuperer la date de creation de cette liste
                    dateCreationListe = paramsTab[paramsTab.length-1].split("=")[1] ;
                    dateObj = new Date(dateCreationListe) ;
                    var monthCrea = dateObj.getMonth()+1 ;
                    if(monthCrea<10){
                        monthCrea = "0" + monthCrea ;
                    }
                    var dayCrea = dateObj.getDate() ;
                    if(dayCrea<10){
                        dayCrea = "0" + dayCrea ;
                    }
                    var dateCrea = dayCrea+"/"+monthCrea+"/"+dateObj.getFullYear() ;
                    if(langue == 'EN'){
                        dateCrea = dateObj.getFullYear()+"-"+monthCrea+"-"+dayCrea ;
                    }
                    libelleValidite = libelleValidite.replace("DATE_CREATION", dateCrea) ;
	     theInnerHTML = propertiesDivObjSr.innerHTML ;
	     propertiesDivObjSr.innerHTML = theInnerHTML ;
                }
            }
            propertiesDivObjSr.innerHTML = theInnerHTML ; 
            
            var infosLegalesBloc = getElement("infoslegales", true, "") ;
            if(infosLegalesBloc){
                infosLegalesBloc.innerHTML = libellePrixJur+"<br/><br/>"+libelleValidite ; 
            }
        }
    }    
    
    document.getElementById("waitingMessage").style.display = "none" ;
    document.getElementById("produits").style.display = "block" ;        
}