/* 		Jquery Tabs - http://ui.jquery.com
*   		Required for 
*		JS Activation: $('#example ul').tabs()
*
-----------------------------------------------------*/
(function($){$.ui=$.ui||{};$.fn.tabs=function(initial,options){if(initial&&initial.constructor==Object){options=initial;initial=null}options=options||{};initial=initial&&initial.constructor==Number&&--initial||0;return this.each(function(){new $.ui.tabs(this,$.extend(options,{initial:initial}))})};$.each(['Add','Remove','Enable','Disable','Click','Load','Href'],function(i,method){$.fn['tabs'+method]=function(){var args=arguments;return this.each(function(){var instance=$.ui.tabs.getInstance(this);instance[method.toLowerCase()].apply(instance,args)})}});$.fn.tabsSelected=function(){var selected=-1;if(this[0]){var instance=$.ui.tabs.getInstance(this[0]),$lis=$('li',this);selected=$lis.index($lis.filter('.'+instance.options.selectedClass)[0])}return selected>=0?++selected:-1};$.ui.tabs=function(el,options){this.source=el;this.options=$.extend({initial:0,event:'click',disabled:[],cookie:null,unselected:false,unselect:options.unselected?true:false,spinner:'Loading&#8230;',cache:false,idPrefix:'tab-',fxSpeed:'normal',add:function(){},remove:function(){},enable:function(){},disable:function(){},click:function(){},hide:function(){},show:function(){},load:function(){},tabTemplate:'<li><a href="#{href}"><span>#{text}</span></a></li>',panelTemplate:'<div></div>',navClass:'ui-tabs-nav',selectedClass:'ui-tabs-selected',unselectClass:'ui-tabs-unselect',disabledClass:'ui-tabs-disabled',panelClass:'ui-tabs-panel',hideClass:'ui-tabs-hide',loadingClass:'ui-tabs-loading'},options);this.options.event+='.ui-tabs';this.options.cookie=$.cookie&&$.cookie.constructor==Function&&this.options.cookie;this.uuid='ui_tabs_'+$.ui.tabs.prototype.count++;$.ui.tabs.instances[this.uuid]=this;$.data(el,'uiTabsUUID',this.uuid);this.tabify(true)};$.ui.tabs.instances={};$.ui.tabs.getInstance=function(el){return $.ui.tabs.instances[$.data(el,'uiTabsUUID')]};$.extend($.ui.tabs.prototype,{count:0,tabId:function(a,i){return a.title?a.title.replace(/\s/g,'_'):this.options.idPrefix+this.count+'-'+(i+1)},tabify:function(init){this.$tabs=$('a:first-child',this.source);this.$panels=$([]);var self=this,o=this.options;this.$tabs.each(function(i,a){if(a.hash&&a.hash.replace('#','')){self.$panels=self.$panels.add(a.hash)}else{$.data(a,'href',a.href);var id=self.tabId(a,i);a.href='#'+id;self.$panels=self.$panels.add($('#'+id)[0]||$(o.panelTemplate).attr('id',id).addClass(o.panelClass).insertAfter(self.$panels[i-1]||self.source))}});if(init){this.$tabs.each(function(i,a){if(location.hash){if(a.hash==location.hash){o.initial=i;if($.browser.msie||$.browser.opera){var $toShow=$(location.hash),toShowId=$toShow.attr('id');$toShow.attr('id','');setTimeout(function(){$toShow.attr('id',toShowId)},500)}scrollTo(0,0);return false}}else if(o.cookie){o.initial=parseInt($.cookie(self.uuid))||0;return false}else if($(a).parent('li').is('.'+o.selectedClass)){o.initial=i;return false}});$(this.source).is('.'+o.navClass)||$(this.source).addClass(o.navClass);this.$panels.each(function(){var $this=$(this);$this.is('.'+o.panelClass)||$this.addClass(o.panelClass)});var $lis=$('li',this.source);this.$panels.addClass(o.hideClass);$lis.removeClass(o.selectedClass);if(!o.unselected){this.$panels.slice(o.initial,o.initial+1).show();$lis.slice(o.initial,o.initial+1).addClass(o.selectedClass)}var href=this.$tabs[o.initial]&&$.data(this.$tabs[o.initial],'href');if(href){this.load(o.initial+1,href)}for(var i=0,position;position=o.disabled[i];i++){this.disable(position)}}var showAnim={},showSpeed=o.fxShowSpeed||o.fxSpeed,hideAnim={},hideSpeed=o.fxHideSpeed||o.fxSpeed;if(o.fxSlide||o.fxFade){if(o.fxSlide){showAnim['height']='show';hideAnim['height']='hide'}if(o.fxFade){showAnim['opacity']='show';hideAnim['opacity']='hide'}}else{if(o.fxShow){showAnim=o.fxShow}else{showAnim['min-width']=0;showSpeed=1}if(o.fxHide){hideAnim=o.fxHide}else{hideAnim['min-width']=0;hideSpeed=1}}var resetCSS={display:'',overflow:'',height:''};if(!$.browser.msie){resetCSS['opacity']=''}function hideTab(clicked,$hide,$show){$hide.animate(hideAnim,hideSpeed,function(){$hide.addClass(o.hideClass).css(resetCSS);if($.browser.msie&&hideAnim['opacity']){$hide[0].style.filter=''}o.hide(clicked,$hide[0],$show&&$show[0]||null);if($show){showTab(clicked,$show,$hide)}})}function showTab(clicked,$show,$hide){if(!(o.fxSlide||o.fxFade||o.fxShow)){$show.css('display','block')}$show.animate(showAnim,showSpeed,function(){$show.removeClass(o.hideClass).css(resetCSS);if($.browser.msie&&showAnim['opacity']){$show[0].style.filter=''}o.show(clicked,$show[0],$hide&&$hide[0]||null)})}function switchTab(clicked,$hide,$show){$(clicked).parents('li:eq(0)').addClass(o.selectedClass).siblings().removeClass(o.selectedClass);hideTab(clicked,$hide,$show)}this.$tabs.unbind(o.event).bind(o.event,function(){var $li=$(this).parent('li'),$hide=self.$panels.filter(':visible'),$show=$(this.hash);if(($li.is('.'+o.selectedClass)&&!o.unselect)||$li.is('.'+o.disabledClass)||o.click(this,$show[0],$hide[0])===false){this.blur();return false}if(o.cookie){$.cookie(self.uuid,self.$tabs.index(this),o.cookie)}if(o.unselect){if($li.is('.'+o.selectedClass)){$li.removeClass(o.selectedClass);self.$panels.stop();hideTab(this,$hide);this.blur();return false}else if(!$hide.length){$li.addClass(o.selectedClass).addClass(o.unselectClass);self.$panels.stop();showTab(this,$show);this.blur();return false}}self.$panels.stop();if($show.length){if($.data(this,'href')){var a=this;self.load(self.$tabs.index(this)+1,$.data(this,'href'),function(){switchTab(a,$hide,$show)})}else{switchTab(this,$hide,$show)}}else{throw'jQuery UI Tabs: Mismatching fragment identifier.';}this.blur();return false})},add:function(url,text,position){if(url&&text){var o=this.options;position=position||this.$tabs.length;var $li=$(o.tabTemplate.replace(/#\{href\}/,url).replace(/#\{text\}/,text));if(url.indexOf('#')==0){var id=url.replace('#','')}else{var id=this.tabId($('a:first-child',$li)[0],position)}var $panel=$('#'+id);$panel=$panel.length&&$panel||$(o.panelTemplate).attr('id',id).addClass(o.panelClass).addClass(o.hideClass);if(position>=this.$tabs.length){$li.appendTo(this.source);$panel.appendTo(this.source.parentNode)}else{$li.insertBefore(this.$tabs.slice(position-1,position).parent('li'));$panel.insertBefore(this.$panels[position-1])}this.tabify();if(this.$tabs.length==1){$li.addClass(o.selectedClass);$panel.removeClass(o.hideClass);var href=$.data(this.$tabs[0],'href');if(href){this.load(position+1,href)}}o.add(this.$tabs[position],this.$panels[position])}else{throw'jQuery UI Tabs: Not enough arguments to add tab.';}},remove:function(position){if(position&&position.constructor==Number){var $li=this.$tabs.slice(position-1,position).parent('li').remove(),$panel=this.$panels.slice(position-1,position).remove(),o=this.options;if($li.is('.'+o.selectedClass)&&this.$tabs.length>1){this.click(position+(position<this.$tabs.length?1:-1))}this.tabify();o.remove($li.end()[0],$panel[0])}},enable:function(position){var $li=this.$tabs.slice(position-1,position).parent('li'),o=this.options;$li.removeClass(o.disabledClass);if($.browser.safari){$li.css('display','inline-block');setTimeout(function(){$li.css('display','block')},0)}o.enable(this.$tabs[position-1],this.$panels[position-1])},disable:function(position){var o=this.options;this.$tabs.slice(position-1,position).parent('li').addClass(o.disabledClass);o.disable(this.$tabs[position-1],this.$panels[position-1])},click:function(position){this.$tabs.slice(position-1,position).trigger(this.options.event)},load:function(position,url,callback){var self=this,o=this.options,$a=this.$tabs.slice(position-1,position).addClass(o.loadingClass),a=$a[0];$span=$('span',a),text=$span.html();if(url&&url.constructor==Function){callback=url;url=null}if(url){$.data(a,'href',url)}else{url=$.data(a,'href')}if(o.spinner){$span.html('<em>'+o.spinner+'</em>')}setTimeout(function(){$(a.hash).load(url,function(){if(o.spinner){$span.html(text)}$a.removeClass(o.loadingClass);if(callback&&callback.constructor==Function){callback()}if(o.cache){$.removeData(a,'href')}o.load(self.$tabs[position-1],self.$panels[position-1])})},0)},href:function(position,href){$.data(this.$tabs.slice(position-1,position)[0],'href',href)}})})(jQuery);