/**
 * Fonctions AJAX pour identifier les admins
 * 
 * Dependances : prototype.js, windows.js, md5.js
 *               login.ajax.php
 *
 * @author: Jean-Philippe
 */

/**
 * L'url de base permet au client d'envoyer des requetes autant de la racine que du repertoire admin
 */
if(window.location.href.indexOf('localhost') != -1)
	var urlBase = '/bagagesETC/tronc/';
else
	var urlBase = '/';

/**
 * Ouvre une fenetre modale de login
 */
function login_afficherFrmDeconnection()
{
	Confirm2('', {title: 'Voulez vous vraiment vous déconnecter?', fctYes: login_deconnecter, autoHide: false, racine: urlBase});
}

/**
 * Ouvre une fenetre modale de logout
 */
function login_afficherFrmConnection()
{
	Auth({ fctYes: login_connecter, autoHide: false, racine: urlBase, onLoad: login_init });
}

function login_init()
{
	// Prepare le formulaire une fois lb affiché
	$('login').observe('keypress', function(e) {
		if(e.keyCode == Event.KEY_RETURN)
			this.fctYes();
	}.bindAsEventListener(this));

	$('login').focusFirstElement();
}

function login_connecter(){ 
	// Masque le btn de connection
	this.hideActionBtns();
	
	params = {	adminUser: $F('adminUser'),
				adminPass: hex_md5($F('adminPass'))	};
	
	
	var myAjax = new Ajax.Request(
		urlBase + 'libPHP/loginConnecter.ajax.php',
		{	method: 'post', 
			parameters: params, 
			onComplete: login_connecterOnComplete.bindAsEventListener(this)
		}
	);
}

function login_connecterOnComplete(originalRequest)
{
	this.hideWait();
	
	reponse = originalRequest.responseText.parseQuery();

	// Si le user / pass est valide
	if(reponse.status == 'ok')
	{
		this.updateMsgOk('Vous êtes connecté comme administrateur!');	
		recharger();
	}
	else
	{
		// Affiche le btn de connection
		$('login').focusFirstElement();
		this.showActionBtns();
		this.updateMsgErr('Utilisateur ou not de passe incorrect!');
	}
}

function recharger()
{
	// urlLogin est défini lors de la génération de la page par php
	location.href = urlLogin;
}

function login_deconnecter()
{ 
	// Masque le btn de connection
	this.hideActionBtns();
	this.showWait();

	var myAjax = new Ajax.Request(
		urlBase + 'libPHP/loginDeconnecter.ajax.php', 
		{	method: 'get', 
			onComplete: login_deconnecterOnComplete.bindAsEventListener(this)
		}
	);
}

function login_deconnecterOnComplete(originalRequest)
{
	this.hideWait();

	reponse = originalRequest.responseText.parseQuery();
	
	// Si le user / pass est valide
	if(reponse.status == 'ok')
	{
		this.updateMsgOk('Vous êtes déconnecté!');
		recharger();
	}
	else
	{
		// Affiche les btn de déconnection
		this.showActionBtns();
		this.updateMsgErr('Erreur lors de la déconnection.');
	}
}
