
function KeyCodeChk(vChar, nChar)
{
         /* Detiene los códigos y permite el acceso a los numéricos y a teclas especiales como:
                     8          Borrar  
                     9          Tabulador
                     13         Enter
                     16         Shift
                     32			Espacio
                     37         Flecha de regreso 
                     39         Flecha de avanzar
                     45         Insertar
                     46         Suprimir
                     64			@
         */

         var eKeyCode = event.keyCode;
         var vTexto      = vChar.value;
         var nTexto      = vTexto.length;
         if ((eKeyCode < 48 || eKeyCode > 57) && (eKeyCode < 64 || eKeyCode > 90) && (eKeyCode < 96 ||  eKeyCode > 122))
         {              
			if ((eKeyCode != 13) && (eKeyCode != 44)&& (eKeyCode != 45) && (eKeyCode != 46) && (eKeyCode != 47) && (eKeyCode != 8) && (eKeyCode != 16) && (eKeyCode != 32) ) 
			{
			    if ((eKeyCode == 9) && (nTexto > nChar))
			    { 
					return;
			    } 
			    else 
			    {
					if ((eKeyCode == 9) && (nTexto ==0)) 
					{
						return;
					} 
					else 
					{
						if ((eKeyCode == 9) && (nTexto < nChar)) 
						{
							alert("Este campo no puede ser menor a "+(nChar+1)+" digitos");
						}
					}
				}
			    window.event.returnValue = false;
			}
		}
	}


// Valida que textObj contenga sólo letras de la A la Z
function isString(textObj) { 
return isString(textObj, false); 
}

function isString(textObj, isRequired) 
{
   var newValue = textObj.value;
   var newLength = newValue.length;
   var extraChars=".-&%!#=?¿¡,";
   var search;
   if((newLength == 0) && (isRequired)) {
		textObj.focus();
		return false;
   }
   for(var i = 0; i != newLength; i++) 
   {
      aChar = newValue.substring(i,i+1);
      aChar = aChar.toUpperCase();
      search = extraChars.indexOf(aChar);
      if(aChar != " ")
      {
		if(search = -1 && (aChar < "A" || aChar > "Z")) 
		{
		   textObj.focus();
		   return false;
		}
	  }
   }
   return true;
}

function isNumeric(textObj) { return isNumeric(textObj, false); }

// Valida que el campo contenga sólo dígitos del 0 al 9
function isNumeric(textObj, isRequired) {
	var val = textObj.value;
    var newLength = val.length;
	var dp = false;
		//alert(textObj.id + "" + newLength);
    if((newLength == 0) && (isRequired)) {
		textObj.focus();
		return false;
    }
	for (var i=0; i<=newLength; i++) {
		if (!isDigit(val.charAt(i))) { 
			if (val.charAt(i) == '.') {
				if (dp == true) { 
				   textObj.focus();
				   return false;
				  } // already saw a decimal point
				else { dp = true; }
				}
			else {
				textObj.focus();
				return false; 
				}
			}
		}
	return true;
	}
function isDigit(num) {
	var string="1234567890";
	if (string.indexOf(num) != -1) {
		return true;
		}
	return false;
	}	


function checkEmail(textObj) { return checkEmail(textObj, false); }

function checkEmail(textObj, isRequired) {
	if (textObj.value.length > 0) {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(textObj.value)){
			return (true)
		}
		textObj.focus();
		return false;
	}
	else
	{
		if(isRequired)
			return false;
	}
	return true;
}

function textCounter(field, maxlimit) 
{
	if(field.value.length >= 1)
	{
		if (field.value.length > maxlimit) // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
	}
}


