/**
 * LBi Tabs module
 *
 * @module    tabs
 * @version   1.10.100216
 * @requires  jQuery, LBi
 * @author    LBi Lost Boys
 */
LBi.Tabs=(function($){var l=LBi.Class.extend(LBi.DOMListener,function(a){this.settings=$.extend({},l.Defaults,a);var b=this.settings;var c=b.relations||new LBi.LinkRelations();var d=new RegExp('(^|\\s)'+b.tabRelation+'(\\s|$)');c.subscribe(d,this.handleClick.bind(this));this.setup(document);if(b.hashEnabled){this.pollHash()}},{setup:function(a){var b=this.settings;var c=$(b.tabSelector+'.'+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){if(this.settings.ajaxEnabled){this.setup(e.target)}},nodeRemoved:function(e){},activate:function(a){var b=this.settings;var c=$(a).closest(b.menuSelector);var d=c.find('a[rel='+b.tabRelation+']');var e=this.settings.activeClass;for(var i=0;i<d.length;i++){var f=d[i];var g=$(f).closest(b.tabSelector);if(f===a){g.addClass(e)}else{g.removeClass(e)}if(b.hashEnabled){var h=f.hash;var j=$(h)[0];if(!j){LBi.log('tab "'+h+'" was not found!');return}var k=(f===a)?true:false;b.animation.run(j,k,{duration:b.animationTime,complete:function(){LBi.Dispatcher.fire(LBi.Event.LAYOUT_CHANGED,j)}})}}},pollHash:function(){var a=window.location.hash;if(a){this.activateHash(a)}},activateHash:function(a){var b=$('a[rel='+this.settings.tabRelation+']').filter('[href$='+a+']');if(b.length){this.activate(b[0])}}});l.Defaults={menuSelector:'ul',tabSelector:'li',activeClass:'active',tabRelation:'tab',hashEnabled:true,ajaxEnabled:true,animation:LBi.Animation.TOGGLE,animationTime:0,relations:null};return l})(jQuery);

