/**
 * LBi Javascript 
 *
 * @module    tabs
 * @version   1.00.091005
 * @requires  jQuery
 * @author    LBi Lost Boys
 */
LBi.Tabs=(function($){var j=function(a){this.settings=$.extend({},j.Defaults,a);var b=this.settings.relations||new LBi.LinkRelations();var c=new RegExp('(^|\\s)'+this.settings.tabRelation+'(\\s|$)');b.subscribe(c,this.handleClick.bind(this));if(this.settings.ajaxEnabled){LBi.subscribe('DOMNodeInserted',this.nodeInserted.bind(this))}this.setup(document);var d=window.location.hash;if(d){this.activateHash(d)}};j.prototype={constructor:j,setup:function(a){var b=this.settings;var c=$('li.'+b.activeClass+' a[rel='+b.tabRelation+']',a);for(var i=0;i<c.length;i++){this.activate(c[i])}},handleClick:function(e){this.activate(e.target);e.preventDefault()},nodeInserted:function(e){this.setup(e.target)},activate:function(a){var b=$(a).closest('ul');var c=b.find('a');var d=this.settings.activeClass;for(var i=0;i<c.length;i++){var e=c[i];var f=e.parentNode;var g=e.hash;var h=$(g)[0];if(!h){LBi.log('tab "'+g+'" was not found!');return}if(e===a){$(f).addClass(d);this.show(h)}else{$(f).removeClass(d);this.hide(h)}}},activateHash:function(a){var b=$('a[rel='+this.settings.tabRelation+']').filter('[href$='+a+']');if(b.length){this.activate(b[0])}},show:function(a){$(a).show()},hide:function(a){$(a).hide()}};j.Defaults={activeClass:'active',tabRelation:'tab',hashEnabled:true,ajaxEnabled:true,relations:null};return j})(jQuery);