$(document).ready(function(){
	var isWebkit = function(){
		var userAgent = navigator.userAgent.toLowerCase();
		if (/webkit/.test(userAgent)) {
			return true;
		} else {
			return false;
		}
	};	
	var headerCurrentTimer = null;
	var headerTabFocusAndClick = false;
	var headerAddListener = function(){
		$("#menu .tab .tab-link").bind("click", headerToggleTab);
		$("#menu .tab .tab-link").bind("click", function(){
			var $currentTab = $(this).parent('li');
			if($('ul',$currentTab).length>0){
				return false;
			}
		});
		$("#menu .tab .tab-link").hover(
				function() { 
					$(this).parent().addClass("hover");
				},
				function() {
					$(this).parent().removeClass("hover");
				}
		);
		$("#menu .tab.last .tab-link").hover(
				function() { 
					$(this).parent().parent().addClass("lastTabHover");
				},
				function() {
					$(this).parent().parent().removeClass("lastTabHover");
				}
		);
	};
	var headerAddFocusListener = function(){
		$("#menu .tab .tab-link").bind("focus", headerFocusTab);
		$("#menu .tab .tab-link").bind("blur", headerBlurTab);
		$("#menu .tab .sub-menu a").bind("focus", headerFocusTabLink);
		$("#menu .tab .sub-menu a").bind("blur", headerBlurTabLink);
	};
	var headerRemoveFocusListener = function(){
		$("#menu .tab .tab-link").unbind("focus", headerFocusTab);
		$("#menu .tab .tab-link").unbind("blur", headerBlurTab);
		$("#menu .tab .sub-menu a").unbind("focus", headerFocusTabLink);
		$("#menu .tab .sub-menu a").unbind("blur", headerBlurTabLink);
	};
	var headerToggleTab = function(){
		window.clearTimeout(headerCurrentTimer);
		var $currentTab = $(this).parent('li');
		if(isWebkit){
			headerRemoveFocusListener();
			$(this).focus();
			headerAddFocusListener();
		}
		if($currentTab.hasClass("show-sub-menu")){
			if(headerTabFocusAndClick){
				$currentTab.removeClass("show-sub-menu");
			}
		}else{
			if($.browser.msie && $.browser.version < 7) {
				var $currentTabUl = $currentTab.find("ul.sub-menu");
				var menuColumnWidth = ($currentTabUl.children("li").length*$currentTabUl.children("li:first").width())+20;
				$currentTabUl.width(menuColumnWidth);
			}
			
			$("#menu .tab").removeClass("show-sub-menu");
			$currentTab.addClass("show-sub-menu");
		}
		headerTabFocusAndClick = true;
	};
	var headerFocusTab = function(){
		window.clearTimeout(headerCurrentTimer);
		var $currentTab = $(this).parent('li');
		
		if($.browser.msie && $.browser.version < 7) {
			var $currentTabUl = $currentTab.find("ul.sub-menu");
			var menuColumnWidth = ($currentTabUl.children("li").length*$currentTabUl.children("li:first").width())+20;
			$currentTabUl.width(menuColumnWidth);
		}
		
		$("#menu .tab").removeClass("show-sub-menu");
		$currentTab.addClass("show-sub-menu");
		headerTabFocusAndClick = false;
	};
	var headerBlurTab = function(){
		var $currentTab = $(this).parent('li');
		window.clearTimeout(headerCurrentTimer);
		headerCurrentTimer = window.setTimeout(function(){
			$currentTab.removeClass("show-sub-menu");
		},300);
		headerTabFocusAndClick = false;
	};
	var headerFocusTabLink = function(){
		window.clearTimeout(headerCurrentTimer);
		
		if($.browser.msie && $.browser.version < 7) {
			var $currentTabUl = $currentTab.find("ul.sub-menu");
			var menuColumnWidth = ($currentTabUl.children("li").length*$currentTabUl.children("li:first").width())+20;
			$currentTabUl.width(menuColumnWidth);
		}
		
		$(this).parents("li.tab").addClass("show-sub-menu");
		headerTabFocusAndClick = true;
	};
	var headerBlurTabLink = function(){
		window.clearTimeout(headerCurrentTimer);
		headerCurrentTimer = window.setTimeout(function(){
			$("#menu .tab").removeClass("show-sub-menu");
		},300);
	};
	headerAddListener();
	headerAddFocusListener();
});


