var llDomLoaded = false;  // DOM not loaded yet

/*** Standard Functions ***/
function getElementsByClassName(lcClassName) {
	var laReturnElements = new Array();
	var laElements = document.body.getElementsByTagName("*");
	if(window.RegExp) {
		var lcTest = new RegExp("(^|\\s)" + lcClassName.replace(/\-/g, "\\-") + "(\\s|$)");  // Build RegExp and escape '-'
		var loElement;
		for(var i = 0; i < laElements.length; i++) {
			loElement = laElements[i];
			if(lcTest.test(loElement.className)) {
				laReturnElements[laReturnElements.length] = loElement;  // Avoid 'push' method for IE 5.0
			}
		}
	}
	return (laReturnElements);
}
/**************************/

/*** Replace 'new window' links ***/
function linkReplace() {
	var laLinks = getElementsByClassName("_blank");
	for(var i = 0; i < laLinks.length; i++) {
		laLinks[i].onclick = function() {
			window.open(this.getAttribute("href"));
			return false;
		}
	}
}
/**********************************/

/*** Enable dropdown CSS menu ***/
function navHover() {
	var laNavElements = getElementsByClassName("nav")
	for (var i = 0; i < laNavElements.length; i++) {
		var laMenuElements = laNavElements[i].getElementsByTagName("ul")[0].getElementsByTagName("li");
		for (var j = 0; j < laMenuElements.length; j++) {
			laMenuElements[j].onmouseover = function() { this.className += " navhover";}
			laMenuElements[j].onmouseout = function() { this.className = this.className.replace(new RegExp("navhover\\b"), "");}
		}
	}
}
/********************************/

/*** Setup functions to run after DOM is loaded ***/
function addDOMLoadEvent(func) {
	// Run function if DOM is loaded
	if(llDomLoaded) {
		func();
		return;
	}
	var oldOnDOMLoadEvents = window.onDOMLoadEvents;
	if(typeof window.onDOMLoad != "function") {
		window.onDOMLoadEvents = func;
	} else {
		window.onDOMLoadEvents = function() {
			if(oldOnDOMLoadEvents) {
				oldOnDOMLoadEvents();
			}
			func();
		}
	}
}
function onDOMLoad() {
	// quit if this function has already been called
	if (llDomLoaded) return;
	// flag this function so we don't do the same thing twice    
	llDomLoaded = true;
	if(typeof window.onDOMLoad == "function") onDOMLoadEvents();
}

if(document.addEventListener) document.addEventListener('DOMContentLoaded', onDOMLoad, false);

// for Internet Explorer (using conditional comments)
/*@cc_on @*/
/*@if (@_win32)
	if(document.location.protocol != "https") {
		document.write("<script id=\"IE_onDOMLoad\" defer src=\"https://www.phatmanclothing.com/blank.js\"><\/script>");
		var script = document.getElementById("IE_onDOMLoad");
		script.onreadystatechange = function() {
			if (this.readyState == "complete") {
				onDOMLoad(); // call the onload handler
			}
		}
	}
/*@end @*/

/* for Safari */
if (/KHTML|WebKit/i.test(navigator.userAgent)) { // sniff
	var _timer = setInterval(function() {
		if (/loaded|complete/.test(document.readyState)) {
			onDOMLoad(); // call the onload handler
		}}, 1)
	}
	
/* for other browsers */
window.onload = onDOMLoad;
/**************************************************/

// set Loaded functions
addDOMLoadEvent(linkReplace);
addDOMLoadEvent(navHover);