/////////////////////////////////////////////////////////
//
// dyn_catmenu_functions.js  - JS functions required by catalogue menus
//
/////////////////////////////////////////////////////////
// 
// copyright 2003 web-engineer - www.web-engineer.co.uk
// last edit by J.Howard 10.09.2003
//
/////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////
//
// Predefined vars
//
//	var mcat_v;
//	var mcat_s
//	var mcat_m

var nOP=0,nOP5=0,nIE=0,nIE4=0,nIE5=0,nNN=0,nNN4=0,nNN6=0,nMAC=0,nIEM=0,nIEW=0,nDM=0,nVER=0.0;
var selectedItem = null;
var menu_reset_exempt = false;
var selectedCat = null;
// selectbtn = selected button on menu! carried over...
var submenu_offset_top = 0;
var submenu_offset_left = 0;
var submenu_height = 0;
var menu_page_width = 0;
var menu_delay =0;
var menu_timeout = null;
var menuoffset;
var menuhadjust;
getVer();

function getVer()
{
	var v=navigator.appVersion;
	var a=navigator.userAgent;
	nMAC=v.indexOf("Mac")>=0;
	nOP=a.indexOf("Opera")>=0;
	if(nOP)
	{
		nVER=parseFloat(a.substring(a.indexOf("Opera ")+6,a.length));
		nOP5=nVER>=5.12&&!nMAC&&a.indexOf("MSIE 5.0")>=0;
		if(nVER>=7)	nOP5=1;
	}
	else
	{
		nIE=document.all ? 1 : 0;
		if(nIE)
		{
			nIE4=(eval(v.substring(0,1)>=4));
			nVER=parseFloat(a.substring(a.indexOf("MSIE ")+5,a.length));
			nIE5=nVER>=5.0&&nVER<5.5&&!nMAC;
			nIEM=nIE4&&nMAC;
			nIEW=nIE4&&!nMAC;
		}
		else
		{
			nNN4=navigator.appName.toLowerCase()=="netscape"&&v.substring(0,1)=="4" ? 1 : 0;
			if(!nNN4)
			{
				nNN6=(document.getElementsByTagName("*") && a.indexOf("Gecko")!=-1);
				if(nNN6)
				{
					nVER=parseInt(navigator.productSub);
					if(a.indexOf("Netscape")>=0)
					{
						st_delb=nVER<20001108+1;
						st_addb=nVER>20020512-1;
					}
					else
					{
						st_delb=nVER<20010628+1;
						st_addb=nVER>20011221-1;
					}
				}
			}
			else
			nVER=parseFloat(v);
			nNN=nNN4||nNN6;
		}
	}
	nDM=nOP5||nIE4||nNN;
}

function findObj(theObj, theDoc)
{
	if(document.getElementById){
		foundObj = document.getElementById(theObj);
	}else{
		var p, i, foundObj;
		if(!theDoc) theDoc = document;
		if( (p = theObj.indexOf("?")) > 0 && parent.frames.length){
			theDoc = parent.frames[theObj.substring(p+1)].document;
			theObj = theObj.substring(0,p);
		}
		if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
		for (i=0; !foundObj && i < theDoc.forms.length; i++) 
			foundObj = theDoc.forms[i][theObj];
		for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) 
			foundObj = findObj(theObj,theDoc.layers[i].document);
//		if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);
	}
	if(foundObj){
		return foundObj;
	} else {
		return false;
	}
}

function stageLeft()
{ 
	return parseInt(nNN||nOP ? window.pageXOffset : document.body.scrollLeft);
}

function stageTop()
{ 
	return parseInt(nNN||nOP ? window.pageYOffset : document.body.scrollTop);
}

function stageWidth()
{ 
	return parseInt(nNN||nOP ? window.innerWidth : (nIEW&&document.compatMode=="CSS1Compat" ? document.documentElement.clientWidth : document.body.clientWidth));
}
	
function stageHeight()
{
	return parseInt(nNN||nOP ? window.innerHeight : (nIEW&&document.compatMode=="CSS1Compat" ? document.documentElement.clientHeight : document.body.clientHeight));
}

function catRoll(id,opt,col)
{
	setRGB('c_i'+id,col);
	if(id!=selectedItem){
		if(opt==true){
			switchImage('r_p_'+id,'images/picarrow.gif');
			switchImage('i'+id,'images/arrow_white.gif');
			if(selectedItem!=null){
				switchImage('r_p_'+selectedItem,'images/spacer.gif');
				switchImage('i'+selectedItem,'images/arrow_down.gif');
			}
		}else{
			switchImage('r_p_'+id,'images/spacer.gif');
			switchImage('i'+id,'images/arrow_down.gif');
		}
	}else{
		switchImage('r_p_'+id,'images/spacer.gif');
		switchImage('i'+id,'images/arrow_down.gif');
	}
}

function combinedRoll(id,opt,col)
{
	if(opt){
		cancelKillPopupMenu();
	}else{
		killPopupMenu();
	}
	if(id!=selectedItem){
		if(opt==true){
			switchImage('i'+id,'images/arrow_white.gif');
			if(mcat_v == 0)switchImage('r_p_'+id,'images/picarrow.gif');
			setRGB('c_i'+id,col);
			if(selectedItem!=null){
				// hide the submenu if not exempt
				if(menu_reset_exempt == false){
					var obj = findObj('sub_'+selectedItem);
					obj.style.visibility = 'hidden';
					obj.style.left ="-500px";
					obj.style.top ="0px";
				}
				switchImage('i'+selectedItem,'images/arrow_down.gif');
				if(mcat_v == 0)switchImage('r_p_'+selectedItem,'images/spacer.gif');
				//setRGB('c_i'+selectedItem,col);
			}
			selectedItem = id;
			var obj = findObj('sub_'+id);
			if(menuhadjust==true){
				obj.style.left =Math.max(parseInt( ((stageWidth()-menu_page_width)/2)+submenu_offset_left),submenu_offset_left)+"px";
			} else {
				obj.style.left =(submenu_offset_left+2)+"px";
			}
			//obj.style.left =Math.max(parseInt( ((stageWidth()-menu_page_width)/2)+submenu_offset_left),submenu_offset_left)+"px";
			
			h = parseInt(nOP&&nVER<7?obj.style.pixelHeight:obj.offsetHeight);
			t = parseInt(submenu_offset_top+(submenu_height*(id-1)));
			//alert (t);
			//window.status = "t="+t +" sw= "+stageWidth()+" s-left="+stageLeft();
			if((h+t)<(stageHeight()+menuoffset+stageTop())){
				obj.style.top = (t)-menuoffset+"px";
			}else{
				obj.style.top = (stageHeight()-h+stageTop())+"px";
				
			}
			obj.style.visibility = 'visible';
		}else{
			setRGB('c_i'+id,col);
			if(mcat_v == 0)switchImage('r_p_'+id,'images/spacer.gif');
			switchImage('i'+id,'images/arrow_down.gif');
			var obj = findObj('sub_'+selectedItem);
			obj.style.visibility = 'hidden';
			obj.style.left ="-500px";
			obj.style.top ="0px";
		}
	}else{
		setRGB('c_i'+id,col);
		if(mcat_v == 0)switchImage('r_p_'+id,'images/spacer.gif');
		switchImage('i'+id,'images/arrow_down.gif');
		menu_reset_exempt = false;
	}
}

function menuRoll(id,col)
{
	cancelKillPopupMenu();
	if(id!=selectedItem){
		if(selectedItem!=null){
			// hide the submenu if not exempt
			if(menu_reset_exempt == false){
				var obj = findObj('sub_'+selectedItem);
				obj.style.visibility = 'hidden';
				obj.style.left ="-500px";
				switchImage('i'+selectedItem,'images/arrow_down.gif');
			}
		}
		switchImage('i'+id,'images/arrow_white.gif');
		setRGB('c_i'+id,col);
		selectedItem = id;
		menu_reset_exempt = true;	
	}else{
		switchImage('i'+id,'images/arrow_down.gif');
		setRGB('c_i'+id,col);
		selectedItem = null;
	}
}

function switchImage(image_id,image_src)
{
	var obj = findObj(image_id);
	// test as we may be looking for an object not on the page!
	if(obj){
		obj.src = image_src;
	}
}

function resetmenu()
{
	if(selectedItem != null){
		// hide the submenu if not exempt
		if(menu_reset_exempt == false){
			var obj = findObj('sub_'+selectedItem);
			obj.style.visibility = 'hidden';
			obj.style.left = "-500px";
		}
		old_obj2 = findObj('i'+selectedItem);
		old_obj2.src = 'images/arrow_down.gif';
		selectedItem = null;
	}
}

function animbtn(obj,flag)
{
	var stblbak = findObj(selectbtn);
	var tblbak = findObj(obj);
	var tblbak_t = findObj('l_'+obj);
	if(obj!=selectbtn){
		if(flag){
			if(document.tm){window.clearTimeout(document.tm);};
				tblbak_t.style.color='#FF9900';
		}else{
			tblbak_t.style.color='#FFFFFF';
		}	
		
	}else{
		if(obj=='t6'){
			tblbak_t.style.color='#FFFFFF';
			stblbak.style.background = 'url(images/buttonadvanced_.gif)';
		}else{
			if(stblbak){
				tblbak_t.style.color='#FFFFFF';
				stblbak.style.background = 'url(images/button75_.gif)';
			}
		}
	}
}

var waslit = null;
var wascolour = null;

function setRGB(obj,col)
{
	var obj_to = findObj(obj);
	obj_to.style.background = "#"+col;
}

function lightUp(itemid,colour,onstate)
{
	if(onstate){
		setRGB(itemid,colour);
		cancelKillPopupMenu();
	}else{
		//window.status = 'OFF '+itemid;
		setRGB(itemid,colour);
		killPopupMenu();
	}
	//itemid.style.background = "#"+colour;
}

function lightDown(itemid,colour)
{
	setRGB(itemid,colour);
//	if(onstate){
//		cancelKillPopupMenu();
//	}else{
		killPopupMenu();
	//}
	//itemid.style.background = "#"+colour;
}

// this var to be set in the calling script
var caller,ref;
function jumpToMCat(id)
{
	if(caller.indexOf('?')==-1)
	{
		if(ref!=undefined){
			window.location = caller+"?m="+id+"&ref="+ref;
		} else {
			window.location = caller+"?m="+id;
		}
	} 
	else 
	{
		if(ref!=undefined)
		{
			window.location = caller+"&m="+id+"&ref="+ref;
		}	else 
		{
			window.location = caller+"&m="+id;
		}
	}
}

function jumpToCat(id)
{
	//alert("scat - "+id);
	if(caller.indexOf('?')==-1)
	{
		if(ref!=undefined)
		{
			window.location = caller+"?s="+id+"&ref="+ref;
		} else 
		{
			window.location = caller+"?s="+id;
		}
	} 
	else 
	{
		if(ref!=undefined)
		{
			window.location = caller+"&s="+id+"&ref="+ref;
		} 
		else 
		{
			window.location = caller+"&s="+id;
		}
	}
}

function cancelKillPopupMenu()
{
	window.clearTimeout(menu_timeout);
}

function killPopupMenu()
{
	window.clearTimeout(menu_timeout);
	menu_timeout = window.setTimeout("resetmenu();",parseInt(menu_delay));

}

function mksub(id,colourfore,colourmid,title,opt,link)
{
	if(opt)
	{
		if(nIE)
		{
			document.write('<div class="mlink" id="lnk2_'+id+'" style="width:100%;"><a class="mhlink" href="../../../www.azurelogo.co.uk/special/frames_files/' + link + '" onmouseover="lightUp(\'lnk2_'+id+'\',\''+colourfore+'\',false);" onmouseout="lightUp(\'lnk2_'+id+'\',\''+colourmid+'\',false);">'+title+'</a></div>');
		}
		else
		{
			document.write('<div class="mlink" id="lnk2_'+id+'" style="width:300px;"><a class="mhlink"  href="../../../www.azurelogo.co.uk/special/frames_files/' + link + '" onmouseover="lightUp(\'lnk2_'+id+'\',\''+colourfore+'\',false);" onmouseout="lightDown(\'lnk2_'+id+'\',\''+colourmid+'\');">'+title+'</a></div>');
		}
	}
	else
	{
		if(nIE)
		{
			document.write('<div class="mlink" id="lnk'+id+'" style="width:100%;"><a class="mhlink"   href="../../../www.azurelogo.co.uk/special/frames_files/' + link + '" onmouseover="lightUp(\'lnk'+id+'\',\''+colourfore+'\',true);" onmouseout="lightUp(\'lnk'+id+'\',\''+colourmid+'\',false);">'+title+'</a></div>');
		}
		else
		{
			document.write('<div class="mlink" id="lnk'+id+'" style="width:142px;"><a class="mhlink"   href="../../../www.azurelogo.co.uk/special/frames_files/' + link + '" onmouseover="lightUp(\'lnk'+id+'\',\''+colourfore+'\',true);" onmouseout="lightDown(\'lnk'+id+'\',\''+colourmid+'\');">'+title+'</a></div>');
		}
	}
}

function draw_recset_nav()
{
	if(nav_totalpgs>0)
	{
		//buld some nav ctrls
	}
}
