// Verifica si un string contiene solo blancos
function OnlyB(str)
{
   var blancos="";
   for( var n=0; n < str.length; n++)
      blancos += " ";

   if ( str == blancos )
      return true;

   return false;
}

function ignoreSpaces(string)
{
    var temp = "";
    string = '' + string;

    splitstring = string.split(" ");
    for( i = 0; i < splitstring.length; i++ )
       temp += splitstring[i];
    return temp;
}


function IsNum( str )
{
   var esnum = true;
   for( j = 0; j < str.length && esnum; j++ )
      if ( str.substring( j, j+1 ) < "0" || str.substring( j, j+1 ) > "9" )
         esnum = false;

   return esnum;
}

function ValFec( fecha )
{
   fecha.value = ignoreSpaces(fecha.value);
   if ( fecha.length != 8 )
      return false;

   // Busca caracteres no numericos
   // for( var n=0; n < fecha.length; n++ )
   // {
      // if ( isNaN( fecha[n] ) )
         // return false;
   // }
   if ( !IsNum( fecha ) )
      return false;

   // Obtiene ano, mes y dia de la fecha
   var aaaa = fecha.substring(0, 4);
   var mm   = fecha.substring(4, 6);
   var dd   = fecha.substring(6, 8);

   if ( mm < 1 || mm > 12 || dd < 1 || dd > 31 )
      return false;

   return true;
}


function ValRUT( rut, dv )
{
   if ( rut.value.length == 0 )
   {
      rut.select();
      rut.focus();
      return false;
   }

   if ( !IsNum( rut.value ) )
      return false;

   dv.value = dv.value.toUpperCase();
   if (  dv.value.length == 0 || ( !IsNum( dv.value ) && dv.value != "K" ) )
   {
      dv.select();
      dv.focus();
      return false;
   }

   tot = 0;
   factor = 2;
   for( j = rut.value.length - 1; j >= 0; j-- )
   {
      tot += ( rut.value.substring(j,j+1) * factor );
      if ( factor++ >= 7 )
         factor = 2;
   }
   dig =  11 - ( tot % 11 );
   if ( dig == 10 && dv.value == "K" ||
        dig == 11 && dv.value == 0   ||
        dig == dv.value )
      return true;

   dv.select();
   dv.focus();
   return false;
}

function ValEmail( 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 +")*$")

var matchArray=emailStr.match(emailPat)
if ( matchArray == null ) // Falta @
   return false;

var user=matchArray[1]
var domain=matchArray[2]

if ( user.match(userPat) == null ) // Username no valido
   return false;

var IPArray=domain.match(ipDomainPat)
if ( IPArray != null )	// Direccion IP
   return false;

// Domain is symbolic name
var domainArray=domain.match(domainPat)
if ( domainArray==null )
   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)
   return false

if (len<2)
   return false

return true;
}

function LimitTextArea( field, countfield, maxchars )
{
    if (field.value.length > maxchars )
       field.value = field.value.substring( 0, maxchars );
    else
       // Actualiza el contador de caracteres que quedan por ingresar
       countfield.value = maxchars - field.value.length;
}
