var menus, hns, openCloseMenus, enlargeReduceMap, searchResults;

var noFlashMsg = '<a rel="external" href="http://www.macromedia.com/go/getflashplayer" title="Macromedia.com | Macromedia Flash Player Download Center"><img src="/i/bg/noflash.gif" alt="" width="477" height="291" \/><\/a>';

/* Preload Button Images */
if (document.images) {
var openMenusOff = new Image();
openMenusOff.src = "/i/nav/openmenus_off.gif";
openMenusOff.alt = "Open All Menus Below";
var openMenusOn = new Image();
openMenusOn.src = "/i/nav/openmenus_on.gif";
var closeMenusOff = new Image();
closeMenusOff.src = "/i/nav/closemenus_off.gif";
closeMenusOff.alt = "Close Menus";
var closeMenusOn = new Image();
closeMenusOn.src = "/i/nav/closemenus_on.gif";
var enlargeMapOff = new Image();
enlargeMapOff.src = "/i/nav/enlargemap_off.gif";
enlargeMapOff.alt = "Enlarge Map";
var enlargeMapOn = new Image();
enlargeMapOn.src = "/i/nav/enlargemap_on.gif";
var reduceMapOff = new Image();
reduceMapOff.src = "/i/nav/reducemap_off.gif";
reduceMapOff.alt = "Reduce Map";
var reduceMapOn = new Image();
reduceMapOn.src = "/i/nav/reducemap_on.gif";
var viewMallDirectoryOff = new Image();
viewMallDirectoryOff.src = "/i/nav/viewmalldirectory_off.png";
var viewMallDirectoryOn = new Image();
viewMallDirectoryOn.src = "/i/nav/viewmalldirectory_on.png";
var printThisPageOff = new Image();
printThisPageOff.src = "/i/nav/printthispage_off.gif";
var printThisPageOn = new Image();
printThisPageOn.src = "/i/nav/printthispage_on.gif";
var showMallMapOff = new Image();
showMallMapOff.src = "/i/nav/showmallmap_off.gif";
var showMallMapOn = new Image();
showMallMapOn.src = "/i/nav/showmallmap_on.gif";
var storeCatOff = new Image();
storeCatOff.src = "/i/nav/printstorecategories_off.gif";
var storeCatOn = new Image();
storeCatOn.src = "/i/nav/printstorecategories_on.gif";
var printWindowOff = new Image();
printWindowOff.src = "/i/nav/printwindow_off.gif";
var printWindowOn = new Image();
printWindowOn.src = "/i/nav/printwindow_on.gif";
var closeWindowOff = new Image();
closeWindowOff.src = "/i/nav/closewindow_off.gif";
var closeWindowOn = new Image();
closeWindowOn.src = "/i/nav/closewindow_on.gif";
}

function collapseLists() {
	for (var i = hns.length; i != 0; i--) {
		var hn = hns[i-1];
		hn.parentNode.className = "";
	}
}

function toggleMenus(el) {
	var switchState = el.form.togglestate.value;
	if (switchState == "on") {
		for (var i = hns.length; i != 0; i--) {
			var hn = hns[i-1];
			hn.parentNode.className = "allitems";
			var subMenuHeadings = hn.parentNode.getElementsByTagName('h4');
			for (var j = subMenuHeadings.length; j != 0; j--) {
				thisSubMenuHeading = subMenuHeadings[j-1];
				if (thisSubMenuHeading.className == "nomenuitems") continue;
				thisSubMenuHeading.parentNode.className = "expanded";
			}
		}
		openCloseMenus.src = closeMenusOff.src;
		openCloseMenus.alt = closeMenusOff.alt;
		el.form.togglestate.value = "off";
	} else {
		for (var i = hns.length; i != 0; i--) {
			var hn = hns[i-1];
			hn.parentNode.className = "";
			var subMenuHeadings = hn.parentNode.getElementsByTagName('h4');
			for (var j = subMenuHeadings.length; j != 0; j--) {
				thisSubMenuHeading = subMenuHeadings[j-1];
				if (thisSubMenuHeading.className == "nomenuitems") continue;
				thisSubMenuHeading.parentNode.className = "";
			}
		}
		openCloseMenus.src = openMenusOff.src;
		openCloseMenus.alt = openMenusOff.alt;
		el.form.togglestate.value = "on";
	}
}

function setEvents() {
	if (document.getElementById) {
		if (document.getElementById('openclosemenus')) {
			openCloseMenus = document.getElementById('openclosemenus');
			openCloseMenus.onclick = function() { toggleMenus(this);return false; }
		}
		if (document.getElementById('enlargereducemap')) {
			enlargeReduceMap = document.getElementById('enlargereducemap');
			enlargeReduceMap.onclick = function() { toggleMapView();return false; }
		}
		if (document.getElementById('storeselectgo')) {
			storeSelect = document.getElementById('storeselectgo');
			storeDropDownValue = document.getElementById('storedropdown').options[document.getElementById('storedropdown').selectedIndex].value;
			storeSelect.onclick = function() { window.location.replace(document.getElementById('storedropdown').options[document.getElementById('storedropdown').selectedIndex].value);return false; }
		}
		var links = document.getElementsByTagName('a');
		for (var i = links.length; i !=0; i--) {
			var thisLink = links[i-1];
			if (!thisLink.rel) continue;
			if (thisLink.rel == "new-window") {
				thisLink.onclick = function() { newWindow.setURL(this);return false; }
			} else if (thisLink.rel == "new-window-fixedsize") {
				thisLink.onclick = function() { newWindow.setURL(this,'780','550');return false; }
			}
		}
		for (var i = document.forms.length; i !=0; i--) {
			var thisForm = document.forms[i-1];
			if (thisForm.className.indexOf("new-window-fixedsize") != -1) {
				thisForm.onsubmit = function() { newWindow.setURL(this,'780','550');return false; }
			} else if (thisForm.className.indexOf("new-window") != -1) {
				thisForm.onsubmit = function() { newWindow.setURL(this);return false; }
			} else if (thisForm.className.indexOf("print-window") != -1) {
				thisForm.onsubmit = function() { printWindow();return false; }
			}
		}
		if (document.getElementById('menus')) {
			hns = document.getElementById('menus').getElementsByTagName('h3');
			menus = document.getElementById('menus');
			menus.onmouseover = doEvents;
			menus.onmouseout = doEvents;
			menus.onclick = doEvents;
		}
		
		var inputs = document.getElementsByTagName('input');
		for (var i = inputs.length; i != 0; i--) {
			var thisInput = inputs[i-1];
			if (thisInput.type != "image") continue;
			thisInput.onmouseover = function() { this.src = this.src.replace("_off","_on"); }
			thisInput.onmouseout = function() { this.src = this.src.replace("_on","_off"); }
			if (thisInput.className.indexOf("close-window") == -1) continue;
			thisInput.onclick = function() { window.close();return false; }
		}
	}
}


function doEvents(evt) {
	if (document.getElementById) {
		evt = (evt) ? evt : ((window.event) ? event : null)
		if (evt) {
			var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
			if (elem) {
				var thisLI = "";
				var thisEl = "";
				if (elem.nodeName.toLowerCase() == "h3" || (elem.nodeName.toLowerCase() == "h4" && elem.className != "nomenuitems")) {
					thisLI = elem.parentNode;
					thisEl = elem;
				} else if ((elem.nodeName.toLowerCase() == "strong" && elem.parentNode.nodeName.toLowerCase() == "h3") || (elem.nodeType == 3 && elem.parentNode.nodeName.toLowerCase() == "h4" && elem.parentNode.className != "nomenuitems")) {
					thisLI = elem.parentNode.parentNode;
					thisEl = elem.parentNode;
				}
				
				if (thisLI != "" && thisEl != "") {
					if (evt.type == "click") {
						if (thisLI.className == "") {
							if (thisEl.nodeName.toLowerCase() == "h3") {
								collapseLists();
							}
							thisLI.className = "expanded";
						} else {
							if (thisLI.className == "allitems") {
								openCloseMenus.src = openMenusOff.src;
								openCloseMenus.alt = openMenusOff.alt;
								document.getElementById('togglestate').value = "on";
							}
							thisLI.className = "";
						}
					} else if (evt.type == "mouseover" && thisEl.nodeName.toLowerCase() == "h3") {
						thisEl.className = "hover";
					} else if (evt.type == "mouseout" && thisEl.nodeName.toLowerCase() == "h3") {
						thisEl.className = "";
					}
				}
			}
		}
	}
}

function initWindow(url,w,h,m,t,l,s,r) {
	this.url = url;
	this.w = w ? w : screen.width - "50";
	this.h = h ? h : screen.height - "140";
	this.m = m ? m : "yes";
	this.t = t ? t : "no";
	this.l = l ? l : "no";
	this.s = s ? s : "yes";
	this.r = r ? r : "yes";
	this.setWindow = function() {
		window.open(this.url, "appWin", "menubar=" + this.m + ", toolbar=" + this.t + ",location=" + this.l + ",resizable=" + this.r + ",scrollbars=" + this.s + ",left=0,top=0,width=" + this.w + ",height=" + this.h);
	}
}

initWindow.prototype.setURL = function(el,w,h,useTarget) {
	this.url = el.href ? el.href : el.action;
	this.w = w ? w : "790";
	this.h = h ? h : screen.height - "140";
	if (useTarget) {
		el.target = "_blank";
	} else {
		this.setWindow();
	}
}

var newWindow = new initWindow();

function initObject() {
	this.parentId = "";
	this.checkVar = 0;
	this.fallback = "";
	
	this.insertObject = function() {
		if (document.getElementById && document.createElement) {
			var parentEl = document.getElementById(this.parentId);
			
			if (this.checkVar) {
				parentEl.innerHTML = this.success;
			} else {
				parentEl.innerHTML = this.fallback;
			}
		}
	}
}

initObject.prototype.flash = function(parentId,data,width,height) {
	this.parentId = parentId;
	this.data = data;
	this.width = width ? width: "100%";
	this.height = height ? height: "100%";
	this.success = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="' + this.width + '" height="' + this.height + '"><param name="movie" value="' + this.data + '" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="high" /><embed src="' + this.data + '" loop="false" menu="false" quality="high" width="' + this.width + '" height="' + this.height + '" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"><\/embed><\/object>';
	this.checkVar = detectFlash(6);
	this.fallback = noFlashMsg;
	this.insertObject();
}

initObject.prototype.mallMap = function(storeId) { 
	this.parentId = "mallmap";
	this.data = "/IM/im.swf?store=" + storeId;
	this.flash(this.parentId, this.data);
}

var newObject = new initObject();

function toggleMapView() {
	var mallMap = document.getElementById('mallmap');
	var mallOptions = document.getElementById('malloptions');
	var sidebar = document.getElementById('sidebar');
	if (mallMap.className == "normalview") {
		enlargeReduceMap.src = reduceMapOff.src;
		enlargeReduceMap.alt = reduceMapOff.alt;
		mallOptions.style.marginTop = "444px";
		sidebar.style.marginTop = "444px";
		mallMap.className = "enlargedview";
	} else {
		enlargeReduceMap.src = enlargeMapOff.src;
		enlargeReduceMap.alt = enlargeMapOff.alt;
		mallOptions.style.marginTop = "0px";
		sidebar.style.marginTop = "0px";
		mallMap.className = "normalview";
		
	}
}

function printWindow() {
	var agent = navigator.userAgent.toLowerCase();
	 if (agent.indexOf("msie") == -1) {
	 	if (document.getElementById('mallmap')) {
	 		if (document.getElementById('mallmap').className != "printmap") {
	 			alert('We\'re sorry, your browser is unable to print the store location map (Internet Explorer browsers only). However, all other information is still available. Click "Ok" to proceed.');
	 		}
	 	}
	 	window.print();
	 } else {
	 	window.print();
	 }
}