!function($,window,undefined){var pluginName='tabsmart',document=window.document,defaults={ajaxUpdate:null,control:{next:'.tabs-next',prev:'.tabs-previous'},selector:{tabs:'.tabs-container ul.tabs li',contents:'.tabs-content div.tab-content'},mouseEnable:true,touchEnable:true};var TabSmart=function(element,options){this.element=$(element);this.options=options;this.tabs=$(this.options.selector.tabs,this.element);this.tabs_width=(function(tabs){var tabs_width=0;for(var i=0;i0)?that.next(event):that.prev(event);return false;});},visPosition:function(){return{left:-this.tabs_holder.position().left,right:this.tabs_container.width()+2-this.tabs_holder.position().left};},visTabs:function(){var retur=[];var vleft=0-parseInt(this.tabs_holder.position().left);var vright=this.tabs_container.width() -parseInt(this.tabs_holder.position().left);for(var i=0;ivright))&&retur.push(this.tabs[i]);} return $(retur);},_enabled:function(e){return e.removeClass('disabled');},_disabled:function(e){return e.addClass('disabled');},next:function(e){this.tabs_holder.stop(true,true);var lastvis=this.visTabs().last(),next=lastvis.next();if(next.length==0&&(lastvis.position().left+lastvis.width())>this.visPosition().right){next=lastvis;} next.length&&this.slidingTo(-next.position().left-next.width()+2+this.tabs_container.width());e.preventDefault();},prev:function(e){this.tabs_holder.stop(true,true);var firstvis=this.visTabs().first(),prev=firstvis.prev();if(prev.length==0&&(firstvis.position().left+firstvis.width())0){toleft=0;} if(toleft>this.tabs_holder.position().left){this.setState('prev');}else{this.setState('next');} Math.abs(toleft)<0.9999?this._disabled(prev):this._enabled(prev);Math.abs(toleft-(this.tabs_container.width()+2-this.tabs_width))<0.9999?this._disabled(next):this._enabled(next);this.tabs_holder.animate({left:toleft},{duration:duration});return 1;},setupTabEvent:function(){var tabs=this.tabs;var contents=this.contents;var tabs_holder=this.tabs_holder;var that=this;this.tabs_holder.stop(true,true);$(this.tabs).click(function(e){if($(this).hasClass('selected')){return false;} $(tabs).removeClass('selected');$(this).addClass('selected');var tab_index=tabs.index(this);if(contents[tab_index]){var ccurrent=$(contents[tab_index]);contents.removeClass('selected');ccurrent.addClass('selected');if(that.options.ajaxUpdate){(that.options.ajaxUpdate).apply(ccurrent,[ccurrent,that.options]);}} try{if(that.tabs_wrap.width()that.visPosition().right))){makeVisible.push(tabcurr[0]);flag=flag|curr_flag;} if(flag){var toleft=null;var totalwidth=tabcurr.width()+tabnext.width()+tabprev.width();var visiblewidth=(that.visPosition().right-that.visPosition().left);if(totalwidth<=visiblewidth){if(flag&next_flag){var tonext=-tabnext.position().left-tabnext.width()+(that.visPosition().right-that.visPosition().left);that.slidingTo(tonext);that.setState();}else if(flag&prev_flag){var toprev=-tabprev.position().left;that.slidingTo(toprev);that.setState();}else{}}else if(tabcurr.width()<=(visiblewidth)){if(tabcurr.index()!=0&&tabcurr.index()!=that.tabs.length-1){var toleft=parseFloat((that.tabs_container.width()-tabcurr.width())/2)-tabcurr.position().left;that.slidingTo(toleft);} if(tabcurr.index()==that.tabs.length-1){var toleft=-tabcurr.position().left-tabcurr.width()+(that.visPosition().right-that.visPosition().left);that.slidingTo(toleft);} if(tabcurr.index()==0){var toleft=-tabcurr.position().left;that.slidingTo(toleft);} that.setState();}else{}}else{if(tabcurr.index()==0){var toleft=-tabcurr.position().left;that.slidingTo(toleft);that.setState();} if(tabcurr.index()==that.tabs.length-1){var toleft=-tabcurr.position().left-tabcurr.width()+(that.visPosition().right-that.visPosition().left);that.slidingTo(toleft);that.setState();}} that.setState();}}catch(e){}});},resize:function(e){this.tabs_holder.stop(true,true);this.tabs_width=(function(tabs){var tabs_width=0;for(var i=0;i1){this.tabs_wrap.addClass('tabs_nav');}else{this.tabs_wrap.removeClass('tabs_nav');} if(typeof this.state.container_width=='undefined'){this.setState();}else{this.init();}}};$.fn[pluginName]=function(option){return this.each(function(){var $this=$(this),data=$this.data('plugin_'+pluginName);var options=typeof option=='object'?$.extend({},defaults,option):defaults;if(!data) $this.data('plugin_'+pluginName,(data=new TabSmart(this,options)));if(typeof option=='number') data.to(option);else if(typeof option=='string') data[option]();else if(options.interval) data.cycle();});};$.fn[pluginName].Constructor=TabSmart;}(jQuery,window);