//Edited 8-4-08 by Will Morrison, the javascript King



function addLoadEvent(func)
{
	var oldonload = window.onload;
	if(typeof window.onload != 'function')
	{
		window.onload = func;
	}
	else
	{
		window.onload = function()
		{
			oldonload();
			func();
		}
	}
}



//This function borrowed from http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/ on 8-4-08
function AwesomegetElementsByClassName(className, tag, elm)
{
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++)
	{
		current = elements[i];
		if(testClass.test(current.className))
		{
			returnElements.push(current);
		}
	}
	return returnElements;
}


function operateAllDropDowns(which)
{
	var dropdowns = AwesomegetElementsByClassName('dropdown');
		
	for(var i = 0; i < dropdowns.length; i++)
	{
		var currentDivId = dropdowns[i].getAttribute('id');		
		var currentDiv = document.getElementById(currentDivId);
		var state = currentDiv.style.display;
		
		if(which == 'open')
		{
			if(state == 'none')
			{
				currentDiv.style.display = 'block';	
			}
		}
		else if(which == 'close')
		{
			if(state == 'block')
			{
				currentDiv.style.display = 'none';	
			}
		}		
	}
	
	return false;
}

function prepareAllDropDowns()
{
	var expandOperators = AwesomegetElementsByClassName('expandOperators');
	
	for(var i = 0; i < expandOperators.length; i++)
	{	
		expandOperators[i].onclick = function()
		{
			return operateAllDropDowns('open');
		}
	}	
	
	//NOW Handle the collapsing ones
	var collapseOperators = AwesomegetElementsByClassName('collapseOperators');
	
	for(var i = 0; i < collapseOperators.length; i++)
	{	
		collapseOperators[i].onclick = function()
		{
			return operateAllDropDowns('close');
		}
	}	
}



addLoadEvent(prepareAllDropDowns);
operateAllDropDowns('close');