//**********************************************************************************************************
// js handling the login procedures
// constants
var NORMAL_STATE = 4;
var LOGIN_PREFIX = 'login.php?';
// variables
var messageElement = false;
var hasSeed = false;
var loggedIn = false;
var seed_id = 0;
var seed = 0;
var hash = '';
var fullname = '';
var messages = '';

//**********************************************************************************************************
function initLogin(){
	$('#user').bind('focus', function(){ focusField(); });
	$('#pass').bind('focus', function(){ focusField(); });
	noEnterFormFixIE('#user');
	noEnterFormFixIE('#pass');
	$('#loginfrm').submit(function(){
		addLoader('#userLoginStatus');
		var action = $(this).attr('action');
		$('#loginbtn').attr('disabled', 'disabled');
		//$('#task').val($('#loginbtn').val());
		if($('#task').val() == 'LogIn'){
			validateLogin();
		}
		var ruid = ($('#rememberUserName').attr('checked') == true)?'yes':'no';
		$.post(action, { task:$('#task').val(), user:$('#user').val(), pass:$('#pass').val(), hash:hash, id:seed_id, ruid:ruid },
		function(data){
			var result = data.split(':');
			switch(result[0]){
				case 'LoggedIn':
					//window.location.replace($('#srcDomain').val()+'/wr_playlist_editor.php');
					window.location.reload(true);
				break;
				case 'LoggedOut':
					loggedIn = false;
					hasSeed = false;
					location.replace($('#srcDomain').val());
				break;
				default:
					$('#pass').val('');
					if(ruid != 'yes'){
						$('#user').val('');
						$('#user').focus();
					}else{
						$('#pass').focus();
					}
					$('#loginbtn').attr('disabled','');
					showResponse(data);
					fadeOutLoader('#userLoginStatus');
				break;
			}
			return false;
		});
		return false;
	});
	return false;
}
//**********************************************************************************************************
function noEnterFormFixIE(input){
	$(input).keydown(function(e){
        if(e.keyCode == 13) {
            $(this).parents('form').submit();
            return false;
        }
    });
	return false;
}
//**********************************************************************************************************
function showLogin(){
	$('#loginDiv').slideDown(500, function(){
		focusField();
		if($('#rememberUserName').attr('checked') == true){
			var t = setTimeout(function(){ $('#pass').focus(); return false; }, 100);
		}else{
			var t = setTimeout(function(){ $('#user').focus(); return false; }, 100);
		}
		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 = $('#user').val();
	var pass = $('#pass').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);
			//$(messageElement).remove();
		}
		getSeed();
	}
	catch (e){ } // do nothing... hides an apparent firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=236791
	return false;
}
//**********************************************************************************************************
