﻿/*
function hideBuryMenus(){
	//alert("hideBuryMenus");
	for(var i=0;i<1;i++){
		$j('#div'+i).css('display','none');
		$j('#tooltoggle'+i).css('display','none');
	}
}
*/
$j( document ).ready(function(){
		/*buildmenu();*/
	handleHover();
	handleScroll();
	for(var menu in menusjson){
		$j("#toggle-"+menu).bind("click", {menu:menu}, buildmenu);
	}
	//hide accountLinks when mouse is anywhere but over it
	$j("#header-primary").bind("mouseover",function(event){
		if($j("#submenu-account").css("display")=="block")
			$j("#submenu-account").hide();
	});
	
	//select current
	$j("#toggle-menu" + g_controller).addClass("current");
	
});
	
//toggle any submenu
function toggleSubmenu(id, sm){
	if($j('#submenu-'+sm+'-list-'+id).css('display')=='none'){
		$j('#submenu-'+sm+'-list-'+id).show();
		$j('#submenu-'+sm+'-toggle-'+id).attr('class','expand-open');
	}
	else{
		$j('#submenu-'+sm+'-list-'+id).slideUp();
		$j('#submenu-'+sm+'-toggle-'+id).attr('class','expand-closed');
	}
}

function buildmenu(event){
	menu = event.data.menu;
	var HTML = $j('#submenu-'+menu+'-list').html();
	if( !empty.test(HTML) ){ return; }

	/*for( var menu in menusjson ){*/
	var menuHTML = '';
	for(var i=0;i<menusjson[menu].length;i++){
		//create the default url
		var url = g_webroot+menu+"/"+menusjson[menu][i].ctitle;
		
		//if url is mentioned in the menu we use the url
		if( typeof(menusjson[menu][i].url) != "undefined"){
			url = menusjson[menu][i].url;
		}
		
		//if menu li given a particular ID
		if( typeof(menusjson[menu][i].id) != "undefined"){
			menuHTML +=	'<li id="' +menusjson[menu][i].id+ '">';
		}
		else{
			menuHTML +=	'<li>';
		}
		
		menuHTML +=
			'<a href="'+url+'">'+
				menusjson[menu][i].name+
			'</a>';
			//only if it has children
			if( menusjson[menu][i].topics && typeof(menusjson[menu][i].topics) != 'undefined' ){
				menuHTML += 
				'<a id="submenu-'+menu+'-toggle-'+menusjson[menu][i].ctitle+'" href="javascript:void(0);" class="expand-closed" ' + 
					'onclick="toggleSubmenu(\'' + menusjson[menu][i].ctitle+'\', \''+menu+'\')">' + 
					'more' + 
				'</a>'; 
			}
		menuHTML += 
		'</li>'; 

		//only if the menu has children
		if( menusjson[menu][i].topics && typeof(menusjson[menu][i].topics) != 'undefined' ){
			menuHTML += 
			'<ul id="submenu-'+menu+'-list-'+menusjson[menu][i].ctitle+'" style="display: none">';
			for(var j=0;j<menusjson[menu][i].topics.length;j++){
				url = g_webroot+menu+"/"+menusjson[menu][i].ctitle+"/"+menusjson[menu][i].topics[j].ctitle;
				//if url is mentioned in the menu we use the url
				if( typeof(menusjson[menu][i].topics[j].url) != "undefined"){
					url = menusjson[menu][i].topics[j].url;
				}
				menuHTML += 
				'<li>' + 
					'<a href="'+url+'">'+
						menusjson[menu][i].topics[j].name+
					'</a>' + 
				'</li>';
			}
			menuHTML += 
			'</ul>';
		}
	}
	conHTML = $j('#submenu-'+menu+'-list');
	conHTML.html( menuHTML );
	/*}*/
}

function clearMenus(){
	//alert("clear menus");
	for( var menu in menusjson ){
		$j("#submenu-"+menu).hide();
		$j("#toggle-menu"+menu).removeClass('now');
	}
	
	if( document.getElementById('submenu-search') ){
		document.getElementById('submenu-search').style.display='none';
	}
	//hideBuryMenus();
	
	//$j('#submenu-basket').css('display','none');
	//$j('#submenu-search').css('display','none');
	//$j('#basket-alink').removeClass('current');

	$j('#tool-menu').hide();
	$j('#tooltip').hide();
	$j('#submenu-account').hide();
	
	//clear perma-blue of all menu links 
	//$j("html,body").find(".menu_link").find("a").removeClass("menu_link_current");
	$j("html,body").find(".menu_link_current").addClass("menu_link").removeClass("menu_link_current");
}

// MAJOR FUNCTION THAT BINDS ANY CLICK ON SCREEN TO AN EVENT
function handleHover(){
	$j( document ).bind("click",function(event){
		var element=event.target;
		var clear = true;
		
		for( var menu in menusjson ){
			var regex = new RegExp("submenu-"+menu+"-toggle", "i");
			if( element.id == "toggle-"+menu || element.id.match(regex) || 
				element.id == 'submenu-basket' || element.id.substring(0,9)=='menu_link' ||
				element.id == 'tool-menu' || element.id.substring(0,5)=="icon_"){
				clear = false;
				break;
				/*alert("dont clear, element id = " + element.id);*/
			}
			/*else{alert(element.id)}*/
		}
		if( clear ){
			
			clearMenus();
			/*alert("clear menus");*/
		}
	});
	
	
	//all magazines menu related
	for( var menu in menusjson ){
		$j("#toggle-"+menu).bind("click",{menu: menu}, function(event){
			var menu = event.data.menu;

			if($j('#submenu-'+menu).css('display')=='none'){
			/*var id= "toggle-"+menu;*/
			/*var posArr = findPos( document.getElementById(id) );*/

			/*$j("#submenu-"+menu).css("left", posArr[0] - 300);*/
			/*$j("#submenu-"+menu).css("top", posArr[1] + 30);*/

				$j('#submenu-'+menu).show();
				$j('#toggle-menu'+menu).addClass('now');
				$j('#toggle-'+menu).attr('class','current');
		
				for (var other_menu in menusjson ){
					if( other_menu != menu ){
						//hide submenu: articles
						//document.getElementById('submenu-'+other_menu).style.display='none';
						$j('#submenu-'+other_menu).hide();
						$j('#toggle-menu'+other_menu).removeClass('now');
					}
				}
			}
			else{
				//hide menu: magazines
				//document.getElementById('submenu-'+menu).style.display='none';
				$j('#submenu-'+menu).hide();
				$j('#toggle-'+menu).attr('class','');
				$j('#toggle-menu'+menu).removeClass('now');
				
			}
		
			//hideBuryMenus();
			$j('#submenu-basket').hide();
			$j('#submenu-search').hide();
			$j('#submenu-account').hide();
			$j("#submenu-account").hide();
			return false;
		});

	}


	//shopping-cart
	$j("#toggle-cart").bind("click",function(event){
		if($j('#submenu-cart').css('display')=='none'){
			$j('#submenu-cart').show();
			
			for( var menu in menusjson ){
				document.getElementById('submenu-'+menu).style.display='none';
				$j('#toggle-menu'+menu).removeClass('now');
			}
		}
		else{
			$j('#submenu-cart').hide();
			$j('#toggle-cart').attr('class','');
			$j('#toggle-menucart').removeClass('now');
		}
		$j('#submenu-search').hide();
		$j("#submenu-account").hide();
		
		//remove hilight if exists
		$j("#toggle-cart").removeClass("highlighted");
		return false;
	});

	
	//basket
	$j("#toggle-basket").bind("click",function(event){
		if($j('#submenu-basket').css('display')=='none'){
			//document.getElementById('submenu-basket').style.display='block';
			$j('#submenu-basket').show();
			
			for (var menu in menusjson ){
				document.getElementById('submenu-'+menu).style.display='none';
				$j('#toggle-menu'+menu).removeClass('now');
			}
		}
		else{
			$j('#submenu-basket').hide();
			$j('#toggle-basket').attr('class','');
			$j('#toggle-menubasket').removeClass('now');
		}
		//hideBuryMenus();
		//$j('#submenu-basket').css('display','none');
		$j('#submenu-search').hide();
		$j("#submenu-account").hide();
		
		//remove hilight if exists
		//$j("#toggle-basket").css("border", "1px solid #999").css("background-color", "#21365a");
		$j("#toggle-basket").removeClass("highlighted");
		return false;
	});
	
	//search
	$j("#toggle-search").bind("click",function(event){
		if($j('#submenu-search').css('display')=='none'){
			document.getElementById('submenu-search').style.display='block';
			//$j('#toggle-basket').attr('class','current');
			for (var menu in menusjson ){
				document.getElementById('submenu-'+menu).style.display='none';
				$j('#toggle-menu'+menu).removeClass('now');
			}
		}
		else{
			document.getElementById('submenu-search').style.display='none';
			$j('#toggle-search').attr('class','');
			$j('#toggle-menusearch').removeClass('now');
		}
		//hideBuryMenus();
		$j('#submenu-basket').hide();
		//$j('#basket-alink').removeClass('current');
		return false;
	});
}

//------------------------------
// function to hide tool-menu 
// when within scrollable div
//------------------------------
function handleScroll(){

	$j("#basket_contents").bind("scroll",function(event){$j('#tool-menu').hide();});
	$j("#related_content").bind("scroll",function(event){$j('#tool-menu').hide();});
}

//------------------------------
//function to toggle search type
//------------------------------
function searchSelect(n){
	//document.getElementById("searchButton").value = "search " + n;
	$j("#searchType").val(n);
	if($j('#searchText').val()=="" || $j('#searchText').val().indexOf("search")>-1 ){
			$j('#searchText').val("search "+n);
	}
	//clear out search selected classes
	$j("#search_articles").removeClass("search_selected");
	$j("#search_publications").removeClass("search_selected");
	$j("#search_compilations").removeClass("search_selected");
	
	//apply class to current search type
	$j("#search_"+n).addClass("search_selected");
	
	//document.getElementById("searchText").focus();	
}

//----------------------------------------------
// function to switch between tabs
// passes in which tab to view and how many tabs
// exist, then selects content too
//----------------------------------------------
function  selectTabLink(selectT,totalT, name){
	var nameprefix;
	if(name==null)
		nameprefix="";
	else
		nameprefix=name+"_";
	for(i=1;i<=totalT;i++){
		$j("#"+nameprefix+"tablink"+i).removeClass("active");
		$j("#"+nameprefix+"tabcontent"+i).hide();
	}
	$j("#"+nameprefix+"tablink"+selectT).addClass("active");
	$j("#"+nameprefix+"tablink"+selectT).blur();
	$j("#"+nameprefix+"tabcontent" + selectT).show();
}
//---------------------------------------------
//little function to close basket
//---------------------------------------------
function closeBasket(){
	$j('#submenu-basket').hide();
}
//--------------------------------------------
// function to show 'my account' menu
//--------------------------------------------
function showAccountLinks(){
	clearMenus();
	//find location of myaccountlink
	var position = {};
	$j("#myaccountlink").position(position);
	$j("#submenu-account").css("left", position.left).css("display","block");

}


function closeCart(){
    $j('#submenu-cart').hide();
}
