// JavaScript Document
function form_submit()
{
	
	var emailTx = document.getElementById("txMail").value;
	var nom = document.getElementById("txNom").value;
	var dvError = document.getElementById("error");
	var errorText = "";
	dvError.innerHTML ="";
	var j=0;
	for(var i=1;i<5;i++)
	{
		var emailTx1 = document.getElementById("txMail"+i).value;
		var nom1 = document.getElementById("txNom"+i).value;
		if(emailTx1 != "" || nom1 != "")
		{
			j++;
			if(emailTx1 == "")
				errorText += "* e-mail("+i+") est obligatoire<br/>";
			else
				if(!is_email(emailTx1))
				{
					
					errorText += "*  e-mail("+i+") est invalide<br/>";			
					
				}
				
			if(nom1 == "")
				errorText += "* nom("+i+") est obligatoire<br/>";
		}
	 }
	if(j == 0)
		errorText += "*Vous devez saisir au moins un ami<br/>";
	if(emailTx == "")
		errorText += "* votre e-mail est obligatoire<br/>";
	else
		if(!is_email(emailTx))
		{
			
			errorText += "* votre e-mail est invalide<br/>";			
			
		}
		
	if(nom == "")
		errorText += "* votre nom est obligatoire<br/>";
	dvError.innerHTML =errorText;
	if(errorText != "")
		return false;
	return true;
}
function validate(form) {
	
	var errors = "";
	var divError = document.getElementById("error");
	for (var i = 0;i < form.elements.length;i++) 
	{
		if (form.elements[i].id && form.elements[i].id != "") 
		{
			var tmp 	= form.elements[i].id.split(":");
			
			if(tmp.length > 1)
			{
				var label 	= tmp[0];
				var check	= tmp[1].split("-");
				
				
						
				for(j = 0;j < check.length;j++) 
				{
					if(check[j] == "R") {					
						errors += r_validation(form, i);
						if(errors)
						{
							//alert(errors);
							//divError.innerHTML = errors;
							//form.elements[i].focus();
							//return false;
						}
					}
					
					if(check[j] == "E") {
						if(!is_email(form.elements[i].value))
						{
							//alert("typed is not a valid e-mail address.\n");
						//	errors +="typed is not a valid e-mail address.\n";
						//	divError.innerHTML ="typed is not a valid e-mail address.\n";
							//form.elements[i].focus();
							//return false;
							errors +=   "L’adresse e-mail saisie n’est pas une adresse valide.<br/>";
						}
							//errors += "- " + label + " typed is not a valid e-mail address.\n";
					}
					
					if(check[j] == "N") {
						if(!is_number(form.elements[i].value))
							errors += "- " + label + "Doit contenir uniquement des valeurs numériques.<br/>";
					}
				}
			}
		}
	}
	
	if(errors) {
		divError.innerHTML = "Les erreurs suivantes sont survenues lors de la validation du formulaire :<br/>" + errors;
		return false;
	}

	return true;;
}
//-- END

//-- STRT check for require
function r_validation(form, i) {
	var msg = "";
	var tmp 	= form.elements[i].id.split(":");
	var label 	= tmp[0];
	
	if(form.elements[i].type == "radio") {
		var ok = false;
		eval("var radio = form." + form.elements[i].name);

		for (i = 0;i < radio.length;i++) {
			if (radio[i].checked)
				ok = true;
		}		
	
		if(ok == false)
			msg += label+" - " +  " ce champ est obligatoire .<br/>";
			
	} else if(form.elements[i].type == "checkbox") {
		var ok = false;		
		if(form.elements[i].checked)
			ok = true;
		
		if(ok == false)
			msg += label+" - " + " ce champ est obligatoire.<br/>";			
	} else { 
		if(form.elements[i].value == "") {
			msg += label+" - " + " ce champ est obligatoire.<br/>";
		}
	}
	
	return msg;
}
//-- END

//-- START check if the parameter is an e-mail address:
function is_email(str) {
	// are regular expressions supported?
	var supported = 0;
	if (window.RegExp) {
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supported = 1;
	}
	if (!supported)
		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	return (!r1.test(str) && r2.test(str));
}
//-- END

//-- START check if the parameter is a number (composed only of digits):
function is_number(str) {
	if (str.length == 0) 
		return false;
	
	for (var i = 0;i < str.length;i++)
		if ((str.substring(i,i + 1) < '0') || (str.substring(i,i + 1) > '9')) 
			return false;
			
	return true;
}
