var $P_Genders,
$BD_Day,
$BD_Month,
$BD_Year;
$(function () {
$P_Genders = $('#ctGender')
$BD_Day = $('#ctBD_Day');
$BD_Month = $('#ctBD_Month');
$BD_Year = $('#ctBD_Year');
// Genre
$.getJSON('./rsc/'+eni.lng.code()+'/genders.js', function(data) {
$.each(data, function(idx, value) {
id = idx+1;
$P_Genders .append('');
});
});
// Gestion des années
year = (new Date()).getFullYear()
for (var i = 1; i <= 100; i++) {
$BD_Year.append('');
year-=1;
}
$BD_Year.change(function(){populate_Day()})
// Gestion des mois (avec libellé localisée)
for (var i = 0; i < 12; i++) {
var m = new Date(1999, i).toLocaleString(eni.lng.code(), {month: "long"});
$BD_Month.append('');
}
$BD_Month.change(function(){populate_Day()})
// initailisation de toutes les combos
$BD_Year.change()
// Gestion de la langue de formation
$('#comboLng').children().each(function(){
$('#ctLanguage').append("");
});
//------------------------------------------------------------------------
// Gestion du formulaire Actiris
//------------------------------------------------------------------------
$formCDATAS_inputs = $('.formCDATAS > input');
if (is_mob_mode()){
$formCDATAS_inputs.each(function(){
$(this).attr('placeholder',$('[for='+$(this).attr('id')+']').text())
});
}
$('.formCDATAS > [required]').each(function(){
$label = $('[for='+$(this).attr('id')+']');
if ($label.text().length > 0){
if (is_mob_mode()){
$(this).attr('placeholder', $label.text() + ' *');
}else{
$label.html('* '+$label.html());
}
}
});
$formCDATAS_inputs.focus(function(){$(this).removeClass('Error');});
$('#Send').click(function(){
var $form,
_form={},
_title='',
_errors='',
_lst_feilds_incomplete='',
_lst_feilds_error='';
// Récupération du formulaire prêt à être envoyé
$form = $(this).closest('form');
_title = $form.data('error');
//_errors = _title;
// Suppression de la class Error
$form.find('input').not('[hidden]').removeClass('Error')
.each(function(){
$field=$(this);
if ($field.attr('required') == 'required'){
if ($field.val().length == 0) {
if ($field.hasClass('flexdatalist')){$('#'+$field.attr('id')+'-flexdatalist').addClass('Error');}
else{$field.addClass('Error');}
var label = $('[for='+$field.attr('id')+']').text().replace('* ', '');
_lst_feilds_incomplete += (label.length > 0?' ' + $('[for='+$field.attr('id')+']').text().replace('* ', '') + '':' ');
}
}
})
//if (_lst_feilds_error.length > 0) {_errors+=((_title + _errors).length>0?' ':'') + _lst_feilds_error}
if (_lst_feilds_incomplete.length > 0) {_errors+=((_title + _errors).length>0?' ':'') + (_title.length>0?'- ':'') + $form.data('incomplete') + _lst_feilds_incomplete}
else {
// les tests de l'email et du mot de pase se font après validation des autres champs
if (!email_pattern.test($('#ctEmail').val())){
_errors=$('#ctEmail').data('error');
$('#ctEmail').addClass('Error');
}else if ($("#ctPWD").val().length < 6){
_errors=$("#ctPWD").data('error');
$("#ctPWD").addClass('Error');
}else if ($("#ctPWD").val() != $("#ctCPWD").val()){
_errors=$("#ctCPWD").data('error');
$("#ctCPWD").addClass('Error');
}
}
if (_errors.length == 0) {
// génération date de naissance
$('#ctBirthday').val(new Date(Date.UTC($('#ctBD_Year').val(),$('#ctBD_Month').val()-1, $('#ctBD_Day').val())).toISOString().split("T")[0])
// Si tous les champs sont valides alors on envoie le formulaire
$($form.find('input, select').serializeArray()).each(function(){
_form[this.name] = this.value;
});
// On récupère également les données du formulaire précédent
$($('.formVC').find('input').serializeArray()).each(function(){
_form[this.name] = this.value;
});
// ajout des éléments des étapes précédentes
_form['sttt'] = $Statut.find(':checked').val()
_form['cp'] = $CP.val();
_form['ca'] = $CA.val();
// ajout du code langue
_form['cl'] = eni.lng.code();
eni.axc({Async:true,Type:'script', Url:'./actiris/ajax/createAccount.aspx', Data:_form, Msg:job_in_progress});
}else{
// Sinon alerte
eni.msg({ Class:'Alert', Title:'', Content:_title + _errors});
}
return false;
});
});
// population des jours en fonction du mois et de l'année sélectionnés
populate_Day = function(){
d=new Date($BD_Year.val(), $BD_Month.val(), 1, -1).getDate();
ds=($BD_Day.val()?$BD_Day.val():1);
$BD_Day.html("");
for (var i = 1; i <= d; i++) {
$BD_Day.append('');
}
// on sélectionne la date si possible avec la dernière date sélectionnée sinon 1er jour du mois
$BD_Day.val((ds > d)?1:ds)
}