/*
Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
dojo._xdResourceLoaded(function(_1,_2,_3){return {depends:[["provide","kfc.FPM"],["require","dojox.layout.FloatingPane"],["require","kfc.kca._KCA"]],defineResource:function(_4,_5,_6){if(!_4._hasResource["kfc.FPM"]){_4._hasResource["kfc.FPM"]=true;_4.provide("kfc.FPM");_4.require("dojox.layout.FloatingPane");_4.require("kfc.kca._KCA");_4.declare("kfc.FPM",[kfc.kca._KCA],{templateString:_4.cache("kfc","templates/FPM.html","
\n"),widgetsInTemplate:true,constructor:function(_7){this.openApps=new Array();this.openFrames=new Array();this.openWindows=new Array();this.addRemoteCSS(_4.moduleUrl("dojo","resources/dojo.css").uri);this.addRemoteCSS(_4.moduleUrl("dijit","themes/claro/claro.css").uri);this.addRemoteCSS(_4.moduleUrl("kfc","css/kfc.css").uri);this.addRemoteCSS(_4.moduleUrl("kfc","css/FloatingPane.css").uri);this.addRemoteCSS(_4.moduleUrl("dojox","layout/resources/FloatingPane.css").uri);this.addRemoteCSS(_4.moduleUrl("dojox","layout/resources/ResizeHandle.css").uri);},allowMultipleInstances:false,openApps:null,openFrames:null,openWindows:null,windowCount:0,onBeforeOpen:function(){},onAfterOpen:function(){},onBeforeClose:function(){},onAfterClose:function(){},_onBeforeOpen:function(_8,_9,_a){this.onBeforeOpen(_8,_9,_a);},_onAfterOpen:function(){this.onAfterOpen();},_onBeforeClose:function(){this.onBeforeClose();},_onAfterClose:function(){this.onAfterClose();},open:function(_b,_c,_d,_e){this._onBeforeOpen(_b,_c,_d);switch(_b.toUpperCase()){case "CLASS":this.createApp(_c,_d,_e);break;default:this.openUrl(_c,_d);break;}this._onAfterOpen();},_createFloatingPane:function(_f){var fpd=_4.create("div");var fp=new _6.layout.FloatingPane({title:_f,maxable:true,closeable:true,resizable:true,dockable:true,doLayout:true,executeScripts:true,loadingMessage:"Please wait..."},fpd);fp.domNode.style.width="75%";fp.domNode.style.height="95%";fp.maximize=this.maximize;fp.refresh=function(){};if(!this.openWindows[_f]){this.openWindows[_f]=new Array(fp);}else{this.openWindows[_f].push(fp);}if(this.windowCount>0){fp.domNode.style.top=(3+this.windowCount*2)+"px";fp.domNode.style.left=(175+(this.windowCount*25))+"px";}_4.connect(fp,"_dock",this,function(){this._repositionDock(fp.dockTo);});var _10=_4.connect(fp,"close",this,function(){this.windowCount--;_4.disconnect(_10);});_4.place(fp.domNode,this.ph);fp.startup();fp.bringToTop();this.windowCount++;return fp;},createApp:function(_11,_12,_13){_13=(typeof (_13)=="undefined")?{}:_13;var fp=this._createFloatingPane(_12);this.requireApp(_11);_13["fpApp"]=true;this.instantiateApp(_11,fp.containerNode,0,_13,fp);},requireApp:function(_14){var r="dojo."+"require(\""+_14+"\")";eval(r);},instantiateApp:function(_15,_16,_17,_18,fp){_18=(_18)?_18:{};var a="new "+_15+"("+_4.toJson(_18)+")";if(_17<10){try{var x=eval(a);_4.place(x.domNode,_16);x.startup();_4.connect(fp,"resize",x,"resize");}catch(e){setTimeout(_4.hitch(this,function(){this.instantiateApp(_15,_16,_17+1,_18,fp);}),500);}}else{var x=_4.create("div");x.innerHTML="Error: Could not load "+_15+"
";_4.place(x,_16);}},close:function(){this._onBeforeClose();this._onAfterClose();},openUrl:function(_19,_1a){if(this.checkAllowOpen(_1a)){var fp=this._createFloatingPane(_1a);var _1b=_4.create("iframe");_1b.src=_19;_1b.style.height="100%";_1b.style.width="100%";_1b.style.border="none";_4.place(_1b,fp.containerNode);_1b.contentWindow.connectMe=_4.hitch(this,"getConnected");}},checkAllowOpen:function(_1c){return true;},alreadyOpen:function(_1d){if(this.allowMultipleInstances){return false;}else{this.throwError("The application ("+_1d+") is already open.");return true;}},getConnected:function(obj){obj.kcaOpen=_4.hitch(this,"open");},maximize:function(){this.inherited("maximize",arguments);if(_4.isFF){var _1e=_4.window.getBox();_1e.t=5;_1e.l=5;this.resize(_1e);}},_repositionDock:function(_1f){if(_4.isFF){_1f._positionDock();}},throwError:function(e){},postCreate:function(){}});}}};});