/***                 Fonctions raccourcis                                               ***/
function GetId(id){return document.getElementById(id); } 
function $(id)    {return document.getElementById(id)}
function $n(name) {return document.getElementsByName(name)}
function $tn(n)   {return document.getElementsByTagName(n)}
function $mps(noeud,propriete,valeur){	noeud.style[propriete]=valeur; } // modification de la valeur d'une propriete de style


/***                 Expressions régulières                                             ***/
function estMail(expr)
{
	expression=new RegExp("^[a-zA-Z0-9_\\-\\.]{2,}@[a-zA-Z0-9\\-_]{2,}\\.[a-zA-Z]{2,4}$", "g");
	return expression.test(expr);
}
function estNombre(variable)
{
	var exp = new RegExp("^[0-9]+$","g");
	return exp.test(variable);
} 
function estTel(expr)
{
	expression=new RegExp("^(([0-9]){2}((-|.| )?)){5}","i");
	return expression.test(expr);
}



/*** 				Vérification des formulaires					***/

function valide_reservation ()
{
	var nb_erreurs = 0;
	var msg_erreurs = '';

	if ( document.getElementById('qty_adultes').value == '0' && document.getElementById('qty_enfants').value == '0' && document.getElementById('qty_speciaux').value == '0' )
	{
		document.getElementById('qty_adultes').style.border = '1px solid red';
		document.getElementById('qty_enfants').style.border = '1px solid red';	
		document.getElementById('qty_speciaux').style.border = '1px solid red';	
		msg_erreurs += "\n-You must reserve at least one seat.";
		++nb_erreurs;
	}
	else
	{
		document.getElementById('qty_adultes').style.border = '';
		document.getElementById('qty_enfants').style.border = '';
		document.getElementById('qty_speciaux').style.border = '';
	}
	
	if ( document.getElementById('nom').value == '' )
	{
		document.getElementById('nom').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide your name.";
		++nb_erreurs;
	}
	else
		document.getElementById('nom').style.border = '';
	
	if ( document.getElementById('email').value == '' )
	{
		document.getElementById('email').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide your email.";
		++nb_erreurs;
	}
	else
	{
		if (!estMail(document.getElementById('email').value))
		{
			document.getElementById('email').style.border = '1px solid red';
			msg_erreurs += "\n-Your email is invalid.";
			++nb_erreurs;
		}
		else
			document.getElementById('email').style.border = '';
	}
	
	if ( document.getElementById('tel').value == '' )
	{
		document.getElementById('tel').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide your telephone number.";
		++nb_erreurs;
	}
	else
		document.getElementById('tel').style.border = '';
	
	if (nb_erreurs)
	alert ('Your form has not been filled in correctly. Here are the errors:' + msg_erreurs );
	
	return (nb_erreurs ? false : true);
	
}


function valide_contact_affretement ()
{
	var nb_erreurs = 0;
	var msg_erreurs = '';

	if ( document.getElementById('nom').value == '' )
	{
		document.getElementById('nom').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide your name.";
		++nb_erreurs;
	}
	else
		document.getElementById('nom').style.border = '';
		
	if ( document.getElementById('societe').value == '' )
	{
		document.getElementById('societe').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide your organisation.";
		++nb_erreurs;
	}
	else
		document.getElementById('societe').style.border = '';
	
	if ( document.getElementById('email').value == '' )
	{
		document.getElementById('email').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide your email.";
		++nb_erreurs;
	}
	else
	{
		if (!estMail(document.getElementById('email').value))
		{
			document.getElementById('email').style.border = '1px solid red';
			msg_erreurs += "\n-Your email is invalid.";
			++nb_erreurs;
		}
		else
			document.getElementById('email').style.border = '';
	}
	
	if ( document.getElementById('tel').value == '' )
	{
		document.getElementById('tel').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide your telephone number.";
		++nb_erreurs;
	}
	else
		document.getElementById('tel').style.border = '';
	
	if (document.getElementById('nature_projet').value == "" )
	{
		document.getElementById('nature_projet').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide the nature of the project.";
		++nb_erreurs;
	}
	else
		document.getElementById('nature_projet').style.border = '';
	
	if (document.getElementById('effectif').value == "" )
	{
		document.getElementById('effectif').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide the number of group members.";
		++nb_erreurs;
	}
	else
		document.getElementById('effectif').style.border = '';
		
	if (document.getElementById('date_projet').value == "" )
	{
		document.getElementById('date_projet').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide the date of your project.";
		++nb_erreurs;
	}
	else
		document.getElementById('date_projet').style.border = '';
		
	if (document.getElementById('lieu_depart').value == "" || document.getElementById('lieu_depart').value == "Non definie" )
	{
		document.getElementById('lieu_depart').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide your place of departure.";
		++nb_erreurs;
	}
	else
		document.getElementById('lieu_depart').style.border = '';
		
	if (document.getElementById('heure_depart').value == "" || document.getElementById('heure_depart').value == "Non definie" )
	{
		document.getElementById('heure_depart').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide your time of departure.";
		++nb_erreurs;
	}
	else
		document.getElementById('heure_depart').style.border = '';
		
	if (document.getElementById('lieu_arrivee').value == "" || document.getElementById('lieu_arrivee').value == "Non definie" )
	{
		document.getElementById('lieu_arrivee').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide your place of arrival.";
		++nb_erreurs;
	}
	else
		document.getElementById('lieu_arrivee').style.border = '';
		
	if (document.getElementById('heure_arrivee').value == "" || document.getElementById('heure_arrivee').value == "Non definie" )
	{
		document.getElementById('heure_arrivee').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide your time of arrival.";
		++nb_erreurs;
	}
	else
		document.getElementById('heure_arrivee').style.border = '';
	
	if (nb_erreurs)
	alert ('Your form has not been filled in correctly. Here are the errors:' + msg_erreurs );
	
	return (nb_erreurs ? false : true);
}



function valide_devis_groupe ()
{
	var nb_erreurs = 0;
	var msg_erreurs = '';
	
	if ( document.getElementById('nom').value == '' )
	{
		document.getElementById('nom').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide your name.";
		++nb_erreurs;
	}
	else
		document.getElementById('nom').style.border = '';
	
	if ( document.getElementById('email').value == '' )
	{
		document.getElementById('email').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide your email.";
		++nb_erreurs;
	}
	else
	{
		if (!estMail(document.getElementById('email').value))
		{
			document.getElementById('email').style.border = '1px solid red';
			msg_erreurs += "\n-Your email is invalid.";
			++nb_erreurs;
		}
		else
			document.getElementById('email').style.border = '';
	}
	
	if ( document.getElementById('tel').value == '' )
	{
		document.getElementById('tel').style.border = '1px solid red';
		msg_erreurs += "\n-You must provide your telephone number.";
		++nb_erreurs;
	}
	else
		document.getElementById('tel').style.border = '';
	
	if (nb_erreurs)
	alert ('Your form has not been filled in correctly. Here are the errors:' + msg_erreurs );
	
	return (nb_erreurs ? false : true);
}