﻿jQuery(document).ready(function() {

    setAdhesion();

    $('#' + GetObj('ckisadherent')).bind('click', function() {
        if (this.checked) {
            $('#zoneadherent').show();
            $('#porigine').hide();
            $('#penfants').hide();
            $('#padultes').hide();
            $('#pville').hide();
            $('#pcp').hide();
            $('#psuite').hide();
            $('#padresse').hide();
            $('#pdatefincontrat').hide();
        }
        else {
            $('#' + GetObj('numadherent')).val('');
            $('#zoneadherent').hide();
            $('#porigine').show();
            $('#penfants').show();
            $('#padultes').show();
            $('#pville').show();
            $('#pcp').show();
            $('#psuite').show();
            $('#padresse').show();
            $('#pdatefincontrat').show();
        }

    });


    var datedujour = new Date();
    trancheAdulte = parseInt(datedujour.getFullYear() - 65) + ":" + parseInt(datedujour.getFullYear() - 16);
    trancheEnfant = parseInt(datedujour.getFullYear() - 26) + ":" + parseInt(datedujour.getFullYear());
    /*
    $('#' + GetObj('dnadulte1')).datepicker({
    dayNamesMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
        dateFormat: 'dd/mm/yy',
        changeMonth: true,
        changeYear: true,
        showOn: 'button',
        buttonImage: 'images/iconedate.gif',
        buttonImageOnly: true,
        defaultDate: '-40y',
        onSelect: function(input, inst) {
            $('#' + GetObj('dnadulte1')).val(input);
        },
        onClose: function(input, inst) {
            TestDate(GetObj('dnadulte1'), GetObj('err_dnadulte1'), "Date incorrecte (JJ/MM/AAAA)");
        },
        beforeShow: function(input, inst) {
            $('#' + GetObj('err_dnadulte1')).hide();
        }
    });


    $('#' + GetObj('dnadulte2')).datepicker({
    dayNamesMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
        dateFormat: 'dd/mm/yy',
        changeMonth: true,
        changeYear: true,
        showOn: 'button',
        buttonImage: 'images/iconedate.gif',
        buttonImageOnly: true,
        defaultDate: '-40y',
        onSelect: function(input, inst) {
            $('#' + GetObj('dnadulte2')).val(input);
        },
        onClose: function(input, inst) {
            TestDate(GetObj('dnadulte2'), GetObj('err_dnadulte2'), "Date incorrecte (JJ/MM/AAAA)");

        },
        beforeShow: function(input, inst) {
            $('#' + GetObj('err_dnadulte2')).hide();
        }
    });

    */


    jQuery('#' + GetObj('dnadulte1')).bind('blur', { err: GetObj('err_dnadulte1') }, (function(event) {
        TestDate(this.id, event.data.err, "Date incorrecte (JJ/MM/AAAA)");
    }));


    jQuery('#' + GetObj('dnadulte2')).bind('blur', { err: GetObj('err_dnadulte2') }, (function(event) {
        TestDate(this.id, event.data.err, "Date incorrecte (JJ/MM/AAAA)");
    }));



    jQuery('#' + GetObj('dnenfant1')).bind('blur', { err: GetObj('err_dnenfant1') }, (function(event) {
        if (TestDate(this.id, event.data.err, "Date incorrecte (JJ/MM/AAAA)")) {
            if (!IsAgeCorrectEnfant(this.value, event.data.err)) {

            }
        }
    }));

    jQuery('#' + GetObj('dnenfant2')).bind('blur', { err: GetObj('err_dnenfant2') }, (function(event) {
        if (TestDate(this.id, event.data.err, "Date incorrecte (JJ/MM/AAAA)")) {
            if (!IsAgeCorrectEnfant(this.value, event.data.err)) {
            }
        }
    }));

    jQuery('#' + GetObj('dnenfant3')).bind('blur', { err: GetObj('err_dnenfant3') }, (function(event) {
        if (TestDate(this.id, event.data.err, "Date incorrecte (JJ/MM/AAAA)")) {
            if (!IsAgeCorrectEnfant(this.value, event.data.err)) {
            }
        }
    }));

    jQuery('#' + GetObj('dnenfant4')).bind('blur', { err: GetObj('err_dnenfant4') }, (function(event) {
        if (TestDate(this.id, event.data.err, "Date incorrecte (JJ/MM/AAAA)")) {
            if (!IsAgeCorrectEnfant(this.value, event.data.err)) {
            }
        }
    }));
    $('input').enablePlaceholder();





    /*
    $('#' + GetObj('dnenfant1')).datepicker({
    dayNamesMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
        dateFormat: 'dd/mm/yy',
        changeMonth: true,
        changeYear: true,
        yearRange: trancheEnfant,
        showOn: 'button',
        buttonImage: 'images/iconedate.gif',
        buttonImageOnly: true,
        defaultDate: '-10y',
        onSelect: function(input, inst) {
            $('#' + GetObj('dnenfant1')).val(input);
        },
        onClose: function(input, inst) {
            if (TestDate(GetObj('dnenfant1'), GetObj('err_dnenfant1'), "Date incorrecte (JJ/MM/AAAA)")) {
                if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant1')).val(), GetObj('err_dnenfant1'))) {
                }
            }
        },
        beforeShow: function(input, inst) {
            $('#' + GetObj('err_dnenfant1')).hide();
        }
    });



    $('#' + GetObj('dnenfant2')).datepicker({
    dayNamesMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
        dateFormat: 'dd/mm/yy',
        changeMonth: true,
        changeYear: true,
        yearRange: trancheEnfant,
        showOn: 'button',
        buttonImage: 'images/iconedate.gif',
        buttonImageOnly: true,
        defaultDate: '-10y',
        onSelect: function(input, inst) {
            $('#' + GetObj('dnenfant2')).val(input);
        },
        onClose: function(input, inst) {
            if (TestDate(GetObj('dnenfant2'), GetObj('err_dnenfant2'), "Date incorrecte (JJ/MM/AAAA)")) {
                if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant2')).val(), GetObj('err_dnenfant2'))) {

                }
            }
        },
        beforeShow: function(input, inst) {
            $('#' + GetObj('err_dnenfant2')).hide();
        }
    });

    $('#' + GetObj('dnenfant3')).datepicker({
    dayNamesMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
        dateFormat: 'dd/mm/yy',
        changeMonth: true,
        changeYear: true,
        yearRange: trancheEnfant,
        showOn: 'button',
        buttonImage: 'images/iconedate.gif',
        buttonImageOnly: true,
        defaultDate: '-10y',
        onSelect: function(input, inst) {
            $('#' + GetObj('dnenfant3')).val(input);
        },
        onClose: function(input, inst) {
            if (TestDate(GetObj('dnenfant3'), GetObj('err_dnenfant3'), "Date incorrecte (JJ/MM/AAAA)")) {
                if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant3')).val(), GetObj('err_dnenfant3'))) {

                }
            }
        },
        beforeShow: function(input, inst) {
            $('#' + GetObj('err_dnenfant3')).hide();
        }
    });



    $('#' + GetObj('dnenfant4')).datepicker({
    dayNamesMin: ['Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa'],
        dateFormat: 'dd/mm/yy',
        changeMonth: true,
        changeYear: true,
        yearRange: trancheEnfant,
        showOn: 'button',
        buttonImage: 'images/iconedate.gif',
        buttonImageOnly: true,
        defaultDate: '-10y',
        onSelect: function(input, inst) {
            $('#' + GetObj('dnenfant4')).val(input);
        },
        onClose: function(input, inst) {
            if (TestDate(GetObj('dnenfant4'), GetObj('err_dnenfant4'), "Date incorrecte (JJ/MM/AAAA)")) {
                if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant4')).val(), GetObj('err_dnenfant4'))) {

                }
            }
        },
        beforeShow: function(input, inst) {
            $('#' + GetObj('err_dnenfant4')).hide();
        }
    });

    */



});


function IsAgeCorrectEnfant(obj, err) {
    return CalculAge(obj, '', GetAnneeSelectionnee(), 0, 26, err, "L'enfant doit être âgé entre 0 et 26 ans");
}
function GetAnneeSelectionnee() {
    var datedujour = new Date();
    return datedujour.getFullYear();
}

function setAdhesion() {
    AfficheInfoAdultes($get(GetObj('cbadultes')));
    AfficheInfoEnfants($get(GetObj('cbenfants')));
    if ($get(GetObj('ville')).value != '' && $get(GetObj('cp')).value != '')
        getVille(GetObj('cp'), 'cbvilles', $get(GetObj('ville')).value);

    jQuery('#' + GetObj('dnadulte1')).unbind('click').bind('click', (function(event) { this.select() })).bind('blur', { err: GetObj('err_dnadulte1') }, (function(event) {
        TestDate(this.id, event.data.err);
    }));
    jQuery('#' + GetObj('dnadulte2')).unbind('click').bind('click', (function(event) { this.select() })).bind('blur', { err: GetObj('err_dnadulte2') }, (function(event) {
        if (this.value != '' && this.value != 'JJ/MM/AAAA')
            TestDate(this.id, event.data.err);
    }));


    jQuery('#' + GetObj('ckiscontact')).unbind('click').bind('click', (function(event) {
        if (this.checked) {
            jQuery('#trjour').show();
            jQuery('#trheure').show();
            jQuery('#trtelephone').show();
        } else {
            jQuery('#trjour').hide();
            jQuery('#trheure').hide();
            jQuery('#trtelephone').hide();

        }

    }));





}
function AfficheInfoDateNaissance(obj) {
    switch (obj.value) {
        case '0':
            $("#"+GetObj('ldnadulte1')).html("Date de naissance du 1er adulte");
         break;
        case '1':
            $("#"+GetObj('ldnadulte1')).html("Date de naissance de Monsieur");
         break;
        case '2':
            $("#"+GetObj('ldnadulte1')).html("Date de naissance de Madame");
         break;
        case '3':
            $("#"+GetObj('ldnadulte1')).html("Date de naissance de Mademoiselle");
         break;

   }

}
function AfficheInfoEnfants(obj) {
    switch (obj.value) {
        case 'Aucun':
            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;
    }
}

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 TestConformite() {

    var isErreur = false;
    if (!TestComboLabel(GetObj('cbcivilite'), GetObj('lcbcivilite'))) isErreur = true;
  //  if (!TestComboLabel(GetObj('cbsituation'), GetObj('lcbsituation'))) isErreur = true;
  //  if (!TestComboLabel(GetObj('cbactivites'), GetObj('lcbactivites'))) isErreur = true;
    if (!TestChaineLabel(GetObj('nom'), GetObj('lnom'))) isErreur = true;
    if (!TestChaineLabel(GetObj('prenom'), GetObj('lprenom'))) isErreur = true;
    if (!$get(GetObj('ckisadherent')).checked) {
        if (!TestChaineLabel(GetObj('adresse'), GetObj('ladresse'))) isErreur = true;
        if (!TestChaineLabel(GetObj('cp'), GetObj('lcp'))) isErreur = true;
        if (!TestChaineLabel(GetObj('ville'), GetObj('lville'))) isErreur = true;
        if (!TestComboLabel(GetObj('cbadultes'), GetObj('lcbadultes'))) isErreur = true;
        if (!TestComboLabel(GetObj('cborigines'), GetObj('lcborigines'))) isErreur = true;
        var nbadultes = $('#' + GetObj('cbadultes')).val();
        switch (nbadultes) {
            case "1":
                if (!TestDateLabel(GetObj('dnadulte1'), 'ldnadulte1')) isErreur = true;
                break;
            case "2":
                if (!TestDateLabel(GetObj('dnadulte1'), 'ldnadulte1')) isErreur = true;
                if (!TestDateLabel(GetObj('dnadulte2'), 'ldnadulte2')) isErreur = true;
                break;
        }
        var nbenfants = $('#' + GetObj('cbenfants')).val();

        switch (nbenfants) {
            case "1":
                if (!TestDateLabel(GetObj('dnenfant1'), 'ldnenfant1'))
                    isErreur = true;
                else
                    if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant1')).val(), GetObj('err_dnenfant1'))) isErreur = true;
                break;
            case "2":
                if (!TestDateLabel(GetObj('dnenfant1'), 'ldnenfant1')) isErreur = true;
                else
                    if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant1')).val(), GetObj('err_dnenfant1'))) isErreur = true;
                if (!TestDateLabel(GetObj('dnenfant2'), 'ldnenfant2')) isErreur = true;
                else
                    if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant2')).val(), GetObj('err_dnenfant2'))) isErreur = true;
                break;
            case "3":
                if (!TestDateLabel(GetObj('dnenfant1'), 'ldnenfant1')) isErreur = true;
                else
                    if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant1')).val(), GetObj('err_dnenfant1'))) isErreur = true;

                if (!TestDateLabel(GetObj('dnenfant2'), 'ldnenfant2')) isErreur = true;
                else
                    if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant2')).val(), GetObj('err_dnenfant2'))) isErreur = true;

                if (!TestDateLabel(GetObj('dnenfant3'), 'ldnenfant3')) isErreur = true;
                else
                    if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant3')).val(), GetObj('err_dnenfant3'))) isErreur = true;

                break;
            case "4":
                if (!TestDateLabel(GetObj('dnenfant1'), 'ldnenfant1')) isErreur = true;
                else
                    if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant1')).val(), GetObj('err_dnenfant1'))) isErreur = true;

                if (!TestDateLabel(GetObj('dnenfant2'), 'ldnenfant2')) isErreur = true;
                else
                    if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant2')).val(), GetObj('err_dnenfant2'))) isErreur = true;

                if (!TestDateLabel(GetObj('dnenfant3'), 'ldnenfant3')) isErreur = true;
                else
                    if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant3')).val(), GetObj('err_dnenfant3'))) isErreur = true;
                if (!TestDateLabel(GetObj('dnenfant4'), 'ldnenfant4')) isErreur = true;
                else
                    if (!IsAgeCorrectEnfant($('#' + GetObj('dnenfant4')).val(), GetObj('err_dnenfant4'))) isErreur = true;
                break;
        }
    }
    else {
        jQuery("#ladresse").removeClass('erreur');
        jQuery("#lcp").removeClass('erreur');
        jQuery("#lville").removeClass('erreur');
        jQuery("#lcbadultes").removeClass('erreur');
        jQuery("#lcborigines").removeClass('erreur');
        jQuery("#ldnadulte1").removeClass('erreur');
        jQuery("#ldnadulte2").removeClass('erreur');
        jQuery("#ldnenfant1").removeClass('erreur');
        jQuery("#ldnenfant2").removeClass('erreur');
        jQuery("#ldnenfant3").removeClass('erreur');
        jQuery("#ldnenfant4").removeClass('erreur');

        if (!TestNumeroAdherent(GetObj('numadherent'), 'err_numadherent')) isErreur = true;
    }





    if (!TestTelephone(GetObj('telephone'), GetObj('ltelephone'), 'err_telephone')) isErreur = true;
    if (!TestTelephone(GetObj('portable'), GetObj('lportable'), 'err_portable')) isErreur = true;

    if (TestTelephone(GetObj('telephone'), GetObj('ltelephone'), 'err_telephone') && TestTelephone(GetObj('portable'), GetObj('lportable'), 'err_portable')) {
        if ($get(GetObj('telephone')).value == '' && $get(GetObj('portable')).value == '') {
            jQuery("#" + GetObj('ltelephone')).addClass('erreur');
            isErreur = true;
        }
    } else
        isPageErreur = true;




    if (!TestChaineLabel(GetObj('captcha'), GetObj('lcaptcha'))) isErreur = true;
    if (!CheckConcordanceEmail(GetObj('email'), GetObj('email1'), GetObj('lemail'), GetObj('lemail1'))) isErreur = true;
    if ($get(GetObj('ckiscontact')).checked) {
        if (!TestComboLabel(GetObj('cbjour'), GetObj('lcbjour'))) isErreur = true;
        if (!TestComboLabel(GetObj('cbheure'), GetObj('lcbheure'))) isErreur = true;
        if (!TestTelephone(GetObj('telephonecontact'), GetObj('ltelephonecontact'), 'err_ltelephonecontact')) isErreur = true;
        if ($get(GetObj('telephonecontact')).value == '') {
            jQuery("#" + GetObj('ltelephonecontact')).addClass('erreur');
            isErreur = true;
        }
    }


    if (!isErreur) {
        $get(GetObj('BtnAdhesion')).click();
        return true;
    }
    return false;
}        

