function ValidarCampo(tipo,campo,mensaje1,tamano,mensaje2)
{
 switch (tipo)
 {
   case "clave":
   {
    if (!notNull(campo.value) || !notBlank(campo.value) || !isNumber(campo.value))
	  {
	    alert(mensaje1);
	    campo.focus();
	    return false;
	  }
	if (campo.value.length < tamano || campo.value.length > 12)
	  {
	    alert(mensaje2);
	    campo.focus();
	    return false;    
	  }
	return true;  
   }
   case "numerico":
   {
    if (!notNull(campo.value) || !notBlank(campo.value) || !isNumber(campo.value))
	  {
	    alert(mensaje1);
	    campo.focus();
	    return false;
	  }
	if (campo.value.length < tamano)
	  {
	    alert(mensaje2);
	    campo.focus();
	    return false;    
	  }
	return true;  
   }
case "numerico2":
   {
    if (!notNull(campo.value) || !notBlank(campo.value) || !IsNumeric2(campo.value))
	  {
	    alert(mensaje1);
	    campo.focus();
	    return false;
	  }
	if (campo.value.length < tamano)
	  {
	    alert(mensaje2);
	    campo.focus();
	    return false;    
	  }
	return true;  
   }   
   case "string":
   {
    if (!notNull(campo.value) || !notBlank(campo.value))
	  {
	    alert(mensaje1);
	    campo.focus();
	    return false;
	  }
	return true;  
   }
case "string2":
   {
    if (!notNull(campo.value) || !notBlank(campo.value) || !IsAlpha(campo.value))
	  {
	    alert(mensaje1);
	    campo.focus();
	    return false;
	  }
	return true;  
   }   
   case "stringtam":
   {
    if (!notNull(campo.value) || !notBlank(campo.value))
	  {
	    alert(mensaje1);
	    campo.focus();
	    return false;
	  }
	 if (campo.value.length < 1 || campo.value.length > tamano)
	  {
	    alert(mensaje2);
	    campo.focus();
	    return false;    
	  }
	return true;  
   }   
    case "entero":
   {
    if (!notNull(campo.value) || !notBlank(campo.value) || parseInt(campo.value)!=campo.value)
	  {
	    alert(mensaje1);
	    campo.focus();
	    return false;
	  }
	return true;  
   }
   case "decimal":
   {
    if (!notNull(campo.value) || !notBlank(campo.value) || parseFloat(campo.value)!=campo.value)
	  {
	    alert(mensaje1);
	    campo.focus();
	    return false;
	  }
	return true;  
   }
   case "comodin":
   {
    if (!notNull(campo.value) || !notBlank(campo.value) || !noComodin(campo.value))
	  {
	    alert(mensaje1);
	    campo.focus();
	    return false;
	  }
	return true;  
   }
   case "email":
   {
     if (!notNull(campo.value) || !notBlank(campo.value) || !IsEmail(campo.value))
     {
	    alert(mensaje1);
	    campo.focus();
	    return false;
	  }
	return true; 
   }
 }
}

function isNumber(str) {
if (notNull(str) && notBlank(str))
{
	for (i = 0; i < str.length; i++) {
		mychar = str.charAt(i)
		if ((mychar >= "0" && mychar <= "9")) {}
		else 
			return false
	} // for
} // if
else
  return false
return true	
} // function


function notNull(str)
{
  if (str.length == 0 )
    return false
  else
  {
    return true
  }
}

function notBlank(str) {
  for (i = 0; i < str.length; i++) {
  if (str.charAt(i) != " ")
    return true
  }
}

function IsEmail(str)
{
  if (HaveWhitespace(str)) 
    return false
         
  var i = 1;
  var sLength = str.length;

  // buscar @
  while ((i < sLength) && (str.charAt(i) != "@")) { i++ }
  if ((i >= sLength) || (str.charAt(i) != "@")) 
    return false
  else 
    i += 2
  // buscar .
  while ((i < sLength) && (str.charAt(i) != ".")) { i++ }
  // Debe haber al menos un caracter despues del .
  if ((i >= sLength - 1) || (str.charAt(i) != ".")) 
    return false
  else 
    return true
}


function HaveWhitespace(str)
{
  var i;
  if (IsEmpty(str)) 
    return true
  for (i = 0; i < str.length; i++)
  {   
    var c = str.charAt(i);
    //if (whitespace.indexOf(c) == -1)
    if (c==" ")
     return true
  }
  return false
}

function IsEmpty(str)
{   
  return ((str == null) || (str.length == 0))
}

function IsNumeric(str)
{
  for (var i = 0; i < str.length; i++)
  {
    var ch = str.substring(i, i+1)
    if( ch < "0" || ch > "9" || str.length == null)
      return false
  }
  return true
}	

function IsNumeric2(str)
{
  for (var i = 0; i < str.length; i++)
  {
    var ch = str.substring(i, i+1)
    if((ch < "0" && ch != ".") || ch > "9" || str.length == null)
      return false
  }
  return true
}	

function IsAlpha(str)
{
  for (var i = 0; i < str.length; i++)
  {
    var ch = str.substring(i, i+1)
    if( ch < "A" || ch > "z" || str.length == null)
    {
      if (ch != " " && ch != "ñ" && ch != "Ñ" && ch != "." && ch != "á" && ch != "Á" && ch != "é" && ch != "É" && ch != "í" && ch != "Í" && ch != "ó" && ch != "Ó" && ch != "ú" && ch != "Ú" )
		return false
    }  
  }
  return true
}

function noComodin(str)
{
  var sw=0
  for (var i = 0; i < str.length; i++)
  {
    var ch = str.substring(i, i+1)
    if (i==0 && ch=="*")
    {   sw=1
		continue
		}
    if ((i==parseInt(str.length-1) && ch=="*") && sw==0)
		continue
    if(ch < "0" || ch > "9")
      return false
  }
  return true
}	

