// JavaScript Document

$(document).ready(function(){
	$("#content_formulaire input[type='text'], #coordonnee input, #content_formulaire textarea, #content_formulaire button").uniform();
	
});

function form_valid()
{
	var message_user="";
	var nom=document.getElementById("name").value;
	var prenom=document.getElementById("prenom").value;
	var tel=document.getElementById("tel").value;
	var ent=document.getElementById("ent").value;
	var mail=document.getElementById("mail").value;
	var ville=document.getElementById("ville").value;
	var message=document.getElementById("element_saisirMessage").value;
	var submit=false;
	
	//expression réguliere pour une chaine de caractere non vide et ne contenant rien d'autre que des lettres et des - ou des '
	var reg=/^([a-zA-Zàáâãäåçèéêëìíîïðòóôõöùúûüýÿ]|[-' ])+$/;
	
	//expression réguliere pour une chaine de caractère correspondant à un numéro de téléphone
	var reg_tel=/^(\d{2}(-|\.| )*){5}$/;
	
	//expression réguliere pour une chaine de caractère correspondant à une adresse email
	var reg_mail=/^([a-zA-Z0-9]|[-\._])+@[a-zA-Z0-9]+\.[a-zA-Z]{2,5}$/;
	if (nom=="" || !reg.test(nom))
	{
		message_user+=" Nom";
		document.getElementById('name').style.borderColor="#CC0000";
		document.getElementById('name').style.borderWidths="1px";
		if (message_user!="")
		{
			message_user+=",";
		}
	}
	else{
		document.getElementById('name').style.borderColor="#AAAAAA #CCCCCC #CCCCCC #AAAAAA";
		document.getElementById('name').style.borderWidths="1px";
	}
	if (prenom=="" || !reg.test(prenom))
	{
			message_user+=" Prénom";
			document.getElementById('prenom').style.borderColor="#CC0000";
			document.getElementById('prenom').style.borderWidths="1px";
			if (message_user!="")
			{
				message_user+=",";
			}
	}
	else{
		document.getElementById('prenom').style.borderColor="#AAAAAA #CCCCCC #CCCCCC #AAAAAA";
		document.getElementById('prenom').style.borderWidths="1px";
	}
	if (ville=="" || !reg.test(ville))
	{
		message_user+=" Ville";	
		document.getElementById('ville').style.borderColor="#CC0000";
		document.getElementById('ville').style.borderWidths="1px";
		if (message_user!="")
		{
			message_user+=",";
		}
	}
	else{
		document.getElementById('ville').style.borderColor="#AAAAAA #CCCCCC #CCCCCC #AAAAAA";
		document.getElementById('ville').style.borderWidths="1px";
	}
	if (ent=="")
	{
		message_user+=" Entreprise";
		document.getElementById('ent').style.borderColor="#CC0000";
		document.getElementById('ent').style.borderWidths="1px";
		if (message_user!="")
		{
			message_user+=",";
		}
	}
	else{
		document.getElementById('ent').style.borderColor="#AAAAAA #CCCCCC #CCCCCC #AAAAAA";
		document.getElementById('ent').style.borderWidths="1px";
	}
	if (message=="")
	{
		document.getElementById('element_saisirMessage').style.borderColor="#CC0000";
		document.getElementById('element_saisirMessage').style.borderWidths="1px";
		message_user+=" Message";
		if (message_user!="")
		{
			message_user+=",";
		}
	}
	else{
		document.getElementById('element_saisirMessage').style.borderColor="#AAAAAA #CCCCCC #CCCCCC #AAAAAA";
		document.getElementById('element_saisirMessage').style.borderWidths="1px";
	}
	if(tel=="" || !reg_tel.test(tel))
	{
		document.getElementById('tel').style.borderColor="#CC0000";
		document.getElementById('tel').style.borderWidths="1px";
		message_user+=" Téléphone";
		if (message_user!="")
		{
			message_user+=",";
		}
	}
	else{
		document.getElementById('tel').style.borderColor="#AAAAAA #CCCCCC #CCCCCC #AAAAAA";
		document.getElementById('tel').style.borderWidths="1px";
	}
	if (mail=="" || !reg_mail.test(mail))
	{
		document.getElementById('mail').style.borderColor="#CC0000";
		document.getElementById('mail').style.borderWidths="1px";
		message_user+=" Email";
	}
	else{
		document.getElementById('mail').style.borderColor="#AAAAAA #CCCCCC #CCCCCC #AAAAAA";
		document.getElementById('mail').style.borderWidths="1px";
	}
	if (message_user!="")
	{
		document.getElementById("message_to_user").innerHTML="Le champ suivant sont obligatoires et doivent être valides: "+message_user;
		document.getElementById("message_to_user").style.color="#CC0000";
	}
	else
	{
		// on effectue 
		xhr= new Xhr();
		// Le 3eme paramètre veut juste dire qu'on execute la requete en asynchrone (ca bloque pas la navigateur)
		xhr.open("POST", "send_form.php", true);
		// Quand la requete change d'état on appel une fonction qui affichera un message selon l'état.
		xhr.onreadystatechange= function(){ testerEtat(xhr) }
		// Précisons dans l'entête de la requete que les données son de type post.
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		// Création de la chaine de paramètre
		var req="nom="+nom+"&prenom="+prenom+"&tel="+tel+"&mail="+mail+"&ville="+ville+"&ent="+ent+"&message="+message;
		xhr.send(req);
	}
}

/*********				Fonction servant à effectuer la requete ajax !					**********************/

function Xhr(){
	var objRequete = null;
	try { objRequete = new ActiveXObject("Microsoft.XMLHTTP");}
	catch(Error) { try { objRequete = new ActiveXObject("MSXML2.XMLHTTP");}
		catch(Error) { try { objRequete = new XMLHttpRequest();
			// pour Ã©viter un bogue du navigateur Safari
				if (objRequete.overrideMimeType){
				objRequete.overrideMimeType("text/xml");
				}
			}
			catch(Error) { alert('Impossible de créer l\'objet XMLHttpRequest');}
		}
	}
	return objRequete;
} 

function testerEtat(xhr)
{
	if(xhr.readyState == 0) alert("Erreur : Requete non initialisé.");
	if(xhr.readyState == 4)
	{
		if(xhr.responseText=="vrai")
		{
			document.getElementById("message_to_user").innerHTML="Merci d'avoir pris contact avec nous, nous vous répondrons rapidement.";
			document.getElementById("message_to_user").style.color="#00CC00";
		}
		else{
			document.getElementById("message_to_user").innerHTML="Votre demande de contact a échoué veuillez recommencer";
			document.getElementById("message_to_user").style.color="#CC0000";
		}
	}
} 
