/* **********************************************************************************
 * PROYECTO:
 *           ACADEMIA RIOJANA DE GASTRONOMIA: GENERAL.
 *
 * Desarrollado por:
 *          FORMATIA - Formación, Consulta y Desarrollo PEFER, S.L.
 *                   - C/ Capitán Gallarza, 1 entlo. - 26001 - Logroño - La Rioja
 *                   - 941 202 596 - 941 214 304 - desarrollo@formatia.net
 *
 * Fecha de inicio del proyecto: 07/11/2007
 * **********************************************************************************
 * Fichero JavaScript: /control/js/index.js
 * Archivos que usan este script:
 *   /control/acc_activar_pass.php
 *   /control/index.php
 *   /control/show_msg.php
 *
 * Fecha de creación del fichero:  24/08/2007
 * Desarrollador: Luis Fernández
 * Modificaciones:
 *
 * ******************************************************************************* */

/* **********************************************************************************
 * function validarForm()
 * Entrada:
 *
 * Salida:
 *    Valida que los campos username y passw del formulario formaccess no estén
 *    vacíos.
 *    Si ambos tienen contenido se lanza la llamada AJAX para recuperar la
 *    validación del php, en caso contrario lanza un alert avisando del error.
 * ******************************************************************************* */
function validarForm(){
   if (!campoVacio(document.formaccess.username.value,'Usuario:',true)){
      if (!campoVacio(document.formaccess.passw.value,'Contrase\ña:',true)){
         if (document.formaccess.username.value.length < 5){
            alert('El campo "Usuario" debe contener al menos 5 caracteres');
            document.formaccess.username.focus();
         }else if (document.formaccess.passw.value.length < 5){
            alert('El campo "Contrase\ña" debe contener al menos 5 caracteres');
            document.formaccess.passw.focus();
         }else{
            ajax_get_request_text('control/services/acc_validar_acceso.php',
			                     'username=' + document.formaccess.username.value +
								 '&passw=' + document.formaccess.passw.value,'POST',true,
                                 null,null,'do_after_ajax_request');
         }
      }
   }
}
/* **********************************************************************************
 * function mostrarInfo(capa)
 *    Entrada:
 *       capa: Id de la capa a mostrar u ocultar
 *
 *    Salida:
 *       oculta todas la capas activas y hace visible la capa cuyo id se pasa como
 *       parámetro de la función.
 *
 * var capas
 *    Array que contiene los identificadores de las capas.
 * var form_activado
 *    false si hay que mostrar un error y desactivar el formulario
 * ******************************************************************************* */
var capas = new Array("div_formulario", "div_creditos", "div_show_error",
                      "div_recuperar", "boton_back", "div_errores_contenido", "div_help");
var form_activado = true;
var div_err_activado = false;

function mostrarInfo(capa){
   for (i = 0; i < capas.length; i++){
      if (capas[i] != capa) ocultarCapa(capas[i]);
   }
   if (capa == "div_recuperar"){
      mostrarCapa("boton_back");
      document.getElementById("boton_back").style.left = document.getElementById("boton_key").style.left;
      document.getElementById("boton_back").style.top = document.getElementById("boton_key").style.top;
      document.getElementById("a_boton_back").tabIndex = document.getElementById("a_boton_key").tabIndex;
      mostrarCapa("boton_info");
      mostrarCapa("boton_help");
      ocultarCapa("boton_key");
   }else if (capa == "div_creditos"){
      mostrarCapa("boton_back");
      document.getElementById("boton_back").style.left = document.getElementById("boton_info").style.left;
      document.getElementById("boton_back").style.top = document.getElementById("boton_info").style.top;
      document.getElementById("a_boton_back").tabIndex = document.getElementById("a_boton_info").tabIndex;
      mostrarCapa("boton_key");
      mostrarCapa("boton_help");
      ocultarCapa("boton_info");
   }else if (capa == "div_help"){
      mostrarCapa("boton_back");
      document.getElementById("boton_back").style.left = document.getElementById("boton_help").style.left;
      document.getElementById("boton_back").style.top = document.getElementById("boton_help").style.top;
      document.getElementById("a_boton_back").tabIndex = document.getElementById("a_boton_help").tabIndex;
      mostrarCapa("boton_key");
      mostrarCapa("boton_info");
      ocultarCapa("boton_help");
   }else if (capa == "div_formulario"){
      mostrarCapa("boton_key");
      mostrarCapa("boton_info");
      mostrarCapa("boton_help");
   }
   if (!form_activado && capa == "div_formulario"){
      capa = "div_show_error";
   }else if (form_activado && capa == "div_formulario" && div_err_activado){
      mostrarCapa('div_errores_contenido');
   }
   mostrarCapa(capa);
}

/* **********************************************************************************
 * function AbrirVentana(pag,tema)
 * ******************************************************************************* */
function AbrirVentana(pag,tema){
   msgWindow = open(pag, tema, "toolbar=no,width=500px,height=400px,status=no,scrollbars=no,resizable=no,menubar=no,top=15px,left=15px");
   msgWindow.focus();
}

/* **********************************************************************************
 * function do_after_ajax_request(request_ajax)
 *    Entrada:
 *       request_ajax: Texto devuelto por la petición ajax.
 *
 * Salida:
 *    Evalua la respuesta ajax y edita el contenido de las capas de información
 *    que debe mostrar así como la redirección a la aplicación en caso de ser una
 *    validación correcta.
 * ******************************************************************************* */
function do_after_ajax_request(request_ajax){
   pos_inicio = request_ajax.search(/--#id_error=/);
   pos_fin = request_ajax.search(/#-->/);
   if (pos_inicio > 0 && pos_fin > 0){
      error_num = parseInt(request_ajax.substring(pos_inicio + 12,pos_fin));
      alert("Identificación no válida. Usuario y/o contraseña incorrectos.");
   }else{
      error_num = -1;
      pos_inicio = request_ajax.search(/--#url_dest=/);
      if (pos_inicio > 0 && pos_fin > 0){
         url_dest = request_ajax.substring(pos_inicio + 12,pos_fin);
         if (url_dest != -1){
            //ocultarCapa('div_formulario');
			//mostrarCapa('div_preload');
            //document.formaccess.action = url_dest;
            //document.formaccess.submit();
            //window.location.href = url_dest;
            window.location.href = window.location.href;
            return false;
         }
      }else{
         error_num = -2;
         alert("Identificación no válida. Usuario y/o contraseña incorrectos.");
      }
   }
   if (isNaN(error_num)){
      alert('ERROR INTERNO\n\n' +
            'Ha sido imposible validar  el formulario.\n' +
            'Consulte con el Administrador de la Web.');
   }else if (error_num == -1){
      alert('ERROR INTERNO\n\n' +
            'Ha sido imposible validar  el formulario.\n' +
            'Consulte con el Administrador de la Web..');
   }else if (error_num == -2){
      alert('ERROR INTERNO\n\n' +
            'Ha sido imposible validar  el formulario.\n' +
            'Consulte con el Administrador de la Web...');
   }else if (error_num > 0 && error_num < 100){
      if (error_num == 1 || error_num == 2){
          form_activado = false;
          writeCapaInnerHTML('div_formulario', '&nbsp;');
      }else{
         ocultarCapa('div_errores_contenido');
         div_err_activado = false;
      }
      writeCapaInnerHTML('div_show_error', request_ajax);
      ocultarCapa('div_formulario');
      mostrarCapa('div_show_error');
   }else{
      writeCapaInnerHTML('div_errores_contenido', request_ajax);
      mostrarCapa('div_errores_contenido');
      div_err_activado = true;
      document.formaccess.passw.value = '';
      document.formaccess.passw.focus();
   }
}

function preguntarCerrarSesion(msg) {
	if (msg != '') opcion = confirm(msg);
	else opcion = confirm("¿Desea cerrar la sesión actual?");
	if (opcion == true) {
		location.href = 'logout.php';
	}
}