﻿var cnt_usage = 0;
var Maintenant = new Date();
var CurrentYear = Maintenant.getFullYear();
var CarYear;
var CarDescription;
var Brand;
var Model;
var Cylindree;
var motorID;
var kType;
var usage = 78;
var KilometreAuCompteur;
var AnnualCompteur;
var jsonConstraints;
var nbConstraints;
var usage = 78;
var nb_tab_constraints = 7;
var nb_tab_plan = 29;
var etape = 5;
var etapeDefault = 1;
var montantPlan = 0;
var idFormSim;
var Prix = 0;
var Provenance;

function trim(title) {
    if (title.length > 25) {
        title = title.substring(0, Math.min(25, title.length)) + "...";
    }
    return title;
}

function set_element(clef, libelle, description) {
    this.clef = clef;
    this.libelle = libelle;
    this.description = description;
}

function localResLibConstraints(clef) {
    for (i = 0; i < nb_tab_constraints && tab_constraints[i].clef != clef; i++);
    return tab_constraints[i].description;
}

function localResConstraints(clef) {
    for (i = 0; i < nb_tab_constraints && tab_constraints[i].clef != clef; i++);
    return tab_constraints[i].libelle;
}

function localResPlan(clef) {
    for (i = 0; i < nb_tab_plan && tab_plan[i].clef != clef; i++);
    return tab_plan[i].libelle;
}

function isNumeric(form_value) {
    if (form_value.match(/^\d+$/) == null)
        return false;
    else
        return true;
}

function isEmailSim(s) {
    var verif = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    if (verif.exec(s) == null) {
        return false;
    } else {
        return true;
    }
}

function JSONtoString(data) {
    var string_json = "[";
    var nbe = data.length;
    var cpt = 1;
    var temp_json;
    $.each(data, function() {
        string_json += "{";
        $.each(this, function(key, val) {
            if (key == "reponse")
                string_json += '"' + key + '":' + val + ',';
            else if (key == "kmKdd")
                string_json += '"' + key + '":"' + val + '"';
            else
                string_json += '"' + key + '":"' + val + '",';
        });
        if (cpt < nbe) {
            string_json += '},';
        }
        else {
            string_json += '}';
        }
        cpt++;
    });
    string_json += "]";
    return string_json;
}

function validateForm() {
    $("#KmAuCompteur_error").html("");
    $("#KmAuCompteur_error").append("&nbsp;");
    $("#KmAnnual_error").html("");
    $("#KmAnnual_error").append("&nbsp;");
    var KmAuCompteur_input = $("#KmAuCompteur").val();
    var KmAnnual_input = $("#KmAnnual").val();
    var errors = 0;
    if (KmAuCompteur_input == null || KmAuCompteur_input == '') {
        $("#KmAuCompteur_error").show()
            .append("champs obligatoire");
        errors++;
    }
    else if (!isNumeric(KmAuCompteur_input)) {
        $("#KmAuCompteur_error").show()
            .append("numérique");
        errors++;
    }
    if (KmAnnual_input == null || KmAnnual_input == '') {
        $("#KmAnnual_error").show()
            .append("champs obligatoire");
        errors++;
    }
    else if (!isNumeric(KmAnnual_input)) {
        $("#KmAnnual_error").show()
            .append("numérique");
        errors++;
    }
    return errors;
}

var titles = new Array();
titles[0] = 'LA Révision';
titles[1] = 'LA Révision - Etape 1';
titles[2] = 'LA Révision - Etape 2';
titles[3] = 'LA Révision - Etape 3';
titles[4] = 'Votre révision des ';
titles[5] = 'LA Révision';

var tab_constraints = new Array(nb_tab_constraints)
tab_constraints[0] = new set_element("DE", "Diagnostic électronique", "Option systématique pour les véhicules après 2000");
tab_constraints[1] = new set_element("BVA", "Boite de vitesse automatique<br />(ne pas cocher si robotisée ou séquentielle)", "Cochez cette option si votre véhicule dispose d’une boite automatique comme l’indique le schéma ci-dessous. Consultez votre carnet d’entretien si vous avez un doute (il faut trouver une image libre de droit pour une boite auto)");
tab_constraints[2] = new set_element("CLIM", "Climatisation", "Cochez cette option si votre véhicule est équipé d’une climatisation manuelle ou automatique");
tab_constraints[3] = new set_element("4x4", "Boite de transfert", "Si votre véhicule est de type 4X4, votre voiture est très certainement équipée d'une bôite de vitesse transfert 4X4.<br />Vous pouvez cocher cette option et vérifier cette information si vous le souhaitez sur la notice technique du véhicule");
tab_constraints[4] = new set_element("DSG", "Boite de vitesse DSG", "Option principalement disponible sur les véhicules de marques VAG. Consultez la notice  technique de votre voiture, pour savoir si elle en est équipée.");
tab_constraints[5] = new set_element("FAP", "FAP (Filtre à Particules)", "Cochez l’option si vous êtes sûr que votre voiture en est équipée.<br />Sinon, rendez-vous dans votre centre Midas. Seul un professionnel saura pour préciser de façon sûre si votre voiture est équipé ou non d’un filtre à particules.");
tab_constraints[6] = new set_element("LL", "Entretien Long Life ou Longue Durée", "Si vos intervalles de vidange sont supérieurs à 20 000 km, c’est que votre voiture est très certainement entretenue en programme Long Life. Dans ce cas, nous vous invitons à cocher cette option.");

var tab_plan = new Array(nb_tab_plan)
tab_plan[0] = new set_element("9486", "Niveau Boîte de Vitesse Automatique", "");
tab_plan[1] = new set_element("9484", "Niveau Boîte de Vitesse Manuelle", "");
tab_plan[2] = new set_element("9410", "Vidange Essence Huile", "");
tab_plan[3] = new set_element("9438", "Vidange Essence Huile", "");
tab_plan[4] = new set_element("9460", "Filtre à Air", "");
tab_plan[5] = new set_element("9440", "Filtre à Huile", "");
tab_plan[6] = new set_element("9485", "Vidange Boîte de Vitesse Manuelle", "");
tab_plan[7] = new set_element("9470", "Bougies d'Allumage", "");
tab_plan[8] = new set_element("9487", "Vidange Boîte de Vitesse Automatique", "");
tab_plan[9] = new set_element("9469", "Filtre à Essence", "");
tab_plan[10] = new set_element("9459", "Filtre Habitacle", "");
tab_plan[11] = new set_element("9490", "Niveau Boîte de Transfert", "");
tab_plan[12] = new set_element("9420", "Vidange Diesel Huile", "");
tab_plan[13] = new set_element("6904", "Diagnostic Electronique", "");
tab_plan[14] = new set_element("9477", "Contrôle Essence niveau 1", "");
tab_plan[15] = new set_element("9478", "Contrôle Essence niveau 2", "");
tab_plan[16] = new set_element("9479", "Contrôle Essence niveau 3", "");
tab_plan[17] = new set_element("9481", "Contrôle Diesel niveau 1", "");
tab_plan[18] = new set_element("9482", "Contrôle Diesel niveau 2", "");
tab_plan[19] = new set_element("9483", "Contrôle Diesel niveau 3", "");
tab_plan[20] = new set_element("9458", "Filtre à Gasoil", "");
tab_plan[21] = new set_element("9488", "Niveau Pont", "");
tab_plan[22] = new set_element("9491", "Vidange Boîte de Transfert", "");
tab_plan[23] = new set_element("9489", "Vidange Pont", "");
tab_plan[24] = new set_element("9439", "Vidange Diesel Huile", "");
tab_plan[25] = new set_element("DSG", "Boîte de vitesse DSG", "");
tab_plan[26] = new set_element("Et1", "+ 42 points de contrôle", "");
tab_plan[27] = new set_element("Et2", "+ 68 points de contrôle", "");
tab_plan[28] = new set_element("Et3", "+ 76 points de contrôle", "");

function HideAllSteps() {
    i = 1;
    while (i <= etape) {
        $('#sim_etape' + i).hide();
        i++;
    }
}

function changePageBreadCrum(title) {
    $(".GrayHeavy").html();
    var title = "";
    if ($("#main_loader").css("display") == "block") {
        title = titles[2];
    }
    for (var i = 1; i <= 5; i++) {
        if ($("#sim_etape" + i).css("display") == "block") {
            title = titles[i];
            if (i == 4) {
                title = titles[i] + $("#nbKm").html() + " km*";
            }
        }
    }
    $(".GrayHeavy").html("<strong>" + title + "</strong>");
}

function InitializeddlYear() {
    var ddlYear = $("#annee").html("");
    ddlYear.append($("<option></option>").val("").html("Année..."));
    for (i = CurrentYear; i > 1960; i--) {
        ddlYear.append($("<option></option>").val(i).html(i));
    }
}

function InitializeCombo() {
    ddlBrand = $("#brandId").html("");
    ddlBrand.append($("<option></option>").val('').html('Marque...'));
    ddlModel = $("#modelId").html("");
    ddlModel.append($("<option></option>").val('').html('Modèle...'));
    ddlCylindre = $("#cylindreId").html("");
    ddlCylindre.append($("<option></option>").val('').html('Cylindrée...'));
}

function InitializeInput() {
    $("#input_Name").focus(function() {
        $("#NameErr").html("");
        value = document.getElementById("input_Name").value;
        if (value == "Nom") {
            $(this).attr("value", "");
        }
    });
    $("#input_Email").focus(function() {
        value = document.getElementById("input_Email").value;
        if (value == "Email") {
            $(this).attr("value", "");
        }
    });
    $("#codpos").focus(function() {
        value = document.getElementById("codpos").value;
        if (value == "Code postal") {
            $(this).attr("value", "");
        }
    });
}

function InitializeRadio() {
    $("#radList1").click(function() {
        $("#radListErr").html("");
    });
    $("#radList2").click(function() {
        $("#radListErr").html("");
    });
    $("#radList3").click(function() {
        $("#radListErr").html("");
    });

    $("#chkReceive1").click(function() {
        $("#chkReceiveErr").html("");
    });
    $("#chkReceive2").click(function() {
        $("#chkReceiveErr").html("");
    });
}

function performSearchButton() {
    idFormSim = 2;
    $("#etap2_Eligible_TextVehicule").html("");
    $("#etap2_Eligible_TextVehicule").append($('#brandId :selected').text() + " - ");
    $("#etap2_Eligible_TextVehicule").append($('#modelId :selected').text() + " - ");
    $("#etap2_Eligible_TextVehicule").append($('#cylindreId :selected').text() + " - ");
    $("#etap2_Eligible_TextVehicule").append("Année " + $("#annee").val());

    if (annee != 0 && brandId != 0 && modelId != 0 && cylindreId != 0) {
        $("#btn-sim-1").hide();
        $.ajax(
            {
                type: "POST",
                url: "ddlSearBook.ashx",
                data: { immat: "1s1", ktype: cylindreId, yearCar: annee + "00" },
                dataType: "json",
                success: function(data) {
                    bindOptionResultsModelSearchBook(data, annee);
                    $("#loader").hide();
                    $("#btn-sim-1").show();
                }
            });
    }
}

function ReloadData() {
    if (annee == 0 && brandId == 0 && modelId == 0 && cylindreId == 0) {
        return;
    }
    $("#sim_etape1").hide();
    $("#main_loader").show();
    changePageBreadCrum();
    $.timer(1, function(timer) {
        $("#annee").val(annee);
        timer.stop();
        $.ajax(
            {
                type: "POST",
                url: "ddlBrands.ashx",
                data: { annee: annee },
                dataType: "json",
                success: function(data) {
                    bindOptionResultsBrandInt(data);
                }
            });
    });
}

function NonEligible() {
    i = 1;
    while (i <= etape) {
        $('#sim_etape' + i).hide();
        i++;
    }
    $("#etapeNonEligible_TextVehicule").html("");
    $("#etapeNonEligible_TextVehicule").append($('#brandId :selected').text() + " - ");
    $("#etapeNonEligible_TextVehicule").append($('#modelId :selected').text() + " - ");
    $("#etapeNonEligible_TextVehicule").append("Année " + $("#annee").val());
    $("#sim_etape5").show();
    // Xiti
    xt_med('F', '', 'Metiers_et_Services::Revision_Simulateur_Plan_Non');
    changePageBreadCrum(titles[idFormSim]);
    $("#main_loader").hide();
}

function bindQuestion() {
    var infoBox = $('#popupId');
    $(".NavRevi").find(".QuesOp").click(function(e) {
        infoBox.addClass("ShowInfo");
        infoBox.find(".Content").html($(this).parent().parent().find(".Info").html())
        infoBox.css({ left: (e.pageX - 25), top: (e.pageY - 22) });
        e.stopPropagation();
    })
    $("body").bind("click", function(e) {
        infoBox.removeClass("ShowInfo");
    });
}

function GetConstraints(data, annee) {
    $("#OptionsSpecifiques").html("");
    nbConstraints = 0;
    for (var k = 0; k < data.length; k++) {
        if (data[k].clef != "KDD") {
            nbConstraints++;
            var checkbox = $('<input>').attr({
                'name': 'accepteC' + k,
                'id': data[k].clef,
                'type': 'checkbox',
                'class': 'RadioStyle2',
                'tabindex': '77'
            });
            var el_p = $("<p>").attr({ 'class': 'OptionEtape Wrapper' });
            el_p.append(checkbox);

            var lib_cons = localResConstraints(data[k].clef)
            var el_span = $("<span>").attr({ 'class': 'Option' });
            el_span.append('<label class="Votre" for="' + data[k].clef + '">' + lib_cons + '</label>&nbsp;<a title="Question" class="QuesOp"><img src="../_images/icon-question.gif" width="12" height="14" alt="Question"/></a>');
            el_p.append(el_span);

            var el_spanInfo = $("<span>").attr({ 'class': 'Info' });
            el_spanInfo.append(localResLibConstraints(data[k].clef));
            el_p.append(el_spanInfo);

            $("#OptionsSpecifiques").append(el_p);
            if (eval(annee) >= 2000 && data[k].clef == "DE") {
                $("#" + data[k].clef).attr("checked", "checked");
                $("#" + data[k].clef).attr("disabled", "disabled");
            }
            bindQuestion();
        }
    }
}

function bindOptionResultsBrandInt(data) {
    ddlBrand = $("#brandId").html("");
    ddlBrand.append($("<option></option>").val('').html('Marque...'));
    for (var k = 0; k < data.BRAND.length; k++) {
        ddlBrand.append($("<option></option>").val(data.BRAND[k].brandId).html(trim(data.BRAND[k].brandName)));
    }
    $.timer(1, function(timer) {

        $("#brandId").val(brandId);
        timer.stop();
        $.ajax(
            {
                type: "POST",
                url: "ddlModels.ashx",
                data: { annee: annee, brandId: brandId },
                dataType: "json",
                success: function(data) {
                    bindOptionResultsModelInt(data);
                }
            });
    });
}

function bindOptionResultsModelInt(data) {
    $("#modelId").html("");
    ddlModel = $("#modelId").html("");
    ddlModel.append($("<option></option>").val('').html('Modèle...'));
    for (var k = 0; k < data.MODEL.length; k++) {
        ddlModel.append($("<option></option>").val(data.MODEL[k].modelId).html(data.MODEL[k].modelName));
    }
    $.timer(1, function(timer) {
        $("#modelId").val(modelId);
        timer.stop();
        $.ajax(
            {
                type: "POST",
                url: "ddlCylindre.ashx",
                data: { annee: annee, brandId: brandId, modelId: modelId },
                dataType: "json",
                success: function(data) {
                    bindOptionResultsModelCylindreInt(data);
                }
            });

    });

}

function bindOptionResultsModelCylindreInt(data) {
    $("#cylindreId").html("");
    ddlCylindre = $("#cylindreId").html("");
    ddlCylindre.append($("<option></option>").val('').html('Cylindrée...'));
    for (var k = 0; k < data.CYLINDRE.length; k++) {
        ddlCylindre.append($("<option></option>").val(data.CYLINDRE[k].cylindreId).html(data.CYLINDRE[k].cylindreName.split("(", 1) + " (" + data.CYLINDRE[k].cylindrePuissance + " ch)"));
    }
    $.timer(1, function(timer) {
        if (cylindreId > 0) {
            $("#cylindreId").val(cylindreId);
        }
        $("#sim_etape1").show();

        jQuery(".SelectUI").addSelectUI({
            scrollbarWidth: 15,
            maxDropListHeight: 300
        });
        timer.stop();

        //Cheat code $('#cylindreId :selected').text()
        $($("p", $("#annee").next())[0]).html(annee);
        $($("p", $("#brandId").next())[0]).html(trim($('#brandId :selected').text()));
        $($("p", $("#modelId").next())[0]).html(trim($('#modelId :selected').text()));
        $($("p", $("#cylindreId").next())[0]).html(trim($('#cylindreId :selected').text()));
        $("#sim_etape1").hide();
        if (k == 0) {
            NonEligible();
        }
        else { performSearchButton(); }
    });
}

function bindOptionResultsModelSearchBook(data, annee) {
    if (data.Collection[0].motors.length == 1) {
        motorID = data.Collection[0].motors[0].codeMoteur;
        jsonConstraints = data.Collection[0].constraints;
        GetConstraints(data.Collection[0].constraints, annee);
        HideAllSteps();
        $('#sim_etape' + idFormSim).show();
        changePageBreadCrum(titles[idFormSim]);
        $("#main_loader").hide();
    }
    else NonEligible();
}

function bindOptionResultsModelSearchPlan(data, KilometreAuCompteur, annee) {
    CarYear = annee;
    $("#plan").html("");
    $("#travaux").html("");
    $("#eml_Plan").html("");
    var nbControlDiesel = 0
    var nbControlEssence = 0
    var _pasKilometrique = data.plan[0].pasKilometrique;
    var pasKilometrique = (data.plan[0].pasKilometrique) / 2;
    var etapesSansHuile = data.plan[0].etapesSansHuile;

    if (KilometreAuCompteur <= etapesSansHuile[0].kilometrage) {
        k = 0;
    }
    else {
        for (var k = 0; k < etapesSansHuile.length; k++) {
            if (eval(etapesSansHuile[k].kilometrage) <= KilometreAuCompteur
				&& (k == (etapesSansHuile.length - 1) || eval(etapesSansHuile[k + 1].kilometrage) > KilometreAuCompteur)) {
                break;
            }
        }
        if (k < (etapesSansHuile.length - 1)) {
            var d1 = Math.abs(etapesSansHuile[k].kilometrage - KilometreAuCompteur);
            var d2 = Math.abs(etapesSansHuile[k + 1].kilometrage - KilometreAuCompteur);
            if (d1 >= d2) k++;
        }
    }

    var matelas = etapesSansHuile[k].matelasEuros;
    montantPlan = etapesSansHuile[k].paddedPrice;
    montantPlan = montantPlan.replace(".0", "");
    var kilometrage = etapesSansHuile[k].kilometrage;
    var typehuile = data.plan[0].huile.libelle;
    $("#nbKm").html("");
    $("#nbKm").append(kilometrage);
    $("#eml_nbKm").html("");
    $("#eml_nbKm").append(kilometrage);
    $("#etape4R_text_KmAnnual").html("");
    $("#etape4R_text_KmAnnual").append(kilometrage);

    for (var j = 0; j < etapesSansHuile[k].lignesEtape.length; j++) {
        var labelElement = etapesSansHuile[k].lignesEtape[j].label;
        var clefGroupe = etapesSansHuile[k].lignesEtape[j].clefGroupe;
        var codeElement = etapesSansHuile[k].lignesEtape[j].codeElement;
        if (clefGroupe != "HORSPEP") {
            if (clefGroupe != "CONTROLE") {
                if (codeElement == "9410" || codeElement == "9438" || codeElement == "9420" || codeElement == "9439") {
                    $("#plan").append("<li>" + localResPlan(codeElement) + " " + typehuile + "</li>");
                    $("#eml_Plan").append("&bull; " + localResPlan(codeElement) + " " + typehuile + "<br />");
                } else {
                    $("#plan").append("<li>" + localResPlan(codeElement) + "</li>");
                    $("#eml_Plan").append("&bull; " + localResPlan(codeElement) + "<br />");
                }
            } else {
                if (codeElement == "9481" || codeElement == "9482" || codeElement == "9483") {
                    nbControlDiesel++;
                }
                if (codeElement == "9477" || codeElement == "9478" || codeElement == "9479") {
                    nbControlEssence++;
                }
            }           
        }
        else {
            var result;
            var AnneeVehicule;
            var cycleCourroie;
            if (codeElement == "COURROIE") {
                cycleCourroie = etapesSansHuile[k].lignesEtape[j].cycle;
                result = cycleCourroie * _pasKilometrique;
                if (KilometreAuCompteur > result)
                    $("#travaux").append("<li>" + labelElement + "</li>");
            }
            if (codeElement == "TPS_COURROIE") {
                cycleCourroie = etapesSansHuile[k].lignesEtape[j].cycle
                result = cycleCourroie / 12;
                AnneeVehicule = eval(annee) + eval(result);
                if (AnneeVehicule < CurrentYear)
                    $("#travaux").append("<li>" + labelElement + "</li>");
            }
            if (codeElement == "CLIM") {
                var cycleClim = etapesSansHuile[k].lignesEtape[j].cycle
                AnneeVehicule = eval(annee) + eval(cycleClim);
                if (AnneeVehicule < CurrentYear)
                    $("#travaux").append("<li>" + labelElement + "</li>");
            }
        }
    }
    switch (nbControlDiesel) {
        case 1:
            $("#plan").append("<li>" + localResPlan("Et1") + "</li>");
            $("#eml_Plan").append("&bull; " + localResPlan("Et1") + "<br />");
            break;
        case 2:
            $("#plan").append("<li>" + localResPlan("Et2") + "</li>");
            $("#eml_Plan").append("&bull; " + localResPlan("Et2") + "<br />");
            break;
        case 3:
            $("#plan").append("<li>" + localResPlan("Et3") + "</li>");
            $("#eml_Plan").append("&bull; " + localResPlan("Et3") + "<br />");
            break;
    }

    switch (nbControlEssence) {
        case 1:
            $("#plan").append("<li>" + localResPlan("Et1") + "</li>");
            $("#eml_Plan").append("&bull; " + localResPlan("Et1") + "<br />");
            break;
        case 2:
            $("#plan").append("<li>" + localResPlan("Et2") + "</li>");
            $("#eml_Plan").append("&bull; " + localResPlan("Et2") + "<br />");
            break;
        case 3:
            $("#plan").append("<li>" + localResPlan("Et3") + "</li>");
            $("#eml_Plan").append("&bull; " + localResPlan("Et3") + "<br />");
            break;
    }
    HideAllSteps();
    $('#sim_etape' + idFormSim).show();
    changePageBreadCrum(titles[idFormSim])

    Prix = eval(montantPlan);
    $("#prix").html("");
    $("#prix").append(montantPlan);
}

function generateEmail() {
    for (i = 1; i <= 3 && $('input[id=radList' + i + ']').attr("checked") == false; i++);
    if (i != 4) {
        $("#radListErr").html("");
        $("#eml_Civilite").html("");
        $("#eml_Civilite").append($('input[id=radList' + i + ']').attr("value"));
        var _name = $('input[id=input_Name]').attr("value");
        var _email = $('input[id=input_Email]').attr("value");

        var _name0 = _name.substring(0, 1);
        _name = _name0.toUpperCase() + _name.substring(1, _name.length).toLocaleLowerCase();

        $("#eml_Name").html("");
        $("#eml_Name").append(_name);

        var oui = $('input[id=chkReceive1]').attr("checked");
        var non = $('input[id=chkReceive2]').attr("checked");

        if (_name == "Nom" || _name == "") {
            $("#NameErr").html("");
            $("#NameErr").append("Le nom est obligatoire.");
        } else if (isEmailSim(_email) == false) {
            $("#EmailErr").html("");
            $("#EmailErr").append("L'e-mail saisi n'est pas valide.");
        } else if (oui == false && non == false) {
            $("#EmailErr").html("");
            $("#chkReceiveErr").html("");
            $("#chkReceiveErr").append("Merci de préciser si vous souhaitez recevoir des offres commerciales par email.");
        } else {
            $("#EmailErr").html("");
            $("#chkReceiveErr").html("");
            $.ajax(
                {
                    type: "POST",
                    url: "SendEmail.ashx",
                    data: {
                        sUserCiv: $('input[id=radList' + i + ']').attr("value"),
                        sUserName: $('input[id=input_Name]').attr("value"),
                        sUserEmail: $('input[id=input_Email]').attr("value"),
                        sUseroptin: oui,
                        CarYear: CarYear,
                        kType: kType,
                        motorID: motorID,
                        Brand: Brand,
                        Model: Model,
                        Cylindree: Cylindree,
                        CarDescription: CarDescription,
                        usage: usage,
                        KilometreAuCompteur: KilometreAuCompteur,
                        AnnualCompteur: AnnualCompteur,
                        nbKm: $("#nbKm").html(),
                        Prix: Prix,
                        Provenance: "site web",
                        divEmail: $("#div_hidden").html()
                    },
                    dataType: "html"
                });
            // Xiti
            xt_med('F', '', 'Metiers_et_Services::Revision_Simulateur_Envoi_Email_Validation');
            tb_remove();
            setTimeout(function() {
                tb_show('', 'TB_inline?height=260&width=415&inlineId=confirmEmai&modal=true', null);
                //tracking('Metiers_et_Services::Revision_Simulateur_Popup_Confirm_Email');
            },
            1000);

            xt_med('F', '', 'Metiers_et_Services::Revision_Simulateur_Popup_Confirm_Email');
        }
    } else {
        $("#radListErr").html("");
        $("#radListErr").append("Merci de préciser votre civilité.");
    }
    return false;
}

function GetMidasCenter() {
    $("#ListRevision").html("");
    if (isNumeric($('input[id=codpos]').attr("value"))) {
        $("#ListRevision_loader").show();
        $.ajax(
                {
                    type: "POST",
                    url: "GetMidasCentre.ashx",
                    data: { codpos: $("#codpos").val() },
                    dataType: "html",
                    success: function(data) {
                        bindResultsCenter(data);
                        $("#ListRevision_loader").hide();
                        // Xiti
                        xt_med('F', '', 'Metiers_et_Services::Revision_Simulateur_Liste_Centres_Validation');
                    }
                });
    }
    else {
        $("#ListRevision").append("Saisir un code département.");
    }
}

function bindResultsCenter(data) {
    $("#ListRevision").html("");
    if (data.length != 0) {
        $("#ListRevision").append(data);
    }
    else {
        $("#ListRevision").append("Aucun centre agrée et équipé LA Révision dans ce département.");
    }
}

$(document).ready(function() {
    
    SetCookieProvenance();
    HideAllSteps();

    $("#loader").hide();
    $("#ListRevision_loader").hide();
    $(".BtnSavoir").bind("click", function() {
        var self = $(this);
        if (!$("#boxAns").hasClass("Show")) {
            $("#boxAns").addClass("Show"); riptio
            self.removeClass("DownStyle");
        }
        else {
            $("#boxAns").removeClass("Show");
            self.addClass("DownStyle");
        }
    });

    //InitializeWizard
    var i = 1;
    while (i <= etape) {
        if (i != etapeDefault) {
            $('#sim_etape' + i).hide();
        }
        else {
            $('#sim_etape' + i).show();
            changePageBreadCrum(titles[idFormSim]);
        }
        i++;
    }

    $('.btn').click(function() {

        idFormSim = parseInt(this.id.split('btn-sim-')[1]) + 1;
        //TO STEP 2 --
        if (idFormSim == 2) {
            $("#etap2_Eligible_TextVehicule").html("");
            $("#etap2_Eligible_TextVehicule").append($('#brandId :selected').text() + " - ");
            $("#etap2_Eligible_TextVehicule").append($('#modelId :selected').text() + " - ");
            $("#etap2_Eligible_TextVehicule").append($('#cylindreId :selected').text() + " - ");
            $("#etap2_Eligible_TextVehicule").append("Année " + $("#annee").val());

            //var annee = $("#annee > option[selected]").attr("value");
            var anneeObj = $("#annee option:selected");
            var annee = anneeObj.val();

            //var brandId = $("#brandId > option[selected]").attr("value");
            var brandIdObj = $("#brandId option:selected");
            var brandId = brandIdObj.val();

            //var modelId = $("#modelId > option[selected]").attr("value");
            var modelIdObj = $("#modelId option:selected");
            var modelId = modelIdObj.val();

            //var ktype = $("#cylindreId > option[selected]").attr("value"); var xxx = $("#cylindreId option:selected"); alert('ktype: ' + ktype + ' and xxx: ' + xxx + ' and its value is: ' + xxx.val());
            var ktypObj = $("#cylindreId option:selected");
            var ktype = ktypObj.val();

            if (annee != 0 && brandId != 0 && modelId != 0 && ktype != 0) {
                $("#main_loader").show();
                $("#sim_etape1").hide();
                $("#btn-sim-1").hide();
                $.ajax(
                    {
                        type: "POST",
                        url: "ddlSearBook.ashx",
                        data: { immat: "1s1", ktype: ktype, yearCar: annee + "00" },
                        dataType: "json",
                        success: function(data) {
                            bindOptionResultsModelSearchBook(data, annee);
                            $("#loader").hide();
                            $("#btn-sim-1").show();
                            // Xiti
                            xt_med('F', '', 'Metiers_et_Services::Revision_Simulateur_Etape1_Validation');
                        }
                    });
            }
        }
        //TO STEP 3 --
        if (idFormSim == 3) {
            if (validateForm() == 0) {
                $("#etape3_loader").hide();
                cnt_usage = 0;
                for (var i = 0; i <= 3; i++) {
                    var var_name = $('input[name=accepte' + i + ']').serializeArray()[0].value;
                    cnt_usage = parseInt(cnt_usage) + parseInt(var_name);
                }
                $("#etap3_Eligible_TextVehicule").html("");
                $("#etap3_Eligible_TextVehicule").append($('#brandId :selected').text() + " - ");
                $("#etap3_Eligible_TextVehicule").append($('#modelId :selected').text() + " - ");
                $("#etap3_Eligible_TextVehicule").append($('#cylindreId :selected').text() + " - ");
                $("#etap3_Eligible_TextVehicule").append("Année " + $("#annee").val());
                $("#etape3_text_KmAuCompteur").html("");
                $("#etape3_text_KmAuCompteur").append($("#KmAuCompteur").attr("value"));
                $("#etape3_text_KmAnnual").html("");
                $("#etape3_text_KmAnnual").append($("#KmAnnual").attr("value"));
                $("#etape3_typeUsage").html("");
                if (cnt_usage == 0) {
                    usage = 78;
                    $("#etape3_typeUsage").append("normal");
                } else {
                    usage = 83;
                    $("#etape3_typeUsage").append("urbain");
                }
                HideAllSteps();
                $('#sim_etape' + idFormSim).show();
                changePageBreadCrum(titles[idFormSim]);
                // Xiti
                xt_med('F', '', 'Metiers_et_Services::Revision_Simulateur_Etape2_Validation');

            }
        }
        //TO STEP 4 --
        if (idFormSim == 4) {

            $("#etape3_loader").show();
            cnt_usage = 0;
            for (i = 0; i <= 3; i++) {
                var_name = $('input[name=accepte' + i + ']').serializeArray()[0].value;
                cnt_usage = parseInt(cnt_usage) + parseInt(var_name);
            }
            KilometreAuCompteur = $("#KmAuCompteur").attr("value");
            AnnualCompteur = $("#KmAnnual").attr("value");

            $("#eml_Car").html("");
            $("#eml_Car").append($('#brandId :selected').text() + " " + $('#modelId :selected').text());

            $("#eml_Cyl").html("");
            $("#eml_Cyl").append($('#cylindreId :selected').text());

            $("#eml_CarYear").html("");
            $("#eml_CarYear").append($('#annee :selected').text());

            $("#eml_KmCompteur").html("");
            $("#eml_KmCompteur").append($("#KmAuCompteur").val());

            $("#eml_KmAnnual").html("");
            $("#eml_KmAnnual").append($("#KmAnnual").val());

            Brand = $('#brandId :selected').text();

            Model = $('#modelId :selected').text();

            Cylindree = $('#cylindreId :selected').text()

            $("#etap4_Eligible_TextVehicule").html("");
            $("#etap4_Eligible_TextVehicule").append($('#brandId :selected').text() + " - ");
            $("#etap4_Eligible_TextVehicule").append($('#modelId :selected').text() + " - ");
            $("#etap4_Eligible_TextVehicule").append($('#cylindreId :selected').text());
            CarDescription = $("#etap4_Eligible_TextVehicule").html();
            $("#etap4_Eligible_TextVehicule").append(" - Année " + $("#annee").val());

            $("#etape4_text_KmAuCompteur").html("");
            $("#etape4_text_KmAuCompteur").append($("#KmAuCompteur").attr("value"));

            $("#etape4_text_KmAnnual").html("");
            $("#etape4_text_KmAnnual").append($("#KmAnnual").attr("value"));
            $("#eml_Usage").html("");
            $("#etape4_typeUsage").html("");

            if (cnt_usage == 0) {
                usage = 78;
                $("#etape4_typeUsage").append("normal");
                $("#eml_Usage").append("normal");
            } else {
                usage = 83;
                $("#etape4_typeUsage").append("urbain");
                $("#eml_Usage").append("urbain")
            }

            $("#eml_OptionsSpecifiques").html("");
            $("#etape4_text_OptionsSpecifiques").html("");
            for (i = 0; i < nbConstraints; i++) {
                var var_nameC = $('input[name=accepteC' + i + ']').attr("checked");
                var var_IDC = $('input[name=accepteC' + i + ']').attr("id");
                if (jsonConstraints[i].clef == var_IDC && jsonConstraints[i].clef != "KDD") {
                    if (var_nameC == true) {
                        $("#etape4_text_OptionsSpecifiques").append("- " + localResConstraints(jsonConstraints[i].clef).split("<br />", 1) + "<br />");
                        $("#eml_OptionsSpecifiques").append("&bull;&nbsp;&nbsp;" + localResConstraints(jsonConstraints[i].clef).split("<br />", 1) + "<br />");
                        jsonConstraints[i].reponse = 1;
                    }
                    else {
                        jsonConstraints[i].reponse = 0;
                    }
                }
            }

            $.ajax(
                    {
                        type: "POST",
                        url: "ddlSearchPlan.ashx",
                        data: {
                            yearCar: $("#annee").val() + "00",
                            carnet: 0,
                            immat: "1s1",
                            jsonConstraints: JSONtoString(jsonConstraints),
                            ktype: $("#cylindreId").val(),
                            motor: motorID,
                            usage: usage
                        },
                        dataType: "json",
                        success: function(data) {
                            kType = $("#cylindreId").val();
                            // Xiti
                            xt_med('F', '', 'Metiers_et_Services::Revision_Simulateur_Etape3_Validation');
                            bindOptionResultsModelSearchPlan(data, KilometreAuCompteur, $("#annee").val());
                            // Xiti
                            xt_med('F', '', 'Metiers_et_Services::Revision_Simulateur_Plan_Resultat');
                        }
                    });
        }
    });
    $('.btn-prev').click(function() {
        i = 1;
        while (i <= etape) {
            $('#sim_etape' + i).hide();
            i++;
        }
        var idFormSim = parseInt(this.id.split('btn-sim-prev')[1]) - 1;
        $('#sim_etape' + idFormSim).show();
        $('etape3_loader' + idFormSim).hide();
        changePageBreadCrum(titles[idFormSim]);
        $("#etape3_loader").hide();
    });
    $('.btn-prev-first').click(function() {
        i = 1;
        while (i <= etape) {
            $('#sim_etape' + i).hide();
            i++;
        }
        $('#sim_etape1').show();
        changePageBreadCrum(titles[idFormSim]);
    });
    $('.btn-prev-sec').click(function() {
        i = 1;
        while (i <= etape) {
            $('#sim_etape' + i).hide();
            i++;
        }
        $('#sim_etape2').show();
        changePageBreadCrum(titles[idFormSim]);
    });
    InitializeddlYear();
    InitializeInput();
    InitializeCombo();
    InitializeRadio();
    ReloadData();
});


function SetCookieProvenance() {
    if ($.urlParam("provenance") != null & $.urlParam("provenance") != '') {
        //get value from querystring
        var provenance = $.urlParam("provenance");

        //set cookie
        $.cookie("MidasProvenance", provenance);
    }
}

//Get QueryString From URL
$.urlParam = function(name) {
    var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(window.location.href);
    if (!results) { return 0; }
    return results[1] || 0;
}

/**
* Get the value of a cookie with the given name.
*
* @example $.cookie('the_cookie');
* @desc Get the value of a cookie.
*
* @param String name The name of the cookie.
* @return The value of the cookie.
* @type String
*
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};