/*
 * Mark's Playpen
 * Copyright(c) 2008, Mark Lancaster.
 * 
 */


(function(){Ext.applyIf(Ext.app,{autoConvertForm:true,pageLayout:"tabpanel",contactLookupURL:"/apex/customer_lookup"});})();

Ext.BLANK_IMAGE_URL='/i/1px_trans.gif';Date.monthNames=["JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER"];Ext.namespace('playpen');Ext.onReady(function(){var u=(window.location.href.indexOf("?")>0)?window.location.href.substring(0,window.location.href.indexOf("?")):window.location.href;playpen.baseURL=u.substring(0,u.lastIndexOf("/"));playpen.widgetUrl=playpen.baseURL+'/wwv_flow.show?p_flow_id='+Ext.getDom('pFlowId').value+'&p_flow_step_id=0&p_instance='+Ext.getDom('pInstance').value+'&p_request=APPLICATION_PROCESS%3Dwidget';});Ext.override(Ext.PagingToolbar,{paramNames:{start:'p_start',limit:'p_limit'}});Ext.form.ComboBox.override({getParams:function(q){var p={};if(this.pageSize){p['p_start']=0;p['p_limit']=this.pageSize;}
return p;}});htmldb_delete_message='Would you like to perform this delete action?';Ext.app.removeLoading=function(){var el=Ext.get('loading');if(el){setTimeout(function(){Ext.get('loading').remove();Ext.get('loading-mask').fadeOut({remove:true});},250);}};

Ext.ux.FormViewport=Ext.extend(Ext.Container,{initComponent:function(){Ext.ux.FormViewport.superclass.initComponent.call(this);document.getElementsByTagName('html')[0].className+=' x-viewport';this.el=Ext.get(this.applyTo)||Ext.get('wwvFlowForm')||Ext.getBody();Ext.getBody().dom.scroll='no';this.el.setHeight=Ext.emptyFn;this.el.setWidth=Ext.emptyFn;this.el.setSize=Ext.emptyFn;this.el.dom.scroll='no';this.allowDomMove=false;this.autoWidth=true;this.autoHeight=true;Ext.EventManager.onWindowResize(this.fireResize,this);this.renderTo=this.el;},fireResize:function(w,h){this.fireEvent('resize',this,w,h,w,h);}});Ext.reg('FormViewport',Ext.ux.FormViewport);

Ext.ux.StatefullTreePanel=function(el,config){Ext.ux.StatefullTreePanel.superclass.constructor.call(this,el,config);Ext.apply(this,config||{});this.on({expandnode:this.saveState,collapsenode:this.saveState,movenode:this.saveState,click:this.saveLastSelectedLeaf});}
Ext.extend(Ext.ux.StatefullTreePanel,Ext.tree.TreePanel,{getTreeState:function(){var state=[];this.root.cascade(function(){if(!this.isRoot&&this.isExpanded()){var node=this;while(node=node.parentNode){if(!node.isExpanded()){return;}}
for(var i=0,len=state.length;i<len;i++){if(0==this.getPath().indexOf(state[i]+'.')){state.splice(i,1);break;}}
state.push(this.getPath());}});return state;},restoreState:function(){var tree=Ext.state.Manager.get(this.stateId||(this.el.id+"-state"))
if(tree instanceof Array){for(var i=0,len=tree.length;i<len;++i){if(tree[i]){this.expandPath(tree[i]);}}}
var currentPage=this.getLastSelectedLeaf();if(currentPage){currentPage.select();currentPage.ensureVisible();};return this;},saveState:function(){if(this.root&&this.root.loaded){Ext.state.Manager.set(this.stateId||this.el.id+"-state",this.getTreeState());}
return this;},saveLastSelectedLeaf:function(node,e){if(node.isLeaf()){Ext.state.Manager.set("currentNode",node.id);}
return this;},getLastSelectedLeaf:function(){return this.getNodeById(Ext.state.Manager.get("currentNode"));}});

Ext.app.makeDateFields=function(){var els=Ext.select("input.date-picker",true,'wwvFlowForm');els.each(function(el){new Ext.form.DateField({applyTo:el,"format":'d-M-Y',"altFormats":'j|j/n|j/n/y|j/n/Y|j-M|j-M-y|j-M-Y'});})};Ext.app.makeResizable=function(){var els=Ext.select("textarea",true,'wwvFlowForm');els.each(function(el){var w=el.getWidth();var h=el.getHeight();new Ext.Resizable(el,{wrap:true,pinned:true,handles:'s',width:w,height:h,minWidth:w,minHeight:h});})}
Ext.app.makeComboFields=function(){var els=Ext.select("select.auto-combo",true,'wwvFlowForm');var ctCls='mjl';if(Ext.isIE){ctCls+=' mjl-ie';}
els.each(function(el){new Ext.form.ComboBox({ctCls:ctCls,autoShow:true,typeAhead:true,triggerAction:'all',transform:el,width:el.getWidth(),forceSelection:true});})}
Ext.app.moveDeveloperToolbar=function(){var dest=Ext.get('DeveloperToolbar');if(dest){var els=Ext.select("table[summary='Developer Toolbar']",false);els.each(function(el){el.replace(dest);})}}
Ext.onReady(function(){if(Ext.app.autoConvertForm){Ext.app.makeDateFields();Ext.app.makeResizable();Ext.app.makeComboFields();}
Ext.app.moveDeveloperToolbar();});function makeContactCombo(field,cc){var el=Ext.get(field);var resultTpl=new Ext.XTemplate('<tpl for="."><div class="search-item">','<h3>{contact}</h3>','Employer:  {emp}<br />','Job Title: {job}','</div></tpl>');if(cc=='C'){var resultTpl=new Ext.XTemplate('<tpl for="."><div class="search-item">','<h3>{contact}</h3>','</div></tpl>');}else{var resultTpl=new Ext.XTemplate('<tpl for="."><div class="search-item">','<h3>{contact}</h3>','Employer:  {emp}<br />','Job Title: {job}','</div></tpl>');}
var ds=new Ext.data.Store({proxy:new Ext.data.ScriptTagProxy({url:playpen.baseURL+'/pls/apex/prism.contact_lookup',nocache:false,callbackParam:'p_callback'}),reader:new Ext.data.JsonReader({root:'rowset',totalProperty:'totalRows',id:'id'},[{name:'id',mapping:'id'},{name:'contact',mapping:'contact'},{name:'job',mapping:'job'},{name:'emp',mapping:'emp'}]),baseParams:{'p_contact_class':cc}});var search=new Ext.form.ComboBox({store:ds,displayField:'contact',valueField:'id',typeAhead:false,itemSelector:'div.search-item',allowDomMove:false,transform:el,emptyText:'Contact search (3+ chars)...',loadingText:'Searching...',width:el.getWidth(),pageSize:10,tpl:resultTpl,triggerClass:'x-form-search-trigger',triggerAction:'all',minChars:3,queryParam:'p_query'});if(el.getValue()){search.store.load({params:{'p_contact_id':el.getValue()},callback:function(record,options,success){if(success){if(search.store.getAt(0)){search.setValue(search.store.getAt(0).id);}else{search.markInvalid('Unable to find contact');}}}});}}

Ext.app.commentForm=function(config){Ext.apply(this,config);Ext.app.commentForm.superclass.constructor.call(this);this.addEvents({submit:true});this.init();}
Ext.extend(Ext.app.commentForm,Ext.util.Observable,{init:function(){Ext.QuickTips.init();this.fp=new Ext.FormPanel({baseCls:'x-plain',labelAlign:'top',defaults:{width:525},items:[{xtype:'textfield',fieldLabel:'Author',name:'author',selectOnFocus:true,allowBlank:false},{xtype:'htmleditor',id:'comment',fieldLabel:'Comment',height:282}]});this.window=new Ext.Window({title:'Add a comment',width:550,height:425,resizable:false,layout:'fit',bodyStyle:'padding:5px 5px 0px 5px;',buttonAlign:'center',items:this.fp,buttons:[{text:'Send',scope:this,handler:function(){this.onSubmit();}},{text:'Cancel',scope:this,handler:function(){this.window.hide();}}]});this.show();this.fp.items.items[0].focus(true,true);return this;},onSubmit:function(e){this.fireEvent("submit",this);this.window.hide();},getValues:function(asString){return this.fp.getForm().getValues();},reset:function(){this.fp.items.each(function(f){f.reset();});},show:function(){if(this.window){this.window.show();this.fp.items.items[0].focus(true,true);}}});

Ext.ux.collapsedPanelTitlePlugin=function()
{this.init=function(p){if(p.collapsible)
{var r=p.region;if((r=='north')||(r=='south'))
{p.on('render',function()
{var ct=p.ownerCt;ct.on('afterlayout',function()
{if(ct.layout[r].collapsedEl)
{p.collapsedTitleEl=ct.layout[r].collapsedEl.createChild({tag:'div',cls:'x-panel-collapsed-text',html:p.title});p.setTitle=Ext.Panel.prototype.setTitle.createSequence(function(t)
{p.collapsedTitleEl.dom.innerHTML=t;});}},false,{single:true});p.on('collapse',function()
{if(ct.layout[r].collapsedEl&&!p.collapsedTitleEl)
{p.collapsedTitleEl=ct.layout[r].collapsedEl.createChild({tag:'div',cls:'x-panel-collapsed-text',html:p.title});p.setTitle=Ext.Panel.prototype.setTitle.createSequence(function(t)
{p.collapsedTitleEl.dom.innerHTML=t;});}},false,{single:true});});}}};}

Main=function(){};Main.prototype={init:function(){Ext.QuickTips.init();this.cookies=new Ext.state.CookieProvider();Ext.state.Manager.setProvider(this.cookies);this.initPageContent();this.initContentPanel();this.initTreePanel();this.viewport=new Ext.ux.FormViewport({layout:'border',items:[new Ext.BoxComponent({region:'north',el:'north',height:45}),new Ext.BoxComponent({region:'south',el:'south',height:32}),this.treePanel,this.contentPanel]});var currentPage=this.tree.getLastSelectedLeaf();if(currentPage){currentPage.select();currentPage.ensureVisible();};Ext.app.removeLoading();},initTreePanel:function(){var jsonTreeData=[];try{if(navTreeData){jsonTreeData=navTreeData;}}
catch(e){}
NavTree=function(){NavTree.superclass.constructor.call(this,{id:'nav-tree',rootVisible:false,lines:false,bodyBorder:false,autoScroll:true,animate:false,collapseMode:'mini',loader:new Ext.tree.TreeLoader({pathSeparator:'>',preloadChildren:true,clearOnLoad:false}),root:new Ext.tree.AsyncTreeNode({text:'Ext JS',id:'root',expanded:true,children:jsonTreeData}),collapseFirst:false});this.getSelectionModel().on('beforeselect',function(sm,node){return node.isLeaf();});this.on('load',function(node){node.getOwnerTree().restoreState();});};Ext.extend(NavTree,Ext.ux.StatefullTreePanel,{});var tree=new NavTree();var tp=new Ext.Panel({region:'west',id:'west-panel',split:true,width:200,minSize:175,maxSize:400,collapsible:true,collapseMode:'mini',margins:'0 0 0 5',layout:'accordion',border:false,bodyBorder:false,bodyStyle:'border-top:1px solid #99BBE8;background-color:#DFE8F6',layoutConfig:{animate:true},items:[{contentEl:'region_position_02',id:'nav-panel',title:'Navigation',layout:'fit',items:[tree]},{contentEl:'region_position_03',id:'settings-panel',title:'Settings',autoScroll:true}]});this.tree=tree;this.treePanel=tp;this.navPanel=Ext.getCmp('nav-panel');this.settingsPanel=Ext.getCmp('settings-panel');},initPageContent:function(){var pc=new Ext.Panel({layout:"border",border:false,stateful:false,defaults:{border:false},items:[{region:"center",contentEl:'pageCenter',title:document.title,autoScroll:true,bodyStyle:'padding:10px;'}]});var el=Ext.getDom('region_position_08');if(el&&el.firstChild){pc.add({region:"south",id:'more-info',title:"More Information",contentEl:'region_position_08',height:140,split:true,border:true,bodyBorder:false,collapsible:true,titleCollapse:true,autoScroll:true,bodyStyle:'padding:10px;',plugins:new Ext.ux.collapsedPanelTitlePlugin()});};this.pageContent=pc;},initContentPanel:function(){var panelType=Ext.app.pageLayout;switch(panelType){case'tabpanel':var cp=new Ext.TabPanel({region:'center',margins:'0 5 0 0',enableTabScroll:true,deferredRender:true});cp.on('tabchange',function(tp,tab){tab.suspendEvents();if(tab.autoLoad){window.location=tab.autoLoad;}
else{tab.resumeEvents();}});break;case'panel':var cp=new Ext.Panel({region:'center',margins:'0 5 0 0',deferredRender:true,border:true,layout:"fit",items:[this.pageContent]});break;default:alert('Unsupported panelType: '+panelType);}
this.contentPanel=cp;}};main=new Main();Ext.onReady(main.init,main);Ext.onReady(function(){var b1=Ext.get('show-btn');var frm;if(!b1){return null;}
b1.on('click',function(){if(!frm){frm=new Ext.app.commentForm();frm.on('submit',function(){var regionId=3784802046421068;new Ext.LoadMask('report_'+regionId+'_catch',{removeMask:true}).show();var v=frm.getValues();var app_id=Ext.getDom('pFlowId').value;var page_id=Ext.getDom('pFlowStepId').value;var session_id=Ext.getDom('pInstance').value;var rpt_rows=Ext.getDom('P0_NUM_ROWS').value;var get=new htmldb_Get(null,app_id,'APPLICATION_PROCESS=ajax_comment',0);get.add('G01',page_id);get.add('G02',v.author);get.add('G03',v.comment);var gReturn=get.get();get=null;$a_report(regionId,1,rpt_rows)});}else{frm.reset();frm.show();}});});
