var digits = "0123456789";
var lLetters = "abcdefghijklmnopqrstuvwxyz"
var uLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
var alphanum = lLetters + uLetters + digits;
var whitespace = " \t\n\r ";

function isEmpty(s) {
	return ((s == null) || (s.length == 0))
}

function isWhitespace(s) {
	var i;
	if (isEmpty(s)) return true;
		for (i = 0; i < s.length; i++)
		{   
			var c = s.charAt(i);
			if (whitespace.indexOf(c) == -1) return false;
		}
	return true;
}

function StripIn (s, bag) {
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++) {   
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}

function StripNotIn (s, bag) {
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++) {
		 var c = s.charAt(i);
		 if (bag.indexOf(c) != -1) returnString += c;
	}
	return returnString;
}

function isLetter (c) {
	return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) )
}

function isDigit (c) {
	return ((c >= "0") && (c <= "9"))
}

function isLetterOrDigit (c) {
	return (isLetter(c) || isDigit(c))
}

function isInteger (s) {
	var i;
	if (isEmpty(s)) return false;
	for (i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if (!isDigit(c)) return false;
	}
	return true;
}

function AlphaNumeric(s) {
	var i;
	if (isEmpty(s)) return false;
	for (i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if (!isLetterorDigit(c)) return false;
	}
	return true;
}

function isLength(s, lMin, lMax) {
	if ((s.length >= lMin) && (s.length <= lMax)) return true;
	return false;
}

function warnInvalid (theField, s) {
	if (theField != null) {
		theField.focus();
	}
	alert(s);
	return false;
}

function storeSwitch(dropdown) {
	var myIndex = dropdown.selectedIndex;
	var selStore = dropdown.options[myIndex].value;
	top.location.href = selStore;
	
	return true;
}

function menuClick(obj, hasCats, catLink) {
		var isIE = (window.navigator.userAgent.indexOf("MSIE") > 0);
		var header = obj.parentNode;
		var group = (isIE) ? header.nextSibling : (header.nextSibling).nextSibling;
	
		//hide the divs
		//since the div id's are their respective cat id's, we can loop through 1000 times to ensure all divs get closed
		for(k=0;k<1000;k++)
		{
				try
				{
						document.getElementById(k).style.display = 'none';
				} catch(err) {
	
				}
		}
		
		//if the parent cat has subcats, open its accordian containing the subcats
		if (hasCats == "yes")
		{
				if (header.className == "level1") {
						header.className = "level1Active";
						group.className = "level2GroupActive";
				} else {
						header.className = "level1";
						group.className = "level2Group";
				}
				
				var navMenu = document.getElementById("nav").getElementsByTagName("div");
				for (var n = 0; n < navMenu.length; n++) {
						var obj = navMenu[n];
						if ((obj.className == "level1Active") && (obj != header)) {
								obj.className = "level1";
						}
						if ((obj.className == "level2GroupActive") && (obj != group)) {
								obj.className = "level2Group";
						}
				}
		//otherwise direct customer to the parent category page
		} else {
				window.location = catLink;
		}	
}

