function ChkBeginChr()
{
    var i, campo, nombre, letra, errors;
    errors = ChkBeginChr.arguments[ChkBeginChr.arguments.length - 1];
    for ( flg = false, i = 0; i < ChkBeginChr.arguments.length - 1; i += 2, flg = false)
    {
        campo = ChkBeginChr.arguments[i];
        nombre = ChkBeginChr.arguments[i+1];
        if (campo.value)
        {
            chrsValidos = "abcdefghijklmnopqrstuvwxyz";
            aux = campo.value.toLowerCase();
            for ( i = 0; i < chrsValidos.length; i++)
            	if ( aux.charAt(0) == chrsValidos.charAt(i) )
                    flg = true;
            if (!flg)
		errors += '- ' + nombre +': el primer caracter debe ser una letra entre (a-z) o (A-Z).\n';
        }
    }
    return errors;
}
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 (field.value.length > maxLen)
				errors += '- '+ message + ' no puede tener más que ' + maxLen + ' caracteres.\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";
        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 (a-z), (A-Z), (0-9) o underscore (_).\n';
                    break;
	        }
            }
        }
    }
    return errors;
}function ChkLength()
{
	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 (field.value.length < minLen)
				errors += '- ' + message + ' no puede tener menos que ' + minLen + ' caracteres.\n';
	}

	return errors;
}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];
        if ( !campo.value )
            errors += '- '+ nombre +': no puede estar vacío.\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];
        if ( (campo.options[campo.selectedIndex].value == null) || 
            (campo.options[campo.selectedIndex].value == '') )
                errors += '- '+ nombre +': debes seleccionar una opción.\n';
    }
    return errors;
}function ChkDate()
{
    var i, campo, p, nombre, errors, not_date;    
    errors = ChkDate.arguments[ChkDate.arguments.length - 1];
    for ( i = 0; i < ChkDate.arguments.length - 1; i += 2)
    {
        not_date = 0;
		campo = ChkDate.arguments[i];
        nombre = ChkDate.arguments[i+1];
        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 valida.\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 CheckDoc()
{
    var i, campo, nombre, errors;
    errors = CheckDoc.arguments[CheckDoc.arguments.length - 1];
    for ( i = 0; i < CheckDoc.arguments.length - 1; i += 2)
    {
        campo = CheckDoc.arguments[i];
        nombre = CheckDoc.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 (0-9) .\n';
                    break;
	        }
            }
        }
    }
    return errors;
}

function CheckHtm()
{
    var i, campo, nombre, errors;
    errors = CheckHtm.arguments[CheckHtm.arguments.length - 1];
    for ( i = 0; i < CheckHtm.arguments.length - 1; i += 2)
    {
        campo = CheckHtm.arguments[i];
        nombre = CheckHtm.arguments[i+1];
        chrsValidos = "><";
        if (campo.value)
        {
            aux = campo.value.toLowerCase();
            for ( j = 0, flg = true; j < aux.length; j++, flg = true)
            {
            	for ( k = 0; k < chrsValidos.length; k++)
            	    if ( aux.charAt(j) == chrsValidos.charAt(k) )
            	    	flg = false;
            	if (!flg)
                {
                    errors += '- '+ nombre +': no puede contener sentencias HTML ni <  o >.\n';
                    break;
	        }
            }
        }
    }
    return errors;
}
function CheckDoc2(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 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();
            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á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 valido.\n';	
            }
            else
                errors += '- '+ nombre +' debe contener una dirección de e-mail válida.\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";
        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 (a-z), (A-Z), (0-9) o underscore (_).\n';
                    break;
	        }
            }
        }
    }
    return errors;
}
function VerTerminos()
{
	window.open('/registracion/alta_terminos.htm',
			'terminos','width=620,height=400,scrollbars=1');
}

function fldreq(f,ar){
 f.fields
}

function esmail(f)
{
var string1=f;
if (string1.indexOf("@")==-1)
{
	return false;
}
else
{
	return true;
}
}


function esnumero(f)
{
	n = f.value;
	if (isNaN(n))
	{
	  	return false;
	}
	else
	{
		return true;
	}
}


function MM_callJS(jsStr) { //v2.0
  return eval(jsStr);
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);

}

function openWin(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function listaIni(lista,valor)
{
	var d = lista.options;
	var i = 0;
	var enc=false;
	for (i = 0 ; (i < d.length) ; i++){
		if (d[i].value == valor)
		{	
			lista.SelectedIndex = i;
			lista.options[i].selected = true ;
			enc = true;
			i = 1000;
		}
	}
}

function chkWordMax()
{
	var i,field,nombre,message,errors,maxLen,j,words,pala;

	errors = chkWordMax.arguments[chkWordMax.arguments.length - 1];

	for (i=0; i< chkWordMax.arguments.length - 1; i += 2)
	{
		field = chkWordMax.arguments[i];
		nombre = chkWordMax.arguments[i+1];
		words = field.value.split(" ");
		
	    for (j=0 ; j < words.length ; j +=1)
		{
			pala = words[j];
			if (pala.length > 50)
			{
				errors += '- El Campo '+ nombre + ' contiene alguna palabra con más de 50  caracteres.\n  Separe las palabras con un espacio.\n';
			}
		}
	}
	   return errors;
}