/* Tabs 3 - New Wave Tabs http://stilbuero.de/jquery/tabs_3/ */
(function($){
$.ui=$.ui||{};
$.fn.tabs=function(_2,_3){
if(_2&&_2.constructor==Object){
_3=_2;
_2=null;
}
_3=_3||{};
_2=_2&&_2.constructor==Number&&--_2||0;
return this.each(function(){
new $.ui.tabs(this,$.extend(_3,{initial:_2}));
});
};
$.each(["Add","Remove","Enable","Disable","Click","Load","Href"],function(i,_5){
$.fn["tabs"+_5]=function(){
var _6=arguments;
return this.each(function(){
var _7=$.ui.tabs.getInstance(this);
_7[_5.toLowerCase()].apply(_7,_6);
});
};
});
$.fn.tabsSelected=function(){
var _8=-1;
if(this[0]){
var _9=$.ui.tabs.getInstance(this[0]),$lis=$("li",this);
_8=$lis.index($lis.filter("."+_9.options.selectedClass)[0]);
}
return _8>=0?++_8:-1;
};
$.ui.tabs=function(el,_b){
this.source=el;
this.options=$.extend({initial:0,event:"click",disabled:[],cookie:null,unselected:false,unselect:_b.unselected?true:false,spinner:"Loading&#8230;",cache:false,idPrefix:"ui-tabs-",ajaxOptions:{},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"},_b);
this.options.event+=".ui-tabs";
this.options.cookie=$.cookie&&$.cookie.constructor==Function&&this.options.cookie;
$.data(el,$.ui.tabs.INSTANCE_KEY,this);
this.tabify(true);
};
$.ui.tabs.INSTANCE_KEY="ui_tabs_instance";
$.ui.tabs.getInstance=function(el){
return $.data(el,$.ui.tabs.INSTANCE_KEY);
};
$.extend($.ui.tabs.prototype,{tabId:function(a){
return a.title?a.title.replace(/\s/g,"_"):this.options.idPrefix+$.data(a);
},tabify:function(_e){
this.$lis=$("li:has(a[href])",this.source);
this.$tabs=this.$lis.map(function(){
return $("a",this)[0];
});
this.$panels=$([]);
var _f=this,o=this.options;
this.$tabs.each(function(i,a){
if(a.hash&&a.hash.replace("#","")){
_f.$panels=_f.$panels.add(a.hash);
}else{
if($(a).attr("href")!="#"){
$.data(a,"href",a.href);
var id=_f.tabId(a);
a.href="#"+id;
_f.$panels=_f.$panels.add($("#"+id)[0]||$(o.panelTemplate).attr("id",id).addClass(o.panelClass).insertAfter(_f.$panels[i-1]||_f.source));
}else{
o.disabled.push(i+1);
}
}
});
if(_e){
$(this.source).hasClass(o.navClass)||$(this.source).addClass(o.navClass);
this.$panels.each(function(){
var _13=$(this);
_13.hasClass(o.panelClass)||_13.addClass(o.panelClass);
});
for(var i=0,position;position=o.disabled[i];i++){
this.disable(position);
}
this.$tabs.each(function(i,a){
if(location.hash){
if(a.hash==location.hash){
o.initial=i;
if($.browser.msie||$.browser.opera){
var _17=$(location.hash),toShowId=_17.attr("id");
_17.attr("id","");
setTimeout(function(){
_17.attr("id",toShowId);
},500);
}
scrollTo(0,0);
return false;
}
}else{
if(o.cookie){
o.initial=parseInt($.cookie($.ui.tabs.INSTANCE_KEY+$.data(_f.source)))||0;
return false;
}else{
if(_f.$lis.eq(i).hasClass(o.selectedClass)){
o.initial=i;
return false;
}
}
}
});
var n=this.$lis.length;
while(this.$lis.eq(o.initial).hasClass(o.disabledClass)&&n){
o.initial=++o.initial<this.$lis.length?o.initial:0;
n--;
}
if(!n){
o.unselected=o.unselect=true;
}
this.$panels.addClass(o.hideClass);
this.$lis.removeClass(o.selectedClass);
if(!o.unselected){
this.$panels.eq(o.initial).show().removeClass(o.hideClass);
this.$lis.eq(o.initial).addClass(o.selectedClass);
}
var _19=!o.unselected&&$.data(this.$tabs[o.initial],"href");
if(_19){
this.load(o.initial+1,_19);
}
if(!/^click/.test(o.event)){
this.$tabs.bind("click",function(e){
e.preventDefault();
});
}
}
var _1b={},showSpeed=o.fxShowSpeed||o.fxSpeed,hideAnim={},hideSpeed=o.fxHideSpeed||o.fxSpeed;
if(o.fxSlide||o.fxFade){
if(o.fxSlide){
_1b["height"]="show";
hideAnim["height"]="hide";
}
if(o.fxFade){
_1b["opacity"]="show";
hideAnim["opacity"]="hide";
}
}else{
if(o.fxShow){
_1b=o.fxShow;
}else{
_1b["min-width"]=0;
showSpeed=1;
}
if(o.fxHide){
hideAnim=o.fxHide;
}else{
hideAnim["min-width"]=0;
hideSpeed=1;
}
}
var _1c={display:"",overflow:"",height:""};
if(!$.browser.msie){
_1c["opacity"]="";
}
function hideTab(_1d,_1e,_1f){
_1e.animate(hideAnim,hideSpeed,function(){
_1e.addClass(o.hideClass).css(_1c);
if($.browser.msie&&hideAnim["opacity"]){
_1e[0].style.filter="";
}
o.hide(_1d,_1e[0],_1f&&_1f[0]||null);
if(_1f){
showTab(_1d,_1f,_1e);
}
});
}
function showTab(_20,_21,_22){
if(!(o.fxSlide||o.fxFade||o.fxShow)){
_21.css("display","block");
}
_21.animate(_1b,showSpeed,function(){
_21.removeClass(o.hideClass).css(_1c);
if($.browser.msie&&_1b["opacity"]){
_21[0].style.filter="";
}
o.show(_20,_21[0],_22&&_22[0]||null);
});
}
function switchTab(_23,$li,_25,_26){
$li.addClass(o.selectedClass).siblings().removeClass(o.selectedClass);
hideTab(_23,_25,_26);
}
this.$tabs.unbind(o.event).bind(o.event,function(){
var $li=$(this).parents("li:eq(0)"),$hide=_f.$panels.filter(":visible"),$show=$(this.hash);
if(($li.hasClass(o.selectedClass)&&!o.unselect)||$li.hasClass(o.disabledClass)||o.click(this,$show[0],$hide[0])===false){
this.blur();
return false;
}
if(o.cookie){
$.cookie($.ui.tabs.INSTANCE_KEY+$.data(_f.source),_f.$tabs.index(this),o.cookie);
}
if(o.unselect){
if($li.hasClass(o.selectedClass)){
$li.removeClass(o.selectedClass);
_f.$panels.stop();
hideTab(this,$hide);
this.blur();
return false;
}else{
if(!$hide.length){
_f.$panels.stop();
if($.data(this,"href")){
var a=this;
_f.load(_f.$tabs.index(this)+1,$.data(this,"href"),function(){
$li.addClass(o.selectedClass).addClass(o.unselectClass);
showTab(a,$show);
});
}else{
$li.addClass(o.selectedClass).addClass(o.unselectClass);
showTab(this,$show);
}
this.blur();
return false;
}
}
}
_f.$panels.stop();
if($show.length){
if($.data(this,"href")){
var a=this;
_f.load(_f.$tabs.index(this)+1,$.data(this,"href"),function(){
switchTab(a,$li,$hide,$show);
});
}else{
switchTab(this,$li,$hide,$show);
}
}else{
throw "jQuery UI Tabs: Mismatching fragment identifier.";
}
if($.browser.msie){
this.blur();
}
return false;
});
},add:function(url,_2b,_2c){
if(url&&_2b){
_2c=_2c||this.$tabs.length;
var o=this.options,$li=$(o.tabTemplate.replace(/#\{href\}/,url).replace(/#\{text\}/,_2b));
var id=url.indexOf("#")==0?url.replace("#",""):this.tabId($("a:first-child",$li)[0]);
var _2f=$("#"+id);
_2f=_2f.length&&_2f||$(o.panelTemplate).attr("id",id).addClass(o.panelClass).addClass(o.hideClass);
if(_2c>=this.$lis.length){
$li.appendTo(this.source);
_2f.appendTo(this.source.parentNode);
}else{
$li.insertBefore(this.$lis[_2c-1]);
_2f.insertBefore(this.$panels[_2c-1]);
}
this.tabify();
if(this.$tabs.length==1){
$li.addClass(o.selectedClass);
_2f.removeClass(o.hideClass);
var _30=$.data(this.$tabs[0],"href");
if(_30){
this.load(_2c+1,_30);
}
}
o.add(this.$tabs[_2c],this.$panels[_2c]);
}else{
throw "jQuery UI Tabs: Not enough arguments to add tab.";
}
},remove:function(_31){
if(_31&&_31.constructor==Number){
var o=this.options,$li=this.$lis.eq(_31-1).remove(),$panel=this.$panels.eq(_31-1).remove();
if($li.hasClass(o.selectedClass)&&this.$tabs.length>1){
this.click(_31+(_31<this.$tabs.length?1:-1));
}
this.tabify();
o.remove($li.end()[0],$panel[0]);
}
},enable:function(_33){
var o=this.options,$li=this.$lis.eq(_33-1);
$li.removeClass(o.disabledClass);
if($.browser.safari){
$li.css("display","inline-block");
setTimeout(function(){
$li.css("display","block");
},0);
}
o.enable(this.$tabs[_33-1],this.$panels[_33-1]);
},disable:function(_35){
var o=this.options;
this.$lis.eq(_35-1).addClass(o.disabledClass);
o.disable(this.$tabs[_35-1],this.$panels[_35-1]);
},click:function(_37){
this.$tabs.eq(_37-1).trigger(this.options.event);
},load:function(_38,url,_3a){
var _3b=this,o=this.options,$a=this.$tabs.eq(_38-1),a=$a[0],$span=$("span",a);
if(url&&url.constructor==Function){
_3a=url;
url=null;
}
if(url){
$.data(a,"href",url);
}else{
url=$.data(a,"href");
}
if(o.spinner){
$.data(a,"title",$span.html());
$span.html("<em>"+o.spinner+"</em>");
}
var _3c=function(){
_3b.$tabs.filter("."+o.loadingClass).each(function(){
$(this).removeClass(o.loadingClass);
if(o.spinner){
$("span",this).html($.data(this,"title"));
}
});
_3b.xhr=null;
};
var _3d=$.extend(o.ajaxOptions,{url:url,success:function(r){
$(a.hash).html(r);
_3c();
if(_3a&&_3a.constructor==Function){
_3a();
}
if(o.cache){
$.removeData(a,"href");
}
o.load(_3b.$tabs[_38-1],_3b.$panels[_38-1]);
}});
if(this.xhr){
this.xhr.abort();
_3c();
}
$a.addClass(o.loadingClass);
setTimeout(function(){
_3b.xhr=$.ajax(_3d);
},0);
},href:function(_3f,_40){
$.data(this.$tabs.eq(_3f-1)[0],"href",_40);
}});
})(jQuery);