function fnOnResize() {

	// retrieve page elements to be resized
	var divBG = $("bg");
	var divHeader = $("header");
	var srch = $("searchText");
	if (!divBG || !divHeader || !srch) return;

	// set required values
	var winWidth = windowWidth();
	var paddingRight = defaultPadding;
	var srchLeft = srch.offsetLeft;
	var srchWidth = srchMax;

	// calculate adjustments
	if (winWidth < maxRight) {
		paddingRight = maxRight-winWidth+defaultPadding+10;
		if (winWidth < minRight) {
			paddingRight = maxRight-minRight+defaultPadding+10;
		}
	}
	srchWidth = srchMax - paddingRight + defaultPadding;

	// apply adjustments
	divHeader.style.paddingRight = paddingRight + "px";
	//srch.style.width = srchWidth+"px";

	// interim testing - apply overlay show/hide
	//window.ondblclick = fnHideOverlay;

}

function windowWidth() {
	if (window.innerWidth)
	{
		theWidth = window.innerWidth
	}
	else if (document.documentElement && document.documentElement.clientWidth)
	{
		theWidth = document.documentElement.clientWidth
	}
	else if (document.body)
	{
		theWidth = document.body.clientWidth
	}
	return theWidth;
}

var defaultPadding = 0;
var maxRight = 930;
var minRight = 800;
var srchMax  = 215;		//srch.offsetWidth;
var defaultCartQuantity = "1";

var nodeTypes = {
	ELEMENT_NODE: 1,
	ATTRIBUTE_NODE: 2,
	TEXT_NODE: 3,
	CDATA_SECTION_NODE: 4,
	ENTITY_REFERENCE_NODE: 5,
	ENTITY_NODE: 6,
	PROCESSING_INSTRUCTION_NODE: 7,
	COMMENT_NODE: 8,
	DOCUMENT_NODE: 9,
	DOCUMENT_TYPE_NODE: 10,
	DOCUMENT_FRAGMENT_NODE: 11,
	NOTATION_NODE: 12
}

window.onload = global;
	
function global() {

	var agt=navigator.userAgent.toLowerCase();

	fnOnResize();

	// ABC Nav
	abcNav.initialize();

	// home page
	if(typeof initHomeModules == "function") { initHomeModules() };

	// sku page
	if(typeof initSKUModules == "function") { initSKUModules() };

	// sku page
	if(typeof initCarousel == "function") { initCarousel() };

	// module interactivity
	if(typeof initLeftMenu == "function") { initLeftMenu() };
	
	if(typeof initRollOver == "function") { initRollOver() };
};

window.onresize = fnOnResize;

function initLeftMenu() {
	var submenus = document.getElementById("leftnavmenus").getElementsByTagName("a");
	for (i=0;i<submenus.length;i++) {
		if (submenus[i].className.indexOf('category-left-nav') != -1) {
			var st = submenus[i].getElementsByTagName("span");
			for (z=0; z<st.length;z++) {
				Event.observe(st[z], 'click', function(e) {expandNarrowBar(e)});
			}
		}
	}
}

function initRollOver() {
	var topmenu = document.getElementById("abc").getElementsByTagName("li");
	for (i=0;i<topmenu.length;i++) {
		topmenu[i].onmouseover=function() {
			this.className+=" hoverli";
		}
		topmenu[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp("( )?(hoverli)\\b"), "");
		}
	}
}

function expandNarrowBar(e) {

	var el = Event.findElement(e, "a");
	var div = Event.findElement(e, "div");

	/* handle more link */
	if (Element.hasClassName(el, "more")) {
		if (Element.hasClassName(div, "state-partial")) {
			Element.removeClassName(div, "state-partial");
			Element.addClassName(div, "state-open");
		}

	}
	/* handle attribute header */
	else {
		/* if partially open or fully open, then close */
		if (Element.hasClassName(div, "state-partial") || Element.hasClassName(div, "state-open")) {
			Element.removeClassName(div, "state-partial");
			Element.removeClassName(div, "state-open");
			Element.addClassName(div, "state-hidden");
		}
		/* otherwise open it fully */
		else if (Element.hasClassName(div, "state-hidden")) {
			Element.removeClassName(div, "state-hidden");
			Element.addClassName(div, "state-open");
		}
	}
	//alert(div.className);
	Event.stop(e);
	return false;
}
