Ext.ux.ManagedIFrame=function(){var C=Array.prototype.slice.call(arguments,0),D=Ext.get(C[0]),B=C[0];if(D&&D.dom&&D.dom.tagName=="IFRAME"){B=C[1]||{}}else{B=C[0]||C[1]||{};D=B.autoCreate?Ext.get(Ext.DomHelper.append(B.autoCreate.parent||document.body,Ext.apply({tag:"iframe",src:(Ext.isIE&&Ext.isSecure)?Ext.SSL_SECURE_URL:""},B.autoCreate))):null}if(!D||D.dom.tagName!="IFRAME"){return D}!!D.dom.name.length||(D.dom.name=D.dom.id);this.addEvents({domready:true,documentloaded:true,exception:true});if(B.listeners){this.listeners=B.listeners;Ext.ux.ManagedIFrame.superclass.constructor.call(this)}Ext.apply(D,this);D.addClass("x-managed-iframe");if(B.style){D.applyStyles(B.style)}D.loadMask=Ext.apply({msg:"Loading..",msgCls:"x-mask-loading",maskEl:null,hideOnReady:true,enabled:!!B.loadMask},B.loadMask);D._eventName=Ext.isIE?"onreadystatechange":"onload";D._windowContext=null;D.dom[D._eventName]=D.loadHandler.createDelegate(D);if(document.addEventListener){Ext.EventManager.on(window,"DOMFrameContentLoaded",D.dom[D._eventName])}var A=D.updateManager=new Ext.UpdateManager(D,true);A.showLoadIndicator=B.showLoadIndicator||false;if(B.src){D.setSrc(B.src)}else{D.src=D.dom.src||null;var E=B.html||B.content||false;if(E){D.update(E)}}return D};Ext.extend(Ext.ux.ManagedIFrame,Ext.util.Observable,{setSrc:function(A,C,E){var B=Ext.isIE&&Ext.isSecure?Ext.SSL_SECURE_URL:"";var D=A||this.src||B;if(Ext.isOpera){this.dom.src=B}this._windowContext=null;this._hooked=this._domReady=this._domFired=false;this._callBack=E||false;this.showMask();(function(){var G=typeof D=="function"?D()||"":D;try{this._frameAction=true;this.dom.src=G;this.checkDOM()}catch(F){this.fireEvent("exception",this,F)}}).defer(10,this);if(C!==true){this.src=D}return this},scriptRE:/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/gi,update:function(B,A,D){A=A||this.getUpdateManager().loadScripts||false;B=Ext.DomHelper.markup(B||"");var C=this.getDocument();if(C){this._windowContext=null;this._callBack=D||false;this._frameAction=!!B.length;this._hooked=this._domReady=this._domFired=false;this.showMask();C.open();C.write(A===true?B:B.replace(this.scriptRE,""));C.close();if(this._frameAction){this.checkDOM()}else{if(D){D()}}}return this},_renderHook:function(){this._windowContext=null;this._hooked=false;try{return this.writeScript(String.format('(function(){parent.Ext.get("{0}")._windowContext={1};})();',this.dom.id,(Ext.isIE?"window":"{eval:function(s){return eval(s);}}")))&&this.domWritable()}catch(A){}return false},_windowContext:null,getDocument:function(){return this.getWindow()?this.getWindow().document:null},getWindow:function(){var A=this.dom;return A?A.contentWindow||window.frames[A.name]:null},print:function(){try{var B=this.getWindow();if(Ext.isIE){B.focus()}B.print()}catch(A){throw"print exception: "+(A.description||A.message||A)}},destroy:function(){this.removeAllListeners();if(this.dom){if(document.addEventListener){Ext.EventManager.un(window,"DOMFrameContentLoaded",this.dom[this._eventName])}this.dom[this._eventName]=null;if(this.dom.src){this.dom.src="javascript:false"}Ext.removeNode(this.dom)}this._windowContext=null;Ext.apply(this.loadMask,{masker:null,maskEl:null})},domWritable:function(){return !!this._windowContext},execScript:function(block,useDOM){try{if(this.domWritable()){return useDOM?this.writeScript(block):this._windowContext.eval(block)}else{throw"execScript:non-secure context"}}catch(ex){this.fireEvent("exception",this,ex)}},writeScript:function(G,B){B=Ext.apply({},B||{},{type:"text/javascript",text:G});try{var D,A,F=this.getDocument();if(F&&F.getElementsByTagName){if((D=F.getElementsByTagName("head")[0])&&(A=F.createElement("script"))){D.appendChild(A);for(var E in B){if(B.hasOwnProperty(E)){A[E]=B[E]}}return true}}}catch(C){this.fireEvent("exception",this,C)}return false},loadFunction:function(D,B,C){var A=D.name||D;var D=D.fn||window[D];this.execScript(A+"="+D,B);if(C){this.execScript(A+"()")}},loadMask:{msg:"Loading..",msgCls:"x-mask-loading",maskEl:null,enabled:false},showMask:function(D,C,B){var A;if((A=this.loadMask)&&(A.enabled||B)){if(A._vis){return }A.masker||(A.masker=Ext.get(A.maskEl||this.dom.parentNode||this.wrap({tag:"div",style:{position:"relative"}})));A._vis=true;A.masker.mask(D||A.msg,C||A.msgCls)}},hideMask:function(B){var A;if((A=this.loadMask)&&(A.enabled||B)&&A.masker){if(!A._vis){return }if(!B&&(A.hideOnReady!==true&&this._domReady)){return }A._vis=false;A.masker.unmask()}},loadHandler:function(B){if(!this._frameAction){return }var A=(B&&typeof B.type!=="undefined"?B.type:this.dom.readyState);switch(A){case"loading":break;case"interactive":this.showMask();break;case"DOMFrameContentLoaded":if(this._domFired||(B&&B.target!==this.dom)){return }case"domready":if(this._domFired){return }if(this._domFired=this._hooked=this._renderHook()){this._frameAction=(this.fireEvent("domready",this)===false?false:this._frameAction)}case"domfail":this._domReady=true;this.hideMask();break;case"load":case"complete":if(!this._domFired){this.loadHandler({type:"domready"})}if(this._frameAction){this.fireEvent("documentloaded",this)}this._frameAction=false;this.hideMask(true);if(this._callBack){this._callBack(this)}break;default:}},checkDOM:function(D){if(Ext.isOpera||Ext.isGecko){return }var F=0,D=D||this.getWindow(),C=this,B=false;var A=100;var E=function(){try{B=false;var I=D.document,G;B=(I&&I.getElementsByTagName);B=B&&(G=I.getElementsByTagName("body")[0])&&!!G.innerHTML.length}catch(H){F=A}if(!C._frameAction||C._domReady){return }if(F++<A&&!B){setTimeout(arguments.callee,30);return }C.loadHandler({type:B?"domready":"domfail"})};E.defer(50)}});Ext.ux.ManagedIframePanel=Ext.extend(Ext.Panel,{defaultSrc:null,bodyStyle:{height:"100%",width:"100%",overflow:"visible"},frameStyle:{overflow:"auto"},loadMask:false,animCollapse:false,autoScroll:false,closable:true,ctype:"Ext.ux.ManagedIframePanel",showLoadIndicator:false,unsupportedText:{tag:"span",cls:"x-error-noframes",html:"Inline frames are NOT enabled/supported by your browser."},initComponent:function(){var A=this.unsupportedText?{cn:this.unsupportedText}:false;this.bodyCfg||(this.bodyCfg={tag:"div",cls:"x-panel-body",children:[Ext.apply({tag:"iframe",frameborder:0,cls:"x-managed-iframe",style:Ext.apply({height:"100%",width:"100%"},this.frameStyle||this.iframeStyle||{})},A,Ext.isIE&&Ext.isSecure?{src:Ext.SSL_SECURE_URL}:false)]});Ext.ux.ManagedIframePanel.superclass.initComponent.call(this);this.addEvents({documentloaded:true,domready:true});if(this.defaultSrc){this.on("render",this.setSrc.createDelegate(this,[this.defaultSrc],0),this,{single:true})}},beforeDestroy:function(){if(this.rendered){if(this.tools){for(var A in this.tools){Ext.destroy(this.tools[A])}}if(this.header&&this.headerAsText){var B;if(B=this.header.child("span")){B.remove()}this.header.update("")}Ext.each(["iframe","header","topToolbar","bottomToolbar","footer","loadMask","body","bwrap"],function(C){if(this[C]){if(typeof this[C].destroy=="function"){this[C].destroy()}else{Ext.destroy(this[C])}this[C]=null;delete this[C]}},this)}Ext.ux.ManagedIframePanel.superclass.beforeDestroy.call(this)},onDestroy:function(){Ext.Panel.superclass.onDestroy.call(this)},onRender:function(B,A){Ext.ux.ManagedIframePanel.superclass.onRender.call(this,B,A);if(this.iframe=this.body.child("iframe.x-managed-iframe")){Ext.each([this[this.collapseEl],this.el,this.iframe],function(C){C.setVisibilityMode(Ext.Element[(this.hideMode||"display").toUpperCase()]||1).originalDisplay=(this.hideMode!="display"?"visible":"block")},this);if(this.loadMask){this.loadMask=Ext.apply({enabled:true,maskEl:this.body,hideOnReady:true},this.loadMask)}if(this.iframe=new Ext.ux.ManagedIFrame(this.iframe,{loadMask:this.loadMask,showLoadIndicator:this.showLoadIndicator})){this.loadMask=this.iframe.loadMask;this.iframe.ownerCt=this;this.relayEvents(this.iframe,["documentloaded","domready","exception"])}this.body.repaint();this.getUpdater().showLoadIndicator=this.showLoadIndicator||false}},afterRender:function(A){var B=this.html;delete this.html;Ext.ux.ManagedIframePanel.superclass.afterRender.call(this);if(B&&this.iframe){this.iframe.update(typeof B=="object"?Ext.DomHelper.markup(B):B)}},setSrc:function(B,C,E){var A=B||this.defaultSrc;if(typeof A=="object"){B=A.url||false;E=A.callback||false}var D=B||(Ext.isIE&&Ext.isSecure?Ext.SSL_SECURE_URL:"");if(this.rendered&&this.iframe){this.iframe.setSrc(D,C,E)}if(C!==true){this.defaultSrc={url:D,callback:E}}this.saveState();return this},getState:function(){var A=(this.defaultSrc.url||this.defaultSrc);return Ext.apply(Ext.ux.ManagedIframePanel.superclass.getState.call(this)||{},{defaultSrc:typeof A=="function"?A():A})},getUpdater:function(){return this.rendered?(this.iframe||this.body).getUpdater():null},getFrame:function(){return this.rendered?this.iframe:null},getFrameWindow:function(){return this.rendered&&this.iframe?this.iframe.getWindow():null},getFrameDocument:function(){return this.rendered&&this.iframe?this.iframe.getDocument():null},load:function(B){var A;if(A=this.getUpdater()){if(B&&B.renderer){A.setRenderer(B.renderer);delete B.renderer}A.update.apply(A,arguments)}return this},doAutoLoad:function(){this.load(typeof this.autoLoad=="object"?this.autoLoad:{url:this.autoLoad})},onShow:function(){if(this.iframe){this.iframe.setVisible(true)}Ext.ux.ManagedIframePanel.superclass.onShow.call(this)},onHide:function(){if(this.iframe){this.iframe.setVisible(false)}Ext.ux.ManagedIframePanel.superclass.onHide.call(this)}});Ext.reg("iframepanel",Ext.ux.ManagedIframePanel);Ext.ux.ManagedIframePortlet=Ext.extend(Ext.ux.ManagedIframePanel,{anchor:"100%",frame:true,collapseEl:"bwrap",collapsible:true,draggable:true,cls:"x-portlet"});Ext.reg("iframeportlet",Ext.ux.ManagedIframePortlet);