/**
 * Common JavaScript library for the Theatrical Reality, Inc. website
 * Joshua Walter, author
 */

// attach the page setup function to the window load event
if (window.addEventListener) {
	evntLsnr = true;
	window.addEventListener('load', pageSetup, false);
} else {
	evntLsnr = false;
	window.attachEvent('onload', pageSetup);
}

// initialize global object variables
var linkProducts;
var popupProducts;

function pageSetup() {
// set up an object array for the navbar elements
	var linkObjectIds = new Array(
		'linkMain',
		'linkInfo',
		'linkProducts',
		'linkContact',
		'linkLighting',
		'linkSound',
		'linkEffects',
		'linkPackages',
		'linkConsulting'
	);
	tgtObjects = new Array;
	for (var i = 0; i < linkObjectIds.length; i++) {
		tgtObjects[i] = document.getElementById(linkObjectIds[i]);
	}
// use the tgtObjects array to set up the popup menu and status bar controls
	linkProducts = document.getElementById('linkProducts');
	popupProducts = document.getElementById('popupProducts');
	if (evntLsnr) {
		for (var i = 0; i < tgtObjects.length; i++) {
			tgtObjects[i].addEventListener('mouseover', showStatus, false);
			tgtObjects[i].addEventListener('mouseout', removeStatus, false);
		}
		linkProducts.addEventListener('mouseover', showProductPopup, false);
		linkProducts.addEventListener('mouseout', hideProductPopup, false);
		popupProducts.addEventListener('mouseout', hideProductPopup, false);
		document.addEventListener('keydown', checkKey, false);
	} else {
		for (var i = 0; i < tgtObjects.length; i++) {
			tgtObjects[i].attachEvent('onmouseover', showStatus);
			tgtObjects[i].attachEvent('onmouseout', removeStatus);
		}
		linkProducts.attachEvent('onmouseover', showProductPopup);
		linkProducts.attachEvent('onmouseout', hideProductPopup);
		popupProducts.attachEvent('onmouseout', hideProductPopup);
		document.attachEvent('onkeydown', checkKey);
	}
// Disappear the no-JS warning -- better this way than to use <noscript> because of browser support
	document.getElementById('jsWarning').style.display = 'none';
// preload the background image for the popup menu
	popupBackground = new Image();	popupBackground.src = 'gfx/popupBG.png';
}

function showProductPopup() {popupProducts.style.display = 'block'}

function hideProductPopup(e) {
	var evnt = (!e) ? window.event : e;
	var tgt = (window.event) ? evnt.srcElement : evnt.target;
	var relTgt = evnt.relatedTarget ? evnt.relatedTarget : evnt.toElement;
	while ((relTgt != linkProducts) && (relTgt != popupProducts) && (relTgt.nodeName != 'HTML')) {
		relTgt = relTgt.parentNode;
	}
//alert(relTgt.nodeName);
	if ((relTgt == linkProducts) || (relTgt == popupProducts)) return;
	popupProducts.style.display = 'none';
}

function showStatus(e) {
	var evnt = (!e) ? window.event : e;
	var tgt = (window.event) ? evnt.srcElement : evnt.target;
	window.status = 'Link to ' + tgt.id.replace('link', '').toLowerCase() + ' page';
}

function removeStatus() {window.status = ''}

function checkKey(e) {
	var evnt = !e ? window.event : e;
	var keyNum = window.event ? evnt.keyCode : evnt.which;
	if (keyNum == 192) window.location = 'http://localhost/admin/';
}
