PrimeFaces.widget.TabView=function(A,B){PrimeFaces.widget.TabView.superclass.constructor.call(this,A,B);this.clientId=A;this.cfg=B;this.setupTabClickListeners();if(this.cfg.dynamic&&this.cfg.cache){this.getTab(this.get("activeIndex")).loaded=true}if(this.cfg.contentTransition){this.setupContentTransition(config)}};YAHOO.lang.extend(PrimeFaces.widget.TabView,YAHOO.widget.TabView,{setupTabClickListeners:function(){for(var A=0;A<this.get("tabs").length;A++){this.getTab(A).addListener("click",this.handleTabClick,null,this)}},handleTabClick:function(D){var B=this.get("activeIndex"),A=this.getTab(B);document.getElementById(this.clientId+"_activeIndex").value=B;if(this.cfg.dynamic&&!A.loaded){YAHOO.util.Dom.addClass(A.get("contentEl").parentNode,"loading");var E={};E[PrimeFaces.PARTIAL_SOURCE_PARAM]=this.clientId;E[PrimeFaces.PARTIAL_REQUEST_PARAM]=true;E[PrimeFaces.PARTIAL_PROCESS_PARAM]=this.clientId;var C=jQuery(PrimeFaces.escapeClientId(this.cfg.formId)).serialize();C=C+PrimeFaces.ajax.AjaxUtils.serialize(E);jQuery.ajax({url:this.cfg.url,type:"POST",cache:false,dataType:"xml",data:C,context:this,global:false,success:this.handleDynamicTabLoadSuccess,failure:this.handleDynamicTabLoadFailure})}},handleDynamicTabLoadSuccess:function(F){var E=F.documentElement,C=E.getElementsByTagName("tabContent")[0].firstChild.data,D=E.getElementsByTagName("state")[0].firstChild.data,A=this.getTab(this.get("activeIndex")),B=A.get("contentEl");PrimeFaces.ajax.AjaxUtils.updateState(D);jQuery(B).html(C);YAHOO.util.Dom.removeClass(B.parentNode,"loading");if(this.cfg.cache){A.loaded=true}},handleDynamicTabLoadFailure:function(A){alert("Error in loading dynamic tab content")},fadeTransition:function(C,A){if(C.anim&&C.anim.isAnimated()){C.anim.stop(true)}C.set("contentVisible",true);YAHOO.util.Dom.setStyle(C.get("contentEl"),"opacity",0);C.anim=C.anim||new YAHOO.util.Anim(C.get("contentEl"));C.anim.attributes.opacity={to:1};var B=function(){A.set("contentVisible",false);A.anim.onComplete.unsubscribe(B)};A.anim=A.anim||new YAHOO.util.Anim(A.get("contentEl"));A.anim.onComplete.subscribe(B,this,true);A.anim.attributes.opacity={to:0};C.anim.animate();A.anim.animate()},setupContentTransition:function(A){if(A.contentTransition!=undefined&&A.contentTransition==true){this.contentTransition=this.fadeTransition}}});
