// JavaScript Document

//MENU V6
var prevTopDIV="";

//Settings
var menuID="jjc-menu"; //Menu
var menuDelay=300; //How long before sub menu disappears

//Internal - don't use
var curLevel=0;var menuTimers=new Array();

//Gets a menu item's level relative to its container
function getItemLevel(curNode){
	var level=0;
	while(curNode.parentNode.id!=menuID){curNode=curNode.parentNode;level++;}
	return level;
}
//Checks if this is the element we're in/on
//This function also checks to see if the top level menu items are actually DIVs
function isFarthestDescendent(curNode){
	var level=getItemLevel(curNode);var isFarther=false;
	if(curNode.tagName!="DIV"){
		if(level>curLevel){isFarther=true;curLevel=level;}
	}
	else{
		if(level==curLevel){isFarther=true;curLevel=level;}
	}
	if(getItemLevel(curNode)==1){
		curLevel=0;
	}
	else{
		if(curNode.tagName=="DIV")if(getItemLevel(curNode)==0)curLevel=0;
	}
	return isFarther;
}
function hasSubMenus(ref){
	return ref.getElementsByTagName("UL").length>0;
}
//Keep menus visible (stop all timers)
function keepMenuVisible(){
	var i=0;
	while(menuTimers.length>i){clearTimeout(menuTimers[i]);i++;}
}
//Hide all menus
function hideAllMenus(){
	var ULs=document.getElementById(menuID).getElementsByTagName("UL");
	var i=0;
	while(ULs.length>i){ULs[i].style.display="none";i++;}
}
//Hide all submenus
function hideSubMenus(level){
	var ULs=document.getElementById(menuID).getElementsByTagName("UL");
	var i=ULs.length-1;
	while(0<=i){if(getItemLevel(ULs[i])>level)ULs[i].style.display="none";i--;}
	if(level==0&&prevTopDIV!=""){
		var subDivs=prevTopDIV.getElementsByTagName("DIV");
	}
}
//Delay hiding all submenus
function hideSubMenusTimer(ref){
	var level=getItemLevel(ref);
	if(level>1){menuTimers[level]=setTimeout("hideSubMenus("+(level-3)+")",menuDelay);}
	else{menuTimers[level]=setTimeout("hideSubMenus("+level+")",menuDelay);}
}
function showSubMenu(ref){
	var ULs=ref.getElementsByTagName("UL");
	if(hasSubMenus(ref)){ULs[0].style.display="block";
		if(getItemLevel(ref)>1){ULs[0].style.left=(ref.offsetWidth-5)+"px";}}
}
//Fires when the mouse moves onto an element
function onMouseOverLiEvt(){
	if(isFarthestDescendent(this)){hideSubMenus(getItemLevel(this));
		showSubMenu(this);keepMenuVisible();}
}
//Fires when the mouse moves away from an element
function onMouseOutLiEvt(){
	hideSubMenusTimer(this);
	//HIGHLIGHTING
	var subDivs=this.getElementsByTagName("DIV");
	if(getItemLevel(this)==0)if(hasSubMenus(this))prevTopDIV=this;
}
function getChildrenByTagName(ref,name){
	var children=ref.childNodes;var tags=new Array();var i=0;
	while(children.length>i){
		if(children[i].tagName==name)tags.push(children[i]);i++;}
	return tags;
}
//Registers events
function menuInit(){
	var menu=document.getElementById(menuID);
	var LIs=menu.getElementsByTagName("LI");var i=0;
	var menuDIVs=getChildrenByTagName(menu,"DIV");
	while(LIs.length>i){LIs[i].onmouseover=onMouseOverLiEvt;
		LIs[i].onmouseout=onMouseOutLiEvt;i++;}
}



jQuery(document).ready(function(){
	var sPath = window.location.href;
	var sPage = sPath.substring(sPath.lastIndexOf('?') + 1);
	
	if (sPage == "product_cat=books1"){
		jQuery(".jj_link_books_authored").removeClass("jj_hide");
	}else if (sPage == "product_cat=assessment1") {
		jQuery(".jj_link_assessment_online").removeClass("jj_hide");
		jQuery(".jj_link_assessment_hard_copy").removeClass("jj_hide");
	}else if (sPage == "product_cat=infrench1"){
		jQuery(".jj_link_french_books").removeClass("jj_hide");
		jQuery(".jj_link_french_flipcharts").removeClass("jj_hide");
	}
});
 
