function table() {
	var even = false;
	var tables = document.getElementsByTagName('table');
	for(var i=0;i<tables.length;i++) {
		if(tables[i].className.indexOf('zebra') >= 0) {
			var trs = tables[i].getElementsByTagName('tr');
			for(var j=0;j<trs.length;j++) {
				if(trs[j].parentNode.nodeName=='TBODY') {
					trs[j].className += (even) ? " even" : " odd";
					if( tables[i].className.indexOf('ruler') >= 0) {
						trs[j].onmouseover=function(){ this.className+=' highlight'; return false};
						trs[j].onmouseout=function(){ this.className = this.className.replace("highlight", ""); return false};
					}					
					even = !even;
				}				
			}
		}
	}
}

function startList() {
	if (document.all&&document.getElementById) {
		navRoot = document.getElementById("dropCSSMenu");
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.onmouseover=function() {
					this.className+=" over";
				}
				node.onmouseout=function() {
					this.className=this.className.replace(" over", "");
				}
			}
		}
	}
}

window.onload=function(){table(); startList();}


function showActivity(element) {

	Element.toggle(element);	
	new Insertion.After(element, 'Please wait...');Element.toggle(element);	Element.toggle(element);		

}


function updateDone(transport, onWhat, successMessage, outside) {

	if(successMessage==null) successMessage = "Sucessfully updated in database";
	if(onWhat==null) onWhat = "topResponse";

	if(transport.statusText!="OK") {		
		className = "error";
		messageToDisplay = (transport.statusText=="Internal Server Error") ? transport.responseText : "Error with server";	
	} else { 	
		className = "success";
		messageToDisplay = successMessage;	
	}
	
	newElement = onWhat + 'response';
	if($(newElement)) Element.remove(newElement);
	if(outside==true)
		new Insertion.After(onWhat, '<span class="'+className+'" id="'+newElement+'">'+messageToDisplay+'</span>');
	else
		new Insertion.Bottom(onWhat, '<span class="'+className+'" id="'+newElement+'">'+messageToDisplay+'</span>');
		
	new Effect.Highlight(newElement, { startcolor: '#B3DC10', endcolor: '#ECF5D6', queue: {position:'front', scope:'status', limit: 50}});
	new Effect.Fade(newElement, { queue: {position:'end', scope:'status', limit: 50}});
	
	if(transport.statusText=="OK")
		return true;
	else
		return false;

}

function displayMessage(message, element, outside) {

	if(element==null) element = "topResponse";
	if(outside==null) outside = false;
	
	newElement = element + 'response';
	if($(newElement)) Element.remove(newElement);
	if(outside)
		new Insertion.After(element, '<span id="'+newElement+'">'+message+'</span>');
	else
		new Insertion.Bottom(element, '<span id="'+newElement+'">'+message+'</span>');
		
	new Effect.Highlight(newElement, { highlightcolor: '#ECF5D6', queue: {position:'front', scope:'status', limit: 50}});
	new Effect.Fade(newElement, { queue: {position:'end', scope:'status', limit: 50}});

}