/*

Fonctions pour controler les champs d'un formulaire en cours de saisie
- isMailX : champ email (obligatoire + validité syntaxique de l'adresse) ;
- checkRFV : champ input text ou textarea (obligatoire) ;
- IsContactFormValid : lancement de la vérif sur tous les champs du formulaires

*/

// Change la couleur du texte dans les INPUT
var errcolor = '#FF0000';
var okcolor = '#000000';
var inicolor = '#A0A0A0';


window.onload = function()
	{

	document.getElementById("rfPhone").onfocus = function()
		{
		onfocusdone ('rfPhone', 'votre téléphone (10 chiffres)');
		}
	document.getElementById("rfPhone").onblur = function()
		{
		onblurdone ('rfPhone', 'votre téléphone (10 chiffres)');
		}

	document.getElementById("rfEmail").onfocus = function()
		{
		onfocusdone ('rfEmail', 'votre e-mail');
		}
	document.getElementById("rfEmail").onblur = function()
		{
		onblurdone ('rfEmail', 'votre e-mail');
		}

	document.getElementById("rfMessage").onfocus = function()
		{
		onfocusdone ('rfMessage', 'votre message');
		}
	document.getElementById("rfMessage").onblur = function()
		{
		onblurdone ('rfMessage', 'votre message');
		}

	}




function isMailX(rfvMsg, bFocus)
	{
	// Vérifie si le contenu de l'objet cValidate est une un e-mail syntaxiquement correct
	var tmp;
	var p;
	p = /^([^\s]+)@([^\s]+).(ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dk|dj|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|fx|ga|gd|ge|gf|gg|gh|gi|gl|gn|gp|gq|gr|gs|gt|gu|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mx|mw|my|mz|na|nc|nf|ne|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|ph|pk|pl|pm|pn|pq|pr|pt|py|pw|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|sv|sy|sz|tc|td|tf|th|tj|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zr|zm|zw|aero|biz|com|coop|edu|info|int|net|org|mil|museum|name|pro|gov)$/
//	p = /^([-!#$%&\'*+\\./0-9\.A-Z_a-z{|}~]+[0-9A-Za-z])@([-!#$%&\'*+\\/0-9\.A-Z_a-z{|}~]).(ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dk|dj|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|fx|ga|gd|ge|gf|gg|gh|gi|gl|gn|gp|gq|gr|gs|gt|gu|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mx|mw|my|mz|na|nc|nf|ne|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|ph|pk|pl|pm|pn|pq|pr|pt|py|pw|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|sv|sy|sz|tc|td|tf|th|tj|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zr|zm|zw|aero|biz|com|coop|edu|info|int|net|org|mil|museum|name|pro|gov)$/

	ok=false;
	tmp=rfvMsg.value;
	if (tmp.match(p)) ok=true; 

	if (!ok) rfvMsg.style.color= errcolor; else rfvMsg.style.color= okcolor;

	return ok;

} 

function isPhoneNumber(rfvMsg, bFocus)
	{
	// Vérifie si le contenu de l'objet cValidate est une chaine numérique
	var tmp;
	var p;
	p = /^[0-9]*$/

	ok=false;
	tmp=rfvMsg.value;
	if (tmp.match(p)) 
		{
		ok= (tmp.length == 10);
		}
	if (!ok) rfvMsg.style.color= errcolor; else rfvMsg.style.color= okcolor;

	return ok;
} 


function IsContactFormValid(inimsgcontent)
	{
	// Vérifie tous les champs obligatoires du formulaire
	// inimsgcontent contient la valeur initiale du textarea Message, si ce dernier est égal à inimsgcontent (ex.: entrez votre texte)
	// C'est que le champ message n'a pas été modifié
	
	
	var objform = document.getElementById('frmContact');
	var bValid = true;
	if(!checkRFV(document.getElementById('rfMessage'), true)) { bValid = false; }
	if(!isPhoneNumber(document.getElementById('rfPhone'), true)) { bValid = false; }
	if(!isMailX(document.getElementById('rfEmail'), true)) { bValid = false; } 

	
	// Vérification du contenu du textarea message
	o1=document.getElementById('rfMessage');
	if (o1.value == inimsgcontent)
		{
		o1.style.color= errcolor;
		bValid=false;
		}

	if(bValid)
		{
		// Envoi du formulaire
		objform.submit();
		}
	}
	
function checkRFV(rfvMsg)
	{
	return checkRFV(rfvMsg, true);
	}
	
function checkRFV(rfvMsg, bFocus)
	{
	ok=true;
	if(rfvMsg.value.length == 0)
		{
		ok=false;
		rfvMsg.style.color= errcolor;
		}
	else
		{
		rfvMsg.style.color= okcolor;
		}

	return ok;
	}

function onfocusdone (id, inicontent)
	{
	// L'objet id reçoit le focus
	if (document.getElementById(id).value==inicontent) document.getElementById(id).value='' ;
	document.getElementById(id).style.color=okcolor;
	return true;
	}

function onblurdone (id, inicontent)
	{
	// L'objet id perd le focus
	if (document.getElementById(id).value.length == 0) 
	    	{
		document.getElementById(id).value=inicontent ;
	    	document.getElementById(id).style.color=inicolor;
		}
	return true;
	}


