/*

Rollovers, Layers and Bubbles.. Oh My!

Author:
nate@hfd.com, revised 083100 by jim@hfd.com
copyright 2000, HFD LLC, all rights reserved

Current Version:
Works on Nav4+ (PC/Mac)
Works on IE5- (PC/Mac)

*/

/*
self.onerror = function() {
	return true;
}
*/

var swapable = (document.images && (is_js > 1.1));
var layerable = (is_js >= 1.2);
var tainted = 1;

var launched = 0;

var show_re = /show=(\w+)/;
var show_layer_array = show_re.exec(location.search);
if (show_layer_array) {
	show_layer = show_layer_array[1];
} else {
	show_layer = "";
}

// button rollover, plus some clean menu stuff

if (swapable) {
	var lastButton = "";
}

function setImages() {
	if (swapable) {
		btn_layer1_0=new Image();
		btn_layer1_0.src="man1a.gif";
		btn_layer1_1=new Image();
		btn_layer1_1.src="man1a_ov.gif";
		btn_layer2_0=new Image();
		btn_layer2_0.src="womana.gif";
		btn_layer2_1=new Image();
		btn_layer2_1.src="womana_ov.gif";
		btn_layer3_0=new Image();
		btn_layer3_0.src="man2a.gif";
		btn_layer3_1=new Image();
		btn_layer3_1.src="man2a_ov.gif";
		btn_layer4_0=new Image();
		btn_layer4_0.src="man3a.gif";
		btn_layer4_1=new Image();
		btn_layer4_1.src="man3a_ov.gif";
	}
}

function showButton(imageName) {
	if (swapable) {
		if (document[imageName]) {
			document[imageName].src = eval("btn_" + imageName + "_1.src");
		}
	}
}

function hideButton(imageName) {
	if (swapable) {
		if (document[imageName]) {
			document[imageName].src = eval("btn_" + imageName + "_0.src");
		}
	}
}

function cleanButtons(imageName) {
	if (swapable) {
		if (imageName != "layer1") {
			hideButton("layer1");
		}
		if (imageName != "layer2") {
			hideButton("layer2");
		}
		if (imageName != "layer3") {
			hideButton("layer3");
		}
		if (imageName != "layer4") {
			hideButton("layer4");
		}
	}
}

if (layerable) {
	var lastMenu = "";
	var overMenu = false;
	var overButton_re = /^http:\/\//i

	var uniMenu_h = 30;
	var uniMenu_v = 175;
	var ie_menu_h = (is_mac ? 402 : 405);

	if (is_win) {
		if (is_nav4up) {
			uniMenu_h += 10;
			uniMenu_v += 4;
		} else if (is_ie4up) {
			uniMenu_h += 5;
			uniMenu_v += 9;
		}
		// needs a clause for browsers of the third kind
	} else if (is_mac) {
		if (is_nav4up) {
			uniMenu_h += 0;
			uniMenu_v += -1;
		} else if (is_ie4up) {
			uniMenu_h += 0;
			uniMenu_v += 0;
		}
		if (is_ie4) {
			uniMenu_h += 0;
			uniMenu_v += 0;
		}
		// needs a clause for browsers of the third kind
	} else { // i need some good screenshots of this page taken on
	         //  beos and all the unix platforms (sunos, linux, irix, freebsd, etc.)
		if (is_nav4up) {
			uniMenu_h += -2;
			uniMenu_v += -7;
		} else if (is_ie4up) {
			uniMenu_h += 0;
			uniMenu_v += 0;
		}
		// needs a clause for browsers of the third kind
	}

	if (is_nav4up) {
		window.captureEvents(Event.MOUSEMOVE);
		window.onMouseMove = setOverMenu;
	} else if (is_ie4up) {
	}
}


function setOverMenu(e) {
//	debugMouseOver(e);
	if (tainted) {
		if (is_nav4up) {
			overMenu = (((e.pageX != e.layerX) && (e.pageY != e.layerY)) || (overButton_re.exec(e.target)));
			if (overMenu) {
			} else {
				hideMenu(lastMenu);
			}
		} else if (is_ie4up) {
			overMenu = ((e || (event.srcElement == layer1)|| (event.srcElement == layer2)|| (event.srcElement == layer3)|| (event.srcElement == layer4)) && (event.x < (uniMenu_h + ie_menu_h)));
			if (!(overMenu)) {
				hideMenu(lastMenu);
			}
		}
	} else {
		if (e || (is_nav4up && ((e.pageX != e.layerX) && (e.pageY != e.layerY)) || (overButton_re.exec(e.target)))) {
			tainted = 1;
		}
	}
}

function isOverMenu() {
	return (overMenu);
}

function debugMouseOver(e) {
	if (is_nav4up) {
		status = "tainted=" + tainted + " e.pageX=" + e.pageX + " e.pageY=" + e.pageY + " e.layerX=" + e.layerX + " e.layerY=" + e.layerY + " e.target=" + e.target ;
	} else if (is_ie4up) {
		window.status = "overMenu=" + overMenu + " event.x=" + event.x + " event.y=" + event.y + " event.offsetX=" + event.offsetX + " event.offsetY=" + event.offsetY;
	}
}

function setLayers() {
	if (layerable) {
		if (is_nav4up) {
			document.layers["layer0Menu"].left = uniMenu_h;
			document.layers["layer0Menu"].top = uniMenu_v;
			document.layers["layer1Menu"].left = uniMenu_h;
			document.layers["layer1Menu"].top = uniMenu_v;
			document.layers["layer2Menu"].left = uniMenu_h;
			document.layers["layer2Menu"].top = uniMenu_v;
			document.layers["layer3Menu"].left = uniMenu_h;
			document.layers["layer3Menu"].top = uniMenu_v;
			document.layers["layer4Menu"].left = uniMenu_h;
			document.layers["layer4Menu"].top = uniMenu_v;
		} else if (is_ie4up) {
			document.all["layer0Menu"].style.pixelLeft = uniMenu_h;
			document.all["layer0Menu"].style.pixelTop = uniMenu_v;
			document.all["layer1Menu"].style.pixelLeft = uniMenu_h;
			document.all["layer1Menu"].style.pixelTop = uniMenu_v;
			document.all["layer2Menu"].style.pixelLeft = uniMenu_h;
			document.all["layer2Menu"].style.pixelTop = uniMenu_v;
			document.all["layer3Menu"].style.pixelLeft = uniMenu_h;
			document.all["layer3Menu"].style.pixelTop = uniMenu_v;
			document.all["layer4Menu"].style.pixelLeft = uniMenu_h;
			document.all["layer4Menu"].style.pixelTop = uniMenu_v;
		}
	}
	if (is_nav4up) {
		if (document.layers[show_layer+"Menu"]) {
			tainted = 0;
			showMenu(show_layer);
		}
	} else if (is_ie4up) {
		if (document.all[show_layer+"Menu"]) {
			tainted = 0;
			showMenu(show_layer);
		}
	}
	launched = 1;	//ready to show layers
}

function showMenu(menuName) {
	if (swapable) {
		showButton(menuName);
		lastButton=menuName;
		cleanButtons(menuName);
	}
	if (layerable) {
		if (is_nav4up && (document.layers[menuName + "Menu"])) {
			document.layers[menuName + "Menu"].visibility = "show";
		} else if (is_ie4up) {
			document.all[menuName + "Menu"].style.visibility = "visible";
		}
		lastMenu=menuName;
		cleanMenus(menuName);
	}
}

function safeShowMenu(menuName) {
	if (launched) {
		showMenu(menuName);
	}
}

function safeHideMenu(menuName) {
	if (launched) {
		if (layerable) {
			if (is_nav4up) {
				if (!(isOverMenu())) {
					hideMenu(menuName);
				}
			} else if (is_ie4up) {
				if (!(isOverMenu())) {
					hideMenu(menuName);
				}
			}
		} else if (swapable) {
			hideButton(lastButton);
		}
	}
}

function hideMenu(menuName) {
	if (swapable) {
		hideButton(menuName);
	}
	if (layerable) {
		if (is_nav4up && (document.layers[menuName + "Menu"])) {
			document.layers[menuName + "Menu"].visibility = "hide";
		} else if (is_ie4up && (document.all[menuName + "Menu"])) {
			document.all[menuName + "Menu"].style.visibility = "hidden";
		}
	}
}

function cleanMenus(menuName) {
	if (layerable) {
		if (menuName) {
			if (menuName != "layer1") {
				hideMenu("layer1");
			}
			if (menuName != "layer2") {
				hideMenu("layer2");
			}
			if (menuName != "layer3") {
				hideMenu("layer3");
			}
			if (menuName != "layer4") {
				hideMenu("layer4");
			}
		}
		if (!(show_layer)) {
			if (is_nav4up && (document.layers["layer0" + "Menu"])) {
				document.layers["layer0" + "Menu"].visibility = "show";
			} else if (is_ie4up) {
				document.all["layer0" + "Menu"].style.visibility = "visible";
			}
		}
	}
}

// macromedia firework code

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

