var loginTimeout = "";

var loginUser = function()
{
	if(loginTimeout == "")
	{
		var form_fields = $("#head-login-form input");
		
		var params = new Object();
		params.email = form_fields[0].value;
		params.password = form_fields[1].value;
		params.stayloggedin = form_fields[2].checked ? "1" : "0";
		params.ajax_call = "1";
		$('#login_button').hide();
		$('#login_loader').show();
	
		loginTimeout = setTimeout(function() {$.post("custom/modules/user/user.cfc?method=login", params, onLoginUser, "script");}, 1000);
	}
	return false;
};

var loginFBUser = function(fb_uid, fb_session_key, register)
{
	if(loginTimeout == "")
	{
		var form_fields = $("#head-login-form input");
		
		var params = new Object();
		params.fb_uid = fb_uid;
		params.fb_session_key = fb_session_key;
		params.ajax_call = "1";
		if(register == "undefined" || register == null)
			register = false;
		params.fb_register = register;
	
		loginTimeout = setTimeout(function() {$.post("custom/modules/user/user.cfc?method=login", params, onLoginUser, "script");}, 1000);
	}
	return false;
};

var connectFBUser = function(fb_uid, fb_session_key)
{
	var params = new Object();
	params.fb_uid = fb_uid;
	params.fb_session_key = fb_session_key;

	$.post("custom/modules/user/user.cfc?method=connectFBUser", params, onConnectFBUser, "json");

	return false;
};

var onConnectFBUser = function(obj)
{
	if(obj.ERROR == false)
	{
		$('#fb_connect').hide();
		$('#fb_connected').show();
		$('#fb_connect_error').hide();
	}
	else
	{
		$('#fb_connect_error').attr("innerHTML", obj.MSG);
		$('#fb_connect_error').show();	
	}
};

var initHeadBarLoggedIn = function()
{
	var params = new Object();
	params.ajax_call = "1";
	$("#head-bar").css("overflow", "visible");
	$("#head-bar-register").animate({opacity : 0}, 200); // IE6 Fix ?
	$("#head-bar div:eq(0)").animate({opacity : 0}, 200, function() {
		$("#head-bar").load("custom/modules/user/user_renderer.cfc?method=renderHeadBar", 
			params,
			function() {
				if(jQuery.browser.msie & jQuery.browser.version.indexOf("8.0") > -1) { //IE8 Fix ?
					 //$("#head-bar div:eq(0)").addClass("head-bar-ie8");
				}
				initPageSettingsOnAJAXCall({initHeadBarLayer : true});
			}); 
		$("#head-bar div:eq(0)").animate({opacity : 1}, 500); 
	});
};

var onLoginUser = function(obj)
{
	$('#login_button').show();
	$('#login_loader').hide();
	if(obj != null)
	{		
		loginTimeout = "";
		clearTimeout(loginTimeout);
		$("#head-bar-layer .status-default").hide();
		if(login_result.error == "false")
		{
			if(login_result.fb_login == false)
			{
				slideHeadBar({ "callback" : initHeadBarLoggedIn });
			}
			else
			{
				if(String(login_result.redirect_url).length > 0 && login_result.redirect_url != "undefined" && login_result.redirect_url != null)
				{
					window.location = login_result.redirect_url;
				}
				else
				{
					initHeadBarLoggedIn();
				}
			}
				
			if (url && url['key_value']) {
				$.get("custom/modules/comment/comment_renderer.cfc?method=renderInputForm&key_value=" + url['key_value'], null, function(data, textStatus) { $("#comment_form").html(data); }, "html");
				$.get("custom/rating.cfm?key_value=" + url['key_value'], null, function(data, textStatus) { $("#blog_rating_wrapper").html(data); }, "html");
				$.get("custom/reporting.cfm?key_value=" + url['key_value'], null, function(data, textStatus) { $("#blog_reporting_wrapper").html(data); }, "html");
			}
		}
		else
		{
			$("#head-bar-layer #head-login-layer .login-status").fadeIn("fast").text(login_result.msg);
			
			if(login_result.fb_login == "true")
			{
				$('#head-fb-login').show();
				$('#fb_login_loader').hide();
			}
			if(login_result.fb_register == "true")
			{
				$('#fb_register').show();
				$('#fb_register_loader').hide();
			}
		}
	}
};

var logoutUser = function()
{
	var params = new Object();
	params.ajax_call = "1";
	$.post("custom/modules/user/user.cfc?method=logout", params, onLogoutUser);
};

var onLogoutUser = function()
{
	var params = new Object();
	params.ajax_call = "1";
	//$("#head-bar-register").animate({opacity : 0}, 200); // IE6 Fix ?
	$("#head-bar-fastaccess").animate({opacity : "hide"}, "fast");
	$("#head-bar div:eq(0)").animate({opacity : 0}, 200, function() {
		$("#head-bar").load("custom/modules/user/user_renderer.cfc?method=renderHeadBar", 
			params,
			function() {
				initPageSettingsOnAJAXCall();
			}); 
		$("#head-bar div:eq(0)").animate({opacity : 1}, 500); 
	});	
};

var requestPasswordTimeout = "";

var requestPassword = function()
{
	if(requestPasswordTimeout == "")
	{
		var form_fields = $("#head-lost-password-form input");
			
		var params = new Object();
		params.email = form_fields[0].value;
		params.ajax_call = "1";
		
		$('#request-password-button').hide();
		$('#request-password-loader').show();
		
		$("#head-bar-layer .status-default").hide();
			
		requestPasswordTimeout = setTimeout(function() {$.post("custom/modules/user/user.cfc?method=requestPassword", params, onRequestPassword, "script");}, 1000);
	}
	return false;
};

var onRequestPassword = function(obj)
{
	$('#request-password-button').show();
	$('#request-password-loader').hide();
	if(obj != null)
	{
		requestPasswordTimeout = "";
		clearTimeout(requestPasswordTimeout);
		if(request_password_result.error == "false")
		{
			$("#head-bar-layer #head-lost-password-layer .login-status").hide().fadeIn("fast").text(request_password_result.msg);
			setTimeout(function() { slideHeadBar({slidepoint : "auto"}); }, 5000);
		}
		else
		{
			$("#head-bar-layer #head-lost-password-layer .login-status").hide().fadeIn("fast").text(request_password_result.msg);
		}
	}
};