// compressed addEvent : http://dean.edwards.name/weblog/2005/10/add-event/
function addEvent(element,type,handler){if(element.addEventListener){element.addEventListener(type,handler,false)}else{if(!handler.$$guid)handler.$$guid=addEvent.guid++;if(!element.events)element.events={};var handlers=element.events[type];if(!handlers){handlers=element.events[type]={};if(element['on'+type]){handlers[0]=element['on'+type]}}handlers[handler.$$guid]=handler;element['on'+type]=handleEvent}};addEvent.guid=1;
function removeEvent(element,type,handler){if(element.removeEventListener){element.removeEventListener(type,handler,false)}else{if(element.events&&element.events[type]){delete element.events[type][handler.$$guid]}}};
function handleEvent(event){var returnValue=true;event=event||fixEvent(((this.ownerDocument||this.document||this).parentWindow||window).event);var handlers=this.events[event.type];for(var i in handlers){this.$$handleEvent=handlers[i];if(this.$$handleEvent(event)===false){returnValue=false}}return returnValue};
function fixEvent(event){event.preventDefault=fixEvent.preventDefault;event.stopPropagation=fixEvent.stopPropagation;return event};
fixEvent.preventDefault=function(){this.returnValue=false};
fixEvent.stopPropagation=function(){this.cancelBubble=true};

function collapseMainMenu(){
	//find the menu to collapse
	var masterMainMenu = document.getElementById(mainMasterId);
	collapseMenu(masterMainMenu, openTree)
}


function collapseLocationMenu(){
	//find the menu to collapse
	var masterLocationMenu = document.getElementById(masterId);
	collapseMenu(masterLocationMenu, openLocationTree)
}


function collapseMenu(menu, openRoutine)
{
//check it exists
	if(menu)
	{
		//hide it
		menu.style.display="none";
		//find all ListItem elements in this list (even those in child lists)
		var u = menu.getElementsByTagName('li');
		for(i=0;i<u.length;i++)
		{
			var currentObject = u[i]
		   	//check to see if this list can be closed
			if(
			   	currentObject.getElementsByTagName('img')[0].onclick != null
			)
			{
				//hide child unordered list
				if(currentObject.getElementsByTagName('ul').length>0){
					currentObject.getElementsByTagName('ul')[0].style.display = 'block';
				}
				imgClick(currentObject.getElementsByTagName('img')[0])
			}
		}
		//now open the tree to the right location 
		eval(openRoutine)();
		//and show the menu again		
		menu.style.display="block";
	}
}

function imgClick(obj){
	var li = obj.parentNode;	
	if(li)
	{
		var ul = li.getElementsByTagName('ul')[0];
		if(ul)
		{
			var ulStatus = "none";
			var imgStatus = "open";
			var imgAlt = "Click to open";
			if(ul.style.display != 'block'){
				ulStatus = "block";
				imgStatus = "close";
				imgAlt = "Click to close";
				
			}
			ul.style.display = ulStatus;
			obj.src = collapseImagePath + imgStatus + '.gif';
			obj.alt = imgAlt;
			obj.title = imgAlt;
		}
	}
}



function openNodeById(nodeId)
{
	var li = document.getElementById('listnode' + nodeId)
	if(li)
	{
		openSelectedNode(li)
	}
 }



function openLocationNodeById(nodeId)
{
	li = document.getElementById('adminlistnode' + nodeId)
	if(li){
		openSelectedNode(li)
	}
}

function openSelectedNode(li)
{
	var ul = li.getElementsByTagName('ul')[0];
	var img = li.getElementsByTagName('img')[0];
	if(ul)
	{
		ul.style.display = "block";
		img.src = collapseImagePath + 'close.gif';
		img.alt = "Click to close";
		img.title = "Click to close";
	}

}


function removeDefaultText(input)
{
	if(input.value == defaultText)
	{
		input.value="";
	}
}
