
PDQ.block=function(config){this.init(config);};PDQ.block.prototype.init=function(config,saveState){var saveState=saveState||false;if(typeof this.popUp!='undefined'){if(this.popUp||this.popUpChild){return;}}
if(saveState){this.lastTabClickId=this.lastTabClickId||null;}else{this.lastTabClickId=null;}
this.id=config.id;this.pageSet=null;this.blockPC=null;this.isLocalDef=config.isLocalDef||false;this.popUp=config.popUp||null;this.popUpChild=false;this.hasBeenCollapsed=false;this.title=config.title;this.copyVer=config.copyVer;this.srcBlockPC=config.srcBlockPC;this.blockCode=config.blockCode;this.docId=config.docId;this.portletDocId=config.portletDocId||null;this.sort=eval(config.sort);this.isDisplay=config.isDisplay;this.hideNoRows=config.hideNoRows||null;this.hideIfBlank=config.hideIfBlank||null;this.sameSpaceCode=config.sameSpaceCode;this.hideBlocks=config.hideBlocks;this.displayMode=config.displayMode;this.progressIcon=config.progressIcon;this.debug=config.debug;this.blockType=config.blockType;this.alignH=config.alignH;this.isColumn=config.isColumn;this.parentId=config.parentId||null;this.parentPanel=null;this.generalFlags=config.generalFlags||[];this.width=config.width||null;this.heightMin=config.heightMin||null;this.heightMax=config.heightMax||null;this.clip=config.clip;this.forceAbsolute=config.forceAbsolute;this.prevColumn=config.prevColumn||null;this.extraVariables=config.extraVariables||'';this.extraClass=[''];this.blockStyles=config.blockStyles||'';this.transparent=false;this.db=config.db||null;this.cacheForms=config.cacheForms;this.formName=config.formName||'';this.URLOpts=config.URLOpts||'';this.gAnalytics=[];this.gAnalyticsLast=[];this.execMsSrv=null;if(typeof this.param=='undefined')this.param={};this.paramMon=config.paramMon;this.paramUsed=config.paramUsed;this.paramRef=config.paramRef;this.paramUpdates=config.paramUpdates;this.refreshSelf=config.refreshSelf;this.paramNoRefreshOnBank=config.paramNoRefreshOnBank||null;this.paramsClearOnExit=config.paramsClearOnExit;this.typeParams=config.typeParams;this.debugInfo=config.debugInfo||null;this.initialized=false;this.dataReceived=this.dataReceived||false;if(typeof config.initialData!='undefined'){this.initialData=config.initialData;}
if(typeof config.initialDataParam!='undefined'){this.initialDataParam=config.initialDataParam;}
this.fromServerCache=null;this.reasonNotServerCache=null;this.fromPrefetchedData=false;this.lazyCache=null;this.cache={};this.cache.date=null;this.cache.dirty=null;this.cache.dirtyReason='';this.toDelete=false;this.parent=null;this.childIndex=null;this.previous=null;this.next=null;this.firstChild=null;this.lastChild=null;this.childBlocks=[];this.refreshMark=false;this.refreshDoc=[];this.manualResize=false;this.adjustedSize=false;this.lastSingleClickRowDocId=null;this.deleteRefreshBlocks=[];this.deleteRow=null;this.deleteTrans=null;this.deleteIndex=null;this.deleteCount=null;this.deleteMsg=null;if(typeof this.panel=='undefined')this.panel=null;if(typeof this.toolBar=='undefined')this.toolBar=null;if(typeof this.data=='undefined')this.data=null;if(typeof this.recordCfg=='undefined')this.recordCfg=null;if(typeof this.record=='undefined')this.record=null;if(typeof this.store=='undefined')this.store=null;if(typeof this.colModel=='undefined')this.colModel=null;if(typeof this.grid=='undefined')this.grid=null;if(typeof this.dataview=='undefined')this.dataview=null;if(typeof this.map=='undefined')this.map=null;this.heightChange=false;this.widthChange=false;this.isPaged=null;this.macroParam={};this.calcInProcess=false;this.calcTotalRows=null;this.calcO={};this.calcLastRowDone=null;this.calcAlert=null;this.dragZone=null;this.dragEnabled=false;this.dragInProcess=false;this.currentPressed;this.lastPressed;this.adjustHeightTask=new Ext.util.DelayedTask();this.buttons={};this.initialRowSelection=false;if(this.parentId){this.parent=PDQ.getActiveBlock(this.parentId);var pObj=this.parent;}else{var pObj=PDQ;}
var blockExists=-1;for(var i=0;i<pObj.childBlocks.length;i++){if(pObj.childBlocks[i].id==this.id){blockExists=i;}
if(pObj.childBlocks[i].sort>this.sort){break;}}
if(blockExists==-1){if(i<pObj.childBlocks.length){pObj.childBlocks.splice(i,0,this);}else{pObj.childBlocks[i]=this;}}else{if(blockExists!=i){if(i<pObj.childBlocks.length){pObj.childBlocks.splice(i,0,this);}else{pObj.childBlocks[i]=this;}
if(blockExists<i){pObj.childBlocks.splice(blockExists,1);}else{pObj.childBlocks.splice(blockExists+1,1);}}}
for(var i=0;i<pObj.childBlocks.length;i++){pObj.childBlocks[i].childIndex=i;if(i==0){pObj.childBlocks[i].previous=null;if(pObj.childBlocks.length>=2){pObj.childBlocks[i].next=pObj.childBlocks[i+1];}else{pObj.childBlocks[i].next=null;}}else if(i<(pObj.childBlocks.length-1)){pObj.childBlocks[i].previous=pObj.childBlocks[i-1];pObj.childBlocks[i].next=pObj.childBlocks[i+1];}else{pObj.childBlocks[i].previous=pObj.childBlocks[i-1];pObj.childBlocks[i].next=null;}}
pObj.firstChild=pObj.childBlocks[0];pObj.lastChild=pObj.childBlocks[pObj.childBlocks.length-1];var t=this.id.split('__');this.pageSet=t[0]
this.blockPC=PDQ.pageCode+"-"+t[1];if(t.length>=3){this.blockPC+="-"+t[2];}
PDQ.Block[this.blockCode]=this;pBlock=this.parent;while(pBlock){if(pBlock.popUp){this.popUpChild=true;this.popUpBlock=pBlock;break;}
pBlock=pBlock.parent;}
if(this.popUp){this.popUpBlock=this;}}
PDQ.block.prototype.createBlankPanel=function(){if(document.body){PDQ.log('New block '+this.id);}
var hidden=!this.isDisplay;if(this.displayMode=='A'&&this.blockStyles.match(/border:/i)){this.displayMode='M';}
if(this.displayMode=='M'){hidden=true;}
var hideMode='offsets';if(this.blockType=='PC'){var bs='';if(!this.blockStyles.match(/background-color:/i)&&this.popUp===null){bs='background-color:transparent;';}
var np={id:this.id,style:bs+this.blockStyles,bodyStyle:bs,hidden:hidden,hideMode:hideMode,border:false,autoScroll:false};if(this.width){np.width=this.width;}
np.layout='column';}else if(this.blockType=='P'){var bs='';if(!this.blockStyles.match(/background-color:/i)&&this.popUp===null){bs='background-color:transparent;';}
if(this.heightMax===null){var sc=false;}else{if(this.clip=='HV'){var sc=false;}else{var sc=true;if(this.clip=='H'){bs+='overflow-x:hidden;';}}}
var np={id:this.id,style:bs+this.blockStyles,bodyStyle:bs,border:false,hidden:hidden,hideMode:hideMode,autoScroll:sc};if(this.width){np.width=this.width;}else{if(this.parent){if(this.parent.blockType=='PC'&&this.id==this.parent.childBlocks[this.parent.childBlocks.length-1].id){var leftW=0;for(var i=0;i<(this.parent.childBlocks.length-1);i++){var p=this.parent.childBlocks[i].panel;var pW=p.getSize().width;leftW+=pW;}
if(this.parent.width>0){var parW=this.parent.width;}else{var parW=this.parent.panel.getSize().width;}
if(parW>leftW){this.width=parW-leftW;np.width=this.width;}}}}}else if(this.blockType==''){var bs='';if(!this.blockStyles.match(/background-color:/i)&&this.popUp===null){bs='background-color:transparent;';}
if(this.heightMax===null){var sc=false;}else{if(this.clip=='HV'){var sc=false;}else{var sc=true;if(this.clip=='H'){bs+='overflow-x:hidden;';}else{bs+='overflow-x:auto;';}}}
var np={id:this.id,style:bs+this.blockStyles,bodyStyle:bs,cls:'HTMLtext',border:false,hidden:hidden,hideMode:hideMode,autoScroll:sc};if(this.width){np.width=this.width;}}else if(this.blockType=='T1'){var np={id:this.id,style:this.blockStyles,hidden:hidden,border:false};if(this.width){np.width=this.width;}}else if(this.blockType=='M'){if(Ext.isEmpty(this.parent.width)){}
var np={id:this.id,style:this.blockStyles,border:false,autoScroll:false};if(this.width){np.width=this.width;}}else{var bs='';if(this.clip=='HV'){var sc=false;}else{var sc=true;if(this.clip=='H'){bs+='overflow-x:hidden;';}}
var np={id:this.id,style:bs+this.blockStyles,bodyStyle:bs,hidden:hidden,border:false,autoScroll:sc};if(this.width){np.width=this.width;}}
if(this.popUp){delete np.cls;np.shadow='sides';if(Ext.isIE){np.shadowOffset=14;}else{np.shadowOffset=6;}
np.closeAction='hide';np.bodyStyle="overflow-x:hidden;overflow-y:hidden;";np.border=false;if(!Ext.isEmpty(this.popUp.title)){np.title=this.popUp.title;}
np.resizable=false;if(this.popUp.popFlags.indexOf('RS')>=0){np.resizable=true;}
np.modal=false;if(this.popUp.popFlags.indexOf('MOD')>=0){np.modal=true;}
np.collapsible=true;if(this.popUp.popFlags.indexOf('NCL')>=0){np.collapsible=false;}
np.closable=true;if(this.popUp.popFlags.indexOf('NC')>=0){np.closable=false;}
this.panel=new Ext.Window(np);this.panel.on('render',function(){this.PDQblock.setPanelWidth();},this.panel);this.panel.on('show',function(){if(!this.popUp.windowMarginsAdjusted){PDQ.windowMarginsAdjust(this.panel);this.setPopShadow();this.popUp.windowMarginsAdjusted=true;}},this);this.panel.on('hide',function(){this.setPopShadow();this.setPopShadow.defer(250,this);PDQ.log('OnHide event triggered for closing '+this.id+' popup (shadows should be closed by now)')
if(this.popUp.popFlags.indexOf('RSH')>=0){var fn=function(b){b.manualResize=false;b.adjustedSize=false;for(var i=0;i<b.childBlocks.length;i++){fn(b.childBlocks[i])}};fn(this);}
if(!Ext.isEmpty(this.popUp.popParamsClearOnClose)){var vList=this.popUp.popParamsClearOnClose;var cVars={};for(var i=0;i<vList.length;i++){cVars[vList[i]]='';}
this.data=null;PDQ.updateCheck(this.id,cVars);}},this);this.panel.on('beforehide',function(){var fn=function(b){if(b.generalFlags.indexOf('COH')!=-1){b.param={};b.data=null;if(b.blockType==''){b.panel.body.update('');var newH=newH=b.heightMin||0;b.panel.setHeight(newH);b.panel.doLayout();}}
for(var i=0;i<b.childBlocks.length;i++){fn(b.childBlocks[i]);}};fn(this);this.adjustHeight();},this);this.panel.on('move',function(){if(this.panel.getEl().dom.style.position=='fixed'){var top=document.body.scrollTop;var topW=parseInt(this.panel.getEl().dom.style.top);top=topW-top;this.panel.PDQblock.topFix=top;this.panel.PDQblock.topSave=document.body.scrollTop;this.panel.getEl().dom.style.top=top+'px';var sDiv=this.panel.getEl().dom.previousSibling;if(sDiv){var top=document.body.scrollTop;var topW=parseInt(sDiv.style.top);var top=topW-top;sDiv.style.position='fixed';sDiv.style.top=top+'px';}}
this.setPopShadow();},this);this.panel.on('collapse',function(){this.setPopShadow();},this);this.panel.on('expand',function(){this.setPopShadow();},this);this.popUp.placed=false;}else{this.panel=new Ext.Panel(np);}
this.panel.PDQblock=this;this.transparent=false;this.panel.addListener('render',function(){this.panel.body.addListener('scroll',function(e){e.stopPropagation();});this.setBlockColor();if(this.blockType!='P'&&this.blockType!='PC'&&this.displayMode=='M'){if(this.getVisibility())this.panel.getEl().setVisible(false);}
var panEl=this.panel.getEl();panEl.addListener('mousedown',function(e){return;PDQ.isContextMenu=true;if(!Ext.isIE&&e.button!=1)return;if(Ext.isIE&&e.button!=2)return;if(e.altKey)return;if(e.ctrlKey)return;if(e.shiftKey)return;PDQ.messageBox.alert('Context menu');},this);this.panel.body.on('mousewheel',function(e,div){var sNode=div
while(sNode.className.match(/x-panel-body|x-grid3-scroller/i)===null){sNode=sNode.parentNode}
if(sNode.scrollHeight==sNode.clientHeight){return;}
var delta=e.getWheelDelta();if(delta<0){if((sNode.scrollTop+sNode.clientHeight)>=sNode.scrollHeight){e.stopEvent();}}else{if(sNode.scrollTop==0){e.stopEvent();}}},this);if(this.blockType!='P'&&this.blockType!='PC'){this.panel.body.on('click',function(e){if(!e.altKey){if(PDQ.adminWin){PDQ.adminWin.hide();}
return;}
if(PDQ.adminPop.indexOf('BCR')<0){PDQ.messageBox.alert('No authorized for administration popup.');return;}
PDQ.popAltClick(this,e);e.stopPropagation();e.stopEvent();},this);}},this,true);if(this.popUp){this.panel.on('resize',function(e){if(this.panel.isVisible()&&!this.panel.collapsed){if(this.popUp.popFlags.indexOf('RS')>=0){PDQ.isManualResizing=true;var aObj=this.getChildHeights();for(var i=0;i<aObj.adjust.length;i++){aObj.adjust[i].block.panel.setHeight(aObj.adjust[i].newHeight);aObj.adjust[i].block.adjustedSize=true;aObj.adjust[i].block.panel.body.dom.style.overflowX='auto'
aObj.adjust[i].block.panel.body.dom.style.overflowY='auto'}
this.manualResize=true;PDQ.isManualResizing=false;}};this.setPopShadow();},this);}else{}
this.placeBlankPanel();};PDQ.block.prototype.setBlockColor=function(){var div=this.panel.getEl().dom;if(div.currentStyle){var bgc=div.currentStyle.backgroundColor;}else{var bgc=div.style.backgroundColor;}
if(this.blockType=='T1'&&PDQ.tabBGcolor=='DEFAULT!'){return;}else if(this.blockType=='T1'&&PDQ.tabBGcolor.match(/!$/i)){bgc=PDQ.tabBGcolor.slice(0,6);}else if(this.blockType=='T1'&&PDQ.tabBGcolor==''){}else if(bgc==''){bgc='transparent';}
var div=this.panel.body.dom;div.style.background=bgc;if(this.blockType=='T1'&&div.firstChild){if(div.firstChild.tagName=='DIV'){div=div.firstChild;div.style.background=bgc;}}}
PDQ.block.prototype.setVisibility=function(doWidths){if(typeof doWidths=='undefined'){var doWidths=false;}
if(this.panel===null){if(this.parent){}
return;}
var h=this.panel.hidden;var r=this.panel.rendered;var changed=false;if(this.panel.isVisible()){if(typeof this.show=='undefined')this.isShowing=true;var gv={};if(this.hideNoRows){gv={hasData:true};}
if(this.hideIfBlank){gv={hasData:true};}
var showPanel=this.getVisibility(gv);}else{if(typeof this.show=='undefined')this.isShowing=false;var showPanel=this.getVisibility({hasData:true});}
if(showPanel){if(!this.panel.isVisible()||this.isShowing){if(!this.isShowing){this.display.defer(100,this);}
this.panel.show();this.panel.getEl().setVisible(true);this.setBlockColor();if(this.popUp){this.panel.toFront();}
changed=true;}
for(var i=0;i<this.childBlocks.length;i++){if(this.childBlocks[i].popUp===null){var childChanged=this.childBlocks[i].setVisibility();if(!changed&&childChanged){changed=true;}}}
this.isShowing=true;}else{if(this.panel.isVisible()){this.panel.hide();changed=true;}else{this.panel.hide();}
for(var i=0;i<this.childBlocks.length;i++){if(this.childBlocks[i].popUp===null){var childChanged=this.childBlocks[i].setVisibility();if(!changed&&childChanged){changed=true;}}}
this.isShowing=false;}
if(doWidths){PDQ.recalcWidths(this.id);}
if(this.blockType=='G'){this.adjustHeight();}
if(this.copyVer==''){var bcv=this.blockCode;}else{var bcv=this.blockCode+'_'+this.copyVer;}
for(var i in PDQ.blocks){for(var k=0;k<PDQ.blocks[i].hideBlocks.length;k++){if(PDQ.blocks[i].hideBlocks[k]==bcv){PDQ.blocks[i].setVisibility();}}}
if(this.popUp){if(this.panel.isVisible()){var left=null;var top=null;var vH=Ext.lib.Dom.getViewportHeight();var vW=Ext.lib.Dom.getViewportWidth();var wH=this.panel.getSize().height;var wW=this.panel.getSize().width;if(!this.popUp.placed){var tM=Ext.lib.Dom.getViewportHeight()*.07;if(this.popUp.position=='TL'){top=(vH-wH)/3;top=top<20?20:top
top=top>tM?tM:top
left=20;}else if(this.popUp.position=='TR'){top=(vH-wH)/3;top=top<20?20:top
top=top>tM?tM:top
left=vW-30-wW;}else if(this.popUp.position=='BL'){top=vH-20-wH;left=20;}else if(this.popUp.position=='BR'){top=vH-20-wH;left=vW-30-wW;}else if(this.popUp.position=='HC'){top=(vH-wH)/4;left=(vW-wW)/2;}else{var wHn=wH;if(this.heightMin>wHn){wHn=this.heightMin;}
top=(vH-wHn)/2*.9
left=(vW-wW)/2;}
this.popUp.placed=true;}else{if(Ext.isIE){top=this.panel.getPosition()[1]-this.docScrollTop;}else{top=this.panel.getPosition()[1]-document.body.scrollTop;}
left=this.panel.getPosition()[0];}
if(top!==null){top+=document.body.scrollTop;if(top<20)top=20;if(left<20)left=20;if((top-10)<document.body.scrollTop){top=document.body.scrollTop+top;}
if((top+wH)>(document.body.scrollTop+vH)){top=document.body.scrollTop+vH-30-wH;}
if(top<0)top=20;if(left<0)left=20;this.panel.setPosition(left,top);this.docScrollTop=document.body.scrollTop;}}}
if(this.parent){}
return changed;}
PDQ.block.prototype.placeBlankPanel=function(pn){if(typeof pn=='undefined'){var pn=this.panel;}
if(this.popUp){if(!pn.rendered){PDQ.log('Placing blank popup panel '+this.blockCode);pn.render(document.body);pn.body.dom.style.cssText='';pn.body.dom.parentNode.style.cssText='';pn.body.dom.parentNode.parentNode.style.cssText='';pn.body.dom.parentNode.parentNode.parentNode.style.cssText='';pn.body.dom.parentNode.parentNode.parentNode.parentNode.style.cssText='';}
if(this.blockType=='PC'||this.blockType=='P'){this.setVisibility();}
return}
if(this.popUpChild&&pn.rendered){return;}
if(this.parent){var pp=this.parent.panel;}else{var pp=PDQ.mainPanel;}
this.parentPanel=pp;if(typeof this.parentPanel.items=='undefined'){this.parentPanel.add(pn);}else{var curIndex=-1;for(i=0;i<this.parentPanel.items.items.length;i++){if(this.parentPanel.items.items[i].PDQblock.id==this.id){curIndex=i;}}
if(curIndex!=this.childIndex){if(curIndex>=0){pn=this.parentPanel.remove(this.parentPanel.items.items[curIndex],false);}
this.parentPanel.insert(this.childIndex,pn);}}
this.panel=pn;if(this.parentPanel.doLayout){this.parentPanel.doLayout();}
if(this.heightMin){this.panel.setHeight(this.heightMin);}
if(this.panel.getSize().height==0){this.panel.setHeight(1);}
if(Ext.isChrome){this.panel.getEl().applyStyles(this.blockStyles)}
this.adjustRightColumn();}
PDQ.block.prototype.adjustRightColumn=function(){if(this.parent===null){return;}
if(this.parent.blockType!='PC'){return;}
var pb=this.parent;if(Ext.isIE){if(!pb.childBlocks[pb.childBlocks.length-1].getVisibility()){return;}}
if(pb.childBlocks.length>1){var totW=0;var lastC=null;for(var i=0;i<pb.childBlocks.length;i++){if(pb.childBlocks[i].isDisplay&&pb.childBlocks[i].popUp===null){if(pb.childBlocks[i].width!==null){totW+=pb.childBlocks[i].width;}
if(pb.childBlocks[i].width===null){lastC=pb.childBlocks[i];}
if((pb.childBlocks[i].blockType=='P'||pb.childBlocks[i].blockType=='PC')&&pb.childBlocks[i].childBlocks.length==0){pb.childBlocks[i].setVisibility(false);}}}
if(pb.panel){var pw=pb.panel.getEl().dom.parentNode.scrollWidth;if(pb.panel.getSize().width!=pw){pb.setPanelWidth(pw)}}
if(lastC===null){lastC=pb.childBlocks[pb.childBlocks.length-1];if(Ext.isEmpty(lastC.panel))return;totW-=lastC.panel.getSize().width;}
if(pb.panel){var pw=pb.panel.getEl().dom.parentNode.scrollWidth;pw-=pb.panel.getFrameWidth();var lastW=pw-totW;if(Ext.isIE){lastW-=1;}
if(typeof lastC.panel!='undefined'){if(lastC.panel){lastC.setPanelWidth(lastW);}}}}}
PDQ.block.prototype.addDataRequestToQ=function(o,reason,LatLng,isPointsReq,worldPoints,lazyCache){if(Ext.isEmpty(isPointsReq)){var isPointsReq=false;}
if(Ext.isEmpty(worldPoints)){var worldPoints=false;}
if(typeof o=='undefined')o={};if(o===null)o={};if(typeof reason=='undefined')reason='';if(this.blockType=='P'||this.blockType=='PC'){if(this.paramUsed.length==0){return;}}
var docsDeleted=false;var hasStore=false;if(typeof this.store!='undefined'){if(this.store)hasStore=true;}
if(this.refreshDoc.length>0&&hasStore){for(var k=this.refreshDoc.length-1;k>=0;k--){if(this.refreshDoc[k].mode=='Delete'){var delRecIndex=this.store.find('docId',this.refreshDoc[k].docId);if(delRecIndex>=0){var delRec=this.store.getAt(delRecIndex);if(typeof delRec!='undefined'){this.store.remove(delRec);if(this.blockType=='DV'){this.dataview.refresh();if(this.typeParams.dataViewOptions.indexOf('popImage')==-1){PDQ.initPopZoom.defer(300,this,[this.panel,{clickDelay:250,cornerOnly:true}]);}}}}
this.refreshDoc.splice(k,1);docsDeleted=true;}}}
if(docsDeleted&&this.refreshDoc.length==0){return}
var p={};p.type='Block';p.db=PDQ.db;p.cmPageId=PDQ.cmPageId;p.pageSet=this.pageSet;p.pageCode=PDQ.pageCode;p.blockPC=this.blockPC;p.blockDocId=this.docId;p.block=this;p.requestFn=this.request;if(o.ignoreCache){p.ignoreCache=true;p.savePosition=true;delete o.ignoreCache;}
if(o.savePosition){p.savePosition=true;}
if(o.clearAdmin){p.clearAdmin=true;}
if(this.portletDocId)p.portletDocId=this.portletDocId;if(this.progressIcon=='N'){p.noProgress=true;}
if(reason)p.reason=reason;if(this.refreshDoc.length>0&&(this.blockType=='G'||this.blockType=='DV')){var i=0;var d=[];for(var k=this.refreshDoc.length-1;k>=0;k--){if(this.refreshDoc[k].mode=='Update'||this.refreshDoc[k].mode=='Create'){if(this.refreshDoc[k].db){var dcp=this.refreshDoc[k].db.replace(/\\/g,'/');dcp=this.refreshDoc[k].docId+'^'+dcp;d.push(dcp);}else{d.push(this.refreshDoc[k].docId);}
this.refreshDoc.splice(k,1);}}
p.GetDocID=d.join('|');}
p.params={};for(var i in o){p.params[i]=o[i];}
if(this.blockType=='M'){var zoomCenter=PDQ.getMapCenterZoom(this);if(zoomCenter.zoom){if(this.map){p.params['SM_zoom']=this.map.getZoom();}else{p.params['SM_zoom']=zoomCenter.zoom;}}
if(this.mapWorldLoaded){p.params['SM_zoom']=PDQ.map.ajaxZoom;worldPoints=false;}
if(Ext.isEmpty(LatLng)){var LL=zoomCenter.centerPoint;}else{var LL=LatLng;}
if(LL){p.params['SM_lat']=LL.lat();p.params['SM_lng']=LL.lng();}
if(worldPoints){if(PDQ.map.worldMapAge>0){p.params['UseCacheMin']=PDQ.map.worldMapAge;}}
if(zoomCenter.zoom<PDQ.map.ajaxZoom){p.params['UseCacheMin']=PDQ.map.worldMapAge;}}
if(typeof lazyCache!='undefined'){p.lazyCache=lazyCache;}
var inQueue=false;if(typeof p.GetDocID=='undefined'){CheckStackEntry:for(var i=PDQ.q.stack.low;i<=PDQ.q.stack.high&&!inQueue;i++){if(PDQ.q.stack[i].type!='Block')continue CheckStackEntry;if(typeof PDQ.q.stack[i].transaction=='undefined'||PDQ.q.stack[i].status===null){if(p.db!=PDQ.q.stack[i].db)continue CheckStackEntry;if(p.cmPageId!=PDQ.q.stack[i].cmPageId)continue CheckStackEntry;if(p.pageSet!=PDQ.q.stack[i].pageSet)continue CheckStackEntry;if(p.pageCode!=PDQ.q.stack[i].pageCode)continue CheckStackEntry;if(p.blockPC!=PDQ.q.stack[i].blockPC)continue CheckStackEntry;if(!Ext.isEmpty(PDQ.q.stack[i].GetDocID))continue CheckStackEntry;inQueue=true;break;}}}
if(!inQueue||isPointsReq){p.isPointsReq=isPointsReq;p.worldPoints=worldPoints;var si=PDQ.q.add(p);if(!PDQ.lazyCachePageRefresh){PDQ.q.exec();}}
this.refreshMark=false;return p;};PDQ.block.prototype.request=function(o){var stackEntry=this;var delayMsec=null;if(!stackEntry.params)stackEntry.params={};if(Ext.isEmpty(stackEntry.previousIndex)||typeof stackEntry.paramsSent=='undefined'){stackEntry.paramsSent={};}
if(Ext.isEmpty(stackEntry.previousIndex)||typeof stackEntry.paramsSentURL=='undefined'){stackEntry.paramsSentURL={PDQsession:PDQ.session};}
var b=stackEntry.block;if(this.type=='Block'){if(b.blockType=='T1'){if(Ext.isEmpty(b.toolBar)){b.toolBar=new Ext.Toolbar({height:b.panel.getBox()['height']});b.panel.add(b.toolBar);}
if(b.popUp===null)
if(b.parentPanel){b.parentPanel.doLayout();}
b.parentPanel.doLayout();}else if((b.blockType==''||b.blockType=='DV')&&b.progressIcon=='D'){b.panel.body.update('');var yOff=b.panel.getBox()['height']/2-16;var progress=dh.insertFirst(b.panel.body,{tag:'div',align:'center',style:'margin-top:'+yOff+'px;',children:{tag:'img',src:PDQ.portalDir+'/ajax-loader.gif?OpenImageResource'}});b.panel.doLayout();}
if(Ext.isEmpty(stackEntry.previousIndex)){var p=b.paramUsed.concat(b.paramRef);p=PDQ.getParams(p,stackEntry.block);for(var i in p){if(i!==''){stackEntry.paramsSent[i]=p[i];stackEntry.paramsSentURL['V_'+i]=p[i];}}}
stackEntry.paramsSentURL['Mode']='BlockJS';if(this.db){if(stackEntry.cmdb){stackEntry.paramsSentURL['DB']=this.db;stackEntry.paramsSentURL['CMDB']=stackEntry.cmdb;}else{stackEntry.paramsSentURL['DB']=this.db;}}else{stackEntry.paramsSentURL['DB']=stackEntry.db||PDQ.db;}
stackEntry.paramsSentURL['CMPageID']=stackEntry.cmPageId;stackEntry.paramsSentURL['PageSet']=stackEntry.pageSet;stackEntry.paramsSentURL['PageCode']=stackEntry.pageCode;stackEntry.paramsSentURL['Block']=stackEntry.blockPC;stackEntry.paramsSentURL['BlockDocID']=b.docId;if(b.portletDocId){stackEntry.paramsSentURL['PortletDocID']=b.portletDocId;}
if(typeof stackEntry.GetDocID!='undefined'){stackEntry.paramsSentURL['GetDocID']=stackEntry.GetDocID;}
if(stackEntry.ignoreCache){stackEntry.paramsSentURL['IgnoreCache']='yes';}
var fullUrl=PDQ.host+PDQ.path;var callBack=this.block.callback;}else if(this.type=='Recalc'){stackEntry.paramsSentURL['PP']=PDQ.portalCode;stackEntry.paramsSentURL['PORG']=PDQ.orgCode;stackEntry.paramsSentURL['DB']=PDQ.db;if(this.db){if(stackEntry.cmdb){stackEntry.paramsSentURL['DB']=this.db;stackEntry.paramsSentURL['CMDB']=stackEntry.cmdb;}else{stackEntry.paramsSentURL['DB']=this.db;}}else{stackEntry.paramsSentURL['DB']=stackEntry.db||PDQ.db;}
stackEntry.paramsSentURL['DocID']=stackEntry.docId;stackEntry.paramsSentURL['ReCalc']='current';if(stackEntry.reconvert){stackEntry.paramsSentURL['Reconvert']='Yes';}
stackEntry.paramsSentURL['ProcID']=stackEntry.index;stackEntry.paramsSentURL['ExtVer']=PDQ.extVer;if(PDQ.cssTheme!='')stackEntry.paramsSentURL['CSSTheme']=PDQ.cssTheme;for(var i in PDQ.param){if(PDQ.param[i]!==null){if(PDQ.param[i]!=''){var ipv=PDQ.getParams([i],stackEntry.block,true);stackEntry.paramsSent[i]=ipv;stackEntry.paramsSentURL[i]=ipv;}}}
var fullUrl=PDQ.host+PDQ.pathNSF+'/GenForm?OpenAgent';var callBack=this.block.callbackMacroExec;delayMsec=0;}else if(this.type=='Macro'){stackEntry.paramsSentURL['PP']=PDQ.portalCode;stackEntry.paramsSentURL['PORG']=PDQ.orgCode;stackEntry.paramsSentURL['DB']=PDQ.db;if(this.db){if(stackEntry.cmdb){stackEntry.paramsSentURL['DB']=this.db;stackEntry.paramsSentURL['CMDB']=stackEntry.cmdb;}else{stackEntry.paramsSentURL['DB']=this.db;}}else{stackEntry.paramsSentURL['DB']=stackEntry.db||PDQ.db;}
stackEntry.paramsSentURL['FormCode']=stackEntry.block.formName;stackEntry.paramsSentURL['RunMacro']=stackEntry.macro;stackEntry.paramsSentURL['Mode']='Open';stackEntry.paramsSentURL['BlockDocID']=b.docId;stackEntry.paramsSentURL['DocID']=stackEntry.docId;stackEntry.paramsSentURL['ProcID']=stackEntry.index;stackEntry.paramsSentURL['ExtVer']=PDQ.extVer;if(PDQ.cssTheme!='')stackEntry.paramsSentURL['CSSTheme']=PDQ.cssTheme;if(stackEntry.reconvert)stackEntry.paramsSentURL['Reconvert']=stackEntry.reconvert;for(var i in PDQ.param){var ipv=PDQ.getParams([i],stackEntry.block,true);if(ipv!==null){if(ipv!=''){stackEntry.paramsSent[i]=ipv;stackEntry.paramsSentURL[i]=ipv;}}}
var fullUrl=PDQ.host+PDQ.pathNSF+'/GenForm?OpenAgent';var callBack=this.block.callbackMacroExec;delayMsec=0;}
for(var i in stackEntry.params){stackEntry.paramsSent[i]=stackEntry.params[i];stackEntry.paramsSentURL['V_'+i]=encodeURIComponent(stackEntry.params[i]);}
if(Ext.isSecure){fullUrl='https://'+fullUrl;}else{fullUrl='http://'+fullUrl;}
for(var i in PDQ.blocks){if(PDQ.blocks[i].copyVer==''){var bcv=PDQ.blocks[i].blockCode;}else{var bcv=PDQ.blocks[i].blockCode+'_'+PDQ.blocks[i].copyVer;}
stackEntry.paramsSentURL['V_S_'+bcv+'_width']=PDQ.blocks[i].panel.getBox().width;}
stackEntry.paramsSentURL['V_S_windowWidth']=Ext.lib.Dom.getViewportWidth();stackEntry.paramsSentURL['V_S_windowHeight']=Ext.lib.Dom.getViewportHeight();if((!b.initialized||PDQ.pClickNum==0)&&!Ext.isEmpty(PDQ.pageCacheKey)){stackEntry.paramsSentURL['pageCacheKey']=PDQ.pageCacheKey;}
stackEntry.paramsSentURL['QIndex']=stackEntry.index;var lazyCache=PDQ.lazyCache;if(stackEntry.block.lazyCache!==null){lazyCache=stackEntry.block.lazyCache;}
if(!Ext.isEmpty(stackEntry.lazyCache)){lazyCache=stackEntry.lazyCache;}else if(!Ext.isEmpty(stackEntry.previousIndex)){lazyCache=-1;}
stackEntry.paramsSentURL['LazyCache']=lazyCache;var trans=Ext.Ajax.request({url:fullUrl,params:stackEntry.paramsSentURL,method:'GET',callback:callBack,scope:stackEntry});stackEntry.transaction=trans;if(stackEntry.type=='Recalc'||stackEntry.type=='Macro'){if(PDQ.messageBox.type=='P'){PDQ.messageBox.progressUpdate(stackEntry.progressPercent,'',stackEntry.progressMsg,0,stackEntry.rowIndex)}}else if(b.progressIcon==''){}};PDQ.block.prototype.callback=function(o,s,r,stackE,prefetch){if(typeof stackE=='undefined'){var stackE=this;}
if(stackE.clearAdmin&&PDQ.adminWin){PDQ.adminWin.hide();}
var prefetch=prefetch||false;if(!s){if(typeof PDQ.blocks[stackE.block.id]=='undefined'){PDQ.log('Ignore results from Ajax request for block '+stackE.block.id+'. Block is already deleted.')
return;}
var m='ERROR in block '+stackE.block.id+' callback (probably ajax request timeout)';m+='<br>'+r.responseText;if(PDQ.showLog&&PDQ.userName=='Alan Lawson/Inforeach'){PDQ.messageBox.alert.defer(2000,this,['Msg for AJL only: '+m]);}
PDQ.log(m);delete stackE.transaction;return;}
if(!Ext.isEmpty(stackE.previousIndex)){var t='';}
var b=o.scope.block;o.scope.status=r.status;o.scope.returnText=r.responseText;o.scope.tId=r.tId;o.scope.evalErrorMessage=null;if(b.debug){PDQ.log('*** HTTP Response from '+b.id+' ***\n'+PDQ.errorMsgReformat(o.scope.returnText));PDQ.callDebugger();}
var errMsg=null;var errMsgDetail=null;if(1==2&&r.responseText.slice(0,6)=='<html>'){errMsg='ERROR in block '+o.scope.block.blockCode+' callback (probably formula error).\n';errMsg+='See console for details.\n'
errMsgDetail=PDQ.errorMsgReformat(r.responseText);if(errMsgDetail){if(errMsgDetail.length<250){errMsg+=errMsgDetail;}}}
if(errMsg){PDQ.showLog=true;PDQ.messageBox.alert(errMsg);PDQ.log(errMsg);if(errMsgDetail){PDQ.log(errMsgDetail);}
return;}
if(r.responseText.slice(0,1)!='('){var m='ERROR in block '+o.scope.block.blockCode+' callback (probably formula error).\n';m+='See console for details.\n'
m+=r.responseText.slice(0,1024);PDQ.messageBox.alert(m);PDQ.showLog=true;PDQ.log(m);PDQ.log(r.responseText);return;}
try{o.scope.returnObj=eval(r.responseText);}
catch(exception){if(PDQ.haltOnEval){var m='Block '+o.scope.block.id+' stack index:'+o.scope.index+'. Callback return code eval error: ';m+='See console for details.\n'
m+=exception.message+'\n'+r.responseText;PDQ.messageBox.alert(m);}
var m='Block '+o.scope.block.id+' stack index:'+o.scope.index+'. Callback return code eval error: ';PDQ.showLog=true;PDQ.log(m);PDQ.log(r.responseText);o.scope.evalErrorMessage=exception.message;b.panel.body.update('ERROR - '+exception.message);return;}
if(o.scope.returnObj){var rObj=o.scope.returnObj;if(rObj.debugInfo){if(rObj.debugInfo!=''){var m='Block '+o.scope.block.id+' debug results: '+rObj.debugInfo;PDQ.messageBox.alert(m);PDQ.showLog=true;PDQ.log(m);PDQ.log(rObj.debugInfo);}}}
if(rObj.errorMessage){if(!Ext.isEmpty(rObj.errorMessage)){errMsg=rObj.errorMessage}}
if(rObj.data&&Ext.isEmpty(errMsg)){if(rObj.record&&rObj.data.length>=1){if(rObj.record.length!=rObj.data[0].length&&rObj.data[0].length<=2){errMsg=o.scope.returnObj.data[0][0]+' ('+b.id+')';}
if(rObj.record.length!=rObj.data[0].length){errMsg='The number of columns in the definition ('+rObj.record.length+') does not match the number of columns in the data ('
+rObj.data[0].length+') for block ('+b.id+')';}}}
if(errMsg){PDQ.showLog=true;PDQ.messageBox.alert(errMsg);PDQ.log(errMsg);if(errMsgDetail){PDQ.log(errMsgDetail);}
return;}
b.initialized=true;b.dataReceived=true;var m='Block callback';if(stackE.index){m+=' request '+stackE.index}
m+=' - '+b.id+' (';if(typeof b.initialData!='undefined'){m+='prefetched, ';}
if(typeof rObj.fromServerCache!='undefined'){if(rObj.fromServerCache){m+='from cache, ';m+=rObj.cache.date;if(rObj.cache.dirty){m+=', dirty'}else{m+=', current'}
if(!Ext.isEmpty(rObj.cache.dirtyReason)){m+=', '+rObj.cache.dirtyReason;}}else{if(rObj.reasonNotServerCache){m+='not from cache - '+rObj.reasonNotServerCache+' - '+rObj.execMsSrv+'ms';}}}
m+=')';if(b.blockType=='M'){m+=' Grid:'+rObj.typeParams.mapGrid;}
PDQ.log(m);if(!prefetch){b.fromPrefetchedData=false;}
if(typeof rObj.paramNoRefreshOnBank!='undefined'){b.paramNoRefreshOnBank=rObj.paramNoRefreshOnBank;}
if(typeof rObj.paramMon!='undefined'){b.paramMon=rObj.paramMon;}
if(b.popUp){if(b.panel){b.panel.setTitle(rObj.title);}}
if(rObj.updateOnly&&(b.blockType=='G'||b.blockType=='DV')){if(b.store){for(var recN=0;recN<rObj.records.length;recN++){var rowData={};for(var i=0;i<b.recordCfg.length;i++){var cn=b.recordCfg[i].mapping;var nm=b.recordCfg[i].name;rowData[nm]=rObj.records[recN][cn];}
var targetRecIndex=b.store.find('docId',rowData['docId']);var wasUpdated=false;if(targetRecIndex>=0){var targetRec=b.store.getAt(targetRecIndex);if(typeof targetRec!='undefined'){if(b.blockType=='G'){for(var i in rowData){if(targetRec.get(i)!=rowData[i]){targetRec.set(i,rowData[i]);}}}else if(b.blockType=='DV'){b.store.loadData([rObj.records[recN]],true);b.dataview.refreshNode(targetRecIndex);}
wasUpdated=true;}}
if(!wasUpdated){var recConstructor=b.store.recordType;var newRec=new recConstructor(rowData);b.store.addSorted(newRec);}
if(b.blockType=='G'){var rows=b.grid.selModel.getSelections();if(rows.length==0){if(b.lastSingleClickRowDocId==rowData['docId']){var task=new Ext.util.DelayedTask();task.delay(10,function(blockId){PDQ.blocks[blockId].grid.getSelectionModel().selectRow(targetRecIndex);},null,[b.id]);}}}
if(b.blockType=='DV'){if(b.lastSingleClickRowDocId==rowData['docId']){var curNode=b.dataview.getNode(b.lastSingleClickRowDocId);if(!Ext.isEmpty(curNode)){var fn=function(){var curNode=b.dataview.getNode(b.lastSingleClickRowDocId);if(!Ext.isEmpty(curNode)){var sNode=Ext.DomQuery.selectNode('img[class*=pdq-item-selector]',curNode);if(typeof sNode!='undefined'){b.dataview.select(sNode,true);dh.applyStyles(sNode,b.typeParams.selectionOnStyle);}else{b.dataview.select(curNode,true);dh.applyStyles(curNode,b.typeParams.selectionOnStyle);}}};fn.defer(100,b);}}}}
if(b.blockType=='DV'){b.dataview.refresh();if(b.typeParams.dataViewOptions.indexOf('popImage')==-1){PDQ.initPopZoom.defer(300,b,[b.panel,{clickDelay:250,cornerOnly:true}]);}}
if(b.blockType=='G'&&Ext.isChrome){var oX=b.panel.body.dom.style.overflowX;var oY=b.panel.body.dom.style.overflowY;b.panel.body.dom.style.overflowX='hidden';b.panel.body.dom.style.overflowY='hidden';var sDivs=Ext.DomQuery.select('div[class*=x-grid3-scroller]',b.panel.body.dom)
sDivs[0].style.overflowX='hidden';sDivs[0].style.overflowY='hidden';var fn=function(oX,oY){this.panel.body.dom.style.overflowX=oX;this.panel.body.dom.style.overflowY=oY;var sDivs=Ext.DomQuery.select('div[class*=x-grid3-scroller]',this.panel.body.dom)
sDivs[0].style.overflowX='auto';sDivs[0].style.overflowY='auto';}
fn.defer(200,b,[oX,oY])}}
PDQ.progressOffCheck();return;}
if(b.blockType=='M'&&stackE.isPointsReq){if(b.map){b.addData(rObj.data,rObj.typeParams.mapGrid);return;}}else if(b.blockType=='M'){b.data=[];b.mapGrids=[];var reOpenPoint=null;if(typeof PDQ.map.openPoint!='undefined'){if(typeof PDQ.map.openPoint.docId!='undefined'){reOpenPoint=PDQ.map.openPoint;}}
var reOpenPointNew=null;if(typeof PDQ.map.newOpenPoint!='undefined'){if(typeof PDQ.map.newOpenPoint.docId!='undefined'){reOpenPointNew=PDQ.map.newOpenPoint;}}
if(b.map){b.map.clearOverlays();}
if(reOpenPoint){PDQ.map.openPoint=reOpenPoint;}
if(reOpenPointNew){PDQ.map.newOpenPoint=reOpenPointNew;}else if(reOpenPoint){PDQ.map.newOpenPoint=reOpenPoint;}}
var callDisplay=true;if(PDQ.arrayCompare(b.data,rObj.data)){callDisplay=false;if(b.store){if(b.store.getCount()!=b.data.length){callDisplay=true;}}}
if(rObj.data){b.data=rObj.data;}else{b.data=null;}
if(b.blockType=='G'&&b.heightMin!=rObj.heightMin){b.heightChange=true;if(b.heightMin!==rObj.heightMin){callDisplay=true;}
b.heightMin=rObj.heightMin;}
if(b.blockType=='G'&&b.heightMax!=rObj.heightMax){b.heightChange=true;if(b.heightMax!==rObj.heightMax){callDisplay=true;}
b.heightMax=rObj.heightMax;}
if(b.width!==rObj.width){callDisplay=true;b.widthChange=true;b.width=rObj.width;PDQ.recalcWidths(b.id);}
if(b.blockType=='G'&&b.width!==rObj.width){callDisplay=true;b.heightChange=true;b.width=rObj.width;}
if(b.width!==rObj.width){b.width=rObj.width;}
var newClass=b.extraClass;for(var i=0;i<b.extraClass.length;i++){if(rObj.extraClass.indexOf(b.extraClass[i])<0){callDisplay=true;b.panel.removeClass(b.extraClass[i]);newClass=newClass.remove(b.extraClass[i]);}}
for(var i=0;i<rObj.extraClass.length;i++){if(b.extraClass.indexOf(rObj.extraClass[i])<0){callDisplay=true;b.panel.addClass(rObj.extraClass[i]);newClass.push(rObj.extraClass[i]);}}
b.extraClass=newClass;if(typeof rObj.db!='undefined'){if(b.db!==rObj.db){callDisplay=true;}
b.db=rObj.db;}
if(rObj.formName)b.formName=rObj.formName;if(rObj.URLOpts)b.URLOpts=rObj.URLOpts;if(rObj.colModelP)b.colModelP=rObj.colModelP;if(rObj.gAnalytics)b.gAnalytics=rObj.gAnalytics;if(typeof rObj.fromServerCache!='undefined')b.fromServerCache=rObj.fromServerCache;if(rObj.reasonNotServerCache)b.reasonNotServerCache=rObj.reasonNotServerCache;if(rObj.cache){b.cache=rObj.cache;}else{b.cache=null;}
if(rObj.execMsSrv)b.execMsSrv=rObj.execMsSrv;if(rObj.extraVariables)b.extraVariables=rObj.extraVariables;if(b.blockType=='G'){if(typeof rObj.gridTitle!='undefined'){b.typeParams.gridTitle=rObj.gridTitle;}else{delete b.typeParams.gridTitle;}
b.typeParams.colModelP=rObj.colModelP;b.typeParams.renderers=rObj.renderers;b.typeParams.defaultSort=rObj.defaultSort;b.typeParams.groupingField=rObj.groupingField;b.typeParams.summarization=rObj.summarization;b.typeParams.gridOptions=rObj.gridOptions;b.typeParams.record=rObj.record;b.typeParams.selectFirst=rObj.selectFirst;b.typeParams.paramsClearOnNoRows=rObj.paramsClearOnNoRows;b.typeParams.indexColumnParam=rObj.indexColumnParam;b.typeParams.pageRows=rObj.pageRows;if(b.typeParams.pageRows){b.isPaged=true;}else{b.isPaged=false;}}else if(b.blockType=='DV'){b.typeParams.defaultSort=rObj.defaultSort;b.typeParams.record=rObj.record;b.typeParams.template=rObj.template;b.typeParams.dataViewOptions=rObj.dataViewOptions;b.typeParams.selectionOnStyle=rObj.selectOn;b.typeParams.selectionOffStyle=rObj.selectOff;}else if(b.blockType=='S'){b.typeParams.generate=rObj.generate;}else if(b.blockType=='M'){if(b.map){b.addData(rObj.data,rObj.typeParams.mapGrid);b.moreGridsCheck();return;}
for(var i in rObj.typeParams){b.typeParams[i]=rObj.typeParams[i]}}
if(rObj.dragEnabled){b.dragEnabled=true;b.typeParams.targetBlocks=rObj.targetBlocks;b.dragInProcess=rObj.dragInProcess;}
b.updateParams(rObj.param,{stack:stackE,prefetch:prefetch});if(b.isDisplay!==rObj.isDisplay){callDisplay=true;}
b.isDisplay=rObj.isDisplay;if(b.isDisplay){var sbs=b.GetSameSpaceBlocks();for(var i in sbs){if(sbs[i].toDelete){PDQ.deleteBlock(i,true);}else if(sbs[i].isDisplay){PDQ.log('Hiding '+sbs[i].id+' dues to same space with '+b.id);sbs[i].isDisplay=false;sbs[i].setVisibility();}}
b.setVisibility();if(callDisplay||!b.initialized||(stackE.params.forceLoad||false)){if(b.popUpBlock){var sav=b.popUpBlock.manualResize;b.display(stackE);b.popUpBlock.manualResize=sav;}else{b.display(stackE);}}else{PDQ.log('Block '+b.id+' not redisplayed in callback - no changes')}
if(b.displayMode=='M'){if(b.getVisibility({hasData:true})){if(b.panel){if(b.panel.getEl){var el=b.panel.getEl();if(!Ext.isEmpty(el)){el.setVisible(true);}}}}}}else{b.setVisibility();}
var backgroundUpdate=b.cache.dirty&&(PDQ.lazyCacheQLimit>0||PDQ.lazyCacheQLimit==-1);if(!backgroundUpdate&&prefetch&&PDQ.lazyCachePageRefresh){backgroundUpdate=true;}
if(backgroundUpdate){if(prefetch){var reason='refresh of dirty prefetch block';b.addDataRequestToQ(null,reason,null,null,null,-1);}else{var m='Add existing main request '+stackE.index+' - '+b.id+' [dirty] to background queue (current height '+PDQ.qq.stack.length+')';PDQ.log(m);var stackEQ={};Ext.apply(stackEQ,stackE);stackEQ.lazyCache=-1;stackEQ.refreshOfDirtyBlock=true;PDQ.qq.stack.push(stackEQ);if(PDQ.qq.stack.length>PDQ.lazyCacheQLimit&&PDQ.lazyCacheQLimit!=-1){var stackR=PDQ.qq.stack.shift();var m='Background queue full, removing oldest request '+stackE.index+' - '+b.id;}}}
if(r.tId!=-1){PDQ.checkBlocks(b.id);}
PDQ.q.exec();PDQ.progressOffCheck({skipPageCheck:true});setTimeout(function(){PDQ.progressOffCheck({skipPageCheck:true});},2000);};PDQ.block.prototype.updateParams=function(o,o2){var o2=o2||{};o2.stack=o2.stack||{};var stackEntry=o2.stack
var m='';if(stackEntry.index){m='Request '+stackEntry.index+' ('+this.id+')'}else if(o2.prefetch){m='Block '+this.id+' (prefetch)'}else{m='Block '+this.id}
if(typeof o!='undefined'){if(stackEntry.block){PDQ.updateParams(o,stackEntry.block,{logMessage:m})}else{PDQ.updateParams(o.param,null,{logMessage:m})}}
if(typeof stackEntry.paramsSent=='undefined'){stackEntry.paramsSent={};}
if(!this.canRefresh()){return;}
var allParams=this.paramUsed.concat(this.paramMon);for(var i=0;i<allParams.length;i++){var p=allParams[i];if(typeof stackEntry.paramsSent[p]!='undefined'){this.param[p]=stackEntry.paramsSent[p];}else if(typeof PDQ.param[p]!='undefined'){this.param[p]=PDQ.param[p];}else if(p.slice(0,2)=='S_'){this.param[p]=PDQ.systemParamValue(p,this);}}
if(typeof o!='undefined'){for(var i in o){if(this.paramUsed.indexOf(i)<0&&this.paramRef.indexOf(i)<0){continue;}
this.param[i]=o[i];}}}
PDQ.block.prototype.initUI=function(o){if(typeof o=='undefined')o={};if(typeof o.forceLoad=='undefined')o.forceLoad=false;if(typeof o.ignoreCache=='undefined')o.ignoreCache=false;var p=o;if(o.ignoreCache){p.savePosition=true;}
if(o.forceLoad||o.ignoreCache){this.addDataRequestToQ(p,'New block');}else{this.display(o);}}
PDQ.block.prototype.display=function(stackEntry){if(typeof PDQ.blocks[this.id]=='undefined'){return;}
if(this.id=='CM__XLIST01'){var t='';}
if(this.popUpBlock){if(!this.popUpBlock.manualResize){this.adjustedSize=false;}}
var showPanel=this.getVisibility({hasData:true});if(!showPanel){return;}
if(this.blockType==''){if(Ext.isEmpty(this.panel)){return;}
var saveWidth=this.panel.body.getSize().width;if(this.data===null){if(this.panel){this.panel.body.update('');}
this.panel.doLayout();}else{if(this.panel){if(Ext.isArray(this.data)){var d=this.data.join('');this.panel.body.update(d,true);}else{this.panel.body.update(this.data,true);}
this.panel.body.dom.style.overflowX='hidden';this.panel.doLayout();var w=this.panel.getSize().width;var wP=this.panel.getEl().dom.parentNode.parentNode.scrollWidth
if(w>wP){this.setPanelWidth(wP);}}}
if(this.clip==''){dh.applyStyles(this.panel.body.dom,'overflow-x:auto;');}
if(saveWidth!=0){this.panel.body.setWidth(saveWidth+'px');}
this.setPanelWidth();PDQ.initGoogleMap(this.panel);PDQ.initButtons(this.panel);PDQ.initPopZoom.defer(300,this,[this.panel]);PDQ.initExtras(this.panel);}else if(this.blockType=='T1'){this.displayT1();}else if(this.blockType=='G'&&typeof this.typeParams.colModelP=='undefined'){if(this.panel){this.panel.body.update('');}}else if(this.blockType=='G'){this.displayG(stackEntry);}else if(this.blockType=='S'){if(this.panel){this.displayS();}}else if(this.blockType=='P'||this.blockType=='PC'){this.panel.doLayout();}else if(this.blockType=='DV'){this.displayDV();if(this.typeParams.dataViewOptions.indexOf('popImage')==-1){PDQ.initPopZoom.defer(300,this,[this.panel,{clickDelay:250,cornerOnly:true}]);}}else if(this.blockType=='M'){this.displayM();}else{if(this.panel){this.panel.body.update('UPDATE CODE NOT CREATED YET FOR BLOCK TYPE '+this.blockType);}}
if(this.panel){if(this.blockStyles){var el=this.panel.body;el.applyStyles('background-color: transparent;');var el=this.panel.getEl();el.applyStyles(this.blockStyles);}
this.adjustHeight();}
PDQ.progressOffCheck();PDQ.logSetPosition();this.setVisibility();if(this.getVisibility()){this.trackingUpdate();}
if(this.parent){}
this.setPopShadow();};PDQ.block.prototype.displayM=function(o){PDQ.log('Creating map for '+this.id);var sz=this.panel.getSize();this.map=new GMap2(this.panel.body.dom);if(this.typeParams.mapOptions.indexOf('SM')>=0){PDQ.map.map=this.map;PDQ.map.block=this;}
this.mapGrids=[];this.mapWorldLoaded=false;this.map.enableScrollWheelZoom();if(this.typeParams.typeControl=='B'){this.map.addControl(new GMapTypeControl());}else if(this.typeParams.typeControl=='D'){this.map.addControl(new GMenuMapTypeControl())}else if(this.typeParams.typeControl=='N'){this.map.addControl(new GHierarchicalMapTypeControl())}
if(this.typeParams.panZoomControl=='L'){this.map.addControl(new GLargeMapControl())}else if(this.typeParams.panZoomControl=='S'){this.map.addControl(new GSmallMapControl());}else if(this.typeParams.panZoomControl=='Z'){this.map.addControl(new GSmallZoomControl())}
if(this.typeParams.mapOptions.indexOf('SC')>=0){this.map.addControl(new GScaleControl())}
this.mapKB=new GKeyboardHandler(this.map);var zoomCenter=PDQ.getMapCenterZoom(this);if(zoomCenter.zoom===null){zoomCenter.zoom=13;}
if(zoomCenter.centerPoint===null){zoomCenterPoint=new GLatLng(19.22264548836949,-9.31640625);zoomCenter.zoom=2;}
var zoom=zoomCenter.zoom;var centerPoint=zoomCenter.centerPoint;if(this.typeParams.mapOptions.indexOf('SV')>=0){PDQ.map.zoom=zoom;PDQ.map.centerPoint=centerPoint;}
this.map.setCenter(centerPoint,zoom);if(typeof this.data=='undefined'||this.data===null){PDQ.messageBox.alert('SYSTEM ERROR - data missing from block '+this.id);return;}
this.markers=[];this.clickPoint=function(){PDQ.map.openPoint={};PDQ.map.openPoint.docId=this.PDQdata.docId;PDQ.map.openPoint.lat=this.PDQdata.latitude;PDQ.map.openPoint.lng=this.PDQdata.longitude;if(this.PDQtabsHTML.length>0){this.openInfoWindowTabsHtml(this.PDQtabsHTML);}else{this.showMapBlowup()}
if(!Ext.isEmpty(this.PDQdata.update)){try{eval('var oP = {'+this.PDQdata.update+'}');}catch(exception){var m='Error in update item for marker:'+this.PDQdata.update;if(PDQ.haltOnEval){PDQ.messageBox.alert(m);}
PDQ.showLog=true;PDQ.log(m);return;}
PDQ.updateCheck(this.PDQblock,oP);}
if(!Ext.isEmpty(this.PDQdata.JS)){try{eval(this.PDQdata.JS);}catch(exception){var m='Error in JS code for marker:'+this.PDQdata.JS;if(PDQ.haltOnEval){PDQ.messageBox.alert(m);}
PDQ.showLog=true;PDQ.log(m);}}}
this.onCloseInfoWindow=function(){PDQ.map.openPoint={};delete PDQ.map.newOpenPoint;if(!Ext.isEmpty(this.PDQdata.updateOff)){try{eval('var oP = {'+this.PDQdata.updateOff+'}');}catch(exception){var m='Error in updateOff item for marker:'+this.PDQdata.updateOff;if(PDQ.haltOnEval){PDQ.messageBox.alert(m);}
PDQ.showLog=true;PDQ.log(m);return;}
PDQ.updateCheck(this.PDQblock,oP);}}
this.createMarker=function(pCount){var LatLon=new GLatLng(this.data[pCount].latitude,this.data[pCount].longitude)
if(isNaN(LatLon.lat())){return;}
if(typeof this.data[pCount].marker!='undefined'){return;}
var marker=new GMarker(LatLon);var mOpts={};if(!Ext.isEmpty(this.data[pCount].icon)){var newIcon=new GIcon(G_DEFAULT_ICON);var icon=this.data[pCount].icon;icon=icon.toLowerCase();if(icon.search(/^blue\d+s|^red\d+s|^green\d+s|^yellow\d+s|^greenred\d+s|bluered\d+s/i)>=0){var dd=icon.match(/^(\D+)(\d+)/i);var clr=dd[1];var num=dd[2];if(clr=='bluered'){clr='BlueRed';}else if(clr=='greenred'){clr='GreenRed';}else{clr=clr.slice(0,1).toUpperCase()+clr.slice(1);}
icon=PDQ.cdnHost+'/PDQ/etc/icons/numberMarkers/smallSQ'+clr+'Icons/marker'+num+'.png';newIcon.image=icon;}else if(icon.search(/^blue\d+|^red\d+|^green\d+|^yellow\d+|^greenred\d+|bluered\d+/i)>=0){var dd=icon.match(/^(\D+)(\d+)/i);var clr=dd[1];var num=dd[2];if(clr=='bluered'){clr='BlueRed';}else if(clr=='greenred'){clr='GreenRed';}else{clr=clr.slice(0,1).toUpperCase()+clr.slice(1);}
icon=PDQ.cdnHost+'/PDQ/etc/icons/numberMarkers/largeTD'+clr+'Icons/marker'+num+'.png';newIcon.image=icon;}else if(icon.search(/^blue\D|^brown\D|^darkgreen\D|^green\D|^orange\D|^paleblue\D|^pink\D|^purple\D|^red\D|^yellow\D/i)>=0){var lt=icon.slice(icon.length-1).toUpperCase();var clr=icon.slice(0,icon.length-1);icon=PDQ.cdnHost+'/PDQ/etc/icons/letterMarkers/'+clr+'_Marker'+lt+'.png';newIcon.image=icon;}else if(icon.search(/^blue|^brown|^darkgreen|^green|^orange|^paleblue|^pink|^purple|^red|^yellow/i)>=0){icon=PDQ.cdnHost+'/PDQ/etc/icons/letterMarkers/'+icon+'_Marker.png';newIcon.image=icon;}
mOpts.icon=newIcon;}
if(this.data[pCount].title){mOpts.title=this.data[pCount].title;}
if(this.typeParams.mapOptions.indexOf('DM')>=0){mOpts.draggable=true;}
var marker=new GMarker(LatLon,mOpts);if(this.typeParams.mapOptions.indexOf('DM')>=0){marker.enableDragging();}
marker.PDQblock=this;marker.PDQdata=this.data[pCount];marker.PDQshow=false;var cTab=0;marker.PDQtabsHTML=[];for(var tab=0;tab<=9;tab++){var sfx=(tab==0)?'':tab.toString();if(!(Ext.isEmpty(this.data[pCount]['infoWindow'+sfx]))){if(!(Ext.isEmpty(this.data[pCount]['label'+sfx]))){var label=this.data[pCount]['label'+sfx];}else{var label='';}
marker.PDQtabsHTML[cTab]=new GInfoWindowTab(label,this.data[pCount]['infoWindow'+sfx]);cTab+=1;}}
GEvent.addListener(marker,'click',this.clickPoint);GEvent.addListener(marker,'infowindowclose',this.onCloseInfoWindow);this.data[pCount].marker=marker;this.markers.push(marker);};this.adjustMarkers=function(){for(var pCount=0;pCount<this.data.length;pCount++){var LatLon=new GLatLng(this.data[pCount].latitude,this.data[pCount].longitude)
if(this.map.getBounds().containsLatLng(LatLon)&&Ext.isEmpty(this.data[pCount].marker)){this.createMarker(pCount);}
if(this.map.getBounds().containsLatLng(LatLon)&&!this.data[pCount].marker.PDQshow){this.map.addOverlay(this.data[pCount].marker);this.data[pCount].marker.PDQshow=true;}}
if(PDQ.map.newOpenPoint){PDQ.map.openPoint=PDQ.map.newOpenPoint;}
if(PDQ.map.openPoint){PDQ.mapPointOpen(PDQ.map.openPoint);}};this.addData=function(data,mapGrid){if(typeof mapGrid=='undefined'){this.mapGrids.push(this.typeParams.mapGrid);}else if(this.mapGrids.indexOf(mapGrid)<0){this.mapGrids.push(mapGrid);}
if(typeof data!='undefined'){NEXTINROW:for(var i=0;i<data.length;i++){for(var j=0;j<this.data.length;j++){if(this.data[j].docId==data[i].docId)continue NEXTINROW}
this.data.push(data[i]);if(PDQ.map.openPoint){if(PDQ.map.openPoint.docId){if(data[i].docId==PDQ.map.openPoint.docId){PDQ.mapPointOpen();}}}}}
this.adjustMarkers();};this.getGridKey=function(lat,lng){var d=this.typeParams.mapGridSize;var nLat=lat+90;nLat=Math.floor((nLat+d/2)/d)*d*2;var kLat='000000'+nLat;kLat=kLat.slice(kLat.length-6);var nLng=lng+180;nLng=Math.floor((nLng+d/2)/d)*d;var kLng='000000'+nLng;kLng=kLng.slice(kLng.length-6);return{key:kLat+'-'+kLng,nLat:nLat,nLng:nLng}}
this.moreGridsCheck=function(){if(this.map.getZoom()<PDQ.map.ajaxZoom){if(this.mapWorldLoaded)return;var reason='World map points';this.addDataRequestToQ(null,reason,null,true,true);this.mapWorldLoaded=true;return;}
var d=this.typeParams.mapGridSize;var b=this.map.getBounds();var sw=b.getSouthWest();var ne=b.getNorthEast();var swG=this.getGridKey(sw.lat(),sw.lng());var neG=this.getGridKey(ne.lat(),ne.lng());for(var i=swG.nLat;i<=neG.nLat;i++){for(var j=swG.nLng;j<=neG.nLng;j++){var lat=i/d/2-90;var lng=j/d-180;var ky=this.getGridKey(lat,lng);if(this.mapGrids.indexOf(ky.key)<0){this.mapGrids.push(ky.key);var reason='Additional map points '+ky.key;var LatLng=new GLatLng(lat,lng)
this.addDataRequestToQ(null,reason,LatLng,true);}}}}
this.addData();this.moreGridsCheck();GEvent.addListener(this.map,'moveend',function(){if(this.typeParams.mapOptions.indexOf('SV')>=0){this.moreGridsCheck();PDQ.map.centerPoint=this.map.getCenter();PDQ.map.zoom=this.map.getZoom();var pos=PDQ.map.centerPoint.lat()+' '+PDQ.map.centerPoint.lng()+' '+PDQ.map.zoom;PDQ.setRawCookie('map',pos);PDQ.updateCheck();}
this.adjustMarkers();}.createDelegate(this));GEvent.addListener(this.map,'infowindowclose',function(){delete PDQ.map.openPoint;});}
PDQ.block.prototype.displayDV=function(o){if(this.dataview){this.dataview.destroy();}
if(this.progressIcon!=''){this.panel.body.update('');}
var recordCfg=this.typeParams.record;this.recordCfg=recordCfg;this.record=Ext.data.Record.create(recordCfg);for(var keyIndex=0;keyIndex<recordCfg.length;keyIndex++){if(recordCfg[keyIndex].name=='docId')break;}
if(keyIndex<recordCfg.length){var readerObj=new Ext.data.ArrayReader({id:keyIndex},recordCfg);}else{var readerObj=new Ext.data.ArrayReader({},recordCfg);}
var storeObj={};storeObj.data=this.data;storeObj.reader=readerObj;storeObj.storeId=this.id;if(typeof this.typeParams.defaultSort!='undefined'){var sv=this.typeParams.defaultSort.split(' ');storeObj.sortInfo={field:sv[0],direction:sv[1]};}
this.store=new Ext.data.Store(storeObj);this.store.sort('title');this.store.PDQblock=this;PDQ.log('Initial generating data view '+this.id);var dViewObj={};if(this.typeParams.template.match(/pdq-item-selector/i)){dViewObj.itemSelector='img.pdq-item-selector';}else{dViewObj.itemSelector='div.DV-'+this.id+'-wrap';}
dViewObj.style='overflow:auto';dViewObj.multiSelect=true;if(this.dragEnabled){dViewObj.plugins=new Ext.DataView.DragSelector({dragSafe:true});}
dViewObj.store=this.store;if(this.typeParams.template.match(/"div.DV-/i)){dViewObj.tpl=new Ext.XTemplate('<tpl for=".">',this.typeParams.template,'</tpl>')}else{dViewObj.tpl=new Ext.XTemplate('<tpl for=".">','<div class="DV-'+this.id+'-wrap" id="{docId}" >',this.typeParams.template,'</div>','</tpl>')}
this.dataview=new Ext.DataView(dViewObj);this.dataview.PDQblock=this;this.dataview.on('dblclick',function(view,index,htmlNode,e){PDQ.log('Data view dblclick '+index);PDQ.dblClickExec=true;var curNode=this.dataview.getNode(index);var curRec=this.dataview.getRecord(curNode);if(typeof curRec.id=='undefined'){PDQ.messageBox.alert('SYSTEM ERROR','Cannot open document - docId field is missing from block data definition.');return;}
var dblClickOK=true;var dblClickMsg='';var recIndex=view.store.find('docId',curRec.id);if(recIndex>=0){var rec=view.store.getAt(recIndex);if(typeof rec!='undefined'){if(typeof rec.get('dblClickOK')!='undefined'){dblClickOK=rec.get('dblClickOK');}
if(dblClickOK===false){dblClickOK=false;}else if(typeof dblClickOK=='string'){if(dblClickOK!=''){dblClickMsg=dblClickOK;dblClickOK=false;}}}}
if(dblClickOK){var vers=curRec.id.slice(-6);PDQ.pop({id:this.id+vers,block:this,docId:curRec.id,constraintoviewport:true,animateTarget:htmlNode});}else{if(dblClickMsg!=''){PDQ.messageBox.alert(dblClickMsg);return;}}},this,{stopPropagation:true});this.dataview.on('click',function(view,index,htmlNode,e){if(PDQ.dblClickExec){setTimeout(function(){PDQ.dblClickExec=false;},500);return;}
if(PDQ.dragStarted){PDQ.dragStarted=false;return;}
var curNode=this.dataview.getNode(index);var rec=this.dataview.getRecord(curNode);if(this.typeParams.dataViewOptions.indexOf('popImage')>=0){var opts={};var tooltip=rec.get('tooltip')
if(tooltip){opts.tooltip=tooltip;}
if(this.typeParams.dataViewOptions.indexOf('largeImage')>=0){opts.prefSize=950;var popFile='size-950.jpg';}else{var popFile='size-605.jpg';}
opts.icon=false;PDQ.popImage(htmlNode,popFile,opts);}
for(var i=0;i<this.store.getCount();i++){var curNode=this.dataview.getNode(i);if(this.dataview.isSelected(i)){dh.applyStyles(curNode,this.typeParams.selectionOnStyle);}else{dh.applyStyles(curNode,this.typeParams.selectionOffStyle);}}
this.rowclick(this.dataview,index,e)},this,{stopPropagation:true,delay:300});this.dataview.render(this.panel.body);if(this.dragEnabled){var dvBox=this.dataview.getBox();var parentBox=this.parentPanel.getBox();if((dvBox.y+dvBox.height+12)<(parentBox.y+parentBox.height)){var newH=parentBox.height-(dvBox.y-parentBox.y)-12;this.dataview.setHeight(newH);}
this.dragZone=new PDQ.dragZone(this.dataview,{containerScroll:true});this.dragZone.PDQblock=this;this.dropTarget=new PDQ.dropZone(this.dataview,{});this.dropTarget.PDQblock=this;this.dragZone.onStartDrag=function(){PDQ.dragStarted=true;};}
if(this.lastSingleClickRowDocId){var curNode=this.dataview.getNode(this.lastSingleClickRowDocId);if(!Ext.isEmpty(curNode)){var sNode=Ext.DomQuery.selectNode('img[class*=pdq-item-selector]',curNode);if(typeof sNode!='undefined'){this.dataview.select(sNode,true);dh.applyStyles(sNode,this.typeParams.selectionOnStyle);}else{this.dataview.select(curNode,true);dh.applyStyles(curNode,this.typeParams.selectionOnStyle);}}}
this.dataview.hide();var task=new Ext.util.DelayedTask();task.delay(10,function(view){this.dataview.show();},this,[this.dataview]);}
PDQ.block.prototype.displayS=function(o){if(!this.typeParams.generate){var nHtml='<P style="font-size:0px;line-height:0;height:0px"></P>';this.panel.body.update(nHtml);return;}
if(this.typeParams.width){var w=this.typeParams.width;}else if(this.width){var w=this.width;}else{var w=this.parentPanel.getInnerWidth();}
if(this.typeParams.height){var h=this.typeParams.height}else if(this.heightMin){var h=this.heightMin;}else{var h=this.panel.getInnerHeight();}
if(typeof h!='number'){if(h.indexOf(':')>=0){var t=h.split(':');var h=Math.round(eval(w.toString()+'*'+t[1]+'/'+t[0]));}else{var h=eval(h);}}
w=w.toString();h=h.toString();var urlParams={};urlParams.DB=PDQ.db;urlParams.Mode='BlockJS';urlParams.PageSet=this.pageSet;urlParams.PageCode=PDQ.pageCode;urlParams.Block=this.blockPC;urlParams.BlockDocID=this.docId;urlParams.CMPageID=PDQ.cmPageId;if(this.portletDocId){urlParams.PortletDocID=this.portletDocId;}
var p=this.paramUsed.concat(this.paramRef);p=PDQ.getParams(p,this);for(var i in p){if(i!==''){urlParams['V_'+i]=p[i];}}
urlParams.xmlContent='yes';urlParams=Ext.urlEncode(urlParams);urlParams+='&_dc='+(new Date().getTime());var xmlUrl=PDQ.host+PDQ.path+'&'+urlParams;if(Ext.isSecure){xmlUrl='https://'+xmlUrl;}else{xmlUrl='http://'+xmlUrl;}
var sd=PDQ.pathNSF+'/monoslideshow.swf?OpenFileResource';var xi=PDQ.pathNSF+'/expressInstall.swf?OpenFileResource';var soIdF=this.id+'_slide';var s='';var soId='divBL_'+this.id+'_slide';var nHtml='<DIV id='+soId+' style="'+s+'"></div>';this.panel.body.update(nHtml);var flashvars={};flashvars.dataFile=escape(xmlUrl);if(!this.typeParams.monoLogo){flashvars.showLogo='false';}
flashvars.showVersionInfo='false';var params={};params.bgcolor=PDQ.pageBGcolor;params.wmode='opaque';params.menu='false';var attributes={};swfobject.embedSWF(sd,soId,w,h,"7",xi,flashvars,params,attributes);}
PDQ.block.prototype.displayG=function(stackEntry){function toolTip(val,metadata,record,rowIndex,colIndex,store){return PDQ.u.toolTip(val,metadata,record,rowIndex,colIndex,store);}
function redNeg(val,metadata,record,rowIndex,colIndex,store){return PDQ.u.redNeg(val,metadata,record,rowIndex,colIndex,store);}
function cellStyle(val,metadata,record,rowIndex,colIndex,store){return PDQ.u.cellStyle(val,metadata,record,rowIndex,colIndex,store);}
function italic(value,metadata,record,rowIndex,colIndex,store){return PDQ.u.italic(value,metadata,record,rowIndex,colIndex,store);}
function change(val,suffix){return PDQ.u.change(val,suffix);}
function pctChange(val,metadata,record,rowIndex,colIndex,store){return PDQ.u.pctChange(val,metadata,record,rowIndex,colIndex,store);}
function money(val,metadata,record,rowIndex,colIndex,store){return PDQ.u.money(val,metadata,record,rowIndex,colIndex,store);}
function moneyND(val,metadata,record,rowIndex,colIndex,store){return PDQ.u.moneyND(val,metadata,record,rowIndex,colIndex,store);}
function fixedND(val,metadata,record,rowIndex,colIndex,store){return PDQ.u.fixedND(val,metadata,record,rowIndex,colIndex,store);}
PDQ.log('Generating grid '+this.id);if(this.typeParams.colModelP.length==0){this.panel.body.update('');if(this.grid){PDQ.log('No columns - destroying grid '+this.id);this.grid.destroy();this.grid=null;}else{PDQ.log('No columns - grid '+this.id+' not displayed.');}
return;}
var recordCfg=this.typeParams.record;for(var i=0;i<this.typeParams.renderers.length;i++){if(this.typeParams.renderers[i]!=''){try{eval(this.typeParams.renderers[i]);}
catch(exception){PDQ.log('Error creating renderer: '+this.typeParams.renderers[i]);PDQ.messageBox.alert('Error creating custom renderer for block '+this.blockCode);}}}
var colModelCfg=this.typeParams.colModelP;if(typeof this.typeParams.defaultSort!='undefined'){var sv=this.typeParams.defaultSort.split(' ');if(sv[0].replace(/[0-9]*/,'')==''){var isName=false;}else{var isName=true;}}else{var isName=true;}
for(var i=0;i<colModelCfg.length;i++){for(var ri=0;ri<recordCfg.length;ri++){if(colModelCfg[i].dataIndex){colModelCfg[i].field=colModelCfg[i].dataIndex;}
if(recordCfg[ri].name==colModelCfg[i].field)break;}
if(ri==recordCfg.length){var t='ERROR - field "'+colModelCfg[i].field+'" does not exist in field names';PDQ.log(t);PDQ.messageBox.alert(t);return;}
colModelCfg[i].id=colModelCfg[i].field;delete colModelCfg[i].field;colModelCfg[i].dataIndex=colModelCfg[i].id;if(colModelCfg[i].sortType){recordCfg[ri].sortType=colModelCfg[i].sortType.replace(/sort./,'');}
if(colModelCfg[i].renderer){colModelCfg[i].renderer=eval(colModelCfg[i].renderer);}else{colModelCfg[i].renderer=eval('toolTip');}
if(!isName){if(parseInt(sv[0],10)==i){sv[0]=colModelCfg[i].id;}}}
this.recordCfg=recordCfg;this.record=Ext.data.Record.create(recordCfg);for(var keyIndex=0;keyIndex<recordCfg.length;keyIndex++){if(recordCfg[keyIndex].name=='docId')break;}
if(keyIndex<recordCfg.length){var readerObj=new Ext.data.ArrayReader({id:keyIndex},recordCfg);}else{var readerObj=new Ext.data.ArrayReader({},recordCfg);}
var storeObj={};storeObj.data=this.data;storeObj.reader=readerObj;storeObj.storeId=this.id;if(typeof sv!='undefined'){storeObj.sortInfo={field:sv[0],direction:sv[1]};}
if(this.isPaged){var pUrl={};pUrl.Mode='BlockJS';pUrl.DB=PDQ.db;pUrl.CMPageID=PDQ.cmPageId;pUrl.PageSet=PDQ.pageSet;pUrl.PageCode=PDQ.pageCode;pUrl.Block=this.blockPC;pUrl.BlockDocID=this.docId;if(this.portletDocId){pUrl.PortletDocID=this.portletDocId;}
pUrl.PageData='yes';if(this.typeParams.gridOptions.indexOf('reuseRowCount')>=0){pUrl.numRows='';}
var p=this.paramUsed.concat(this.paramRef);p=PDQ.getParams(p);for(var i in p){if(i!==''){pUrl['V_'+i]=p[i];}}
var pUrlEnc=Ext.urlEncode(pUrl);var url=PDQ.host+PDQ.path+'&'+pUrlEnc;if(Ext.isSecure){url='https://'+url;}else{url='http://'+url;}
var storeObj={};storeObj.proxy=new Ext.data.ScriptTagProxy({url:url,timeout:120000});if(this.typeParams.gridOptions.indexOf('localSort')>=0){storeObj.remoteSort=false;}else{storeObj.remoteSort=true;}
var setNumRows=function(proxy,opts){var c=this.store.getTotalCount();if(c==0){c='';}
this.store.proxy.url=PDQ.urlReplace(this.store.proxy.url,'numRows',c);var startRowNumber=1;if(typeof this.store.pageHint!='undefined'){var ref='||'+Math.floor(opts.start/opts.limit+1);var refP='||'+Math.floor(opts.start/opts.limit);if(typeof this.store.pageHint[ref]!='undefined'){startRowNumber=this.store.pageHint[ref].first;}else if(typeof this.store.pageHint[refP]!='undefined'){startRowNumber=parseInt(this.store.pageHint[refP].last)+1;}
this.store.proxy.url=PDQ.urlReplace(this.store.proxy.url,'startRowNumber',startRowNumber);}}
storeObj.proxy.on('beforeload',setNumRows,this,[]);var readerObj={};readerObj.root='records';readerObj.id='docId';readerObj.totalProperty='totalCount';readerObj.autoLoad=true;readerObj.fields=[];for(var i=0;i<this.recordCfg.length;i++){readerObj.fields[i]=this.recordCfg[i].name;}
storeObj.proxy.on('load',function(proxy,recs,opts){if(recs.records.length>0){var ref=recs.records[0].pageHint.ref;if(typeof this.store.pageHint=='undefined'){this.store.pageHint={};}
this.store.pageHint[ref]={};this.store.pageHint[ref].first=recs.records[0].pageHint.rowNumber;this.store.pageHint[ref].last=recs.records[recs.records.length-1].pageHint.rowNumber;}},this,[]);storeObj.reader=new Ext.data.JsonReader(readerObj);}
if(Ext.isEmpty(this.typeParams.groupingField)){this.store=new Ext.data.Store(storeObj);}else{for(var i=0;i<colModelCfg.length;i++){if(colModelCfg[i].id==this.typeParams.groupingField)break;}
if(i>=colModelCfg.length){var m='ERROR - Specified grouping field ('+this.typeParams.groupingField+') is not a field in block '+this.blockCode+'.';PDQ.messageBox.alert(m);return;}
storeObj.groupField=this.typeParams.groupingField;this.store=new Ext.data.GroupingStore(storeObj);}
this.store.PDQblock=this;var ix=this.store.find('docId',new RegExp('^$'));while(ix!=-1){var rec=this.store.getAt(ix);var r=Math.floor((9000000)*Math.random()*1000000);rec.set('docId','['+r+']')
var ix=this.store.find('docId',new RegExp('^$'));}
if(!Ext.isEmpty(this.typeParams.summarization)){for(var i=0;i<this.typeParams.summarization.length;i++){for(var j=0;j<colModelCfg.length;j++){if(colModelCfg[j].id==this.typeParams.summarization[i].field)break;}
if(j>=colModelCfg.length){var m='ERROR - Specified summarization field ('+this.typeParams.summarization[i].field;m+=') is not a field in block '+this.blockCode+'.';PDQ.messageBox.alert(m);return;}
if(Ext.isEmpty(this.typeParams.summarization[i].type)){var type='sum';}else{var type=this.typeParams.summarization[i].type;if(type.search(/sum|count|average|max|min/)==-1){var m='ERROR - Specified summarization type ('+type+') in block '+this.blockCode;m+=' is not a valid summarization type.';PDQ.messageBox.alert(m);return;}}
if(Ext.isEmpty(this.typeParams.summarization[i].renderer)){var renderer='v';}else{var renderer=this.typeParams.summarization[i].renderer;}
colModelCfg[j].summaryType=type;if(renderer.search(/[( ]/i)<0){try{if(eval('typeof '+renderer)=='function'){colModelCfg[j].summaryRenderer=eval(renderer);}}catch(e){}}
if(typeof colModelCfg[j].summaryRenderer!='function'){try{colModelCfg[j].summaryRenderer=new Function(['v'],'return '+renderer);}catch(e){colModelCfg[j].summaryRenderer=cellStyle;}}}}
this.colModel=new Ext.grid.ColumnModel(colModelCfg);var createGrid=false;if(this.grid!==null){this.gridScrollTop=null;var isRefresh=false;if(stackEntry){if(stackEntry.savePosition){var isRefresh=true;}}
if(isRefresh){this.gridScrollTop=Ext.DomQuery.selectNode('div[class=x-grid3-scroller]',this.grid.body.dom).scrollTop;}}
var opts=this.typeParams.gridOptions;if(this.grid===null||opts.indexOf('autoFill')>=0||opts.indexOf('forceFit')>=0||this.isPaged){createGrid=true;}
if(this.heightChange){this.heightChange=false;createGrid=true;}
if(this.widthChange){this.widthChange=false;createGrid=true;}
if(this.grid!==null&&!this.isPaged&&this.grid.bbar){createGrid=true;}
if(this.typeParams.gridOptions.indexOf('forceRegen')>=0){createGrid=true;}
createGrid=true;if(this.grid!==null){if(createGrid||(this.width-this.panel.getInnerWidth())!=(this.grid.getSize().width)){PDQ.log('Destroying grid '+this.id);this.grid.destroy();this.grid=null;}else{PDQ.log('Regenerating grid '+this.id);this.grid.reconfigure(this.store,this.colModel);this.grid.view.scrollToTop();}
this.refreshDoc=[];}
if(this.grid===null){PDQ.log('Initial generating grid '+this.id);var w=this.panel.getInnerWidth();var h=this.panel.getInnerHeight()-1;var gridObj={};if(typeof this.typeParams.gridTitle!='undefined'){gridObj.title=this.typeParams.gridTitle;}
gridObj.store=this.store;gridObj.colModel=this.colModel;gridObj.stripeRows=true;gridObj.loadMask=true;gridObj.height=h;gridObj.width=w;if(this.typeParams.gridOptions.indexOf('frame')>=0){gridObj.frame=true;}
if(this.typeParams.gridOptions.indexOf('noBorder')>=0){gridObj.border=false;}
if(this.dragEnabled){gridObj.enableDragDrop=true;gridObj.ddGroup=this.typeParams.targetBlocks[0];}
var hasBody=false;for(var i=0;i<this.recordCfg.length;i++){if(this.recordCfg[i].name=='body'){hasBody=true;}}
var vcObj={};if(this.typeParams.gridOptions.indexOf('autoFill')>=0){vcObj.autoFill=true;}
if(this.typeParams.gridOptions.indexOf('forceFit')>=0){vcObj.forceFit=true;}
if(hasBody){PDQ.log('BODY field found in grid '+this.id);vcObj.enableRowBody=true;vcObj.showPreview=true;vcObj.getRowClass=function(record,rowIndex,p,store){if(this.showPreview){p.body='<p>'+record.data.body+'</p>';return'x-grid3-row-expanded';}
return'x-grid3-row-collapsed';};}
gridObj.viewConfig=vcObj;if(this.isPaged){var bbar={};bbar.pageSize=this.typeParams.pageRows;bbar.store=this.store;if(w>360){bbar.displayInfo=true;}
bbar.displayMsg='Displaying records {0} - {1} of {2}';bbar.emptyMsg='No records to display';gridObj.bbar=new Ext.PagingToolbar(bbar);}
gridObj.plugins=[];if(!Ext.isEmpty(this.typeParams.groupingField)){var gvObj={groupTextTpl:'{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'}
if(opts.indexOf('forceFit')>=0){gvObj.forceFit=true;}
if(opts.indexOf('autoFill')>=0){gvObj.autoFill=true;}
gridObj.view=new Ext.grid.GroupingView(gvObj);if(!Ext.isEmpty(this.typeParams.summarization)){var summaryGroup=new Ext.ux.grid.GroupSummary();gridObj.plugins=[summaryGroup];}}
if(opts.indexOf('gridSummary')>=0){var summary=new Ext.ux.grid.GridSummary();gridObj.plugins.push(summary);}
this.grid=new Ext.grid.GridPanel(gridObj);this.grid.PDQblock=this;};if(opts.indexOf('trackMouseOver')>=0)this.grid.trackMouseOver=true;if(opts.indexOf('enableDragDrop')>=0)this.grid.enableDragDrop=true;this.grid.on('render',this.scrollHide,this);this.grid.on('columnresize',this.scrollHide,this);this.grid.getColumnModel().on('hiddenchange',this.scrollHide,this,{delay:100});this.store.on('remove',this.adjustHeight,this,{delay:100});this.grid.render(this.panel.body);if(this.isPaged){this.store.load({params:{start:0,limit:this.typeParams.pageRows}});}
if(opts.indexOf('noSingleClick')==-1){if(Ext.isGecko){this.grid.addListener('rowclick',this.rowclick,this,{delay:400,buffer:200});}else{this.grid.addListener('rowclick',this.rowclick,this,{delay:300});}}
if(opts.indexOf('noDoubleClick')==-1){this.grid.addListener('rowdblclick',this.rowdblclick,this,true);}
this.grid.selModel.clearSelections();if(this.gridScrollTop){var taskScroll=new Ext.util.DelayedTask();taskScroll.delay(100,function(scrollTop){var scrollNode=Ext.DomQuery.selectNode('div[class=x-grid3-scroller]',this.grid.body.dom);var scrollMax=scrollNode.scrollHeight-this.grid.body.dom.scrollHeight;if(this.gridScrollTop>scrollMax){this.gridScrollTop=scrollMax;}
scrollNode.scrollTop=this.gridScrollTop;},this);}
var selRecIndex=-1;if(this.lastSingleClickRowDocId){selRecIndex=this.store.find('docId',this.lastSingleClickRowDocId);if(selRecIndex<0){this.lastSingleClickRowDocId=null;}}
if(selRecIndex==-1){selRecIndex=this.selectRow();}
if(selRecIndex>=0){var task=new Ext.util.DelayedTask();task.delay(10,function(blockId){PDQ.blocks[blockId].grid.getSelectionModel().selectRow(selRecIndex);},null,[this.id]);}else if(this.typeParams.selectFirst&&this.store.getCount()>0&&!this.initialRowSelection){if(this.typeParams.selectFirst===true){var rowNum=0;}else{var rowNum=0;for(var i=0;i<this.data.length;i++){if(this.store.data.items[i].data.docId==this.typeParams.selectFirst){rowNum=i;break;}}}
this.rowclick.defer(500,this,[this.grid,rowNum]);this.initialRowSelection=true;}else if(this.store.getCount()==0){var clearParams={};for(var i=0;i<this.typeParams.paramsClearOnNoRows.length;i++){clearParams[this.typeParams.paramsClearOnNoRows[i]]='';}
PDQ.updateParams(clearParams,null,{logMessage:'Cleared by grid due to no rows'});}
if(this.typeParams.selectFirst!==false){this.typeParams.selectFirst=true;}
if(!this.dragEnabled){return;}
var gridDropTargetEl=this.grid.getView().el.dom.childNodes[0].childNodes[1];this.gridDropTarget=new Ext.dd.DropTarget(gridDropTargetEl,{ddGroup:this.blockCode,copy:true,notifyDrop:function(ddSource,e,data){for(var i=0;i<ddSource.dragData.selections.length;i++){var record=ddSource.dragData.selections[i];if(typeof record.get('noDrag')!='undefined'){if(record.get('noDrag')){PDQ.messageBox.alert('That line cannot be dragged.')
return(false);}}
this.PDQblock.store.add(record);ddSource.grid.store.remove(record);var p={docId:record.id,sourceBlock:ddSource.grid.PDQblock,targetBlock:this.PDQblock};PDQ.runDragMacro(p);}
return(true);}});this.gridDropTarget.PDQblock=this;}
PDQ.block.prototype.scrollHide=function(){if(typeof this.panel=='undefined')return;if(typeof this.panel.body=='undefined')return;if(typeof this.grid=='undefined')return;var div=Ext.DomQuery.selectNode('div[class*=x-grid-panel]',this.panel.body.dom);var pw=this.panel.getInnerWidth();var gw=this.grid.getSize().width;if(gw<pw){var fn=function(pw,b){this.style.width='auto';var fn2=function(pw,b){this.style.width=pw+'px';};fn2.defer(10,this,[pw,b]);};div.style.width='auto';fn.defer(10,div,[pw,this]);return;}
var ph=this.panel.getInnerHeight();var gh=this.grid.getSize().height;if(gh>ph){this.adjustHeight();}}
PDQ.block.prototype.rowclick=function(Grid,rowIndex,e){PDQ.log('rowClick - PDQ.dblClickExec = '+PDQ.dblClickExec);PDQ.log('rowclick '+rowIndex);if(typeof e!='undefined'){if(e!==null){if(e.altKey){this.selectRow()
return false;}}}
if(PDQ.dblClickExec){setTimeout(function(){PDQ.dblClickExec=false;},500);return;}
if(e){if(e.shiftKey){return;}else if(e.ctrlKey){return;}else if(e.altKey){return;}}
var d=this.store.data.items[rowIndex].data;var trObj=null;if(PDQ.tracking.indexOf('CL')>=0){var tkn;if(d.title){tkn=d.title;}else if(d.name){tkn=d.name;}else if(d.code){tkn=d.code;}else if(d.id){tkn=d.id;}else{tkn='row '+(rowIndex+1);}
tkn=tkn.match(/^[^~]*/i)[0];tkn='Grid | Single click | '+tkn;tkn=Ext.util.Format.stripTags(tkn);tkn=tkn.replace(/&nbsp;/ig,'');var tt=Ext.util.Format.stripTags(this.title);tt=tt.replace(/&nbsp;/ig,'');trObj={TREvent:'C',AType:'GC',BlockCode:this.blockCode,Title:tt,Token:tkn};}
if(typeof d.docId=='undefined'){var m='ERROR - Grid '+this.id+' does not have a docId field.';m+=' This field must always exist if the row is to be clicked. It can even be a dummy value as long as it is unique for each row.'
PDQ.log(m);PDQ.messageBox.alert(m);if(trObj)PDQ.traffic(trObj);return;}
if(!Ext.isEmpty(d.singleClickAction)){var formCode='';if(typeof d.formCode!='undefined'){formCode=d.formCode;}
var view=this.grid.getView();var cellDom=view.getCell(rowIndex,0);var fly=Ext.fly(cellDom.firstChild,'cell');var vers=d.docId.slice(-6);var cfg={id:this.id+vers,block:this,docId:d.docId,form:formCode,constraintoviewport:true,animateTarget:fly.id};if(!Ext.isEmpty(d.dbFilePath)){cfg.db=d.dbFilePath;}
if(formCode!=''){cfg.form=formCode;}
if(d.singleClickAction=='E'){cfg.edit=true;}
PDQ.pop(cfg);return;}
if(d.docId==this.lastSingleClickRowDocId){this.lastSingleClickRowDocId=null;if(this.blockType=='DV'){this.dataview.deselect(rowIndex);dh.applyStyles(this.dataview.getNode(rowIndex),this.typeParams.selectionOffStyle);}else{this.grid.getSelectionModel().deselectRow(rowIndex);}
if(d.updateOff&&d.updateOff!=''){var s='var o = {'+d.updateOff+'};';eval(s);PDQ.updateCheck(this.id,o);}
if(trObj)PDQ.traffic(trObj);return;}
this.lastSingleClickRowDocId=d.docId;if(this.blockType!='DV'){var task=new Ext.util.DelayedTask();task.delay(10,function(blockId){PDQ.blocks[blockId].grid.getSelectionModel().selectRow(rowIndex);},null,[this.id]);}
if(d.url&&d.url!=''){if(trObj)PDQ.traffic(trObj);return;}
if(d.JS&&d.JS!=''){PDQ.log('Execute JS '+d.JS);eval(d.JS);}
if(d.update&&d.update!=''){var s='var o = {'+d.update+'};';eval(s);PDQ.updateCheck(this.id,o);}
if(trObj)PDQ.traffic(trObj);}
PDQ.block.prototype.rowdblclick=function(Grid,rowIndex,e){if(e){if(e.shiftKey){return;}else if(e.ctrlKey){return;}else if(e.altKey){return;}}
PDQ.log('rowdblclick '+rowIndex);PDQ.dblClickExec=true;if(this.lastSingleClickRowDocId===null){this.grid.getSelectionModel().clearSelections();}else{var lastRowIndex=this.store.find('docId',this.lastSingleClickRowDocId);if(lastRowIndex>=0){var task=new Ext.util.DelayedTask();task.delay(10,function(blockId,rowIndex){PDQ.blocks[blockId].grid.getSelectionModel().selectRow(rowIndex);},null,[this.id,lastRowIndex]);}else{this.grid.getSelectionModel().clearSelections();this.lastSingleClickRowDocId=null;}}
if(typeof this.store.data.items[rowIndex].data['dblClickOK']!='undefined'){var dbc=this.store.data.items[rowIndex].data['dblClickOK'];if(typeof dbc=='string'){if(dbc!=''){PDQ.messageBox.alert(dbc);return;}}else if(!dbc){PDQ.messageBox.alert('This row cannot be double clicked.');return;}}
if(this.store.data.items[rowIndex].data['JSdblClick']){eval(this.store.data.items[rowIndex].data['JSdblClick']);return;}else if(this.store.data.items[rowIndex].data['docId']){var docId=this.store.data.items[rowIndex].data['docId'];}else{PDQ.messageBox.alert('SYSTEM ERROR','Cannot open document - docId field is missing from block data definition.');return;}
var formCode='';if(typeof this.store.data.items[rowIndex].data['formCode']!='undefined'){formCode=this.store.data.items[rowIndex].data.formCode;}
var view=this.grid.getView();var cellDom=view.getCell(rowIndex,0);var fly=Ext.fly(cellDom.firstChild,'cell');var vers=docId.slice(-6);var cfg={id:this.id+vers,block:this,docId:docId,form:formCode,constraintoviewport:true,animateTarget:fly.id};if(!Ext.isEmpty(this.store.data.items[rowIndex].data['dbFilePath'])){cfg.db=this.store.data.items[rowIndex].data['dbFilePath'];}
if(formCode!=''){cfg.form=formCode;}
PDQ.pop(cfg);}
PDQ.block.prototype.displayT1=function(){var d=this.data;for(var i=0;i<d.length;i++){if(d[i].parentId!==null){if(d[i].parentId=='')d[i].parentId=null;}};for(var i=0;i<d.length;i++){if(typeof d[i].align=='undefined'){d[i].align='';};if(d[i].align===null){d[i].align='';};if(typeof d[i].parentId=='undefined'){d[i].parentId=null;};d[i].PDQblock=this;};var sortFn=function(a,b){if(a.parentId&&b.parentId===null)
return 1;if(a.parentId===null&&b.parentId)
return-1;if(a.sort<b.sort)
return-1;if(a.sort>b.sort)
return 1;return 0;W};if(this.toolBar){this.panel.remove(this.toolBar,true);this.parentPanel.doLayout();}
var toolBarCfg={height:26};if(Ext.isIE&&PDQ.extVer>=3){toolBarCfg.style='padding:0px;';}
this.toolBar=new Ext.Toolbar(toolBarCfg);this.panel.add(this.toolBar);this.parentPanel.doLayout();d.sort(sortFn);for(var i=(d.length-1);i>=0;i--){if(d[i].parentId===null&&i>0){if(this.typeParams.fullWidth&&d[i].align==''){d[i].align='right';}
break;}};var nTop=0;for(var i=0;i<d.length;i++){if(d[i].align==''){d[i].align='left';}
if(d[i].id!=''&&d[i].parentId===null&&d[i].align=='left'){var tabObj=this.displayT1tabObj(i);if(nTop==1)this.toolBar.add('-');if(tabObj.menu){d[i].buttonObj=new Ext.Toolbar.SplitButton(tabObj);var fn=function(item){for(var n=0;n<item.menu.items.items.length;n++){if(item.menu.items.items[n].menu){item.menu.items.items[n].parentMenu=item;fn(item.menu.items.items[n]);}}}
if(d[i].buttonObj.menu){for(var k=0;k<d[i].buttonObj.menu.items.items.length;k++){if(d[i].buttonObj.menu.items.items[k].menu){d[i].buttonObj.menu.items.items[k].parentMenu=d[i].buttonObj.menu;fn(d[i].buttonObj.menu.items.items[k]);}}}
this.toolBar.add(d[i].buttonObj);d[i].buttonObj.on('mouseover',function(){PDQ.closeMenuTask.cancel();this.showMenu();},d[i].buttonObj);d[i].buttonObj.on('mouseout',function(){PDQ.closeMenuTask.delay(PDQ.closeMenuMS,Ext.menu.MenuMgr.hideAll);});}else{d[i].buttonObj=this.toolBar.addButton(tabObj);d[i].buttonObj.on('mouseover',Ext.menu.MenuMgr.hideAll);}
nTop++;if(nTop>1)this.toolBar.add('-');}}
if(this.typeParams.extraJS&&PDQ.userName!=''){toolBar=this.toolBar;eval(this.typeParams.extraJS);}
var rs=false;var nTop=0;for(var i=0;i<d.length;i++){if(d[i].parentId===null&&d[i].align=='right'){if(rs==false){this.toolBar.add('->');rs=true;}
if(nTop==1)this.toolBar.add('-');var tabObj=this.displayT1tabObj(i);if(tabObj.menu){d[i].buttonObj=new Ext.Toolbar.SplitButton(tabObj);this.toolBar.add(d[i].buttonObj);d[i].buttonObj.on('mouseover',function(){PDQ.closeMenuTask.cancel();this.showMenu();},d[i].buttonObj);d[i].buttonObj.on('mouseout',function(){PDQ.closeMenuTask.delay(PDQ.closeMenuMS,Ext.menu.MenuMgr.hideAll);});}else{d[i].buttonObj=this.toolBar.addButton(tabObj);d[i].buttonObj.on('mouseover',Ext.menu.MenuMgr.hideAll);}
nTop++;if(nTop>1)this.toolBar.add('-');}}
if(this.blockCode=='NAV01'){if(!Ext.isEmpty(this.lastTabClickId)){PDQ.pressButton({id:this.lastTabClickId,block:this,traffic:false});}else{var fn=function(){PDQ.clickButton({id:'HM',progress:true});};PDQ.updateCheck(this.id,{P_curArticleID:PDQ.getParams('P_firstArticleID',null,true),P_curSectID:PDQ.getParams('P_firstSectID',null,true),P_curTabSectID:PDQ.getParams('P_firstTabSectID',null,true),CMPageID:'home'},fn);}}};PDQ.block.prototype.displayT1tabObj=function(tabIndex){var d=this.data;var tabObj={id:'menu-'+this.id+'-'+d[tabIndex].id,text:d[tabIndex].text}
if(d[tabIndex].icon){if(d[tabIndex].icon.indexOf('/')<0&&d[tabIndex].icon.indexOf('\\')<0){var iconFP=PDQ.resourceDir+'/PDQ/etc/icons/fam/'+d[tabIndex].icon;d[tabIndex].icon=iconFP;}}
if(d[tabIndex].parentId===null){if(d[tabIndex].icon){var s='background-image:url('+d[tabIndex].icon+');';s+='background-position-y:0px;';s+='background-repeat:no-repeat;';s+='padding:1px 0px 2px 18px;';var ttp='';if(d[tabIndex].tooltip){var ttp=d[tabIndex].tooltip.replace(/"/g,'\"')
ttp=' ext:qtip="'+ttp+'"';}
var txt='<div style="'+s+'"'+ttp+'>'+d[tabIndex].text+'</div>';tabObj.text=txt;}}
var itemsObj=this.displayT1menuObj(tabIndex);if(itemsObj.items[0]){tabObj.menu=itemsObj;tabObj.menu.listeners={'mouseover':function(){PDQ.closeMenuTask.cancel();},'mouseout':function(){PDQ.closeMenuTask.delay(PDQ.closeMenuMS,Ext.menu.MenuMgr.hideAll);}};}
if(d[tabIndex].parentId){if(d[tabIndex].icon){tabObj.icon=d[tabIndex].icon;}else{tabObj.icon=PDQ.portalDir+'/orangeDotGREY16.gif?OpenImageResource';}}
if(d[tabIndex].tooltip){tabObj.tooltip=d[tabIndex].tooltip;}
var js1='';if(d[tabIndex].JS){if(d[tabIndex].JS!=''){js1=d[tabIndex].JS;}}
var js2='';if(d[tabIndex].update){if(d[tabIndex].update!=''){if(d[tabIndex].update.search(/'home'/i)>=0){js2='{ id :\''+this.id+'\', update: {'+d[tabIndex].update+'}}';}else{js2='{id :\''+this.id+'\', update: {'+d[tabIndex].update+'}}';}}}
var url='';if(d[tabIndex].url){url=d[tabIndex].url;}else if(d[tabIndex].email){url='mailto:'+d[tabIndex].email;var hrP='';if(d[tabIndex].emailS)hrP='?subject='+encodeURIComponent(d[tabIndex].emailS);if(d[tabIndex].emailB){var hrS=d[tabIndex].emailB.replace(/'/g,"\'");hrS=encodeURIComponent(hrS);hrS=hrS.replace(/%0A/gi,'');hrS=hrS.replace(/%20/gi,' ');hrS=hrS.slice(0,172);if(hrP==''){hrP+='?body='+hrS;}else{hrP+='&body='+hrS;}}
url+=hrP;}
if((js1+js2)!=''){if(typeof d[tabIndex].pressed=='boolean'){var js="PDQ.blocks['"+this.id+"'].tabsOff("+tabIndex+");";}else{var js='';}
var js3="PDQ.pressButton({id: '"+d[tabIndex].id+"', block: PDQ.blocks['"+this.id+"']});";var jsAll='';jsAll+='if (arguments.length > 1){'+String.fromCharCode(10);jsAll+='  if (arguments[1].altKey) return false;'+String.fromCharCode(10);jsAll+='}'+String.fromCharCode(10);jsAll+='var _item = null;';jsAll+='if (typeof arguments[0] != \'undefined\'){'
jsAll+='  _item = arguments[0].el.findParentNode(\'div.x-menu\',10,true);'+String.fromCharCode(10);jsAll+='};'
jsAll+='if (_item){'+String.fromCharCode(10);jsAll+='  _item.hide();'+String.fromCharCode(10);jsAll+='  _item.dom.previousSibling.style.visibility=\'hidden\';'+String.fromCharCode(10);jsAll+='};'+String.fromCharCode(10);jsAll+='var changes = false;'+String.fromCharCode(10);if(js2!=''){jsAll+='var iu = '+js2+';'+String.fromCharCode(10);}
jsAll+='if (arguments.length == 1){'+String.fromCharCode(10)+'  for (var i in arguments[0]){'+String.fromCharCode(10)+"    if (typeof iu == 'undefined'){"+String.fromCharCode(10)+"      var iu = {};"+String.fromCharCode(10)+"      iu.update = {};"+String.fromCharCode(10)+"    }"+String.fromCharCode(10)+'    iu.update[i] = arguments[0][i];'+String.fromCharCode(10)+'  }'+String.fromCharCode(10)+'}'+String.fromCharCode(10);jsAll+='if (typeof iu != \'undefined\') {'+String.fromCharCode(10)+'changes = PDQ.updateCheck( iu.id, iu.update);'+String.fromCharCode(10)+'};'+String.fromCharCode(10);jsAll+=js+';'+String.fromCharCode(10);jsAll+=js3+String.fromCharCode(10);jsAll+=js1+';'+String.fromCharCode(10);jsAll+='return changes;'+String.fromCharCode(10);tabObj.handler=new Function(jsAll);}else if(url!=''){tabObj.href=url;if(Ext.isEmpty(d[tabIndex].newWindow)){d[tabIndex].newWindow='';}
d[tabIndex].newWindow=d[tabIndex].newWindow.toLowerCase();if(d[tabIndex].newWindow=='y'){var tg='_blank';tabObj.hrefTarget=tg;}else if(d[tabIndex].newWindow=='n'){}else if(url.match(/\.(ntf)|(nsf)|(zip)$/i)){}else if(url.slice(0,0)!='/'){var tg='_blank';tabObj.hrefTarget=tg;}else{var tg='_blank';tabObj.hrefTarget=tg;}}
if(d[tabIndex].pressed){if(d[tabIndex].pressed==='NULL'){d[tabIndex].pressed=false;}
if(typeof d[tabIndex].pressed!='boolean'){var m='SYSTEM ERROR: Button pressed field should be boolean: button:'+d[tabIndex].id+' value:"'+d[tabIndex].pressed+'"';PDQ.messageBox.alert(m);PDQ.log(m);}
tabObj.enableToggle=true;tabObj.pressed=true;this.currentPressed=d[tabIndex];}else if(d[tabIndex].pressed==false){tabObj.enableToggle=true;}
if((js1+js2)==''){tabObj.listeners={'click':{fn:function(o,e){PDQ.pressButton({id:this.id,block:this.PDQblock});},scope:d[tabIndex]}};}
return tabObj;}
PDQ.block.prototype.tabsOff=function(tabIndex){var d=this.data;for(var i=0;i<d.length;i++){if(i!=tabIndex){if(d[i].buttonObj){if(d[i].buttonObj.pressed){d[i].buttonObj.toggle(false);d[i].buttonObj.hideMenu();}}}}}
PDQ.block.prototype.tabRestore=function(){this.tabsOff();if(this.lastPressed===null){return;}
if(!this.lastPressed.buttonObj){return;}
if(!this.lastPressed.buttonObj.toggle){return;}
this.lastPressed.buttonObj.toggle();setTimeout(function(){this.lastPressed.toggle(true);this.currentPressed=this.lastPressed;}.createDelegate(this),10);}
PDQ.block.prototype.displayT1menuObj=function(optionIndex){var d=this.data;var ni=0;var items=[];for(var i=0;i<d.length;i++){if(d[i].parentId!==d[optionIndex].id)continue;items[items.length]=this.displayT1tabObj(i);d[i].parentItem=d[optionIndex];}
var itemsObj={items:items};return itemsObj;}
PDQ.block.prototype.adjustWidth=function(){if(this.popUp||this.popUpChild){if(this.popUpBlock.width){var hasScroll=false;var bDom=this.popUpBlock.panel.body.dom;if(bDom.clientHeight<bDom.scrollHeight)hasScroll=true;if(!hasScroll){for(var i=0;i<this.popUpBlock.childBlocks.length;i++){var bDom=this.popUpBlock.childBlocks[i].panel.body.dom;if(bDom.clientHeight<bDom.scrollHeight)hasScroll=true;}}
var wB=this.popUpBlock.width;var wP=this.popUpBlock.panel.getSize().width
var extraSB=16;if(Ext.isIE)extraSB=20;if(hasScroll&&wP!=(wB+extraSB)){this.popUpBlock.setPanelWidth(this.popUpBlock.width+extraSB);}else if(!hasScroll&&wP==(wB+extraSB)){this.popUpBlock.setPanelWidth(this.popUpBlock.width);}
return;}}
if(!Ext.isEmpty(this.width))return;var newWidth=-1;if(this.blockType=='PC'){newWidth=0;for(var i=0;i<this.childBlocks.length;i++){var p=this.childBlocks[i].panel;newWidth+=p.getSize().width;}
newWidth+=this.panel.getFrameWidth();}else if(this.blockType=='P'){for(var i=0;i<this.childBlocks.length;i++){var p=this.childBlocks[i].panel;var pW=p.getSize().width+this.panel.getFrameWidth();if(pW>newWidth)newWidth=pW;}}
if(newWidth!=-1&&newWidth!=this.panel.getSize().width){this.setPanelWidth(newWidth);}}
PDQ.block.prototype.getChildHeights=function(){var h=0;var b=this;if(!b.panel.rendered||b.panel.hidden||!b.panel.isVisible())return{height:null,adjust:{}};if(b.blockType=='PC'){for(var i=0;i<b.panel.items.items.length;i++){var hi=0;if(b.panel.rendered&&!b.panel.hidden&&b.panel.isVisible()){var p=b.panel.items.items[i];hi=p.getInnerHeight()+p.getFrameHeight();if(hi<b.panel.items.items[i].PDQblock.heightMin){hi=b.panel.items.items[i].PDQblock.heightMin;}
var marginTop=p.getEl().dom.style.marginTop;if(!Ext.isEmpty(marginTop)){marginTop=parseInt(marginTop,10);}else{marginTop=0;}
var marginBottom=p.getEl().dom.style.marginBottom;if(!Ext.isEmpty(marginBottom)){marginBottom=parseInt(marginBottom,10);}else{marginBottom=0;}}
h=hi>h?hi:h;}}else if(b.blockType=='P'){var x='';for(var i=0;i<b.childBlocks.length;i++){var p=b.childBlocks[i].panel;if(p){if(p.rendered&&!p.hidden&&b.childBlocks[i].panel.isVisible()){var hi=p.getBox().height;var marginTop=p.getEl().dom.style.marginTop;if(!Ext.isEmpty(marginTop)){marginTop=parseInt(marginTop,10);}else{marginTop=0;}
var marginBottom=p.getEl().dom.style.marginBottom;if(!Ext.isEmpty(marginBottom)){marginBottom=parseInt(marginBottom,10);}else{marginBottom=0;}
hi+=marginTop+marginBottom;if(hi<b.childBlocks[i].heightMin){hi=b.childBlocks[i].heightMin;}
h+=hi;}}}
h=h==0?2:h;}else{if(!b.manualResize&&!b.adjustedSize){var el=b.panel.body.dom;b.panel.lastSize.height=0;h=el.scrollHeight;if(this.popUpChild||this.popUp||Ext.isGecko){if(b.heightMin===null||b.heightMax==null){var th=el.style.height;var ov=el.style.overflow;el.style.overflow='hidden';for(var hG=el.scrollHeight;hG>0;hG=hG-50){el.style.height=hG+'px';h=el.scrollHeight;if(h>hG){break;}}
el.style.height=th;el.style.overflow=ov;}}else{var th=el.style.height;el.style.height='auto';h=el.scrollHeight;el.style.height=th;}}else{if(b.panel.body.dom.scrollHeight>b.panel.body.dom.offsetHeight){b.panel.body.dom.style.overflowY='auto';}
h=b.panel.getSize().height;}}
var totalChange=b.panel.getInnerHeight()-h;var adjustBlocks=[];var currentH=[];var targetH=[];var addH=[];doBlock=function(b){var h=0;var p=b.panel;var doPanel=true;if(p===null)doPanel=false;if(typeof p!='object'){doPanel=false;}
if(doPanel){if(!p.rendered||p.hidden||!b.getVisibility({hasData:true})){doPanel=false;}}
if(doPanel){if(b.blockType!='P'&&b.blockType!='P'){var el=b.panel.body.dom;b.panel.lastSize.height=0;if(!b.manualResize&&!b.adjustedSize){h=el.scrollHeight;if(Ext.isGecko){if(b.heightMin===null||b.heightMax==null){var th=el.style.height;for(var hG=el.scrollHeight;hG>0;hG=hG-50){el.style.height=hG+'px';h=el.scrollHeight;if(h>hG){break;}}
el.style.height=th;}}}else{h=b.panel.getSize().height;}
var tHeight=null;if(totalChange>0&&b.heightMax&&!PDQ.isManualResizing){tHeight=b.heightMax;}else if(totalChange>0&&b.heightMax&&b.heightMax==b.heightMin&&PDQ.isManualResizing){tHeight=b.heightMax;}else if(totalChange>0){tHeight=9999;}else if(totalChange<0&&b.heightMin){tHeight=b.heightMin;}else if(totalChange<0){tHeight=0;}
if(h!=tHeight){adjustBlocks.push(b);currentH.push(h);targetH.push(tHeight);addH.push(0);}}}
for(var i=0;i<b.childBlocks.length;i++){doBlock(b.childBlocks[i]);}}
if(Math.abs(totalChange)>1)doBlock(b);if(!PDQ.isManualResizing){return{height:h};}
var heightAdded=-1;var totalHAdded=0;var totalHAB=0;for(var i=0;i<adjustBlocks.length;i++){totalHAB+=currentH[i];}
var nLeft=-1;while(heightAdded!=0&&nLeft!=0&&totalHAdded!=totalChange&&adjustBlocks.length>0){heightAdded=0;nLeft=0;var totalHLeft=0;for(var i=0;i<adjustBlocks.length;i++){if(targetH[i]!=(currentH[i]+addH[i])){nLeft++;totalHLeft+=currentH[i];}}
if(nLeft>0){for(var i=0;i<adjustBlocks.length;i++){var diffH=targetH[i]-(currentH[i]+addH[i]);if(diffH!=0){var maxAdd=diffH;if(Math.abs((totalChange-totalHAdded))>0&&(Math.abs(maxAdd)>Math.abs(totalChange-totalHAdded))){maxAdd=(totalChange-totalHAdded);}
if(Math.abs(maxAdd)>1){var addNow=10;if(currentH[i]!=0&&totalHLeft!=0){addNow=Math.round(maxAdd*currentH[i]/totalHLeft);}}else{var addNow=maxAdd;}
if((addNow+heightAdded)>totalChange){addNow=totalChange-heightAdded;}
if(addNow<0&&maxAdd>0){addNow=maxAdd;}
if(addNow>0&&maxAdd<0){addNow=maxAdd;}
addH[i]+=addNow;heightAdded+=addNow;totalHAdded+=addNow;}}}}
var adjust=[];for(var i=0;i<adjustBlocks.length;i++){adjust[i]={block:adjustBlocks[i],newHeight:currentH[i]+addH[i]}}
return{height:h,adjust:adjust};}
PDQ.block.prototype.adjustHeight=function(o){var o=o||{};o.isDelayedCall=o.isDelayedCall||false;o.delayCount=o.delayCount||0;o.logMessage=o.logMessage||'';if(o.logMessage!=''){PDQ.log(this.id+o.logMessage);}
if(typeof debugCount=='undefined'){debugCount=0;}
++debugCount;if(debugCount>623&&debugCount<630){}
if(this.id=='CM__CART'){}
if(this.blockType=='G'&&Ext.isEmpty(this.heightMin)){if(this.grid){if(this.grid.body){this.grid.body.dom.style.height='';this.adjustGridScroll=function(){var sDiv=Ext.DomQuery.select('DIV[className=x-grid3-scroller]',this.grid.body.dom)[0];var bDiv=Ext.DomQuery.select('DIV[className=x-grid3-body]',this.grid.body.dom)[0];var sH=sDiv.offsetHeight;var bH=bDiv.clientHeight;if(bH!=sH){var nH=this.grid.getSize().height;nH+=bH-sH;this.grid.setHeight(nH);if(Ext.isIE){sDiv.style.overflow='hidden';}
this.adjustHeight();}}
this.adjustGridScroll.defer(100,this);}}}
var func=function(b){if(b.id=='CM__ARTICLEPOPC'){var t='';}
if(!b.panel.rendered||b.panel.hidden||!b.getVisibility({hasData:true}))return;var h=b.getChildHeights().height;var frm=b.panel.getFrameHeight();var newH=null;var isScroll=false;if(b.heightMin&&((h+frm)<(b.heightMin-1))){if(b.panel.getSize().height!=b.heightMin){newH=b.heightMin;}}else if(b.heightMax&&((h+frm)>(b.heightMax+1))){newH=b.heightMax;isScroll=true;}else{if(b.panel.getSize().height!=(h+frm)){newH=h+frm;}}
if(b.popUpChild&&newH===null){newH=h;}
if(newH){if(b.popUpChild){var topSpace=b.popUpBlock.panel.getPosition()[1]-document.body.scrollTop;var maxH=Ext.lib.Dom.getViewportHeight()-(b.popUpBlock.getChildHeights().height
-b.panel.getBox().height)-topSpace-80-b.popUpBlock.panel.getFrameHeight();if(isScroll){b.panel.body.dom.style.overflowY='auto';}else if(newH>maxH){newH=maxH;b.panel.body.dom.style.overflowY='auto';}else{b.panel.body.dom.style.overflowY='hidden';}}
if(b.panel.getBox().height!=newH){b.panel.setHeight(newH);if(this.popUpChild&&this.blockType==''){this.hasBeenCollapsed=false;}}}
b.setPopShadow();if(b.popUpChild&&b.blockType==''){if(b.parent.width){b.panel.body.dom.style.width='';b.panel.getEl().dom.style.width='';}}
if(b.popUp===null)
if(b.parentPanel){b.parentPanel.doLayout();}}
if(typeof PDQ.blocks[this.id]=='undefined')return;var b=this;if(!b.blockStyles.match(/width:/i)){if(b.popUp===null){if(b.panel){if(b.panel.body.getWidth()<b.panel.body.dom.parentNode.clientWidth){b.panel.body.setWidth('100%');}}}}
while(b){if(b.panel){var h=b.panel.hidden;var r=b.panel.rendered;if(!h&&r&&(b.getVisibility({hasData:true})||b.blockType=='P'||b.blockType=='PC')){func(b);}}
if(!PDQ.isManualResizing){b=b.parent;}else{b=false;}}
var h=0;var b=PDQ.firstBlock;while(b){if(b.panel){if(b.panel.rendered&&!b.panel.hidden&&b.getVisibility({hasData:true})){h+=b.panel.getInnerHeight()+b.panel.getFrameHeight();}}
b=b.next;}
var frm=PDQ.mainPanel.getFrameHeight();if(h>0){PDQ.mainPanel.setHeight(h+frm);}
this.adjustWidth();this.setPopShadow();if(!PDQ.isManualResizing){if(o.delayCount<=0){var ms=10;this.adjustHeightTask.delay(ms,this.adjustHeight,this,[{isDelayedCall:true,delayCount:++o.delayCount}]);}
if(this.parent&&o.delayCount==0){this.parent.adjustHeight.defer(10,this.parent);}}
if(this.popUpChild&&this.blockType==''&&!this.hasBeenCollapsed){this.popUpBlock.panel.collapse(false);this.popUpBlock.panel.expand(false);this.hasBeenCollapsed=true;}
if(this.popUp){var setFixed=function(){if(Ext.isEmpty(this.panel))return;if(!Ext.isIE){if(this.panel.getEl().dom.style.position!='fixed'){if(this.topFix){var top=this.topFix;}else{var top=document.body.scrollTop;var topW=parseInt(this.panel.getEl().dom.style.top);top=topW-top;}
this.panel.getEl().dom.style.position='fixed';this.panel.getEl().dom.style.top=top+'px';this.topFix=top;this.topSave=document.body.scrollTop;}}
this.setPopShadow();}
if(this.panel.getEl().dom.style.position!='fixed'){if(this.topFix){var top=this.topFix;var x=this.panel.getBox().x;this.panel.setPosition(x,this.topSave+this.topFix);}}
var sDiv=this.panel.getEl().dom.previousSibling;sDiv.style.display='none';setFixed.defer(200,this);}}
PDQ.block.prototype.calcSelected=function(o){if(this.blockType!='G'&&this.blockType!='DV')return;if(o===undefined)var o={};o.macro=o.macro||null;if(typeof o.refreshBlocks=='undefined'){o.refreshBlocks=null;if(typeof o.refresh=='undefined')o.refresh=false;}else{if(typeof o.refresh=='undefined')o.refresh=true;}
o.cancel=o.cancel||false;for(var i=0;i<this.recordCfg.length;i++){if(this.recordCfg[i].name=='docId'){break;}}
if(i>=this.recordCfg.length){PDQ.log('Cannot open document - docId field is missing from data in block '+this.blockCode);return;}
var doRow=function(rows,o,b){if(b.calcLastRowDone===null){var startRow=0;}else{var startRow=b.calcLastRowDone+1;}
for(var n=startRow;n<b.store.getCount();n++){if(b.blockType=='G'){if(b.grid.selModel.isSelected(n)){break;}}else{if(b.dataview.isSelected(n)){break;}}}
b.calcLastRowDone=n;var c=b.calcTotalRows-rows.length+1;var p={rowIndex:n,progressMsg:'Updating row '+c+' of '+b.calcTotalRows,progressPercent:c/b.calcTotalRows,macro:o.macro,reconvert:o.reconvert};b.addRowCalcToQ(p);}
var endCalc=function(msg,b,refresh){if(typeof refresh=='undefined')refresh=true;if(b.calcO.refreshBlocks===null){var refreshBlocks=[];}else if(typeof b.calcO.refreshBlocks!='undefined'){var refreshBlocks=b.calcO.refreshBlocks;}else{var refreshBlocks=[];}
if(b.calcO.reloadBlocks===null){var reloadBlocks=[];}else if(typeof b.calcO.reloadBlocks!='undefined'){var reloadBlocks=b.calcO.reloadBlocks;}else{var reloadBlocks=[];}
b.calcInProcess=false;b.calcTotalRows=null;b.calcO={};if(refresh){for(var i=0;i<refreshBlocks.length;i++){var bLd=PDQ.getActiveBlock(refreshBlocks[i]);var m='Related block update as specified by end of selected row calcs/macro for block '+b.id;bLd.addDataRequestToQ({savePosition:true},m);}
for(var i=0;i<reloadBlocks.length;i++){var bLd=PDQ.getActiveBlock(reloadBlocks[i]);bLd.refreshDoc=[];bLd.initUI({forceLoad:true,savePosition:true});}}
if(b.blockType=='G'){b.grid.selModel.clearSelections();}else{b.dataview.clearSelections(true);for(var i=0;i<b.store.getCount();i++){var curNode=b.dataview.getNode(i);if(b.dataview.isSelected(i)){dh.applyStyles(curNode,b.typeParams.selectionOnStyle);}else{dh.applyStyles(curNode,b.typeParams.selectionOffStyle);}}}
var selRecIndex=-1;if(b.lastSingleClickRowDocId){selRecIndex=b.store.find('docId',b.lastSingleClickRowDocId);if(selRecIndex<0){b.lastSingleClickRowDocId=null;}else{if(b.blockType=='G'){var task=new Ext.util.DelayedTask();task.delay(10,function(blockId){PDQ.blocks[blockId].grid.getSelectionModel().selectRow(selRecIndex);},null,[b.id]);}else{var task=new Ext.util.DelayedTask();task.delay(250,function(blockId){PDQ.blocks[blockId].dataview.select(selRecIndex);var curNode=PDQ.blocks[blockId].dataview.getNode(selRecIndex);if(typeof curNode!='undefined'){dh.applyStyles(curNode,PDQ.blocks[blockId].typeParams.selectionOnStyle);}},null,[b.id]);}}}
PDQ.messageBox.type='';PDQ.messageBox.alert(msg);}
if(!this.calcInProcess){if(o.param){this.macroParam=o.param;}else{this.macroParam={};}
var unSelected=0;if(this.blockType=='G'){for(var n=0;n<this.store.getCount();n++){if(this.grid.selModel.isSelected(n)){var rec=this.store.getAt(n);var docId=rec.get('docId');if(docId.match(/^\[[^\]]*\]$/)){this.grid.selModel.deselectRow(n);unSelected++;}}}}
if(this.blockType=='G'){var rows=this.grid.selModel.getSelections();}else{var rows=this.dataview.getSelectedRecords();}
if(rows.length==0){if(unSelected==0){var m='No rows selected.';PDQ.messageBox.alert(m);}
return;}
this.calcInProcess=true;this.calcTotalRows=rows.length;this.calcO=o;this.calcLastRowDone=null;doRow(rows,this.calcO,this);PDQ.q.exec();return;}
if(o.cancel){endCalc('',this,o.refresh);return;}
if(this.blockType=='G'){var rows=this.grid.selModel.getSelections();}else{var rows=this.dataview.getSelectedRecords();}
if(rows.length==0){if(this.calcAlert===null){endCalc('Processing complete',this);}
return;}
if(!Ext.MessageBox.isVisible()){endCalc('Processing cancelled',this)
return;}
doRow(rows,this.calcO,this);PDQ.q.exec();}
PDQ.block.prototype.addRowCalcToQ=function(o){if(typeof o=='undefined'){o={};}
var p={};if(o.macro){p.type='Macro';}else{p.type='Recalc';}
p.rowIndex=o.rowIndex;var row=this.store.getAt(o.rowIndex);if(this.blockType=='G'){p.docId=row.get('docId');}else{p.docId=row.data.docId;}
if(p.docId==''){PDQ.messageBox.alert('SYSTEM ERROR - row '+(o.rowIndex+1)+' has a blank docId.');return;}
if(this.blockType=='G'){if(!Ext.isEmpty(row.get('dbFilePath'))){p.db=row.get('dbFilePath');}}else{if(typeof row.data.dbFilePath!='undefined'){p.db=row.data.dbFilePath;}}
p.progressMsg=o.progressMsg||'';if(typeof o.progressPercent!='undefined'){p.progressPercent=o.progressPercent;}
p.macro=o.macro||'';if(o.reconvert)p.reconvert=true;p.refreshBlocks=o.refreshBlocks;p.cmPageId=PDQ.cmPageId;p.pageSet=this.id.match(/.*__/i)[0];p.pageSet=p.pageSet.slice(0,p.pageSet.length-2)
p.pageCode=PDQ.pageCode;p.blockPC=this.id.match(/__.*/i)[0];p.blockPC=p.blockPC.slice(2,p.blockPC.length)
p.blockPC=PDQ.pageCode+"-"+p.blockPC;p.blockDocId=this.docId;p.block=this;p.requestFn=this.request;p.params=this.macroParam;var si=PDQ.q.add(p);}
PDQ.block.prototype.callbackMacroExec=function(o,s,r){var m='Block macro callback row '+this.rowIndex+' of block '+this.block.id+'.';PDQ.log(m);var b=this.block;if(!s||r.responseText.slice(0,6)=='<html>'){if(this.rowIndex){var m='Error in macro/refresh of row '+this.rowIndex+' of block '+this.block.id+'.';}else{var m='Error in macro/refresh of block '+this.block.id+'.';}
m+='See console at bottom of screen for details';PDQ.messageBox.alert(m);PDQ.showLog=true;PDQ.log(m);if(r.responseText){PDQ.dump(r.responseText);}
b.calcInProcess=false;b.calcTotalRows=null;b.calcO={};PDQ.messageBox.progressHidePend=true;return;}
o.scope.status=r.status;o.scope.returnText=r.responseText;o.scope.tId=r.tId;var procResult={};try{o.scope.returnObj=eval(r.responseText);}
catch(exception){if(this.block.calcInProcess){this.block.calcSelected({cancel:true});}
if(this.rowIndex){var m='Eval error in macro/refresh of row '+this.rowIndex+' of block '+this.block.id+'.';}else{var m='Eval error in macro/refresh of block '+this.block.id+'.';}
m+=' See console at bottom of screen for details';PDQ.messageBox.alert(m);PDQ.showLog=true;PDQ.log(m);PDQ.log(exception.message);b.calcInProcess=false;b.calcTotalRows=null;b.calcO={};o.scope.evalErrorMessage=exception.message;PDQ.messageBox.progressHidePend=true;return;}
if(procResult.message){PDQ.log('Row '+(this.rowIndex+1)+' update: '+procResult.message);}
if(procResult.messageAlert){PDQ.messageBox.alert(procResult.messageAlert);PDQ.log('ALERT RETURNED:'+procResult.messageAlert)
b.calcAlert=procResult.messageAlert;}else{b.calcAlert=null;}
if(typeof this.rowIndex!='undefined'){if(b.grid){var sm=b.grid.getSelectionModel();sm.deselectRow(this.rowIndex);var rec=b.store.getAt(this.rowIndex);var di=rec.get('docId');var rp={docId:di,mode:'Update'};b.refreshDoc.push(rp);b.addDataRequestToQ(null,'Update row '+(this.rowIndex+1)+' after recalc or macro execution.');}else{b.dataview.deselect(this.rowIndex);var curNode=b.dataview.getNode(this.rowIndex);var rec=b.dataview.getRecord(curNode);dh.applyStyles(curNode,b.typeParams.selectionOffStyle);var di=rec.id;var rp={docId:di,mode:'Update'};b.refreshDoc.push(rp);}}
if(procResult.messageAlert){b.calcInProcess=false;b.calcTotalRows=null;b.calcO={};PDQ.messageBox.progressHidePend=true;return;}
if(b.calcInProcess){b.calcSelected();return;}
if(b.blockType=='G'){if(procResult.changed){if(typeof this.skipAutoBlockRefresh=='undefined'){this.skipAutoBlockRefresh=false;}
if(!this.skipAutoBlockRefresh){b.addDataRequestToQ({savePosition:true},'Block contents changed due to macro execution');}
if(this.refreshBlocks){for(var i=0;i<this.refreshBlocks.length;i++){if(this.refreshBlocks[i]!=b.blockCode){var bLd=PDQ.getActiveBlock(this.refreshBlocks[i]);bLd.addDataRequestToQ({savePosition:true},'Related block update as specified by '+refreshBlocks);}}}}
if(procResult.refreshBlocks){for(var i=0;i<procResult.refreshBlocks.length;i++){var bLd=PDQ.getActiveBlock(procResult.refreshBlocks[i]);bLd.addDataRequestToQ({savePosition:true},'Block refresh as specified by drag and drop');}}}
PDQ.q.exec();}
PDQ.block.prototype.deleteSelected=function(o){if(this.blockType!='G'&&this.blockType!='DV')return;if(o===undefined)var o={};o.refreshBlocks=o.refreshBlocks||[];if(typeof o.refreshBlocks.length=='undefined'){o.refreshBlocks[0]=o.refreshBlocks;}
for(var i=0;i<this.recordCfg.length;i++){if(this.recordCfg[i].name=='docId'){break;}}
if(i>=this.recordCfg.length){PDQ.log('Cannot delete documents - docId field is missing from data in block '+this.blockCode);return;}
if(this.deleteCount===null){if(this.blockType=='G'){this.deleteCount=this.grid.selModel.getCount();}else{this.deleteCount=this.dataview.getSelectionCount();}
if(this.deleteCount==0){this.deleteCount=null;PDQ.messageBox.alert('No rows selected');return;}
this.deleteIndex=1;this.deleteRefreshBlocks=o.refreshBlocks;}
if(this.blockType=='G'){this.deleteRow=this.grid.selModel.getSelected();}else{var recs=this.dataview.getSelectedRecords();this.deleteRow=recs[0];}
var rq={};rq.url=PDQ.pathNSF+'/GenForm?OpenAgent';rq.url+='&PP='+PDQ.portalCode;rq.url+='&PDQsession='+PDQ.session;rq.url+='&PORG='+PDQ.orgCode;if(this.db){if(this.db!=PDQ.db){rq.url+='&DB='+this.db;rq.url+='&CMDB='+PDQ.db;}else{rq.url+='&DB='+PDQ.db;}}else{rq.url+='&DB='+PDQ.db;}
if(this.formName!=''){rq.url+='&Form='+this.formName;}else if(this.deleteRow.get('formCode')!=''){rq.url+='&Form='+this.deleteRow.get('formCode');}
if(this.blockType=='G'){rq.url+='&DocID='+this.deleteRow.get('docId');}else{rq.url+='&DocID='+this.deleteRow.data.docId;}
rq.url+='&Mode=Delete';rq.url+='&RunMacroFromParent=yes';rq.url+='&ExtVer='+PDQ.extVer;if(PDQ.cssTheme!='')rq.url+='&CSSTheme='+PDQ.cssTheme;if(PDQ.extDebug)rq.url+='&ExtDebug=yes';var sendVars=[];for(var i in PDQ.param){if(PDQ.param[i]!==null){sendVars[sendVars.length]=i;}}
var pList=PDQ.getParams(sendVars);for(var nm in pList){if(pList[nm]){rq.url+='&'+nm+'='+encodeURIComponent(pList[nm]);}}
rq.url+='&COBFOM&IFRAME';rq.method='GET';rq.callback=this.deleteSelectedCallback;rq.scope=this;PDQ.isDeleting=true;this.deleteTrans=Ext.Ajax.request(rq);if(this.deleteMsg===null){var m='Deleting...';}else{var m=this.deleteMsg;}
PDQ.messageBox.progressHidePend=false;PDQ.messageBox.progressUpdate(this.deleteIndex/this.deleteCount,'',m);var d=Ext.MessageBox.getDialog();d.tools.close.setDisplayed(true);}
PDQ.block.prototype.deleteSelectedCallback=function(o,s,r){var cancelled=false;if(!Ext.MessageBox.isVisible()){cancelled=true;}
if(!s||r.responseText.slice(0,6)=='<html>'){PDQ.isDeleting=false;var m='Error deleting records - see console at bottom of screen for details.';PDQ.messageBox.alert(m);PDQ.log(m);if(r.responseText){PDQ.dump(r.responseText);}
return;}
var procResult={};try{eval(r.responseText);}
catch(exception){PDQ.isDeleting=false;var m='Eval error deleting records - see console at bottom of screen for details.';PDQ.messageBox.alert(m);PDQ.showLog=true;PDQ.log(m);PDQ.log(r.responseText);PDQ.log(exception.message);return;}
if(typeof procResult.deleted=='undefined'){PDQ.isDeleting=false;var m='Error deleting records - missing procResult.delete - see console at bottom of screen for details.';PDQ.messageBox.alert(m);PDQ.showLog=true;PDQ.log(m);PDQ.log(r.responseText);PDQ.log(exception.message);return;}
if(typeof procResult.returnMsg!='undefined'){this.deleteMsg=procResult.returnMsg;}
if(!procResult.deleted){PDQ.isDeleting=false;var m=procResult.returnMsg||'Document not deleted';PDQ.messageBox.alert(m);this.deleteRow=null;this.deleteTrans=null;this.deleteIndex=null;this.deleteCount=null;this.deleteMsg=null;this.deleteRefreshBlocks=[];return;}
PDQ.deleteBlockRow(this,this.deleteRow)
if(procResult.deletedRelatedDocIDs.length>0){for(var i in PDQ.blocks){if(PDQ.blocks[i].store){for(var k=0;k<procResult.deletedRelatedDocIDs.length;k++){var delRecIndex=PDQ.blocks[i].store.find('docId',procResult.deletedRelatedDocIDs[k]);if(delRecIndex>=0){var delRec=PDQ.blocks[i].store.getAt(delRecIndex);PDQ.deleteBlockRow(PDQ.blocks[i],delRec)}}}}}
++this.deleteIndex;if(this.deleteIndex>this.deleteCount){PDQ.isDeleting=false;PDQ.messageBox.hide();for(var i=0;i<this.deleteRefreshBlocks.length;i++){if(this.deleteRefreshBlocks[i]!=this.blockCode){var bLd=PDQ.getActiveBlock(this.deleteRefreshBlocks[i]);bLd.addDataRequestToQ();}}
this.deleteRow=null;this.deleteTrans=null;this.deleteIndex=null;this.deleteCount=null;this.deleteMsg=null;this.deleteRefreshBlocks=[];if(this.typeParams.selectFirst===true&&this.store.getCount()>0){this.rowclick(this.grid,0);}
if(this.store.getCount()==0){var clearParams={};for(var i=0;i<this.typeParams.paramsClearOnNoRows.length;i++){clearParams[this.typeParams.paramsClearOnNoRows[i]]='';}
PDQ.updateParams(clearParams,null,{logMessage:'Cleared by deletion of selected items'});PDQ.checkBlocks(this.id);}
return;}
if(cancelled){PDQ.isDeleting=false;PDQ.messageBox.type='';PDQ.messageBox.alert('Delete operation cancelled');this.deleteRow=null;this.deleteTrans=null;this.deleteIndex=null;this.deleteCount=null;this.deleteMsg=null;this.deleteRefreshBlocks=[];return;}
this.deleteSelected();}
PDQ.block.prototype.GetSameSpaceBlocks=function(){var retBlocks={};if(this.sameSpaceCode[0]==''){return retBlocks;}
for(i=0;i<this.sameSpaceCode.length;i++){for(var j in PDQ.blocks){if(j==this.id)continue;for(var k=0;k<PDQ.blocks[j].sameSpaceCode.length;k++){if(PDQ.blocks[j].sameSpaceCode[k]==this.sameSpaceCode[i]&&PDQ.blocks[j].parentId===this.parentId){retBlocks[j]=PDQ.blocks[j];}}}}
return retBlocks;}
PDQ.block.prototype.updateIfNeeded=function(o){var o=o||{};o.silent=o.silent||false;o.stack=o.stack||{};if(this.initialData&&!this.initialized){this.initialized=true;this.updateParams();var oN={};oN.scope={};oN.scope.block=this;var rN={};rN.status=200;rN.responseText='';if(Ext.isArray(this.initialData)){for(var i=0;i<this.initialData.length;i++){rN.responseText+=this.initialData[i];}}else{rN.responseText=this.initialData;}
rN.tId=-1;var stackE={};stackE.block=this;this.callback(oN,true,rN,stackE,true);delete this.initialData;delete this.initialDataParam;this.lastSingleClickRowDocId=null;this.fromPrefetchedData=true;return true;}
var refreshBlock=false;var reason='';if(this.toDelete)return false;if(!this.canRefresh())return false;for(var j=0;j<this.paramMon.length;j++){var pn=this.paramMon[j];if(pn.slice(0,2)=='S_'){var bp=this.param[pn];var mp=PDQ.systemParamValue(pn,this);}else{var bp=this.param[pn];var mp=PDQ.getParams([pn],this,true);}
if(typeof mp=='undefined')mp='';if(mp===null)mp='';if(typeof bp=='undefined')bp='';if(bp===null)bp='';if(this.paramNoRefreshOnBank.indexOf(pn)>=0&&mp==''){if(!o.silent){PDQ.log('Block '+this.id+' not refreshed - '+pn+' is blank and on no refresh if blank list.')}
this.updateParams();return false;}
if(bp!=mp){reason=pn+' changed from '+bp+' to '+mp;refreshBlock=true;}}
for(var i=0;i<this.paramNoRefreshOnBank.length;i++){var pn=this.paramNoRefreshOnBank[i];var mp=PDQ.getParams([pn],this,true);if(typeof mp=='undefined')mp='';if(mp===null)mp='';if(mp==''){if(!o.silent){PDQ.log('Block '+this.id+' not refreshed - '+pn+' is blank and on no refresh if blank list.')}
this.updateParams();return false;}}
if(!this.initialized&&this.data===null){refreshBlock=true;if(reason!=''){reason+=' (Block is also not initialized yet)';}else{reason='(Not initialized yet)';}}
if(!this.initialized&&(this.blockType=='P'||this.blockType=='PC')&&this.paramUpdates.length>0){refreshBlock=true;reason='P/PC Block that sets params and is not initialized yet';}
if(this.isDisplay&&!this.getVisibility()){}
if(refreshBlock){if(this.progressIcon!=''){if(PDQ.progressDelayInPage>=0&&typeof this.initialData=='undefined'){setTimeout(function(){PDQ.messageBox.progress('','',null,PDQ.progressDelayInPage);},10);}}
this.updateParams();var stackNew=this.addDataRequestToQ(null,reason);this.lastSingleClickRowDocId=null;}
delete this.initialData;delete this.initialDataParam;return refreshBlock;}
PDQ.block.prototype.trackingUpdate=function(o){if(typeof o=='undefined')o={};if(typeof o!='object')o={};if(PDQ.arrayCompare(this.gAnalyticsLast,this.gAnalytics)){return;}
if(PDQ.gAnalyticsAcct.length==0)return;if(PDQ.gAnalyticsAcct.length==0)return;var gTokens=[];for(var i=0;i<this.gAnalytics.length;i++){if(typeof this.gAnalytics[i]=='object'){if(PDQ.gAnalyticsAcct[i].length>0){for(var j=0;j<this.gAnalytics[i].length;j++){var tkn=this.gAnalytics[i][j];if(tkn!=''){if(o.extra){tkn+='/'+o.extra;}
gTokens.push(tkn);}}}}else{if(this.gAnalytics[i]!=''){var tkn=this.gAnalytics[i];if(o.extra){tkn+='/'+o.extra;}
gTokens.push(tkn);}}}
var msg='';for(var i=0;i<gTokens.length;i++){for(var j=0;j<PDQ.gAnalyticsAcct.length;j++){if(PDQ.gAnalyticsAcct[j]!=''){var txt='Posting Google analytics token '+gTokens[i]+' to '+PDQ.gAnalyticsAcct[j];PDQ.log(txt);_uacct=PDQ.gAnalyticsAcct[j];urchinTracker(gTokens[i]);}}}
this.gAnalyticsLast=this.gAnalytics;}
PDQ.block.prototype.getVisibility=function(o){var b=this;if(typeof o=='undefined'){o={};}
var hasData=o.hasData||false;while(b){if(!b.isDisplay){return false;}
if(b.blockType!='P'&&b.blockType!='PC'){if(hasData){if(b.dataReceived){if(b.data!==null){if(typeof b.data.length!='undefined'){if(b.hideNoRows&&b.data.length==0){return false;}}else{if(b.hideIfBlank&&Ext.isEmpty(b.data)){return false;}}}else{if(b.hideIfBlank){return false;}}}else{return false;}}}
if(b.hideBlocks.length>0){var nHidden=0;for(var i=0;i<this.hideBlocks.length;i++){var b=PDQ.getActiveBlock(this.hideBlocks[i]);if(Ext.isEmpty(b))continue;if(!b.getVisibility({hasData:true})){nHidden++}}
if(nHidden==this.hideBlocks.length){return false;}}
b=b.parent;}
return true;}
PDQ.block.prototype.pageUpdateCallback=function(o){debugger;}
Ext.DataView.DragSelector=function(cfg){cfg=cfg||{};var view,regions,proxy,tracker;var rs,bodyRegion,dragRegion=new Ext.lib.Region(0,0,0,0);var dragSafe=cfg.dragSafe===true;this.init=function(dataView){view=dataView;view.on('render',onRender);};function fillRegions(){rs=[];view.all.each(function(el){rs[rs.length]=el.getRegion();});bodyRegion=view.el.getRegion();}
function cancelClick(){return false;}
function onBeforeStart(e){return!dragSafe||e.target==view.el.dom;}
function onStart(e){view.on('containerclick',cancelClick,view,{single:true});if(!proxy){proxy=view.el.createChild({cls:'x-view-selector'});}else{proxy.setDisplayed('block');}
fillRegions();view.clearSelections();}
function onDrag(e){var startXY=tracker.startXY;var xy=tracker.getXY();var x=Math.min(startXY[0],xy[0]);var y=Math.min(startXY[1],xy[1]);var w=Math.abs(startXY[0]-xy[0]);var h=Math.abs(startXY[1]-xy[1]);dragRegion.left=x;dragRegion.top=y;dragRegion.right=x+w;dragRegion.bottom=y+h;dragRegion.constrainTo(bodyRegion);proxy.setRegion(dragRegion);for(var i=0,len=rs.length;i<len;i++){var r=rs[i],sel=dragRegion.intersect(r);if(sel&&!r.selected){r.selected=true;view.select(i,true);}else if(!sel&&r.selected){r.selected=false;view.deselect(i);}}}
function onEnd(e){if(proxy){proxy.setDisplayed(false);}}
function onRender(view){tracker=new Ext.dd.DragTracker({onBeforeStart:onBeforeStart,onStart:onStart,onDrag:onDrag,onEnd:onEnd});tracker.initEl(view.el);}};PDQ.block.prototype.selectRow=function(o){if(this.blockType!='G')return-1;if(Ext.isEmpty(this.store))return-1;if(Ext.isEmpty(this.store.data))return-1;if(Ext.isEmpty(this.typeParams.indexColumnParam))return-1;if(Ext.isEmpty(this.grid))return-1;for(var i=PDQ.q.stack.low;i<=PDQ.q.stack.high;i++){if(PDQ.q.stack[i].block){if(PDQ.q.stack[i].block.id==this.id){if(PDQ.q.stack[i].status===null){return-1;}}}}
if(Ext.isEmpty(this.lastSingleClickRowDocId)){if(!PDQ.isDeleting){this.grid.getSelectionModel().clearSelections();}}
var store=this.store.data;var rowNum=-1;var column=this.typeParams.indexColumnParam[0];var param=this.typeParams.indexColumnParam[1];if(store.items.length==0){this.lastSingleClickRowDocId;return-1;}
if(typeof param!='undefined'){if(!Ext.isEmpty(PDQ.param[param])){for(var i=0;i<this.data.length;i++){if(typeof PDQ.param[param]!='undefined'){if(store.items[i].data[column].toUpperCase()==PDQ.param[param].toUpperCase()){rowNum=i;break;}}}
if(i>=this.data.length){this.lastSingleClickRowDocId;return-1;}}}
if(rowNum==-1&&!Ext.isEmpty(this.lastSingleClickRowDocId)){var rowNum=-1;for(var i=0;i<this.data.length;i++){if(store.items[i].data.docId==this.lastSingleClickRowDocId){rowNum=i;this.grid.getSelectionModel().selectRow(rowNum);return;}}
if(rowNum!=-1){this.grid.getSelectionModel().deselectRow(rowNum);}
this.lastSingleClickRowDocId=null;return-1;}else if(rowNum!=-1&&store.items[i].data.docId!=this.lastSingleClickRowDocId){this.rowclick(this.grid,rowNum);this.scrollToRow({toRow:rowNum});return rowNum;}else if(rowNum==-1&&Ext.isEmpty(this.lastSingleClickRowDocId)&&!PDQ.isDeleting){this.grid.getSelectionModel().clearSelections();}}
PDQ.block.prototype.scrollToRow=function(o,sObj){if(Ext.isEmpty(this.store))return;if(Ext.isEmpty(this.store.data))return;if(Ext.isEmpty(this.store.datalength=0))return;if(Ext.isEmpty(sObj)){var sObj={};sObj.toRow=o.toRow;var sDiv=Ext.DomQuery.select('div[class*=x-grid3-scroller]',this.panel.body.dom);sObj.scrollDiv=sDiv[0];sObj.clientHeight=sObj.scrollDiv.clientHeight;sObj.scrollHeight=sObj.scrollDiv.scrollHeight;var q='div[class*=x-grid3-row]:first';var rowDiv=Ext.DomQuery.select(q,sObj.sDiv);sObj.rowHeight=sDiv[0].scrollHeight/this.store.data.length;sObj.rowY=sObj.rowHeight*o.toRow;if((sObj.rowY+sObj.rowHeight)>(sObj.scrollDiv.scrollTop+sObj.clientHeight)){sObj.totalDistance=sObj.rowY+sObj.rowHeight-sObj.scrollDiv.scrollTop-sObj.clientHeight+3+(sObj.clientHeight*.33);}else if(sObj.rowY<sObj.scrollDiv.scrollTop){sObj.totalDistance=sObj.rowY-sObj.scrollDiv.scrollTop-3-(sObj.clientHeight*.33);if(sObj.totalDistance>sObj.scrollDiv.scrollTop){sObj.totalDistance=sObj.scrollDiv.scrollTop;}}else{return}
sObj.distanceMoved=0;this.scrollToRow.defer(500,this,[o,sObj]);return;}
if(Math.abs(sObj.distanceMoved)>=Math.abs(sObj.totalDistance)){return;}
var tot=Math.abs(sObj.totalDistance);var tMid=tot/2;var dMoved=Math.abs(sObj.distanceMoved);var velocity=Math.sqrt(Math.pow(tot/2,2)-Math.pow(Math.abs((tot/2-dMoved)),2))
var thisMove=tot/20/2;if(velocity<1){velocity=1;}
if(sObj.totalDistance<0){thisMove=-thisMove;}
sObj.distanceMoved+=thisMove;sObj.scrollDiv.scrollTop=sObj.scrollDiv.scrollTop+thisMove;var delay=(tot/2-velocity)*.025
if(delay<1){delay=1;}
this.scrollToRow.defer(delay,this,[o,sObj]);}
PDQ.block.prototype.setPanelWidth=function(pWidth){if(typeof pWidth=='undefined'){var pWidth=this.width;}
if(Ext.isEmpty(this.panel))return;if(!this.panel.rendered)return;if(this.parent){if(this.parent.blockType=='P'){if(!Ext.isEmpty(this.parent.width)){pWidth=this.parent.width;}}}else if(this.parentPanel&&Ext.isEmpty(pWidth)){pWidth=this.parentPanel.width;}
if(Ext.isEmpty(pWidth)){this.panel.body.setWidth('100%');return;}
if(this.parent){if(!Ext.isEmpty(this.parent.width)){if(this.parent.panel.getInnerWidth){var pPWidth=this.parent.panel.getInnerWidth();if(pWidth>pPWidth){pWidth=pPWidth;}}}}
var lw=0;var rw=0;if(!Ext.isEmpty(pWidth)){if(this.panel.getSize().width!=pWidth){this.panel.setWidth(pWidth);}}}
PDQ.block.prototype.setPopShadow=function(){if(typeof this.popUpBlock=='undefined')return;if(Ext.isEmpty(this.popUpBlock.panel))return;var sDiv=this.popUpBlock.panel.getEl().dom.previousSibling;if(sDiv===null)return;if(!sDiv.className.match(/x-shadow/i))return;if(!this.popUpBlock.panel.getEl().isVisible(true)){while(sDiv){Ext.get(sDiv).hide();sDiv=sDiv.previousSibling;if(sDiv===null)return;if(!sDiv.className.match(/x-shadow/i))return;}
return;}
if(!Ext.isIE){if(this.popUpBlock.panel.getEl().dom.style.position=='absolute'){var top=document.body.scrollTop;var topW=parseInt(this.popUpBlock.panel.getEl().dom.style.top);var top=topW-top;}else if(this.popUpBlock.panel.getEl().dom.style.position=='fixed'){var top=parseInt(this.popUpBlock.panel.getEl().dom.style.top);}else{return;}
sDiv.style.position='fixed';sDiv.style.top=top+'px';}
if(Ext.isIE){sDiv.style.height=this.popUpBlock.panel.getEl().dom.clientHeight;sDiv.style.display='block';}else{if(sDiv.firstChild===null)return;if(sDiv.firstChild.nextSibling===null)return;sDiv.style.height=this.popUpBlock.panel.getEl().dom.clientHeight+6;sDiv.firstChild.nextSibling.style.height=this.popUpBlock.panel.getEl().dom.clientHeight-6;sDiv.style.display='block';sDiv.style.position='fixed';sDiv.style.top=top+'px';}
if(!Ext.get(sDiv).isVisible()){Ext.get(sDiv).show();}
var sDivW=this.popUpBlock.panel.getEl().dom;if(Ext.isIE){sDiv.style.height=sDivW.clientHeight;sDiv.style.display='block';}else{sDiv.style.height=sDivW.clientHeight+6;sDiv.firstChild.nextSibling.style.height=sDivW.clientHeight-6;sDiv.style.display='block';sDiv.style.position='fixed';sDiv.style.top=top+'px';}}
PDQ.block.prototype.isDisplayed=function(){var b=this;while(b){if(!b.isDisplay){return false;}
b=b.parent;}
return true;}
PDQ.block.prototype.canRefresh=function(){if(this.isDisplayed())return true;if(this.isDisplay)return true;if(!Ext.isEmpty(this.popUp))return true;if(this.paramNoRefreshOnBank.length==0){if(Ext.isEmpty(this.parent))return true;if(this.parent.isDisplayed())return true;if(this.popUpChild){if(this.popUpBlock.isDisplayed())return true;}}else{for(var i=0;i<this.paramNoRefreshOnBank.length;i++){var v=PDQ.getParams(this.paramNoRefreshOnBank[i],null,true);if(v=='')return false;}
return true;}
return false;}
