// js handling the login procedures
// constants
var NORMAL_STATE = 4;
var LOGIN_PREFIX = '/modules/login/login.loader.php?';

// variables
var hasSeed = false;
var loggedIn = false;
var seed_id = 0;
var seed = 0;
var fullname = '';
var messages = '';

// getSeed method:  gets a seed from the server for this transaction
function getSeed() 
{		// only get a seed if we're not logged in and we don't already have one
	if (!loggedIn && !hasSeed) {
		CDownloadUrl('GET',LOGIN_PREFIX + 'task=getseed',handleHttpGetSeed);
	}
};

// handleHttpGetSeed method: called when the seed is returned from the server
function handleHttpGetSeed(data)
{
	var results = data.split('|');
	// id is the first element
	seed_id = results[0];
	// seed is the second element
	seed = results[1];
	// now we have the seed
	hasSeed = true;
};

// validateLogin method: validates a login request
function validateLogin(){
	// ignore request if we are already logged in
	if (loggedIn)
		return false;

	// get form form elements 'username' and 'password'
	var username = gid('user_email').value;
	var password = gid('user_password').value;

	// ignore if either is empty
	if (username != '' && password  != '') {
		var hash = hex_md5(password);
		CDownloadUrl('GET', LOGIN_PREFIX + 'task=checklogin&username='+username+'&id='+seed_id+'&hash='+hash, handleHttpValidateLogin);
	}
	return false;
};

// handleHttpValidateLogin method: called when the validation results are returned from the server
function handleHttpValidateLogin(data)
{
	var results = data.split('|');
	if (results[0] == 'true'){
		hasSeed = false;
		loggedIn = true;
		messages = '';
		document.getElementById('loginform').submit();
	}
	else
	{
		messages = results[1];
		showLoginMessages(messages);
	}
};

// resetLogin method: if logged in, 'logs out' and allows a different user/pass to be entered
function resetLogin()
{
	loggedIn = false;
	hasSeed = false;
};