﻿//Fonctions de control sur le panier


//Renvoi TRUE si le panier est non vide, FALSE SINON
function panierNonVide() {

 var majIsOk = false;

     url = '../page/actionPanier.aspx?evt=validate&idPack=0&idEquipement1=0&idEquipement2=0&prixbarre=&idServices=&pb='+ Math.random()*11;   
   
     var xmlhttp=null;
        
        if (window.XMLHttpRequest)
        {// code for all new browsers
            xmlhttp=new XMLHttpRequest();
        }
        else if (window.ActiveXObject)
        {// code for IE5 and IE6
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        if (xmlhttp!=null)
        {      
                xmlhttp.open("GET",url,false);
                xmlhttp.send(null);

                try //Internet Explorer
                { 
                    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
                    xmlDoc.async="false";
                    if(xmlDoc.loadXML(xmlhttp.responseText)) {
                    
                        if(xmlDoc.getElementsByTagName('etat')[0].childNodes[0].nodeValue == "OK") {
                          majIsOk = true;
                        }
                        else {
                          majIsOk = false;
                        }
                    }
                      else {

                        //redirige vers la page de perte de session
                        window.location = "../LostSession.aspx";
                        //alert("KO perte session");
                    }
                }
                 catch(e) { //les autre browser
                    parser=new DOMParser();
                    xmlDoc=parser.parseFromString(xmlhttp.responseText,"text/xml");
                    xmlDoc.async="false";
                    var entries = xmlDoc.getElementsByTagName('etat');
                    if(entries.length > 0) {
                        if(entries[0].textContent == "OK") {
                             majIsOk = true;
                        }
                        else { 
                            majIsOk = false;
                        }
                    }
                    else {
                        //redirige vers la page de perte de session
                        window.location = "../LostSession.aspx";
                    }
                }
         }
            
        return majIsOk;
}



//fonction d'appel (en ajax) à la page d'ajout d'un pack dans une commande
function actionPanier(p_action, p_idPack, p_idEquipement1, p_idEquipement2, p_prixBarre, p_idServices, p_idServiceResa) {
    
    var prixPanier = -1;
    var majIsOk = false;
    
    //controle des parametres
    if(p_action != "") {
        var url;
        if(p_idServiceResa != "") {
        url = '../page/actionPanier.aspx?evt='+p_action+'&idserviceResa='+p_idServiceResa+'&pb='+ Math.random()*11;   
        }
        else {
            //if(p_idPack != "") 
                url = '../page/actionPanier.aspx?evt='+p_action+'&idPack='+p_idPack+'&idEquipement1='+p_idEquipement1+'&idEquipement2='+p_idEquipement2+'&prixbarre='+p_prixBarre+'&idServices='+p_idServices+'&pb='+ Math.random()*11;   
        }
        //alert(url);
        var xmlhttp=null;
        
        if (window.XMLHttpRequest)
        {// code for all new browsers
            xmlhttp=new XMLHttpRequest();
        }
        else if (window.ActiveXObject)
        {// code for IE5 and IE6
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        if (xmlhttp!=null)
        {      
            xmlhttp.open("GET",url,false);
            xmlhttp.send(null);
            
           
            try //Internet Explorer
            { 
                xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc.async="false";
                
                if(xmlDoc.loadXML(xmlhttp.responseText)) {
                
                    if(xmlDoc.getElementsByTagName('etat')[0].childNodes[0].nodeValue == "OK") {
                        prixPanier = xmlDoc.getElementsByTagName('totalCommande')[0].childNodes[0].nodeValue;
                        majIsOk = true;
                    }
                    else {
                        if(xmlDoc.getElementsByTagName('msg')[0].childNodes[0].nodeValue != "") {
                            greyBoxShow('../greyboxs/alert.aspx',xmlDoc.getElementsByTagName('msg')[0].childNodes[0].nodeValue);
                        }
                        else {
                            //redirige vers la page d'erreur
                            window.location = "../Error.aspx";
                        }
                    }
                }
                else {

                    //redirige vers la page de perte de session
                    window.location = "../LostSession.aspx";
                    //alert("KO perte session");
                }
            }
            catch(e) { //les autre browser
                parser=new DOMParser();
                xmlDoc=parser.parseFromString(xmlhttp.responseText,"text/xml");
                xmlDoc.async="false";
                 
                var entries = xmlDoc.getElementsByTagName('etat');
                if(entries.length > 0) {
                    if(entries[0].textContent == "OK") {
                        prixPanier = xmlDoc.getElementsByTagName('totalCommande')[0].textContent;
                        majIsOk = true;
                    }
                    else { 
                        if(xmlDoc.getElementsByTagName('msg')[0].textContent != "") {
                            greyBoxShow('../greyboxs/alert.aspx',xmlDoc.getElementsByTagName('msg')[0].textContent);
                        }
                        else {
                            //redirige vers la page d'erreur
                            window.location = "../Error.aspx";
                        }
                    }
                }
                else {
                    //redirige vers la page de perte de session
                    window.location = "../LostSession.aspx";
                }
            }
            
            if((prixPanier != -1) && majIsOk){ //mise à jour du total du panier
                $('#prixPanier').html(prixPanier+"&euro;");
            }
            
            if (p_action=="add" || p_action=="del")
            {
               rafraichiPanier(1);
            }
            
            return majIsOk;
        }
    }
}

/*
ajoutPanier lance la procédure d'ajout d'un pack dans le panier
entrée :
    idPack : identifiant du pack à ajouter
    form : formulaire du pack à ajouter 
        (le formulaire sert à être parcourir pour récupérer les différentes info relatives au pack, comme les équipements sélectionnés)
*/
function ajoutPanier(idPack, form) {
    var tmp;
    var idEqp1 = 0; var eqp1Registered = false;
    var idEqp2 = 0; var eqp2Registered = false;
    var prixBarre = 0;
    var services = "";
    var nbServices = 0;
    //parcours du formulaire pour récupérer les infos
    for(i=0;i<form.length;i++){
    
        
        if (form.elements[i].type=="checkbox" ) {
        
            tmp = form.elements[i].id.split("_");
            
            //recherche les id pour les equipements
            if((tmp[0] == "chk") && (tmp[1] == "equ")) {    //pour être sur qu'on est en train de traiter un checkbox d'un equipement
            
                if(eqp1Registered && !eqp2Registered){ //sauvegarde de l'id equipement 2
                    if(form.elements[i].checked) {
                        idEqp2 = tmp[3];
                    }
                    eqp2Registered = true;
                }
                
                if(!eqp1Registered) { //sauvegarde de l'id de l'equipement 1
                    if(form.elements[i].checked) {
                        idEqp1 = tmp[3];
                    }
                    eqp1Registered = true;
                }
            }
            
            if(tmp[0] == "svc") {
                if(form.elements[i].checked) {
                    if(nbServices == 0) {
                        services = form.elements[i].value;
                        nbServices++;
                    }
                    else {
                        services += ","+form.elements[i].value;
                    }
                }
            }
        }
        //récupération du prix barré (s'il existe)
        if(form.elements[i].id == "prixBarreHidden"+idPack) {
            prixBarre = form.elements[i].value;
        }
    }
    
    return actionPanier("add", idPack, idEqp1, idEqp2, prixBarre, services, "");
}

function suppressionPanier(idCommandePack) {
    return actionPanier("del", idCommandePack, 0, 0, 0,"", "");
}

function viderPanier() {

}

function validerPanier() {
    return actionPanier("validate", 0, 0, 0, 0, "", "");
}


function ajoutServiceResa(p_idServiceResa) {
    return actionPanier("addService", "", 0, 0, 0, "", p_idServiceResa);
}

function supprimerServiceResa(p_idServiceResa) {
    return actionPanier("delService", "", 0, 0, 0, "", p_idServiceResa);
}


function rafraichiPanier(afficheSuppressionPack)
{

 url = '../page/actionPanier.aspx?evt=rafraichiPanier&afficheSuppressionPack='+afficheSuppressionPack+'&idPack=0&idEquipement1=0&idEquipement2=0&prixbarre=&idServices=&pb='+ Math.random()*11;
 
  var panierHTML="";
  var xmlhttp=null;
  var prixPanier=-1;
  
    if (window.XMLHttpRequest)
    {// code for all new browsers
        xmlhttp=new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {// code for IE5 and IE6
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (xmlhttp!=null)
    {      
            xmlhttp.open("GET",url,false);
            xmlhttp.send(null);

            try //Internet Explorer
            { 
                xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
                xmlDoc.async="false";
                if(xmlDoc.loadXML(xmlhttp.responseText)) {
                
                    panierHTML= xmlDoc.getElementsByTagName('etat')[0].childNodes[0].nodeValue;
                    prixPanier = xmlDoc.getElementsByTagName('totalCommande')[0].childNodes[0].nodeValue;
                }
                  else {

                    //redirige vers la page de perte de session
                    window.location = "../LostSession.aspx";
                    //alert("KO perte session");
                }
            }
             catch(e) { //les autre browser
                parser=new DOMParser();
                xmlDoc=parser.parseFromString(xmlhttp.responseText,"text/xml");
                xmlDoc.async="false";
                
                var entries = xmlDoc.getElementsByTagName('etat');
                var entriesPrix  = xmlDoc.getElementsByTagName('totalCommande');
                
                if(entries.length > 0 && entriesPrix.length>0) {
                    panierHTML= entries[0].textContent; 
                    prixPanier = entriesPrix[0].textContent;
                }
                else {
                   //redirige vers la page de perte de session
                    window.location = "../LostSession.aspx";
                }
            }
     }
     
    if(prixPanier != -1)
    { //mise à jour du total du panier
        $('#prixPanier').html(prixPanier+"&euro;");
    }
    
    cartElement = document.getElementById("addCart");
    cartElement.innerHTML=panierHTML; // mise a jour panier
}

