function slideFolio(col){
	// A chaque changement de page, le focus est le haut du formulaire
	window.location = "#misterassur_ancre";

	// Header du formulaire : Changement onglet
	$("form_etapes").getElements('li').each(
		function(obj, index){
			if(index < col)	obj.style.background = "url(../img/form_etape_vie_on.png)";
			else			obj.style.background = "url(../img/form_etape_vie_off.png)";
		}
	);

	$("form_etapes").getElements("li").removeClass("current");
	$("trigger"+col).addClass("current");

	// Header du formulaire - curseur : Effet slide
	var pos = 100 + ((col - 1) * 300);
	var myFx = new Fx.Morph($("form_etapes_cursor"), {duration: 1000, transition: Fx.Transitions.Sine.easeOut});
	myFx.start({"left": pos+"px"});

	// Formulaire : Effet slide
	var pos = ((col-1) * -600);
	var myFx = new Fx.Morph($("folio"), {duration: 1000, transition: Fx.Transitions.Sine.easeOut});
	myFx.start({"left": pos});
}

window.addEvent('domready', function(){
	Element.implement({
		//implement show
		show: function() {
			this.setStyle('display','');
		},
		//implement hide
		hide: function() {
			this.setStyle('display','none');
		}
	});

	if($("insee").value == "")	$("insee").hide();

	// Nettoyage des valeurs par défaut - MonySpot
	nettoyage_monyspot();

	$('form_etapes').getElements('li').addEvent('click', formulaire_valider);

	// Fonction de validation des étapes du formulaire
	$$('input.bouton_precedent').addEvent('click', formulaire_valider);
	$$('input.bouton_suivant').addEvent('click', formulaire_valider);
	$$('input.bouton_valider').addEvent('click', formulaire_valider);

	// Dynamisme
	$("cp").addEvent('blur', function(){	recup_ville("cp");});
	$$('input[name^=contrat_ass_vie]').addEvent("click", function(){ contrat_actuel(this)});

	// Afficher/masquer des éléments du formulaire
	$$('tr[class=infos_contrat_actuel]').hide();

});

// Nettoyage des valeurs par défaut - MonySpot
function nettoyage_monyspot(){
	if ($("nom").get('value') == "MON NOM"){
		$("nom").set("value", "");
	}

	if ($("prenom").get('value') == "Mon Prenom"){
		$("prenom").set("value", "");
	}

	if ($("adresse").get('value') == "mon adresse"){
		$("adresse").set("value", "") ;
	}

	if ($("email").get('value').slice(-13) == "@monyspot.com"){
		$("email").set("value", ""); 
	}

	if ($("tel_mobile").get('value') == "0606060606"){
		$("tel_mobile").set("value", "") ; 
	}
}

function contrat_actuel(oui_non){
	oui_non.value == 1 ? $$('tr[class=infos_contrat_actuel]').show() : $$('tr[class=infos_contrat_actuel]').hide();
}


function recup_ville(cp){
	if(cp == "cp_stationnement")	var insee = "insee_stationnement";
	else if(cp == "cp_travail")		var insee = "insee_travail";
	else							var insee = "insee";

	$(insee).options.length = 0;

	if($(cp).value != "" && $(cp).value.length >= 5){
		var req = new Request({
			method: 'post',
			url: '../inc/_liste_ville.php',
			data: {
				'code_postal':$(cp).value
			},
			onComplete: function(){
				var xml = this.response.xml;
				var tab_insee = xml.getElementsByTagName("insee");
				var tab_ville = xml.getElementsByTagName("ville");

				for (i=0;i<tab_insee.length;i++){
					thisinsee = tab_insee.item(i).firstChild.data;
					thisville = tab_ville.item(i).firstChild.data;

					var comboBox  = new Element('option', {'value': thisinsee, 'text': thisville});
					$(insee).adopt(comboBox);
				}

				$(insee).show();
			}
		}).send();
	} else{
		$(insee).hide();
	}
}

function formulaire_valider(){
	licurrent = $("form_etapes").getElements("li[class=current]").getLast().get("id");
	num_page = parseInt(licurrent.replace("trigger", ""));

	var msg = "";
	$$("label").setStyle('color', '#000');

	if(num_page == 1){ // Projet
		if($('contrat_ass_vie_0').checked == true){
			$('frais_entree').value = 0;
			$('frais_gestion').value = 0;
		}
		else{
			if(isNaN($("frais_entree").value)){
				msg+= "\n- "+$("frais_entree").getParent('tr').getElement('label').innerHTML;
				$("frais_entree").getParent('tr').getElement('label').style.color = "red";
			}

			if(isNaN($("frais_gestion").value)){
				msg+= "\n- "+$("frais_gestion").getParent('tr').getElement('label').innerHTML;
				$("frais_gestion").getParent('tr').getElement('label').style.color = "red";
			}
		}
	}

	else if(num_page == 2){ // Coordonnées
		var verif_nom = new RegExp(/[^a-zàâéèêîôûù\'\-\s]/gi);

		if($("nom").value == "" || $("nom").value.length == 1 || verif_nom.test($("nom").value)){
			msg+= "\n- "+$("nom").getParent('tr').getElement('label').innerHTML;
			$("nom").getParent('tr').getElement('label').style.color = "red";
		}

		var verif_prenom = new RegExp(/[^a-zàâéèêîôûù\'\-\s]/gi);

		if($("prenom").value == "" || $("prenom").value.length == 1 || verif_prenom.test($("prenom").value)){
			msg+= "\n- "+$("prenom").getParent('tr').getElement('label').innerHTML;
			$("prenom").getParent('tr').getElement('label').style.color = "red";
		}
		if($("adresse").value == "" || $("adresse").value.length < 5){
			msg+= "\n- "+$("adresse").getParent('tr').getElement('label').innerHTML;
			$("adresse").getParent('tr').getElement('label').style.color = "red";
		}
		if($("cp").value == "" || $("cp").value.length < 5 || isNaN($("cp").value) || $("insee").value == ""){
			msg+= "\n- "+$("cp").getParent('tr').getElement('label').innerHTML;
			$("cp").getParent('tr').getElement('label').style.color = "red";
		}
		if($("date_naissance_a").value == 0){
			msg+= "\n- "+$("date_naissance_a").getParent('tr').getElement('label').innerHTML;
			$("date_naissance_a").getParent('tr').getElement('label').style.color = "red";
		}

		var verif_email = new RegExp(/^[A-Za-z0-9._-]+@[A-Za-z0-9.-]{2,}[.][A-Za-z]{2,3}$/);

		if(!verif_email.test($("email").value)){
			msg+= "\n- "+$("email").getParent('tr').getElement('label').innerHTML;
			$("email").getParent('tr').getElement('label').style.color = "red";
		}
		else if($("email").get('value').slice(-3) != 'org' && $("email").get('value').slice(-3) != 'com' && $("email").get('value').slice(-3) != 'net' && 
		   $("email").get('value').slice(-2) != 'fr' && $("email").get('value').slice(-2) != 'eu') {
			msg+= "\n- "+$("email").getParent('tr').getElement('label').innerHTML;
			$("email").getParent('tr').getElement('label').style.color = "red";
		}
		else if($("email").get('value').slice(-17) == '@adresseemail.org' || $("email").get('value').slice(-17) == '@adresseemail.com' || 
		   $("email").get('value').slice(-17) == '@adresseemail.net' || $("email").get('value').slice(-16) == '@adresseemail.fr' || 
		   $("email").get('value').slice(-16) == '@adresseemail.eu' || 
		   $("email").get('value').slice(-16) == '@adresseemail.org' || $("email").get('value').slice(-16) == '@adresseemail.com' || 
		   $("email").get('value').slice(-16) == '@adresseemail.net' || $("email").get('value').slice(-15) == '@adresseemail.fr' || 
		   $("email").get('value').slice(-15) == '@adresseemail.eu' || 
		   $("email").get('value').slice(-9) == '@mail.org' || $("email").get('value').slice(-9) == '@mail.com' || 
		   $("email").get('value').slice(-9) == '@mail.net' || $("email").get('value').slice(-8) == '@mail.fr' || 
		   $("email").get('value').slice(-8) == '@mail.eu' || 
		   $("email").get('value').slice(-8) == '@gmx.org' || $("email").get('value').slice(-8) == '@gmx.com' || 
		   $("email").get('value').slice(-8) == '@gmx.net' || $("email").get('value').slice(-7) == '@gmx.fr' || 
		   $("email").get('value').slice(-7) == '@gmx.eu' || 
		   $("email").get('value').slice(-13) == '@facebook.org' || $("email").get('value').slice(-13) == '@facebook.com' || 
		   $("email").get('value').slice(-13) == '@facebook.net' || $("email").get('value').slice(-12) == '@facebook.fr' || 
		   $("email").get('value').slice(-12) == '@facebook.eu' || 
		   $("email").get('value').slice(-11) == '@meetic.org' || $("email").get('value').slice(-11) == '@meetic.com' || 
		   $("email").get('value').slice(-11) == '@meetic.net' || $("email").get('value').slice(-10) == '@meetic.fr' || 
		   $("email").get('value').slice(-10) == '@meetic.eu' || $("email").get('value').slice(-10) == '@email.org' || 
		   $("email").get('value').slice(-10) == '@email.com' || $("email").get('value').slice(-10) == '@email.net' || 
		   $("email").get('value').slice(-9) == '@email.fr' || $("email").get('value').slice(-9) == '@email.eu'){
			msg+= "\n- "+$("email").getParent('tr').getElement('label').innerHTML;
			$("email").getParent('tr').getElement('label').style.color = "red";
		}

		if($("tel_mobile").value != "" || $("tel_bureau").value != "" || $("tel_domicile").value != ""){
			var verif_tel = new RegExp(/^(06|07)[0-9]{8}/gi);

			if($("tel_mobile").value != "" && !verif_tel.test($("tel_mobile").value)){
				msg+= "\n- "+$("tel_mobile").getParent('tr').getElement('label').innerHTML;
				$("tel_mobile").getParent('tr').getElement('label').style.color = "red";
			}

			var verif_tel = new RegExp(/^(01|02|03|04|05|06|07|08|09)[0-9]{8}/gi);

			if($("tel_bureau").value != "" && !verif_tel.test($("tel_bureau").value)){
				msg+= "\n- "+$("tel_bureau").getParent('tr').getElement('label').innerHTML;
				$("tel_bureau").getParent('tr').getElement('label').style.color = "red";
			}

			var verif_tel = new RegExp(/^(01|02|03|04|05|06|07|08|09)[0-9]{8}/gi);

			if($("tel_domicile").value != "" && !verif_tel.test($("tel_domicile").value)){
				msg+= "\n- "+$("tel_domicile").getParent('tr').getElement('label').innerHTML;
				$("tel_domicile").getParent('tr').getElement('label').style.color = "red";
			}
		} else{
			msg+= "\n- un numéro de téléphone (mobile, bureau, domicile)";
			$("tel_mobile").getParent('tr').getElement('label').style.color = "red";
			$("tel_bureau").getParent('tr').getElement('label').style.color = "red";
			$("tel_domicile").getParent('tr').getElement('label').style.color = "red";
		}

		// Données personnelles
		if($("emailing_0") && $("emailing_0").checked == false && $("emailing_1").checked == false){
			msg+= "\n- "+$("emailing_0").getParent('table').getElement('label').innerHTML;
			$("emailing_0").getParent('table').getElement('label').style.color = "red";
		}
	}

	if(msg != ""){
		msg = "Veuillez renseigner les informations suivantes :"+msg;

		alert(msg);
		return false;
	}

	if(this.get("class") == "bouton_valider")			$("misterassur_content").getElement("form").submit();
	else if(this.get("class") == "bouton_suivant")		slideFolio(num_page + 1);
	else if(this.get("class") == "bouton_precedent")	slideFolio(num_page - 1);
	else{
		num_page_clicked = parseInt(this.get("id").replace("trigger", ""));
		if($("content_navigation") || num_page_clicked <= num_page + 1)	slideFolio(num_page_clicked);
	}
}
