﻿
// liste des brochures commandees
// C'est la liste de reference
// Toutes les mises à jour (panier, prix, brochures en surbrillance) sont effectuées à partir de cette liste
var tab = new Array();
// liste de toutes les code brochures existantes
var tabExistant = new Array();
// Nb de brochures commandées depuis 7 jours
var NbBrochure7Jours = 0;
// Nombre de brcohures gratuites par semaine
var NbMAXBROCHUREPARSEMAINE = 2;
// Prix des brochures gratuites
var TARIFBROCHURESUPPLEMENTAIRE = 2;




// Ajoute dans la liste des brcohures existance, utilisée à l'initialisation de la page
function AddTabExistant(code) {
    tabExistant.push(code);
}

// nombre de brochures commandé la semaine écoulée, utilisée à l'initialisation de la page
function SetNbBrochure7Jours(nbCommandeBroch) {
    NbBrochure7Jours = nbCommandeBroch;
}

// Met en surbrillance le menu du haut (categories de brochures)
function HighLightMenu(identifiant) {
    var i = $("#nav_interne_brochure a").removeClass("actif");
    $("#LiMenu" + identifiant).addClass("actif");
}

// Ajout ou efface de la liste des brochures commandées
// Met a jour le panier, le prix, les brochures en surbrillance
function AddOrRemove(identifiant, libelle) {
    if (tab[identifiant] != null) {
        delete tab[identifiant];
    }
    else {
        tab[identifiant] = libelle;        
    }
    UpdateListe();
    UpdatePanier();
    UpdatePrice();
    UpdateCommandButton();
}

function UpdateCategory() {
    UpdateListe();
    BrochureThemeOnMouseOut();
}

// Met à jour les brochures en surbrillance par rapport à la liste des brochures commandées
function UpdateListe() {   
    for (data in tabExistant) {
        var identifiant = tabExistant[data];    
        if (document.getElementById("div" + identifiant)) {

            if (tab[identifiant] != null) {
                $("#div" + identifiant).addClass("selection");
            }
            else {
                $("#div" + identifiant).removeClass("selection");
            }
        }
        
    }
}



// Ajoute des slashes devant les caractères spéciaux
function AddSlashes(ch) {
    ch = ch.replace(/\\/g, "\\\\");
    ch = ch.replace(/\'/g, "\\'");
    ch = ch.replace(/\"/g, "\\\"");
    return ch;
}

// Met à jour le panier par rapport à la liste des brochures commandées
function UpdatePanier() {
    var oDIV = document.getElementById("divPanier");
    oDIV.innerHTML = "";
    for (data in tabExistant) {
        var identifiant = tabExistant[data];
        if (tab[identifiant] != null) {
            var oBR = document.createElement("br");
            var oINPUT = document.createElement('input');
            var oSPAN = document.createElement('span');
            oINPUT.type = 'checkbox';
            oINPUT.onclick = Function("AddOrRemove('" + identifiant + "','" + AddSlashes(tab[identifiant]) + "');");
            oSPAN.innerHTML = tab[identifiant];
            oDIV.appendChild(oINPUT);
            oDIV.appendChild(oSPAN);
            oDIV.appendChild(oBR);
            oINPUT.checked = 'checked'; //IE renders "checked" only after an appendChild
        }
    }
}

// Mise à jour de l'affichage du prix 
function UpdatePrice() {
    var prix = CalculatePrice(GetCountCommand());
    if (prix > 0) {
        document.getElementById("frais_envoi").innerHTML = "Participation aux frais d'envoi : " + prix + "€";
        $('#encart_px').css("visibility", "visible");
    }
    else {
        $('#encart_px').css("visibility", "hidden");
        document.getElementById("frais_envoi").innerHTML = "";
    }

}

// Afficher ou non le bouton commander
function UpdateCommandButton() {
    if (GetCountCommand() == 0) {
        $('#divBoutonPanier').hide();
        $('#divMessagePanier').show();
        
        //document.getElementById("divBoutonPanier").style.visibility = "hidden";
    }
    else {
        $('#divMessagePanier').hide();
        $('#divBoutonPanier').show();
        //document.getElementById("divBoutonPanier").style.visibility = "visible";
    }
}

// Calcul du prix
function CalculatePrice(count) {
    
    // Nombre de brochures gratuites consommées
    var nbAlreadyFree = NbBrochure7Jours;
    if (NbBrochure7Jours > NbMAXBROCHUREPARSEMAINE) {
        nbAlreadyFree = NbMAXBROCHUREPARSEMAINE;
    }
    // Calcul prix
    var prix = (count + nbAlreadyFree - NbMAXBROCHUREPARSEMAINE) * TARIFBROCHURESUPPLEMENTAIRE;
    if (prix > 0) {
        return prix;
    }
    else {
        return 0;
    }
}

// Nombre de brochures commandées dans la page Broche
function GetCountCommand() {
    var count = 0;
    for (data in tabExistant) {
        var identifiant = tabExistant[data];
        if (tab[identifiant] != null) {
                count++;
        }
   }
   return count;

}

// Nombre de brochures commandées dans la page Coordonnees
function GetCountCoord() {
    var count = 0;
    var elements = document.getElementsByName("CbxBroch");
    for (var i = 0; i < elements.length; i++) {
        if (elements[i].getAttribute("type") == "checkbox") {
            if (elements[i].checked) {
                count++;
            }
        }
    }
    return count;
}

// Mouse over sur les brochures thematiques
//function BrochureThemeOnMouse(idendifiant) {
//    $('#divThemeDescription' + idendifiant).toggle();
//    $('#divCaVientDeParaitre').toggle();
        
//}

// Mouse over sur les brochures thematiques
function BrochureThemeOnMouseOver(idendifiant) {
    $("div[id^='divThemeDescription']").hide();
    $('#divThemeDescription' + idendifiant).show();
    $('#divCaVientDeParaitre').hide();

}

// Mouse out sur les brochures thematiques
function BrochureThemeOnMouseOut(idendifiant) {
    //$('#divThemes').hide();
    $("div[id^='divThemeDescription']").hide();
    $('#divCaVientDeParaitre').show();

}



// Message affiché pour la commande de brochures futures
function MessIsForthcoming(isForthComming, identifiant) {
    if (isForthComming == 'True' && tab[identifiant] != null) {
        alert("Cette brochure n'est pas encore parue. Vous pouvez la commander dès maintenant, mais vous ne la recevrez que lors de sa parution.");
    }
}

// Commander 
function Command() {
    var list = "";
    for (data in tabExistant) {
        var identifiant = tabExistant[data];
        if (tab[identifiant] != null) {
            list += identifiant + ",";
        }
    }
    if (list != "") {
        document.getElementById("ListBrochureCommand").value = list;
        //alert(1);
        //this.submit();
        document.getElementById("formPanier").submit();
    }
    else {
        alert("Veuillez sélectionner au moins une brochure.");
    }
}

/// Redirection vers paiment ou confirmation
function SubmitCoord(obj) {
	//alert(document.getElementById("TypeForm").value);
    if ($('#formCoord').validate().form()) {
        document.getElementById("formCoord").submit();
        obj.style.display = "none";    
    }
}

// Retour des coordonnées vers la liste des brochures
function BackToBrochure() {
    document.getElementById("TypeForm").value = "BackToBrochure";
    document.getElementById("formCoord").submit();
}

/// Vérifie si il s'agit d'un paiement ou d'un envoi simple et affiche les informations en conséquence
function ConfirmOrPay() {
    document.getElementById("TypeForm").value = "Confirm";
    // Calcul prix
    var prix = CalculatePrice(GetCountCoord());
    if (prix > 0) {
        document.getElementById("frais_envoi").innerHTML = "Participation aux frais d'envoi : " + prix + "€";
        $('#divEncartVert').css("visibility", "visible");
    }
    else {
        document.getElementById("frais_envoi").innerHTML = "";
        $('#divEncartVert').css("visibility", "hidden");
    }

}







