/**
 * Login.js
 * funciones para validar login de usuario, para acceder a  contenido protegido.
 *
 * @package     prontus_fiap
 * @subpackage  login
 * @author      CPN <desarrollo@altavoz.net>
 * @version
 * 1.0.0 - 14/05/2009 - CPN - Primera Versión<br>
 */

/*
* Nombre Funcion    : createXMLHttp
* Param             : -
* return            : objeto XMLHTTPRequest
* Autor             : CPN
* Fecha             : 11/05/2009
* Descripcion       : Comunicacion asincrona con el servidor
*/

function createXMLHttp(){
    var oxml;
    try{                                                                    //Para Internet Explorer
        oxml = new ActiveXObject("Msxml2.XMLHTTP");                         //funcion para javascript 5.0
    }catch(e){
        try{
            oxml = new ActiveXObject("Microsoft.XMLHTTP");
        }catch(oc){ oxml= "";}
    }
    if ((!oxml) &&(typeof(XMLHttpRequest !="undefined"))){                  //para otros exploradores, FF, Opera
        oxml = new XMLHttpRequest();
    }
    return oxml;
};

/**
  * Nombre Funcion    : getDataAjaxBy_Get
  * Param             : dirurl  - url a la cual se conectara
  *                   : vars    - variables pasadas por get a la url
  * Return            : retorna el resultado de la operación del servidor
  * Autor             : CPN
  * Fecha             : 11/05/2009
  * Descripcion       : Comunicacion asincrona con el servidor
  */
function getDataAjaxBy_Get(dirurl,vars){
    var oxml =  createXMLHttp();
    oxml.open("get",dirurl + vars, false);
    oxml.send(null);
    if(oxml.status == 404){
        return "FileNotFound 404 Error With Server"
    }else{
        return oxml.responseText;
    }
};

/**
  * Nombre Funcion    : validarUser
  * Param             : -
  * Return            : retorna el resultado de la operación del servidor
  * Autor             : CPN
  * Fecha             : 11/05/2009
  * Descripcion       : Valida Datos ingresados por el usuario
  */
function validarUser(){
  var div;
  var user;
  var pass;
  var urllogin;
  var destino;
  var server;
  div = document.getElementById("msj");

  destino = document.getElementById("dest").value;
  server = document.getElementById("destserver").value;
  user = document.getElementById("nombre").value;
  pass = document.getElementById("clave").value;
  //urllogin = "/prontus_fiap/cpan/login/control_usuario.php";
  urllogin = "/prontus_fiap/stat/login/control_usuario.php";
  //Si el destino vienede una pagina de descarga, luego de logearse redireccionar a la pagina de login

  var regEx =/descarga/;
  if (regEx.test(destino)){
    destino =  '/prontus_fiap/site/edic/base/port/inicio.html';
  }

  if (destino == '') destino =  '/prontus_fiap/site/edic/base/port/inicio.html';
  if ((user == '')||(pass == '') || (caracteresPermitidos(user)) || (caracteresPermitidos(pass))){
      div.innerHTML = "<span class='msjErrorLogin'>Datos Invalidos, verifique sus antecedentes. <span>";
  }else{
      var result =  getDataAjaxBy_Get(urllogin, '?user='+user+'&clave='+pass);
      var matchex=/[0]+/;
      if (matchex.test(result)) result='0';
      var matchex=/[1]+/;
      if (matchex.test(result)) result='1';
      var matchex=/[2]+/;
      if (matchex.test(result)) result='2';
      switch (result){
        case '0':   //error usuario no existe
          div.innerHTML = "<span class='msjErrorLogin'>Usuario inexistente, verifique sus antecedentes.<span>";
          break;
        case '1':   //direccionar a la pagina que traia al momento de seleccionar
          window.location = destino;
          break;
        case '2':   //Error de en la ejecución del proceso
          div.innerHTML = "<span class='msjErrorLogin'>Error en la ejecución, consulte con su administrador. <span>";
          break;
        default:
          div.innerHTML = "<span class='msjErrorLogin'>Error en la ejecución, consulte con su administrador. <span>";
          break;
      }
  }
};

/**
  * Nombre Funcion    : caracteresPermitidos
  * Param             : datoValidar  - string  a analizar que  no contenga caracteres especiales
  * return             : resultado de la validación
  * Autor             : CPN
  * Fecha             : 11/05/2009
  * Descripcion       : Verifica que la cadena no  contenga caracteres especiales
  */
function caracteresPermitidos(datoValidar){
    var RegExPattern = /\W+/;
    if (RegExPattern.test(datoValidar)){
        return  true;
    }else {
        return false;
    }
};

