// JavaScript Document





function isEmailAddr(email)

{

  var result = false;

  var theStr = new String(email);

  var index = theStr.indexOf("@");

  if (index > 0)

  {

    var pindex = theStr.indexOf(".",index);

    if ((pindex > index+1) && (theStr.length > pindex+1))

	result = true;

  }

  return result;

}



function validRequired(formField,fieldLabel)

{

	var result = true;

	

	if (formField.value == "")

	{

		alert('Veuillez entrer une valeur pour le champ : "' + fieldLabel +'".');

		formField.focus();

		result = false;

	}

	

	return result;

}

function validPass(formField1,formField2)

{

	var result = false;
	var pass1 = formField1.value;
	var pass2 = formField2.value;
	

	if (pass1 != pass2)

	{

		alert('Veuillez entrer des valeurs identiques pour les deux champs.');

		formField2.focus();

		result = true;

	}

	

	return result;

}


function allDigits(str)

{

	return inValidCharSet(str,"0123456789");

}



function allIPDigits(str)

{

	return inValidCharSet(str,".0123456789");

}



function inValidCharSet(str,charset)

{

	var result = true;



	// Note: doesn't use regular expressions to avoid early Mac browser bugs	

	for (var i=0;i<str.length;i++)

		if (charset.indexOf(str.substr(i,1))<0)

		{

			result = false;

			break;

		}

	

	return result;

}



function validEmail(formField,fieldLabel,required)

{

	var result = true;

	

	if (required && !validRequired(formField,fieldLabel))

		result = false;



	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )

	{

		alert("Veuillez saisir une adresse email valide au format : yourname@yourdomain.com");

		formField.focus();

		result = false;

	}

   

  return result;



}



function validNum(formField,fieldLabel,required)

{

	var result = true;



	if (required && !validRequired(formField,fieldLabel))

		result = false;

  

 	if (result)

 	{

 		if (!allDigits(formField.value))

 		{

 			alert('Veuillez saisir un nombre pour le champ : "' + fieldLabel +'".');

			formField.focus();		

			result = false;

		}

	} 

	

	return result;

}





function validInt(formField,fieldLabel,required)

{

	var result = true;



	if (required && !validRequired(formField,fieldLabel))

		result = false;

  

 	if (result)

 	{

 		var num = parseInt(formField.value,10);

 		if (isNaN(num))

 		{

 			alert('Veuillez saisir un nombre pour le champ : "' + fieldLabel +'".');

			formField.focus();		

			result = false;

		}

	} 

	

	return result;

}





function validDate(formField,fieldLabel,required)

{

	var result = true;



	if (required && !validRequired(formField,fieldLabel))

		result = false;

  

 	if (result)

 	{

 		var elems = formField.value.split("/");

 		

 		result = (elems.length == 3); // should be three components

 		

 		if (result)

 		{

 			var month = parseInt(elems[0],10);

  			var day = parseInt(elems[1],10);

 			var year = parseInt(elems[2],10);

			result = allDigits(elems[1]) && (month > 0) && (month < 13) &&

					 allDigits(elems[0]) && (day > 0) && (day < 32) &&

					 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));

 		}

 		

  		if (!result)

 		{

 			alert('Veuillez saisir une date valide au format JJ/MM/AAAA pour le champ : "' + fieldLabel +'".');

			formField.focus();		

		}

	} 

	

	return result;

}



function validIP(formField,fieldLabel,required)

{

	var result = true;



	if (required && !validRequired(formField,fieldLabel))

		result = false;

  

 	if (result)

 	{

 		var elems = formField.value.split(".");

 		

 		result = (elems.length == 4); // should be three components

 		

 		if (result)

 		{

 			var ip_a = parseInt(elems[0],10);

  			var ip_b = parseInt(elems[1],10);

 			var ip_c = parseInt(elems[2],10);

 			var ip_d= parseInt(elems[3],10);



		result = allDigits(elems[0]) && (ip_a > 0) && (ip_a < 255) &&

					 allDigits(elems[1]) && (ip_b >= 0) && (ip_b < 255) &&

 					 allDigits(elems[2]) && (ip_c >= 0) && (ip_c < 255) &&

 					 allDigits(elems[3]) && (ip_d > 0) && (ip_d < 255);

 		}

 		

  		if (!result)

 		{

 			alert('Veuillez saisir une adresse IP valide au format xxx.xxx.xxx.xxx pour le champ : "' + fieldLabel +'".');

			formField.focus();		

		}

	} 

	

	return result;

}

function validIPMask(formField,fieldLabel,required)

{

	var result = true;



	if (required && !validRequired(formField,fieldLabel))

		result = false;

  

 	if (result)

 	{

 		var elems2 = formField.value.split("/");
 		var ip = elems2[0];
 		var mask = elems2[1];
 		
 		
 		
		var elems = ip.split(".");
 		

 		result = (elems.length == 4); // should be three components

 		

 		if (result)

 		{

 			var ip_a = parseInt(elems[0],10);

  			var ip_b = parseInt(elems[1],10);

 			var ip_c = parseInt(elems[2],10);

 			var ip_d= parseInt(elems[3],10);



		result = allDigits(elems[0]) && (ip_a > 0) && (ip_a < 255) &&

					 allDigits(elems[1]) && (ip_b >= 0) && (ip_b < 255) &&

 					 allDigits(elems[2]) && (ip_c >= 0) && (ip_c < 255) &&

 					 allDigits(elems[3]) && (ip_d > 0) && (ip_d < 255);

 		}

 		

  		if (!result)

 		{

 			alert('Veuillez saisir une adresse IP valide au format xxx.xxx.xxx.xxx pour le champ : "' + fieldLabel +'".');

			formField.focus();		

		}

	} 

	

	return result;

}

function validMask(formField,fieldLabel,required)

{

	var result = true;



	if (required && !validRequired(formField,fieldLabel))

		result = false;

  

 	if (result)

 	{

 		var elems = formField.value.split(".");

 		

 		result = (elems.length == 4); // should be three components

 		

 		if (result)

 		{

 			var ip_a = parseInt(elems[0],10);

  			var ip_b = parseInt(elems[1],10);

 			var ip_c = parseInt(elems[2],10);

 			var ip_d= parseInt(elems[3],10);



		result = allDigits(elems[0]) && (ip_a > 0) && (ip_a <= 255) &&

					 allDigits(elems[1]) && (ip_b >= 0) && (ip_b <= 255) &&

 					 allDigits(elems[2]) && (ip_c >= 0) && (ip_c <= 255) &&

 					 allDigits(elems[3]) && (ip_d >= 0) && (ip_d <= 255);

 		}

 		

  		if (!result)

 		{

 			alert('Veuillez saisir une masque reseau valide pour le champ : "' + fieldLabel +'".');

			formField.focus();		

		}

	} 

	

	return result;

} 

function validHour(formField,fieldLabel,required)

{

	var result = true;



	if (required && !validRequired(formField,fieldLabel))

		result = false;

  

		

 		if (result)

 		{

 			var hour = formField.value;



		result = allDigits(formField.value) && (hour >= 0) && (hour <= 23);

 		}

 		

  		if (!result)

 		{

 			alert('Veuillez saisir un nombre compris entre 00 et 23 pour le champ : "' + fieldLabel +'".');

			formField.focus();		

		}



	

	return result;

}

function validMinute(formField,fieldLabel,required)

{

	var result = true;



	if (required && !validRequired(formField,fieldLabel))

		result = false;

  

		

 		if (result)

 		{

 			var minute = formField.value;



		result = allDigits(formField.value) && (minute >= 0) && (minute <= 59);

 		}

 		

  		if (!result)

 		{

 			alert('Veuillez saisir un nombre compris entre 00 et 59 pour le champ : "' + fieldLabel +'".');

			formField.focus();		

		}



	

	return result;

}
