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) }