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_feu_mrh_on.png)";
			else			obj.style.background = "url(../img/form_etape_feu_mrh_off.png)";
		}
	);

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

	// Header du formulaire - curseur : Effet slide
	var pos = 75 + ((col - 1) * 200);
	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');   
		}   
	});

	// Afficher/masquer des éléments du formulaire
	show_appartement();
	if($("insee").value == "")					$("insee").hide();

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

	tab_aide_tag.each(
		function(obj, index){
			title = $(obj).getParent("tr").getElement("label");
			aide = $(obj).getParent("tr").getElements("td").getLast();
			aide.set("html", "");
			texte = tab_aide_texte[index];

			// Création de l'image d'aide
			var img = new Element('img', {
				'src': '../img/form_aide.png', 
				'title': title.innerHTML, 
				'rel': texte
			});
			img.inject(aide , 'top');

			// Déclaration de l'image en tant que TIP
			var toolTips = new Tips(img, {
				className: 'custom_tip'
			});
		}
	);

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

	$('cp').addEvent('blur', recup_ville);

	// Concordance des années d'assurance par rapport à la date de permis
	$('logement').addEvent('change', show_appartement);

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

// 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 show_appartement(){
	if($("logement").value == 1){
		$("appartement_etage").getParent("tr").show();
		$("appartement_gardien_1").getParent("tr").show();
	} else{
		$("appartement_etage").getParent("tr").hide();
		$("appartement_gardien_1").getParent("tr").hide();
	}
}

function recup_ville(){
	$("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 date_format(d, m, Y){
	date = new Date();
	date.setFullYear(Y);
	date.setMonth(m-1);
	date.setDate(d);

	return date;
}

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

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

	if(num_page == 1){ // Projet
		date_jour = new Date();
		date_effet = date_format($("date_effet_j").value, $("date_effet_m").value, $("date_effet_a").value);

		// Date d'effet inférieure à la date du jour
		if(date_effet.getTime() < date_jour.getTime()){
			msg+= "\n- La date d'effet doit être supérieure à la date du jour.";
		}
	}

	else if(num_page == 2){ // Surface
		if(this.get("class") == "bouton_suivant" || this.get("id") == "trigger"+num_page_suiv){
			if($("surface_habitable").value == "" || isNaN($("surface_habitable").value)){
				msg+= "\n- "+$("surface_habitable").getParent('tr').getElement('label').innerHTML;
				$("surface_habitable").getParent('tr').getElement('label').style.color = "red";
			}
			if($("surface_annexe").value == "" || isNaN($("surface_habitable").value)){
				msg+= "\n- "+$("surface_annexe").getParent('tr').getElement('label').innerHTML;
				$("surface_annexe").getParent('tr').getElement('label').style.color = "red";
			}
			if($("surface_loggias").value == "" || isNaN($("surface_habitable").value)){
				msg+= "\n- "+$("surface_loggias").getParent('tr').getElement('label').innerHTML;
				$("surface_loggias").getParent('tr').getElement('label').style.color = "red";
			}
			
		}
		else if(this.get("class") == "bouton_precedent" || this.get("id") == "trigger"+num_page_prec) slideFolio(num_page - 1);
	}

	else if(num_page == 3){ // Coordonnées
		if(this.get("class") == "bouton_valider" || this.get("id") == "trigger"+num_page_suiv){
			var verif_nom = new RegExp(/[^a-zàâéèêîôûù\'\-\s]/gi);

			if($("nom").value == "" || $("nom").value.length == 1 || verif_nom.test($("nom").value) || $("nom").value == "MON NOM"){
				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) || $("prenom").value == "Mon Prenom"){
				msg+= "\n- "+$("prenom").getParent('tr').getElement('label').innerHTML;
				$("prenom").getParent('tr').getElement('label').style.color = "red";
			}
			if($("adresse").value == "" || $("adresse").value.length < 5 || $("adresse").value == "mon adresse"){
				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";
			}
		}
		else if(this.get("class") == "bouton_precedent" || this.get("id") == "trigger"+num_page_prec) slideFolio(num_page - 1);
	}

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