//define the Dase namespace
var Dase; 
if (!Dase) Dase = {};

Dase.addLoadEvent = function(func) {
	/* from DOM Scripting p. 103  - originally, Simon Willison*/
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();
		}
	}
}

Dase.toggleMenuItem = function(node){
	var ul = node.getElementsByTagName('ul')[0];
	if (ul) {
		if (ul.className == 'show'){
			ul.className = 'hide';
			return false;
		}else{
			//when sub menu is displayed, the same li cannot
			//be the trigger,  The a link needs to be
			ul.className = 'show';
			node.onclick = '';
			var anchor = node.firstChild;
			anchor.onclick = function() {
				if (ul.className == 'show'){
					ul.className = 'hide';
					return false;
				}else{
					ul.className = 'show';
				}
				return false;
			}
			return false;
		}
	}
	return true;
}

Dase.prepareMenu = function(id) {
	var tree = document.getElementById(id);
	if (tree) {
		var lists = tree.getElementsByTagName("ul");
		for ( var i=0; i < lists.length; i++) {
			//allows us to have item start as open
			if (lists[i].className != 'show') {
				lists[i].className = 'hide';
			}
			var par = lists[i].parentNode;
			par.onclick = function() {
				return Dase.toggleMenuItem(this);
			}
		}
	}
	return true;
}

Dase.prepareToggle = function(source,target) {
	var src = document.getElementById(source);
	if (src) {
		var tar = document.getElementById(target);
		if (tar) {
			src.onclick = function() {
				if (tar.className == 'show') {
					tar.className = 'hide';
				} else {
					tar.className = 'show';
				}
				return false;
			}
		}
	}
	return true;
}

Dase.ToggleById = function(target) {
	var tar = document.getElementById(target);
	if (tar) {
		if (tar.className == 'show') {
			tar.className = 'hide';
		} else {
			tar.className = 'show';
		}
		return false;
	}
	return true;
}

Dase.prepareTabSet = function(tabSetId) {
	var tabset = document.getElementById(tabSetId);
	if (tabset) {
		var tabs = tabset.getElementsByTagName("li");
		for ( var i=0; i < tabs.length; i++) {
			var anchor = tabs[i].firstChild;
			var hideElem = document.getElementById(anchor.className);
			if (hideElem) {
				if (i > 0) {
				hideElem.className = 'hide';
				}
			}
			anchor.onclick = function() {
				var showId = this.className;
				this.parentNode.className = 'clicked';
				return Dase.showThisTab(tabSetId,showId);
			}
		}
	}
}

Dase.showThisTab = function(tabSetId,showId) {
	var tabset = document.getElementById(tabSetId);
	if (tabset) {
		var tabs = tabset.getElementsByTagName("li");
		for ( var i=0; i < tabs.length; i++) {
			if ('clicked' == tabs[i].className) {
				tabs[i].className = 'current';
			} else {
				tabs[i].className = '';
			}
			var anchor = tabs[i].firstChild;
			var hideId = anchor.className;
			var hideElem = document.getElementById(hideId);
			hideElem.className = 'hide';
		}
		var showElem = document.getElementById(showId);
		if (showElem) {
			showElem.className = 'show';
		}
		return false;
	}
	return true;
}

Dase.addLoadEvent(function() {
		Dase.prepareMenu('menu');
		Dase.prepareMenu('admin-menu');
		Dase.prepareToggle('showCollForm','collForm');
		Dase.prepareTabSet('myTabSet');
		}
		);


