﻿// JScript File

// Proyecto				: 86 mejora formulario
// Modificado por	    : Harold Pooley Salazar
// Fecha modificacin	: 16/11/2006
// Comentario			: se agregan funciones de validacin

//***********************************************************************************
//funcion encargada de validar los email, la cual verifica que los caracteres
//ingresados sean correctos y ademas que corresponda al modelo sintactico de los mails.			
function isEmailAddress(theElement, nombre_del_elemento )
{
    var s = theElement.value;
	var filter=/^[A-Za-z][A-Za-z0-9_.]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
		if (s.length == 0 ) return true;
		if (filter.test(s))	return true;
			else
			    alert("Ingrese una dirección de correo válida");
			    theElement.focus();
return false;
}
//************************************************************************************
// Funcion que verifica la cadena ingresada como mail, verifica que contenga caracter
// basico de separacion ["@"] como a su vez carcater ["."].
// La funcion a  su vez verifica que la la direccion mail, contenga las siglas de verificacion de dominio.
function EsMail (emailStr) 
{
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
		/* Finally, let's start trying to figure out if the supplied address is valid. */
	var matchArray=emailStr.match(emailPat)
		if (matchArray==null) 
		{
		  	alert("La dirección Email parece incorrecta (revise @ y .'s)")
			return false
		}
	var user=matchArray[1]
	var domain=matchArray[2]
		if (user.match(userPat)==null)
		{
		    alert("Carácter no válido.")	
		    return false
		}
	var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) 
		{
			  for (var i=1;i<=4;i++) 
			  {
			    if (IPArray[i]>255) {
					return false
				    }
			    }
		    return true
		}
	var domainArray=domain.match(domainPat)
		if (domainArray==null)
		 {
		    alert("Carácter no válido.")
		    return false
		 }
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
		if (domArr[domArr.length-1].length<2 ||    domArr[domArr.length-1].length>3) 
		{
		   alert("La dirección Email debe terminar con dominio de 3 letras o país de 2.")
		   return false
		}
		if (len<2) {
		   return false
		}
		return true;
}
//************************************************************************************
// Valida que la cadena ingresada, solo contenga caracteres númericos
function EsNumero(componente) 
 {
	var val_num = eval("document.forms[0]." + componente + ".value")   
        val_num = val_num/val_num;            
        if (val_num != 1) 
        {   
         alert("En el Campo FONO solo debe ingresar Números")
         return false 
        }
        else 
        {   return true }
   }

//*******************************************************************************
// Funcion saca espacios de principio y fin
// Agregado en proyecto 86 mejora formulario por HPS
//*******************************************************************************
function Trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

//************************************************************************************
//Funcion que verifica la existencia de caracteres especiales dentro un string
//estos carcateres corresponden a ["|","*","<",">","?","¿",":","'","\"]
function EsCaracter(componente)
{	
	var resultado = eval("document.forms[0]." + componente + ".value")
	var valor  = resultado.split("|"); valor1 = resultado.split("*");  valor2 = resultado.split("?");
	var valor3 = resultado.split(">"); valor4 = resultado.split("<");  valor5 = resultado.split("¿");
	var valor6 = resultado.split(":"); valor7 = resultado.split("'");  valor8 = resultado.split("\"");
		if (valor.length > 1 || valor1.length > 1 || valor2.length > 1 || valor3.length > 1 || valor4.length > 1 || valor5.length > 1 || valor6.length > 1 || valor7.length > 1 || valor8.length > 1)
		{		 		
					return(false);			}
		else
		{			return(true);			}
		
}
//************************************************************************************
// Funcion que vlida el rut del usuario ingresado
// esta validacion corresponde al  analisis de la cadena ingresada, luego es verificada según 
// la formula del digito verificador, la cadena será correcta simpre y cuando el resultado
// de la cadena a consultar coincida con el digito verificador de la cadena.
// (01) Verifica la cadena de caracteres Equivocos
// (02) Aplica formula del digito verificador
// (03) Verfifica resultado de la fomula con el digito verificador de cadena rut recibida

function revisarDigito2(componente)
{	
var crut =  componente
	largo = crut.length;	
	if ( largo < 2 )	
	{		
		return false;	
	}	
	if ( largo > 2 )		
		rut = crut.substring(0, largo - 1);	
	    else		
	        rut = crut.charAt(0);	
	dv = crut.charAt(largo-1);		
	if ( dv != '0' && dv != '1' && dv != '2' && dv != '3' && dv != '4' && dv != '5' && dv != '6' && dv != '7' && dv != '8' && dv != '9' && dv != 'k'  && dv != 'K')	
	{		
		return false;	
	}	
	if ( rut == null || dv == null )
		return 0	
var dvr = '0'	
	suma = 0	
	mul  = 2	
	for (i= rut.length -1 ; i >= 0; i--)	
	{	
		suma = suma + rut.charAt(i) * mul		
		if (mul == 7)			
			mul = 2		
		else    			
			mul++	
	}	
	res = suma % 11	
	if (res==1)		
		dvr = 'k'	
	else if (res==0)		
		dvr = '0'	
	else	
	{		
		dvi = 11-res		
		dvr = dvi + ""	
	}
	if ( dvr != dv)	
	{		
		return false	
	}

	return true
}
//************************************************************************************
//Funcion que valida la cadena ingresada correspondiente al rut, verificando que la parte 
//desigana como elemento rut (Cedúla de identidad - Digito verificador) no contenga caracteres alfabeticos
//a su vez se verifica que el digito verificador, contenga caracteres entre [0-9] o caracter ["K" o "k"]
// (01) Verifica caracteres incorrectos
// (02) Verifica caracter de digito verificador
// (03) Compone cadena de Rut
// (04) Efectua la validación del Rut, verificando si el rut corresponde a la Cedúla de Identidad Chilena
function EsRut(texto)
{	
	var tmpstr = "";	
	for ( i=0; i < texto.length ; i++ )		
		if ( texto.charAt(i) != ' ' && texto.charAt(i) != '.' && texto.charAt(i) != '-' ) //(01)
			tmpstr = tmpstr + texto.charAt(i);	
	texto = tmpstr;	
	largo = texto.length;	

	if ( largo < 2 )	
	{		
		return false;	
	}	

	for (i=0; i < largo ; i++ )	 //(01) - (02)
	{			
		if ( texto.charAt(i) !="0" && texto.charAt(i) != "1" && texto.charAt(i) !="2" && texto.charAt(i) != "3" && texto.charAt(i) != "4" && texto.charAt(i) !="5" && texto.charAt(i) != "6" && texto.charAt(i) != "7" && texto.charAt(i) !="8" && texto.charAt(i) != "9" && texto.charAt(i) !="k" && texto.charAt(i) != "K" )
 		{			
			return false;		
		}	
	}	

	var invertido = "";	
	for ( i=(largo-1),j=0; i>=0; i--,j++ )		
		invertido = invertido + texto.charAt(i);	//(03)
	var dtexto = "";	
	dtexto = dtexto + invertido.charAt(0);	
	dtexto = dtexto + '-';	
	cnt = 0;	

	for ( i=1,j=2; i<largo; i++,j++ )	
	{		
		if ( cnt == 3 )		
		{			
			dtexto = dtexto + '.';			
			j++;			
			dtexto = dtexto + invertido.charAt(i);			
			cnt = 1;		
		}		
		else		
		{				
			dtexto = dtexto + invertido.charAt(i);			
			cnt++;		
		}	
	}	

	invertido = "";	
	for ( i=(dtexto.length-1),j=0; i>=0; i--,j++ )		
		invertido = invertido + dtexto.charAt(i);	

	if ( revisarDigito2(texto) )		 //(04)
		return true;	

	return false;
}
//************************************************************************************************
//************************************************************************************************
// Función encargada de validar la sintaxis de la caden rut
// esta, reubica los elementos, verificando que contenga guion 
//separaorio de digito verificador.
function CambiarFormatoaRut(texto, activo) 
{
    
    var invertido = "";
    var dtexto = "";
    var cnt = 0;
    var i=0;
    var j=0;
    var largo = "";	
    
    if (activo)
    {           
        texto = CambiarFormatoaRut(texto, false);
        largo = texto.length;
        for ( i=(largo-1),j=0; i>=0; i--,j++ )
             invertido = invertido + texto.charAt(i);		  
        dtexto = dtexto + invertido.charAt(0);
        dtexto = dtexto + '-';	

        for ( i=1,j=2; i<largo; i++,j++ )
        {
            //alert("i=[" + i + "] j=[" + j +"]" );
            if ( cnt == 3 )
            {
                //dtexto = dtexto + '.'; quito el punto
                j++;
                dtexto = dtexto + invertido.charAt(i);
                cnt = 1;
            }
            else
            { 
                dtexto = dtexto + invertido.charAt(i);
                cnt++;
            }
        }
        invertido = "";
        for ( i=(dtexto.length-1),j=0; i>=0; i--,j++ )
            invertido = invertido + dtexto.charAt(i);
        if (invertido == '-') invertido = ""            
            texto = invertido;
    } 
    else 
    {
        var tmpstr = "";
        for ( i=0; i < texto.length ; i++ )
            if ( texto.charAt(i) != ' ' && texto.charAt(i) != '.' && texto.charAt(i) != '-' )
            tmpstr = tmpstr + texto.charAt(i);
        texto = tmpstr;
   }
       
    return texto;
}

//************************************************************************************
//Funcion que detecta si la tecla pulsada corresponde a la tecla enter
function EsEnter() 
{ 
  var tecla = event.keyCode;  

  switch (tecla) 
  { 
	case 13: //enter
	{		
	  event.keyCode = 0;  
   	  retorno = false
        }
  }    

}


//************************************************************************************
//Funcion que verifica si se ha ingresado el TAG SCript en un campo de texto 
// Agregado en proyecto 86 mejora formulario por HPS

function ValidaTagScript(componente)
{
	//permite campos vacios y guiones pero Valida Scripting "script
	var ExpresionScripting	   = /script>/

	var Tag    = eval("document.forms[0]." + componente + ".value")
	Tag        = Tag.toLowerCase();				

	if(ExpresionScripting.test(Tag)) 
	{
	    alert('Información ingresada no válida. <script>');
	    eval("document.forms[0]." + componente + ".focus()");	    	
	    return true; 
	}
	return false; 
}




function fechas(caja)
			{ 
			   if (caja)
			   {  
			      borrar = caja;
			      if ((caja.substr(2,1) == '/') && (caja.substr(5,1) == '/'))
			      {  
			         for (i=0; i<10; i++)
				     {	
			            if (((caja.substr(i,1)< '0') || (caja.substr(i,1)>'9')) && (i != 2) && (i != 5))
						{
			               borrar = 0;
			               break;  
						}  
			         }
				     if (borrar)
				     { 
				        a = caja.substr(6,4);
					    m = caja.substr(3,2);
					    d = caja.substr(0,2);
					    if((a < 1900) || (a > 2050) || (m < 1) || (m > 12) || (d < 1) || (d > 31))
					       borrar = 0;
					    else
					    {
					       if((a%4 != 0) && (m == 2) && (d > 28))	   
					          borrar = ' '; // Año no viciesto y es febrero y el dia es mayor a 28
						   else	
						   {
					          if ((((m == 4) || (m == 6) || (m == 9) || (m==11)) && (d>30)) || ((m==2) && (d>29)))
						         borrar = 0;	      				  	 
						   }  // else
					    } // fin else
			         } // if (error)
			      } // if ((caja.substr(2,1) == \"/\") && (caja.substr(5,1) == \"/\"))			    			
				  else
				     borrar =0
				  if (borrar ==0)
				  {
				     return false;
				   }
			   } // if (caja)   
			} 	
			
			
			function archivosize(valor,tipo)
		{
		   // tipo = 1; biblioteca 		// tipo = 2; noticia 			// tipo = 3; actividad 
		   // tipo = 4; tipo archivo ; 		// tipo = 5 galerias
   		  try
		  {
			var fso,fldr
			fso = new ActiveXObject("Scripting.FileSystemObject");	
			f = fso.GetFile(valor);
			
			if (tipo == 2 || tipo == 3 || tipo == 4 || tipo == 5)
			{
				if 	(f.size	> 1024000){return (true);}else{return (false);} // tamaño maximo 1 mb
			}
			if (tipo == 1)
			{
				if 	(f.size	> 10000000){return (true);}else{return (false);} // tamaño maximo 10 mb
			}
		  }
		  catch(error)
		  {
			return ("error");
		  } 	
		
		}

//  valida entrada de caracteres ej. ValidarCaracter('Numerico','-', false)
function ValidarCaracter(Tipo, Adicional, Enter)
{

	var AcentosMinusculas = String.fromCharCode(225,233,237,243,250);//áéíóú
	var AcentosMayusculas = String.fromCharCode(193,201,205,211,218);//ÁÉÍÓÚ
	var strNumeros = "0123456789";
	var strNumerosDecimales = "0123456789,";
	var Minusculas = "abcdefghijklmnñopqrstuvwxyz";
	var Mayusculas = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
	
	var strTexto = Minusculas + Mayusculas + AcentosMinusculas + AcentosMayusculas + " ";
	var strTextoSinEspacio = Minusculas + Mayusculas + AcentosMinusculas + AcentosMayusculas;
	var strAlfanumerico = strTexto + strNumeros + ",/-_;:=[]<>&@.%?¿áéíóúÁÉÍÓÚ#()¡!+*º";
	var strTextoNumero = strTexto + strNumeros;
	var strTextoNumeroSinEspacio = strTextoSinEspacio + strNumeros;


	var strMail = Minusculas + Mayusculas + strNumeros + "@_-.";

	var TextoTotal = new String();
	TextoTotal = Adicional;

	switch(Tipo){
		case "Numerico":{
			TextoTotal += strNumeros;
		break;
		}
		case "NumericoDecimal":{
			TextoTotal += strNumerosDecimales;
		break;
		}
		case "Texto":{
			TextoTotal += strTexto;
		break;
		}
		case "Alfanumerico":{
			TextoTotal += strAlfanumerico;
		break;
		}
		case "Email":{
			TextoTotal += strMail;
		break;
		}
		case "TextoNumero":{
			TextoTotal += strTextoNumero;
		break;
		}		
		case "TextoSinEspacio":{
			TextoTotal += strTextoSinEspacio;
		break;
		}
		case "TextoNumeroSinEspacio":{
			TextoTotal += strTextoNumeroSinEspacio;
		break;
		}
	}

	strCaracter = new String();
	strCaracter = String.fromCharCode(window.event.keyCode);
	
	var Pos = TextoTotal.indexOf (strCaracter);
	if(Pos > -1){
		return true;
	}else{
		if (Enter) {
			if (window.event.keyCode != 13)
				window.event.keyCode = 0;
		}
		else
			window.event.keyCode = 0;
			
		return false;
	}
}


// acepta contraseñas entre 4 y 25 caracteres, entre ellos letras minusculas , mayusculas, acentos, números positivos
// y los siguientes caracteres especiales &%_?¿!¡|:,.+{}çÇ/\@-[]#¬
// proyecto 237 envia contrasena
function ValidarPassword(componente)
{ 
	var ValidaCaracter = /(^[a-zA-Z0-9_#\-\*|ñÑ@/\[\]\+\{\}]+$)/				  		 
    var errorMessage   = 'Password Incorrecta, caracteres ingresados no están permitidos.\n\n La regla permitida para la contraseña es la siguiente : \n\n'; 
		errorMessage   += 'Contraseñas entre 4 y 25 caracteres, entre ellos letras minúsculas,  números positivos o algunos de caracteres especiales +_#-*|/@[]{}'
	var Valor		   = eval("document.forms[0]." + componente + ".value")

    if ((ValidaCaracter.test(Valor)) && (Valor != ''))
	{ 
		// verifica si existen el caracter -- en la cadena
		if (Valor.charAt(Valor.indexOf("-") + 1) == "-")
		{
			alert(errorMessage); 
			return false
		}
		
		return (true)
    } 
	else 
	{ 
        eval("document.forms[0]." + componente + ".focus()");
		alert(errorMessage); 
		return false
    } 

} 

//Verifica el largo de un Area de texto
function LenghtTextArea(componente, largo)
{
   
	var LargoArea = eval("document.forms[0]." + componente + ".value")

	if (LargoArea.length > largo)
	{
		alert("A sobrepasado el largo permitido. [" + LargoArea.length + " de " + largo + "]");
		eval("document.forms[0]." + componente + ".focus()");
		return false;
	}		
	return true; 
}


function changeCase(frmObj) 
{
		var index;
		var tmpStr;
		var tmpChar;
		var preString;
		var postString;
		var strlen;
		tmpStr = frmObj.value.toLowerCase();
		strLen = tmpStr.length;
		if (strLen > 0)  
		{
			for (index = 0; index < strLen; index++)  
			{
				if (index == 0)  
				{
					tmpChar = tmpStr.substring(0,1).toUpperCase();
					postString = tmpStr.substring(1,strLen);
					tmpStr = tmpChar + postString;
				}
				else 
				{
					tmpChar = tmpStr.substring(index, index+1);
					if (tmpChar == " " && index < (strLen-1))  
					{
						tmpChar = tmpStr.substring(index+1, index+2).toUpperCase();
						preString = tmpStr.substring(0, index+1);
						postString = tmpStr.substring(index+2,strLen);
						tmpStr = preString + tmpChar + postString;
					 }
			    }
			 }
		}
		frmObj.value = tmpStr;
}





// función que valida el ingreso en un campo numerico el valor -1 o cualquier numero positivo
// Proyecto 206 : Mejoras Campus
// Modificado   : Harold Pooley Salazar
// Fecha	: 1/12/2006
function validanumeronegativo(componente)
{
	var ValidaCaracter = new RegExp("(^-1$)|(^[0-9]+$)")
	var valor	   = eval("document.forms[0]." + componente + ".value")

	// valida en expresión regular que no se ingresen - despues de un numero		
	if (!ValidaCaracter.test(valor))
	{
		alert('Información ingresada no válida.');
		eval("document.forms[0]." + componente + ".focus()");
		return true; 
	}
}


function validarCLAVE(clave)
{
  var verify=false;
  //Verificar clave si tiene largo cuatro
  if (clave.length < 4) 
	return false;

  //Verificar clave si son numeros
  
  verify = checkTexto (clave, true, false, false, false, false);
  if (!verify)
	return false;

  return true;
}

function validarrut(rut)
{
  var rut_tmp;
  var dv_tmp;
  
  //Remover caracteres especiales
  rut = checkTexto (rut, false, false, false, true, true);
  rut_tmp = rut.substring(0,rut.length-1);
  dv_tmp = rut.charAt(rut.length - 1);

  if ( rut.length < 2 )
    return false;

  if ( !checkrut(rut_tmp) )
    return false;

  if ( !checkDV(dv_tmp) )
    return false;

  if ( !val_rut(rut_tmp, dv_tmp) )
      return false;

  //asignación en duro
  //document.formulario.campo1.value = rut;
  return true;
}

function checkrut(rut)
{
  var verify=false;
  //Verificar rut si son numeros
  verify = checkTexto (rut, false,true, false, false, false);
  if (!verify)
	return false;
  return true;
}

function checkDV(dv)
{

  var verify=false;
  //verificar DV si es numero o k
  verify = checkTexto (dv, false,false, true, false, false);
  if (!verify)
	return false;
  return true;
}

function val_rut(numrut, dgvrut) {

        var rut1 = new MakeArray(10);
        var rutori = numrut;

        var j = 10;
        var len = rutori.length - 1;
        for (var i = len; i >= 0; i--) {
                if (rutori.charAt(i) != " ") {
                        rut1[j] = parseInt(rutori.charAt(i), 10);
                        j--;
                }
        }
        var total =     rut1[1] * 5 + rut1[2] * 4 + rut1[3] * 3 + rut1[4] * 2 + 
						rut1[5] * 7 + rut1[6] * 6 + rut1[7] * 5 + rut1[8] * 4 +
                        rut1[9] * 3 + rut1[10] * 2;
                        
        var aux = total / 11;
        if (aux < 1) aux = 0;
        var parteent = parseInt(aux, 10); // parte entera
        if ((total - parteent * 11) == 0)
                var dig = 0;
        else
                var dig = 11 - (total - parteent * 11);

        if (dig < 10) {
                if (dig == parseInt(dgvrut, 10))
                        return (true);
        }
        else {
                if (dgvrut == "K" || dgvrut == "k" )
                        return (true);
        }
        return (false);

}

function MakeArray(n) {

   this.length = n;
   for (var i = 1; i <= n; i++)
        this[i] = 0;

    return this;
}

function formato_rut(texto, activo) {
var invertido = "";
var dtexto = "";
var cnt = 0;
var i=0;
var j=0;
var largo = "";	
	if (activo) {
		  texto = formato_rut(texto, false)
		  largo = texto.length;
		  for ( i=(largo-1),j=0; i>=0; i--,j++ )
		    invertido = invertido + texto.charAt(i);		  
		  dtexto = dtexto + invertido.charAt(0);
		  dtexto = dtexto + '-';		  
		  for ( i=1,j=2; i<largo; i++,j++ )
		  {
		    //alert("i=[" + i + "] j=[" + j +"]" );
		    if ( cnt == 3 )
		    {
		      //dtexto = dtexto + '.'; quito el punto
		      j++;
		      dtexto = dtexto + invertido.charAt(i);
		      cnt = 1;
		    }
		    else
		    { 
		      dtexto = dtexto + invertido.charAt(i);
		      cnt++;
		    }
		  }
		  invertido = "";
		  for ( i=(dtexto.length-1),j=0; i>=0; i--,j++ )
		    invertido = invertido + dtexto.charAt(i);
		  if (invertido == '-') invertido = ""
		  texto = invertido;
	} else {
		var tmpstr = "";
		for ( i=0; i < texto.length ; i++ )
		if ( texto.charAt(i) != ' ' && texto.charAt(i) != '.' && texto.charAt(i) != '-' )
			tmpstr = tmpstr + texto.charAt(i);
		texto = tmpstr;
	}
	return texto;
}

function checkTexto (texto, bAlfanumerico, bNumeros, bDv, bEspeciales, bByRef)
{
  var tmpstr = "";
  var estado;
  var i = 0;
  if (bEspeciales) {
	for ( i=0; i < texto.length ; i++ )
	    if ( texto.charAt(i) != '-' )
			tmpstr = tmpstr + texto.charAt(i);
	if (bByRef) {
		texto = tmpstr;	
		return texto;
	}
  }
  if (bNumeros || bDv)
	if (texto != null)
	  for (i=0; i < texto.length ; i++ )
	  {
		if (bNumeros)
			if ( texto.charAt(i) !="0" && texto.charAt(i) != "1" && texto.charAt(i) !="2" && texto.charAt(i) != "3" && texto.charAt(i) != "4" && texto.charAt(i) !="5" && texto.charAt(i) != "6" && texto.charAt(i) != "7" && texto.charAt(i) !="8" && texto.charAt(i) != "9" ) 
				return false;
		if (bDv)
			if ( texto.charAt(i) !="0" && texto.charAt(i) != "1" && texto.charAt(i) !="2" && texto.charAt(i) != "3" && texto.charAt(i) != "4" && texto.charAt(i) !="5" && texto.charAt(i) != "6" && texto.charAt(i) != "7" && texto.charAt(i) !="8" && texto.charAt(i) != "9" && texto.charAt(i) !="k" && texto.charAt(i) != "K" ) 
				return false;
	  }  
	  
	if(bAlfanumerico)
		if (texto != null)
			for ( i=0; i < texto.length ; i++ )
  				if ( ( texto.charCodeAt(i) < 48 || texto.charCodeAt(i) > 57 )  && ( texto.charCodeAt(i) < 65 || texto.charCodeAt(i) > 90 ) && ( texto.charCodeAt(i) < 97 || texto.charCodeAt(i) > 122 ))
					return false;

  return (true);
}

//Utilizar esta función sólo para evento onkeypress
// Ahora esta rutina acepta numeros y letras, no se cambió su nombre porque existen demasiadas  referencias 
// a ella en el sitio....

function TeclearSoloNumeros() 
{
	if ( (document.all || document.layers) && (navigator.appName != "Netscape") ) {
		var tecla = window.event.keyCode;			
		if ((tecla < 48 || tecla > 57) && (tecla < 65 || tecla > 90) && (tecla < 97 || tecla > 122) && (tecla != 8) && (tecla != 9) && (tecla != 13)){
		
                     return false;
		}else	
		     return true;
	}
}


