var defaultEmptyOK = false
var checkNiceness = true;
var digits = "0123456789";
var lowercaseLetters = "abcdefghijklmnopqrstuvwxyz�������"
var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ������"
var whitespace = " \t\n\r";
//var phoneChars = "()-+ ";
var phoneChars = "";
var mMessage = "no puede dejar vacío el campo ";
var pPrompt = "Error: ";
var pAlphanumeric = "ingrese un texto que contenga solo letras y/o números";
var pAlphabetic   = "ingrese un texto que contenga solo letras";
var pInteger = "ingrese un número entero";
var pNumber = "ingrese un número";
var pPhoneNumber = "ingrese un valor válido para el campo ";
var pEmail = "ingrese una dirección de correo electrónico válida";
var pName = "ingrese un texto que contenga solo letras, números o espacios";
var pNice = "no puede utilizar comillas aquí";
var minCharsUser = 6;
var minCharsPass = 6;
var pPort  = "ingrese un valor entero entre 1024 y 65535 en el campo ";
var pInt4  = "ingrese un valor entero entre 1 y 2147483647 en el campo ";
var pListEmpty = "debe seleccionar al menos un elemento de la lista ";

function makeArray(n) {
   for (var i = 1; i <= n; i++) {
      this[i] = 0
   } 
   return this
}

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

function isWhitespace (s)
{   var i;
    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        // si el caracter en que estoy no aparece en whitespace,
        // entonces retornar falso
        if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}


function stripCharsInBag (s, bag)
{   var i;
    var returnString = "";

    // Buscar por el string, si el caracter no esta en "bag", 
    // agregarlo a returnString
    
    for (i = 0; i < s.length; i++)
    {   var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }

    return returnString;
}


function stripCharsNotInBag (s, bag)
{   var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) != -1) returnString += c;
    }

    return returnString;
}


function stripWhitespace (s)
{   return stripCharsInBag (s, whitespace)
}

function charInString (c, s)
{   for (i = 0; i < s.length; i++)
    {   if (s.charAt(i) == c) return true;
    }
    return false
}

function stripInitialWhitespace (s)
{   var i = 0;
    while ((i < s.length) && charInString (s.charAt(i), whitespace))
       i++;
    return s.substring (i, s.length);
}

function isLetter (c)
{
    return( ( uppercaseLetters.indexOf( c ) != -1 ) ||
            ( lowercaseLetters.indexOf( c ) != -1 ) )
}

function isDigit (c)
{   return ((c >= "0") && (c <= "9"))
}

function isLetterOrDigit (c)
{   return (isLetter(c) || isDigit(c))
}

function isInteger2(s){
    var i;
    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);
       
    
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (!isDigit(c)) return false;
        
    }
    return true;
}

function isInteger (s)
{   var i;
    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);
       
    
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if( i != 0 ) {
            if (!isDigit(c)) return false;
        } else { 
            if (!isDigit(c) && (c != "-") || (c == "+")) return false;
        }
    }
    return true;
}


function isNumber (s)
{   var i;
    var dotAppeared;
    dotAppeared = false;
    if (isEmpty(s)) 
       if (isNumber.arguments.length == 1) return defaultEmptyOK;
       else return (isNumber.arguments[1] == true);
    
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if( i != 0 ) {
            if ( c == "." ) {
                if( !dotAppeared )
                    dotAppeared = true;
                else
                    return false;
            } else     
                if (!isDigit(c)) return false;
        } else { 
            if ( c == "." ) {
                if( !dotAppeared )
                    dotAppeared = true;
                else
                    return false;
            } else     
                if (!isDigit(c) && (c != "-") || (c == "+")) return false;
        }
    }
    return true;
}

function isAlphabetic (s)
{   var i;

    if (isEmpty(s)) 
       if (isAlphabetic.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphabetic.arguments[1] == true);
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is letter.
        var c = s.charAt(i);

        if (!isLetter(c))
        return false;
    }
    return true;
}

function isAlphanumeric (s)
{   var i;

    if (isEmpty(s)) 
       if (isAlphanumeric.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphanumeric.arguments[1] == true);

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (! (isLetter(c) || isDigit(c) ) )
        return false;
    }

    return true;
}


function isName (s)
{
    if (isEmpty(s)) 
       if (isName.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphanumeric.arguments[1] == true);
    
    return( isAlphanumeric( stripCharsInBag( s, whitespace ) ) );
}

function isPhoneNumber (s)
{   var modString;
    if (isEmpty(s)) 
       if (isPhoneNumber.arguments.length == 1) return defaultEmptyOK;
       else return (isPhoneNumber.arguments[1] == true);
    modString = stripCharsInBag( s, phoneChars );
    
    return (isInteger2(modString))
}

function isEmail (s)
{
    if (isEmpty(s)) 
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);
    if (isWhitespace(s)) return false;
    var i = 1;
    var sLength = s.length;
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;

    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }

    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}

function isNice(s)
{
        var i = 1;
        var sLength = s.length;
        var b = 1;
        while(i<sLength) {
                if( (s.charAt(i) == "\"") || (s.charAt(i) == "'" ) ) b = 0;
                i++;
        }
        return b;
}

function statBar (s)
{   window.status = s
}

function getFieldName(field){
    
   if (isArray(FIELDS)){
      for(i=0;i<FIELDS.length;i++){
         if (FIELDS[i][0] == field){
           return (FIELDS[i][1])
         }
      }
   }
       
}


function warnEmpty (theField)
{   theField.focus()
    msg=mMessage
    fieldName=getFieldName(theField.name)
    if (isArray(FIELDS) && !isEmpty(fieldName)){
       msg += "\'"+fieldName+"\'"
    }
    alert1(pPrompt + msg)
    statBar(pPrompt + msg)
    return false
}

function warnInvalid (theField, s)
{   theField.focus()
    theField.select()
    msg=s
    fieldName=getFieldName(theField.name)
    if (isArray(FIELDS) && !isEmpty(fieldName)){
       msg += "\'"+fieldName+"\'"
    }
    alert1(pPrompt + msg)
    statBar(pPrompt + msg)
    return false
}


function checkField (theField, theFunction, emptyOK, s)
{   
    
    var msg;
    if (checkField.arguments.length < 3) emptyOK = defaultEmptyOK;
    if (checkField.arguments.length == 4) {
        msg = s;
    } else {
        if( theFunction == isAlphabetic ) msg = pAlphabetic;
        if( theFunction == isAlphanumeric ) msg = pAlphanumeric;
        if( theFunction == isInteger ) msg = pInteger;
        if( theFunction == isNumber ) msg = pNumber;
        if( theFunction == isEmail ) msg = pEmail;
        if( theFunction == isPhoneNumber ) msg = pPhoneNumber;
        if( theFunction == isName ) msg = pName;
        if( theFunction == isNetPort) msg = pPort;
        if( theFunction == isInt4 ) msg=pInt4;
    }
    
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;

    if ((emptyOK == false) && (isEmpty(theField.value))) 
        return warnEmpty(theField);

    if ( checkNiceness && !isNice(theField.value))
        return warnInvalid(theField, pNice);

    if (theFunction(theField.value) == true) 
        return true;
    else
        return warnInvalid(theField,msg);

}

function validaDV( strDV ){

      dv = strDV + ""
      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;

      return true;
 }




function chequeaDV(thisRut, strDv){

                var strRut = thisRut.value;
                var i;

                if (thisRut.value =="")
                        return false;

                largo = strRut.length;

                if ( largo < 2 )
                {
                        alert1("Debe ingresar el rut completo !")
                        //thisRut.value='';
                        thisRut.focus();
                        return false;
                }
                strRutSD=strRut;
/*
                if ( largo > 2 )
                        strRutSD = strRut.substring(0, largo - 1);
                else
                        strRutSD = strRut.charAt(0);
*/
                //strDv = strRut.charAt(largo-1);
                if (!validaDV( strDv ))
                {
                        alert1("Su dígito validador del rut " + strDv + " es incorrecto")
                        //thisRut.value='';
                        thisRut.focus();
                        return false
                }

                if ( strRutSD == null || strDv == null )
                    return 0

                var dvr = '0'

                intSuma = 0
                intFactor  = 2

                for (i= strRutSD.length -1 ; i >= 0; i--)
                {
                        intSuma = intSuma + strRutSD.charAt(i) * intFactor
                        if (intFactor == 7)
                                intFactor = 2
                        else
                                intFactor++
                }


                intResto = intSuma % 11
                if (intResto == 1)
                        dvr = 'k'
                else if (intResto == 0)
                        dvr = '0'
                else
                {
                        dvi = 11 - intResto
                        dvr = dvi + ""
                }


                if ( dvr != dv.toLowerCase() )
                {
                        alert1("EL rut " + thisRut.value + " - " + strDv+ " es incorrecto")
                        //thisRut.value='';
                        thisRut.focus();
                        return false
                }

                return true

 }

 function maxLenght(obj,e,ma) { 

    if (document.all) {
        e = window.event
    }
    
    var tecla;

    if (document.all){
       alert("3")
        tecla = e.keyCode
    }
    
    if (document.getElementById){
        alert("1");
       tecla = e.which
              
    }
    
    if (document.layers){
        alert("2")
        tecla = e.which
    }
        
    
    alert(tecla)      
    
    alert(obj.value.length+" == "+ma)
    
    if(obj.value.length == ma && tecla!= 8){
        alert("pasoo")
        return (false)
    }    
        
    return(true)    
 }
  
 function isArray(obj){
    
    if (obj != null && obj.length){
      return true;
    }else{
      return false;
    }
   
 } 
     
 
 function selectUnCheckBox(obj){
       if (isArray(obj)){
		  largo = obj.length
		  		  
		  for (i=0;i<largo;i++){
					
			if(obj[i].checked==true){
			   obj[i].checked=false			   
			}   
		  }		  
		 
		}  
		
		
 } 
 
 function checkOpcion(obj){
      alert(obj.name+" : "+obj.value)
      selectUnCheckBox(obj)
 
 }
 
 function warnListEmpty(theField){
    msg=pListEmpty
    if (isArray(theField))    
       fieldName=getFieldName(theField[0].name)
    else
       fieldName=getFieldName(theField.name)   
    if (isArray(FIELDS) && !isEmpty(fieldName)){
       msg += "\'"+fieldName+"\'"
    }
    alert1(pPrompt + msg)
    statBar(pPrompt + msg)
    return false
}
 
 function validaCheckBox(obj){
		
		if (isArray(obj)){
		  largo = obj.length;
		  flag=0;
		  
		  for (i=0;i<largo;i++){
					
			if(obj[i].checked==true)
			   flag=1;
		  }
		  
		  if(flag==1){
			return true;
		  }else{
		    warnListEmpty(obj)
			return false;
		  }
		}else{
		  if(obj.checked==true){
		    return(true);
		  }else{
		    warnListEmpty(obj) 
 		    return(false);
		  }
		}  
	}    

//
// Validador de Fecha 
//   dd/mm/aaaa
//	
	var a, mes, dia, ano, febrero;
    
    function anoBisiesto(ano){
        
        if (ano < 100)
            var fin = ano + 2000;
        else
            var fin = ano ;
        
        if (fin % 4 != 0)
            return false;
        else{
            if (fin % 100 == 0){
                if (fin % 400 == 0){
                    return true;
                }else{
                    return false;
                }
            }else{
                return true;
            }
        }
    }
    
    function validaFechaDMA(objDia,objMes,objAno){
       
       var dia = objDia.value
       var mes = objMes.value
       var ano = objAno.value
       
	   if(anoBisiesto(ano))
           febrero=29;
       else
           febrero=28;
       
       if ((mes<1) || (mes>12)){
           alert1("El mes introducido no es válido. Por favor, introduzca un mes correcto");
           objMes.focus();
           return (false);
       }
       
       if ((mes==2) && ((dia<1) || (dia>febrero))){
           alert1("El dia introducido no es valido. Por favor, introduzca un día correcto");
           objDia.focus();
           return (false);
       }
       
       if (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31))){
           alert1("El día introducido no es válido. Por favor, introduzca un día correcto");
           objDia.focus();
           return (false);
       }
       
       if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30))){
           alert1("El día introducido no es válido. Por favor, introduzca un día correcto");
           objDia.focus();
           return (false);
       }
       
       if ((ano<2005)){
           alert1("El año introducido no es válido. Por favor, introduzca un año igual o superior a 2005");
           objAno.focus();
           return (false);
       }else{
           
          //alert("La fecha introducida es correcta. Gracias por su colaboracion");
          //document.forms[0].submit();    
          return(true);
       }   
    }
    
    function validarFecha(objFecha ){
       a = objFecha.value;
       dia=a.split("/")[0];
       mes=a.split("/")[1];
       ano=a.split("/")[2];
	   if( (isNaN(dia)==true) || (isNaN(mes)==true) || (isNaN(ano)==true) ){
	       alert1("La fecha introducida debe tener el formato dia/mes/año (dd/mm/aaaa)");
		   return (false);
       }
       if(anoBisiesto(ano))
           febrero=29;
       else
           febrero=28;
       
       if ((mes<1) || (mes>12)){
           alert1("El mes introducido no es válido. Por favor, introduzca un mes correcto");
           objFecha.focus();
           objFecha.select();
           return (false);
       }
       
       if ((mes==2) && ((dia<1) || (dia>febrero))){
           alert1("El dia introducido no es valido. Por favor, introduzca un día correcto");
           objFecha.focus();
           objFecha.select();
           return (false);
       }
       
       if (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31))){
           alert1("El día introducido no es válido. Por favor, introduzca un día correcto");
           objFecha.focus();
           objFecha.select();
           return (false);
       }
       
       if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30))){
           alert1("El día introducido no es válido. Por favor, introduzca un día correcto");
           objFecha.focus();
           objFecha.select();
           return (false);
       }
       
       if ((ano<2005)){
           alert1("El año introducido no es válido. Por favor, introduzca un año igual o superior a 2005");
           objFecha.focus();
           objFecha.select();
           return (false);
       }else{
           
          //alert("La fecha introducida es correcta. Gracias por su colaboracion");
          //document.forms[0].submit();    
          return(true);
       }   
       
    }    
//
// Fin validador fecha.
//	

// Valida hora 24:00:00 (HH:MM:SS)

function CheckTime(str){
hora=str.value
if (hora=='') {
  return
}
if (hora.length>8) {
  alert1("Introdujo una cadena mayor a 8 caracteres");
  return
}
if (hora.length!=8) {
  alert1("Introducir HH:MM:SS");
  return
}
a=hora.charAt(0) //<=2
b=hora.charAt(1) //<4
c=hora.charAt(2) //:
d=hora.charAt(3) //<=5
e=hora.charAt(5) //:
f=hora.charAt(6) //<=5
if ((a==2 && b>3) || (a>2)) {
  alert1("El valor que introdujo en la hora no corresponde, introduzca un dígito entre 00 y 23");    return
}
if (d>5) {
  alert1("El valor que introdujo en los minutos no corresponde, introduzca un dígito entre 00 y 59");
  return
}
if (f>5) {
  alert1("El valor que introdujo en los segundos no corresponde");
  return
}
if (c!=':' || e!=':') {
  alert1("Introduzca el caracter ':' para separar la hora, los minutos y los segundos");
  return
}
}

//////
// Funcion para convertir acentos en un string
// Convierte ASCII/ANSI por los hexadecimales correctos
////////////////////////////////

function acentos(x) {
	
	x = x.replace(/¡/g,"\xA1");	x = x.replace(/&iexcl;/g,"\xA1")
	x = x.replace(/¿/g,"\xBF");	x = x.replace(/&iquest;/g,"\xBF")
	x = x.replace(/À/g,"\xC0");	x = x.replace(/&Agrave;/g,"\xC0")
	x = x.replace(/à/g,"\xE0");	x = x.replace(/&agrave;/g,"\xE0")
	x = x.replace(/Á/g,"\xC1");	x = x.replace(/&Aacute;/g,"\xC1")
	x = x.replace(/á/g,"\xE1");	x = x.replace(/&aacute;/g,"\xE1")
	x = x.replace(/Â/g,"\xC2");	x = x.replace(/&Acirc;/g,"\xC2")
	x = x.replace(/â/g,"\xE2");	x = x.replace(/&acirc;/g,"\xE2")
	x = x.replace(/Ã/g,"\xC3");	x = x.replace(/&Atilde;/g,"\xC3")
	x = x.replace(/ã/g,"\xE3");	x = x.replace(/&atilde;/g,"\xE3")
	x = x.replace(/Ä/g,"\xC4");	x = x.replace(/&Auml;/g,"\xC4")
	x = x.replace(/ä/g,"\xE4");	x = x.replace(/&auml;/g,"\xE4")
	x = x.replace(/Å/g,"\xC5");	x = x.replace(/&Aring;/g,"\xC5")
	x = x.replace(/å/g,"\xE5");	x = x.replace(/&aring;/g,"\xE5")
	x = x.replace(/Æ/g,"\xC6");	x = x.replace(/&AElig;/g,"\xC6")
	x = x.replace(/æ/g,"\xE6");	x = x.replace(/&aelig;/g,"\xE6")
	x = x.replace(/Ç/g,"\xC7");	x = x.replace(/&Ccedil;/g,"\xC7")
	x = x.replace(/ç/g,"\xE7");	x = x.replace(/&ccedil;/g,"\xE7")
	x = x.replace(/È/g,"\xC8");	x = x.replace(/&Egrave;/g,"\xC8")
	x = x.replace(/è/g,"\xE8");	x = x.replace(/&egrave;/g,"\xE8")
	x = x.replace(/É/g,"\xC9");	x = x.replace(/&Eacute;/g,"\xC9")
	x = x.replace(/é/g,"\xE9");	x = x.replace(/&eacute;/g,"\xE9")
	x = x.replace(/Ê/g,"\xCA");	x = x.replace(/&Ecirc;/g,"\xCA")
	x = x.replace(/ê/g,"\xEA");	x = x.replace(/&ecirc;/g,"\xEA")
	x = x.replace(/Ë/g,"\xCB");	x = x.replace(/&Euml;/g,"\xCB")
	x = x.replace(/ë/g,"\xEB");	x = x.replace(/&euml;/g,"\xEB")
	x = x.replace(/Ì/g,"\xCC");	x = x.replace(/&Igrave;/g,"\xCC")
	x = x.replace(/ì/g,"\xEC");	x = x.replace(/&igrave;/g,"\xEC")
	x = x.replace(/Í/g,"\xCD");	x = x.replace(/&Iacute;/g,"\xCD")
	x = x.replace(/í/g,"\xED");	x = x.replace(/&iacute;/g,"\xED")
	x = x.replace(/Î/g,"\xCE");	x = x.replace(/&Icirc;/g,"\xCE")
	x = x.replace(/î/g,"\xEE");	x = x.replace(/&icirc;/g,"\xEE")
	x = x.replace(/Ï/g,"\xCF");	x = x.replace(/&Iuml;/g,"\xCF")
	x = x.replace(/ï/g,"\xEF");	x = x.replace(/&iuml;/g,"\xEF")
	x = x.replace(/Ñ/g,"\xD1");	x = x.replace(/&Ntilde;/g,"\xD1")
	x = x.replace(/ñ/g,"\xF1");	x = x.replace(/&ntilde;/g,"\xF1")
	x = x.replace(/Ò/g,"\xD2");	x = x.replace(/&Ograve;/g,"\xD2")
	x = x.replace(/ò/g,"\xF2");	x = x.replace(/&ograve;/g,"\xF2")
	x = x.replace(/Ó/g,"\xD3");	x = x.replace(/&Oacute;/g,"\xD3")
	x = x.replace(/ó/g,"\xF3");	x = x.replace(/&oacute;/g,"\xF3")
	x = x.replace(/Ô/g,"\xD4");	x = x.replace(/&Ocirc;/g,"\xD4")
	x = x.replace(/ô/g,"\xF4");	x = x.replace(/&ocirc;/g,"\xF4")
	x = x.replace(/Õ/g,"\xD5");	x = x.replace(/&Otilde;/g,"\xD5")
	x = x.replace(/õ/g,"\xF5");	x = x.replace(/&otilde;/g,"\xF5")
	x = x.replace(/Ö/g,"\xD6");	x = x.replace(/&Ouml;/g,"\xD6")
	x = x.replace(/ö/g,"\xF6");	x = x.replace(/&ouml;/g,"\xF6")
	x = x.replace(/Ø/g,"\xD8");	x = x.replace(/&Oslash;/g,"\xD8")
	x = x.replace(/ø/g,"\xF8");	x = x.replace(/&oslash;/g,"\xF8")
	x = x.replace(/Ù/g,"\xD9");	x = x.replace(/&Ugrave;/g,"\xD9")
	x = x.replace(/ù/g,"\xF9");	x = x.replace(/&ugrave;/g,"\xF9")
	x = x.replace(/Ú/g,"\xDA");	x = x.replace(/&Uacute;/g,"\xDA")
	x = x.replace(/ú/g,"\xFA");	x = x.replace(/&uacute;/g,"\xFA")
	x = x.replace(/Û/g,"\xDB");	x = x.replace(/&Ucirc;/g,"\xDB")
	x = x.replace(/û/g,"\xFB");	x = x.replace(/&ucirc;/g,"\xFB")
	x = x.replace(/Ü/g,"\xDC");	x = x.replace(/&Uuml;/g,"\xDC")
	x = x.replace(/ü/g,"\xFC");	x = x.replace(/&uuml;/g,"\xFC")
	
	x = x.replace(/\"/g,"\x22")
	x = x.replace(/\'/g,"\x27")
	x = x.replace(/\</g,"\x3C")
	x = x.replace(/\>/g,"\x3E")
	x = x.replace(/\[/g,"\x5B")
	x = x.replace(/\]/g,"\x5D")

	x = x.replace(/¢/g,"\xA2");	x = x.replace(/&cent;/g,"\xA2") 
	x = x.replace(/£/g,"\xA3");	x = x.replace(/&pound;/g,"\xA3")
	x = x.replace(/€/g,"\u20AC");	x = x.replace(/&euro;/g,"\u20AC") 
	x = x.replace(/©/g,"\xA9");	x = x.replace(/&copy;/g,"\xA9") 
	x = x.replace(/®/g,"\xAE");	x = x.replace(/&reg;/g,"s") 
	x = x.replace(/ª/g,"\xAA");	x = x.replace(/&ordf;/g,"\xAA") 
	x = x.replace(/º/g,"\xBA");	x = x.replace(/&ordm;/g,"\xBA") 
	x = x.replace(/°/g,"\xB0");	x = x.replace(/&deg;/g,"\xB0") 
	x = x.replace(/±/g,"\xB1");	x = x.replace(/&plusmn;/g,"\xB1")
	x = x.replace(/×/g,"\xD7");	x = x.replace(/&times;/g,"\xD7") 
	
		
	return x
}

function alert1(x){ 
  alert(acentos(x)) 
}

/// fin acentos()

function validaUsuario(user){
  if (checkField (user, isNice, false )){
      if (user.value.length < minCharsUser){
        user.select()
        user.focus()
        alert1("El campo '"+getFieldName(user.name)+"' no puede tener menos de "+minCharsUser+" caracteres.")
      }else{
        return (true);
      } 
  }
  return (false)
}
 
function validaClave(pass, vacio){
  if (checkField (pass, isNice, vacio )){
      if (pass.value.length > 0  && pass.value.length < minCharsPass){
        pass.select()
        pass.focus()
        alert1("El campo '"+getFieldName(pass.name)+"' no puede tener menos de "+minCharsPass+" caracteres.")
      }else{
        return (true);
      } 
  }
  return (false)
} 

function isNetPort(s){
   if (isInteger(s)){
       if (s > 1024 && s < 65535){
          return(true)
       }       
   }
   return(false)
}

function isInt4(s){
   if (isInteger(s)){
      if (s > 0 && s < 2147483648){
         return (true)
      }
   }
   return (false)
   
}

function EnterPressed(e) {
       // Code adapted from Jennifer Madden
       // http://jennifermadden.com/162/examples/stringEnterKeyDetector.html

       var characterCode
       if(e && e.which){           // NN4 specific code
          e = e
          characterCode = e.which
       }else{
          e = event
          characterCode = e.keyCode // IE specific code
       }
      if (characterCode == 13) return true   // Enter key is 13
      else return false
}

