/// NOTE: The Event handlers use the IMAGES NOT the A tags

function General_Initialise(){

	// Find the menu items and assign event handlers to them all.
	var elementArray = new Array();
	elementArray = $('SideMenu').getElementsByTagName('a');
	for(var i = 0; i < elementArray.length; i++){

		var pattern = new RegExp("(^| )" + "NoHover" + "( |$)");
		if(!pattern.test(elementArray[i].className)){

			// Work out the two image states and store them now!
			var imageArray = elementArray[i].getElementsByTagName('img');
	
			// Off Image
			imageArray[0].imageOff = imageArray[0].src;
			// On Image
			imageArray[0].imageOn = Menu_getHoverImage(imageArray[0].src);
	
			// Add Event Handlers
			addEvent(imageArray[0],"mouseover",Menu_Hover,false);
			addEvent(imageArray[0],"mouseout",Menu_MouseOut,false);
		}
	} // end loop through items
	
	// Fix Height
	var boxHeight = 0;
	var elementArray = new Array();
	elementArray = document.getElementsByTagName('div');
	for(var i = 0; i < elementArray.length; i++){
		// Check for class
		var pattern = new RegExp("(^| )" + "SetHeight" + "( |$)");
		if(pattern.test(elementArray[i].className)){
			var myHeight = $(elementArray[i]).getHeight();
			if(myHeight > boxHeight){
			boxHeight = myHeight;
			}
		}
	} // end loop through items
	for(var i = 0; i < elementArray.length; i++){
		var pattern = new RegExp("(^| )" + "SetHeight" + "( |$)");
		if(pattern.test(elementArray[i].className)){
			$(elementArray[i]).style.height = boxHeight + "px";
		}
	}

} // end General_Initialise

function Menu_Hover(e){
	if(!e) var e = window.event;
	if(e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;

	// Get image state stored earlier and display
//	alert(targ.imageOn);
	targ.src = targ.imageOn;

//	alert(targ.imageOn);
} // end Menu_Hover

function Menu_MouseOut(e){
	if(!e) var e = window.event;
	if(e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;

	targ.src = targ.imageOff;
} // end Menu_MouseOut

function Menu_getHoverImage(myString){
//	alert(myString);
	var myBits = myString.split(".");
	var extension = myBits.pop();

	
	//alert(myBits[myBits.length - 1].substring(-3));
	// Check if this is already the hover version (for sites doing current page highlighting).
	if(myBits[myBits.length - 1].match(/_On$/)){
		return myString;
	}else{
		return myBits.join(".") + "_On." + extension;
	}
} // end Menu_getHoverImage

addEvent(window,"load",General_Initialise, false);
