/*
 * Ext UX - Package of third-party community Ext JS components
 * Copyright(c) 2006
 * 
 * This code is licensed under BSD license. Use it as you wish, 
 * but keep this copyright intact.
 */


Ext.ux.Portal=Ext.extend(Ext.Panel,{layout:'column',autoScroll:true,cls:'x-portal',defaultType:'portalcolumn',initComponent:function(){Ext.ux.Portal.superclass.initComponent.call(this);this.addEvents({validatedrop:true,beforedragover:true,dragover:true,beforedrop:true,drop:true});},initEvents:function(){Ext.ux.Portal.superclass.initEvents.call(this);this.dd=new Ext.ux.Portal.DropZone(this,this.dropConfig);},beforeDestroy:function(){if(this.dd){this.dd.unreg();}
Ext.ux.Portal.superclass.beforeDestroy.call(this);}});Ext.reg('portal',Ext.ux.Portal);Ext.ux.Portal.DropZone=function(portal,cfg){this.portal=portal;Ext.dd.ScrollManager.register(portal.body);Ext.ux.Portal.DropZone.superclass.constructor.call(this,portal.bwrap.dom,cfg);portal.body.ddScrollConfig=this.ddScrollConfig;};Ext.extend(Ext.ux.Portal.DropZone,Ext.dd.DropTarget,{ddScrollConfig:{vthresh:50,hthresh:-1,animate:true,increment:200},createEvent:function(dd,e,data,col,c,pos){return{portal:this.portal,panel:data.panel,columnIndex:col,column:c,position:pos,data:data,source:dd,rawEvent:e,status:this.dropAllowed};},notifyOver:function(dd,e,data){var xy=e.getXY(),portal=this.portal,px=dd.proxy;if(!this.grid){this.grid=this.getGrid();}
var cw=portal.body.dom.clientWidth;if(!this.lastCW){this.lastCW=cw;}else if(this.lastCW!=cw){this.lastCW=cw;portal.doLayout();this.grid=this.getGrid();}
var col=0,xs=this.grid.columnX,cmatch=false;for(var len=xs.length;col<len;col++){if(xy[0]<(xs[col].x+xs[col].w)){cmatch=true;break;}}
if(!cmatch){col--;}
var p,match=false,pos=0,c=portal.items.itemAt(col),items=c.items.items,overSelf=false;for(var len=items.length;pos<len;pos++){p=items[pos];var h=p.el.getHeight();if(h===0){overSelf=true;}
else if((p.el.getY()+(h/2))>xy[1]){match=true;break;}}
pos=(match&&p?pos:c.items.getCount())+(overSelf?-1:0);var overEvent=this.createEvent(dd,e,data,col,c,pos);if(portal.fireEvent('validatedrop',overEvent)!==false&&portal.fireEvent('beforedragover',overEvent)!==false){px.getProxy().setWidth('auto');if(p){px.moveProxy(p.el.dom.parentNode,match?p.el.dom:null);}else{px.moveProxy(c.el.dom,null);}
this.lastPos={c:c,col:col,p:overSelf||(match&&p)?pos:false};this.scrollPos=portal.body.getScroll();portal.fireEvent('dragover',overEvent);return overEvent.status;}else{return overEvent.status;}},notifyOut:function(){delete this.grid;},notifyDrop:function(dd,e,data){delete this.grid;if(!this.lastPos){return;}
var c=this.lastPos.c,col=this.lastPos.col,pos=this.lastPos.p;var dropEvent=this.createEvent(dd,e,data,col,c,pos!==false?pos:c.items.getCount());if(this.portal.fireEvent('validatedrop',dropEvent)!==false&&this.portal.fireEvent('beforedrop',dropEvent)!==false){dd.proxy.getProxy().remove();dd.panel.el.dom.parentNode.removeChild(dd.panel.el.dom);if(pos!==false){if(c==dd.panel.ownerCt&&(c.items.items.indexOf(dd.panel)<=pos)){pos++;}
c.insert(pos,dd.panel);}else{c.add(dd.panel);}
c.doLayout();this.portal.fireEvent('drop',dropEvent);var st=this.scrollPos.top;if(st){var d=this.portal.body.dom;setTimeout(function(){d.scrollTop=st;},10);}}
delete this.lastPos;},getGrid:function(){var box=this.portal.bwrap.getBox();box.columnX=[];this.portal.items.each(function(c){box.columnX.push({x:c.el.getX(),w:c.el.getWidth()});});return box;},unreg:function(){Ext.ux.Portal.DropZone.superclass.unreg.call(this);}});

Ext.ux.PortalColumn=Ext.extend(Ext.Container,{layout:'anchor',autoEl:'div',defaultType:'portlet',cls:'x-portal-column'});Ext.reg('portalcolumn',Ext.ux.PortalColumn);

Ext.ux.Portlet=Ext.extend(Ext.Panel,{anchor:'100%',frame:true,collapsible:true,draggable:true,cls:'x-portlet'});Ext.reg('portlet',Ext.ux.Portlet);

Ext.ns('Ext.ux.grid');Ext.ux.grid.RowActions=function(config){Ext.apply(this,config);this.addEvents('beforeaction','action','beforegroupaction','groupaction');Ext.ux.grid.RowActions.superclass.constructor.call(this);};Ext.extend(Ext.ux.grid.RowActions,Ext.util.Observable,{actionEvent:'click',autoWidth:true,header:'',menuDisabled:true,sortable:false,tplGroup:'<tpl for="actions">'
+'<div class="ux-grow-action-item<tpl if="\'right\'===align"> ux-action-right</tpl> '
+'{cls}" style="{style}" qtip="{qtip}">{text}</div>'
+'</tpl>',tplRow:'<div class="ux-row-action">'
+'<tpl for="actions">'
+'<div class="ux-row-action-item {cls} <tpl if="text">'
+'ux-row-action-text</tpl>" style="{hide}{style}" qtip="{qtip}">'
+'<tpl if="text"><span qtip="{qtip}">{text}</span></tpl></div>'
+'</tpl>'
+'</div>',hideMode:'visiblity',widthIntercept:4,widthSlope:21,init:function(grid){this.grid=grid;if(!this.tpl){this.tpl=this.processActions(this.actions);}
if(this.autoWidth){this.width=this.widthSlope*this.actions.length+this.widthIntercept;this.fixed=true;}
var view=grid.getView();var cfg={scope:this};cfg[this.actionEvent]=this.onClick;grid.on({render:{scope:this,fn:function(){view.mainBody.on(cfg);}}});if(!this.renderer){this.renderer=function(value,cell,record,row,col,store){cell.css+=(cell.css?' ':'')+'ux-row-action-cell';return this.tpl.apply(this.getData(value,cell,record,row,col,store));}.createDelegate(this);}
if(view.groupTextTpl&&this.groupActions){view.interceptMouse=view.interceptMouse.createInterceptor(function(e){if(e.getTarget('.ux-grow-action-item')){return false;}});view.groupTextTpl='<div class="ux-grow-action-text">'+view.groupTextTpl+'</div>'
+this.processActions(this.groupActions,this.tplGroup).apply();}},getData:function(value,cell,record,row,col,store){return record.data||{};},processActions:function(actions,template){var acts=[];Ext.each(actions,function(a,i){if(a.iconCls&&'function'===typeof(a.callback||a.cb)){this.callbacks=this.callbacks||{};this.callbacks[a.iconCls]=a.callback||a.cb;}
var o={cls:a.iconIndex?'{'+a.iconIndex+'}':(a.iconCls?a.iconCls:''),qtip:a.qtipIndex?'{'+a.qtipIndex+'}':(a.tooltip||a.qtip?a.tooltip||a.qtip:''),text:a.textIndex?'{'+a.textIndex+'}':(a.text?a.text:''),hide:a.hideIndex?'<tpl if="'+a.hideIndex+'">'
+('display'===this.hideMode?'display:none':'visibility:hidden')+';</tpl>':(a.hide?('display'===this.hideMode?'display:none':'visibility:hidden;'):''),align:a.align||'right',style:a.style?a.style:''};acts.push(o);},this);var xt=new Ext.XTemplate(template||this.tplRow);return new Ext.XTemplate(xt.apply({actions:acts}));},onClick:function(e,target){var view=this.grid.getView();var action=false;var row=e.getTarget('.x-grid3-row');var col=view.findCellIndex(target.parentNode.parentNode);var t=e.getTarget('.ux-row-action-item');if(t){action=t.className.replace(/ux-row-action-item /,'');if(action){action=action.replace(/ ux-row-action-text/,'');action=action.trim();}}
if(false!==row&&false!==col&&false!==action){var record=this.grid.store.getAt(row.rowIndex);if(this.callbacks&&'function'===typeof this.callbacks[action]){this.callbacks[action](this.grid,record,action,row.rowIndex,col);}
if(true!==this.eventsSuspended&&false===this.fireEvent('beforeaction',this.grid,record,action,row.rowIndex,col)){return;}
else if(true!==this.eventsSuspended){this.fireEvent('action',this.grid,record,action,row.rowIndex,col);}}
t=e.getTarget('.ux-grow-action-item');if(t){var group=view.findGroup(target);var groupId=group?group.id.replace(/ext-gen[0-9]+-gp-/,''):null;var records;if(groupId){var re=new RegExp(groupId);records=this.grid.store.queryBy(function(r){return r._groupId.match(re);});records=records?records.items:[];}
action=t.className.replace(/ux-grow-action-item (ux-action-right )*/,'');if('function'===typeof this.callbacks[action]){this.callbacks[action](this.grid,records,action,groupId);}
if(true!==this.eventsSuspended&&false===this.fireEvent('beforegroupaction',this.grid,records,action,groupId)){return false;}
this.fireEvent('groupaction',this.grid,records,action,groupId);}}});Ext.reg('rowactions',Ext.ux.grid.RowActions);

Ext.namespace('Ext.ux.layout');Ext.ux.layout.RowFitLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,trackChildEvents:['collapse','expand','hide','show'],renderAll:function(ct,target){Ext.ux.layout.RowFitLayout.superclass.renderAll.apply(this,arguments);ct.on('add',this.containerListener);ct.on('remove',this.containerListener);},renderItem:function(c,position,target){Ext.ux.layout.RowFitLayout.superclass.renderItem.apply(this,arguments);for(var i=0,n=this.trackChildEvents.length;i<n;i++){c.on(this.trackChildEvents[i],this.itemListener);}
c.animCollapse=false;c.rowFit={hasAbsHeight:false,relHeight:0,calcRelHeight:0,calcAbsHeight:0};if(c.height){if(typeof c.height=="string"&&c.height.indexOf("%")){c.rowFit.relHeight=parseInt(c.height);}
else{c.setHeight(c.height);c.rowFit.hasAbsHeight=true;}}},onLayout:function(ct,target){Ext.ux.layout.RowFitLayout.superclass.onLayout.call(this,ct,target);if(this.container.collapsed||!ct.items||!ct.items.length){return;}
var absHeightSum=0,relHeightSum=0,relHeightRatio=1,relHeightElements=[],noHeightCount=0;for(var i=0,n=ct.items.length;i<n;i++){var c=ct.items.itemAt(i);if(!c.isVisible()){continue;}
if(c.collapsed){absHeightSum+=c.getFrameHeight();}
else if(c.rowFit.hasAbsHeight){absHeightSum+=c.height;}
else{if(!c.rowFit.relHeight){noHeightCount++;}
else{relHeightSum+=c.rowFit.relHeight;}
relHeightElements.push(c);}}
if(noHeightCount==0&&relHeightSum!=100){relHeightRatio=100/relHeightSum;}
var freeHeight=target.getStyleSize().height-absHeightSum,absHeightLeft=freeHeight;while(relHeightElements.length){var c=relHeightElements.shift(),relH=c.rowFit.relHeight*relHeightRatio,absH=0;if(!relH){relH=(100-relHeightSum)/noHeightCount;}
if(!relHeightElements.length){absH=absHeightLeft;}
else{absH=Math.round(freeHeight*relH/100);}
if(absH<0){absH=0;}
c.rowFit.calcAbsHeight=absH;c.rowFit.calcRelHeight=relH;c.setHeight(absH);absHeightLeft-=absH;}},itemListener:function(item){item.ownerCt.doLayout();},containerListener:function(ct){ct.doLayout();}});if(Ext.SplitBar.BasicLayoutAdapter){Ext.ux.layout.RowFitLayout.SplitAdapter=function(splitbar){if(splitbar&&splitbar.el.dom.nextSibling){var next=Ext.getCmp(splitbar.el.dom.nextSibling.id),resized=Ext.getCmp(splitbar.resizingEl.id);if(next){splitbar.maxSize=(resized.height||resized.rowFit.calcAbsHeight)+
next.getInnerHeight()-1;}
splitbar.minSize=resized.getFrameHeight()+1;}}
Ext.extend(Ext.ux.layout.RowFitLayout.SplitAdapter,Ext.SplitBar.BasicLayoutAdapter,{setElementSize:function(splitbar,newSize,onComplete){var resized=Ext.getCmp(splitbar.resizingEl.id);if(!resized||resized.collapsed||!resized.isVisible())return;if(resized.rowFit.hasAbsHeight){resized.setHeight(newSize);}
else{if(splitbar.el.dom.nextSibling){var nextSibling=Ext.getCmp(splitbar.el.dom.nextSibling.id),deltaAbsHeight=newSize-resized.rowFit.calcAbsHeight,nsRf=nextSibling.rowFit,rzRf=resized.rowFit,pctPxRatio=rzRf.calcRelHeight/rzRf.calcAbsHeight,deltaRelHeight=pctPxRatio*deltaAbsHeight;rzRf.relHeight=rzRf.calcRelHeight+deltaRelHeight;if(nsRf.hasAbsHeight){var newHeight=nextSibling.height-deltaAbsHeight;nextSibling.height=newHeight;nextSibling.setHeight(newHeight);}
else{nsRf.relHeight=nsRf.calcRelHeight-deltaRelHeight;}}}
resized.ownerCt.doLayout();}});}
Ext.Container.LAYOUTS['row-fit']=Ext.ux.layout.RowFitLayout;

Ext.form.FileUploadField=Ext.extend(Ext.form.TextField,{buttonText:'Browse...',buttonOnly:false,buttonOffset:3,readOnly:true,autoSize:Ext.emptyFn,initComponent:function(){Ext.form.FileUploadField.superclass.initComponent.call(this);this.addEvents('fileselected');},onRender:function(ct,position){Ext.form.FileUploadField.superclass.onRender.call(this,ct,position);this.wrap=this.el.wrap({cls:'x-form-field-wrap x-form-file-wrap'});this.el.addClass('x-form-file-text');this.el.dom.removeAttribute('name');this.fileInput=this.wrap.createChild({id:this.getFileInputId(),name:this.name||this.getId(),cls:'x-form-file',tag:'input',type:'file',size:1});var btnCfg=Ext.applyIf(this.buttonCfg||{},{text:this.buttonText});this.button=new Ext.Button(Ext.apply(btnCfg,{renderTo:this.wrap,cls:'x-form-file-btn'+(btnCfg.iconCls?' x-btn-icon':'')}));if(this.buttonOnly){this.el.hide();this.wrap.setWidth(this.button.getEl().getWidth());}
this.fileInput.on('change',function(){var v=this.fileInput.dom.value;this.setValue(v);this.fireEvent('fileselected',this,v);},this);},getFileInputId:function(){return this.id+'-file';},onResize:function(w,h){Ext.form.FileUploadField.superclass.onResize.call(this,w,h);this.wrap.setWidth(w);if(!this.buttonOnly){var w=this.wrap.getWidth()-this.button.getEl().getWidth()-this.buttonOffset;this.el.setWidth(w);}},preFocus:Ext.emptyFn,getResizeEl:function(){return this.wrap;},getPositionEl:function(){return this.wrap;},alignErrorIcon:function(){this.errorIcon.alignTo(this.wrap,'tl-tr',[2,0]);}});Ext.reg('fileuploadfield',Ext.form.FileUploadField);

Ext.ux.MediaBase=function(){};Ext.apply(Ext.ux.MediaBase.prototype,{_macros:null,applyMacros:function(B,C){var A=C||this._macros;return A?Ext.DomHelper.markup(B).replace(/(%40url|@url)/g,A.url).replace(/(%40start|@start)/g,(A.start||!!this.autoStart)+"").replace(/(%40controls|@controls)/g,A.controls+"").replace(/(%40id|@id)/g,A.id+"").replace(/(%40loop|@loop)/g,A.loop+"").replace(/(%40width|@width)/g,A.width+"").replace(/(%40height|@height)/g,A.height+""):B;},mediaMarkup:function(F){var A=F?Ext.apply({url:false},F):{};if(A&&A.unsupportedText&&typeof A.unsupportedText=="object"){A.unsupportedText=Ext.DomHelper.markup(A.unsupportedText);}var D=Ext.apply({type:false},this["_"+A.mediaType]||false);if(A.url&&D.type){var E=Ext.apply(D.params||{},A.params||{});for(var C in E){if(E.hasOwnProperty(C)){A.children||(A.children=[]);if(E[C]!==null){A.children.push({tag:"param",name:C,value:(typeof E[C]=="object"?Ext.urlEncode(E[C]):encodeURI(E[C]))});}}}delete D.params;D.style||(D.style={});D.style=Ext.apply({height:"@height",width:"@width"},A.style||{},D.style);if(A.unsupportedText){D.html=A.unsupportedText;}A=Ext.apply({tag:"object"},A,D);A.id||(A.id=Ext.id());var B=function(G,I,H){return Ext.value(Ext.value(G,I),H);};this._macros={url:A.url||"",height:A.height||"100%",width:A.width||"100%",controls:B(A.controls,false),start:B(A.start,false),loop:B(A.loop,false),id:A.id};delete A.url;delete A.mediaType;delete A.height;delete A.width;delete A.controls;delete A.start;delete A.loop;delete A.params;delete A.unsupportedText;return A;}else{return null;}},"_PDF":Ext.apply({tag:"object",cls:"x-media x-media-pdf",type:"application/pdf",data:"@url",params:{src:"@url"}},Ext.isIE?{classid:"CLSID:CA8A9780-280D-11CF-A24D-444553540000"}:false),"_WMV":Ext.apply({tag:"object",cls:"x-media x-media-wmv",type:"video/x-ms-wmv",data:"@url",params:{src:"@url",url:"@url",autostart:"@start",showcontrols:"@controls"}},Ext.isIE?{classid:"CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"}:false),"_SWF":Ext.apply({tag:"object",cls:"x-media x-media-swf",type:"application/x-shockwave-flash",data:"@url",loop:true,start:true,params:{movie:"@url",menu:"@controls",play:"@start",quality:"high",bgcolor:"#FFFFFF",loop:"@loop"}},Ext.isIE?{classid:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"}:false),"_JWP":Ext.apply({tag:"object",cls:"x-media x-media-swf x-media-flv",type:"application/x-shockwave-flash",data:"@url",loop:true,start:false,params:{movie:"@url",flashVars:{autostart:"@start",repeat:"@loop",height:"@height",width:"@width",id:"@id"}}},Ext.isIE?{classid:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"}:false),"_MOV":Ext.apply({tag:"object",cls:"x-media x-media-mov",type:"video/quicktime",data:"@url",params:{src:"@url",autoplay:"@start",controller:"@controls"}},Ext.isIE?{classid:"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B",codebase:"http://www.apple.com/qtactivex/qtplugin.cab",type:"application/x-oleobject",params:{src:"@url",controller:"@controls",autostart:"@start"}}:false),"_REAL":Ext.apply({tag:"object",cls:"x-media x-media-real",type:"audio/x-pn-realaudio",data:"@url",standby:"Loading Real Media Player components...",params:{src:"@url",autostart:"@start",controller:"@controls",loop:"@loop",console:"TES"}},Ext.isIE?{classid:"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA",controls:"All"}:false),"_SVG":{tag:"object",cls:"x-media x-media-img x-media-svg",type:"image/svg+xml",data:"@url"},"_GIF":{tag:"object",cls:"x-media x-media-img x-media-gif",type:"image/gif",data:"@url"},"_JPEG":{tag:"object",cls:"x-media x-media-img x-media-jpeg",type:"image/jpeg",data:"@url"},"_PNG":{tag:"object",cls:"x-media x-media-img x-media-png",type:"image/png",data:"@url"},"_HTM":{tag:"object",cls:"x-media x-media-html",type:"text/html",style:{overflow:"auto"},data:"@url"},"_TXT":{tag:"object",cls:"x-media x-media-text",type:"text/plain",style:{overflow:"auto"},data:"@url"},"_XLS":{tag:"object",cls:"x-media x-media-excel",type:"application/x-msexcel",data:"@url"},"_XML":{tag:"object",cls:"x-media x-media-xml",type:"text/xml",style:{overflow:"auto"},data:"@url"},"_QTMIDI":Ext.apply({tag:"object",cls:"x-media x-media-audio x-media-midi",type:"audio/midi",style:{overflow:"auto"},data:"@url",params:{autostart:"@start"}},Ext.isIE?{classid:"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B",codebase:"http://www.apple.com/qtactivex/qtplugin.cab",type:"application/x-oleobject",params:{src:"@url",controller:"@controls",autostart:"@start"}}:false),"_QTMP3":Ext.apply({tag:"object",cls:"x-media x-media-audio x-media-mpeg",type:"audio/mpeg",data:"@url",params:{autostart:"@start"}},Ext.isIE?{classid:"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B",codebase:"http://www.apple.com/qtactivex/qtplugin.cab",type:"application/x-oleobject",params:{src:"@url",controller:"@controls",autostart:"@start"}}:false),"_QTWAV":Ext.apply({tag:"object",cls:"x-media x-media-audio x-media-wav",type:"audio/wav",data:"@url",params:{autostart:"@start"}},Ext.isIE?{classid:"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B",codebase:"http://www.apple.com/qtactivex/qtplugin.cab",type:"application/x-oleobject",params:{src:"@url",controller:"@controls",autostart:"@start"}}:false)});Ext.ux.MediaPanel=Ext.extend(Ext.Panel,Ext.apply({animCollapse:false,ctype:"Ext.ux.MediaPanel",initComponent:function(){this.bodyCfg||(this.bodyCfg={tag:"div",cls:this.baseCls+"-body",children:[]});this.autoLoad=false;var A;this.bodyCfg.children||(this.bodyCfg.children=[]);if(A=this.mediaMarkup(this.mediaCfg)){this.bodyCfg.children.push(A);}else{this.bodyCfg.html=this.mediaCfg?this.mediaCfg.unsupportedText||false:false;}Ext.ux.MediaPanel.superclass.initComponent.call(this);},onRender:function(B,A){if(this.bodyCfg){this.bodyCfg=this.applyMacros(this.bodyCfg);}Ext.ux.MediaPanel.superclass.onRender.call(this,B,A);Ext.each([this[this.collapseEl],this.el,this.body.child("x-media")],function(C){if(C){C.setVisibilityMode(Ext.Element[this.hideMode.toUpperCase()]||1).originalDisplay=(this.hideMode!="display"?"visible":"block");}},this);},renderMedia:function(B){B||(B=this.initialConfig.mediaCfg);var A;if(this.rendered&&(A=this.mediaMarkup(B))){this.body.update(this.applyMacros(A));}}},Ext.ux.MediaBase.prototype));Ext.reg("mediapanel",Ext.ux.MediaPanel);Ext.ux.MediaPanel.Flash=Ext.extend(Ext.ux.MediaPanel,{autoStart:false,requiredVersion:false,playerVersion:null,ctype:"Ext.ux.MediaPanel.Flash",SWFObject:null,varsName:"flashVars","_SWF":Ext.apply({tag:"object",cls:"x-media x-media-swf",type:"application/x-shockwave-flash",data:"@url",loop:true,start:true,params:{movie:"@url",play:"@start",loop:"@loop",menu:"@controls",quality:"high",bgcolor:"#FFFFFF"}},Ext.isIE?{classid:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"}:false),initComponent:function(){var F=Ext.apply({url:false},this.mediaCfg||{});if(F.url){this.requiredVersion=F.requiredVersion||false;var A=!!(this.playerVersion=this.detectVersion());var C=A&&(this.requiredVersion?this.assertVersion(this.requiredVersion):true);if(F.unsupportedText){if(typeof F.unsupportedText=="object"){F.unsupportedText=Ext.DomHelper.markup(F.unsupportedText);}F.unsupportedText=String.format(F.unsupportedText,F.requiredVersion,this.playerVersion||"Not installed");}if(!C){var B=A&&this.assertVersion("6.0.65");if(B&&F.installUrl){this.initialConfig.mediaCfg=F=F.installDescriptor||{tag:"object",cls:"x-media x-media-swf",id:"SWFInstaller",type:"application/x-shockwave-flash",data:"@url",url:F.installUrl,width:550,height:300,loop:false,start:true,unsupportedText:F.unsupportedText,params:{quality:"high",movie:"@url",allowScriptAcess:"always",align:"middle",bgcolor:"#3A6EA5",pluginspage:this.pluginsPage||"http://www.adobe.com/go/getflashplayer"}};F.params[this.varsName]="MMredirectURL="+(F.installRedirect||window.location)+"&MMplayerType="+(Ext.isIE?"ActiveX":"Plugin")+"&MMdoctitle="+(document.title=document.title.slice(0,47)+" - Flash Player Installation");}else{F.url=null;}}if(F.eventSynch){F.params||(F.params={});var E=F.params[this.varsName]||(F.params[this.varsName]={});if(typeof E=="string"){E=Ext.urlDecode(E,true);}var D=(F.eventSynch===true?{allowedDomain:E.allowedDomain||document.location.hostname,elementID:F.id||(F.id=Ext.id()),eventHandler:"Ext.ux.MediaPanel.Flash.eventSynch"}:F.eventSynch);Ext.apply(F.params,{allowScriptAccess:"always"})[this.varsName]=Ext.applyIf(E,D);}delete F.requiredVersion;delete F.installUrl;delete F.installRedirect;delete F.installDescriptor;delete F.eventSynch;}F.mediaType="SWF";this.mediaCfg=this.initialConfig.mediaCfg=F;Ext.ux.MediaPanel.Flash.superclass.initComponent.call(this);},onRender:function(B,A){Ext.ux.MediaPanel.Flash.superclass.onRender.call(this,B,A);this._setSWFObject.defer(20,this);},renderMedia:function(A){this._applyFixes();this.SWFObject=null;Ext.ux.MediaPanel.Flash.superclass.renderMedia.call(this,A);this._setSWFObject.defer(20,this);},_setSWFObject:function(){if(this.SWFObject=Ext.get(this.body.child("object.x-media-swf"))){this.SWFObject.owner=this;this.SWFObject.setVisibilityMode(Ext.Element[this.hideMode.toUpperCase()]||1).originalDisplay=(this.hideMode!="display"?"visible":"block");}},assertVersion:function(C){var B;C||(C=[]);if(C instanceof Array){B=C;}else{B=String(C).split(".");}B=(B.concat([0,0,0,0])).slice(0,3);var A;if(!(A=this.playerVersion||(this.playerVersion=this.detectVersion()))){return false;}if(A.major>parseFloat(B[0])){return true;}else{if(A.major==parseFloat(B[0])){if(A.minor>parseFloat(B[1])){return true;}else{if(A.minor==parseFloat(B[1])){if(A.rev>=parseFloat(B[2])){return true;}}}}}return false;},detectVersion:function(){var A=false;var B=function(E){return E&&!!E.length?{major:E[0]!=null?parseInt(E[0],10):0,minor:E[1]!=null?parseInt(E[1],10):0,rev:E[2]!=null?parseInt(E[2],10):0,toString:function(){return this.major+"."+this.minor+"."+this.rev;}}:false;};if(Ext.isIE){var C=null;try{C=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(D){try{C=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");A=[6,0,21];C.AllowScriptAccess="always";}catch(D){if(A&&A[0]==6){return B(A);}}try{C=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(D){}}if(C){A=C.GetVariable("$version").split(" ")[1].split(",");}}else{if(navigator.plugins&&navigator.mimeTypes.length){var C=navigator.plugins["Shockwave Flash"];if(C&&C.description){A=C.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split(".");}}}return B(A);},_applyFixes:function(){if(this.rendered&&Ext.isIE&&this.SWFObject){this.playerVersion||(this.playerVersion=this.detectVersion());if(this.playerVersion&&this.playerVersion.major>7){var B=this.SWFObject.dom;B.style.display="none";for(var A in B){if(typeof B[A]=="function"){B[A]=Ext.emptyFn;}}}}},beforeDestroy:function(){this._applyFixes();Ext.ux.MediaPanel.Flash.superclass.beforeDestroy.call(this);},call:function(fn){var SWF;if(SWF=this.getSWFObject()){var result=SWF.CallFunction('<invoke name="'+fn+'" returntype="javascript">'+__flash__argumentsToXML(arguments,1)+"</invoke>");return eval(result);}return undefined;},getSWFObject:function(){return this.rendered?this.SWFObject.dom||null:null;},_handleSWFEvent:function(A,C){var B=C.type||false;if(B){return this.fireEvent(B,this,A,C);}},onShow:function(){if(this.SWFObject){this.SWFObject.setVisible(true);}Ext.ux.MediaPanel.Flash.superclass.onShow.call(this);},onHide:function(){if(this.SWFObject){this.SWFObject.setVisible(false);}Ext.ux.MediaPanel.Flash.superclass.onHide.call(this);}});Ext.ux.MediaPanel.Flash.eventSynch=function(A,C){var B=Ext.get(A);if(B&&B.owner){return B.owner._handleSWFEvent.call(B.owner,B.dom,C);}};Ext.reg("flashpanel",Ext.ux.MediaPanel.Flash);
