/*
 * $Id: dyntabs.js,v 1.2 2009/07/08 13:00:55 mbaierl Exp $
 * File: Dynamic tabs
 * Developer: Michael Santelia
 * Version: 1.1
 */
/*
 * Tabs 3 - New Wave Tabs
 * Copyright (c) 2007 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 */
(function(A){A(function(){A(".ibm-dyn-tabs > .ibm-tab-section > ul").tabs();A(".ibm-dyn-tabs .ibm-tab-section").show();A(".ibm-dyn-tabs").removeClass("ibm-alternate-two")});A.tabUi={};A.fn.tabs=function(C,B){if(C&&C.constructor==Object){B=C;C=null
}B=B||{};C=C&&C.constructor==Number&&--C||0;return this.each(function(){new A.tabUi.tabs(this,A.extend(B,{initial:C}))})};A.each(["Add","Remove","Enable","Disable","Click","Load"],function(B,C){A.fn["tabs"+C]=function(){var D=arguments;return this.each(function(){var E=A.tabUi.tabs.getInstance(this);E[C.toLowerCase()].apply(E,D)})}});A.fn.tabsSelected=function(){var D=-1;if(this[0]){var B=A.tabUi.tabs.getInstance(this[0]),C=A("li",this);D=C.index(C.filter("."+B.options.selectedClass)[0])}return D>=0?++D:-1
};A.tabUi.tabs=function(D,B){this.source=D;this.options=A.extend({initial:0,event:"click",disabled:[],unselected:false,unselect:B.unselected?true:false,spinner:"Loading&#8230;",cache:false,idPrefix:"tab-",fxFade:null,fxSlide:null,fxShow:null,fxHide:null,fxSpeed:"normal",fxShowSpeed:null,fxHideSpeed:null,add:function(){},remove:function(){},enable:function(){},disable:function(){},click:function(){},hide:function(){},show:function(){},load:function(){},selectedClass:"ibm-highlight-tab",hideClass:"ibm-tabs-hide"},B);
this.tabify(true);var C="tabs"+A.tabUi.tabs.prototype.count++;A.tabUi.tabs.instances[C]=this;A.data(D,"tabsUUID",C)};A.tabUi.tabs.instances={};A.tabUi.tabs.getInstance=function(B){return A.tabUi.tabs.instances[A.data(B,"tabsUUID")]};A.extend(A.tabUi.tabs.prototype,{count:0,tabify:function(N){this.$tabs=A("a:first-child",this.source);this.$containers=A([]);var P=this,C=this.options;this.$tabs.each(function(R,Q){if(Q.hash&&Q.hash.replace("#","")){P.$containers=P.$containers.add(Q.hash)}else{A.data(Q,"href",Q.href);
var S=Q.title&&Q.title.replace(/\s/g,"_")||C.idPrefix+(P.count+1)+"-"+(R+1);Q.href="#"+S;P.$containers=P.$containers.add(A("#"+S)[0]||A('<div id="'+S+'" class="'+C.containerClass+'"></div>').insertAfter(P.$containers[R-1]||P.source))}});if(N){this.$tabs.each(function(S,Q){if(location.hash){if(Q.hash==location.hash){C.initial=S;if(A.browser.msie||A.browser.opera){var R=A(location.hash),T=R.attr("id");R.attr("id","");setTimeout(function(){R.attr("id",T)},500)}scrollTo(0,0);return false}}else{if(A(Q).parents("li:eq(0)").is("li."+C.selectedClass)){C.initial=S;
return false}}});A(this.source).is("."+C.navClass)||A(this.source).addClass(C.navClass);this.$containers.each(function(){var Q=A(this);Q.is("."+C.containerClass)||Q.addClass(C.containerClass)});var J=A("li",this.source);this.$containers.addClass(C.hideClass);J.removeClass(C.selectedClass);if(!C.unselected){this.$containers.slice(C.initial,C.initial+1).show();J.slice(C.initial,C.initial+1).addClass(C.selectedClass)}if(A.data(this.$tabs[C.initial],"href")){this.load(C.initial+1,A.data(this.$tabs[C.initial],"href"));
if(C.cache){A.removeData(this.$tabs[C.initial],"href")}}for(var F=0,G;G=C.disabled[F];F++){this.disable(G)}}var B={},O=C.fxShowSpeed||C.fxSpeed,M={},E=C.fxHideSpeed||C.fxSpeed;if(C.fxSlide||C.fxFade){if(C.fxSlide){B.height="show";M.height="hide"}if(C.fxFade){B.opacity="show";M.opacity="hide"}}else{if(C.fxShow){B=C.fxShow}else{B["min-width"]=0;O=1}if(C.fxHide){M=C.fxHide}else{M["min-width"]=0;E=1}}var I={display:"",overflow:"hidden"};if(!A.browser.msie){I.opacity=""}function L(R,Q,S){Q.animate(M,E,function(){Q.addClass(C.hideClass).css(I);
if(A.browser.msie){Q[0].style.filter=""}C.hide(R,Q[0],S&&S[0]||null);if(S){K(R,S,Q)}})}function K(R,S,Q){if(!(C.fxSlide||C.fxFade||C.fxShow)){S.css("display","block")}S.animate(B,O,function(){S.removeClass(C.hideClass).css(I);if(A.browser.msie){S[0].style.filter=""}C.show(R,S[0],Q&&Q[0]||null)})}function D(R,Q,S){A(R).parents("li:eq(0)").addClass(C.selectedClass).siblings().removeClass(C.selectedClass);L(R,Q,S)}function H(T){var U=A(this).parents("li:eq(0)"),Q=P.$containers.filter(":visible"),S=A(this.hash);
if((U.is("."+C.selectedClass)&&!C.unselect)||U.is("."+C.disabledClass)||C.click(this,S[0],Q[0])===false){this.blur();return false}if(C.unselect){if(U.is("."+C.selectedClass)){U.removeClass(C.selectedClass);P.$containers.stop();L(this,Q);this.blur();return false}else{if(!Q.length){U.addClass(C.selectedClass);P.$containers.stop();K(this,S);this.blur();return false}}}P.$containers.stop();if(S.length){if(A.data(this,"href")){var R=this;P.load(P.$tabs.index(this)+1,A.data(this,"href"),function(){D(R,Q,S)
});if(C.cache){A.removeData(this,"href")}}else{D(this,Q,S)}}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}this.blur();return false}this.$tabs.unbind(C.event,H).bind(C.event,H)},add:function(C,F,B){if(C&&F){var E=this.options;B=B||this.$tabs.length;if(B>=this.$tabs.length){var G="insertAfter";B=this.$tabs.length}else{var G="insertBefore"}if(C.indexOf("#")==0){var D=A(C);(D.length&&D||A('<div id="'+C.replace("#","")+'" class="'+E.containerClass+" "+E.hideClass+'"></div>'))[G](this.$containers[B-1])
}A('<li><a href="'+C+'"><span>'+F+"</span></a></li>")[G](this.$tabs.slice(B-1,B).parents("li:eq(0)"));this.tabify();E.add(this.$tabs[B-1],this.$containers[B-1])}else{throw"jQuery UI Tabs: Not enough arguments to add tab."}},remove:function(B){if(B&&B.constructor==Number){var C=this.$tabs.slice(B-1,B).parents("li:eq(0)").remove();var D=this.$containers.slice(B-1,B).remove();this.tabify();this.options.remove(C[0],D[0])}},enable:function(B){var D=this.$tabs.slice(B-1,B).parents("li:eq(0)"),C=this.options;
D.removeClass(C.disabledClass);if(A.browser.safari){D.animate({opacity:1},1,function(){D.css({opacity:""})})}C.enable(this.$tabs[B-1],this.$containers[B-1])},disable:function(B){var D=this.$tabs.slice(B-1,B).parents("li:eq(0)"),C=this.options;if(A.browser.safari){D.animate({opacity:0},1,function(){D.css({opacity:""})})}D.addClass(this.options.disabledClass);C.disable(this.$tabs[B-1],this.$containers[B-1])},click:function(B){this.$tabs.slice(B-1,B).trigger("click")},load:function(B,E,I){var D=this,H=this.options,F=this.$tabs.slice(B-1,B).addClass(H.loadingClass),C=A("span",F),G=C.html();
if(E&&E.constructor==Function){I=E}if(E){A.data(F[0],"href",E)}if(H.spinner){C.html("<em>"+H.spinner+"</em>")}setTimeout(function(){A(F[0].hash).load(E,function(){if(H.spinner){C.html(G)}F.removeClass(H.loadingClass);if(I&&I.constructor==Function){I()}H.load(D.$tabs[B-1],D.$containers[B-1])})},0)}})})(jQuery);