Function.prototype.bindObject=function(b){if(typeof(b)==null){return this}var a=this;return function(){return a.apply(b)}};var HorizontalMenu=function(c,b,d){this.items=[];this.container=document.getElementById(c);if(!this.container){throw ("Cannot find menu container object in DOM! (debug: menuContainer = "+c+")")}this.submenuClass=b||"submenu";this.hoverClass=d||"HM-hover";this.active=false;this.activeItem=null;
this.inTimeOut=null;this.outTimeOut=null;for(var a=0;a<this.container.childNodes.length;a++){if("LI"==this.container.childNodes[a].tagName){this.addItem(this.container.childNodes[a])}}};HorizontalMenu.prototype.addItem=function(b){var a=new HorizontalMenu.Item(b,this);this.items.push(a)};HorizontalMenu.Item=function(a,b){this.menu=b;this.element=a;this.hasSubmenu=(this.element.className.indexOf(this.menu.submenuClass)!=-1?true:false);
this.element.onmouseover=function(){if(this.menu.active){this.mouseOver()}else{this.menu.inTimeOut=setTimeout(this.mouseOver.bindObject(this),100)}}.bindObject(this);this.element.onmouseout=function(){if(!this.hasSubmenu){this.mouseOut()}else{this.menu.outTimeOut=setTimeout(this.mouseOut.bindObject(this),500)}clearTimeout(this.menu.inTimeOut)}.bindObject(this)};HorizontalMenu.Item.prototype.mouseOver=function(){if(this.menu.active&&(this.menu.activeItem==this)){clearTimeout(this.menu.outTimeOut);
return}for(i=0;i<this.menu.items.length;i++){this.menu.items[i].hide()}this.show();this.menu.active=true;this.menu.activeItem=this;clearTimeout(this.menu.outTimeOut)};HorizontalMenu.Item.prototype.mouseOut=function(){this.hide();this.menu.active=false;this.menu.activeItem=null};HorizontalMenu.Item.prototype.show=function(){if(this.element.className.indexOf(this.menu.hoverClass)!=-1){return}var b=[];
var a=this.element.className.split(" ");for(i=0;i<a.length;i++){if(!a[i].length){continue}b.push(a[i])}b.push(this.menu.hoverClass);this.element.className=b.join(" ")};HorizontalMenu.Item.prototype.hide=function(){if(this.element.className.indexOf(this.menu.hoverClass)==-1){return}var b=[];var a=this.element.className.split(" ");for(i=0;i<a.length;i++){if(!a[i].length||a[i]==this.menu.hoverClass){continue
}b.push(a[i])}this.element.className=b.join(" ")};
