/* ***************************************************** */
/* **** Funciones para validar el login del usuario **** */
/* **** 11/09/2002 - MCO ******************************* */
/* ***************************************************** */


// -----------------------------------------------------------------
function check_cookie() {
	var rut=getCookie("RUT"); // cookie sesion
	var cadid=getCookie("CADID"); // cookie sesion
	// alert(rut + '  ' + cadid);
	// Si el usr ya esta logeado, salta directo al menu sin solicitare la clave.
	if ( (rut != '') && (rut != null) && (cadid != '') && (cadid != null) ) {
	  document.location.href = "/index_cad.html";
//  	}
//  	else if ( ((rut != '') && (rut != null)) && ((cadid == '') || (cadid == null)) ) {
//  	  document.location.href = "cgi-local/cm_cad_login.pl";
//      check = 1;
	  // document.location.href = "/index.html";
	};
}; // check_cookie.

// -----------------------------------------------------------------
function despliega_nom_usr() {
	var nom = getCookie("NOMUSR"); // cookie sesion.
	var perfil = getCookie("NOMPERFIL"); // cookie sesion.
	// Si el usr ya esta logeado, despliega su nombre.
	if ( (nom != '') && (nom != null) ) {
	  document.write('Usuario:<br><b>' + nom + '</b><br>');
	  document.write('Perfil:<br><b>' + perfil + '</b>');
	}
	else {
	  document.write('Usuario desconocido');
	};
}; // despliega_nom_usr.

// -----------------------------------------------------------------
function despliega_nom_cad() {
	var nom = getCookie("NOMCAD"); // cookie sesion.
	// Si el usr ya esta logeado, despliega su nombre.
	if ( (nom != '') && (nom != null) ) {
	  document.write('<b>' + nom + '</b>');
	}
	else {
	  document.write('Cadete desconocido');
	};
}; // despliega_nom_cad.

// -----------------------------------------------------------------
function subWin(loc, nom, ancho, alto, posx, posy) {
  var options="toolbar=0,status=0,menubar=0,scrollbars=0,resizable=0,location=0,directories=0,width=" + ancho + ",height=" + alto;

  win = window.open(loc, nom, options);
  win.focus();
  win.moveTo(posx, posy);
}; // subWin.

// -----------------------------------------------------------------
function obtiene_curso() {
	var curso = getCookie("CURSO"); // cookie sesion.
	// Si el usr ya esta logeado, despliega su nombre.
	if ( (curso != '') && (curso != null) ) {
	  return curso;
	}
	else {
	  return '';
	};
}; // obtiene_curso.




// -----------------------------------------------------------------
// name - name of the desired cookie
// * return string containing value of specified cookie or null if cookie does not exist
function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}; // getCookie.


// -----------------------------------------------------------------
function valida_campos() {
  var expr;
  var found;

  // RUT
  if (!valida_rut(document.forms[0].RUT.value)) {
    alert('El Rut que ingresó no es válido.');
    document.forms[0].RUT.focus();
    document.forms[0].RUT.select();
    return false;
  };

  // PSW
  expr = /^[a-zA-Z\_\-0-9]{4,}$/;
  found = expr.exec(document.forms[0].PSW.value);
  if (! found) {
    alert('Clave no válida. Debe contener a lo menos 4 caracteres y contener letras sin tildes, números, guión (-) o underscore (_).');
    document.forms[0].PSW.focus();
    document.forms[0].PSW.select();
    return false;
  };

  return true;
}; // valida_campos.

// -----------------------------------------------------------------
function valida_campo() {
  var expr;
  var found;

  // RUT
  if (document.forms[0].Cmb_CAD.length <= 0) {
    alert('No existen cadetes asignado para sus claves');
    document.forms[0].Cmb_CAD.focus();

    return false;
  };

  return true;
}; // valida_campo.

// -----------------------------------------------------------------
function valida_rut(crut) {
  var tmpstr = "";
  var i, largo, dv, rut, dv, suma, mul, res, dvi;

  for ( i=0; i < crut.length ; i++ ) {
    if ( crut.charAt(i) != ' ' && crut.charAt(i) != '.' && crut.charAt(i) != ',' && crut.charAt(i) != '-' ) {
      tmpstr = tmpstr + crut.charAt(i);
    };
  };

  crut = tmpstr;

  largo = crut.length;
  if ( largo < 2 ) {
    return false;
  };

  if ( largo > 2 ) {
    rut = crut.substring(0, largo - 1);
  }
  else {
    rut = crut.charAt(0);
  };

  dv = crut.charAt(largo-1);
  checkCDV( dv );

  if ( rut == null || dv == null ) {
    return false;
  };

  var dvr = '0';

  suma = 0;
  mul  = 2;

  for (i= rut.length -1 ; i >= 0; i--) {
    suma = 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()) {
    return false;
  };

  return true;
}; // valida_rut.

// -----------------------------------------------------------------
function checkCDV(dvr) {
  var dv = dvr + "";
  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;
}; // checkCDV.


// -----------------------------------------------------------------
