// JavaScript Document

function fvalt()
{
	var f = document.forms['f'];
	var a, sName, sValue, item;
	a=0			
	for (i=0; i<f.elements.length; i++)	
	{
		item = f.elements[i];
		sName = item.name;
		sValue = Trim(item.value);		
		switch (sName.charAt(0))	
		{
			case 't':				
				if( sValue == '' )	
				{ 
					alert("Los campos con (*) son exigidos"); 
					item.focus(); i=f.elements.length; return false;	
				}
				break;
			case 'c':
				if( sValue != '' )	
				{
					if(!ValidateEmail(sValue))	
					{	item.focus();
						return false;	}
				} 
				else
				{ 
					alert("Todos los campos son exigidos"); 
					item.focus(); i=f.elements.length; return false;	
				}
				break;								
				
		}
	}
	return true;	
}

/*Trim: Elimina los espacios antes y despues de la primera y ultima palabra	*/

function Trim(sText)
{
	var newText = "";
	var ipos, inipos=0, endpos=0;
	
	// trim initial spaces
	for (ipos = 0; ipos < sText.length; ipos++)
		if (sText.substring(ipos, ipos+1) != " ")
			{
			inipos=ipos;
			break;
			}
	
	for (ipos = inipos; ipos < sText.length; ipos++)
		if (sText.substring(ipos, ipos+1) != " ")
			endpos = ipos+1;
	
	if (endpos >= inipos)
		newText = sText.substring(inipos, endpos);
	return newText;
}

/* Validacion de un campo con formato de e-mail */

function ValidateEmail(val)
{ 
var frmemail;
var frmemailtemp;
var probarmail;
var posiarroba;
var posipunto;
probarmail==1;
frmemail=val;

// el primer caracter debe ser una letra
cas=frmemail.charCodeAt(0)
if (!((cas>=65 && cas<=90) || (cas>=97 && cas<=122))){
	alert("Formato de e-mail incorrecto");
	return false;
}

// ultimo caracter debe ser una letra
cas=frmemail.charCodeAt(frmemail.length-1);
if (!((cas>=65 && cas<=90) || (cas>=97 && cas<=122))){
	alert("Formato de e-mail incorrecto");
	return false;
}

// Valida ,  @ . y _
for (var i=1; i<=frmemail.length-2; i++){
  cas=frmemail.charCodeAt(i);
  if (!((cas>=48 && cas<=57) || (cas>=65 && cas<=90) || (cas>=97 && cas<=122) || cas==95 || cas==45 || cas==46 || cas==64))
  {
    alert("Formato de e-mail incorrecto");
    return false;
  }
}

// debe tener solo un @
posiarroba=frmemail.indexOf("@");
if (posiarroba==-1)
 {
	alert("Formato de e-mail incorrecto");
	return false;
  }
else{
  frmemailtemp=frmemail.substr(posiarroba+1);
  posiarroba=frmemailtemp.indexOf("@");
  if (posiarroba!=-1){
	alert("Formato de e-mail incorrecto");
	return false;
    }
  else{
    posipunto=frmemailtemp.indexOf(".");
    if (posipunto==-1){
		alert("Formato de e-mail incorrecto");
		return false;
    }
  }
}

// antes y despues un punto, _ o underscore debe ser una letra o numero
for (var i=1; i<=frmemail.length-2; i++){
  cas=frmemail.charCodeAt(i);
  if (cas==95 || cas==45 || cas==46 || cas==64 ){
    cas=frmemail.charCodeAt(i-1);
    if (!((cas>=48 && cas<=57) || (cas>=65 && cas<=90) || (cas>=97 && cas<=122))){
		alert("E-mail Inválido 7.");
		return false;		
    }
    cas=frmemail.charCodeAt(i+1);
    if (!((cas>=48 && cas<=57) || (cas>=65 && cas<=90) || (cas>=97 && cas<=122))){
		alert("E-mail Inválido 8.");
		return false;
    }
  }
}
return true;
}

function valida()
{
	if ( !fvalt() ) return false;
	document.forms['f'].submit();
}