var $jq = jQuery.noConflict();
var LoginPopupWidth = 0;
var LoginPopupLeft = 0;
var LoginPopupRight = 0;

//-----------------------------------------------------------------------------
function InitPopup() {
	// Set position of LoginPopup div
	if ( LoginPopupWidth == 0 ) // after it's shrunk, don't reget width
		LoginPopupWidth = $jq("#LoginPopup").width();

	var os = $jq("#LoginShow").offset();
	var top = os.top;
	LoginPopupRight = os.left + $jq("#LoginShow").width();
	LoginPopupLeft = LoginPopupRight - LoginPopupWidth;
	// LoginPopup is initially hidden
	//$jq("#LoginPopup :input:first").attr("tabindex","1");
	$jq("[tabIndex]").removeAttr("tabIndex");
	$jq("#LoginPopup :input:eq(0)").attr("tabIndex","1");
	$jq("#LoginPopup :input:eq(1)").attr("tabIndex","2");
	$jq("#LoginPopup :input:eq(2)").attr("tabIndex","3");
	$jq("#LoginPopup :input:eq(3)").attr("tabIndex","4");
	$jq("#LoginPopup").css({"width" : "0px", "left" : LoginPopupRight + "px", "display" : "none"});
	$jq("#LoginErrorPopup").css({"display" : "none", "top" : (top + 10) + "px", "left" : (LoginPopupRight - $jq("#LoginErrorPopup").width()) + "px"});
} // InitPopup

//-----------------------------------------------------------------------------
// Document ready function
//-----------------------------------------------------------------------------
$jq(document).ready(function() {

	$jq("#LoginShow").hover(
		function() {
			$jq(this).css("textDecoration","underline");
		},
		function() {
			$jq(this).css("textDecoration","none");
		}
	);

	// LoginPopup Initialization
	InitPopup();

	// Set up the show animation for the LoginPopup
	$jq("#LoginShow").click(function() {
		$jq("#LoginPopup").css("display","block");
		$jq("#LoginPopup").animate({
			"left" : LoginPopupLeft + "px",
			"width" : LoginPopupWidth + "px"
		}, 1500);
		$jq("#LoginPopup").queue(function() {
			$jq("#LoginPopup :input:first").focus();
			$jq(this).dequeue();
		});
	});

	// Set up the hide animation for the LoginPopup
	$jq("#LoginHide").click(function() {
		if ( $jq("#LoginErrorPopup").css("display") == "block" )
			$jq("#LoginErrorPopup").css("display","none");
		$jq("#LoginPopup").animate({
			"left" : LoginPopupRight + "px",
			"width" : "0px"
		}, 1500);
		$jq("#LoginPopup").queue(function() {
			$jq("#LoginPopup").css("display","none");
			$jq(this).dequeue();
		});
	});

	// Set up the close event for the LoginErrorPopup
	$jq("#LoginErrorHide").click(function() {
		$jq("#LoginErrorPopup").css("display","none");
	});

	// Remove hard-coded style width from input boxes
	$jq("#LoginPopup :input:not(:submit)").css("width","");

	// Look for login error field (indicates logged in or not)
	if ( $jq("#LoginError").length > 0 ) {
		// Check if there is a login error
		if ( $jq("#LoginError").html() != "" ) {
			// Move error message to LoginErrorPopup
			$jq("#LoginErrorPopupMessage").html($jq("#LoginError").html());
			$jq("#LoginError").html("");
			// Show the LoginPopup (don't bother with animation)
			$jq("#LoginPopup").css({"width" : LoginPopupWidth + "px", "left" : LoginPopupLeft + "px", "display" : "block"});
			// Show the LoginErrorPopup
			$jq("#LoginErrorPopup").css("display","block");
		}
	} else { // Logged in, change login to logout and profile
		$jq("#LoginShow").unbind("click");
		$jq("#ProfileLink a").text("Profile");
		var sTmp = $jq("#ProfileLink").html() + "<br />" + $jq("#LogoutLink").html();
		$jq("#LoginShow").html(sTmp);
	}

	// Need to call InitPopup when window is resized
	$jq(window).resize(InitPopup);

}); // $jq(document).ready(function()
