var SimpleTabs=new Class({options:{show:0,entrySelector:".tab-entry",classWrapper:"tab-wrapper",classMenu:"tab-menu",classContainer:"tab-container",className:"ShowAll",onShow:function(a,b,c){a.addClass("tab-selected");b.setStyle("display","")},onHide:function(a,b,c){a.removeClass("tab-selected");b.setStyle("display","none")},onRequest:function(a,b,c){b.addClass("tab-ajax-loading")},onComplete:function(a,b,c){b.removeClass("tab-ajax-loading")},onFailure:function(a,b,c){b.removeClass("tab-ajax-loading")},getContent:null},initialize:function(b,a){this.setOptions(a);this.element=$(b);this.selected=null;this.build()},build:function(){this.entries=[];this.menu=new Element("ul",{"class":this.options.classMenu});this.wrapper=new Element("div",{"class":this.options.classWrapper});this.element.getElements(this.options.entrySelector).each(function(a){var b=a.href||(this.options.getContent?this.options.getContent.call(this,a):a.getNext());this.addTab(a.innerHTML,a.title||a.innerHTML,b)},this);this.element.empty().adopt(this.menu).adopt(this.wrapper);if(this.entries.length){this.select(this.options.show)}},addTab:function(e,d,c){if($type(c)=="string"&&!$(c)){var b=c}var a=$(c)||new Element("div");this.entries.push({container:a.setStyle("display","none").addClass(this.options.classContainer).inject(this.wrapper),toggle:new Element("li").adopt(new Element("a",{href:"#",title:d,events:{click:this.onClick.bindWithEvent(this,[this.entries.length])}}).setHTML(e)).inject(this.menu),url:b||null});return this},onClick:function(a,b){a.stop();this.select(b)},select:function(a){if(this.selected===a||!this.entries[a]){return this}var b=this.entries[a];var d=[b.toggle,b.container,a];if(this.selected!==null){var c=this.entries[this.selected];if(this.ajax&&this.ajax.running){this.ajax.cancel()}d.concat([c.toggle,c.container,this.selected]);this.fireEvent("onHide",[c.toggle,c.container,this.selected])}this.fireEvent("onShow",d);if(b.url&&!b.loaded){this.ajax=new Ajax(b.url,$merge({onRequest:this.fireEvent.pass(["onRequest",d],this),onFailure:this.fireEvent.pass(["onFailure",d],this),onComplete:function(e){b.loaded=true;b.container.empty().setHTML(e);this.fireEvent("onComplete",d)}.bind(this)},this.options.ajaxOptions)).request()}this.selected=a;return this}});SimpleTabs.implement(new Events,new Options);