function is_numeric( mixed_var ) {
    if (mixed_var === '') {
        return false;
    }
    return !isNaN(mixed_var * 1);
}

function check(id){
	for (i = 1; i < 6; i++){
		if(i != 2){
			if (i == id) {
				jQuery('#rd'+i).attr('checked','checked');
				jQuery('#mode'+i).show();
				jQuery('#td'+i).addClass('selected');
			} else {
				jQuery('#rd'+i).removeAttr('checked');
				jQuery('#mode'+i).hide();
				jQuery('#td'+i).removeClass('selected').addClass('unselected');
			}
		}
	}
}

///////////////////////////////////////////////////////////////////////////////////////////////////
// Vérifie si la valeur du champs envoyé en parametre n'est pas nulle
function isComplete(champs){
	var complete = document.getElementsByName(champs)[0].value;

	// Si le champs n'est pas vide
	if(complete != ''){
		// Si le premier caractére n'est pas un espace c'est bon
		if(complete.charAt(0) != ' '){
			return true;
		}
		// Sinon, on vérifie que le deuxième caractére n'est pas un espace et n'est pas nul
		else if(complete.charAt(1) != ' ' && complete.charAt(1) != ''){
			return true;
		}
		// Sinon, on stop
		else{return false;}
	}
	else{return false;}
}

function isPhone(champs){
	var complete = document.getElementsByName(champs)[0].value;
	if(complete.length >= 10 && is_numeric(complete) && complete.substr(0, 3) != '000'){
		return true;
	} else {
		return false;
	}
}

function getSelectValue(selectId){
    var selectElmt = $(selectId);
    return selectElmt.options[selectElmt.selectedIndex].value;
}

//////////////////////////////////////////////////////////////////////////////////////////////////
// Gestion du focus
function focusThis(id){
	if(id != ''){jQuery('#'+id).addClass("focus");}
}
function unFocusThis(id){
	if(id != ''){jQuery('#'+id).removeClass("focus");}
}

// Changement de classe pour les champs vides
function errorThis(id){
	if(id != ''){jQuery('#'+id).addClass("uncompleted");}
}

// Gestion de l'affichage des aides contextuelles
function focusWithHelp(inputId,helpId){
    focusThis(inputId);
	jQuery('#'+helpId).show();
}
function unFocusWithHelp(inputId,helpId){
	unFocusThis(inputId);
	jQuery('#'+helpId).hide();
}

function checkCase(caseId, blockId, otherId){
	jQuery(document).ready(function(){
		//si caseId est cochée, afficher blockId et cacher otherId
		//state = $(caseId).checked;
		//if (state){
		if(jQuery('#'+caseId+':checked')){
			//jQuery('#'+blockId).css('display',"block");
			jQuery('#'+blockId).show();
			if (otherId != null){
			//jQuery('#'+otherId).css('display',"none");
				jQuery('#'+blockId).hide();
			}
		}
	});
}

function delWhiteSpaces (input) {
	jQuery(document).ready(function(){
		for (i = 0; i <= jQuery('#'+input).val().length; i++) {
			jQuery('#'+input).val(jQuery('#'+input).val().replace(" ", ""));
		}
	});
}

// Décoche et desactive l'envoi par courrier si une adresse email est renseignée et inversement
function cocheEmail(){
	jQuery(document).ready(function(){
		jQuery('#email').change(function(){
			if(jQuery(this).val() == ''){
				jQuery('#check_courrier').attr('checked','checked');
			}else {
				jQuery('#check_courrier').removeAttr('checked');
			}
		});
	});
}

// Desactive le nombre de points si la case "Je ne connais pas mon nombre de points" est cochée
function disablePoints(){
	jQuery(document).ready(function(){

	jQuery("input[name=casDeclare]").click(function(){
		var value = jQuery(this).val();
	  // Pour le cas 1
	  if(1 == value){
		  jQuery('#declare').removeAttr('disabled');
	  }else if(2 == value){
		  jQuery('#declare').attr('disabled','disabled');
	  }
  	});
	});
}

function getError(error){	
	jQuery(document).ready(function(){

	switch (error.substr(6)) {
		case '2Y' :
			//$('container').scrollTo();

//			var erreur 	= new Popup('error', '/templates/frontoffice/pap/popup/error.php?error=2Y', 600, false, 50, 'Votre inscription a d&eacute;j&agrave; &eacute;t&eacute; prise en compte', true);
			 var dialogError = {
				        title: "Votre inscription a d&eacute;j&agrave; &eacute;t&eacute; prise en compte",
				        modal: true,
					    draggable: false,
				        autoOpen: true,
				        height: 150,
				        top: 100,
				        width: 600,
				        open: function() {
				 			//display correct dialog content
				        	jQuery("#popup").load("/templates/frontoffice/pap/popup/error.php?error=2Y");
				        	}
				        };				
			jQuery("#popup").dialog(dialogError);
			
			var text 	= '<p style="padding-left:50px !important; background:transparent url(\'/templates/frontoffice/pap/images/important.png\') center left no-repeat;">Vous vous &ecirc;tes inscrit(e) &agrave; un stage de r&eacute;cup&eacute;ration de points il y a moins d\'un an.<br />';
			text 		+= 'Vous pouvez g&eacute;rer votre inscription depuis votre <strong><a href="/espace-personnel.html">espace personnel</a></strong>.<br /><br />';
			text 		+= 'N\'h&eacute;sitez pas &agrave; appeler l\'un(e) de nos conseill&egrave;r(e)s au <strong>01 45 32 00 04</strong>.</p>';

			//setTimeout(function(){erreur.show();}, 100);                

			jQuery('#conditions').hide();
			jQuery('#bt_continuer').hide().attr('disabled','disabled');
			jQuery('#error_message').html(text);
			jQuery('#error_message').show();

		break;

		case 'DEJA_INSCRIT' : 		
			//$('container').scrollTo();

//			var erreur 	= new Popup('error', '/templates/frontoffice/pap/popup/error.php?error=DEJA_INSCRIT', 600, false, 50, 'Votre inscription a d&eacute;j&agrave; &eacute;t&eacute; prise en compte', true);
			 var dialogError = {
				        title: "Votre inscription a d&eacute;j&agrave; &eacute;t&eacute; prise en compte",
				        modal: true,
					    draggable: false,
				        autoOpen: true,
				        height: 150,
				        top: 100,
				        width: 600,
				        open: function() {
				 			//display correct dialog content
				        	jQuery("#popup").load("/templates/frontoffice/pap/popup/error.php?error=2Y");
				        	}
				        };				
			
			jQuery("#popup").dialog(dialogError);
			
			var text 	= '<p style="padding-left:50px !important; background:transparent url(\'/templates/frontoffice/pap/images/important.png\') center left no-repeat;">Vous vous &ecirc;tes d&eacute;j&agrave inscrit(e) &agrave; un stage de r&eacute;cup&eacute;ration de points.<br />';
			text 		+= 'Vous pouvez g&eacute;rer votre inscription depuis votre <strong><a href="/espace-personnel.html">espace personnel</a></strong>.<br /><br />';
			text 		+= 'N\'h&eacute;sitez pas &agrave; appeler l\'un(e) de nos conseill&egrave;r(e)s au <strong>01 45 32 00 04</strong>.</p>';
			//setTimeout(function(){erreur.show();}, 100);                

			jQuery('#conditions').hide();
			jQuery('#bt_continuer').hide().attr('disabled','disabled');
			jQuery('#error_message').html(text);
			jQuery('#error_message').show();

		break;
		
	}  
	});  
}

function getInfoStagiaire(stagiaire_id){
	jQuery(document).ready(function(){
		jQuery.ajax({
			url:'/index.php?op=inscription_ajax',
			async: true,
			type: 'post',
			data: 'open=true&stagiaire_id='+stagiaire_id,
			dataType: 'json',
			success: function(data){ 
				jQuery.each(data, function(key, value) { 
					if(jQuery('#'+key)){
						if(value != '[object Object]') 
						{
							jQuery('#'+key).val(value);
							if(value != '') {
								jQuery('#'+key).parents(".uncompleted").removeClass('uncompleted');
							}
						} else {
							jQuery.each(value, function(key2, value2) {
								jQuery('#'+key2+'_'+key).val(value2);
								if(value2 != '') {
									jQuery('#'+key2+'_'+key).parents(".uncompleted").removeClass('uncompleted');
								}
							});
						}
					} 
				});
				dataForm = jQuery('#inscriptionForm').serialize();
			}
		});
	});
}
 
var dataForm = '';
function saveAjax () {
jQuery(document).ready(function(){

	if(jQuery('#nom').val()!='' && jQuery('#prenom').val() != '' && ((jQuery('#tel1').val() != '' && jQuery('#tel1').val() != '__________')||(jQuery('#tel2').val() != '' && jQuery('#tel2').val() != '__________') || (jQuery('#jour_date_naissance').val()>0 && jQuery('#mois_date_naissance').val()>0 && jQuery('#annee_date_naissance').val()>0)))
	{
		jQuery(document).ready(function(){
			if(jQuery('#tel1').val() == '__________') jQuery('#tel1').val('');
			if(jQuery('#tel2').val() == '__________') jQuery('#tel2').val('');
			if(jQuery('#declare').val() == '__') jQuery('#declare').val('');
			if(jQuery('#declareBis').val() == '__') jQuery('#declareBis').val('');
			if(jQuery('#cp').val() == '_____') jQuery('#cp').val('');
			if(jQuery('#facture_cp').val() == '_____') jQuery('#facture_cp').val('');
			if(jQuery("input[name=fdate_s_infraction_date]").val()=='__/__/____')jQuery("input[name=fdate_s_infraction_date]").val('');
			if(jQuery("#date_reception_48n").val()=='__/__/____')jQuery("#date_reception_48n").val('');
			if(jQuery("input[name=ftxt_s_infraction_heure]").val()=='__h__')jQuery("input[name=ftxt_s_infraction_heure]").val('');
			
			if(dataForm != jQuery('#inscriptionForm').serialize()){
				dataForm = jQuery('#inscriptionForm').serialize();
				jQuery.ajax({
					url:'/index.php?op=inscription_ajax',
					async: true,
					type: 'post',
					data: jQuery('#inscriptionForm').serialize(),
					success: function(data){ 
						if (data.substr(0, 5) == 'ERROR') { 
							getError(data);
						} else { 
							var id 	= data.split('#');							
							if(!inscription_id || !stagiaire_id){  
								if(is_numeric(id[0]) && is_numeric(id[1])){ 
									jQuery('#stagiaire_id').val(jQuery.trim(id[0]));
									stagiaire_id 				= jQuery.trim(id[0]);
									jQuery('#inscription_id').val(jQuery.trim(id[1]));
									inscription_id				= jQuery.trim(id[1]);
				
									if(id[2] == "true"){ 
										getInfoStagiaire(stagiaire_id); 																				
										if(id[3].substr(0, 5) == 'ERROR'){
											getError(id[3]);
										}
									}
								}
							}						
						}
					}
				});
			}
		});
	}
	});
}

jQuery(document).ready(function(){	
	jQuery("#part_permis>a").click(function(){
		window.open('/templates/frontoffice/pap6/popup/popup_informations_permis.php',
		'Popup',
		'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=550,height=400,left=50,top=23');
		});
	jQuery("#part_stage li>a").click(function(){
		window.open('/templates/frontoffice/pap6/popup/popup_solde_points.php',
		'Popup',
		'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=550,height=400,left=50,top=23');
		});
	jQuery("#cgi_text1>a,#cgi_text2>a").click(function(){
		window.open('/templates/frontoffice/pap6/popup/popup_conditions_generales.php',
		'Popup',
		'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=550,height=700,left=50,top=23');
		});
	
	if((stagiaire_id = jQuery('#stagiaire_id').val()) > 0) {
			getInfoStagiaire(stagiaire_id);
	}
	
	jQuery.mask.definitions["-"]="[0]";
	jQuery.mask.definitions["+"]="[12345679]";
	jQuery.mask.definitions["*"]="[01]";
  	jQuery.mask.definitions["&"]="[0123]";
	jQuery.mask.definitions["a"]="[12]";
	jQuery.mask.definitions["~"]="[90]";
	jQuery.mask.definitions["b"]="[ 012]";
	jQuery.mask.definitions["m"]="[012345]";
 
	jQuery("#cp,#facture_cp").mask("99999");
	jQuery("#tel1,#tel2").mask("-+99999999");
	
	jQuery("#declare,#declareBis").mask("9?b",{placeholder:""});
	
	jQuery("input[name=fdate_s_infraction_date],#date_reception_48n").mask("&9/*9/a~99");
	
	jQuery("input[name=ftxt_s_infraction_heure]").mask("b9hm9");
	
	var nb_points = function (element) {
		var value = parseInt(jQuery(element).val());
		jQuery(element).val(!isNaN(value)?value:'');
	 	if(value >12) {
	 		jQuery(element).val(jQuery(element).val().substr(0,jQuery(element).val().length - 1));
		} else if(value <=12 && value > 8) {
			jQuery("#nb_points").html(value);
			jQuery("#delta_points").html(12-value);
			jQuery("#lotof_points").show();
			jQuery("#not_enought_points").hide();
			jQuery('#id_cgi').show();
			jQuery('#inscriptionForm').unbind('submit');
		} else if((value == 0 || value == 00)) {
			jQuery("#not_enought_points").show();
			jQuery("#lotof_points").hide();
			jQuery('#id_cgi').hide();
			jQuery('#inscriptionForm').bind('submit',function(){return false;});
		} else {
			jQuery("#lotof_points").hide();
			jQuery("#not_enought_points").hide();
			jQuery('#id_cgi').show();
			jQuery('#inscriptionForm').unbind('submit');
		}
	};
	
	jQuery("#part_stage input").bind("click",function(event){
		
		if(jQuery('#declaration1').is(':checked')) 
		{
			jQuery('#part_stage input[type=radio][id^=casDeclare]').removeAttr('disabled');
			jQuery('#part_stage input[type=radio][id^=stage_cas]').attr('disabled','disabled');
			jQuery('#stage_volontaire').show();
			jQuery('#stage_obligatoire').hide();

			jQuery('#info48').hide();
			jQuery('#info_cas3').hide();
			
			jQuery('#conditions').show();
			jQuery('#acceptCgi').show();
			jQuery('#submit_cas3').hide();
			jQuery('#cgi_text1').show();
			jQuery('#cgi_text2').hide();
			jQuery('#bt_continuer').show();
			jQuery('#declareBis').attr('disabled','disabled');
			
			if(jQuery('#casDeclare1').is(':checked')){
				jQuery('#declare').removeAttr('disabled');
				nb_points(jQuery("#declare"));
				jQuery("#declare").keyup(function(){
					nb_points(this);
				});
			} else if(jQuery('#casDeclare2').is(':checked')){
				jQuery('#submit_cas3').hide(); 
				jQuery('#cgi_text1').show(); 
				jQuery('#cgi_text2').hide();
				
				jQuery("#lotof_points").hide();
				jQuery("#not_enought_points").hide();
				jQuery('#id_cgi').show();
				jQuery('#inscriptionForm').unbind('submit');
				jQuery('#inscriptionForm').submit(function() {
					var ville = jQuery(this).find('#ville').val();
					var codePostal = jQuery(this).find('#cp').val();
					var dep = jQuery(this).find('#cp').val().substr(0,2);
				 _gaq.push(['_trackEvent', 'formulaire', dep+'|'+codePostal+'|'+ville]);
				  return true;
			    });
				jQuery('#declare').attr('disabled','disabled');
			}
		} else if(jQuery('#declaration2').is(':checked')) 
		{
			jQuery('#part_stage input[type=radio][id^=casDeclare]').attr('disabled','disabled');
			jQuery('#part_stage input[type=radio][id^=stage_cas]').removeAttr('disabled');
			jQuery('#stage_volontaire').hide();
			jQuery('#stage_obligatoire').show();

			jQuery("#lotof_points").hide();
			jQuery("#not_enought_points").hide();
			jQuery('#info48').show();
			jQuery('#info_cas3').hide();
			
			jQuery('#conditions').show();
			jQuery('#acceptCgi').show();
			jQuery('#submit_cas3').hide();
			jQuery('#cgi_text1').hide();
			jQuery('#cgi_text2').show();
			jQuery('#bt_continuer').show();
			jQuery('#declare').attr('disabled','disabled');
			jQuery('#declareBis').removeAttr('disabled');
			
			if(jQuery('#stage_cas2').is(':checked')){
				jQuery("#lotof_points").hide();
				jQuery("#not_enought_points").hide();
				jQuery('#id_cgi').show();
				jQuery('#inscriptionForm').unbind('submit');
				jQuery("#declareBis").keyup(function(){
					var value = parseInt(jQuery(this).val());
					jQuery(this).val(!isNaN(value)?value:'');
				 	if(value >12) {
				 		jQuery(this).val(jQuery(this).val().substr(0,jQuery(this).val().length - 1));
				 	} else {
						jQuery("#lotof_points").hide();
						jQuery("#not_enought_points").hide();
						jQuery('#id_cgi').show();
						//jQuery('#inscriptionForm').unbind('submit');
						jQuery('#inscriptionForm').submit(function() {
							var ville = jQuery(this).find('#ville').val();
							var codePostal = jQuery(this).find('#cp').val();
							var dep = jQuery(this).find('#cp').val().substr(0,2);
						 _gaq.push(['_trackEvent', 'formulaire', dep+'|'+codePostal+'|'+ville]);
						  return true;
					    });
					}
				});
			} else if(jQuery('#stage_cas3').is(':checked')){
				jQuery('#stage_volontaire').hide();
				jQuery('#stage_obligatoire').show();

				jQuery('#info48').hide();
				jQuery('#info_cas3').show();
				
				jQuery('#conditions').show();
				jQuery('#acceptCgi').hide();
				jQuery('#submit_cas3').show();
				jQuery('#cgi_text1').hide();
				jQuery('#cgi_text2').hide();
				jQuery('#bt_continuer').hide();
				//jQuery('#inscriptionForm').bind('submit',function(){return false;});
				jQuery('#inscriptionForm').submit(function(){return false;});
			} else if(jQuery('#stage_cas4').is(':checked')){
				jQuery('#stage_volontaire').hide();
				jQuery('#stage_obligatoire').show();
				jQuery('#id_cgi').show();
	            
				jQuery('#info48').hide();
				jQuery('#info_cas3').hide();
				
				jQuery('#conditions').show();
				jQuery('#acceptCgi').show();
				jQuery('#submit_cas3').hide();
				jQuery('#cgi_text1').hide();
				jQuery('#cgi_text2').show();
				jQuery('#bt_continuer').show();
				//jQuery('#inscriptionForm').unbind('submit');
				jQuery('#inscriptionForm').submit(function() {
					var ville = jQuery(this).find('#ville').val();
					var codePostal = jQuery(this).find('#cp').val();
					var dep = jQuery(this).find('#cp').val().substr(0,2);
				 _gaq.push(['_trackEvent', 'formulaire', dep+'|'+codePostal+'|'+ville]);
				  return true;
			    });
				//jQuery('#inscriptionForm').bind('submit',function(){return false;});
			} else {
				jQuery('#stage_cas2').attr('checked','checked')
			}
		}
		
		saveAjax();
	});
	
	jQuery(".uncompleted input").change(function(){
		if(jQuery(this).val() != '') {
			jQuery(this).parents(".uncompleted").removeClass('uncompleted');
		}
	 });
	 jQuery(".uncompleted select").change(function(){
	 	if(isNumber(jQuery(this).val())){
	 		id = jQuery(this).attr('id');
	 		if(id.indexOf("date_naissance")>0){
	 			if(0<jQuery("#jour_date_naissance option:selected").val() &&
	 				 0<jQuery("#mois_date_naissance option:selected").val() &&
	 				 0<jQuery("#annee_date_naissance option:selected").val()) {
	 						jQuery(this).parents(".uncompleted").removeClass('uncompleted');
	 			} 
	 		}else if(id.indexOf("permis_date")>0){
	 			if(0<jQuery("#jour_permis_date option:selected").val() &&
	 				 0<jQuery("#mois_permis_date option:selected").val() &&
	 				 0<jQuery("#annee_permis_date option:selected").val()) {
	 						jQuery(this).parents(".uncompleted").removeClass('uncompleted');
	 			}
	 		}else if(id.indexOf("permis_obtention")>0){
	 			if(0<jQuery("#jour_permis_obtention option:selected").val() &&
	 				0<jQuery("#mois_permis_obtention option:selected").val() &&
	 				 0<jQuery("#annee_permis_obtention option:selected").val()) {
	 						jQuery(this).parents(".uncompleted").removeClass('uncompleted');
	 			} 
	 		} else {
					jQuery(this).parents(".uncompleted").removeClass('uncompleted');
	 		}
	 	} 
	 });

	jQuery("#inscriptionForm input[type!=hidden],#inscriptionForm select").bind({
		focusin:function(){
			jQuery(this).parents('li:first').addClass("focus");
			jQuery(this).siblings('.gris').show();
			var id = jQuery(this).attr('id');
			if(id == 'permis_num'){
				jQuery('#h15').show();
			} else if(id == 'permis_lieu'){
				jQuery('#h13').show();
			} else if(id == 'jour_permis_obtention' || id == 'mois_permis_obtention' || id == 'annee_permis_obtention'){
				jQuery('#h14').show();
			} else if(id == 'jour_permis_date' || id == 'mois_permis_date' || id == 'annee_permis_date'){
				jQuery('#h18').show();
			}
		},
		blur:function(){
			jQuery(this).parents('li:first').removeClass("focus");	
			jQuery(this).siblings('.gris').hide();
			jQuery(this).change(saveAjax());
			var id = jQuery(this).attr('id');
			if(id == 'permis_num'){
				jQuery('#h15').hide();
			} else if(id == 'permis_lieu'){
				jQuery('#h13').hide();
			} else if(id == 'jour_permis_obtention' || id == 'mois_permis_obtention' || id == 'annee_permis_obtention'){
				jQuery('#h14').hide();
			} else if(id == 'jour_permis_date' || id == 'mois_permis_date' || id == 'annee_permis_date'){
				jQuery('#h18').hide();
			} else if(id == 'declare' && jQuery(this).val() >8){
				jQuery('#points_message').show();
			} else if(id == 'email'){
				cocheEmail();
			}
		}
	});
});
