//**********************************************************************************************************
var messageElement = false;
var hasSeed = false;
var loggedIn = false;
var seed_id = 0;
var seed = 0;
var hash = '';
//**********************************************************************************************************
function initLogin(){
	$('#usi_user').bind('focus', function(){ focusField(); });
	$('#usi_pw').bind('focus', function(){ focusField(); });
	var ruid = ($('#rememberUserName').prop('checked') == true)?'yes':'no';
	if(ruid == 'yes'){
		setTimeout(function(){ $('#usi_pw').val('').focus(); }, 200);
	}else{
		setTimeout(function(){ $('#usi_pw').val(''); $('#usi_user').focus(); }, 200);
	}
	$('#loginfrm').submit(function(){
		return doLogin();
	});
	return false;
}
//**********************************************************************************************************
function doLogin(){
	$('#loginbtn').attr('disabled', 'disabled');
	addLoader('#userLoginStatus');
	if($('#task').val() == 'LogIn'){
		validateLogin();
	}
	ruid = ($('#rememberUserName').prop('checked') == true)?'yes':'no';
	$.post('include/login.php', { task:$('#task').val(), user:$('#usi_user').val(), pass:$('#usi_pw').val(), hash:hash, id:seed_id, ruid:ruid },
	function(data){
		var result = data.split(':');
		switch(result[0]){
			case 'LoggedIn':
				window.location.reload(true);
			break;
			case 'LoggedOut':
				loggedIn = false;
				hasSeed = false;
				location.replace($('#srcDomain').val());
			break;
			default:
				$('#usi_pw').val('');
				if(ruid != 'yes'){
					$('#usi_user').val('');
					$('#usi_user').focus();
				}else{
					$('#usi_pw').focus();
				}
				$('#loginbtn').attr('disabled',false);
				showResponse(data);
				fadeOutLoader('#userLoginStatus');
			break;
		}
		return false;
	});
	return false;
}
//**********************************************************************************************************
function getSeed(){
	if (!loggedIn && !hasSeed) {
		$.post("include/login.php", { task: 'getseed' },
		function(data){
			results = data.split('|');
			seed_id = results[0];
			seed = results[1];
			hasSeed = true;
		});
	}
	return false;
}
//**********************************************************************************************************
function validateLogin(){
	if (loggedIn){ return false; }
	var user = $('#usi_user').val();
	var pass = $('#usi_pw').val();
	if (user != '' && pass != '') {
		hash = hex_md5(pass + seed);
	}
	return false;
}
//**********************************************************************************************************
function focusField(){
	try {
		if(messageElement != false){ alert('found message element?');
			document.getElementById('msg').removeChild(messageElement);
		}
		getSeed();
	}
	catch (e){ } // do nothing... hides an apparent firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=236791
	return false;
}
/****************************************************************************************************************************/
function emailAccountInfo(){
	if($('#useremail').val() == ''){
		alert('Enter the Email you registered with and try again');
		return false;
	}
	addLoader('#userLoginStatus');
	$.post('include/users.php', { mtd:'emailAccountInfo', email:$('#useremail').val() },
	function(data){
		var dat = data.split(':');
		switch(dat[0]){
			case 'Success':
			case 'Failure':
				showResponse(dat[3]);
			break;
			default:
				showResponse('An error occured!'+data);
			break;
		}
		$('#emailAccountInfoForm').slideUp(300);
		fadeOutLoader('#userLoginStatus');
		return false;
	});
	return false;
}
//**********************************************************************************************************
