//REEMPLAZO DEL ARCHIVO: Chk_Functions_JScript
function MonthToNumber(strMes){
	/************************************************************/
	/* Funcion que retorna numero con el mes correspondiente    */
	/*                                                          */
	/************************************************************/
	var strNumber = new String();
	switch(strMes){
		case 'Jan':
			strNumber = '01';
			break;
		case 'Feb':
			strNumber = '02';
			break;
		case 'Mar':
			strNumber = '03';
			break;
		case 'Apr':
			strNumber = '04';
			break;
		case 'May':
			strNumber = '05';
			break;
		case 'Jun':
			strNumber = '06';
			break;
		case 'Jul':
			strNumber = '07';
			break;
		case 'Aug':
			strNumber = '08';
			break;
		case 'Sep':
			strNumber = '09';
			break;
		case 'Oct':
			strNumber = '10';
			break;
		case 'Nov':
			strNumber = '11';
			break;
		case 'Dec':
			strNumber = '12';
		break;
	}
	return strNumber
}

function validarFecha(dia, mes, ano, errorMsg){
	/*-----------------------------------*/
	/* Valida una fecha                  */
	/* Parámetros: dia, mes, anio.       */
	/*                                   */
	/* Valores de Retorno:               */
	/*      true: fecha válida           */
	/*      false: fecha inválida        */
	/*-----------------------------------*/
	fechaCorrecta = new Date (ano, mes - 1 , dia);
	fecha = dia + '/' + mes + '/' + ano;
	diaC = fechaCorrecta.getDate();
	mesC = fechaCorrecta.getMonth();
	anoC = fechaCorrecta.getFullYear();
	if ((dia + '/' + mes + '/' + ano) == (diaC + '/' + (mesC + 1) + '/' + anoC))
		return true;
	else{
		alert (errorMsg);
		return false;
	}
}

function validarRangoFecha(fechaDesde, fechaHasta, errorMsg){
	/*------------------------------------------------*/
	/* Valida un rango de fechas.                     */
	/* Parámetros: fecha inicial, fecha final,        */
	/*             mensaje de error.                  */
	/*                                                */
	/* Valores de Retorno:                            */
	/*          true: rango de fechas válido          */
	/*          false: rango de fechas inválido       */
	/*------------------------------------------------*/
	diaDesde = fechaDesde.getDate();
	diaHasta = fechaHasta.getDate();
	mesDesde = fechaDesde.getMonth();
	mesHasta = fechaHasta.getMonth();
	anoDesde = fechaDesde.getFullYear();
	anoHasta = fechaHasta.getFullYear();

	if(anoDesde > anoHasta){
		/* ERROR: El año de inicio es mayor al año final. */
		alert (errorMsg);
		return false;
	} else if(anoDesde == anoHasta) {
		/* Los años son iguales */
		if(mesDesde > mesHasta){
			/* ERROR: El mes inicial es mayor */
			alert (errorMsg);
			return false;
		} else if(mesDesde == mesHasta) {
			/* Los meses son iguales, controlamos días */
			if(diaDesde > diaHasta){
				/*ERROR: El día desde es mayor */
				alert (errorMsg);
				return false;
			} else {
				/* Si el día desde es menor o igual al día final no hay error */
				return true;
			}
		} else {
			/* El mes final es mayor, no hay error */
			return true;
		}
	} else {
		/* El año final es mayor */
		return true;
	}
}

function validarRangoHora(horaDesde, minDesde, horaHasta, minHasta){
	/*----------------------------------------------------------------*/
	/* Funcion que controla si un determinado rango horario es válido */
	/* Parámetros: hora inicial, minuto inicial, hora final,          */
	/*             minuto final                                       */
	/*                                                                */
	/* Valores de Retorno:                                            */
	/*          true: rango de fechas válido                          */
	/*          false: rango de fechas inválido                       */
	/*----------------------------------------------------------------*/
	if ((horaDesde == '') || (minDesde == '') || (horaHasta == '') || (minHasta == '')){
		alert('Verifique haber seleccionado todos los valores requeridos');
		return false;
	}
	if (horaDesde > horaHasta){
		alert('La hora inicial indicada es mayor a la final');
		return(false);
	} else {
		if(horaDesde == horaHasta){
			if(minDesde < minHasta){
				return(true);
			} else {
				alert('El minuto inicial indicado es mayor o igual al minuto final');
				return(false);
			}
		} else {
			return(true);
		}
	}
	return(true);
}

function ChkZipCode()
{
    var i, campo, nombre, errors;
    errors = ChkZipCode.arguments[ChkZipCode.arguments.length - 1];
    for ( i = 0; i < (ChkZipCode.arguments.length - 1); i += 2)
    {
        campo = ChkZipCode.arguments[i];
        nombre = ChkZipCode.arguments[i+1];
	var a = String.fromCharCode(225);
        if (campo.value)
        {
            chrsValidos = "abcdefghijklmnopqrstuvwxyz0123456789";
            aux = campo.value.toLowerCase();
            flg = false
            for ( j = 0; j < chrsValidos.length; j++)
            	if ( aux.charAt(0) == chrsValidos.charAt(j) )
                    flg = true;
            if (!flg)
				errors += '- '+ nombre +': es inv'+a+'lido.\\n';
        }
    }
    return errors;
}
function ChkBeginChr()
{
    var i, campo, nombre, errors;
    errors = ChkBeginChr.arguments[ChkBeginChr.arguments.length - 1];
    for ( i = 0; i < (ChkBeginChr.arguments.length - 1); i += 2)
    {
        campo = ChkBeginChr.arguments[i];
        nombre = ChkBeginChr.arguments[i+1];
        if (campo.value)
        {
            chrsValidos = "abcdefghijklmnopqrstuvwxyz";
            aux = campo.value.toLowerCase();
            flg = false
            for ( j = 0; j < chrsValidos.length; j++)
            	if ( aux.charAt(0) == chrsValidos.charAt(j) )
                    flg = true;
            if (!flg)
				errors += '- '+ nombre +': el primer caracter debe ser una letra entre (a-z) o (A-Z).\n';
        }
    }
    return errors;
}

function ChkCboNotNull()
{
    var i, campo, nombre, errors;
    errors = ChkCboNotNull.arguments[ChkCboNotNull.arguments.length - 1];
    for (i=0; i< ChkCboNotNull.arguments.length - 1; i += 2)
    {
        campo = ChkCboNotNull.arguments[i];
        nombre = ChkCboNotNull.arguments[i+1];
	var o = String.fromCharCode(243);
        if ( (campo.options[campo.selectedIndex].value == null) ||
            (campo.options[campo.selectedIndex].value == '') )
                errors += '- '+ nombre +': debe seleccionar una opci'+o+'n.\n';
    }
    return errors;
}

function ChkDate()
{
    var i, campo, p, nombre, errors, not_date;
    not_date = 0;
    errors = ChkDate.arguments[ChkDate.arguments.length - 1];
    for ( i = 0; i < ChkDate.arguments.length - 1; i += 2)
    {
        campo = ChkDate.arguments[i];
        nombre = ChkDate.arguments[i+1];
	var a = String.fromCharCode(225);
        if (campo.value)
        {
            isplit = campo.value.indexOf('/');
            if (isplit == -1 || isplit == campo.value.length)
            not_date = 1;
            sDay = campo.value.substring(0, isplit);
            isplit = campo.value.indexOf('/', isplit + 1);
            if (isplit == -1 ||  (isplit + 1 )  == campo.value.length)
                not_date = 1;
            sMonth = campo.value.substring((sDay.length + 1), isplit);
            sYear = campo.value.substring(isplit + 1);
            if ( !CheckInteger(sMonth) )
                not_date = 1;
            else if ( !CheckRange(sMonth, 1, 12) )
                not_date = 1;
            else if ( !CheckInteger(sYear))
                not_date = 1;
            else if ( !CheckRange(sYear, 0, null) )
                not_date = 1;
            else if ( !CheckInteger(sDay) )
                not_date = 1;
            else if ( !CheckDay(sYear, sMonth, sDay) )
                not_date = 1;
            if (not_date)
                errors += '- '+ nombre + ': debe contener una fecha v'+a+'lida.\n';
        }
    }
    return errors;
}

function CheckDay(checkYear, checkMonth, checkDay)
{
    maxDay = 31;
    if (checkMonth == 4 || checkMonth == 6 ||
        checkMonth == 9 || checkMonth == 11)
            maxDay = 30;
    else if (checkMonth == 2)
    {
        if (checkYear % 4 > 0)
            maxDay =28;
        else if (checkYear % 100 == 0 && checkYear % 400 > 0 )
            maxDay = 28;
        else
            maxDay = 29;
    }
    return CheckRange(checkDay, 1, maxDay);
}

function CheckInteger(object_value)
{
    var decimal_format = ".";
    var check_char;
    if (object_value.length == 0)
        return true;
    check_char = object_value.indexOf(decimal_format)
    if (check_char < 1)
        return CheckNumber(object_value);
    else
        return false;
}

function NumberRange(object_value, min_value, max_value)
{
    if (min_value != null)
        if (object_value < min_value)
            return false;
    if (max_value != null)
        if (object_value > max_value)
            return false;
    return true;
}

function CheckRange(object_value, min_value, max_value)
{
    if (object_value.length == 0)
        return true;
    if (!CheckNumber(object_value))
        return false;
    else
        return (NumberRange((eval(object_value)), min_value, max_value));
    return true;
}

function CheckNumber(object_value)
{
    var start_format = " .+-0123456789";
    var number_format = " .0123456789";
    var check_char;
    var decimal = false;
    var trailing_blank = false;
    var digits = false;

    if (object_value.length == 0)
        return true;

    check_char = start_format.indexOf(object_value.charAt(0))
    if (check_char == 1)
        decimal = true;
    else if (check_char < 1)
        return false;
    for (var i = 1; i < object_value.length; i++)
    {
        check_char = number_format.indexOf(object_value.charAt(i))
        if (check_char < 0)
            return false;
	else if (check_char == 1)
	{
            if (decimal)
                return false;
            else
                decimal = true;
        }
        else if (check_char == 0)
        {
            if (decimal || digits)
            trailing_blank = true;
        }
        else if (trailing_blank)
            return false;
        else
            digits = true;
    }
    return true
}

function ChkEmail()
{
    var i, nombre, campo, errors;
    errors = ChkEmail.arguments[ChkEmail.arguments.length - 1];
    for ( i = 0; i < ChkEmail.arguments.length - 1; i += 2)
    {
        campo = ChkEmail.arguments[i];
        nombre = ChkEmail.arguments[i+1];
        if (campo.value)
        {
            var tevaloresults = true;
            var valor = campo.value;
            var index = 0;
            var filter=/^.+@.+\..{2,3}$/
            var filter2=/\.\./
            var rejected = false;
            var rejectedDomain=new Array();
	    var a = String.fromCharCode(225);
	    var o = String.fromCharCode(243);
            rejectedDomain[index]="";
			if (filter.test(valor))
            {
                var tempstring = valor.split("@");
				tempstring = tempstring[1].split(".")
				for ( i = 0; i < rejectedDomain.length; i++)
        			if (tempstring[0]==rejectedDomain[i])
                        rejected=true
                if (rejected)
                {
		   
		   errors +=  "Las siguientes direciones de email no son v'+a+'lidas:\n"
                    for ( i = 0; i < rejectedDomain.length; i++)
                        errors += "\t" + rejectedDomain[i] + "\n";
                }
		   
				if ( filter2.test(valor))
					errors += '- '+ nombre + ': debe contener un e-mail v'+a+'lido.\n';
            }
            else
                errors += '- '+ nombre +' debe contener una direcci'+o+'n de e-mail v'+a+'lida.\n';
        }
    }
    return errors;
}

function ChkEmail2()
{
    var i, nombre, email, errors;
    errors = ChkEmail2.arguments[ChkEmail2.arguments.length - 1];
    for ( i = 0; i < ChkEmail2.arguments.length - 1; i += 2)
    {
        email = ChkEmail2.arguments[i];
        nombre = ChkEmail2.arguments[i+1];
        if (campo.value)
        {
            var tevaloresults = true;
            var valor = email;
            var index = 0;
            var filter=/^.+@.+\..{2,3}$/
            var filter2=/\.\./
            var rejected = false;
            var rejectedDomain=new Array();
            rejectedDomain[index]="";
	    var a = String.fromCharCode(225);
	    var o = String.fromCharCode(243);
            if (filter.test(valor))
            {
                var tempstring = valor.split("@");
                tempstring = tempstring[1].split(".")
                for ( i = 0; i < rejectedDomain.length; i++)
                    if (tempstring[0]==rejectedDomain[i])
                        rejected=true
                if (rejected)
                {
                    errors +=  "Las siguientes direciones de email no son v'+a+'lidas:\n"
                    for ( i = 0; i < rejectedDomain.length; i++)
                        errors += "\t" + rejectedDomain[i] + "\n";
                }
                if ( filter2.test(valor) )
                    errors += '- '+ nombre + ': debe contener un e-mail v'+a+'lido.\n';
            }
            else
                errors += '- '+ nombre +' debe contener una direcci'+o+'n de e-mail v'+a+'lida.\n';
        }
    }
    return errors;
}

function ChkLength()
{ //No Null
  var i,field,message,errors,minLen;
	errors = ChkLength.arguments[ChkLength.arguments.length - 1];
		  for (i=0; i<(ChkLength.arguments.length - 1); i+=3)
		  {
			field = ChkLength.arguments[i];
			minLen = ChkLength.arguments[i+1];
			message = ChkLength.arguments[i+2];
					if (field.value)
					{ //IF value
					////////////Codigo del check
						if (field.value.length < minLen)
						{
							errors += '- '+ message +': no debe tener menos que '+minLen+' caracteres.\n';
						}
					////////////End codigo del check
					}
			}//End for
	return errors;
} //End validateLength

function ChkLengthMax()
{
  var i,field,message,errors,maxLen;
	errors = ChkLengthMax.arguments[ChkLengthMax.arguments.length - 1];
		  for (i=0; i<(ChkLengthMax.arguments.length - 1); i+=3)
		  {
			field = ChkLengthMax.arguments[i];
			maxLen = ChkLengthMax.arguments[i+1];
			message = ChkLengthMax.arguments[i+2];
					if (field.value)
					{ //IF value
					////////////Codigo del check
						if (field.value.length > maxLen)
						{
							var a = String.fromCharCode(225);
							errors += '- '+ message +' no debe tener m'+a+'s que '+maxLen+' caracteres.\n';
						}
					////////////End codigo del check
					}
			}//End for
	return errors;
} //End validateLength

function ChkNotNull()
{
    
    var i, campo, nombre, errors;
    
    errors = ChkNotNull.arguments[ChkNotNull.arguments.length - 1];
    for (i = 0; i < ChkNotNull.arguments.length - 1; i += 2)
    {
        campo = ChkNotNull.arguments[i];
        nombre = ChkNotNull.arguments[i+1];
	var i = String.fromCharCode(237);
	if ( !campo.value )
            errors += '- '+ nombre +': no debe estar vac'+ i +'o.\n';
    }
    return errors;
}


function ChkNotZero()
{
    var i, campo, nombre, errors;
    errors = ChkNotZero.arguments[ChkNotZero.arguments.length - 1];
    for (i = 0; i < ChkNotZero.arguments.length - 1; i += 2)
    {
        campo = ChkNotZero.arguments[i];
        nombre = ChkNotZero.arguments[i+1];	
        if ( parseInt(campo.value) == 0 )
            errors += '- '+ nombre +': debe ser mayor que cero (0) .\n';
    }
    return errors;
}

function ChkNumber()
{
    var i, campo, nombre, numero, errors;
    errors = ChkNumber.arguments[ChkNumber.arguments.length - 1];
    for ( i = 0; i < ChkNumber.arguments.length - 1; i += 2)
    {
        campo = ChkNumber.arguments[i];
        nombre = ChkNumber.arguments[i+1];
        if (campo.value)
        {
            var e = String.fromCharCode(233);
	    numero = parseFloat( campo.value );
            if ( campo.value != '' + numero)
                errors += '- '+ nombre +': debe ser num'+e+'rico.\n';
        }
    }
    return errors;
}

function ChkPassword()
{
    var i, campo, nombre, errors;
    errors = ChkPassword.arguments[ChkPassword.arguments.length - 1];
    for ( i = 0; i < ChkPassword.arguments.length - 1; i += 2)
    {
        campo = ChkPassword.arguments[i];
        nombre = ChkPassword.arguments[i+1];
        chrsValidos = "_abcdefghijklmnopqrstuvwxyz0123456789";
	var a = String.fromCharCode(225);
	var o = String.fromCharCode(243);
        if (campo.value)
        {
            aux = campo.value.toLowerCase();
            for ( j = 0, flg = false; j < aux.length; j++, flg = false)
            {
            	for ( k = 0; k < chrsValidos.length; k++)
            	    if ( aux.charAt(j) == chrsValidos.charAt(k) )
            	    	flg = true;
            	if (!flg)
                {
                    errors += '- '+ nombre +': deber'+a+' contener s'+o+'lo caracteres (a-z), (A-Z), (0-9) o underscore (_).\n';
                    break;
	        }
            }
        }
    }
    return errors;
}

function chkRadio(form)
{
    var i, campo, nombre, errors, flag, x;
    var o = String.fromCharCode(243);
    errors = chkRadio.arguments[chkRadio.arguments.length - 1];
    for ( i = 0; i < chkRadio.arguments.length - 1; i += 2)
    {
        campo = chkRadio.arguments[i];
        nombre = chkRadio.arguments[i+1];
		flag = false;
		for (x = 0; x < campo.length; x++)
			if (campo[x].checked)
				flag = true;
		if (!flag)
			 errors += '- '+ nombre +': debe seleccionar una opci'+o+'n.\n';
    }
    return errors;
}

function ChkUserName()
{
    var i, campo, nombre, errors;
    errors = ChkUserName.arguments[ChkUserName.arguments.length - 1];
    for ( i = 0; i < ChkUserName.arguments.length - 1; i += 2)
    {
        campo = ChkUserName.arguments[i];
        nombre = ChkUserName.arguments[i+1];
        chrsValidos = "_abcdefghijklmnopqrstuvwxyz0123456789";
	var a = String.fromCharCode(225);
	var o = String.fromCharCode(243);
        if (campo.value)
        {
            aux = campo.value.toLowerCase();
            for ( j = 0, flg = false; j < aux.length; j++, flg = false)
            {
            	for ( k = 0; k < chrsValidos.length; k++)
            	    if ( aux.charAt(j) == chrsValidos.charAt(k) )
            	    	flg = true;
            	if (!flg)
                {
                    errors += '- '+ nombre +': deber'+a+' contener s'+o+'lo caracteres (a-z), (A-Z), (0-9) o underscore (_).\n';
                    break;
	        }
            }
        }
    }
    return errors;
}

function ChkNombre()
{
    var i, campo, nombre, errors;
    errors = ChkNombre.arguments[ChkNombre.arguments.length - 1];
    for ( i = 0; i < ChkNombre.arguments.length - 1; i += 2)
    {
        campo = ChkNombre.arguments[i];
        nombre = ChkNombre.arguments[i+1];
        chrsValidos = " abcdefghijklmnopqrstuvwxyzñÑáéíóúÁÉÍÓÚ ";
	var a = String.fromCharCode(225);
	var o = String.fromCharCode(243);
        if (campo.value)
        {
            aux = campo.value.toLowerCase();
            for ( j = 0, flg = false; j < aux.length; j++, flg = false)
            {
            	for ( k = 0; k < chrsValidos.length; k++)
            	    if ( aux.charAt(j) == chrsValidos.charAt(k) )
            	    	flg = true;
            	if (!flg)
                {
                    errors += '- '+ nombre +': deber'+a+' contener s'+o+'lo caracteres (a-z), (A-Z) o espacios ( ). \n';
                    break;
	        }
            }
        }
    }
    return errors;
}

function ChkLengthRange()
{  var errors, err='', err2='',nada='';
   errors = ChkLengthRange.arguments[ChkLengthRange.arguments.length - 1];
   for ( i = 0; i < ChkLengthRange.arguments.length - 1; i += 4)
   { err += ChkLength( ChkLengthRange.arguments[i], ChkLengthRange.arguments[i+1], ChkLengthRange.arguments[i+3],nada);
     err2 += ChkLengthMax( ChkLengthRange.arguments[i], ChkLengthRange.arguments[i+2], ChkLengthRange.arguments[i+3],nada);
   }
   errors += err+err2;
   return errors;
}
function ValidaCuil(theField){

	var Suma = 0;
	var Resto = 0;
	var RestoReal;

	if (theField.length < 13){
		return false
	}

	if ((theField.charAt(2) != '-') || (theField.charAt(11) != '-')){
		return false
	}

	var ch2 = theField.substr(0,2);
	var ch8 = theField.substr(3,8);
	var ch1 = theField.substr(12,1);

	if (isNaN(ch2 + ch8 + ch1)){
		return false
	}

	Suma = (theField.charAt(0)*5) + (theField.charAt(1)*4);
	Suma = Suma + (theField.charAt(3)*3) + (theField.charAt(4)*2);
	Suma = Suma + (theField.charAt(5)*7) + (theField.charAt(6)*6);
	Suma = Suma + (theField.charAt(7)*5) + (theField.charAt(8)*4);
	Suma = Suma + (theField.charAt(9)*3) + (theField.charAt(10)*2);

	Resto = (Suma % 11);

	if (Resto == 0){
		Resto = 11;
	}


	Resto = (11 - Resto);


	if  (Resto != ch1){
		return false;
	}
	return true;
}
/*function ChkValidDate()
 para campos que tiene fecha pero en un solo input type 
{
    var i, campo, nombre, errors;
    errors = ChkValidDate.arguments[ChkValidDate.arguments.length - 1];
    for ( i = 0; i < ChkValidDate.arguments.length - 1; i += 2)
    {
        campo = ChkValidDate.arguments[i];
        nombre = ChkValidDate.arguments[i+1];
        chrsValidos = "0123456789/-";
        if (campo.value)
        {
            aux = campo.value.toLowerCase();
            for ( j = 0, flg = false; j < aux.length; j++, flg = false)
            {
            	for ( k = 0; k < chrsValidos.length; k++)
            	    if ( aux.charAt(j) == chrsValidos.charAt(k) )
            	    	flg = true;
            	if (!flg)
                {
                    errors += '- '+ nombre +': deberá contener sólo caracteres Correspondites a Fechas.\n';
                    break;
	        }
            }
        }
    }
    return errors;
}*/

function ChkValidDate()
/* recibe una fecha formato dd/mm/aaaa, valida que sea una fecha válida */
{    
    var errors = ChkValidDate.arguments[ChkValidDate.arguments.length - 1];
    for (var i = 0; i < ChkValidDate.arguments.length - 1; i += 2)
    {
        var campo = ChkValidDate.arguments[i].value;
        var nombre = ChkValidDate.arguments[i+1];
        var ok = false;
        var arrcampos = campo.split("/");                       
        if (arrcampos.length == 3)
        {
		if (arrcampos[0].length == 2 && arrcampos[1].length == 2 && arrcampos[2].length == 4)
		{
			var flag = true;
			var pos;
			var chrsValidos = "0123456789";        	
			for (var k = 0;k < arrcampos.length; k++)
			{					
			    for (var j = 0, flg = false; j < arrcampos[k].length; j++, flg = false)
			    {
					pos = chrsValidos.indexOf(arrcampos[k].charAt(j));
			    	if (pos < 0)
			        {
						flag = false;	
					}					
			    }
			}		
			if (flag)
			{
			    if ((arrcampos[2] % 4) == 0 ) 
			    {
			    	str = "31,29,31,30,31,30,31,31,30,31,30,31";	        		
			    }
			    else
			    {
			    	str = "31,28,31,30,31,30,31,31,30,31,30,31";
			    }
			    var arrdias = str.split(",");			    	
			    if (arrcampos[0] > 0 && arrcampos[0] <= arrdias[arrcampos[1] - 1])
			    {	        	
			        ok = true;
			    }	        					        	
			}	         
		}
	}			
    	if (!ok)
	{
	    var a = String.fromCharCode(225);
	    errors += '- '+ nombre +': deber'+a+' contener una fecha v'+a+'lida.\n';
	    break;
	}      					
    }
    return errors;
}


function ChkValidarNombre(pass)
{
	if (pass)
	{
		var filter=/^\\\['áéíóúÁÉÍÓÚüÜA-Za-z. \-()°\\\]+$/;
		if (!filter.test(pass))
			return false;
	}
	else 
		return false;
	return true;
}

function ChkNumChar()
{
    var i, campo, nombre, errors;
    errors = ChkNumChar.arguments[ChkNumChar.arguments.length - 1];
    for ( i = 0; i < ChkNumChar.arguments.length - 1; i += 2)
    {
        campo = ChkNumChar.arguments[i];
        nombre = ChkNumChar.arguments[i+1];
        chrsValidos = "0123456789";
	var a = String.fromCharCode(225);
	var o = String.fromCharCode(243);
        if (campo.value)
        {
            aux = campo.value.toLowerCase();
            for ( j = 0, flg = false; j < aux.length; j++, flg = false)
            {
            	for ( k = 0; k < chrsValidos.length; k++)
            	    if ( aux.charAt(j) == chrsValidos.charAt(k) )
            	    	flg = true;
            	if (!flg)
                {
                    errors += '- '+ nombre +': deber'+a+' contener s'+o+'lo caracteres (0-9).\n';
                    break;
	        }
            }
        }
    }
    return errors;
}

function ChkTelediscado()
{
    var i, campo, nombre, errors;
    errors = ChkTelediscado.arguments[ChkTelediscado.arguments.length - 1];
    for (i = 0; i < ChkTelediscado.arguments.length - 1; i += 2)
    {
        campo = ChkTelediscado.arguments[i];
        nombre = ChkTelediscado.arguments[i+1];	
        if ( campo.value && campo.value.charAt(0) != 0 )
            errors += '- '+ nombre +': debe comenzar con cero (0).\n';
    }
    return errors;
}

function ValidarRegExp () {
	    var errors = ValidarRegExp.arguments[ValidarRegExp.arguments.length - 1];	
    	var campo = ValidarRegExp.arguments[0];
       	var regexp = ValidarRegExp.arguments[1];		
       	var nombre = ValidarRegExp.arguments[2];
		var descipcionDelError = ValidarRegExp.arguments[3];
		
		var Mask = new RegExp(regexp,"i");
		if (! Mask.test(campo.value)) {
	       	errors += '- '+ nombre + ': ' + descipcionDelError  + '.\n';	
		}
	
		return errors;
}

function ValidarRegExpAlfaNumNotNull () {
	 var a = String.fromCharCode(225);
	    var errors = ValidarRegExpAlfaNumNotNull.arguments[ValidarRegExpAlfaNumNotNull.arguments.length - 1];	
    	var campo = ValidarRegExpAlfaNumNotNull.arguments[0];
       	var regexp = '^([a-z A-Z ñ Ñ 0-9 á é í ó ú Á É Í Ó Ú \\\\- \\. \\s]{1,99999999})$';		
       	var nombre = ValidarRegExpAlfaNumNotNull.arguments[1];		
		return ValidarRegExp(campo,regexp,nombre,'est'+a+' vac'+a+'o o contiene caracteres no v'+a+'lidos',errors);
}

function ValidarRegExpAlfaNum () {
	var a = String.fromCharCode(225);
	    var errors = ValidarRegExpAlfaNum.arguments[ValidarRegExpAlfaNum.arguments.length - 1];	
    	var campo = ValidarRegExpAlfaNum.arguments[0];
       	var regexp = '^([a-z A-Z ñ Ñ 0-9 á é í ó ú Á É Í Ó Ú \\\\- \\. \\s \\: \\, \\/ \\= \\% \\& \\# \\! \\? \\( \\) \\$ \\> \\< \\_ \\; \\¿ \\¡ \\+ \\* \\ü ]{0,99999999})$';		
       	var nombre = ValidarRegExpAlfaNum.arguments[1];		
		return ValidarRegExp(campo,regexp,nombre,'contiene caracteres no v'+a+'lidos',errors);
}

function ValidarRegSoloNum () {
	var u = String.fromCharCode(250);
	    var errors = ValidarRegSoloNum.arguments[ValidarRegSoloNum.arguments.length - 1];	
    	var campo = ValidarRegSoloNum.arguments[0];
       	var regexp = '^([0-9]{0,255})$';		
       	var nombre = ValidarRegSoloNum.arguments[1];		
		return ValidarRegExp(campo,regexp,nombre,'debe contener solo n'+u+'meros',errors);
}

function ValidarFormatoFechaDDMMYYYY () {
	    var errors = ValidarFormatoFechaDDMMYYYY.arguments[ValidarFormatoFechaDDMMYYYY.arguments.length - 1];	
    	var campo = ValidarFormatoFechaDDMMYYYY.arguments[0];
       	var regexp = '^([0-9]{2,2}\[ / ]{1,1}\[0-9]{2,2}\[ / ]{1,1}\[0-9]{4,4})$';		
       	var nombre = ValidarFormatoFechaDDMMYYYY.arguments[1];		
		return ValidarRegExp(campo,regexp,nombre,'es incorrecta, debe ser dd/mm/aaaa',errors);
}
