﻿var istemplate = false;
var tranche = 0;
var parametres = null;
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
var myMois = new Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
function changeAnnee() {
    var annee = $(".cbannee").val();
    var mois = $("#cbmois").val();
    $("#cbmois >options").remove();
    $('#cbmois')[0].options.length = 0;
    if (parseInt(annee) > year) {
        for (var i = 0; i < myMois.length; i++) {
            $("#cbmois").append($("<option></option>").val(i + 1).html(myMois[i]));
        }
    } else {
        var currentMois = month;

            currentMois += 1;
            if (currentMois > 12) {
                var myA = parseInt(annee) + 1;
                $('.cbannee option').each(function () {
                    if (this.value == myA) {
                        $(".cbannee").val(myA);
                        changeAnnee();
                    }
                });
                currentMois = 12;
            }

        for (var i = currentMois - 1; i < myMois.length; i++) {
            $("#cbmois").append($("<option></option>").val(i + 1).html(myMois[i]));
        }
    }
    changeMois();
}
function changeMois() {
    var mois = $("#cbmois").val();
    $("#" + GetObj('txtMois')).val(mois);

}
function AfficheInfoAdultes(obj) {
    switch (obj.value) {
        case '0':
            jQuery("#tradulte1").hide();
            jQuery("#tradulte2").hide();

            break;
        case '1':
            jQuery("#tradulte1").show();
            jQuery("#tradulte2").hide();

            break;
        case '2':
            jQuery("#tradulte1").show()
            jQuery("#tradulte2").show();

            break;
    }
}
function AfficheInfoEnfants(obj) {
    switch (obj.value) {
        case '0':
            jQuery("#trenfant1").hide();
            jQuery("#trenfant2").hide();
            jQuery("#trenfant3").hide();
            jQuery("#trenfant4").hide();
            break;
        case '1':
            jQuery("#trenfant1").show();
            jQuery("#trenfant2").hide();
            jQuery("#trenfant3").hide();
            jQuery("#trenfant4").hide();
            break;
        case '2':
            jQuery("#trenfant1").show();
            jQuery("#trenfant2").show();
            jQuery("#trenfant3").hide();
            jQuery("#trenfant4").hide();
            break;
        case '3':
            jQuery("#trenfant1").show();
            jQuery("#trenfant2").show();
            jQuery("#trenfant3").show();
            jQuery("#trenfant4").hide();
            break;
        case '4':
            jQuery("#trenfant1").show();
            jQuery("#trenfant2").show();
            jQuery("#trenfant3").show();
            jQuery("#trenfant4").show();
            break;
    }
}

jQuery(document).ready(function () {
    changeAnnee();
    jQuery("#dialogFcmi").dialog({ autoOpen: false, bgiframe: true, modal: true, width: 680, closeOnEscape: false, position: ['center', 40],
        resizable: false
    });

    jQuery('#btnCloseFcmi').bind('click', (function(event) {
        jQuery("#dialogFcmi").dialog("close");
    }));
    jQuery("#dialog").dialog({ autoOpen: false, bgiframe: true, modal: true, width: 680, closeOnEscape: false, position: ['center', 40],
        resizable: false
    });




    jQuery('#BtnDialogClose').bind('click', (function(event) {
        jQuery("#dialog").dialog("close");
    }));


    jQuery('#btnSimulation').bind('click', (function(event) {
        getSimulateurResultat(GetObj('cbacte'), 'cbprestation', 'cbtranche', 'depense', 'lcbacte', 'lcbprestation', 'lcbtranche', 'ldepense', 'SMO');

    }));

    jQuery('#' + GetObj('cbacte')).bind('change', (function(event) {
        $get("resultatsimulateur").innerHTML = "";
        getPrestations(this.id, 'cbprestation');
    }));

    jQuery('#cbprestation').bind('change', (function(event) {
        $get("resultatsimulateur").innerHTML = "";
    }));
    jQuery('#cbtranche').bind('change', (function(event) {
        $get("resultatsimulateur").innerHTML = "";
    }));

    jQuery('#depense').bind('click', (function(event) { this.select() })).bind('blur', (function(event) {
        $get("resultatsimulateur").innerHTML = "";
        TestDecimal('depense', 2, 'ldepense')
    }));


    jQuery('#BtnAppelSimulation').bind('click', (function(event) {
        $get(GetObj('btnPopupSimulateur')).click();
        return false;
    }));


    var datedujour = new Date();
    trancheAdulte = parseInt(datedujour.getFullYear() - 100) + ":" + parseInt(datedujour.getFullYear() - 65);
    trancheEnfant = parseInt(datedujour.getFullYear() - 26) + ":" + parseInt(datedujour.getFullYear());

    jQuery('#' + GetObj('dnadulte1')).bind('blur', { err: GetObj('err_dnadulte1') }, (function(event) {
        if (this.value == '') return HideTemplate();
        if (TestDate(this.id, event.data.err, "Date incorrecte (JJ/MM/AAAA)")) {
            if (!CalculAgeAdulte()) return HideTemplate();
            /*
            if (!IsAgeCorrectAdulte(this.value, event.data.err)) {
            return HideTemplate();
            }*/
            $('#dumadulte1').val(this.value);
            clearModule();
            getTemplate();
        }
        else
            return HideTemplate();
    }));


    jQuery('#' + GetObj('dnadulte2')).bind('blur', { err: GetObj('err_dnadulte2') }, (function(event) {
        if (this.value == '') return HideTemplate();
        if (TestDate(this.id, event.data.err, "Date incorrecte (JJ/MM/AAAA)")) {
            if (!CalculAgeAdulte()) return HideTemplate();
            /*
            if (!IsAgeCorrectAdulte(this.value, event.data.err)) {
            return HideTemplate();
            }*/
            $('#dumadulte2').val(this.value);
            clearModule();
            getTemplate();
        }
        else
            return HideTemplate();
    }));



    jQuery('#' + GetObj('dnenfant1')).bind('blur', { err: GetObj('err_dnenfant1') }, (function(event) {
        if (this.value == '') return HideTemplate();
        if (TestDate(this.id, event.data.err, "Date incorrecte (JJ/MM/AAAA)")) {
            if (!IsAgeCorrectEnfant(this.value, event.data.err)) {
                return HideTemplate();
            }
            $('#dumenfant1').val(this.value);
            clearModule();
            getTemplate();
        }
        else
            return HideTemplate();
    }));

    jQuery('#' + GetObj('dnenfant2')).bind('blur', { err: GetObj('err_dnenfant2') }, (function(event) {
        if (this.value == '') return HideTemplate();
        if (TestDate(this.id, event.data.err, "Date incorrecte (JJ/MM/AAAA)")) {
            if (!IsAgeCorrectEnfant(this.value, event.data.err)) {
                return HideTemplate();
            }
            $('#dumenfant2').val(this.value);
            clearModule();
            getTemplate();
        }
        else
            return HideTemplate();
    }));

    jQuery('#' + GetObj('dnenfant3')).bind('blur', { err: GetObj('err_dnenfant3') }, (function(event) {
        if (this.value == '') return HideTemplate();
        if (TestDate(this.id, event.data.err, "Date incorrecte (JJ/MM/AAAA)")) {
            if (!IsAgeCorrectEnfant(this.value, event.data.err)) {
                return HideTemplate();
            }
            $('#dumenfant3').val(this.value);
            clearModule();
            getTemplate();
        }
        else
            return HideTemplate();
    }));

    jQuery('#' + GetObj('dnenfant4')).bind('blur', { err: GetObj('err_dnenfant4') }, (function(event) {
        if (this.value == '') return HideTemplate();
        if (TestDate(this.id, event.data.err, "Date incorrecte (JJ/MM/AAAA)")) {
            if (!IsAgeCorrectEnfant(this.value, event.data.err)) {
                return HideTemplate();
            }
            $('#dumenfant4').val(this.value);
            clearModule();
            getTemplate();
        }
        else
            return HideTemplate();
    }));




    $('input').enablePlaceholder();
    createPlayer();

})
function CalculAgeAdulte() {
    //return true;

    /*
    var mini = 65;
    var maxi = 190;
    var annee = GetAnneeSelectionnee();
    var datedujour = new Date();
    var dateRef;
    if (annee == datedujour.getFullYear())
        dateRef = GetMoisSuivant();
    else
        dateRef = '01/01/' + annee;
    var tdateRef = dateRef.split('/');
    dateRef = new Date(tdateRef[2], tdateRef[1], tdateRef[0]);
    */



    dateRef1 = "01/" + (parseInt($("#cbmois").val()) < 10 ? "0" + $("#cbmois").val() : $("#cbmois").val()) + "/" + $(".cbannee").val();
    var tdateRef = dateRef1.split('/');
    dateRef = new Date(tdateRef[2], parseInt(tdateRef[1]) - 1, tdateRef[0]);




    var nb = $get(GetObj('cbadultes')).value;

    if (parseInt(nb) == 1) {
        var adulte1 = $get(GetObj('dnadulte1')).value;
        if (!CalculAgeV3(adulte1, dateRef1, 65, 999, GetObj('err_dnadulte1'), "L'adulte doit être âgé entre 65 et 74 ans")) {
            HideTemplate();
            $("#dialogFcmi").dialog("open");
            return false;
        }
        return true;





        /*
        var tdate1 = adulte1.split('/');
        var date1 = new Date(tdate1[2], tdate1[1], tdate1[0]);
        var age = dateRef.getFullYear() - date1.getFullYear();
        date1.setFullYear(dateRef.getFullYear());
        if (date1 > dateRef) age--;
        if (age < mini || age > maxi) {
            var msg = "";
            if (age < mini) {
                jQuery("#dialogFcmi").dialog("open");
                return false;
            }
            if (age > maxi) {
                jQuery("#dialogFcmi").dialog("open");
                return false;
            }

        }
        else {
            return true;
        }
        */

    } else {
        var adulte1 = $get(GetObj('dnadulte1')).value;
        var adulte2 = $get(GetObj('dnadulte2')).value;

        if (adulte1 == "" || adulte2 == "") return false;
        var isAdulte1Ok = CalculAgeV3(adulte1, dateRef1, 65, 999, GetObj('err_dnadulte1'), "L'adulte doit être âgé entre 65 et 74 ans");
        var isAdulte2Ok = CalculAgeV3(adulte2, dateRef1, 65, 999, GetObj('err_dnadulte1'), "L'adulte doit être âgé entre 65 et 74 ans");

        if (!isAdulte1Ok && !isAdulte2Ok) {
            HideTemplate();
            $("#dialogFcmi").dialog("open");
            return false;
        }

        return true;




        /*
        var tdate1 = adulte1.split('/');
        var tdate2 = adulte2.split('/');
        var date1 = new Date(tdate1[2], tdate1[1], tdate1[0]);
        var age1 = dateRef.getFullYear() - date1.getFullYear();
        date1.setFullYear(dateRef.getFullYear());
        if (date1 > dateRef) age1--;

        var date2 = new Date(tdate2[2], tdate2[1], tdate2[0]);
        var age2 = dateRef.getFullYear() - date2.getFullYear();
        date2.setFullYear(dateRef.getFullYear());
        if (date2 > dateRef) age2--;
        if ((age1 < mini || age2 < mini) || (age1 > maxi || age2 > maxi)) {
            jQuery("#dialogFcmi").dialog("open");
            return false;
        }


        return true;
        */

    }
    

}


function IsAgeCorrectAdulte(obj, err) {
    if (!CalculAge(obj, '', GetAnneeSelectionnee(), 65, 120, err, "L'adulte doit avoir 65 ans ou plus")) {
        jQuery("#dialogFcmi").dialog("open");
    }

    return;

}

function IsAgeCorrectEnfant(obj, err) {
    if (CalculAge(obj, '', GetAnneeSelectionnee(), 0, 26, err, "L'enfant doit être âgé entre 0 et 26 ans")) {
        return IsDateInferieure(obj, err, "L'enfant doit être déjà né");

    } else {
        return false;
    }
}

function createPlayer() {
    var so1 = new SWFObject("flash/player.swf", "jstest1", "240", "180", "9", "#FFFFFF");
    so1.addParam("allowfullscreen", "true");
    so1.addParam("allownetworking", "all");
    so1.addParam("allowscriptaccess", "always");
    so1.addParam("wmode", "transparent");
    so1.addParam("flashvars", "file=gifimismo.flv&image=flash/previewsgifimi.jpg&icons=false&stretching=exactfit");
    so1.write('player1');
}
function GetAnneeSelectionnee() {
    var annee = $get(GetObj('cbannee')).value;
    if (annee = '0') {
        var datedujour = new Date();
        annee = datedujour.getFullYear();
    }
    return annee;
}
function getSimulateurResultat(cbacte, cbprestation, cbtranche, depense, lcbacte, lcbprestation, lcbtranche, ldepense, produit) {
    var isNotOk = false;
    if (!TestComboLabel(cbacte, lcbacte)) isNotOk = true;
    if (!TestComboLabel(cbprestation, lcbprestation)) isNotOk = true;
    if (!TestComboLabel(cbtranche, lcbtranche)) isNotOk = true;
    if (!TestDecimal(depense, 2, ldepense)) isNotOk = true;
    if (isNotOk) return;
    wsmetier.GetSimulateurResultat(produit, $get(cbtranche).value, $get(cbprestation).value, $get(depense).value, onGetSimulateurResultat, OnAjaxError, cbprestation);
}
function onGetSimulateurResultat(arg, context, methodName) {
    if (arg != null && arg != '')
        $get("resultatsimulateur").innerHTML = arg;
    else
        $get("resultatsimulateur").innerHTML = "";
}


function getPrestations(cbgroupe, cbprestation) {
    var groupeid = $get(cbgroupe).value;

    if (groupeid != '0')
        wsmetier.GetPrestationsParGroupeID(groupeid, onGetPrestations, OnAjaxError, cbprestation);
    else
        DropDownVide(cbprestation, "0", "Sélectionnez un acte médical")

}
function onGetPrestations(arg, context, methodName) {
    if (arg != null && arg != '')
        DropDownAjoute(context, arg, 'Key', 'Value', '0', 'Choisissez une prestation');
    else {
        DropDownVide(context, "0", "Aucune prestation disponible")
    }
}




function setAdhesion(mois) {
    if (mois != undefined) {
        $('#cbmois').val(mois);
    }
    AfficheInfoAdultes($get(GetObj('cbadultes')));
    getTemplate();
}


function getTemplate() {
    if (!CalculAgeAdulte()) return HideTemplate();
    var wsdnaissance;
    var nbadultes = $get(GetObj('cbadultes')).value;
    var wsannee = $get(GetObj('cbannee')).value;
    var wsmois = $('#cbmois').val();
    if (nbadultes == '0' || wsannee == '0') return HideTemplate();
    switch (nbadultes) {
        case '1':
            wsdnaissance = $get(GetObj('dnadulte1')).value + "|";
            break;
        case '2':
            wsdnaissance = $get(GetObj('dnadulte1')).value + "|" + $get(GetObj('dnadulte2')).value;
            break;
    }



    switch (nbadultes) {
        case "1":
            if (!IsDateOk(GetObj('dnadulte1'))) return HideTemplate();
            break;
        case "2":
            if (!IsDateOk(GetObj('dnadulte1'))) return HideTemplate();
            if (!IsDateOk(GetObj('dnadulte2'))) return HideTemplate();
            break;
    }
    switch ($get(GetObj('cbenfants')).value) {
        case "1":
            if (!IsDateOk(GetObj('dnenfant1'))) return HideTemplate();
            if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant1')).val(), GetObj('err_dnenfant1'))) return HideTemplate();

            break;
        case "2":
            if (!IsDateOk(GetObj('dnenfant1'))) return HideTemplate();
            if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant1')).val(), GetObj('err_dnenfant1'))) return HideTemplate();
            if (!IsDateOk(GetObj('dnenfant2'))) return HideTemplate();
            if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant2')).val(), GetObj('err_dnenfant2'))) return HideTemplate();
            break;
        case "3":
            if (!IsDateOk(GetObj('dnenfant1'))) return HideTemplate();
            if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant1')).val(), GetObj('err_dnenfant1'))) return HideTemplate();
            if (!IsDateOk(GetObj('dnenfant2'))) return HideTemplate();
            if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant2')).val(), GetObj('err_dnenfant2'))) return HideTemplate();
            if (!IsDateOk(GetObj('dnenfant3'))) return HideTemplate();
            if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant3')).val(), GetObj('err_dnenfant3'))) return HideTemplate();
            break;
        case "4":
            if (!IsDateOk(GetObj('dnenfant1'))) return HideTemplate();
            if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant1')).val(), GetObj('err_dnenfant1'))) return HideTemplate();
            if (!IsDateOk(GetObj('dnenfant2'))) return HideTemplate();
            if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant2')).val(), GetObj('err_dnenfant2'))) return HideTemplate();
            if (!IsDateOk(GetObj('dnenfant3'))) return HideTemplate();
            if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant3')).val(), GetObj('err_dnenfant3'))) return HideTemplate();
            if (!IsDateOk(GetObj('dnenfant4'))) return HideTemplate();
            break;
    }

    wsmetier.SmoGetTemplate(wsmois,wsannee, wsdnaissance, onGetTemplate, OnAjaxError);
}
function onGetTemplate(arg) {
    if (arg == null) return;
/*
    $get("zonetemplate").innerHTML = arg.Template;
    jQuery("#templatecontainer").show();
    istemplate = true;

    var module1 = $get(GetObj('module1')).value;
    var module2 = $get(GetObj('module2')).value;
    var module3 = $get(GetObj('module3')).value;
    if (module1 != '') $get('ck' + module1).checked = true;
    if (module2 != '') $get('ck' + module2).checked = true;
    if (module3 != '') $get('ck' + module3).checked = true;
    $get("legende").innerHTML = "";
    if (parseFloat(arg.CotRegionale) != 0 && parseFloat(arg.CotFederale) != 0) {
        $get("legende").innerHTML = "Votre premier versement sera majoré du montant de la cotisation fédérale annuelle (" + arg.CotFederale.toFixed(2) + " &euro;) ainsi que du montant des frais d'admission (" + arg.CotRegionale.toFixed(2) + " &euro;).";
    }
    if (parseFloat(arg.CotRegionale) == 0 && parseFloat(arg.CotFederale) != 0) {
        $get("legende").innerHTML = "Votre premier versement sera majoré du montant de la cotisation fédérale annuelle (" + arg.CotFederale.toFixed(2) + " &euro;).";
    }
    if (parseFloat(arg.CotRegionale) != 0 && parseFloat(arg.CotFederale) == 0) {
        $get("legende").innerHTML = "Votre premier versement sera majoré des frais d'admission (" + arg.CotRegionale.toFixed(2) + " &euro;).";
    }
    $get('lnkpdf').href = arg.Pdf;
    getModule();
*/
    tranche = arg.Tranche;
    if (arg.IsSwitch) {
        var adulte1 = $get(GetObj('dnadulte1')).value;
        var adulte2 = $get(GetObj('dnadulte2')).value;
        $get(GetObj('dnadulte1')).value = adulte2;
        $get(GetObj('dnadulte2')).value = adulte1;
    }


    $get(GetObj('Tranche')).value = tranche;
    
    $get(GetObj('CodeProduit')).value=arg.Produit;
    $get(GetObj('LibelleProduit')).value=arg.NomProduit;    
    $get("zonetemplate").innerHTML = arg.Template;
    jQuery("#templatecontainer").show();
    istemplate = true;
    var module1 = $get(GetObj('module1')).value;
    var module2 = $get(GetObj('module2')).value;
    var module3 = $get(GetObj('module3')).value;
    if (module1 != '') $get('ck' + module1).checked = true;
    if (module2 != '') $get('ck' + module2).checked = true;
    if (module3 != '') $get('ck' + module3).checked = true;

    $get("legende").innerHTML = "";
    if (arg.PdfFile != null) {
        $get('lnkpdf').href = arg.PdfFile;
        $("#ppdf").show();
    } else {
        $("#ppdf").hide();
    }
    getModule();
    
    
    
}



function HideTemplate() {
    clearModule();
    $get("zonetemplate").innerHTML = "";
    jQuery("#templatecontainer").hide();
    istemplate = false;
    return false;
}


function SetCoche(item, items) {
    $get(GetObj('module1')).value = "";
    $get(GetObj('module2')).value = "";
    $get(GetObj('module3')).value = "";
    titems = items.split('|')
    for (var i = 0; i < titems.length; i++) {
        if (titems[i] != item)
            $get('ck' + titems[i]).checked = false;
    }
    getModule();

}



function getModule() {
    if (istemplate) {
        var p = $("input:checkbox:checked");
        var module = "";
        var vmodule = "";
        for (var i = 0; i < p.size(); i++) {
            if (module != "") module += "|";
            vmodule = p.get(i).id.replace(/[^0-9]/g, '');
            module += vmodule;
            if (vmodule == "1" || vmodule == "4" || vmodule == "7") $get(GetObj('module1')).value = vmodule;
            if (vmodule == "2" || vmodule == "5" || vmodule == "8") $get(GetObj('module2')).value = vmodule;
            if (vmodule == "3" || vmodule == "6" || vmodule == "9") $get(GetObj('module3')).value = vmodule;
        }
        if (module == "") {
            clearModule();
        } else {
            getCotisation(module);
        }
    }

}


function clearModule() {
    $get(GetObj('module1')).value = "";
    $get(GetObj('module2')).value = "";
    $get(GetObj('module3')).value = "";
    $get(GetObj('modules')).value = "";
    $get(GetObj('codevp')).value = "";
    $get(GetObj('codeaia')).value = "";

    $get('lcotisation').innerHTML = "0,00 &euro;";
    $get('ltaxes').innerHTML = "0,00 &euro;";
    $get('totalgarantie').innerHTML = "0,00 &euro;";
    $get("legende").innerHTML = ""; 
}

function getCotisation(module) {

    var garantie1 = $get(GetObj('module1')).value;
    var garantie2 = $get(GetObj('module2')).value;
    var garantie3 = $get(GetObj('module3')).value;
    /*if (garantie1 != "") garantie1 = $('#ck' + garantie1).val();
    if (garantie2 != "") garantie2 = $('#ck' + garantie2).val();
    if (garantie3 != "") garantie3 = $('#ck' + garantie3).val();*/
    $get(GetObj('garantie1')).value = garantie1;
    $get(GetObj('garantie2')).value = garantie2;
    $get(GetObj('garantie3')).value = garantie3;

    $get(GetObj('codeaia')).value = garantie1 + "|" + garantie2 + "|" + garantie3;
  //  $get(GetObj('codevp')).value = (garantie1 == "" ? "FCMSANTE0" : garantie1.replace(/ /g, '')) + " " + (garantie2 == "" ? "FCMSANTE0" : garantie2.replace(/ /g, '')) + " " + (garantie3 == "" ? "FCMSANTE0" : garantie3.replace(/ /g, ''));


    var nom = "dummy";
    var optionTp = "oui";
    var codedepartement = "";
    var nomdepartement = "";
    var mois = $("#cbmois").val();
    var exercice = $get(GetObj('cbannee')).value;
    var produit = $get(GetObj('CodeProduit')).value;
    var nomProduit = $get(GetObj('LibelleProduit')).value;
    var dateNaissanceAdulte1 = "";
    var dateNaissanceAdulte2 = "";
    var dateNaissanceEnfant1 = "";
    var dateNaissanceEnfant2 = "";

    switch ($get(GetObj('cbadultes')).value) {
        case "1":
            dateNaissanceAdulte1 = $get(GetObj('dnadulte1')).value;
            break;
        case "2":
            dateNaissanceAdulte1 = $get(GetObj('dnadulte1')).value;
            dateNaissanceAdulte2 = $get(GetObj('dnadulte2')).value;
            break;
    }
    switch ($get(GetObj('cbenfants')).value) {
        case "0":
            break;
        case "1":
            dateNaissanceEnfant1 = $get(GetObj('dnenfant1')).value;
            break;
        default:
            dateNaissanceEnfant1 = $get(GetObj('dnenfant1')).value;
            dateNaissanceEnfant2 = $get(GetObj('dnenfant2')).value;
            break;
    }
    if ($get(GetObj('cbtierspayant')).value == "2") optionTp = "non";

    codedepartement = $("#" + GetObj('cbdepartement')).val();
    nomdepartement = $("#" + GetObj('cbdepartement option:selected')).text();


    wsmetier.SmoGetCalcul(nom,
                           mois,
                           exercice,
                           tranche,
                           produit,
                           nomProduit,
                           dateNaissanceAdulte1,
                           dateNaissanceAdulte2,
                           dateNaissanceEnfant1,
                           dateNaissanceEnfant2,
                           codedepartement,
                           nomdepartement,
                           optionTp,
                           garantie1,
                           garantie2,
                           garantie3,
                           onGetCotisation,
                           OnAjaxError);



/*
    var nbadultes = $get(GetObj('cbadultes')).value;
    var nbenfants = $get(GetObj('cbenfants')).value;
    var wsannee = $get(GetObj('cbannee')).value;
    var wsdnaissance;
    if (nbadultes == '0' || wsannee == '0') return HideTemplate();
    if (!CalculAgeAdulte()) return HideTemplate();
    switch (nbadultes) {
        case '1':
            //if (!TestDate(GetObj('dnadulte1'), GetObj('err_dnadulte1'), "Date incorrecte (JJ/MM/AAAA)")) return HideTemplate();
            //if (!CalculAge($get(GetObj('dnadulte1')).value, '', GetAnneeSelectionnee(), 65, 120, GetObj('err_dnadulte1'), "L'adulte doit avoir 65 ans ou plus")) return HideTemplate();
            wsdnaissance = $get(GetObj('dnadulte1')).value + "|";
            break;
        case '2':
            //if (!TestDate(GetObj('dnadulte1'), GetObj('err_dnadulte1'), "Date incorrecte (JJ/MM/AAAA)")) return HideTemplate();
            //if (!CalculAge($get(GetObj('dnadulte1')).value, '', GetAnneeSelectionnee(), 65, 120, GetObj('err_dnadulte1'), "L'adulte doit avoir 65 ans ou plus")) return HideTemplate();
            //if (!TestDate(GetObj('dnadulte2'), GetObj('err_dnadulte2'), "Date incorrecte (JJ/MM/AAAA)")) return HideTemplate();
            //if (!CalculAge($get(GetObj('dnadulte2')).value, '', GetAnneeSelectionnee(), 65, 120, GetObj('err_dnadulte2'), "L'adulte doit avoir 65 ans ou plus")) return HideTemplate();
            wsdnaissance = $get(GetObj('dnadulte1')).value + "|" + $get(GetObj('dnadulte2')).value;
            break;
    }


    wsmetier.SmoGetCotisation(wsannee, wsdnaissance, nbenfants, module, onGetCotisation, OnAjaxError);*/
}
function onGetCotisation(arg) {

    var label = $get(GetObj('labelPopup'));
    if (arg == null) {
        label.innerHTML = "Une erreur est survenue... Veuillez renouveler l'opération ultérieurement.";
        jQuery("#dialog").dialog("open");
        return;
    }
    var calcul = eval("(" + arg.Chaine + ")");
    if (calcul.Erreur != "") {
        //label.innerHTML = "Une erreur est survenue... Veuillez renouveler l'opération ultérieurement.<br />Code erreur : " + calcul.Erreur;
        //jQuery("#dialog").dialog("open");

        jQuery("#dialogFcmi").dialog("open");
        return;
    }
    
    
    $get('lcotisation').innerHTML = calcul.CotisationMensuelle + " &nbsp;&euro;";
    $get('ltaxes').innerHTML = calcul.TaxeAssurance + " &nbsp;&euro;";
    $get('totalgarantie').innerHTML = (parseFloat(calcul.TaxeAssurance)  + parseFloat(calcul.CotisationMensuelle)).toFixed(2) + " &nbsp;&euro;";

    if (parseFloat(calcul.DroitAdhesion) != 0 && parseFloat(calcul.CotisationFederale) != 0) {
        $get("legende").innerHTML = "Votre premier versement sera majoré du montant de la cotisation fédérale annuelle (" + calcul.CotisationFederale + " &euro;) ainsi que du montant des frais d'admission (" + calcul.DroitAdhesion + " &euro;).";
    }
    if (parseFloat(calcul.DroitAdhesion) == 0 && parseFloat(calcul.CotisationFederale) != 0) {
        $get("legende").innerHTML = "Votre premier versement sera majoré du montant de la cotisation fédérale annuelle (" + calcul.CotisationFederale + " &euro;).";
    }
    if (parseFloat(calcul.DroitAdhesion) != 0 && parseFloat(calcul.CotisationFederale) == 0) {
        $get("legende").innerHTML = "Votre premier versement sera majoré des frais d'admission (" + calcul.DroitAdhesion + " &euro;).";
    }


/*

    $get('cotisationrms').innerHTML = arg.BaseSansTp.toFixed(2) + " &nbsp;&euro;";
    $get('cotisationrmstp').innerHTML = arg.BaseAvecTp.toFixed(2) + " &nbsp;&euro;";
    $get(GetObj('modules')).value = arg.Modules;

    $get(GetObj('cotisationtp')).value = arg.BaseAvecTp;
    $get(GetObj('cotisationstp')).value = arg.BaseSansTp;
    $get(GetObj('codevp')).value = arg.CodeVP;
    $get(GetObj('codeaia')).value = arg.CodeAIA;*/
}
function TestConformite() {
    jQuery("#cbopt").removeClass("erreur");
    var module1 = $get(GetObj('module1')).value;
    var module2 = $get(GetObj('module2')).value;
    var module3 = $get(GetObj('module3')).value;
    var label = $get(GetObj('labelPopup'));
    if (module1 == "" && $get(GetObj('cbtierspayant')).value == '1') {
        jQuery("#cbopt").addClass("erreur");
        label.innerHTML = "Vous ne pouvez pas sélectionner l'option tiers payant<br /> si vous n'optez pas pour un module de prestations médicales";
        jQuery("#dialog").dialog("open");
        //$get(GetObj('btnPopup')).click();
        return false;
    }
    var nbmodules = 0;
    if (module1 != '') nbmodules += 1;
    if (module2 != '') nbmodules += 1;
    if (module3 != '') nbmodules += 1;

    if (nbmodules < 2) {

        label.innerHTML = "Vous devez sélectionner au moins deux modules";
        jQuery("#dialog").dialog("open");
        //$get(GetObj('btnPopup')).click();
        return false;
    }

    if (nbmodules == 1 && module3 != '') {
        label.innerHTML = "Vous ne pouvez pas sélectionner uniquement un module de Primes et Participations";
        jQuery("#dialog").dialog("open");
        //    $get(GetObj('btnPopup')).click();
        return false;
    }


    $get(GetObj('BtnAdhesion')).click();

}


function PrintSimulation() {
    jQuery("#cbopt").removeClass("erreur");
    var module1 = $get(GetObj('module1')).value;
    var module2 = $get(GetObj('module2')).value;
    var module3 = $get(GetObj('module3')).value;
    var label = $get(GetObj('labelPopup'));

    if (module1 == "" && $get(GetObj('cbtierspayant')).value == '1') {
        jQuery("#cbopt").addClass("erreur");
        label.innerHTML = "Vous ne pouvez pas sélectionner l'option tiers payant<br /> si vous n'optez pas pour un module de prestations médicales";
        jQuery("#dialog").dialog("open");
        return false;
    }
    var nbmodules = 0;
    if (module1 != '') nbmodules += 1;
    if (module2 != '') nbmodules += 1;
    if (module3 != '') nbmodules += 1;



    if (nbmodules < 2) {
        label.innerHTML = "Vous devez sélectionner au moins deux modules";
        jQuery("#dialog").dialog("open");
        return false;
    }


    var garantie1 = $get(GetObj('module1')).value;
    var garantie2 = $get(GetObj('module2')).value;
    var garantie3 = $get(GetObj('module3')).value;
    $get(GetObj('garantie1')).value = garantie1;
    $get(GetObj('garantie2')).value = garantie2;
    $get(GetObj('garantie3')).value = garantie3;
    var nom = "dummy";
    var optionTp = $get(GetObj('cbtierspayant')).value;
    var codedepartement = "";
    var nomdepartement = "";
    var mois = $("#cbmois").val();
    var exercice = $get(GetObj('cbannee')).value;
    var produit = $get(GetObj('CodeProduit')).value;
    var nomProduit = $get(GetObj('LibelleProduit')).value;
    var dateNaissanceAdulte1 = "";
    var dateNaissanceAdulte2 = "";
    var dateNaissanceEnfant1 = "";
    var dateNaissanceEnfant2 = "";
    var dateNaissanceEnfant3 = "";
    var dateNaissanceEnfant4 = "";

    switch ($get(GetObj('cbadultes')).value) {
        case "1":
            dateNaissanceAdulte1 = $get(GetObj('dnadulte1')).value;
            break;
        case "2":
            dateNaissanceAdulte1 = $get(GetObj('dnadulte1')).value;
            dateNaissanceAdulte2 = $get(GetObj('dnadulte2')).value;
            break;
    }
    switch ($get(GetObj('cbenfants')).value) {
        case "1":
            dateNaissanceEnfant1 = $get(GetObj('dnenfant1')).value;
            break;
        case "2":
            dateNaissanceEnfant1 = $get(GetObj('dnenfant1')).value;
            dateNaissanceEnfant2 = $get(GetObj('dnenfant2')).value;
            break;
        case "3":
            dateNaissanceEnfant1 = $get(GetObj('dnenfant1')).value;
            dateNaissanceEnfant2 = $get(GetObj('dnenfant2')).value;
            break;
        case "4":
            dateNaissanceEnfant1 = $get(GetObj('dnenfant1')).value;
            dateNaissanceEnfant2 = $get(GetObj('dnenfant2')).value;
            break;
    }

    codedepartement = $("#" + GetObj('cbdepartement')).val();
    nomdepartement = $("#" + GetObj('cbdepartement option:selected')).text();


    window.open('print.ashx?e=' + $get(GetObj('cbenfants')).value + '&cd=' + codedepartement + '&nd=' + escape(nomdepartement) + '&ms=' + mois + '&an=' + exercice + '&opt=' + optionTp
    + '&dn1=' + escape(dateNaissanceAdulte1) + '&dn2=' + escape(dateNaissanceAdulte2)
    + '&dn3=' + escape(dateNaissanceEnfant1) + '&dn4=' + escape(dateNaissanceEnfant2)
    + '&pr=' + escape(produit) + '&lp=' + nomProduit + '&g1=' + escape(garantie1) + '&g2=' + escape(garantie2) + '&g3=' + escape(garantie3) +'&tr='+tranche
    + '&tg=1');



}
