function Collection(){this.items=[]}Collection.prototype={add:function($){this.items.push($)},clear:function(){this.items=[]},getCount:function(){return this.items.length},each:function($){for(var _=0;_<this.getCount();_++)$(this.items[_])},indexOf:function(_){var $=-1;for(i=0;i<this.getCount();i++)if(_==this.items[i]){$=i;break}return $},find:function(_){var $=null;for(var A=0;A<this.getCount();A++)if(_(this.items[A])==true){$=this.items[A];break}return $},findAll:function(_){var $=new Collection();this.each(function(A){if(_(A)==true)$.add(A)});return $}};function TabPage(A,_){this.trigger=$(A);this.sheet=$(_)}function TabControl(){this.styleName=null;this.tabPages=new Collection();this.currentTabPage=null;this.triggerType="click";this.defaultPage=0;this.enableSlide=false;this.slideInterval=3000;this.onChanging=new Collection();this.onChanging.add(this.defaultChangingHandler);this.onInit=new Collection();this.onInit.add(this.defaultInitHandler);this.onInit.add(this.autoSlideInitHandler);this.onAdding=new Collection();this.onAdding.add(this.defaultAddingHandler);this._autoSlideEv=null}TabControl.prototype={add:function($){this.tabPages.add($);var _=function(_){_($)};this.onAdding.each(_)},addRange:function(_,$){if(_.length==0||_.length!=$.length)return;for(var B=0;B<_.length;B++){var A=new TabPage(_[B],$[B]);this.add(A)}},defaultAddingHandler:function($){},init:function(){var $=this,_=function(_){_($)};if(this.tabPages.getCount()==0)return;if(this.currentTabPage==null)this.currentTabPage=this.tabPages.items[this.defaultPage];this.onInit.each(_)},defaultInitHandler:function($){var _=function(_){V.addListener(_.trigger,$.triggerType,$.selectHanlder,$);O.hide(_.sheet)};$.tabPages.each(_);$.select($.defaultPage)},autoSlideInitHandler:function(_){if(!_.enableSlide)return;var $=null,A=function(){$=setTimeout(function(){_.autoSlideHandler(_)},300)},B=function(){clearTimeout($);clearInterval(_._autoSlideEv)},C=function($){V.addListener($.trigger,_.triggerType,B,_);V.addListener($.sheet,"mouseover",B,_);V.addListener([$.trigger,$.sheet],"mouseout",A,_)};_.tabPages.each(C);_.autoSlideHandler(_)},autoSlideHandler:function(_){var $=_.tabPages.getCount();clearInterval(_._autoSlideEv);_._autoSlideEv=setInterval(function(){var A=_.indexOf(_.currentTabPage.trigger);if(A==-1)return;A++;if(A>=$)A=0;_.select(A)},_.slideInterval)},selectHanlder:function($,_){var A=this.indexOf(_);this.select(A)},select:function(B){if(B<0||B>=this.tabPages.getCount())return;var _=this,$=this.tabPages.items[B],A=function(A){A(_.currentTabPage,$)};this.onChanging.each(A);this.currentTabPage=$},defaultChangingHandler:function($,_){if($.sheet)O.hide($.sheet);if(_.sheet)O.show(_.sheet);O.removeClass($.trigger,"current");O.addClass(_.trigger,"current")},indexOf:function($){var _=-1,B=function(_){return _.trigger==$},A=this.tabPages.find(B);if(A!=null)_=this.tabPages.indexOf(A);return _}}