/* Hooray for for obscure but useful functions!! */
function getElementsByClass(searchClass, node, tag) {
	var classElements = new Array(); if ( node == null ) { node = document; } if ( tag == null ) { tag = '*'; } var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp("(^|\\s)" + searchClass + "(\\s|$)"); for (i = 0, j = 0; i < elsLen; i++) { if ( pattern.test(els[i].className) ) { classElements[j] = els[i]; j++; } } return classElements;
}

/* Hooray for suckerfish menus!! */
sfHover = function(sfEls) {
	for (var i = 0; i < sfEls.length; i++) { sfEls[i].onmouseover = function() { this.className += " sfhover"; }, sfEls[i].onmouseout = function() { this.className = this.className.replace(new RegExp(" sfhover\\b"), ""); } }
}

function suckerfish(type, tag, parentClassId, classIdSwitch) {
	if (window.attachEvent) { window.attachEvent("onload", function() { if(classIdSwitch == 'id' || classIdSwitch == null) { var sfEls = (parentClassId == null) ? document.getElementsByTagName(tag):document.getElementById(parentClassId).getElementsByTagName(tag); type(sfEls); } else { targetElementArray = getElementsByClass(parentClassId); for(i = 0; i < targetElementArray.length; i++ ) { var sfEls = (parentClassId == null) ? document.getElementsByTagName(tag):targetElementArray[i].getElementsByTagName(tag); type(sfEls);}}});}
}
