var TabNavigation=new Class({initialize:function(a){this.sNavId=a.sNavId;this.sActiveClassName=a.sActiveClassName||"";this.sDisplayNoneClassName=a.sDisplayNoneClassName;this.bAddClassToParentElement=a.bAddClassToParentElement||0;this.aCustomElements=a.aCustomElements;this.prefix=a.prefix||"";this.aItems=[];this.oActive},init:function(){this.getItemsFromAnchors();this.getItemsFromCustomElements();if(this.aItems.length==0)return;this.addEvent();this.getActive();this.run()},run:function(){this.aItems.each(function(a,b){if(a==this.oActive){this._show(a.target);if(this.sActiveClassName!="")a.elWithClass.addClass(this.sActiveClassName);if(this.prefix!="")location.replace("#"+a.prefix+a.target.id)}else{this._hide(a.target);if(this.sActiveClassName!="")a.elWithClass.removeClass(this.sActiveClassName)}},this)},addEvent:function(){var a=this;this.aItems.each(function(b,c){b.el.addEvent("click",function(c){a.handleEvent(c,b)})})},handleEvent:function(a,b){a.stop();this.oActive=b;this.run()},getItemsFromAnchors:function(){$(this.sNavId).getElements("a").each(function(a,b){var c=a.hash.substring(1);var d=$(c);if(d){this.aItems.push({el:a,target:d,prefix:this.prefix,elWithClass:this.bAddClassToParentElement?a.getParent():a})}},this)},getItemsFromCustomElements:function(){if(!this.aCustomElements||this.aCustomElements.length==0)return;this.aCustomElements.each(function(a,b){this.aItems.push({el:$(a.el),target:$(a.target),prefix:a.prefix?a.prefix:"",elWithClass:a.elWidthClass?a.elWidthClass:$(a.el)})},this)},getActive:function(){var a=window.location.hash.substring(1);if(a!=""){for(var b=0;b<this.aItems.length;b++){if(this.aItems[b].prefix+this.aItems[b].target.id==a){this.oActive=this.aItems[b];return}}}if(this.sActiveClassName!=""){for(var b=0;b<this.aItems.length;b++){if(this.aItems[b].elWithClass.hasClass(this.sActiveClassName)){this.oActive=this.aItems[b];break}}}else{this.oActive=this.aItems[0]}},_show:function(a){if(!this.sDisplayNoneClassName)a.style.display="block";else a.removeClass(this.sDisplayNoneClassName)},_hide:function(a){if(!this.sDisplayNoneClassName)a.style.display="none";else a.addClass(this.sDisplayNoneClassName)}})
