var ImgDir = "../images/";
var useFilters = false;
var Adjust, PullUP;

var AllDIVs;
preLoadImgs();

if (NS4){
	//NS 4 support in this code	
	document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = MoveHandler;
	AllDIVs = document.layers;
}
else if (IE4) {
	AllDIVs = document.all;
}
else if (IE5 || NS6) {
	AllDIVs = document.getElementsByTagName("DIV");
}

function preLoadImgs(){
// load 'off' images
	
	imgBraOff = new Image();
	imgBraOff.src = "images/link_1.gif";	
	imgParOff = new Image();
	imgParOff.src = "images/link_2.gif";	
	imgOurOff = new Image();
	imgOurOff.src = "images/link_3.gif";
	imgHowOff = new Image();
	imgHowOff.src = "images/link_4.gif";
	imgIntOff = new Image();
	imgIntOff.src = "images/link_5.gif";
	imgIdeOff = new Image();
	imgIdeOff.src = "images/link_6.gif";	
	imgPriOff = new Image();
	imgPriOff.src = "images/link_7.gif";	
	imgEmeOff = new Image();
	imgEmeOff.src = "images/link_8.gif";	
	imgSavOff = new Image();
	imgSavOff.src = "images/link_9.gif";	
	
	
	
	
	imgBraOn = new Image();
	imgBraOn.src = "images/link_1on.gif";	
	imgParOn = new Image();
	imgParOn.src = "images/link_2on.gif";	
	imgOurOn = new Image();
	imgOurOn.src = "images/link_3on.gif";
	imgHowOn = new Image();
	imgHowOn.src = "images/link_4on.gif";
	imgIntOn = new Image();
	imgIntOn.src = "images/link_5on.gif";
	imgIdeOn = new Image();
	imgIdeOn.src = "images/link_6on.gif";	
	imgPriOn = new Image();
	imgPriOn.src = "images/link_7on.gif";	
	imgEmeOn = new Image();
	imgEmeOn.src = "images/link_8on.gif";	
	imgSavOn = new Image();
	imgSavOn.src = "images/link_9on.gif";	
	
	
	
}
//--------------------------------------------------------	
if(!AllDIVs) window.history.go(0);

var doHide;
var subm, subsubm, isSMUp, isSSMUp, lsm, lssm;
//--------------------------------------------------------
// Function to "activate/deactivate" images.
function imgOnOff(imgName, isOn) {
	var _onoff = "Off.src";
	var _filterIndex = 0;
	if(isOn){
		_onoff = "On.src";
		_filterIndex = 1;
	}
	
	var _newImgSrc = eval(imgName + _onoff);
		
	if (document.images[imgName]) {// for IE5(and Up) and NS6(and up)
		if (document.images[imgName].filters && document.images[imgName].filters.length && useFilters){
			document.images[imgName].filters[_filterIndex].Apply(); 
		}
   		//alert(imgName);
		document.images[imgName].src = _newImgSrc;
		
		if (document.images[imgName].filters && document.images[imgName].filters.length && useFilters){
			document.images[imgName].filters[_filterIndex].Play(); 
		}
   	}
   	else{//find img inside DIV; for NS4 only
		var _img;
		for(i = 0; i < document.layers.length; i++){
			if(document.layers[i].document.images[imgName]){
				_img = document.layers[i].document.images[imgName];
				_img.src = _newImgSrc;
			}
		}
		//alert(_img);
   	}
}

//--------------------------------------------------------
//--------------------------------------------------------	
//--------------------------------------------------------
function hideAllMenus(){
	var i, j;
	if (!NS4){
		for (i = 0; i < AllDIVs.length; i++){
			if ((AllDIVs[i].className == "subMenu") || (AllDIVs[i].className == "subsMenu")){
				if (AllDIVs[i].filters && AllDIVs[i].filters.length && useFilters){
					for(j = 0; j < AllDIVs[i].filters.length; j++){
						AllDIVs[i].filters[j].Stop();
					}
				}
		  		AllDIVs[i].style.visibility = "hidden";
				//props(AllDIVs[i].style);
				//alert(i);
			}
		}
	}
	if (NS4) {
		for (i = 0; i < AllDIVs.length; i++){
			AllDIVs[i].visibility = "hide";
			//props(AllDIVs[i]);
		}
	}
}
//--------------------------------------------------------
function hideSubMenu(submenu){
	subm = null;
	hideMe(submenu);
}
//--------------------------------------------------------
function hideMe(hide) {
	if (hide) {
		if (doHide) { 
			hideAllMenus(); 
		}
	}
	else {
		doHide = true;
		hideTimer = window.setTimeout("hideMe(true);", 300);
	}
}
//--------------------------------------------------------
function doNotHide() {
		//alert(doHide);
		doHide = false;
}
//--------------------------------------------------------
function showSubMenu(parent, submenu){
	var pI;
	if(document.images) pI = document.images["img" + parent];
	if (!NS4){
	//alert("ns4=" + NS4);
	  var subFilterIndex;
	  var pMenu = document.getElementById(parent);
	  var sMenu =  AllDIVs[submenu];
	  //var sMenu =  document.getElementById(submenu);

	  	if (subm != sMenu){

	  		doHide = false;
	  		hideAllMenus();
			if(IE4, IE5){
				sMenu.style.pixelLeft = getPos(pMenu,"Left"); //- getPos(subMenu,"Width");
				if (PullUP){
					//pool Up
					subFilterIndex = 0;
					sMenu.style.pixelTop = getPos(pMenu,"Top") - sMenu.offsetHeight - Adjust;
				}
				else{
					//pool Down
					subFilterIndex = 1;
					sMenu.style.pixelTop = getPos(pMenu,"Top") + pMenu.offsetHeight - Adjust;
				}
			}
			else if(NS6){
				//alert("pMenu.x=" + pMenu.x + "; pMenu.y=" + pMenu.y);
				//alert("pI.x=" + pI.x + "; pI.y=" + pI.y);
				//alert("sMenu.pageX=" + sMenu.pageX + "; sMenu.pageY=" + sMenu.pageY);
				//alert("sMenu.style.left=" + sMenu.style.left + "; sMenu.style.top=" + sMenu.style.top);
				sMenu.style.left = pI.x;
				//sMenu.pageX = pI.x;
				if (PullUP){
					//pool Up
					sMenu.style.top = pI.y - sMenu.clip.height - Adjust;
					//sMenu.pageY = pI.y - sMenu.clip.height - Adjust;
				}
				else{
					//pool Down
					sMenu.style.top = pI.y + pI.height - Adjust;
					//sMenu.pageY = pI.y + pI.height - Adjust;
				}
				//alert("sMenu.style.left=" + sMenu.style.left + "; sMenu.style.top=" + sMenu.style.top);
			}

			
			if (sMenu.filters && sMenu.filters.length && useFilters){
				//alert(sMenu.filters.length);
			  	sMenu.filters[subFilterIndex].Apply();
			}
			else{
				//alert(typeof(sMenu.filters.length));
				//props(sMenu.style.filters, false);
			}
			
	  		sMenu.style.visibility = "visible";
	  		
			if (sMenu.filters && sMenu.filters.length && useFilters){
				sMenu.filters[subFilterIndex].Play();
			}
			subm = sMenu;
		}
	}
	else if(NS4){
		var pMenu = document.anchors[parent];
		var sMenu =  document.layers[submenu];
		if (subm != sMenu){
			doHide = false;
			hideAllMenus();
			sMenu.pageX = pMenu.x //- getPos(subMenu,"Width");
			if (PullUP){
				//poolUp menu
				sMenu.pageY = pMenu.y - sMenu.clip.height - Adjust;
			}
			else{
				//poll Down menu
				sMenu.pageY = pMenu.y + pI.height - Adjust;
			}
			sMenu.visibility = "show";
			subm = sMenu;
			isSMUp = true;
			lsm = submenu;	
		}
	}
}
//--------------------------------------------------------
function getPos(el,sProp) {
	var iPos = 0;
	while (el!=null) {
		iPos+=el["offset" + sProp];
		el = el.offsetParent;
	}
	return iPos;
}

//-------FOR NS4 ONLY--------------------------------
//onmousemove Event Handler for document.onmousemove
function MoveHandler(e){

	if (isSSMUp 	
		&& 	(e.pageX > document[lssm].pageX && e.pageX < document[lssm].pageX + document[lssm].clip.width) 
		&& 	(e.pageY > document[lssm].pageY && e.pageY < document[lssm].pageY + document[lssm].clip.height)){
		doNotHide();
	} 

	if (isSMUp	
		&&	(e.pageX > document[lsm].pageX && e.pageX < document[lsm].pageX + document[lsm].clip.width) 
		&& 	(e.pageY > document[lsm].pageY && e.pageY < document[lsm].pageY + document[lsm].clip.height)){
		doNotHide();
	} 
	
}

//--------------------------------------------------------
function hideMe2() {
	//alert(document.all.smabo.sourceIndex);
	//document.all.smabo.style.visibility = "hidden";
	for(i = 0; i < AllDIVs.length; i++){
		if (AllDIVs[i].className == "subMenu"){
			AllDIVs[i].style.visibility = "hidden";
			alert(i);
		}
	}
}

function props(obj, doAlert){
	var res = getRes(obj);
	
	if(doAlert){
		alert(res);
	}
	else{
		var nw = window.open("", "res");
		nw.document.write(res);
	}
	return res;
}

function getRes(obj){
	var oName = "none";
	//if(obj.name == object)
		oName = "" + obj;
		if(oName == "[object]")
			oName = obj.name
					
	var res = "<B>props for " + oName + ":</B>**********************<BR>";
	for(prop in obj){
			
		res += oName + "." + prop + " = " + "<code>" + obj[prop] + "</code><BR>";
		//if(typeof(obj[prop]) == "object" && typeof(obj[prop]) != "string")
			//res += getRes(obj[prop]);
		//document.write(myProperty, myObject[myProperty]);
	}
	//alert(res);
	res += "******************END**************************<P></P>"
	
	return res;
}
