(function(){var J=YAHOO.util.Dom;var N=YAHOO.util.Event;var A=YAHOO.util.Element;var C=YAHOO.util.Lang;SODON.widget.TabView=function(R,Q){if(arguments.length==1&&C.isObject(R)){Q=R;R=K.call(this)}else{if(arguments.length==0){R=K.call(this);Q={}}}SODON.widget.TabView.superclass.constructor.call(this,R,Q)};YAHOO.extend(SODON.widget.TabView,A,{initAttributes:function(Q){this.setAttributeConfig("tabParent",{value:Q.tabParent||M.call(this)});this.setAttributeConfig("contentParent",{value:Q.contentParent||H.call(this)});this.setAttributeConfig("tabs",{value:[],readOnly:true});this.setAttributeConfig("activeIndex",{value:Q.activeIndex||0,method:function(R){this.set("activeTab",this.getTab(R))}});this.setAttributeConfig("activeTab",{value:Q.activeTab,method:function(S){var R=this.get("activeTab");if(S){S.set("active",true);this._configs.activeIndex.value=this.getTabIndex(S)}if(R&&R!=S){R.set("active",false)}if(R&&S!=R){this._contentTransition(S,R)}else{if(S){S.set("contentVisible",true)}}}});this.setAttributeConfig("tabViewClassName",{value:Q.tabViewClassName||"tab-contr"});this.setAttributeConfig("tabParentClassName",{value:Q.tabParentClassName||"tab-nav-par"});this.setAttributeConfig("contentParentClassName",{value:Q.contentParentClassName||"tab-cont-par"});this.setAttributeConfig("classNameId",{value:Q.classNameId||null,method:function(){this.set("tabViewClassName",this.get("classNameId")+"-"+this.get("tabViewClassName"));this.set("tabParentClassName",this.get("classNameId")+"-"+this.get("tabParentClassName"));this.set("contentParentClassName",this.get("classNameId")+"-"+this.get("contentParentClassName"))}});this.setAttributeConfig("activeEvent",{value:Q.activeEvent||null});this.setAttributeConfig("close",{value:Q.close||false});this.setAttributeConfig("drag",{value:Q.drag||false});this.setAttributeConfig("effect",{value:Q.effect||null});this._tabParent=J.get(this.get("tabParent"));this._contentParent=J.get(this.get("contentParent"));E.call(this)},addTab:function(S,U){var Z=this;S.owner=this;var V=this.get("tabs");U=(U===undefined)?V.length:U;var X=this.getTab(U);var Y=this._tabParent;var W=this._contentParent;var Q=S.get("element");var R=S.get("contentEl");if(X){Y.insertBefore(Q,X.get("element"))}else{Y.appendChild(Q)}W.appendChild(R);if(!S.get("active")){S.set("contentVisible",false)}else{this.set("activeTab",S)}var T=function(a){if(this.status===undefined){Z.set("activeTab",this)}};S.addListener(S.get("activeEvent"),T);V.splice(U,0,S)},removeTab:function(T){var S=window.confirm("Та үнэхээр устгахыг хүсч байна уу.");if(S){var R=this.get("tabs").length;var Q=this.getTabIndex(T);if(T==this.get("activeTab")){if(R>1){if(Q+1==R){this.set("activeIndex",Q-1)}else{this.set("activeIndex",Q+1)}}}this._tabParent.removeChild(T.get("element"));this._contentParent.removeChild(T.get("contentEl"));this._configs.tabs.value.splice(Q,1)}},getTabIndex:function(U){var R=null;var T=this.get("tabs");for(var S=0,Q=T.length;S<Q;++S){if(U==T[S]){R=S;break}}return R},getTab:function(Q){return this.get("tabs")[Q]},_getTabs:function(){return J.getChildren(this._tabParent)},_getContents:function(){return J.getChildren(this._contentParent)},_contentTransition:function(R,Q){R.set("contentVisible",true);Q.set("contentVisible",false)}});var E=function(){var S,U,T,Q;S=this._getTabs();U=this._getContents();for(var R=0;R<S.length;R++){Q={};if(this.get("activeEvent")!=null){Q.activeEvent=this.get("activeEvent")}Q.contentEl=U[R];T=new SODON.widget.Tab(S[R],Q);this.addTab(T);if(T.hasClass(T.get("activeClassName"))){this.set("activeIndex",this.getTabIndex(T))}}};var K=function(){var Q=document.createElement("div");Q.className=this.get("tabViewClassName");return Q};var M=function(){var Q=document.createElement("div");Q.className=this.get("tabParentClassName");this.get("element").appendChild(Q);return Q};var H=function(){var Q=document.createElement("div");Q.className=this.get("contentParentClassName");this.get("element").appendChild(Q);return Q};var I=function(){var Q=document.createElement("div");Q.className="clear";J.get(this.get("tabParent")).appendChild(Q);return Q};SODON.widget.Tab=function(R,Q){if(arguments.length==1){Q=R;R=D.call(this,Q)}SODON.widget.Tab.superclass.constructor.call(this,R,Q)};YAHOO.extend(SODON.widget.Tab,A,{owner:null,_loading:false,dataConnection:null,initAttributes:function(Q){var R=this;this.setAttributeConfig("label",{value:Q.label||null});this.setAttributeConfig("contentEl",{value:Q.contentEl||document.createElement("div"),method:function(V){var W=this.get("contentEl");if(W){if(W==V){return false}this.replaceChild(V,W)}}});this.setAttributeConfig("content",{value:Q.content||null,method:function(V){this.get("contentEl").innerHTML=V}});this.setAttributeConfig("active",{value:Q.active||this.hasClass(this.get("activeClassName")),method:function(X){var V,Y;if(X===true){this.addClass(this.get("activeClassName"));if(this.get("close")){V=this.getElementsByClassName("center","td",this.get("element"))[0];Y=this.getElementsByClassName("close","td",this.get("element"))[0];if(!Y){var W=O.call(this);var Z=J.getFirstChild(W);J.insertAfter(W,V);N.on(Z,"mouseover",function(a){Z.className="close-hover"});N.on(Z,"mouseout",function(a){Z.className="close"});N.on(Z,"click",function(a){R.status="closeClick";R.owner.removeTab(R)})}}}else{this.removeClass(this.get("activeClassName"));if(this.get("close")){Y=this.getElementsByClassName("close","td",this.get("element"))[0];if(Y){Y.parentNode.removeChild(Y)}}}},validator:C.isBoolean});this.setAttributeConfig("activeEvent",{value:Q.activeEvent||"click"});this.setAttributeConfig("contentVisible",{value:Q.contentVisible,method:function(V){if(V===true){this.get("contentEl").style.display="";if(this.get("dataSrc")){if(!this.get("cacheData")||!this.get("dataLoaded")){B.call(this)}}}else{this.get("contentEl").style.display="none"}},validator:C.isBoolean});this.setAttributeConfig("activeClassName",{value:Q.activeClassName||"sel"});this.setAttributeConfig("loadingClassName",{value:Q.loadingClassName||"loading"});this.setAttributeConfig("icon",{value:Q.icon||null});this.setAttributeConfig("close",{value:Q.close||false});this.setAttributeConfig("icon",{value:Q.icon||null});this.setAttributeConfig("loadMethod",{value:Q.loadMethod||"GET"});this.setAttributeConfig("dataLoaded",{value:false,validator:C.isBoolean,writeOnce:true});this.setAttributeConfig("dataTimeout",{value:Q.dataTimeout||null,validator:C.isNumber});this.setAttributeConfig("dataSrc",{value:Q.dataSrc||null});this.setAttributeConfig("cacheData",{value:Q.cacheData||true,validator:C.isBoolean});this.setAttributeConfig("leftright",{value:Q.leftright||true,validator:C.isBoolean});var T=this.get("element").getElementsByTagName("em");if(T.length==1){this.center=T[0]}else{this.center=T[1]}this.center.className="center";if(this.get("leftright")){var U=J.getElementsByClassName("left","em",this.get("element"))[0];var S=J.getElementsByClassName("right","em",this.get("element"))[0];if(!U){J.insertBefore(L.call(this),this.center)}if(!S){J.insertAfter(L.call(this),this.center)}}}});var D=function(R){var T,S,U,Q;T=document.createElement("div");Q=G.call(this);Q.className="center";Q.innerHTML=R.label;U.appendChild(Q);return T};var L=function(){var Q=document.createElement("em");Q.className="left";return Q};var P=function(){var Q=document.createElement("em");Q.className="right";return Q};var G=function(){var Q=document.createElement("em");Q.className="center";return Q};var F=function(){var R=document.createElement("td");R.className="icon";var Q=document.createElement("img");Q.src=this.get("icon");R.appendChild(Q);return R};var O=function(){var R=document.createElement("td");R.className="close";var Q=document.createElement("span");Q.className="close";R.appendChild(Q);return R};var B=function(){if(!YAHOO.util.Connect){return false}this._loading=true;J.addClass(this.get("contentEl").parentNode,this.get("loadingClassName"));this.dataConnection=YAHOO.util.Connect.asyncRequest(this.get("loadMethod"),this.get("dataSrc"),{success:function(Q){this.set("content",Q.responseText);this.set("dataLoaded",true);this.dataConnection=null;J.removeClass(this.get("contentEl").parentNode,this.get("loadingClassName"));this._loading=false},failure:function(Q){this.set("content","Биднийг уучлаарай. Хүсэлт буцаж ирсэнгүй.");this.dataConnection=null;J.removeClass(this.get("contentEl").parentNode,this.get("loadingClassName"));this._loading=false},scope:this,timeout:this.get("dataTimeout")})}})();