var toggleMenu = {
	init : function(sContainerClass, sHiddenClass) {
		if (!document.getElementById || !document.createTextNode) {return;} // Check for DOM support
		var arrMenus = this.getElementsByClassName(document, 'ul', sContainerClass);
		var arrSubMenus, oSubMenu, oLink;
		for (var i = 0; i < arrMenus.length; i++) {
			arrSubMenus = arrMenus[i].getElementsByTagName('ul');
			for (var j = 0; j < arrSubMenus.length; j++) {
				oSubMenu = arrSubMenus[j];
				oLink = oSubMenu.parentNode.getElementsByTagName('a')[0];
				oLink.onclick = function(){toggleMenu.toggle(this.parentNode.getElementsByTagName('ul')[0], sHiddenClass); return false;}
				this.toggle(oSubMenu, sHiddenClass);
			}
		}
	},
	toggle : function(el, sHiddenClass) {
		var oRegExp = new RegExp("(^|\\s)" + sHiddenClass + "(\\s|$)");
		el.className = (oRegExp.test(el.className)) ? el.className.replace(oRegExp, '') : el.className + ' ' + sHiddenClass; // Add or remove the class name that hides the element
	},
/* addEvent function from http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html */
	addEvent : function(obj, type, fn) {
		if (obj.addEventListener)
			obj.addEventListener(type, fn, false);
		else if (obj.attachEvent) {
			obj["e"+type+fn] = fn;
			obj[type+fn] = function() {obj["e"+type+fn](window.event);}
			obj.attachEvent("on"+type, obj[type+fn]);
		}
	},
/*
Written by Jonathan Snook, http://www.snook.ca/jonathan
Add-ons by Robert Nyman, http://www.robertnyman.com
*/
	getElementsByClassName : function(oElm, strTagName, strClassName){
	    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
	    var arrReturnElements = new Array();
	    strClassName = strClassName.replace(/\-/g, "\\-");
	    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	    var oElement;
	    for(var i=0; i<arrElements.length; i++){
	        oElement = arrElements[i];      
	        if(oRegExp.test(oElement.className)){
	            arrReturnElements.push(oElement);
	        }   
	    }
	    return (arrReturnElements)
	}
};

//toggleMenu.addEvent(window, 'load', function(){toggleMenu.init('menu','hidden');});


function toggle(section, shift) {
//Created by W.A. for SBR
//Created to IGNORE the overly and unneccessary complex toggle function created by Jonathan Snook & Robert Nyman
//Toggles a section in newco nav
//on or off
//Note this function takes one or two parameters
  var elements;

  elements=document.getElementsByName(section);
  if (shift=="on") {
	 elements[0].style.display='block';
  }
  else if (shift=="off") { 
	  elements[0].style.display='none';
  }
  
  //handles only if shift is undefined, basically
  //if I don't include shift parameter
  if (typeof shift == "undefined") {
	  if (elements[0].style.display == 'none') {
		  elements[0].style.display='block';
	  }
	  else {
		  elements[0].style.display='none';
	  }	
  }
	
}


function getElementsByName_iefix(tag, name) {
//This function was not created by me
//Link to code: http://www.dreamincode.net/code/snippet293.htm
//Obviously, others have problem with IE
     var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("name");
          if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
}

function toggleIE(section, shift) { 
//W.A. Had to create this for the endless
//problems IE causes
	  var elements;

	  elements=getElementsByName_iefix('ul', section);	
	  if (shift=="on") {
		 elements[0].style.display='block';
	  }
	  else if (shift=="off") { 
		  elements[0].style.display='none';
	  }
	  
	  //handles only if shift is undefined, basically
	  //if I don't include shift parameter
	  if (typeof shift == "undefined") {
		  if (elements[0].style.display == 'none') {
			  elements[0].style.display='block';
		  }
		  else {
			  elements[0].style.display='none';
		  }	
	  }		
}


//Added by W.A. 06-19-2008
function roll_over(image_name, image_source) {
//W.A. image rollover code
   document[image_name].src = image_source;
}
