function ulmenu(id) {
	this.id=id;
	this.magicFoldURL=false;
	this.closeOtherSiblings=false;
	this.closeOtherAll=true;
	this.saveCookie=false;
	return true;
}

ulmenu.prototype.hide=function() {
	document.getElementById(this.id).style.display="none";
	return true;
};

ulmenu.prototype.show=function() {
	var tmp=false;
	this.submenuObj=document.getElementById(this.id).getElementsByTagName('ul');
	if (document.cookie) tmp=(new RegExp("\\b"+this.id+"=([^;]+)")).exec(document.cookie);
	for (var i=1;i<this.submenuObj.length;i++) this.submenuObj[i].style.display=(tmp?(tmp[1].substr(i,1)!="O"?"none":""):"none");
	document.getElementById(this.id).style.display="block";
	var lis=document.getElementById(this.id).getElementsByTagName('a');
	for (tmp in lis) if (typeof lis[tmp]=='object' && lis[tmp].getAttribute('href').replace(/^https?:\/\/.[^\/]+\/|^\/|\?.*/g, '')==window.location.href.replace(/^https?:\/\/.[^\/]+\/|\?.*/g, '')) lis[tmp].className='selected';
	return true;
};

ulmenu.prototype.toggle=function() {
	var element=(typeof(arguments[0])=="object"?arguments[0]:document.getElementById(arguments[0]));
	while (element.nodeName.toUpperCase()!='UL' && element.nextSibling!=null) element=element.nextSibling;
	element.style.display=(element.style.display!="none"?"none":"");
	if (this.closeOtherAll && element.style.display!="none") {
		for (var i=this.submenuObj.length-1; i>=0; i--) {
		 	if (this.submenuObj[i]==element || this.submenuObj[i]==element.parentNode.parentNode) element=this.submenuObj[i];
		 	else this.submenuObj[i].style.display='none';
		}
	}
	if (this.saveCookie) this._save();
	return true;
};

ulmenu.prototype.open=function() {
	var element=(typeof(arguments[0])=="object"?arguments[0]:document.getElementById(arguments[0]));
	while (element.nodeName.toUpperCase()!='UL' && element.nextSibling!=null) element=element.nextSibling;
	element.style.display="";
	if (this.closeOtherAll && element.style.display!="none") {
		for (var i=this.submenuObj.length-1; i>=0; i--) {
		 	if (this.submenuObj[i]==element || this.submenuObj[i]==element.parentNode.parentNode) element=this.submenuObj[i];
		 	else this.submenuObj[i].style.display='none';
		}
	}
	if (this.saveCookie) this._save();
	return true;
};

ulmenu.prototype.close=function() {
	var element=(typeof(arguments[0])=="object"?arguments[0]:document.getElementById(arguments[0]));
	while (element.nodeName.toUpperCase()!='UL' && element.nextSibling!=null) element=element.nextSibling;
	element.style.display="none";
	this._save();
	return true;
};

ulmenu.prototype.closeAll=function() {
	var element=(typeof(arguments[0])=="object"?arguments[0]:document.getElementById(arguments[0]));
	for (var i=1; i<this.submenuObj.length; i++) this.submenuObj[i].style.display='none';
	this._save();
	return true;
};

ulmenu.prototype._save=function() {
	var cookie=this.id+"=";
	for (var i=0;i<this.submenuObj.length;i++) cookie+=(this.submenuObj[i].style.display=="none"?"C":"O");
	document.cookie=cookie;
	return true;
};

