/*
JavaScript - General Navigation Menu
Build     11-2007 by: SMI
Update 19-01-2009 by: SMI

****************************************************************************************************/

var $jQuery = jQuery.noConflict(); // Avoid jQuery conflicts with another library
var ROOT_MENU_TAB = "#PlayerOne-portal-book-root-menu > li";
var ROOT_MENU_TAB_ACTIVE = "PlayerOne-portal-book-root-menu-item-active";
var SUB_MENU = "#PlayerOne-portal-book-sub-menu > ul";
var SUB_MENU_TAB_ACTIVE = "PlayerOne-portal-book-sub-menu-item-active";

$jQuery(document).ready(
	function()
	{
		var iId, iSubMenuItemLength, iLastSubMenuItemId, iStartIndexOfTabWidth, iEndIndexOfTabWidth, iTabMarginLeft, iTabWidth = 0;
		var sTabWidth = "";
		var isActiveSubMenuItem = false;
		var iRootMenuItemLength = $jQuery(ROOT_MENU_TAB).length;
		var iLastRootMenuItemId = iRootMenuItemLength-1;
		
		PlayerOnePortalMenu(null);
		
		for (var i=0; i < iRootMenuItemLength; i++) {
			sTabWidth = $jQuery(ROOT_MENU_TAB).children("a").eq(i).attr("style");
			iStartIndexOfTabWidth = sTabWidth.indexOf(":");
			iEndIndexOfTabWidth = sTabWidth.indexOf("px");
			sTabWidth = sTabWidth.substring(iStartIndexOfTabWidth+1,iEndIndexOfTabWidth);
			if (sTabWidth.indexOf(".") != -1) iTabWidth = parseFloat(sTabWidth);
			else iTabWidth = parseInt(sTabWidth);
			iTabMarginLeft = (iTabWidth+3)*i;
			if (i != 0) {
				$jQuery(SUB_MENU).eq(i).attr("style","margin-left:" + iTabMarginLeft.toString() + "px;");
			}
			$jQuery(SUB_MENU).eq(i).addClass("bg_nav_" + sTabWidth.replace(/^\s*|\.*/g,''));
		}
		
		$jQuery(ROOT_MENU_TAB).children("a").mouseover(
			function()
			{
				iId = $jQuery(ROOT_MENU_TAB).children("a").index(this);
				iSubMenuItemLength = $jQuery(SUB_MENU).eq(iId).children("li").length;
				iLastSubMenuItemId = iSubMenuItemLength-1;
				$jQuery(SUB_MENU).eq(iId).children("li").eq(iLastSubMenuItemId).addClass("last");
				PlayerOnePortalMenu(iId);
			}
		);
		
		$jQuery(ROOT_MENU_TAB).children("a").focus(
			function()
			{
				iId = $jQuery(ROOT_MENU_TAB).children("a").index(this);
				iSubMenuItemLength = $jQuery(SUB_MENU).eq(iId).children("li").length;
				iLastSubMenuItemId = iSubMenuItemLength-1;
				$jQuery(SUB_MENU).eq(iId).children("li").eq(iLastSubMenuItemId).addClass("last");
				for (var i=0; i < iRootMenuItemLength; i++) {
					if (iId == i) {
						$jQuery(ROOT_MENU_TAB).eq(i).addClass(ROOT_MENU_TAB_ACTIVE);
						if (iId != 0) $jQuery(SUB_MENU).eq(i).fadeIn(150);
					}
					else {
						$jQuery(ROOT_MENU_TAB).eq(i).removeClass(ROOT_MENU_TAB_ACTIVE);
						$jQuery(SUB_MENU).eq(i).fadeOut(150);
					}
				}
			}
		);
		
		$jQuery(ROOT_MENU_TAB).eq(iLastRootMenuItemId).children("a").blur(
			function() { $jQuery(this).parent(0).removeClass(ROOT_MENU_TAB_ACTIVE); }
		);
		
		$jQuery(SUB_MENU).find("a").focus(
			function()
			{
				isActiveSubMenuItem = false;
				if ($jQuery(this).parent(0).attr("class") && $jQuery(this).parent(0).attr("class").indexOf("active") != -1) isActiveSubMenuItem = true;
				else $jQuery(this).parent(0).addClass(SUB_MENU_TAB_ACTIVE);
			}
		);
		
		$jQuery(SUB_MENU).find("a").blur(
			function()
			{
				if (!isActiveSubMenuItem) $jQuery(this).parent(0).removeClass(SUB_MENU_TAB_ACTIVE);
			}
		);
	}
);

function PlayerOnePortalMenu(id)
{
	var iLength = $jQuery(ROOT_MENU_TAB).length;
	
	if (activeTab != null) {
		if (activeTab != 0) currentTab = activeTab - 1;
		else currentTab = iLength;
	} else {
		for (var i=0; i < iLength; i++) {
			if ($jQuery(ROOT_MENU_TAB).eq(i).attr("id") == 'isActive') { currentTab = i; break; }
			else { currentTab = iLength; }
		}
	}
	
	if (id != null) {
		$jQuery(ROOT_MENU_TAB).eq(id).bind("mouseover", {argId: id}, PlayerOnePortalOnMenuOver);
		$jQuery(SUB_MENU).eq(id).bind("mouseover", {argId: id}, PlayerOnePortalOnMenuOver);
		$jQuery(ROOT_MENU_TAB).eq(id).mouseout(PlayerOnePortalOnMenuOut);
		$jQuery(SUB_MENU).eq(id).mouseout(PlayerOnePortalOnMenuOut);
	} else {
		tabTimer = setTimeout("null",100000);

		if (currentTab == iLength) $jQuery(SUB_MENU).eq(currentTab).hide();
		if (activeSubLink != null) {
			if (activeSubLink != 0) $jQuery(SUB_MENU).eq(currentTab).children("li").eq(activeSubLink-1).addClass(SUB_MENU_TAB_ACTIVE);
		}
		for (var i=0; i < iLength; i++) {
			if (i == currentTab) {
				$jQuery(ROOT_MENU_TAB).eq(i).addClass(ROOT_MENU_TAB_ACTIVE);
				$jQuery(SUB_MENU).eq(i).fadeOut(150);
			} else {
				$jQuery(ROOT_MENU_TAB).eq(i).removeClass(ROOT_MENU_TAB_ACTIVE);
				$jQuery(SUB_MENU).eq(i).fadeOut(150);
			}
		}
	}
}

function PlayerOnePortalOnMenuOver(event)
{
	clearTimeout(tabTimer);
	var iLength = $jQuery(ROOT_MENU_TAB).length;
	$jQuery(SUB_MENU).eq(iLength).hide();
	for (var i=0; i < iLength; i++) {
		if (i == event.data.argId) {
			$jQuery(ROOT_MENU_TAB).eq(i).addClass(ROOT_MENU_TAB_ACTIVE);
			$jQuery(SUB_MENU).eq(i).fadeIn(150);
		} else {
			$jQuery(ROOT_MENU_TAB).eq(i).removeClass(ROOT_MENU_TAB_ACTIVE);
			$jQuery(SUB_MENU).eq(i).fadeOut(150);
		}
	}
}

function PlayerOnePortalOnMenuFocus(id)
{
	$jQuery(SUB_MENU).eq(id).fadeIn(150);
}

function PlayerOnePortalOnMenuOut()
{
	tabTimer = setTimeout("PlayerOnePortalMenu(null)",500);
}