/*********************************************************************

prototype based CollapseMenu class
requires dom compatible browser (IE5+, NS6.1+, Mozilla, Firebird etc)

*********************************************************************/



/**********	Begin menu ***************/

document.attachEvent("onload", "window.oMenu = new CollapseMenu('oCollapse', 'collapseMenu')");

document.write("<style>\n");
document.write("	ul#collapseMenu ul {\n");
document.write("		display:none;\n");
document.write("	}\n");
document.write("</style>\n");

function CollapseMenu(oID, sID){
	this.sID = sID;
	this.oID = oID;
	this.aA = document.getElementById(this.sID).getElementsByTagName("A");
	var obj = this;
	for(var i=0; i<this.aA.length; i++){
		if(this.aA[i].parentNode.getElementsByTagName("ul").length > 0){
			this.aA[i].className += "child";
			for(var j=0; j<this.aA[i].parentNode.getElementsByTagName("ul").length; j++){
				this.aA[i].parentNode.getElementsByTagName("ul")[j].style.display = "none";
				this.aA[i].onclick = function(){
					obj.collapseAll();
					for(var j=0; j<this.parentNode.getElementsByTagName("ul").length; j++){
						if(this.parentNode.getElementsByTagName("ul")[j].parentNode.parentNode == this.parentNode.parentNode){
							this.parentNode.getElementsByTagName("ul")[j].style.display = "block";
							var oNode = this;
							while(oNode.parentNode.id != this.sID){
								if(oNode.parentNode.tagName == "LI")
									oNode.parentNode.getElementsByTagName("A")[0].className += " active";
								if(oNode.parentNode.tagName == "UL")
									oNode.parentNode.style.display = "block";
								oNode = oNode.parentNode;
							};							
						};
					};
				};
			};
		};
	};
	this.openToActive();
};
CollapseMenu.prototype.openToActive = function(){
	for(var i=0; i<this.aA.length; i++){
		if(this.aA[i].className.indexOf("active") != -1){
			var oNode = this.aA[i];
			while(oNode.parentNode.id != this.sID){
				if(oNode.parentNode.tagName == "LI")
					oNode.parentNode.getElementsByTagName("A")[0].className += " active";
				if(oNode.parentNode.tagName == "UL"){
					oNode.parentNode.style.display = "block";
				};
				oNode = oNode.parentNode;
			};
			for(var j=0; j<this.aA[i].parentNode.getElementsByTagName("ul").length; j++){
				if(this.aA[i].parentNode.getElementsByTagName("ul")[j].parentNode.parentNode == this.aA[i].parentNode.parentNode)
					this.aA[i].parentNode.getElementsByTagName("ul")[j].style.display = "block";
			};
		};
	};
};
CollapseMenu.prototype.collapseAll = function(){
	for(var i=0; i<this.aA.length; i++){
		this.aA[i].className = this.aA[i].className.replace("active", "");
		if(this.aA[i].parentNode.getElementsByTagName("ul").length > 0){
			for(var j=0; j<this.aA[i].parentNode.getElementsByTagName("ul").length; j++){
				this.aA[i].parentNode.getElementsByTagName("ul")[j].style.display = "none";
			};
		};
	};
};