
// LOGIN & LOGOUT =============================================================

var sessionId = "";

function login()
{
  ajaxPostText(mainApp + "?content=login", "", serializeForm(document.loginForm), loadingSignalId,
    function() {
    	document.loginForm.reset();
		  eval("var result = " + ajaxResponseText);
  	  sessionId = result.sessionId;
			switch (sessionId)
      {
        case "BAD_USR_PWD":
  			  alert("Los datos de acceso que ha ingresado no son correctos.");
          break;
        case "USR_DISABLED":
   			  alert("Su permiso de acceso se encuentra suspendido.");
          break;
        default:
          updateLoginPanel();
          break;
      }
    }
  );
}

function logout()
{
  if (sessionId)
  {
    ajaxSynchronousGetText(mainApp + "?sessionId=" + sessionId + "&content=logout", "");
    updateLoginPanel();
  }
  sessionId = "";
}

// LOGIN PANEL ================================================================

function updateLoginPanel()
{
  ajaxGetText(mainApp + "?sessionId=" + sessionId + "&content=loginPanel", "loginPanelBody", loadingSignalId)
}

function sendPasswordRemainder()
{
  if (document.loginForm.usr.value)
    ajaxGetText(mainApp + "?content=sendPasswordRemainder&usr=" + encodeURIComponent(document.loginForm.usr.value), 
      "", loadingSignalId,
      function() {
  		  eval("var result = " + ajaxResponseText);
    	  switch (result.resultCode)
        {
          case "OK":
            alert("Le hemos enviado un e-mail a su casilla con los datos de acceso correspondientes.");
            break;
          case "BAD_ID":
            alert("La cuenta espeficada no se encuentra en nuestros registros.")
            break;
          case "ERROR":
            alert("Error del Servidor.\n\n Por favor, vuelva a intentarlo luego. Sepa disculpar las molestias ocasionadas.")
            break;
        }
      }
    );
  else
    alert("Por favor, ingrese su e-mail.");
}

// SESSION HANDLING ===========================================================

function validAccess()
{
  switch (ajaxResponseText)
  {
    case "BAD_PERMISSION":
      alert("No tiene permiso de acceso a este sector del sitio.");
      break;
    case "SESSION_EXPIRED":
      alert("El Servidor ha cerrado la sesion. Debe realizar nuevamente el ingreso a este sector.");
      logout();
      break;
    default: 
      return(true);
      break;
  }
  loadShopApp();
  return(false);
}

function doLogout()
{
  logout();
  document.getElementById("mainMenuHomeItem").onclick();
}

function shopLogout()
{
  logout();
  document.getElementById("mainMenuShopItem").onclick();
}


