function getElementsByClassName(node, classname)
{
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for(var i=0,j=els.length; i<j; i++)
        if(re.test(els[i].className))a.push(els[i]);
    return a;
}

function hijackLinks() {
	//Get all the links within the body id for class:map and change the target to _new
	var linkObjArr
	var linkObj
	
	//All the links for the body
	
	bodyObj = document.getElementById("body");
	linkObjArr = getElementsByClassName(bodyObj, "map")
	
	for(var i=0; i<linkObjArr.length; i++) {
		linkObjArr[i].target = "_new";
	}
	
	linkObjArr = getElementsByClassName(bodyObj, "merchant")
	
	for(var i=0; i<linkObjArr.length; i++) {
		linkObjArr[i].target = "_new";
	}
	
	//All the links for the header
	
	bodyObj = document.getElementById("header");
	linkObjArr = getElementsByClassName(bodyObj, "merchant")
	
	for(var i=0; i<linkObjArr.length; i++) {
		linkObjArr[i].target = "_new";
	}
	
	//Call Us
	
	bodyObj = document.getElementById("main");
	linkObjArr = getElementsByClassName(bodyObj, "callUs");
	
	for(var i=0; i<linkObjArr.length; i++) {
		linkObjArr[i].href = "javascript: showPopup('" + linkObjArr[i].id.replace("button", "popup") + "')";
	}
	
	
	//News Links
	
	bodyObj = document.getElementById("main");
	linkObjArr = getElementsByClassName(bodyObj, "newsLink");
	
	for(var i=0; i<linkObjArr.length; i++) {
		linkObjArr[i].target = "_new";
	}
	
	
	//Search Button
	
	bodyObj = document.getElementById("productSearchSubmit");
	bodyObj.setAttribute("onClick", "javascript: return checkKeywords();")
	
	
	//Notify
	
	bodyObj = document.getElementById("main");
	linkObjArr = getElementsByClassName(bodyObj, "notify");
	
	for(var i=0; i<linkObjArr.length; i++) {
		var newURL = linkObjArr[i].href;
		if(newURL) {
			newURL = newURL.replace("notifyform.asp", "notify.asp");
		}
		
		linkObjArr[i].href = "javascript: showPopupIframe('" + linkObjArr[i].id.replace("button", "popup") + "', '" + linkObjArr[i].id.replace("button", "iframe") + "', '" + newURL +"')";
	}
	
	
	//var topLevelCategoryId = topLevelCategory
	
	// Collapse / Expand selected top category
	
	var categoryDisplayed = true;
	
	if(window.topLevelCategoryId) {
		
		var categoryObj = document.getElementById("catid-"+window.topLevelCategoryId);
		
		if(categoryObj) {
			categoryObj.firstChild.onclick = function(){
					if(categoryDisplayed==true) {
						//Hide
						this.parentNode.childNodes[1].style.display = "none";
						categoryDisplayed = false;
					} else {
						//Display
						this.parentNode.childNodes[1].style.display = "block";
						categoryDisplayed = true;
					}
				}
			categoryObj.firstChild.removeAttribute("href");
		}
		
	}


}



function disableBuyButton(thisButton) {
	thisButton.readonly = "true";
	thisButton.style.color = "#aaa";
	thisButton.value = "Buying...";
}

function checkKeywords() {
	var objKeywords = document.getElementById("productSearchText")
	
	if(objKeywords.value=="") {
		alert("Please enter keyword(s) before clicking the search button.");
		return false;
	} else {
		return true;
	}
	
}


window.onload = function() {
	hijackLinks();
	
	//Image Gallery
	if(document.getElementById("imageGalleryNav")) {
		
		var imageGalleryNav = document.getElementById("imageGalleryNav").getElementsByTagName("li");
	
		for(var i=0; i<imageGalleryNav.length;i++) {
			imageGalleryNav[i].firstChild.href = imageGalleryNav[i].firstChild.rel;
			imageGalleryNav[i].firstChild.rel = "";
		}
		
	}
}