var TRIM_LEFT  = 0x0001;
var TRIM_RIGHT = 0x0002;
var TRIM_BOTH  = TRIM_LEFT | TRIM_RIGHT;

function strTrim( varText, side )
{
	 var i = 0;
	 var j = varText.length - 1;

	 if( side & TRIM_LEFT )
  	 {
	    for( i = 0; i < varText.length; i++ )
		{
		 if( varText.substring( i, i+1 ) != " " && varText.substring( i, i+1 ) != "\t")
		   {
		     break;
		   }
		}
	 }

     if( side & TRIM_RIGHT )
	 {
	   for( j = varText.length - 1; j >= 0; j-- )
	   {
		if( varText.substring( j, j+1 ) != " " && varText.substring( j, j+1 ) != "\t")
		{
		   break;
		}
	   }
	 }

      if( i <= j )
	      return( varText.substring( i, (j+1) ) );
      else
	      return("");
}

function ValidarEmail(Campo, Mensaje)
{
	var perfect = true;

	with (Campo)
		{
		// Validar que los caracteres que contiene la cuenta de correo
		// esten dentro de los caracteres de la siguiente lista
		var car_validos = "0123456789abcdefghijlkmnopqrstuvwxyzABCDEFGHIJKMNOPQRSTUVWXYZ@.-_"
		var car_otros = "@.-_";

		for (var i=0; i < value.length; i++) {
			var ch = value.substring(i, i+1);
			if (car_validos.indexOf(ch) == -1) perfect = false;
		}

		apos = value.indexOf("@");
		lastpos = value.length-1;

		// Validar primer y ultimo caracter
		var car1 = value.substring(0, 1);
		var car2 = value.substring(lastpos, lastpos+1);
		if ((car_otros.indexOf(car1) != -1) || (car_otros.indexOf(car2) != -1)) perfect = false;

		// Validar anterior y siguiente caracter despues de "@"
		car1 = value.substring(apos-1, apos);
		car2= value.substring(apos+1, apos+2);
		if ((car_otros.indexOf(car1) != -1) || (car_otros.indexOf(car2) != -1)) perfect = false;

		// Buscar si existe otro simbolo "@" en el campo
		var subcadena = value.substring(apos + 1, 100);
		a2pos = subcadena.indexOf("@");
		spacepos = value.indexOf(" ");
		dotpos = value.lastIndexOf(".");

		posh=subcadena.indexOf(".");

		//if (apos < 1 || a2pos != -1 || dotpos - apos < 2 || lastpos - dotpos > 3 || lastpos - dotpos < 2 || spacepos != -1) {
		if (apos < 1 || a2pos != -1 || lastpos - dotpos < 2 || spacepos != -1||posh==-1) perfect = false;
		}

	    if (!perfect) 
		{
		alert('\n Correo invalido');
		Campo.focus();
		return false;
		}

	return true;

}

function ValidarIns()
{
   var Data;
   var Value;
   var Data2;
   var Value2;

   Data = document.frm.captcha;
   Value = strTrim(Data.value, TRIM_BOTH);
   if (Value.length != 3)
   {
		alert("The code entered to validate the form is not correct. You have to enter the 3 black characters displayed in the image.");
		Data.focus();
		return false;
   }
   
   Data = document.frm.nom;
   Value = strTrim(Data.value, TRIM_BOTH);
   if (Value.length == 0)
   {
		alert("The field Last Name is missing");
		Data.focus();
		return false;
   }

   Data = document.frm.prenom;
   Value = strTrim(Data.value, TRIM_BOTH);
   if (Value.length == 0)
   {
		alert("The field First Name is missing");
		Data.focus();
		return false;
   }
  
   
   Data = document.frm.mail;
   Value = strTrim(Data.value, TRIM_BOTH);
   if (Value.length == 0)
   {
		alert("The field E-mail is missing");
		Data.focus();
		return false;
   }
    if(!ValidarEmail(Data, "E-mail address not valid"))
	{	
        Data.focus();
		return false;   
    }
   	
   document.frm.submit();
   return true;   

}

