document.observe('dom:loaded',function(){
	$$('button').each(function(element){
		element.observe('mouseover',function(){ element.addClassName('hover'); });
		element.observe('mouseout',function(){ element.removeClassName('hover'); });
	});

	$$('a[href]').each(function(element){ if(window.location.toString().match(element.href)) element.addClassName('active') });

	// more arrow drop downs
	$$('.viewMore').each(function(element){
		element.observe('click',function(event){
			Event.stop(event);
			var parent = $(element.parentNode);

			if(parent.hasClassName('open'))
				parent.removeClassName('open');
			else
				parent.addClassName('open');
		});
	});

});

function validate_form(form_name)
{
	Event.observe(form_name,'submit',function(event){
		var submit = true;
		required_fields.each(function(id){
			if($(id) && ($(id).value == '' || $(id).value.match(/\*/)) )
			{
				submit = false;
				$(id).addClassName('error');
			}
			else
				$(id).removeClassName('error');
		});

		if(!submit)
		{
			alert('Please fill out all of the required fields.');
			Event.stop(event);
		}
	});
}

//----------------------------------------------------------------------------
//togglelayer shows or hides an object based on the display property (not visibility)
//it will detect the kind element it is and therefore the cross-browser method of hiding or showing the object.
//----------------------------------------------------------------------------
// from http://www.hemenwayandbarnes.com/includes/spscripts.js
function togglelayer(divid,override)
{
   var myobj = document.getElementById(divid);
   if(!myobj) { window.status="[fn togglelayer] Problem! Could not find element with ID '"+divid+"' to toggle."; return; }
   var mytagname = myobj.tagName
   //get the proper display style value, depending on element and browser
   //use self.innerHeight, which IE doesn't support, to determine block or table style
   switch (mytagname)
   {
      case 'DIV': { var  showstyle = "block"; break; }
      case 'SPAN': { var  showstyle = "inline"; break; }
      case 'I': { var  showstyle = "inline"; break; }
      case 'P': { var  showstyle = "block"; break; }
      case 'TABLE': { var  showstyle = self.innerHeight ? "table" : "block"; break; }
      case 'TR': { var  showstyle = self.innerHeight ? "table-row" : "block"; break; }
      case 'TD': { var  showstyle = self.innerHeight ? "table-cell" : "block"; break; }
      default: { var  showstyle = "block"; break; }
   }
   if(override == 1) { myobj.style.display = showstyle; return;}
   if(override == 0) { myobj.style.display = "none"; return;}
   if ((myobj.style.display == showstyle)||(myobj.style.display=="")||(myobj.style.display==null)) { myobj.style.display = "none"; }
   else { myobj.style.display = showstyle; }
}