jQuery.fn.initBogoTabs=function(E,G){G=jQuery.extend({activeLabelClass:"bogoTabsActiveLabel",inactiveLabelClass:"bogoTabsInactiveLabel",debuggering:false},G?G:{});var C=null;function A(L){if(C){C.append("BogoTabs: "+L+"<br/>")}}if(G.debuggering){this.after("<div id='bogoTabsDebugDiv'>BogoTabs debugging area<br/></div>");C=jQuery("#bogoTabsDebugDiv");C.css("border","1px dashed #000");A("debugging activated.")}function D(){var L=this;L.buttons=[];L.funcs={};L.tabs={};L.currentTab=null}var I=new D();I.switchTabs=function(M){if(M[0]!="#"){M="#"+M}var P=I.tabs[M];if(!P){throw new Error("bogotabs: internal error: could not find tab '"+M+"'.")}A("switchTabs("+M+")");if(I.currentTab){var R=I.currentTab.attr("id");if("#"+R==M){A("Skipping tab activation: tab '"+M+"' already active.");return false}I.currentTab.hide();var Q=I.funcs["#"+R];if(Q.onhide){A("Calling onhide handler for tab "+R+".");(Q.onhide)(I.currentTab)}}for(var N in I.buttons){var O=I.buttons[N];if(!O){continue}if(N==M){O.removeClass(G.inactiveLabelClass).addClass(G.activeLabelClass)}else{O.removeClass(G.activeLabelClass).addClass(G.inactiveLabelClass)}}var L=I.funcs[M];if(L.onselect){(L.onselect)(P)}P.show();if(L.onshow){A("Calling onshow handler for tab "+M+".");(L.onshow)(P)}I.currentTab=P;return false};var K=null;for(var J in E){if(!K){K=J}var B=jQuery(J);I.tabs[J]=B;var H=E[J];if(H["selected"]){K=J}B.hide();this.append(B);I.funcs[J]={"onselect":H.onselect,"onshow":H.onshow,"onhide":H.onhide};B[0].activateTab=function(){A(J+": activateTab(): "+this.id);return I.switchTabs(this.id)};if(!H["label"]){continue}var F=jQuery("<span/>");I.buttons[J]=F;F[0].tabElem=B[0];F.html(H["label"]?H["label"]:J).css("cursor","pointer").click(function(){return this.tabElem.activateTab()});this.before(F)}I.switchTabs(K);return this}