﻿// JScript File

var digits = "0123456789";
var lowercaseLetters = "abcdefghijklmnopqrstuvwxyzáéíóúñü,\\().;$#&¿?!%ª/<>:\"|@_ºª¡-+*{}[]="
var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚÑ_,\\().;$#&¿?!%ª/<>:\"|@ºª¡-+*{}[]="
var whitespace = " \t\n\r";
// s es vacio
function isEmpty(s)
{   
	return ((s == null) || (s.length == 0))
}

// s es vacio o solo caracteres de espacio
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 checkDV( crut, theField )

{
  largo = crut.length;

  if ( largo > 2 )
    rut = crut.substring(0, largo - 1);
  else
    rut = crut.charAt(0);
  dv = crut.charAt(largo-1);
 
  if ( rut == null || dv == null )
      return 0;

  var dvr = '0';

  suma = 0;
  mul  = 2;

  for (i = rut.length - 1 ; i >= 0; i--)
  {
    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.toLowerCase() )
  {
    alert("El rut igresado es incorrecto.");
    //theField.focus();
    //theField.value = "";
    return false;
  }

  return true;
}


function validaRut(theField)
{
  rut = theField;//.value;
  var tmpstr = "";
  largo = rut.length;

  var iGuion="0";
    
  for (i=0; i < largo ; i++ )
  { 
    
    if ( rut.charAt(i) == "-" ) 
    {
      iGuion="1";
    }
  }

  if (iGuion=="0"){
    alert("Debe ingresar el RUT con guión ej: 12135456-9");
    return false;
   }




  for ( i=0; i < largo; i++ )
    if ( rut.charAt(i) != ' ' && rut.charAt(i) != '.' && rut.charAt(i) != '-' )
      tmpstr = tmpstr + rut.charAt(i);
      
  rut = tmpstr;
  
  largo = rut.length;

  if ( largo < 2 )
  {
    alert("Debe ingresar el rut completo.");
    //theField.focus();
	//theField.select();
    return false;
  }

  for (i=0; i < largo ; i++ )
  { 
    if ( rut.charAt(i) !="0" && rut.charAt(i) != "1" && rut.charAt(i) !="2" && rut.charAt(i) != "3" && rut.charAt(i) != "4" && rut.charAt(i) !="5" && rut.charAt(i) != "6" && rut.charAt(i) != "7" && rut.charAt(i) !="8" && rut.charAt(i) != "9" && rut.charAt(i) !="k" && rut.charAt(i) != "K" && rut.charAt(i) != "-" ) 
    {
      alert("El valor ingresado no corresponde a un R.U.T valido.");
      //theField.focus();
      //theField.select();
      return false;
    }
  }

  var dtexto = "";
  cnt = 0;

  for ( i=largo-1, j=largo-1+3; i>=0; i--, j-- )
  {    
    if ( cnt == 3 )
    {
      dtexto = rut.charAt(i) + dtexto;
      dtexto = '.' + dtexto;
      cnt = 1;
    }
    else
    { 
      dtexto = rut.charAt(i) + dtexto;
      if( cnt == 0 )
        dtexto = '-' + dtexto;
      cnt++;
    }
  }

  theField.value = dtexto;  

  return checkDV(rut, theField);
}	

function isDate(d,m,a)
{
  var dd = parseInt(d,10);
  var mm = parseInt(m,10);
  var aa = parseInt(a,10);
  if( isNaN(dd) || isNaN(mm) || isNaN(aa) || dd < 1 || aa < 1 )
	return false;
  if( mm < 1 || mm > 12 )
	return false;
  var Dias;
  Dias = new Array(12);
  Dias[0] = 31;
  Dias[1] = 28;
  Dias[2] = 31;
  Dias[3] = 30;
  Dias[4] = 31;
  Dias[5] = 30;
  Dias[6] = 31;
  Dias[7] = 31;
  Dias[8] = 30;
  Dias[9] = 31;
  Dias[10] = 30;
  Dias[11] = 31;
  if( (mm == 2) && ((aa % 4 == 0) && (aa % 100 != 0)) || (aa % 400 == 0) )
	Dias[1] = 29;
  if( dd > Dias[mm-1] )
	return false
  return true;
}

function isEmailAddress(theElement)
{
    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 false;
    if (filter.test(s))
        return true;
    else
        alert("Debe ingresar una dirección de correo electrónico válida.");
        theElement.focus();
    return false;
}

function isNumber(texto){
   texto = texto.toLowerCase();
   for(i=0; i<texto.length; i++){
      if (lowercaseLetters.indexOf(texto.charAt(i),0)!=-1){
         return false;
      }
   }
   return true;
} 

function solonumeros(e)
{

var key;

 if(window.event) // IE
 {
  key = e.keyCode;
 }
  else if(e.which) // Netscape/Firefox/Opera
 {
  key = e.which;
 }

 if (key < 48 || key > 57) 
    {
      return false;
    }

 return true;
}



/*return (key <= 13 || (key >= 48 && key <= 57) || key == 44);



//var tecla = window.event.keyCode;
if (tecla < 48 || tecla > 57)
{
window.event.keyCode=0;
}*/
//}

