/** #########################################
* Permet d'ajouter une sélection
*/
function ajoutSelection(langue, nom, url, reference, libelle, image){
    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" ;
    var value = url+"__"+reference+"__"+libelle+"__"+image+"__"+dateCourante+"__"+numPriorite ;    
    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 incrémenter 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 récupérer le nb de sélections 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 sélectionner 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'incrémenter le nb de sélection
*/
function incrementeMaSelection(){
    document.getElementById("nb-selections").innerHTML = getNbMaSelection() ;
}

/** #########################################
* Permet de vérifier si le produit n'est pas déjà dans ma sélection
*/
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 générer la liste des modèles 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 générer la liste des sélections
*/
function genereMaSelection(langue, produits, libelleMaSelection, libelleAcces, libelleSupprimer, libelleValidite, libellePrixJur, refLibelle, articleLibelle, prioTitre, prioLib0, prioLib1, prioLib2, urlSite, nomSite, sujet, introduction, corps1, corps2, signature, refLabel) {
    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 dateSelection = paramsTab[4] ;
                var numPriorite = paramsTab[5] ;                
                
                if(urlProduit && refProduit && libelleProduit && imageProduit && dateSelection && numPriorite){
                    if(urlProduit != "undefined" && refProduit != "undefined" && libelleProduit != "undefined" && imageProduit != "undefined" && dateSelection!= "undefined" && numPriorite!= "undefined"){
                        urlProduitIndex = urlProduit.indexOf("/Product_arborescence", 0) ;
                        var urlDuProduit = "/"+langue+urlProduit.substring(urlProduitIndex) ;
                        
                        var intitulerTagGAFR=_tagPageGoogleAnalytic+'/'+libelleProduit;
                        var reg=new RegExp("'", "g");
                        intitulerTagGAFR=intitulerTagGAFR.replace(reg,"&apos;");
                        var tagGAF='if(hasGoogleAnalytic)pageTracker._trackPageview("'+intitulerTagGAFR+'");';  
                        
                        contenuHTML = contenuHTML + 
                            "<div class='laSelection' id='maSelection"+refProduit+"'>"+                                
                                "<div class='maSelection'>" +                            
                                    "<div id='dateSelection'><input name='produitCb' class='checkDel' type='checkbox' value='"+refProduit+"'><span class='dateSelection'>"+libelleMaSelection+" "+dateSelection+"</span></div>"+
                                    "<div class='infoProduit'>" +
                                        "<a href='"+urlProduit+"' target='_top'><img class='main-img' src='"+imageProduit + "' alt='"+libelleProduit+"' /></a>"+
                                        '<div id="bloclibelleProduit">'+
                                            '<div id="libelleProduit">' + 
                                                "<a href='"+urlProduit+"' target='_top' onclick='"+tagGAF+"'>"+libelleProduit + '</a>'+
                                            "</div>" +
                                            '<div class="pictoInfoPrix">'+
                                                '<img align="absmiddle" alt="" class="pictoFinCollection" id="picto-fin-'+refProduit+'"  src="/'+langue+'/images/static/20070222-int-picto-fin-collection.gif" style="display:none;">'+
                                                '<img align="absmiddle" alt="" class="pictoNouveauProduit" id="picto-new-'+refProduit+'" src="/'+langue+'/images/static/20070222-int-picto-photo-nouveau.gif" style="display:none;">'+
                                            '</div>'+
                                        "</div>"+
                                        '<div id="ref">'+refLibelle+refProduit+"</div>" +
                                        "<div id='accesFicheProduit'><a href='"+urlProduit+"' target='_top' onclick='"+tagGAF+"'>"+libelleAcces+"</a></div>"+
                                    "</div>"+
                                   "<div class='blocPrix' id='blocPrix"+refProduit+"' 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>"+
                                    "</div>"+
                                    genereListePrio(numPriorite, refProduit, langue, prioTitre, prioLib0, prioLib1, prioLib2, urlSite, nomSite, sujet, introduction, corps1, corps2, signature, refLabel) +                                    
                                "</div>"+
                            "</div>" ;                           
                   }
                }
            }
        }
        var propertiesDivObjSr = document.getElementById("contentMaSelection");
        propertiesDivObjSr.innerHTML = contenuHTML ; // + '<div id="jurPrixConseille">'+libellePrixJur+"<br>"+libelleValidite+'</div>' ;
    }            
}

/** #########################################
* Permet de générer 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 = 
    "<div id='prioMaSelection'>"+
        "<span id='prioTitre'>"+prioTitre+"</span>" +
        "<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'>"+prioTitre+": "+laPrio+"</span>" +
        "</div>"  ;
        
    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){
        var prio = document.getElementById("prio"+reference) ;
        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 numPriorite = prio.value ;
                    paramModele = urlProduit+"__"+refProduit+"__"+libelleProduit+"__"+imageProduit+"__"+dateSelection+"__"+numPriorite ;
                    
                    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 sélection
*/
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 sélections 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 récupérer 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("dateDuJour").innerHTML = libelleDate+" "+dateCourante ;
    document.getElementById("dateImpression").innerHTML = dateCourante ;
}
                 
/** #########################################
* Permet de récupérer le lien mailTo
*/
function getLienMailTo(urlSite, nomSite, sujet, introduction, corps1, corps2, signature, refLabel, prio0, prio1, prio2){
    //Génération 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] ;
            var prioSelection = paramsTab[5] ;
            
            if(urlProduit.indexOf('?') > 0){
                urlProduit = urlProduit.substring(0, urlProduit.indexOf('?')) ;
            }
            var prio = "" ;
            if(prioSelection == "0"){
                prio = prio0 ;
            }
            if(prioSelection == "1"){
                prio = prio1 ;
            }
            if(prioSelection == "2"){
                prio = prio2 ;
            }
            
            bodyEmail = bodyEmail + "\n" +
                "- " + prio + " - " + libelleProduit + " - " + decodeURI(refLabel) + refProduit + " >> " + urlProduit ;
            }
        }
    }
    var lienMailTo = "mailto:?subject=" +
        escape(decodeURI(sujet)+" "+nomSite) +
        "&body=" + escape(bodyEmail+"\n"+decodeURI(signature)) ;
    return lienMailTo ;
}

/** #########################################
* Permet de vérifier 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 récupérer 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 + '<div id="jurPrixConseille">'+libellePrixJur+"<br>"+libelleValidite+'</div>' ;
        }
    }    
    
    document.getElementById("waitingMessage").style.display = "none" ;
    document.getElementById("mainContent").style.display = "block" ;        
}