setBrowser();

var isIE7orBelow;

if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { //test for MSIE x.x;
    var ieversion = new Number(RegExp.$1) // capture x.x portion and store as a number
    if (ieversion <= 7) {
        isIE7orBelow = true;
    }
    else {
        isIE7orBelow = false;
    }
}


function checkClient(){
	//setIdProperty("Bt_valider", "display", "none" );
	setIdProperty("Bt_validerTelephone", "display", "none" );
	
	if (getEltById("Rd_clientArgel").checked){
		if ((getEltById("IS_recupClient").value)==""){
			setIdProperty("Dv_telephone", "display", "block" );
			setIdProperty("Bt_validerTelephone", "display", "block" );
			setIdProperty("Dv_coordonnes", "display", "none" );
			setIdProperty("Dv_identification", "display", "none" );
		}else{
			setIdProperty("Dv_telephone", "display", "none" );
			setIdProperty("Dv_coordonnes", "display", "block" );
			setIdProperty("Dv_identification", "display", "block" );
			setIdProperty("Bt_valider", "display", "block" );
		}
	}
	
	if (getEltById("Rd_pasClientArgel").checked){
		setIdProperty("Dv_telephone", "display", "none" );
		setIdProperty("Dv_coordonnes", "display", "block" );
		setIdProperty("Dv_identification", "display", "block" );
		setIdProperty("Bt_valider", "display", "block" );
	}
}

// Affichage formulaire Votre ecoute
function valideClientArgel() {
    getJqueryEltById("Bt_valider").hide();
    if (getJqueryEltById("Rd_clientOui").is(':checked')) {
        if ((getJqueryEltById("IS_recupClient").val()) == "") {
            setIdProperty("Dv_coordonneesClient", "display", "block");
            getJqueryEltById("Bt_identifier").show();
			setIdProperty("Dv_adresse", "display", "none" );
			setIdProperty("Dv_coordonnees", "display", "none" );
			setIdProperty("Dv_infoProduit", "display", "none" );
			setIdProperty("Dv_remarque", "display", "none");
		}else{
		    setIdProperty("Dv_coordonneesClient", "display", "none");
		    getJqueryEltById("Bt_identifier").hide();
			setIdProperty("Dv_adresse", "display", "block" );
			setIdProperty("Dv_coordonnees", "display", "block" );
			setIdProperty("Dv_infoProduit", "display", "block" );
			getJqueryEltById("Bt_valider").show();
			setIdProperty("Dv_remarque", "display", "block" );
		}
	}
	if (getJqueryEltById("Rd_clientNon").is(':checked')) {
	    setIdProperty("Dv_coordonneesClient", "display", "none");
	    getJqueryEltById("Bt_identifier").hide();
		setIdProperty("Dv_adresse", "display", "block" );
		setIdProperty("Dv_coordonnees", "display", "block" );
		setIdProperty("Dv_infoProduit", "display", "block" );
		setIdProperty("Dv_remarque", "display", "block" );
		getJqueryEltById("Bt_valider").show();
	}
}

//function afficheClient(elementID) {
//    if (document.getElementById(elementID)) {
//	    if ((getIdProperty( elementID, "display" )) == "block"){
//		    setIdProperty( elementID, "display", "none" );
//	    } else {
//		    setIdProperty( elementID, "display", "block" );
//		    //setIdProperty( elementID, "className", "LinkVisited" );
//	    }
//	    
//	    //----- Panier => Affichage contenu
//	    if (elementID=="afficheClient1"){
//			//---- Chargement
//			getEltById("contentPanier").innerHTML = "<p>Chargement en cours...</p>";
//			Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/getPanier.aspx', '', getPanier);
//		}
//		
//		//----- Identification => Affichage etat
//		if (elementID=="afficheClient2"){
//			//---- Chargement
//			getEltById("contentIdentification").innerHTML = "<p>Chargement en cours...</p>";
//			Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/getIdentification.aspx', '', getIdentification);
//		}
//    }
//}

function deleteLignePanier(indiceLigne){
	if (confirm("Merci de valider la suppression")){
		//getEltById("contentPanier").innerHTML = "<p>Chargement en cours...</p>";
		Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/majPanier.aspx', 'INDICE_SUPP=' + indiceLigne, 
		    function (name)
		    {
		        majPanier(name);
		    }
		);
	}
}

function panierQuantiteLigne(indiceLigne, typeAppel)
{
    //Disparition des boutons
    var elts1 = getElementsByClass('itemMoins',null,null);
    var elts2 = getElementsByClass('itemPlus',null,null);
    var elts = elts1.concat(elts2);
    
    for(var i = 0; i<elts.length;i++)
    {
        elts[i].style.visibility = 'hidden';
    }


    //getEltById("contentPanier").innerHTML = "<p>Chargement en cours...</p>";
    Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/majPanier.aspx', 'INDICE_MOD_QTE=' + indiceLigne + '&APPEL=' + typeAppel, 
    function (name)
    {
        majPanier(name, indiceLigne, typeAppel);
    });
}

function majPanier(l_flow){ 
	Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/getPanier.aspx', '', getPanier);
}

function majPanier(l_flow, indiceLigne, typeAppel){

    //Changement de la valeur de l'input quantité
    var elmts = document.getElementsByName("articleQuantite_" + indiceLigne);
    for(var i=0; i<elmts.length; i++) 
    {
        var oldvalue = parseInt(elmts[i].value);
        if(typeAppel=="M" && oldvalue>1)
        {
            elmts[i].value = oldvalue - 1;
        }
        else if(typeAppel=="P")
        {
            elmts[i].value = oldvalue + 1;
        }   
    }
    
    var errorBddPrixKilo = false;
    
    //Changement de la valeur du prix
    var tarifs = getElementsByName_iefix('td',"libelleTarif_" + indiceLigne);
    var prixUnit;
    for(var j=0; j<tarifs.length; j++) 
    {
        var oldLibelle = getElementInnerHTML(tarifs[j]);
        var poids = false;
        
        if(oldLibelle.indexOf(" €/kg")>-1)
        {
            errorBddPrixKilo = true;
        }
        else
        {
            errorBddPrixKilo = false;
            
            if(oldLibelle.charAt(0)=='<')
            {
                var index = oldLibelle.lastIndexOf('>')+1;
                poids = true;
                oldLibelle = oldLibelle.substring(index,oldLibelle.length);
            }
            
            //Retrait du €
            oldLibelle = oldLibelle.substring(0,oldLibelle.length-2); 
            //Changement de la virgule en point
            oldLibelle = oldLibelle.replace(',','.');

            var oldPrice = parseFloat(oldLibelle);
            prixUnit = oldPrice/oldvalue;
            var newPrice;

            if(typeAppel=="M" && oldvalue>1)
            {
               newPrice = roundNumber(oldPrice - prixUnit , 2);
            }
            else if(typeAppel=="P")
            {
                newPrice = roundNumber(oldPrice + prixUnit , 2);
            }
            else
            {
                newPrice = oldPrice;
            }
            
            if(poids)
            {
                var pictopoids = "<img height=\"11\" width=\"7\" alt=\"Picto Poid\" src=\"" + RACINE_SITE + "/global/images/picto_poid.png\"/>";
                setElementInnerHTML(tarifs[j], pictopoids.concat(newPrice.toString().replace('.',',').concat(' €')));
            }
            else
            {
                setElementInnerHTML(tarifs[j], newPrice.toString().replace('.',',').concat(' €'));                
            }
        }
    }
    
    if(!errorBddPrixKilo) {
        var oldTotal = getInnerHTML("totalPanier");
        oldTotal = parseFloat(oldTotal.replace(',', '.'));
        
        var newTotal = oldTotal;

        //Promo
        if (l_flow.indexOf('<total>') > 0) {
        
            newTotal = parseFloat((l_flow.substring(l_flow.indexOf('<total>') + '<total>'.length, l_flow.indexOf('<promo>'))).replace(',', '.'));
            
            var tr_html = '<td colspan="6" class="right">1ère commande en ligne : ';

            var toAdd = "";
            while (l_flow.indexOf('<promo>') >= 0) {
                var promoValeur = l_flow.substring(l_flow.indexOf('<promo>') + '<promo>'.length);
                if (promoValeur.indexOf('<promo>') > 0)
                    promoValeur = promoValeur.substring(0, promoValeur.indexOf('<promo>'));

                if (toAdd !== "")
                    toAdd += ' + ';

                toAdd += promoValeur;
                
                l_flow = l_flow.substring(l_flow.indexOf('<promo>') + '<promo>'.length + promoValeur.length);
            }
            tr_html += toAdd + '</td>';

            //Affichage des promos (dans les 2 paniers)
            var tr_promo_list = getElementsByClass('tr_promo', null, null);
            for (var l = 0; l < tr_promo_list.length; l++) {
                setElementInnerHTML(tr_promo_list[l], tr_html);
                tr_promo_list[l].style.visibility = 'visible';
            }
        }
        else {
            if (typeAppel == "M" && oldvalue > 1) {
                newTotal = roundNumber(oldTotal + prixUnit, 2);
            }
            else if (typeAppel == "P") {
                newTotal = roundNumber(oldTotal - prixUnit, 2);
            }
            
            //On cache la promo
            var tr_promo_list = getElementsByClass('tr_promo', null, null);
            for (var l = 0; l < tr_promo_list.length; l++) {
                if (isIE7orBelow) {
                    tr_promo_list[l].style.visibility = 'hidden';
                }
                else {
                    tr_promo_list[l].style.visibility = 'collapse';
                }
            }
        }        

        var totals = getElementsByClass('totalPanier', null, null);
        for (var k = 0; k < totals.length; k++) {
            setElementInnerHTML(totals[k], newTotal.toString().replace('.', ','));
        }
    }
    
    //Réapparition des boutons
    var elts1 = getElementsByClass('itemMoins',null,null);
    var elts2 = getElementsByClass('itemPlus',null,null);
    var elts = elts1.concat(elts2);
    for(var l = 0; l<elts.length;l++)
    {
        elts[l].style.visibility = 'visible';  
    }    
    
	Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/getPanier.aspx', '', getPanier);
}

function getPanier(l_flow) {
    var isPromo = l_flow.indexOf('<promo>') > 0;
    if (isPromo) {
        var tr_html = '<td colspan="6" class="right">1ère commande en ligne : ';

        var toAdd = "";
        
        while (l_flow.indexOf('<promo>') >= 0) {
            var promoValeur = l_flow.substring(l_flow.indexOf('<promo>') + '<promo>'.length);
            if (promoValeur.indexOf('<promo>') > 0)
                promoValeur = promoValeur.substring(0, promoValeur.indexOf('<promo>'));
            
            if (toAdd !== "")
                toAdd += ' + ';

            toAdd += promoValeur;
            
            l_flow = l_flow.substring(0, l_flow.indexOf('<promo>')) + l_flow.substring(l_flow.indexOf('<promo>') + '<promo>'.length + promoValeur.length);
        }
        tr_html += toAdd + '</td>';
        
        //Affichage des promos (dans les 2 paniers)
        var tr_promo_list = getElementsByClass('tr_promo', null, null);
        for (var l = 0; l < tr_promo_list.length; l++) {
            setElementInnerHTML(tr_promo_list[l], tr_html);
            tr_promo_list[l].style.visibility = 'visible';
        }        
    }
    else {
        //On cache les promos
        var tr_promo_list = getElementsByClass('tr_promo', null, null);
        for (var l = 0; l < tr_promo_list.length; l++) {
            if (isIE7orBelow) {
                tr_promo_list[l].style.visibility = 'hidden';
            }
            else {
                tr_promo_list[l].style.visibility = 'collapse';
            }
        }
    }
    
    var isPoids = l_flow.indexOf('<poids>')>0;
    if(isPoids)
    {
        l_flow = l_flow.substring(0,l_flow.lastIndexOf('<poids>'));
        setInnerHTML("totalEstime",'estimé ');
        setInnerHTML("mentionsTotalPanier",'<br/>montant d\'achat estimé du fait de la présence d\'un produit à poids variable.');
    }  
    else
    {
        setInnerHTML("totalEstime",'');   
        setInnerHTML("mentionsTotalPanier",'');
    }

    setInnerHTML('totalPanier',l_flow.substring(l_flow.indexOf('<total>')+'<total>'.length));
    l_flow = l_flow.substring(0,l_flow.indexOf('<total>'));
    setInnerHTML('panierRecap',l_flow);
    
    if(typeof(getEltById('legendePoids'))!='undefined' && !isPoids)
    {
        getEltById('legendePoids').style.visibility = 'hidden';
    }
    
    if(l_flow.indexOf('Panier vide')>0)
    {
        getEltById('Bt_vers_terminer_commande').style.visibility="hidden";
        setInnerHTML("OrderSummary", "0 ARTICLE");
    }
    else
    {
        getEltById('Bt_vers_terminer_commande').style.visibility="visible";
        var html = l_flow;
        var nbLignes = 0;
        while(html.indexOf("</tr>") > -1)
        {
            nbLignes++;
            html = html.substring(html.indexOf("</tr>")+5, html.length);
        }  
        if(nbLignes > 1)
        {
            setInnerHTML("OrderSummary", nbLignes+ " ARTICLES");
        }
        else
        {
            setInnerHTML("OrderSummary", nbLignes+ " ARTICLE");
        }  
    }
    
}

function getIdentification(l_flow){
    setInnerHTML("contentIdentification",l_flow);
}

//function deconnecteClient(){
//	getEltById("contentIdentification").innerHTML = "<p>Chargement en cours...</p>";
//	Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/getIdentification.aspx', 'DECONNECTE=1', getIdentification);
//}

//function connecteClient(){
//	var CLT_EMAIL = getEltById("CLT_IDENT_EMAIL").value;
//	var CLT_PASSWORD = getEltById("CLT_IDENT_PASS").value;
//	
//	if ((CLT_EMAIL!="")&&(CLT_PASSWORD!="")){
//		getEltById("contentIdentification").innerHTML = "<p>Chargement en cours...</p>";
//		Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/getIdentification.aspx', 'CLT_EMAIL=' + CLT_EMAIL + '&CLT_PASSWORD=' + CLT_PASSWORD, getIdentification);
//	}else{
//		alert("Merci de saisir votre indentifiant et votre mot de passe");
//	}
//}

//function connecteClientOubli(){
//	var CLT_EMAIL = getEltById("CLT_IDENT_EMAIL_OUBLI").value;
//	
//	if (CLT_EMAIL!=""){
//		getEltById("contentIdentification").innerHTML = "<p>Traitement en cours...</p>";
//		Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/getIdentification.aspx', 'OUBLI=1&CLT_EMAIL=' + CLT_EMAIL, getIdentification);
//	}else{
//		alert("Merci de saisir votre email");
//	}
//}




// Fonction du premier niveau du menu de gauche
//function afficheClientA(elementID) {
//    masqueMenuB();
//    masqueMenuA();
//    if (document.getElementById(elementID)) {
//	    if ((getIdProperty( elementID, "display" )) == "block"){
//		    setIdProperty( elementID, "display", "none" );
//	    } else {
//		    setIdProperty( elementID, "display", "block" );
//		    setIdProperty( elementID, "className", "LinkVisited" );
//	    }
//    }
//}
function masqueMenuA(){
    var maxItems = 5;
    for (i=1; i<=maxItems; i++) {
            mElementID = "MenuA" + i;
            if (document.getElementById(mElementID)) { setIdProperty( mElementID, "display", "none" ); }
    }

}
function masquer(id) {
	setIdProperty(id, "display", "none");
}

//----- Validation d'une ligne
function valideLigneCommande(obj){
	if (this.id){
		indice = this.id;
	}else{
		indice = obj.id;
	}
	indice = indice.replace("Tb_articleQte","");
	var myQuantite = getEltById("Tb_articleQte" + indice).value;
	var myLibelle = getEltById("Tb_articleLibelle" + indice).value;
	var myLibelleHidden = getEltById("Tb_articleLibelleHidden" + indice).value;
	var myCode = getEltById("Tb_articleCode" + indice).value;
	var Tb_commandeExpress = getEltById("Tb_commandeExpress");
	
	
	if ((myCode!="")&&(myLibelle!="")&&(myQuantite!="")){
		if (!isNaN(myQuantite)){
			NB_INDICE++;
			
			var lastRow = Tb_commandeExpress.rows.length;
			var row = Tb_commandeExpress.insertRow(lastRow);
			
			var cellCode = row.insertCell(0);
			var cellLibelle = row.insertCell(1);
			var cellQuantite = row.insertCell(2);
			cellCode.innerHTML = "<input type=\"text\" id=\"Tb_articleCode" + NB_INDICE + "\" name=\"Tb_articleCode" + NB_INDICE + "\" value=\"\" maxlength=\"4\" onblur=\"getArticle(this);\" />";
			cellLibelle.innerHTML = "<input type=\"text\" id=\"Tb_articleLibelle" + NB_INDICE + "\" name=\"Tb_articleLibelle" + NB_INDICE + "\" disabled=\"false\" value=\"\" /><input type=\"hidden\" id=\"Tb_articleLibelleHidden" + NB_INDICE + "\" name=\"Tb_articleLibelleHidden" + NB_INDICE + "\" value=\"\" />";
			cellQuantite.innerHTML = "<input type=\"text\" style=\"width: 50px;\" id=\"Tb_articleQte" + NB_INDICE + "\" name=\"Tb_articleQte" + NB_INDICE + "\" value=\"\" onchange=\"valideLigneCommande(this);\" />";
			
			//----- Focus
			getEltById("Tb_articleCode" + NB_INDICE).focus();
		}
	}
	
	//----- generation récap
	myListe = "";
	for (var i=1;i<=Tb_commandeExpress.rows.length-2;i++){
		myQuantite = getEltById("Tb_articleQte" + i).value;
		myLibelle = getEltById("Tb_articleLibelle" + i).value;
		myLibelleHidden = getEltById("Tb_articleLibelleHidden" + i).value;
		myCode = getEltById("Tb_articleCode" + i).value;
		
		//----- Liste
		myListe += "<p><span class=\"ref\">" + myCode + "</span>" + myLibelle + " : " + myQuantite + "</p>\n";
	}
	if (myListe==""){
		getEltById("Dv_recapitulatif").innerHTML = myListe;
		setIdProperty("panierRecap", "display", "none");
	}else{
		getEltById("Dv_recapitulatif").innerHTML = myListe;
		setIdProperty("panierRecap", "display", "block");
	}
	
}

function submitFormCommande(){
	var Tb_commandeExpress = getEltById("Tb_commandeExpress");
	var myQuantite;
	var myCode;
	
	if (Tb_commandeExpress){
		
		for (var i=1;i<=Tb_commandeExpress.rows.length-1;i++){
		
			myQuantite = getEltById("Tb_articleQte" + i).value;
			myCode = getEltById("Tb_articleCode" + i).value;
			if ((myQuantite=="")&&(myCode!="")){
				alert("Veuillez saisir la quantité souhaitée pour chacun des produits commandés");
				return false;
			}else{
				if ((myCode=="")&&(i==1)){
					alert("Veuillez saisir la quantité souhaitée pour chacun des produits commandés");
					return false;
				}
			}
		}
	}
	
}

//----- Gestion des quantité dans le panier
function panierQuantite(typeAppel, codeArticle){
	var libelleChampQuantite = "";
	if (codeArticle!=null){
		libelleChampQuantite = "articleQuantite_" + codeArticle;
	}else{
		libelleChampQuantite = "articleQuantite";
	}
	var articleQuantite = parseInt(getEltById(libelleChampQuantite).value);
	if (typeAppel==0){
		if (articleQuantite>1){
			getEltById(libelleChampQuantite).value = articleQuantite - 1;
		}
	}
	if (typeAppel==1){
		getEltById(libelleChampQuantite).value = articleQuantite + 1;
	}
	
	if(typeof(getEltById('diaporama'))!='undefined')
	{
	    reactivateCarrousel();
	}
}

//----- Ajout dans le panier
function panierAjouter(codeArticle){
	var articleQuantite = "";
	var articleCode = "";
	var articleTarif = "";
	var articleTarifKilo = "";
	var articleUnite = "";
	
	if (codeArticle!=null){
		articleQuantite = getEltById("articleQuantite_" + codeArticle).value;
		articleCode = codeArticle;
		articleTarif = getEltById("articleTarif_" + codeArticle).value;
		articleTarifKilo = getEltById("articleTarifKilo_" + codeArticle).value;
		articleUnite = getEltById("articleUnite_" + codeArticle).value;
	}else{
		articleQuantite = getEltById("articleQuantite").value;
		articleCode = getEltById("articleCode").value;
		articleTarif = getEltById("articleTarif").value;
		articleTarifKilo = getEltById("articleTarifKilo").value;
		articleUnite = getEltById("articleUnite").value;
	}
	
	Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/majPanier.aspx', 'ART_CODE=' + articleCode + '&ART_QUANTITE=' + articleQuantite + '&ART_TARIF=' + articleTarif + '&ART_TARIF_KILO=' + articleTarifKilo + '&ART_UNITE=' + articleUnite, savePanier);
	
}

function savePanier(l_flow){
	alert("Le produit " + l_flow + " a bien été ajouté au panier");
	Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/getPanier.aspx', '', afficherPanier);
}

function afficherPanier(l_flow)
{   
    if(l_flow.toString().indexOf("Panier vide")>0)
    {
        setInnerHTML("panierRecap","<tr><td colspan=\"6\">Panier vide</td></tr>");
        setInnerHTML("OrderSummary", "0 ARTICLE");
    }
    else {
        var isPromo = l_flow.indexOf('<promo>') > 0;
        if (isPromo) {
            var tr_html = '<td colspan="6" class="right">1ère commande en ligne : ';

            var toAdd = '';
            while (l_flow.indexOf('<promo>') >= 0) {
                var promoValeur = l_flow.substring(l_flow.indexOf('<promo>') + '<promo>'.length);
                if (promoValeur.indexOf('<promo>') > 0)
                    promoValeur = promoValeur.substring(0, promoValeur.indexOf('<promo>'));

                if (toAdd !== "")
                    toAdd += ' + ';

                toAdd += promoValeur;
                
                l_flow = l_flow.substring(0, l_flow.indexOf('<promo>')) + l_flow.substring(l_flow.indexOf('<promo>') + '<promo>'.length + promoValeur.length);
            }
            tr_html += toAdd + '</td>';

            //Affichage des promos (dans les 2 paniers)
            var tr_promo_list = getElementsByClass('tr_promo', null, null);
            for (var l = 0; l < tr_promo_list.length; l++) {
                setElementInnerHTML(tr_promo_list[l], tr_html);
                tr_promo_list[l].style.visibility = 'visible';
            }
        }
        else {
            //On cache les promos
            var tr_promo_list = getElementsByClass('tr_promo', null, null);
            for (var l = 0; l < tr_promo_list.length; l++) {
                if (isIE7orBelow) {
                    tr_promo_list[l].style.visibility = 'hidden';
                }
                else {
                    tr_promo_list[l].style.visibility = 'collapse';
                }
            }
        }
    
        var isPoids = l_flow.indexOf('<poids>')>0;
        if(isPoids)
        {
            l_flow = l_flow.substring(0,l_flow.lastIndexOf('<poids>'));
            setInnerHTML("totalEstime",'estimé ');  
            setInnerHTML("mentionsTotalPanier",'<br/>montant d\'achat estimé du fait de la présence d\'un produit à poids variable.');             
        }  
        else
        {
            setInnerHTML("totalEstime",'');  
            setInnerHTML("mentionsTotalPanier",''); 
        }      
        //Actualisation du prix total
        var index = l_flow.toString().lastIndexOf("<total>");
        var html = l_flow.toString().substring(0,index);
        var total = l_flow.toString().substring(index+7,l_flow.toString().length);
        
        setInnerHTML("panierRecap",html);
        setInnerHTML("totalPanier",total);             
               
        var nbLignes = 0;
        while(html.indexOf("</tr>") > -1)
        {
            nbLignes++;
            html = html.substring(html.indexOf("</tr>")+5, html.length);
        }  
        if(nbLignes > 1)
        {
            setInnerHTML("OrderSummary", nbLignes+ " ARTICLES");
        }
        else
        {
            setInnerHTML("OrderSummary", nbLignes+ " ARTICLE");
        }        
        if(typeof(getEltById("Bt_vers_terminer_commande")=='undefined'))
        {            
            var boutonhtml = "<td colspan=\"5\" class=\"validePanier right\" id=\"_ctl0_PanierPage1_Bt_vers_terminer_commande\"> " +
	            "<a href=\""+RACINE_SITE+"/boutique/terminer-commande.aspx\"> " +
		        "<img onmouseover=\"rollover_valid(this);\" onmouseout=\"rollout_valid(this);\" src=\""+RACINE_SITE+"/global/images/bt_etape_valid.png\" name=\"etape_valid\" class=\"valid\"> " +
	            "</a> " +
                "</td>";
            setInnerHTML("trPanierBouton",boutonhtml);
        }        
    }
    
    //Retour en haut de page
    window.scrollTo(0,0);

    //Déroulement du panier
    $("#panier_page").slideToggle("slow");
    setTimeout("cacherPanier()", 3000);
}

function afficherPanierListeCourses(l_flow)
{   
    if(l_flow == "")
    {
        setInnerHTMLFirst("panierRecap","<tr><td colspan=\"6\">Panier vide</td></tr>");
        setInnerHTMLFirst("OrderSummary",  "0 ARTICLE");
    }
    else
    {
        //Actualisation du prix total
        var index = l_flow.toString().lastIndexOf("<total>");
        var html = l_flow.toString().substring(0,index);
        var total = l_flow.toString().substring(index+7,l_flow.toString().length);
        
        setInnerHTMLFirst("panierRecap",html);
        setInnerHTMLFirst("totalPanier",total);
               
        var nbLignes = 0;
        while(html.indexOf("</tr>") > -1)
        {
            nbLignes++;
            html = html.substring(html.indexOf("</tr>")+5, html.length);
        }  
        if(nbLignes > 1)
        {
            setInnerHTMLFirst("OrderSummary", nbLignes+ " ARTICLES");
        }
        else
        {
            setInnerHTMLFirst("OrderSummary", nbLignes+ " ARTICLE");
        }
        
        if(typeof(getEltById("Bt_vers_terminer_commande")=="undefined"))
        {
            var boutonhtml = "<td colspan=\"5\" class=\"validePanier right\" id=\"_ctl0_PanierPage1_Bt_vers_terminer_commande\"> " +
	            "<a href=\""+RACINE_SITE+"/boutique/terminer-commande.aspx\"> " +
		        "<input type=\"image\" onmouseover=\"rollover_valid(this);\" onmouseout=\"rollout_valid(this);\" src=\""+RACINE_SITE+"/global/images/bt_etape_valid.png\" name=\"etape_valid\" value=\"valider\" class=\"valid\"> " +
	            "</a> " +
                "</td>";
            setInnerHTMLFirst("trPanierBouton",boutonhtml);
        }        
    }
    
    //Déroulement du panier
    $("#panier_page").slideToggle("slow");
    setTimeout("cacherPanier()", 3000);
}


function cacherPanier()
{
    $("#panier_page").slideToggle("slow");
}

// POST XMLHttpRequest générique
function Post_XMLHttpRequest(l_state, l_uri, l_param, l_fct) {
	var xhr = null;
	
	try 
	{
       xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(e)   // Echec
    {
      xhr = new XMLHttpRequest();
    }	
//	//function si FF/chrome object si IE
//	alert(typeof XMLHttpRequest);
//	if (typeof XMLHttpRequest != "object") { xhr = new XMLHttpRequest(); } else { xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
	xhr.open("POST", l_uri, true);
	if (l_state==1) {
		xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		//xhr.setRequestHeader("encoding","utf-8");
		xhr.setRequestHeader("Content-Length", l_param.length);
		xhr.send(l_param);
	}
	xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { l_fct(xhr.responseText); } }
	if (l_state==0) xhr.send(null);
}

function getElementsByClass(searchClass,node,tag) {
  var classElements = new Array();
  if (node == null)
    node = document;
  if (tag == null)
    tag = '*';
  var els = node.getElementsByTagName(tag);
  var elsLen = els.length;
  var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
  for (i = 0, j = 0; i < elsLen; i++) {
    if (pattern.test(els[i].className) ) {
      classElements[j] = els[i];
      j++;
    }
  }
  return classElements;
}

function roundNumber(num, dec) {
    //num le nombre à arrondir, dec le nombre de décimales
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}


//COMMANDE EXPRESS


var GLOB_INDICE = "";

function getArticle(obj)
{
    if (this.id)
    {
		indice = this.id;
	}
	else
	{
		indice = obj.id;
	}
	
	indice = indice.replace("code_","");    
	GLOB_INDICE = indice;
	
	var myCode = getEltById("code_" + indice).value;
	var myLibelle = getEltById("libelle_" + indice).value;
	
	if ( (myCode!="") && (myCode.length<=4) )
	{
	    while(myCode.length<4)
	    {
	        myCode = "0" + myCode;
	    }
	    getEltById("code_" + indice).value = myCode;
		Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/getArticle.aspx', 'ART_CODE=' + myCode, afficheArticle);
	}
	else
	{
	    if(myCode=='Code à compléter' || myCode=='')
	    {
	        getEltById("code_" + indice).value='Code à compléter';
	        getEltById("libelle_" + indice).value = "Libellé du produit";
	    }
	}
}

//----- Afficher le libellé d'un article
function afficheArticle(l_flow){

	var myLibelle = getEltById("libelle_" + GLOB_INDICE);
	var myCode = getEltById("code_" + GLOB_INDICE);
	
	if (l_flow!="")
	{
		if (l_flow=="ERREUR")
		{
			alert("Code produit " + myCode.value + " inconnu ou indisponible.");
			setInnerHTML("libelle_" + GLOB_INDICE, "Libellé du produit");
			myCode.value = "Code à compléter";
		}
		else
		{
		    setInnerHTML("libelle_" + GLOB_INDICE, l_flow);
		}
	}
}

function ajoutLigneCommandeExpress()
{
    var i = 0;
    while(typeof(getEltById("code_"+i))!='undefined')
    {
        i++;
    }    
        
    $(".table_courante tbody").append('<tr><td><a href=\"javascript:deleteLigneCommandeExpress('+i+');\" class=\"itemMoins\"><img src=\"'+RACINE_SITE+'/global/images/GestionPanier_eraseitem.png\" alt=\"supprimer\" /></a></td><td><input id=code_'+i+' type="texte" onfocus="this.value=(this.value==\'Code à compléter\')?\'\':this.value"" onblur="javascript:getArticle(this);" onkeypress="if(event.keyCode==13) return false;" value="Code à compléter" class="inptTxt"/></td><td id="libelle_'+i+'">Libellé du produit</td><td><input id="qte_'+i+'" type="texte" onfocus="this.value=(this.value==\'Quantité à compléter\')?\'\':this.value" onkeypress="if(event.keyCode==13) return false;" value="Quantité à compléter" class="inptTxt" /></td></tr>');
}

function valider_commande_express()
{
    var i = 0;
    var items = '';
    while(typeof(getEltById("code_"+i))!='undefined')
    {
        var codevalue = getEltById("code_"+i).value;
        var qtevalue = getEltById("qte_"+i).value;
        if(codevalue!='Code à compléter' && codevalue!='' && codevalue.length==4 && qtevalue!='Quantité à compléter' && qtevalue!='' && parseInt(qtevalue)>0)
        {
            if(items != '')
            {
                items+='@';
            }
            items+=''+getEltById("code_"+i).value + '|' + getEltById("qte_"+i).value;
        }
        i++;
    }
    
    if(items!='')
    {
        Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/sendCommandeExpress.aspx', 'ARTS=' + items, confirmCommandeExpress);
    }
    else
    {
        alert('Merci de renseigner un code de produit');
    }        
}

function deleteLigneCommandeExpress(indiceLigne)
{
    var i = 0;
    while(typeof(getEltById("code_"+i))!='undefined')
    {
        i++;
    }   
    
    for(var j = indiceLigne; j < i - 1 ; j++)
    {
        var k = j+1;
        getEltById("code_"+j).value = getEltById("code_"+k).value;
        setInnerHTML("libelle_"+j,getInnerHTML("libelle_"+k));
        getEltById("qte_"+j).value = getEltById("qte_"+k).value; 
    }
    var inner = '';
    for(var l = 0; l < i - 1 ; l++)
    {
        inner += '<tr><td><a href=\"javascript:deleteLigneCommandeExpress('+l+');\" class=\"itemMoins\"><img src=\"'+RACINE_SITE+'/global/images/GestionPanier_eraseitem.png\" alt=\"supprimer\" /></a></td><td><input id=code_'+l+' type="texte" onfocus="this.value=(this.value==\'Code à compléter\')?\'\':this.value"" onblur="javascript:getArticle(this);" value="'+getEltById("code_"+l).value+'" class="inptTxt"/></td><td id="libelle_'+l+'">'+getInnerHTML("libelle_"+l)+'</td><td><input id="qte_'+l+'" type="texte" onfocus="this.value=(this.value==\'Quantité à compléter\')?\'\':this.value" onblur="this.value=(this.value==\'\')?\'Quantité à compléter\':this.value;" value="'+getEltById("qte_"+l).value+'" class="inptTxt" /></td></tr>';
    }
    $(".table_courante tbody").html(inner);
}

function confirmCommandeExpress(l_flow)
{
    if (l_flow=="ERREUR")
    {
        alert("Erreur lors de l'enregistrement de votre commande");
    }
    else
    {
        var url = window.location.toString().substring(0,window.location.toString().lastIndexOf('/')+1);
        window.location = (url + 'terminer-commande.aspx');
    }
}

function panierAjouterDepuisListeCourses(codeArticle,quantite,trf,trfKilo,ufcCode)
{
	Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/majPanier.aspx', 'ART_CODE=' + codeArticle + '&ART_QUANTITE=' + quantite + '&ART_TARIF=' + trf + '&ART_TARIF_KILO=' + trfKilo + '&ART_UNITE=' + ufcCode, 
	function(name)
	{
	    alert("Le produit " + name + " a bien été ajouté au panier");
	    Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/getPanier.aspx', '', 
	    function(name2)
	    {
	        afficherPanierListeCourses(name2);
	    });
	    
	});
}

function ouiSelected()
{
    getEltById("creneauHoraire").style.visibility="visible";
    getEltById("telOuAnnulation").style.visibility="hidden";
}

function nonSelected()
{    
    getEltById("creneauHoraire").style.visibility ="hidden";
    getEltById("telOuAnnulation").style.visibility="visible";
}

function chargerPanierDemarrage()
{
	Post_XMLHttpRequest(1, RACINE_SITE + '/FO/HttpRequest/getPanier.aspx', '', afficherPanierDemarrage);
}

function afficherPanierDemarrage(l_flow) {
    if(l_flow.toString().indexOf("Panier vide")>0)
    {
        setInnerHTMLFirst("panierRecap","<tr><td colspan=\"6\">Panier vide</td></tr>");
        setInnerHTMLFirst("OrderSummary", "0 ARTICLE");
    }
    else {
        var isPromo = l_flow.indexOf('<promo>') > 0;
        if (isPromo) {
            var tr_html = '<td colspan="6" class="right">1ère commande en ligne : ';

            var toAdd = "";

            while (l_flow.indexOf('<promo>') >= 0) {
                var promoValeur = l_flow.substring(l_flow.indexOf('<promo>') + '<promo>'.length);
                if (promoValeur.indexOf('<promo>') > 0)
                    promoValeur = promoValeur.substring(0, promoValeur.indexOf('<promo>'));

                if (toAdd !== "")
                    toAdd += ' + ';

                toAdd += promoValeur;

                l_flow = l_flow.substring(0, l_flow.indexOf('<promo>')) + l_flow.substring(l_flow.indexOf('<promo>') + '<promo>'.length + promoValeur.length);
            }
            tr_html += toAdd + '</td>';

            //Affichage des promos (dans les 2 paniers)
            var tr_promo_list = getElementsByClass('tr_promo', null, null);
            for (var l = 0; l < tr_promo_list.length; l++) {
                setElementInnerHTML(tr_promo_list[l], tr_html);
                tr_promo_list[l].style.visibility = 'visible';
            }
        }
        else {
            //On cache les promos
            var tr_promo_list = getElementsByClass('tr_promo', null, null);
            for (var l = 0; l < tr_promo_list.length; l++) {
                if (isIE7orBelow) {
                    tr_promo_list[l].style.visibility = 'hidden';
                }
                else {
                    tr_promo_list[l].style.visibility = 'collapse';
                }
            }
        }
    
        var isPoids = l_flow.indexOf('<poids>')>0;
        if(isPoids)
        {
            l_flow = l_flow.substring(0,l_flow.lastIndexOf('<poids>'));
            setInnerHTMLFirst("totalEstime",'estimé '); 
            setInnerHTMLFirst("mentionsTotalPanier",'<br/>montant d\'achat estimé du fait de la présence d\'un produit à poids variable.');  
        }  
        else
        {
            setInnerHTMLFirst("totalEstime",'');
            setInnerHTMLFirst("mentionsTotalPanier",'');   
        }      
        //Actualisation du prix total
        var index = l_flow.toString().lastIndexOf("<total>");
        var html = l_flow.toString().substring(0,index);
        var total = l_flow.toString().substring(index+7,l_flow.toString().length);
        
        setInnerHTMLFirst("panierRecap",html);
        setInnerHTMLFirst("totalPanier",total);             
               
        var nbLignes = 0;
        while(html.indexOf("</tr>") > -1)
        {
            nbLignes++;
            html = html.substring(html.indexOf("</tr>")+5, html.length);
        }  
        if(nbLignes > 1)
        {
            setInnerHTMLFirst("OrderSummary", nbLignes+ " ARTICLES");
        }
        else
        {
            setInnerHTMLFirst("OrderSummary", nbLignes+ " ARTICLE");
        }        
        if(typeof(getEltById("Bt_vers_terminer_commande")=='undefined'))
        {            
            var boutonhtml = "<td colspan=\"5\" class=\"validePanier right\" id=\"_ctl0_PanierPage1_Bt_vers_terminer_commande\"> " +
	            "<a href=\""+RACINE_SITE+"/boutique/terminer-commande.aspx\"> " +
		        "<img onmouseover=\"rollover_valid(this);\" onmouseout=\"rollout_valid(this);\" src=\""+RACINE_SITE+"/global/images/bt_etape_valid.png\" name=\"etape_valid\" class=\"valid\"> " +
	            "</a> " +
                "</td>";
            setInnerHTMLFirst("trPanierBouton",boutonhtml);
        }        
    }
}
