﻿// Fichier JScript
/*
 * Initialisation Ajax
 */                
function MyInitAjax(url, cible) {
    req = false;
    if(window.XMLHttpRequest) {
        try {
            req = new XMLHttpRequest();
        } catch(e) {
            req = false;
        }
    } else if(window.ActiveXObject) {
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
                req = false;
            }
        }
    }
    if(req) {
        switch(cible){
            case "tvaintra":
                req.onreadystatechange = processRetourTva;
                break;

            case "calculremise":
                req.onreadystatechange = processRetourCalcul;
                break;
        }
        req.open("POST", url, true);
        req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    }
    return req;
}

/*
 * Traitement du retour WebService Check TVA Intra
 */ 
function processRetourTva() {
    if (req.readyState == 4) {
        if (req.status == 200) {
            var response = req.responseText;
            try 
            {
                var obj = eval(response);
                var leTR = window.document.getElementById(TextBoxTVAIntra);
                if(obj.OK){
                    leTR.className = 'TvaTrue';
                }else{
                    leTR.className = 'TvaFalse';
                }
            }
            catch(e) {
                alert(e.description);
            }
        } else {
            alert(req.responseText);
        }
    }
}
/*
 * Traitement du retour WebService CALCUL
 */ 
function processRetourCalcul() {
    if (req.readyState == 4) {
        if (req.status == 200) {
            var response = req.responseText;
            try 
            {
                var obj = eval(response);
                if (obj.operation) {
                    if(obj.ProcessStop){
                        alert(obj.Message);
                        //majMontant();
                        if(document.getElementById("PaimentCB"))
                            replacePicture("PaimentCB","div","App_Themes/Theme1/images/boutons/NOCB.jpg");
                            
                    }else{
                        lblInfos.innerHTML = "";
                        var chaineLblInfos = "";
                        
                        if(obj.MontantTva){
                            lblTVA.innerHTML = obj.MontantTva + " &euro;";
                            chpPTva.value = obj.MontantTva;
                            chpPTvaTaux.value = obj.TvaTaux;
                        }
                        if(obj.MontantRemise){
                            lblRemises.innerHTML = "-" + obj.MontantRemise + " &euro;";
                            chppRemises.value = obj.MontantRemise;
                            var reg = new RegExp(",", "g");
                            obj.MontantRemise = obj.MontantRemise.replace(reg,".");
                            if(parseFloat(obj.MontantRemise) > 0)
                                document.getElementById("laRemise").style.display = "block";
                            else
                                document.getElementById("laRemise").style.display = "none";
                        }
                        if(obj.MontantTotal){
                            lblTotal.innerHTML = obj.MontantTotal + " &euro;";
                            chpTotalAPayer.value = obj.MontantTotal;
                        }
                        
                        if(obj.ListeRemises){
                            chaineLblInfos = "";
                            chaineInfosRemises = "";
                            chaineListeRemises = "";
                            chaineLblInfos += "<div><strong>Informations complémentaires</strong></div>";
                            for(i=0; i<obj.ListeRemises.Remise.length; i++){
                                chaineLblInfos += "<div class=\"boxInfoRemises\">" + obj.ListeRemises.Remise[i].nom + "</div>";
                                chaineInfosRemises += obj.ListeRemises.Remise[i].nom + "\n";
                                chaineListeRemises += obj.ListeRemises.Remise[i].id + "|";
                            }
                            chaineLblInfos += "</div>";
                            lblInfos.innerHTML += chaineLblInfos;
                            chpInfosRemises.value = chaineInfosRemises;
                            chpListeRemises.value = chaineListeRemises;
                        }
                        if(obj.MontantPort){
                            lblPort.innerHTML = obj.MontantPort + " &euro;";
                            chppPort.value = obj.MontantPort;
                            
                            chaineLblInfos = "";
                            chaineLblInfos += "<div class=\"boxInfoDelaisLiv\">";
                            chaineLblInfos += "Délais de livraison : " + obj.InfosPort;
                            chaineLblInfos += "</div>";
                            lblInfos.innerHTML += chaineLblInfos;
                            
                            //<div>
                            // <div class="MiniPanier-prix"><asp:Label ID="LabelRemises" runat="server" EnableViewState="false"></asp:Label></div>
                            // Total remise
                            // </div>
                        }
                        /*
                        if(obj.LstKdo){
                            alert(obj.LstKdo);
                        }
                        */
                        
                        lblInfos.innerHTML += "<div style=\"clear: both;\"></div>";
                        
                        if(obj.AlerteCdeRemise == "OK" && chpCdeRemise.value != ""){
                            window.document.getElementById("check").src = "App_Themes/Theme1/images/miniPanier/codePromo-recalculerOk.png";
                        }else{
                            //alert(obj.AlerteCdeRemise);
                            window.document.getElementById("check").src = "App_Themes/Theme1/images/miniPanier/codePromo-recalculer.png";
                        }
                        
                    }
                }else{
                    resultsFromTest = false;
                    alert('Problème lors de l\'appel au webservice...');
                    window.location.href = window.location.href;
                }
            }
            catch(e) {
                DisplayDebug(response);
                alert(e.description);
            }
        } else {
            DisplayDebug(req.responseText);
        }
    }
}

var timerID;
function StartCheckCdeRemise(){
    timerID = window.setTimeout("StartCheckCdeRemise()",1000);
    majMontant();
}

function StopCheckCdeRemise(){
    window.clearTimeout(timerID);
    majMontant();
}

function majMontant(){
    var montant = chpMontant.value;
    var idprod = chpIdProd.value;
    var qtyprod = chpQtyProd.value;
    var idaccess = chpIdAccess.value;
    var qtyaccess = chpQtyAccess.value;
    var pays = chpLivPays.value;
    var userid = chpUserId.value;
    var cderemise = chpCdeRemise.value;
    var SessId = chpSessId.value;
    
    //alert(" montant : " + montant + " \n idprod : " + idprod + " \n qtyprod : " + qtyprod + " \n Pays : " + pays + " \n User : " + userid + " \n cderemise : " + cderemise);
    
    lblMontant.innerHTML = montant + " &euro;";
    chppMontantHT.value = montant;

    var req = MyInitAjax("CalculRemise.ashx", "calculremise");

    if(req){
        req.send("action=getRemises&montant=" + montant + "&pays=" + pays + "&idprod=" + idprod + "&iduser=" + userid + "&cde_remise=" + cderemise + "&qtyprod=" + qtyprod + "&idaccess=" + idaccess + "&qtyaccess=" + qtyaccess + "&sessid=" + SessId);
    }
}

/*
 * Affichage des erreurs
 */ 
function DisplayDebug(msg){
    var divdebug = window.document.getElementById("debug");
    var reg=new RegExp("\n","g");
    msg = msg.replace(reg,"<br>");
    divdebug.innerHTML = msg;
    divdebug.style.display = "";
}


function DisplayLogin(){
    window.document.getElementById("panel_login").style.display = "block";
    window.document.getElementById("panel_form").style.display = "none";
}

function DisplayForm(){
    window.document.getElementById("panel_login").style.display = "none";
    window.document.getElementById("panel_form").style.display = "block";
}

function DisplayLivraison(affich){
    if(affich)
        window.document.getElementById("table_livraison").style.display = "block";
    else
        window.document.getElementById("table_livraison").style.display = "none";
}

function DisplayTvaIntra(affich){
    if(affich)
        window.document.getElementById("tr_tvaintra").style.display = "block";
    else
        window.document.getElementById("tr_tvaintra").style.display = "none";
}

function DisplaySocieteRequired(btnPro, btnAutreLiv){
    var pro = window.document.getElementById(btnPro);
    var autreLiv = window.document.getElementById(btnAutreLiv);

    if(pro.checked){
        window.document.getElementById("span_star1").style.visibility = "visible";
        window.document.getElementById("span_star3").style.visibility = "visible";
    }
    else
    {
        window.document.getElementById("span_star1").style.visibility = "hidden";
        window.document.getElementById("span_star3").style.visibility = "hidden";
    }

    if(pro.checked && autreLiv.checked)
        window.document.getElementById("span_star2").style.visibility = "visible";
    else
        window.document.getElementById("span_star2").style.visibility = "hidden";
}

function CtrlTva(num, TextBoxTVAIntraNom){
    TextBoxTVAIntra = TextBoxTVAIntraNom;
    if(num != ""){
        req = MyInitAjax("VerifTVA.ashx", "tvaintra");
        if(req){
            req.send("cdeTVA=" + num);
        }
    }
}

function checkTVAsubmit(id) {
    mchamp = document.getElementById(id);
    mclass = mchamp.className;
    if (mchamp.value != "" && mclass == "TvaFalse") {
        alert("Veuillez remplir un N° de TVA Intracommunautaire valide");
        return false;
    }
    else
        return true;
}

/* *********  galerie image ************ */
function replacePicture(idDestination,typeElement,PathPicture)
{
    switch (typeElement){
        case "div": 
        document.getElementById(idDestination).innerHTML = "<img src=\""+PathPicture+"\" />";
        break;
        
        case "img":
        document.getElementById(idDestination).src = PathPicture;
        break;
    }
    
}


function displayElement(el)
{
    document.getElementById(el).style.display = "block";
}

function hiddeElement(el)
{
    document.getElementById(el).style.display = "none";
}