if (typeof HSP == "undefined") HSP = new Object();
if (typeof HSP.base == "undefined") HSP.base = new Object();

HSP.base.login_open = function ()
{
	$("#login-form").css("display", "block");
	$("a#login").addClass("login-active");
}

HSP.base.login_close = function ()
{
	$("#login-form").css("display", "none");
	$("a#login").removeClass("login-active");
}

HSP.init_base = function ()
{
	console.log("HSP.init_base()");	
	
	$("#search-form input#key").val("Search");

	$("#search-form input#key").one("click", function () {
		$("#search-form input#key").val("");
	});

	$("a#show-trace").bind("click", function () {
		$("#show-trace").css("display", "none");
		$("#hide-trace").css("display", "block");
		$("#the-trace").css("display", "block");
		return false;
	});
	
	$("a#hide-trace").bind("click", function () {
		$("#show-trace").css("display", "block");
		$("#hide-trace").css("display", "none");
		$("#the-trace").css("display", "none");
		return false;
	});
	
	$("a#login").live("click", function (event) {
		HSP.base.login_open();

		return false;
	});
	
	$("#wrapper").bind("click", function (event) {
		var is_open = $("#login-form").css("display") == "block";
		var login_form_clicked =  $(event.target).is("#login-form");
		var login_form_child_clicked =  $(event.target).parents("#login-form").length > 0;

		if (is_open && !login_form_clicked && !login_form_child_clicked) {
			HSP.base.login_close();
		}
	});
	
	$("input#login-password").live("keypress", function (event) {
		if (event.which == 13) $("button#login-submit").trigger("click");
	});
	
	$("button#login-submit").live("click", function (event) {
		if($("#login-username").val() == "") {
			$("div#username-feedback").html("Please enter your username.");
		} else {
			$("div#username-feedback").html("");
		}
		
		if($("#login-password").val() == "") {
			$("div#password-feedback").html("Please enter your password.");
		} else {
			$("div#password-feedback").html("");	
		}
		
		if($("#login-username").val() == "" || $("#login-password").val() == "") {
			return false;	
		}
		
		var postdata = $("#login-form").serialize();
		var url = "/json/login/";
		
		$.post(url, postdata, function (data) {
			var info = eval("(" + data + ")");
			
			if (info.errors == true)
			{
				$("div#password-feedback").html("Incorrect username or password.");
			} else
			{			
				$("#login-stuff").html(info.html);				
				if (HSP.login_reload) window.location.reload(true);
			}
		});

		return false;
	});
	
	$("a#logout").live("click", function () {
		var postdata = $("#login-form").serialize();
		var url = "/json/logout/";
		
		$.post(url, postdata, function (data) {
			var info = eval("(" + data + ")");
			
			$("#login-stuff").html(info.html);
			
			if (HSP.logout_reload) window.location.reload(true);
		});

		return false;
	});
	
	$("a#forgot-pw-link").live("click", function () {
		if($("#login-username").val() == "")
		{
			$("div#username-feedback").html("Please enter your username.");
			return false;
		} else {
			$("div#username-feedback").html("");	
		}
		
		$("div#password-feedback").html("Resetting password...");
		
		var postdata = $("#login-form").serialize();
		var url = "/json/forgotpassword/";
		
		$.post(url, postdata, function (data) {
			var info = eval("(" + data + ")");			
			$("div#password-feedback").html(info.message);
		});
		
		return false;
	});
}
