function Menu(a){this.instance=a;this.items=new Array();this.id=null;this.interval=null;this.timeout=500;this.isOpen=false;this.operation="onmouseover";this.classes=new Array()}Menu.prototype.init=function(){this.build()};Menu.prototype.addClass=function(c,a,b){this.classes[this.classes.length]=new MenuClass(c,a,b)};Menu.prototype.getClass=function(b){for(var a=0;a<this.classes.length;a++){if(b==this.classes[a].id){return this.classes[a]}}};Menu.prototype.add=function(h,a,c,b,e,g){if(a==null){this.items[this.items.length]=new MenuItem(h,this,c,b,e,g,this.instance);return true}else{for(var d=0;d<this.items.length;d++){var f=this.items[d];if(f.add(h,a,c,b,e,g,this.instance)){f.hasChildren=true;return true}}}return false};Menu.prototype.onRelease=function(a){this.isOpen=!this.isOpen;if(this.isOpen){this.open(a)}else{this.close()}};Menu.prototype.onRightClick=function(a){this.isOpen=true;this.open(a)};Menu.prototype.onRollOver=function(a){clearTimeout(this.interval);if(this.isOpen||(this.operation=="onmouseover"&&!this.isOpen)){this.open(a)}};Menu.prototype.onRollOut=function(b){var a=this;this.interval=setTimeout(function(){a.close()},this.timeout)};Menu.prototype.open=function(b){for(var a=0;a<this.items.length;a++){if(this.items[a].open(b)){return}}};Menu.prototype.close=function(){for(var a=0;a<this.items.length;a++){this.items[a].close()}this.isOpen=false};Menu.prototype.closeChildrenExcept=function(b){for(var a=0;a<this.items.length;a++){if(this.items[a].id!=b){this.items[a].close()}}};Menu.prototype.build=function(){for(var a=0;a<this.items.length;a++){this.items[a].build()}};Menu.prototype.buildChildren=function(f){if(f==null){var d=this.instance+"_Root_Container"}else{var c=this.getItem(f);var d=c.container}var e=document.createElement("div");e.id=d;e.className="menuContainer";document.body.appendChild(e);var b="<ul>";for(var a=0;a<this.items.length;a++){if(this.items[a].parentId==f){b+=this.items[a].getHtml();if(this.items[a].hasChildren){this.buildChildren(this.items[a].id)}}}b+="</ul>";e.innerHTML=b};function MenuClass(c,a,b){this.id=c;this.name=a;this.direction=b}function MenuItem(g,b,d,c,e,f,a){this.id=g;this.parent=b;this.instance=a;this.menuClass=this.getClass(f);this.icon=e;this.label=d;this.url=c;this.container=this.instance+"_"+this.id+"_Container";this.isOpen=false;this.items=new Array();this.hasChildren=false;this.interval=null;this.isDisabled=false}MenuItem.prototype.getClass=function(classId){var menu=eval(this.instance);var classObject=menu.getClass(classId);return classObject};MenuItem.prototype.add=function(b,j,g,a,f,e,h){if(j==this.id){this.items[this.items.length]=new MenuItem(b,this,g,a,f,e,h);return true}else{for(var d=0;d<this.items.length;d++){var c=this.items[d];if(c.add(b,j,g,a,f,e,h)){c.hasChildren=true;return true}}return false}return false};MenuItem.prototype.build=function(){if(this.hasChildren){var c=null;if(!document.getElementById(this.container)){c=document.createElement("div");c.id=this.container;c.className=this.menuClass.name;document.body.appendChild(c)}else{c=document.getElementById(this.container)}var b="<ul>";for(var a=0;a<this.items.length;a++){b+=this.items[a].getHtml();this.items[a].build()}b+="</ul>";c.innerHTML=b}};MenuItem.prototype.closeChildrenExcept=function(b){for(var a=0;a<this.items.length;a++){if(this.items[a].id!=b){this.items[a].close()}}};MenuItem.prototype.open=function(b){if(b==this.id){this.rollOver();this.display(b);return true}else{for(var a=0;a<this.items.length;a++){if(this.items[a].open(b)){return true}}return false}};MenuItem.prototype.rollOver=function(){var a=document.getElementById(this.id);if(this.parent.rollOver){this.parent.rollOver()}a=null};MenuItem.prototype.display=function(){this.parent.closeChildrenExcept(this.id);if(this.hasChildren){var b=document.getElementById(this.id);var a=this.getPosition(b);var c=document.getElementById(this.container);c.style.display="block";c.style.position="absolute";if(this.menuClass.direction=="down"){c.style.left=a.x+"px";c.style.top=a.y+b.offsetHeight+"px"}else{if(this.menuClass.direction=="left"){c.style.left=a.x+b.offsetWidth+"px";c.style.top=a.y+"px"}else{if(this.menuClass.direction=="context"){c.style.left=Mouse._x-3+"px";c.style.top=Mouse._y-3+"px"}}}c=null;b=null}};MenuItem.prototype.getPosition=function(a){var d=0;var c=0;var b=a;while(b.offsetParent){d+=b.offsetTop;c+=b.offsetLeft;b=b.offsetParent}d+=b.offsetTop;c+=b.offsetLeft;return{x:c,y:d}};MenuItem.prototype.close=function(){var b=document.getElementById(this.id);b=null;if(this.hasChildren){var c=document.getElementById(this.container);c.style.display="none";c=null}if(this.hasChildren){for(var a=0;a<this.items.length;a++){this.items[a].close()}}};MenuItem.prototype.getHtml=function(){var a="<li>";a+='<a href="'+this.url+'" onmouseover="'+this.instance+".onRollOver('"+this.id+'\');"  onmouseout="'+this.instance+".onRollOut('"+this.id+'\');"  id="'+this.id+'">';a+='<span class="capLeft"></span>';a+='<span class="label">'+this.label+"</span>";if(this.hasChildren){a+='<span class="subMenuIcon"></span>'}a+='<span class="capRight"></span>';a+="</a>";a+="</li>";return a};

