
function util_notnull(e){return(typeof(e)!="undefined"&&e!=null);}
function tr(txt){return((util_notnull(str[txt])&&str[txt]!="")?str[txt]:txt);}
Ext.ns('Ext.ux.layout');Ext.grid.RowExpander=function(config){Ext.apply(this,config);this.addEvents({beforeexpand:true,expand:true,beforecollapse:true,collapse:true});Ext.grid.RowExpander.superclass.constructor.call(this);if(this.tpl){if(typeof this.tpl=='string'){this.tpl=new Ext.Template(this.tpl);}
this.tpl.compile();}
this.state={};this.bodyContent={};};Ext.extend(Ext.grid.RowExpander,Ext.util.Observable,{header:"",width:20,sortable:false,fixed:true,menuDisabled:true,dataIndex:'',id:'expander',lazyRender:true,enableCaching:true,getRowClass:function(record,rowIndex,p,ds){p.cols=p.cols-1;var content=this.bodyContent[record.id];if(!content&&!this.lazyRender){content=this.getBodyContent(record,rowIndex);}
if(content){p.body=content;}
return this.state[record.id]?'x-grid3-row-expanded':'x-grid3-row-collapsed';},init:function(grid){this.grid=grid;var view=grid.getView();view.getRowClass=this.getRowClass.createDelegate(this);view.enableRowBody=true;grid.on('render',function(){view.mainBody.on('mousedown',this.onMouseDown,this);},this);},getBodyContent:function(record,index){if(!this.enableCaching){return this.tpl.apply(record.data);}
var content=this.bodyContent[record.id];if(!content){content=this.tpl.apply(record.data);this.bodyContent[record.id]=content;}
return content;},onMouseDown:function(e,t){if(t.className=='x-grid3-row-expander'){e.stopEvent();var row=e.getTarget('.x-grid3-row');this.toggleRow(row);}},renderer:function(v,p,record){p.cellAttr='rowspan="2"';return'<div class="x-grid3-row-expander">&#160;</div>';},beforeExpand:function(record,body,rowIndex){if(this.fireEvent('beforeexpand',this,record,body,rowIndex)!==false){if(this.tpl&&this.lazyRender){body.innerHTML=this.getBodyContent(record,rowIndex);}
return true;}else{return false;}},toggleRow:function(row){if(typeof row=='number'){row=this.grid.view.getRow(row);}
this[Ext.fly(row).hasClass('x-grid3-row-collapsed')?'expandRow':'collapseRow'](row);},expandRow:function(row){if(typeof row=='number'){row=this.grid.view.getRow(row);}
var record=this.grid.store.getAt(row.rowIndex);var body=Ext.DomQuery.selectNode('tr:nth(2) div.x-grid3-row-body',row);if(this.beforeExpand(record,body,row.rowIndex)){this.state[record.id]=true;Ext.fly(row).replaceClass('x-grid3-row-collapsed','x-grid3-row-expanded');this.fireEvent('expand',this,record,body,row.rowIndex);}},collapseRow:function(row){if(typeof row=='number'){row=this.grid.view.getRow(row);}
var record=this.grid.store.getAt(row.rowIndex);var body=Ext.fly(row).child('tr:nth(1) div.x-grid3-row-body',true);if(this.fireEvent('beforecollapse',this,record,body,row.rowIndex)!==false){this.state[record.id]=false;Ext.fly(row).replaceClass('x-grid3-row-expanded','x-grid3-row-collapsed');this.fireEvent('collapse',this,record,body,row.rowIndex);}}});Ext.ux.layout.RowLayout=Ext.extend(Ext.layout.ContainerLayout,{monitorResize:true,isValidParent:function(c,target){return c.getEl().dom.parentNode==this.innerCt.dom;},onLayout:function(ct,target){var rs=ct.items.items,len=rs.length,r,i;if(!this.innerCt){target.addClass('ux-row-layout-ct');this.innerCt=target.createChild({cls:'x-row-inner'});}
this.renderAll(ct,this.innerCt);var size=target.getViewSize();if(size.width<1&&size.height<1){return;}
var h=size.height-target.getPadding('tb'),ph=h;this.innerCt.setSize({height:h});for(i=0;i<len;i++){r=rs[i];if(!r.rowHeight){ph-=(r.getSize().height+r.getEl().getMargins('tb'));}}
ph=ph<0?0:ph;for(i=0;i<len;i++){r=rs[i];if(r.rowHeight){r.setSize({height:Math.floor(r.rowHeight*ph)-r.getEl().getMargins('tb')});}}}});Ext.Container.LAYOUTS['ux.row']=Ext.ux.layout.RowLayout;var rowLayout={id:'row-panel',bodyStyle:'padding:5px',layout:'ux.row',title:'Row Layout',items:[{title:'Height = 25%, Width = 50%',rowHeight:.25,width:'50%'},{title:'Height = 100px, Width = 300px',height:100,width:300},{title:'Height = 75%, Width = fit',rowHeight:.75}]};Ext.ux.TabCloseMenu=function(){var tabs,menu,ctxItem;this.init=function(tp){tabs=tp;tabs.on('contextmenu',onContextMenu);}
function onContextMenu(ts,item,e){if(!menu){menu=new Ext.menu.Menu([{id:tabs.id+'-close',text:'Close Tab',handler:function(){tabs.remove(ctxItem);}},{id:tabs.id+'-close-others',text:'Close Other Tabs',handler:function(){tabs.items.each(function(item){if(item.closable&&item!=ctxItem){tabs.remove(item);}});}}]);}
ctxItem=item;var items=menu.items;items.get(tabs.id+'-close').setDisabled(!item.closable);var disableOthers=true;tabs.items.each(function(){if(this!=item&&this.closable){disableOthers=false;return false;}});items.get(tabs.id+'-close-others').setDisabled(disableOthers);menu.showAt(e.getPoint());}};Ext.namespace("Ext.ux");Ext.ux.NotificationMgr={positions:[]};Ext.ux.Notification=Ext.extend(Ext.Window,{initComponent:function(){Ext.apply(this,{iconCls:this.iconCls||'x-icon-information',cls:'x-notification',width:200,autoHeight:true,plain:false,draggable:false,bodyStyle:'text-align:center'});if(this.autoDestroy){this.task=new Ext.util.DelayedTask(this.hide,this);}else{this.closable=true;}
Ext.ux.Notification.superclass.initComponent.call(this);},setMessage:function(msg){this.body.update(msg);},setTitle:function(title,iconCls){Ext.ux.Notification.superclass.setTitle.call(this,title,iconCls||this.iconCls);},onRender:function(ct,position){Ext.ux.Notification.superclass.onRender.call(this,ct,position);},onDestroy:function(){Ext.ux.NotificationMgr.positions.remove(this.pos);Ext.ux.Notification.superclass.onDestroy.call(this);},cancelHiding:function(){this.addClass('fixed');if(this.autoDestroy){this.task.cancel();}},afterShow:function(){Ext.ux.Notification.superclass.afterShow.call(this);Ext.fly(this.body.dom).on('click',this.cancelHiding,this);if(this.autoDestroy){this.task.delay(this.hideDelay||5000);}},animShow:function(){this.pos=0;while(Ext.ux.NotificationMgr.positions.indexOf(this.pos)>-1)
this.pos++;Ext.ux.NotificationMgr.positions.push(this.pos);this.setSize(200,100);this.el.alignTo(document,"br-br",[-20,-20-((this.getSize().height+10)*this.pos)]);this.el.slideIn('b',{duration:1,callback:this.afterShow,scope:this});},animHide:function(){Ext.ux.NotificationMgr.positions.remove(this.pos);this.el.ghost("b",{duration:1,remove:true});},focus:Ext.emptyFn});(function(){var EV=Ext.lib.Event;Ext.ux.ManagedIFrame=function(){var args=Array.prototype.slice.call(arguments,0),el=Ext.get(args[0]),config=args[0];if(el&&el.dom&&el.dom.tagName=='IFRAME'){config=args[1]||{};}else{config=args[0]||args[1]||{};el=config.autoCreate?Ext.get(Ext.DomHelper.append(config.autoCreate.parent||document.body,Ext.apply({tag:'iframe',src:(Ext.isIE&&Ext.isSecure)?Ext.SSL_SECURE_URL:''},config.autoCreate))):null;}
if(!el||el.dom.tagName!='IFRAME')return el;el.dom.name||(el.dom.name=el.dom.id);el.dom.mifId=el.dom.id;this.addEvents({"focus":true,"blur":true,"unload":true,"domready":true,"documentloaded":true,"exception":true,"message":true});if(config.listeners){this.listeners=config.listeners;Ext.ux.ManagedIFrame.superclass.constructor.call(this);}
Ext.apply(el,this);el.addClass('x-managed-iframe');if(config.style){el.applyStyles(config.style);}
el._maskEl=el.parent('.x-managed-iframe-mask')||el.parent().addClass('x-managed-iframe-mask');Ext.apply(el,{disableMessaging:config.disableMessaging===true,loadMask:Ext.apply({msg:'Loading..',msgCls:'x-mask-loading',maskEl:el._maskEl,hideOnReady:true,disabled:!config.loadMask},config.loadMask),_eventName:Ext.isIE?'onreadystatechange':'onload',_windowContext:null,eventsFollowFrameLinks:typeof config.eventsFollowFrameLinks=='undefined'?true:config.eventsFollowFrameLinks});el.dom[el._eventName]=el.loadHandler.createDelegate(el);var um=el.updateManager=new Ext.UpdateManager(el,true);um.showLoadIndicator=config.showLoadIndicator||false;if(config.src){el.setSrc(config.src);}else{var content=config.html||config.content||false;if(content){el.update.defer(10,el,[content]);}}
return Ext.ux.ManagedIFrame.Manager.register(el);};var MIM=Ext.ux.ManagedIFrame.Manager=function(){var frames={};var readyHandler=function(e,target){try{var id=target?target.mifId:null,frame;if((frame=this.getFrameById(id||target.id))&&frame._frameAction){frame.loadHandler({type:'domready'});}}catch(rhEx){}};var implementation={shimCls:'x-frame-shim',register:function(frame){frame.manager=this;frames[frame.id]=frames[frame.dom.name]={ref:frame,elCache:{}};return frame;},deRegister:function(frame){frame._unHook();delete frames[frame.id];delete frames[frame.dom.name];},hideShims:function(){if(!this.shimApplied)return;Ext.select('.'+this.shimCls,true).removeClass(this.shimCls+'-on');this.shimApplied=false;},showShims:function(){if(!this.shimApplied){this.shimApplied=true;Ext.select('.'+this.shimCls,true).addClass(this.shimCls+'-on');}},getFrameById:function(id){return typeof id=='string'?(frames[id]?frames[id].ref||null:null):null;},getFrameByName:function(name){return this.getFrameById(name);},getFrameHash:function(frame){return frame.id?frames[frame.id]:null;},eventProxy:function(e){if(!e)return;e=Ext.EventObject.setEvent(e);var be=e.browserEvent||e;if(e.type=='unload'){this._unHook();}
if(!be['eventPhase']||(be['eventPhase']==(be['AT_TARGET']||2))){return this.fireEvent(e.type,e);}},_flyweights:{},destroy:function(){if(this._domreadySignature){Ext.EventManager.un.apply(Ext.EventManager,this._domreadySignature);}},removeNode:Ext.isIE?function(frame,n){frame=MIM.getFrameHash(frame);if(frame&&n&&n.tagName!='BODY'){d=frame.scratchDiv||(frame.scratchDiv=frame.getDocument().createElement('div'));d.appendChild(n);d.innerHTML='';}}:function(frame,n){if(n&&n.parentNode&&n.tagName!='BODY'){n.parentNode.removeChild(n);}}};if(document.addEventListener){Ext.EventManager.on.apply(Ext.EventManager,implementation._domreadySignature=[window,"DOMFrameContentLoaded",readyHandler,implementation]);}
Ext.EventManager.on(window,'beforeunload',implementation.destroy,implementation);return implementation;}();MIM.showDragMask=MIM.showShims;MIM.hideDragMask=MIM.hideShims;MIM.El=function(frame,el,forceNew){var frameObj;frame=(frameObj=MIM.getFrameHash(frame))?frameObj.ref:null;if(!frame){return null;}
var elCache=frameObj.elCache||(frameObj.elCache={});var dom=frame.getDom(el);if(!dom){return null;}
var id=dom.id;if(forceNew!==true&&id&&elCache[id]){return elCache[id];}
this.dom=dom;this.id=id||Ext.id(dom);};MIM.El.get=function(frame,el){var ex,elm,id,doc;if(!frame||!el){return null;}
var frameObj;frame=(frameObj=MIM.getFrameHash(frame))?frameObj.ref:null;if(!frame){return null;}
var elCache=frameObj.elCache||(frameObj.elCache={});if(!(doc=frame.getDocument())){return null;}
if(typeof el=="string"){if(!(elm=frame.getDom(el))){return null;}
if(ex=elCache[el]){ex.dom=elm;}else{ex=elCache[el]=new MIM.El(frame,elm);}
return ex;}else if(el.tagName){if(!(id=el.id)){id=Ext.id(el);}
if(ex=elCache[id]){ex.dom=el;}else{ex=elCache[id]=new MIM.El(frame,el);}
return ex;}else if(el instanceof MIM.El){if(el!=frameObj.docEl){el.dom=frame.getDom(el.id)||el.dom;elCache[el.id]=el;}
return el;}else if(el.isComposite){return el;}else if(Ext.isArray(el)){return frame.select(el);}else if(el==doc){if(!frameObj.docEl){var f=function(){};f.prototype=MIM.El.prototype;frameObj.docEl=new f();frameObj.docEl.dom=doc;}
return frameObj.docEl;}
return null;};Ext.apply(MIM.El.prototype,Ext.Element.prototype);Ext.extend(Ext.ux.ManagedIFrame,Ext.util.Observable,{src:null,resetUrl:Ext.isIE&&Ext.isSecure?Ext.SSL_SECURE_URL:'about:blank',setSrc:function(url,discardUrl,callback){var src=url||this.src||this.resetUrl;this._windowContext=null;this._unHook();this._frameAction=this.frameInit=this._domReady=false;if(Ext.isOpera){this.reset();}
this._callBack=callback||false;this.showMask();(function(){var s=typeof src=='function'?src()||'':src;try{this._frameAction=true;this.dom.src=s;this.frameInit=true;this.checkDOM();}catch(ex){this.fireEvent('exception',this,ex);}}).defer(100,this);if(discardUrl!==true){this.src=src;}
return this;},reset:function(src,callback){this.dom.src=src||this.resetUrl;if(typeof callback=='function'){callback.defer(100);}
return this;},scriptRE:/(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)/gi,update:function(content,loadScripts,callback){loadScripts=loadScripts||this.getUpdateManager().loadScripts||false;content=Ext.DomHelper.markup(content||'');content=loadScripts===true?content:content.replace(this.scriptRE,"");var doc;if(doc=this.getDocument()){this._frameAction=!!content.length;this._windowContext=this.src=null;this._callBack=callback||false;this._unHook();this.showMask();doc.open();doc.write(content);doc.close();this.frameInit=true;if(this._frameAction){this.checkDOM();}else{this.hideMask(true);if(this._callBack)this._callBack();}}else{this.hideMask(true);if(this._callBack)this._callBack();}
return this;},disableMessaging:false,_XFrameMessaging:function(){var tagStack={'$':[]};var isEmpty=function(v,allowBlank){return v===null||v===undefined||(!allowBlank?v==='':false);};window.sendMessage=function(message,tag,origin){var MIF;if(MIF=arguments.callee.manager){if(message._fromHost){var fn,result;var compTag=message.tag||tag||null;var mstack=!isEmpty(compTag)?tagStack[compTag.toLowerCase()]||[]:tagStack["$"];for(var i=0,l=mstack.length;i<l;i++){if(fn=mstack[i]){result=fn.apply(fn.__scope,arguments)===false?false:result;if(fn.__single){mstack[i]=null;}
if(result===false){break;}}}
return result;}else{message={type:isEmpty(tag)?'message':'message:'+tag.toLowerCase().replace(/^\s+|\s+$/g,''),data:message,domain:origin||document.domain,uri:document.documentURI,source:window,tag:isEmpty(tag)?null:tag.toLowerCase()};try{return MIF.disableMessaging!==true?MIF.fireEvent.call(MIF,message.type,MIF,message):null;}catch(ex){}
return null;}}};window.onhostmessage=function(fn,scope,single,tag){if(typeof fn=='function'){if(!isEmpty(fn.__index)){throw"onhostmessage: duplicate handler definition"+(tag?" for tag:"+tag:'');}
var k=isEmpty(tag)?"$":tag.toLowerCase();tagStack[k]||(tagStack[k]=[]);Ext.apply(fn,{__tag:k,__single:single||false,__scope:scope||window,__index:tagStack[k].length});tagStack[k].push(fn);}else
{throw"onhostmessage: function required";}};window.unhostmessage=function(fn){if(typeof fn=='function'&&typeof fn.__index!='undefined'){var k=fn.__tag||"$";tagStack[k][fn.__index]=null;}};},get:function(el){return MIM.El.get(this,el);},fly:function(el,named){named=named||'_global';el=this.getDom(el);if(!el){return null;}
if(!MIM._flyweights[named]){MIM._flyweights[named]=new Ext.Element.Flyweight();}
MIM._flyweights[named].dom=el;return MIM._flyweights[named];},getDom:function(el){var d;if(!el||!(d=this.getDocument())){return null;}
return el.dom?el.dom:(typeof el=='string'?d.getElementById(el):el);},select:function(selector,unique){var d;return(d=this.getDocument())?Ext.Element.select(selector,unique,d):null;},query:function(selector){var d;return(d=this.getDocument())?Ext.DomQuery.select(selector,d):null;},getDoc:function(){return this.get(this.getDocument());},removeNode:function(node){MIM.removeNode(this,this.getDom(node));},_unHook:function(){var elcache,h=MIM.getFrameHash(this)||{};if(this._hooked&&h&&(elcache=h.elCache)){for(var id in elcache){var el=elcache[id];delete elcache[id];if(el.removeAllListeners)el.removeAllListeners();}
if(h.docEl){h.docEl.removeAllListeners();h.docEl=null;delete h.docEl;}}
this._hooked=this._domReady=this._domFired=false;},_renderHook:function(){this._windowContext=this.CSS=null;this._hooked=false;try{if(this.writeScript('(function(){(window.hostMIF = parent.Ext.get("'+
this.dom.id+'"))._windowContext='+
(Ext.isIE?'window':'{eval:function(s){return eval(s);}}')+';})();')){this._frameProxy||(this._frameProxy=MIM.eventProxy.createDelegate(this));var w=this.getWindow();EV.doAdd(w,'focus',this._frameProxy);EV.doAdd(w,'blur',this._frameProxy);EV.doAdd(w,'unload',this._frameProxy);if(this.disableMessaging!==true){this.loadFunction({name:'XMessage',fn:this._XFrameMessaging},false,true);var sm;if(sm=w.sendMessage){sm.manager=this;}}
this.CSS=new CSSInterface(this.getDocument());}}catch(ex){}
return this.domWritable();},sendMessage:function(message,tag,origin){var win;if(this.disableMessaging!==true&&(win=this.getWindow())){tag||(tag=message.tag||'');tag=tag.toLowerCase();message=Ext.applyIf(message.data?message:{data:message},{type:Ext.isEmpty(tag)?'message':'message:'+tag,domain:origin||document.domain,uri:document.documentURI,source:window,tag:tag||null,_fromHost:this});return win.sendMessage?win.sendMessage.call(null,message,tag,origin):null;}
return null;},_windowContext:null,getDocument:function(){var win=this.getWindow(),doc=null;try{doc=(Ext.isIE&&win?win.document:null)||this.dom.contentDocument||window.frames[this.id].document||null;}catch(gdEx){return false;}
return doc;},getBody:function(){var d;return(d=this.getDocument())?d.body:null;},getDocumentURI:function(){var URI,d;try{URI=this.src&&(d=this.getDocument())?d.location.href:null;}catch(ex){}
return URI||this.src;},getWindow:function(){var dom=this.dom,win=null;try{win=dom.contentWindow||window.frames[dom.name]||null;}catch(gwEx){}
return win;},print:function(){try{var win=this.getWindow();if(Ext.isIE){win.focus();}
win.print();}catch(ex){throw'print exception: '+(ex.description||ex.message||ex);}},destroy:function(){this.removeAllListeners();if(this.dom){this.dom[this._eventName]=null;Ext.ux.ManagedIFrame.Manager.deRegister(this);this._windowContext=null;if(Ext.isIE&&this.dom.src){this.dom.src='';}
this._maskEl=null;this.remove();}
if(this.loadMask){Ext.apply(this.loadMask,{masker:null,maskEl:null});}},domWritable:function(){return!!this._windowContext;},execScript:function(block,useDOM){try{if(this.domWritable()){if(useDOM){this.writeScript(block);}else{return this._windowContext.eval(block);}}else{throw'execScript:non-secure context'}}catch(ex){this.fireEvent('exception',this,ex);return false;}
return true;},writeScript:function(block,attributes){attributes=Ext.apply({},attributes||{},{type:"text/javascript",text:block});try{var head,script,doc=this.getDocument();if(doc&&typeof doc.getElementsByTagName!='undefined'){if(!(head=doc.getElementsByTagName("head")[0])){head=doc.createElement("head");doc.getElementsByTagName("html")[0].appendChild(head);}
if(head&&(script=doc.createElement("script"))){for(var attrib in attributes){if(attributes.hasOwnProperty(attrib)&&attrib in script){script[attrib]=attributes[attrib];}}
return!!head.appendChild(script);}}}catch(ex){this.fireEvent('exception',this,ex);}
return false;},loadFunction:function(fn,useDOM,invokeIt){var name=fn.name||fn;var fn=fn.fn||window[fn];this.execScript(name+'='+fn,useDOM);if(invokeIt){this.execScript(name+'()');}},showMask:function(msg,msgCls,forced){var lmask;if((lmask=this.loadMask)&&(!lmask.disabled||forced)){if(lmask._vis)return;lmask.masker||(lmask.masker=Ext.get(lmask.maskEl||this.dom.parentNode||this.wrap({tag:'div',style:{position:'relative'}})));lmask._vis=true;lmask.masker.mask.defer(lmask.delay||5,lmask.masker,[msg||lmask.msg,msgCls||lmask.msgCls]);}},hideMask:function(forced){var tlm;if((tlm=this.loadMask)&&!tlm.disabled&&tlm.masker){if(!forced&&(tlm.hideOnReady!==true&&this._domReady)){return;}
tlm._vis=false;tlm.masker.unmask.defer(tlm.delay||5,tlm.masker);}},loadHandler:function(e,target){if(!this.frameInit||(!this._frameAction&&!this.eventsFollowFrameLinks)){return;}
target||(target={});var rstatus=(e&&typeof e.type!=='undefined'?e.type:this.dom.readyState);switch(rstatus){case'loading':case'interactive':break;case'domready':if(this._domReady)return;this._domReady=true;if(this._hooked=this._renderHook()){this._domFired=true;this.fireEvent("domready",this);}
case'domfail':this._domReady=true;this.hideMask();break;case'load':case'complete':if(!this._domReady){this.loadHandler({type:'domready',id:this.id});}
this.hideMask(true);if(this._frameAction||this.eventsFollowFrameLinks){this.fireEvent.defer(50,this,["documentloaded",this]);}
this._frameAction=this._frameInit=false;if(this.eventsFollowFrameLinks){this._domFired=this._domReady=false;}
if(this._callBack){this._callBack(this);}
break;default:}
this.frameState=rstatus;},checkDOM:function(win){if(Ext.isOpera||Ext.isGecko||!this._frameAction)return;var n=0,win=win||this.getWindow(),manager=this,domReady=false,max=3000;var poll=function(){try{var doc=manager.getDocument(),body=null;if(doc===false){throw"Document Access Denied";}
if(!manager._domReady){domReady=!!(doc&&doc.getElementsByTagName);domReady=domReady&&(body=doc.getElementsByTagName('body')[0])&&!!body.innerHTML.length;}}catch(ex){n=max;}
if(!manager._frameAction||manager._domReady)return;if((++n<max)&&!domReady)
{setTimeout(arguments.callee,100);return;}
manager.loadHandler({type:domReady?'domready':'domfail'});};setTimeout(poll,40);}});var styleCamelRe=/(-[a-z])/gi;var styleCamelFn=function(m,a){return a.charAt(1).toUpperCase();};var CSSInterface=function(hostDocument){var doc;if(hostDocument){doc=hostDocument;return{rules:null,createStyleSheet:function(cssText,id){var ss;if(!doc)return;var head=doc.getElementsByTagName("head")[0];var rules=doc.createElement("style");rules.setAttribute("type","text/css");if(id){rules.setAttribute("id",id);}
if(Ext.isIE){head.appendChild(rules);ss=rules.styleSheet;ss.cssText=cssText;}else{try{rules.appendChild(doc.createTextNode(cssText));}catch(e){rules.cssText=cssText;}
head.appendChild(rules);ss=rules.styleSheet?rules.styleSheet:(rules.sheet||doc.styleSheets[doc.styleSheets.length-1]);}
this.cacheStyleSheet(ss);return ss;},removeStyleSheet:function(id){if(!doc)return;var existing=doc.getElementById(id);if(existing){existing.parentNode.removeChild(existing);}},swapStyleSheet:function(id,url){this.removeStyleSheet(id);if(!doc)return;var ss=doc.createElement("link");ss.setAttribute("rel","stylesheet");ss.setAttribute("type","text/css");ss.setAttribute("id",id);ss.setAttribute("href",url);doc.getElementsByTagName("head")[0].appendChild(ss);},refreshCache:function(){return this.getRules(true);},cacheStyleSheet:function(ss){if(this.rules){this.rules={};}
try{var ssRules=ss.cssRules||ss.rules;for(var j=ssRules.length-1;j>=0;--j){this.rules[ssRules[j].selectorText]=ssRules[j];}}catch(e){}},getRules:function(refreshCache){if(this.rules==null||refreshCache){this.rules={};if(doc){var ds=doc.styleSheets;for(var i=0,len=ds.length;i<len;i++){try{this.cacheStyleSheet(ds[i]);}catch(e){}}}}
return this.rules;},getRule:function(selector,refreshCache){var rs=this.getRules(refreshCache);if(!Ext.isArray(selector)){return rs[selector];}
for(var i=0;i<selector.length;i++){if(rs[selector[i]]){return rs[selector[i]];}}
return null;},updateRule:function(selector,property,value){if(!Ext.isArray(selector)){var rule=this.getRule(selector);if(rule){rule.style[property.replace(styleCamelRe,styleCamelFn)]=value;return true;}}else{for(var i=0;i<selector.length;i++){if(this.updateRule(selector[i],property,value)){return true;}}}
return false;}};}};Ext.ux.ManagedIframePanel=Ext.extend(Ext.Panel,{defaultSrc:null,bodyStyle:{height:'100%',width:'100%',position:'relative'},frameStyle:{overflow:'auto'},frameConfig:null,hideMode:!Ext.isIE?'nosize':'display',shimCls:Ext.ux.ManagedIFrame.Manager.shimCls,shimUrl:null,loadMask:false,stateful:false,animCollapse:Ext.isIE&&Ext.enableFx,autoScroll:false,closable:true,ctype:"Ext.ux.ManagedIframePanel",showLoadIndicator:false,unsupportedText:'Inline frames are NOT enabled\/supported by your browser.',initComponent:function(){this.bodyCfg||(this.bodyCfg={cls:'x-managed-iframe-mask',children:[Ext.apply({tag:'iframe',frameborder:0,cls:'x-managed-iframe',style:this.frameStyle||null,html:this.unsupportedText||null},this.frameConfig?this.frameConfig.autoCreate||{}:false,Ext.isIE&&Ext.isSecure?{src:Ext.SSL_SECURE_URL}:false),{tag:'img',src:this.shimUrl||Ext.BLANK_IMAGE_URL,cls:this.shimCls,galleryimg:"no"}]});this.autoScroll=false;this.items=null;if(this.stateful!==false){this.stateEvents||(this.stateEvents=['documentloaded']);}
Ext.ux.ManagedIframePanel.superclass.initComponent.call(this);this.monitorResize||(this.monitorResize=this.fitToParent);this.addEvents({documentloaded:true,domready:true,message:true,exception:true});this.addListener=this.on;},doLayout:function(){if(this.fitToParent&&!this.ownerCt){var pos=this.getPosition(),size=(Ext.get(this.fitToParent)||this.getEl().parent()).getViewSize();this.setSize(size.width-pos[0],size.height-pos[1]);}
Ext.ux.ManagedIframePanel.superclass.doLayout.apply(this,arguments);},beforeDestroy:function(){if(this.rendered){if(this.tools){for(var k in this.tools){Ext.destroy(this.tools[k]);}}
if(this.header&&this.headerAsText){var s;if(s=this.header.child('span'))s.remove();this.header.update('');}
Ext.each(['iframe','shim','header','topToolbar','bottomToolbar','footer','loadMask','body','bwrap'],function(elName){if(this[elName]){if(typeof this[elName].destroy=='function'){this[elName].destroy();}else{Ext.destroy(this[elName]);}
this[elName]=null;delete this[elName];}},this);}
Ext.ux.ManagedIframePanel.superclass.beforeDestroy.call(this);},onDestroy:function(){Ext.Panel.superclass.onDestroy.call(this);},onRender:function(ct,position){Ext.ux.ManagedIframePanel.superclass.onRender.call(this,ct,position);if(this.iframe=this.body.child('iframe.x-managed-iframe')){this.iframe.ownerCt=this;var El=Ext.Element;var mode=El[this.hideMode.toUpperCase()]||'x-hide-nosize';Ext.each([this[this.collapseEl],this.floating?null:this.getActionEl(),this.iframe],function(el){if(el)el.setVisibilityMode(mode);},this);if(this.loadMask){this.loadMask=Ext.apply({disabled:false,maskEl:this.body,hideOnReady:true},this.loadMask);}
if(this.iframe=new Ext.ux.ManagedIFrame(this.iframe,{loadMask:this.loadMask,showLoadIndicator:this.showLoadIndicator,disableMessaging:this.disableMessaging,style:this.frameStyle})){this.loadMask=this.iframe.loadMask;this.relayEvents(this.iframe,["blur","focus","unload","documentloaded","domready","exception","message"].concat(this._msgTagHandlers||[]));delete this._msgTagHandlers;}
this.getUpdater().showLoadIndicator=this.showLoadIndicator||false;var ownerCt=this.ownerCt;while(ownerCt){ownerCt.on('afterlayout',function(container,layout){var MIM=Ext.ux.ManagedIFrame.Manager,st=false;Ext.each(['north','south','east','west'],function(region){var reg;if((reg=layout[region])&&reg.splitEl){st=true;if(!reg.split._splitTrapped){reg.split.on('beforeresize',MIM.showShims,MIM);reg.split._splitTrapped=true;}}},this);if(st&&!this._splitTrapped){this.on('resize',MIM.hideShims,MIM);this._splitTrapped=true;}},this,{single:true});ownerCt=ownerCt.ownerCt;}}
this.shim=Ext.get(this.body.child('.'+this.shimCls));},toggleShim:function(){if(this.shim&&this.shimCls)this.shim.toggleClass(this.shimCls+'-on');},afterRender:function(container){var html=this.html;delete this.html;Ext.ux.ManagedIframePanel.superclass.afterRender.call(this);if(this.iframe){if(this.defaultSrc){this.setSrc();}
else if(html){this.iframe.update(typeof html=='object'?Ext.DomHelper.markup(html):html);}}},sendMessage:function(){if(this.iframe){this.iframe.sendMessage.apply(this.iframe,arguments);}},on:function(name){var tagRE=/^message\:/i,n=null;if(typeof name=='object'){for(var na in name){if(!this.filterOptRe.test(na)&&tagRE.test(na)){n||(n=[]);n.push(na.toLowerCase());}}}else if(tagRE.test(name)){n=[name.toLowerCase()];}
if(this.getFrame()&&n){this.relayEvents(this.iframe,n);}else{this._msgTagHandlers||(this._msgTagHandlers=[]);if(n)this._msgTagHandlers=this._msgTagHandlers.concat(n);}
Ext.ux.ManagedIframePanel.superclass.on.apply(this,arguments);},setSrc:function(url,discardUrl,callback){url=url||this.defaultSrc||false;if(!url)return this;if(url.url){callback=url.callback||false;discardUrl=url.discardUrl||false;url=url.url||false;}
var src=url||(Ext.isIE&&Ext.isSecure?Ext.SSL_SECURE_URL:'');if(this.rendered&&this.iframe){this.iframe.setSrc(src,discardUrl,callback);}
return this;},getState:function(){var URI=this.iframe?this.iframe.getDocumentURI()||null:null;return Ext.apply(Ext.ux.ManagedIframePanel.superclass.getState.call(this)||{},URI?{defaultSrc:typeof URI=='function'?URI():URI}:null);},getUpdater:function(){return this.rendered?(this.iframe||this.body).getUpdater():null;},getFrame:function(){return this.rendered?this.iframe:null},getFrameWindow:function(){return this.rendered&&this.iframe?this.iframe.getWindow():null;},getFrameDocument:function(){return this.rendered&&this.iframe?this.iframe.getDocument():null;},getFrameDoc:function(){return this.rendered&&this.iframe?this.iframe.getDoc():null;},getFrameBody:function(){return this.rendered&&this.iframe?this.iframe.getBody():null;},load:function(loadCfg){var um;if(um=this.getUpdater()){if(loadCfg&&loadCfg.renderer){um.setRenderer(loadCfg.renderer);delete loadCfg.renderer;}
um.update.apply(um,arguments);}
return this;},doAutoLoad:function(){this.load(typeof this.autoLoad=='object'?this.autoLoad:{url:this.autoLoad});}});Ext.reg('iframepanel',Ext.ux.ManagedIframePanel);Ext.ux.ManagedIframePortlet=Ext.extend(Ext.ux.ManagedIframePanel,{anchor:'100%',frame:true,collapseEl:'bwrap',collapsible:true,draggable:true,cls:'x-portlet'});Ext.reg('iframeportlet',Ext.ux.ManagedIframePortlet);Ext.apply(Ext.Element.prototype,{setVisible:function(visible,animate){if(!animate||!Ext.lib.Anim){if(this.visibilityMode==Ext.Element.DISPLAY){this.setDisplayed(visible);}else if(this.visibilityMode==Ext.Element.VISIBILITY){this.fixDisplay();this.dom.style.visibility=visible?"visible":"hidden";}else{this[visible?'removeClass':'addClass'](String(this.visibilityMode));}}else{var dom=this.dom;var visMode=this.visibilityMode;if(visible){this.setOpacity(.01);this.setVisible(true);}
this.anim({opacity:{to:(visible?1:0)}},this.preanim(arguments,1),null,.35,'easeIn',function(){if(!visible){if(visMode==Ext.Element.DISPLAY){dom.style.display="none";}else if(visMode==Ext.Element.VISIBILITY){dom.style.visibility="hidden";}else{Ext.get(dom).addClass(String(visMode));}
Ext.get(dom).setOpacity(1);}});}
return this;},isVisible:function(deep){var vis=!(this.getStyle("visibility")=="hidden"||this.getStyle("display")=="none"||this.hasClass(this.visibilityMode));if(deep!==true||!vis){return vis;}
var p=this.dom.parentNode;while(p&&p.tagName.toLowerCase()!="body"){if(!Ext.fly(p,'_isVisible').isVisible()){return false;}
p=p.parentNode;}
return true;}});Ext.onReady(function(){var CSS=Ext.util.CSS,rules=[];CSS.getRule('.x-managed-iframe')||(rules.push('.x-managed-iframe {height:100%;width:100%;overflow:auto;}'));CSS.getRule('.x-managed-iframe-mask')||(rules.push('.x-managed-iframe-mask{width:100%;height:100%;position:relative;}'));if(!CSS.getRule('.x-frame-shim')){rules.push('.x-frame-shim {z-index:8500;position:absolute;top:0px;left:0px;background:transparent!important;overflow:hidden;display:none;}');rules.push('.x-frame-shim-on{width:100%;height:100%;display:block;zoom:1;}');rules.push('.ext-ie6 .x-frame-shim{margin-left:5px;margin-top:3px;}');}
CSS.getRule('.x-hide-nosize')||(rules.push('.x-hide-nosize,.x-hide-nosize *{height:0px!important;width:0px!important;border:none;}'));if(!!rules.length){CSS.createStyleSheet(rules.join(' '));}});})();Ext.grid.RowWithCellSelectionModel=function(config){Ext.apply(this,config);this.selection=null;this.addEvents("beforecellselect","cellselect","selectionchange","cellup","celldown","cellleft","cellright");Ext.grid.RowWithCellSelectionModel.superclass.constructor.call(this);};Ext.extend(Ext.grid.RowWithCellSelectionModel,Ext.grid.RowSelectionModel,{initEvents:function(){if(!this.grid.enableDragDrop&&!this.grid.enableDrag){this.grid.on("rowmousedown",this.handleMouseDown,this);}else{this.grid.on("rowclick",function(grid,rowIndex,e){if(e.button===0&&!e.shiftKey&&!e.ctrlKey){this.clearSelection();this.selectRow(rowIndex,false);grid.view.focusRow(rowIndex);}},this);}
this.grid.getGridEl().on(Ext.isIE||Ext.isSafari3?"keydown":"keypress",this.handleKeyDown,this);var view=this.grid.view;view.on("rowupdated",this.onRowUpdated,this);if(this.grid.isEditor){this.grid.on("beforeedit",this.beforeEdit,this);}},beforeEdit:function(e){this.deselectRow(e.row);this.select(e.row,e.column,false,true,e.record);},onRowUpdated:function(v,index,r){if(this.selection&&this.selection.record==r){v.onCellSelect(index,this.selection.cell[1]);}},handleMouseDown:function(g,rowIndex,e){this.clearSelection();Ext.grid.RowWithCellSelectionModel.superclass.handleMouseDown.call(this,g,rowIndex,e);},clearSelection:function(preventNotify){var s=this.selection;if(s){if(preventNotify!==true){this.grid.view.onCellDeselect(s.cell[0],s.cell[1]);}
this.selection=null;this.fireEvent("selectionchange",this,null);}},hasSelection:function(){return this.selection?true:false;},hasSelections:function(){return this.selections.length>0;},select:function(rowIndex,colIndex,preventViewNotify,preventFocus,r){if(this.fireEvent("beforecellselect",this,rowIndex,colIndex)!==false){this.clearSelection();r=r||this.grid.store.getAt(rowIndex);this.selection={record:r,cell:[rowIndex,colIndex]};if(!preventViewNotify){var v=this.grid.getView();v.onCellSelect(rowIndex,colIndex);if(preventFocus!==true){v.focusCell(rowIndex,colIndex);}}
this.fireEvent("cellselect",this,rowIndex,colIndex);this.fireEvent("selectionchange",this,this.selection);}},isSelectable:function(rowIndex,colIndex,cm){return!cm.isHidden(colIndex);},handleKeyDown:function(e){if(!e.isNavKeyPress()){return;}
var g=this.grid,s=this.selection;var sm=this;var walk=function(row,col,step){return g.walkCells(row,col,step,sm.isSelectable,sm);};var k=e.getKey();if(s){var r=s.cell[0],c=s.cell[1];var newCell;switch(k){case e.TAB:if(e.shiftKey){newCell=walk(r,c-1,-1);}else{newCell=walk(r,c+1,1);}
break;case e.DOWN:this.fireEvent("celldown",this,r,c)
newCell=walk(r+1,c,1);break;case e.UP:this.fireEvent("cellup",this,r,c)
newCell=walk(r-1,c,-1);break;case e.RIGHT:this.fireEvent("cellright",this,r,c)
newCell=walk(r,c+1,1);break;case e.LEFT:this.fireEvent("cellleft",this,r,c)
newCell=walk(r,c-1,-1);break;case e.ENTER:if(g.isEditor&&!g.editing){g.startEditing(r,c);e.stopEvent();return;}
break;};if(newCell){this.select(newCell[0],newCell[1]);e.stopEvent();}}else{switch(k){case e.DOWN:this.onRowDown(e);e.stopEvent();break;case e.UP:this.onRowUp(e);e.stopEvent();break;};}},onRowDown:function(e){if(!e.shiftKey){this.selectNext(e.shiftKey);}else if(this.last!==false&&this.lastActive!==false){var last=this.last;this.selectRange(this.last,this.lastActive+1);this.grid.getView().focusRow(this.lastActive);if(last!==false){this.last=last;}}else{this.selectFirstRow();}},onRowUp:function(e){if(!e.shiftKey){this.selectPrevious(e.shiftKey);}else if(this.last!==false&&this.lastActive!==false){var last=this.last;this.selectRange(this.last,this.lastActive-1);this.grid.getView().focusRow(this.lastActive);if(last!==false){this.last=last;}}else{this.selectFirstRow();}},onEditorKey:function(field,e){var k=e.getKey(),newCell,g=this.grid,ed=g.activeEditor;var shift=e.shiftKey;if(k==e.TAB){e.stopEvent();ed.completeEdit();if(shift||k==e.LEFT){newCell=g.walkCells(ed.row,ed.col-1,-1,this.acceptsNav,this);}else{newCell=g.walkCells(ed.row,ed.col+1,1,this.acceptsNav,this);}}else if(k==e.ENTER){e.stopEvent();ed.completeEdit();}else if(k==e.ESC){ed.cancelEdit();}
if(newCell){g.startEditing(newCell[0],newCell[1]);}}});var fm=Ext.form;var xg=Ext.grid;function formatDate(value){return value?value.dateFormat('m/d/Y'):'';};Ext.grid.CheckColumn=function(config){Ext.apply(this,config);if(!this.id){this.id=Ext.id();}
this.renderer=this.renderer.createDelegate(this);};Ext.grid.CheckColumn.prototype={init:function(grid){this.grid=grid;this.grid.on('render',function(){var view=this.grid.getView();view.mainBody.on('mousedown',this.onMouseDown,this);},this);},onMouseDown:function(e,t){if(t.className&&t.className.indexOf('x-grid3-cc-'+this.id)!=-1){e.stopEvent();var index=this.grid.getView().findRowIndex(t);var record=this.grid.store.getAt(index);record.set(this.dataIndex,!record.data[this.dataIndex]);}},renderer:function(v,p,record){p.css+=' x-grid3-check-col-td';return'<div class="x-grid3-check-col'+(v?'-on':'')+' x-grid3-cc-'+this.id+'">&#160;</div>';}};var dashMyJobsCheckColumn=new Ext.grid.CheckColumn({header:"Checked?",dataIndex:'indoor',width:55});Ext.namespace('Ext.ux');Ext.override(Ext.Component,{findParentBy:function(fn){for(var p=this.ownerCt;(p!==null)&&!fn(p);p=p.ownerCt);return p;},findParentByType:function(xtype){return typeof xtype=='function'?this.findParentBy(function(p){return p.constructor===xtype;}):this.findParentBy(function(p){return p.constructor.xtype===xtype;});}});Ext.util.Format.usMoneyNull=function(v,cents){if(v===null||v===''){return'';}else if(v>999999999999){return'';}else{v=Math.round((v-0)*100)/100;v=(v==Math.floor(v))?v+".00":((v*10==Math.floor(v*10))?v+"0":v);v=String(v);var ps=v.split('.');var whole=ps[0];var sub=ps[1]?'.'+ps[1]:'.00';var r=/(\d+)(\d{3})/;while(r.test(whole)){whole=whole.replace(r,'$1'+','+'$2');}
v=(cents)?whole+sub:whole;if(v.charAt(0)=='-'){return'-$'+v.substr(1);}
return"$"+v;}};Ext.ux.dollarField=function(config){var defaultConfig={allowDecimals:true,allowNegative:false,decimalPrecision:2,maxValue:1000000000,minValue:0,selectOnFocus:true,value:null,itemCls:'rmoney'};Ext.ux.dollarField.superclass.constructor.call(this,Ext.apply(defaultConfig,config));this.on('change',this._onChange,this);this.on('focus',this._onFocus);this.on('blur',this._onBlur);this.on('render',this._onRender);this.dollarNumericValue=config.value||null;};Ext.extend(Ext.ux.dollarField,Ext.form.NumberField,{dollarNumericValue:null,initSelf:function(){if(this.value===null||this.value===''){this.dollarNumericValue=null;}else{this.dollarNumericValue=this.value;}
this.setRawValue(this.formatter(this.dollarNumericValue));this.originalValue=this.dollarNumericValue;},getValue:function(){if(this.value===''||this.value===null){return null;}else if(isNaN(this.value)){this.value=0;}else{return Number(this.value);}},_onChange:function(field,newVal,oldVal){if(newVal===''){this.dollarNumericValue=null;}else{this.dollarNumericValue=newVal-0;}},_onBeforeAction:function(form,action){this.setRawValue(this.getValue());},_onRender:function(cmp){this.setRawValue(this.formatter(this.dollarNumericValue));if(this.isFormField){var parentForm=this.findParentByType('form');parentForm.on('actioncomplete',function(){cmp.initSelf();});parentForm.on('actionfailed',function(){cmp.initSelf();});parentForm.on('afterLayout',function(){cmp.initSelf();});parentForm.on('beforeaction',this._onBeforeAction,this);}},formatter:function(value){var showCents=(this.decimalPrecision!==0);if(value===0){return Ext.util.Format.usMoneyNull("0",showCents);}else{return Ext.util.Format.usMoneyNull(value,showCents);}},_onBlur:function(field){if(field.getRawValue().substring(0,1)!='$'){if(field.getRawValue()===''){this.dollarNumericValue=null;}else{this.dollarNumericValue=field.getRawValue()-0;}
field.setRawValue(this.formatter(this.dollarNumericValue));if(this.dollarNumericValue!==this.value){this.value=this.dollarNumericValue;}}},_onFocus:function(field){if(this.dollarNumericValue===null||this.dollarNumericValue===''){field.setRawValue('');}else{field.setRawValue((this.dollarNumericValue-0).toFixed(this.decimalPrecision));}},processValue:function(value){return value;},validateValue:function(value){if(!Ext.form.NumberField.superclass.validateValue.call(this,value)){return false;}
if(value.length<1){return true;}
value=Number(this.value);if(isNaN(value)){this.markInvalid(String.format(this.nanText,value));return false;}
var num=this.parseValue(value);if(num<this.minValue){this.markInvalid(String.format(this.minText,this.minValue));return false;}
if(num>this.maxValue){this.markInvalid(String.format(this.maxText,this.maxValue));return false;}
return true;},initAllSiblings:function(){if(this.isFormField){var parentForm=this.findParentByType('form');var dollarFields=parentForm.findByType('dollarfield');Ext.each(dollarFields,function(dollarfield){dollarfield.initSelf();});}},clearDirty:function(){this.originalValue=this.getRawValue();}});Ext.reg('dollarfield',Ext.ux.dollarField);Ext.ux.PortalColumn=Ext.extend(Ext.Container,{layout:'anchor',autoEl:'div',defaultType:'portlet',cls:'x-portal-column'});Ext.reg('portalcolumn',Ext.ux.PortalColumn);Ext.ux.Portlet=Ext.extend(Ext.Panel,{anchor:'100%',frame:true,collapsible:true,draggable:true,cls:'x-portlet'});Ext.reg('portlet',Ext.ux.Portlet);Ext.ux.Portal=Ext.extend(Ext.Panel,{layout:'column',autoScroll:true,cls:'x-portal',defaultType:'portalcolumn',initComponent:function(){Ext.ux.Portal.superclass.initComponent.call(this);this.addEvents({validatedrop:true,beforedragover:true,dragover:true,beforedrop:true,drop:true});},initEvents:function(){Ext.ux.Portal.superclass.initEvents.call(this);this.dd=new Ext.ux.Portal.DropZone(this,this.dropConfig);},beforeDestroy:function(){if(this.dd){this.dd.unreg();}
Ext.ux.Portal.superclass.beforeDestroy.call(this);}});Ext.reg('portal',Ext.ux.Portal);Ext.ux.Portal.DropZone=function(portal,cfg){this.portal=portal;Ext.dd.ScrollManager.register(portal.body);Ext.ux.Portal.DropZone.superclass.constructor.call(this,portal.bwrap.dom,cfg);portal.body.ddScrollConfig=this.ddScrollConfig;};Ext.extend(Ext.ux.Portal.DropZone,Ext.dd.DropTarget,{ddScrollConfig:{vthresh:50,hthresh:-1,animate:true,increment:200},createEvent:function(dd,e,data,col,c,pos){return{portal:this.portal,panel:data.panel,columnIndex:col,column:c,position:pos,data:data,source:dd,rawEvent:e,status:this.dropAllowed};},notifyOver:function(dd,e,data){var xy=e.getXY(),portal=this.portal,px=dd.proxy;if(!this.grid){this.grid=this.getGrid();}
var cw=portal.body.dom.clientWidth;if(!this.lastCW){this.lastCW=cw;}else if(this.lastCW!=cw){this.lastCW=cw;portal.doLayout();this.grid=this.getGrid();}
var col=0,xs=this.grid.columnX,cmatch=false;for(var len=xs.length;col<len;col++){if(xy[0]<(xs[col].x+xs[col].w)){cmatch=true;break;}}
if(!cmatch){col--;}
var p,match=false,pos=0,c=portal.items.itemAt(col),items=c.items.items;for(var len=items.length;pos<len;pos++){p=items[pos];var h=p.el.getHeight();if(h!==0&&(p.el.getY()+(h/2))>xy[1]){match=true;break;}}
var overEvent=this.createEvent(dd,e,data,col,c,match&&p?pos:c.items.getCount());if(portal.fireEvent('validatedrop',overEvent)!==false&&portal.fireEvent('beforedragover',overEvent)!==false){px.getProxy().setWidth('auto');if(p){px.moveProxy(p.el.dom.parentNode,match?p.el.dom:null);}else{px.moveProxy(c.el.dom,null);}
this.lastPos={c:c,col:col,p:match&&p?pos:false};this.scrollPos=portal.body.getScroll();portal.fireEvent('dragover',overEvent);return overEvent.status;;}else{return overEvent.status;}},notifyOut:function(){delete this.grid;},notifyDrop:function(dd,e,data){delete this.grid;if(!this.lastPos){return;}
var c=this.lastPos.c,col=this.lastPos.col,pos=this.lastPos.p;var dropEvent=this.createEvent(dd,e,data,col,c,pos!==false?pos:c.items.getCount());if(this.portal.fireEvent('validatedrop',dropEvent)!==false&&this.portal.fireEvent('beforedrop',dropEvent)!==false){dd.proxy.getProxy().remove();dd.panel.el.dom.parentNode.removeChild(dd.panel.el.dom);if(pos!==false){c.insert(pos,dd.panel);}else{c.add(dd.panel);}
c.doLayout();this.portal.fireEvent('drop',dropEvent);var st=this.scrollPos.top;if(st){var d=this.portal.body.dom;setTimeout(function(){d.scrollTop=st;},10);}}
delete this.lastPos;},getGrid:function(){var box=this.portal.bwrap.getBox();box.columnX=[];this.portal.items.each(function(c){box.columnX.push({x:c.el.getX(),w:c.el.getWidth()});});return box;},unreg:function(){Ext.ux.Portal.DropZone.superclass.unreg.call(this);}});var showPreview=false;var lastSearchTerm="";var hideRejectedCandidates=true;var currentJobid=0;var jobType=tr("Direct Hire");var typeCode="D";var lastJob=null;var searchDate=null;JobGrid=function(viewer,config){this.viewer=viewer;Ext.apply(this,config);this.store=new Ext.data.Store({url:'/app/uirpc/agency_joblist.jsp',reader:new Ext.data.XmlReader({record:'opening',totalRecords:'numOpenings'},Ext.data.Record.create([{name:'jobtitle',type:'string'},{name:'jobtype',type:'string'},{name:'ratetype',type:'int'},{name:'jobunique',type:'string'},{name:'jobid',type:'string'},{name:'id',type:'int'},{name:'opentype',type:'string'},{name:'firmname',type:'string'},{name:'location',type:'string'},{name:'displayFee',type:'string'},{name:'candid',type:'int'},{name:'messages',type:'int'},{name:'agencyrating',type:'int'},{name:'watched',type:'int'},{name:'overview',type:'string'},{name:'question1',type:'string'},{name:'question2',type:'string'},{name:'question3',type:'string'},{name:'category',type:'string'},{name:'recruiter',type:'string'},{name:'candidates',type:'int'},{name:'submittedcandidates',type:'int'},{name:'reviews',type:'int'},{name:'interviews',type:'int'},{name:'modified',type:'date',dateFormat:'m/d/Y'},{name:'statusdate',type:'date',dateFormat:'m/d/Y'},{name:'postingDate',type:'date',dateFormat:'m/d/Y'},{name:'indoor',type:'bool'},{name:'status'}]))});this.pagingBar=new Ext.PagingToolbar({pageSize:250,store:this.store,displayInfo:true,displayMsg:'Displaying positions {0} - {1} of {2}',emptyMsg:"No positions to display",items:['-',{grid:this,pressed:false,enableToggle:false,text:'Show Details',iconCls:'btnPreview',handler:function(btn){var grid=Ext.getCmp("job-grid");showPreview=!showPreview;btn.setText((showPreview)?"Hide Details":"Show Details");try{grid.getView().refresh();}catch(err){}}}]});showPreview=false;this.columns=[{id:'ajjobtitle',header:tr("Position"),dataIndex:'jobtitle',sortable:true,width:300,renderer:formatTitle},{id:"ajjobtype",header:tr("Type"),dataIndex:'jobtype',width:90,renderer:formatJobType,sortable:true},{id:"ajcompanyname",header:tr("Company"),dataIndex:'firmname',width:180,sortable:true},{id:"ajlocation",header:tr("Location"),dataIndex:'location',width:140,sortable:true},{id:"ajpostdate",header:tr("Posted"),dataIndex:'postingDate',renderer:formatDate,width:90,sortable:true}];JobGrid.superclass.constructor.call(this,{region:'center',height:300,split:true,id:'job-grid',loadMask:{msg:tr('Updating List. Please wait...')},sm:new Ext.grid.RowSelectionModel({singleSelect:true}),tbar:this.pagingBar,stripeRows:true,viewConfig:{forceFit:true,emptyText:'<center>No positions to display</center>',enableRowBody:true,showPreview:true,getRowClass:this.getRowClass}});};Ext.extend(JobGrid,Ext.grid.GridPanel,{trackMouseOver:false,getRowClass:function(record,rowIndex,p,store){if(showPreview&&record.get('overview')!=''){p.body='<div class="previewText">'+record.get('overview')+'</div>';}
else{p.body='';}
return p.body?'x-grid3-row-with-body':'';},autoExpandColumn:"ajjobtitle"});DashPanel=function(jobviewer,candviewer,editor,newURLTab){this.jobviewer=jobviewer;this.preview=new Ext.Panel({id:'previewpanel'});var startDateMenu=new Ext.menu.DateMenu({text:tr('Posted after'),handler:function(dp,date){searchDate=date;Ext.getCmp("main-view").updateView();}});this.grid=new JobGrid(this,{frame:false,hideBorders:true,border:false,id:'dash-jobgrid'});DashPanel.superclass.constructor.call(this,{id:'main-view',layout:'border',items:[this.grid]});this.gsm=this.grid.getSelectionModel();this.gsm.on('rowselect',function(sm,index,record){currentJobid=record.data.id;var d=record.data;jobviewer(d.jobtitle,d.id,(d.watched!=0),(d.ratetype==0),{question1:d.question1,question2:d.question2,question3:d.question3});});this.grid.on('dblclick',function(e){var d=this.getSelectionModel().getSelected().data;jobviewer(d.jobtitle,d.id,(d.watched!=0),(d.ratetype==0),{question1:d.question1,question2:d.question2,question3:d.question3});});this.grid.store.on('load',function(){var dg=Ext.getCmp("job-grid");dg.getView().refresh();},this.gsm);this.grid.on('keypress',function(e){if(e.getKey()==13){var d=this.getSelectionModel().getSelected().data;jobviewer(d.jobtitle,d.id,(d.watched!=0),(d.ratetype==0),{question1:d.question1,question2:d.question2,question3:d.question3});}});};Ext.extend(DashPanel,Ext.Panel,{selectJob:function(jobid){},setJobType:function(newType){typeCode=newType;jobType=tr("All Open");if(typeCode==null)typeCode="A";if(newType=="D")jobType=tr("Direct Hire");else if(newType=="C")jobType=tr("Contract");else if(newType=="M"){jobType=tr("My");}
else if(newType=="T")jobType=tr("Contract-to-Hire");this.updateView();},updateView:function(searchTerms,jobType){if(jobType!=null){var newType=jobType;typeCode=newType;jobType=tr("All Open");if(typeCode==null)typeCode="A";if(newType=="D")jobType=tr("Direct Hire");else if(newType=="C")jobType=tr("Contract");else if(newType=="M"){jobType=tr("My");}
else if(newType=="T")jobType=tr("Contract-to-Hire");}
if(typeof(searchTerms)=="undefined"||searchTerms==null)searchTerms="";if(searchTerms==tr("Keywords (skill, title, company)"))searchTerms="";if(searchTerms==tr("Location (city, state)"))searchTerms="";if(searchTerms==tr("Location or keywords..."))searchTerms="";var jobTypeStr=jobType;if(jobTypeStr==tr('Contract'))jobTypeStr=tr('Contract Labor');var listContents=tr("Positions");if(searchTerms!=""){if(jobTypeStr==tr("All Open"))jobTypeStr=tr("All");listContents+=" "+tr("containing")+" '"+searchTerms+"'";}
if(searchDate!=null)listContents=listContents+" "+tr("since")+" "+searchDate.format('M j');if(typeCode=="M"){Ext.getCmp("alljobs").setTitle('My Positions');}
else{Ext.getCmp("alljobs").setTitle('Search Results');}
if(typeCode==null||typeCode=="null")typeCode="A";this.grid.store.baseParams={all:"n",jobtype:typeCode,terms:((typeCode=="M")?"":searchTerms),date:(searchDate==null)?"":searchDate.format('Y-m-d')};this.grid.store.load({params:{start:0,limit:250}});}});function formatJobType(value,metadata,record,rowIndex,colIndex,store){if(value=="Direct Hire")return"Full-Time";else return"Contract";}
function formatTitle(value,metadata,record,rowIndex,colIndex,store){var rv=value;cls="postitle";if(record.data.watched==1)cls="postitleMine";rv='<div class="'+cls+'">'+rv+'</div>';return rv;}
var store;var mainPanel;var allJobsStore;var msgForm=null;var msgWindow=null;var tabPanelMarketplace;var marketplacePanel;var lastOperation="";var addCandidateToJobId=0;var jobTypes=['Direct Hire','Contract','Contract-to-Hire'];var jobStatus=['Actively Sourcing','Stop Sourcing'];var candidateSubmissionFormPanel=null;var win=null;var sendingToFriend=false;var openingWin=null;var openingWindowNav=null;var openingIframe=null;var openingIframeLoaded=false;var loginWin=null;var sendWin=null;function setDisp(n,d){var e=document.getElementById(n);if(notnull(e))e.style.display=d;}
var viewingMine=false;function viewMine(){viewingMine=true;setDisp("view-mine","none");setDisp("view-search","");mainPanel.setJobType("M");tabPanelMarketplace.setActiveTab('alljobs');}
function viewSearch(skipReset){if(typeof(skipReset)=="undefined"||skipReset==null)skipReset=false;if(loggedIn){setDisp("view-mine","");setDisp("view-search","none");}
var e=Ext.getCmp("alljobs");if(notnull(e))e.setTitle("Search Results");if(!skipReset)mainPanel.setJobType("A");tabPanelMarketplace.setActiveTab('alljobs');}
function createProfileHandler(jobid){if(loginWin!=null){loginWin.destroy();loginWin=null;}
addCandidate(null,0,false,jobid);}
function setLoggedIn(b){window.loggedIn=b;if(b){setDisp("emplogin","none");setDisp("callout_outer","none");setDisp("view-mine","");setDisp("btnLogout","");setDisp("pnl-marketplaceNavigation","");setDisp("pnl-marketplaceProfile","none");setDisp("pnl-marketplaceLogin","none");p=document.getElementById("createeditprofile");if(notnull(p))p.innerHTML="Update Profile";}}
function sendToFriend(jobid){var sendForm=new Ext.FormPanel({labelWidth:116,url:'/app/board/sendToFriend.do?jobid='+jobid,frame:false,region:'center',hideBorders:true,defaultType:'textfield',bodyBorder:false,border:false,bodyStyle:'background:#FFF',monitorValid:true,items:[{xtype:'component',autoEl:{html:'<br/><span class="infotext" style="font-size:12px">Enter an email address to send this position to, as well as any comments you would like to leave for your friend.</span><br/><br/>',tag:'div',formField:false}},{fieldLabel:'Your Name',name:'senderName',width:240,allowBlank:false},{fieldLabel:"Friend's Email",name:'email',width:240,allowBlank:false},{fieldLabel:'Comments',name:'comments',width:240,id:'sendComments',maxLength:2048,value:'I thought this position might interest you.',xtype:'textarea',allowBlank:true}],buttons:[{text:tr('Send'),formBind:true,handler:function(){sendForm.getForm().submit({method:'POST',waitTitle:tr('Sending Message'),waitMsg:tr('Sending...'),success:function(){sendWin.destroy();sendWin=null;notify(tr('Message Sent'),tr('Your message has been sent.'));},failure:function(form,action){try{obj=Ext.util.JSON.decode(action.response.responseText);}catch(err){}
Ext.Msg.alert(tr('Message not Sent'),tr("Message could not be sent at this time. Please try again later."));sendWin.destroy();sendWin=null;}});}}]});sendWin=new Ext.Window({layout:'border',width:400,height:270,modal:true,title:'Send to a Friend',resizable:false,border:false,hideBorders:true,items:[sendForm]});sendWin.show();}
function showLoginPopup(jobid,forEmployer){addCandidateToJobId=jobid;var winHTML='<h3 style=\"margin-bottom:4px\">Already have an account?</h3><span class="infotext">Login using your email and password.</span><br/><br/>';if(forEmployer)winHTML='<h3 style=\"margin-bottom:4px\">Employer Login</h3><br/>';var login=new Ext.FormPanel({labelWidth:80,url:'/app/board/login.do',frame:false,region:'center',hideBorders:true,defaultType:'textfield',bodyBorder:false,border:false,bodyStyle:'background:#FFF',monitorValid:true,items:[{xtype:'component',autoEl:{html:winHTML,tag:'div',formField:false}},{fieldLabel:'Email',name:'email',width:240,allowBlank:false},{fieldLabel:'Password',name:'password',width:240,inputType:'password',allowBlank:false},{xtype:'component',autoEl:{html:'<span style="margin-left:88px;margin-top:8px"><a href="/access/forgot">Recover Forgotten Password</a></span>',tag:'div',formField:false}}],buttons:[{text:tr('Login'),formBind:true,handler:function(){login.getForm().submit({method:'POST',waitTitle:tr('Verifying'),waitMsg:tr('Logging in...'),success:function(){if(!forEmployer)setLoggedIn(true);loginWin.destroy();loginWin=null;if(forEmployer)location.href="/access/checklogin?p=new";else if(sendingToFriend)sendToFriend(jobid);else completeApplication(window.addCandidateToJobId);},failure:function(form,action){obj=Ext.util.JSON.decode(action.response.responseText);Ext.Msg.alert(tr('Login Failed'),tr("Login could not be verified. Please try again"));login.getForm().reset();}});}}]});var winHTML="<h3 style=\"margin-bottom:4px\">New user?</h3><div style=\"margin-bottom:4px\">You must create a profile to apply to a position.</div><br/><center><div class=\"fauxlink\" onclick=\"createProfileHandler("+jobid+")\">Click here to create your profile.</div><br/>&nbsp;";if(forEmployer){var buttonHTML='<div><table cellspacing="0"><tbody><tr><td class="x-panel-btn-td" id="man-gen293"><table cellspacing="0" cellpadding="0" border="0" class="x-btn-wrap x-btn" id="man-comp-1047" style="width: 75px;"><tbody><tr><td class="x-btn-left"><i> </i></td><td class="x-btn-center"><em unselectable="on"><button onclick="employerSignup()" type="button" class="x-btn-text" id="man-gen295">Post Now</button></em></td><td class="x-btn-right"><i> </i></td></tr></tbody></table></td></tr></tbody></table><div class="x-clear"/></div>';winHTML="<h3 style=\"margin-bottom:4px\">Introductory Pricing:</h3><div style=\"margin-bottom:4px\" class=\"listContainer\"><ul><li>Single Position Posting: $149<li>OAUG Member Special: $499 - Unlimited postings through March of 2010 - Contact Us for Promo Code to use during the registration process<li>60 day posting<li>Use a major credit card</ul></div><br/><div style=\"margin-left:30px\" class=\"fauxlink\" onclick=\"employerSignup()\">"+buttonHTML+"</div><br/>&nbsp;";}
loginWin=new Ext.Window({layout:'border',width:390,height:forEmployer?420:310,modal:true,title:forEmployer?'Post a Position':'Apply to Position',resizable:false,border:false,hideBorders:true,items:[login,{region:'north',html:winHTML}]});loginWin.show();}
function reloadLists(){var e=Ext.getCmp("dashNewJobsGrid");if(notnull(e)&&notnull(e.store))e.store.reload();var f=Ext.getCmp("job-grid");if(notnull(f)&&notnull(f.store))f.store.reload();var g=Ext.getCmp("dashMyJobsGrid");if(notnull(g)&&notnull(g.store))g.store.reload();}
var empWin;function employerSignup(){if(empWin!=null)return;empWin=new Ext.Window({constrain:true,buttonAlign:'center',modal:true,title:tr('Employer Profile Creation'),closable:true,width:750,height:550,plain:true,baseCls:'x-window',layout:'border',hideBorders:true,border:false,listeners:{destroy:function(){empWin=null;}},items:[{html:'',height:8,region:'north',id:'emptypanel'},openingIframe=new Ext.ux.ManagedIframePanel({hideBorders:true,frame:false,border:false,style:'border-bottom:1px solid #666',frameConfig:{autoCreate:{id:'openIFrame',disableMessaging:false,name:'openIFrame',hideBorders:true,frame:false,border:false}},disableMessaging:false,listeners:{domready:function(frame){if(frame.domWritable()){frame.execScript('init()');}},documentloaded:function(frame){var el=frame.get('formsubmitcomplete',true);openingIframeLoaded=true;if(el!=null){location.href="/access/checklogin?p=new";}}},xtype:'iframepanel',region:'center',loadMask:{hideOnReady:false,msg:tr('Loading...')},defaultSrc:'/app/employers/createProfile.do'})],buttons:[{text:tr('Create Profile'),style:'margin-right:24px',handler:function(){if(openingIframeLoaded){openingIframe.getFrame().execScript("if (typeof(formSubmit) != 'undefined') formSubmit();");}}},{text:tr('Cancel'),handler:function(){empWin.close();}}]});empWin.show(null);}
function learnMore(){var t=Ext.getCmp("tab-learnmore");if(typeof(t)!="undefined"&&t!=null){tabPanelMarketplace.setActiveTab("tab-learnmore");return;}
tabPanelMarketplace.add({id:'tab-learnmore',xtyle:'panel',items:[new Ext.ux.ManagedIframePanel({xtype:'iframepanel',id:'detailsiframe-learnmore',hideBorders:true,frame:false,border:false,frameConfig:{autoCreate:{disableMessaging:false,hideBorders:true,frame:false,border:false}},disableMessaging:false,layout:'fit',loadMask:{hideOnReady:false,msg:tr('Loading...')},defaultSrc:'/app/board/learnMore.do',margins:'0 0 0 0',bodyStyle:'margin:0;padding:0',closable:true})],title:'About OAUG Job Board',layout:'fit',iconCls:'tabs',baseCls:'openingDetails',closable:true}).show();}
function addCandidate(el,candId,dupe,jobId){if(openingWin!=null)return;if(win!=null){Ext.getCmp("mwindow").close();win=null;}
addCandidateToJobId=jobId;var editFile="js_editCandidate";var hdrImg="winhdr_addcandidate.jpg";var hdrTitle=(window.loggedIn)?tr('Update Profile'):tr('Create Profile');openingWin=new Ext.Window({constrain:true,modal:true,buttonAlign:'center',title:hdrTitle,closable:true,width:750,height:550,plain:true,baseCls:'x-window',layout:'border',hideBorders:true,border:false,listeners:{destroy:function(){openingWin=null;openingIframe=null;openingIframeLoaded=false;}},items:[{html:'',height:8,region:'north',id:'emptypanel'},openingIframe=new Ext.ux.ManagedIframePanel({hideBorders:true,frame:false,border:false,style:'border-bottom:1px solid #666',frameConfig:{autoCreate:{id:'openIFrame',disableMessaging:false,name:'openIFrame',hideBorders:true,frame:false,border:false}},disableMessaging:false,listeners:{'message:addManager':function(srcFrame,message){addManagerPopup(srcFrame);},domready:function(frame){if(frame.domWritable()){frame.execScript('if (typeof(init) != "undefined") init();');}},documentloaded:function(frame){var el=frame.get('formsubmitcomplete',true);openingIframeLoaded=true;if(el!=null){var newCandId=parseInt(el.dom.innerText);if(typeof(el.dom.innerText)=="undefined")newCandId=parseInt(el.dom.innerHTML);openingWin.close();store.reload();notify(tr('Profile Saved'),tr('Profile details saved.'));if(newCandId!=null&&newCandId>0){setLoggedIn(true);if(addCandidateToJobId>0)completeApplication(addCandidateToJobId);}}}},xtype:'iframepanel',region:'center',loadMask:{hideOnReady:false,msg:tr('Loading...')},defaultSrc:'/app/board/createProfile.do'})],buttons:[{text:((window.loggedIn)?tr('Update Profile'):tr('Create Profile')),style:'margin-right:24px',handler:function(){if(openingIframeLoaded){openingIframe.getFrame().execScript("if (typeof(formSubmit) != 'undefined') formSubmit();");}}},{text:tr('Cancel'),handler:function(){openingWin.close();}}]});openingWin.show(el);}
function renderJobTypeIcon(value,metadata,record,rowIndex,colIndex,store){if(value=='Contract Labor')return'<img src="/app/img/icon/clock.png" title="'+tr("Contract Labor")+'">';else if(value=='Contract-to-Hire')return'<img src="/app/img/ico_c2h.png" title="'+tr("Contract-to-Hire")+'">';else return'<img src="/app/img/ico_direct.png" title="'+tr("Direct Hire")+'">';}
function completeApplication(jobId){var conn=new Ext.data.Connection();conn.request({url:'/app/board/apply.do?jobid='+jobId,method:'GET',success:function(a,b,c,d){var obj=Ext.util.JSON.decode(a.responseText);if(obj.success){notify(tr("Profile Submitted"),tr("Your information has been submitted for this position."));var e=Ext.getCmp("btnSourcing-"+jobId);if(notnull(e))e.setText("Stop Sourcing");reloadLists();}
else{if(obj.reason=="ALREADY_SUBMITTED"){Ext.Msg.alert(tr("Already Applied"),tr("You have already applied to this position."));}
else if(obj.reason=="NOT_A_CANDIDATE"){location.href="/app";}
else{Ext.Msg.alert(tr("Error Submitting Profile"),tr("Unable to submit your profile at this time. Please try again later.\n"+a.responseText));}}},failure:function(){Ext.Msg.alert(tr("System Error"),tr("Unable to submit your profile at this time. Please try again later."));}});}
function completeCandidateSubmission(jobId,candId,interviewtype,rate,candName){var conn=new Ext.data.Connection();conn.request({url:'/866-561-HIRE/submitCandidates/js_completeSubmission/'+candId+'/'+jobId+'/'+interviewtype+'/'+rate,method:'GET',success:function(a,b,c,d){if(a.responseText.toString().indexOf("candidatealreadysubmitted")!=-1){Ext.Msg.alert(tr("Already Submitted"),tr("You have already been submitted to this position."));}
else{notify(tr("Profile Submitted"),tr("Your information has been submitted for this position."));var e=Ext.getCmp("btnSourcing-"+jobId);if(notnull(e))e.setText("Stop Sourcing");reloadLists();}},failure:function(){Ext.Msg.alert(tr("System Error"),tr("Unable to submit your candidate at this time. Please try again later."));}});}
function submitCandidate(el,jobId,submitrate,questionStruct){var Candidate=Ext.data.Record.create([{name:'jobtitle',type:'string'},{name:'jobid',type:'string'},{name:'id',type:'int'},{name:'firstname',type:'string'},{name:'lastname',type:'string'},{name:'fullname',type:'string'},{name:'email',type:'string'},{name:'status',type:'string'},{name:'agency',type:'string'}]);var candidateList=new Ext.data.Store({url:'/app/uirpc/candidatelist.jsp?jobid='+jobId,reader:new Ext.data.XmlReader({record:'candidate'},Candidate),sortInfo:{field:'lastname',direction:'ASC'}});var rate=0;var canId=0;function onBlur(){};function onFocus(){};var candidateListCombo=new Ext.form.ComboBox({store:candidateList,valueField:'id',displayField:'fullname',typeAhead:true,typeAheadDelay:10,minChars:1,mode:'remote',triggerAction:'all',emptyText:tr('Select a Candidate...'),selectOnFocus:true,forceSelection:true,width:300,listeners:{'select':function(combo,record){canId=record.data.id;Ext.getCmp("btnContinue").enable();}}});candidateListCombo.disable();var _addcandidate=true;var handleActivate=function(field){if(field.value==1){candidateListCombo.disable();}}
var _interviewtype='phone';function psqRadioHandler(){var e=null;var okToGo=true;for(i=1;e=Ext.getCmp("psqn"+i);i++){if(notnull(e)&&e.getValue())okToGo=false;}
var x=Ext.getCmp("btnSubNext");if(notnull(x))x.setDisabled(!okToGo);}
function addScreenQuestion(num,strText){var e=Ext.getCmp("prescreenForm");if(!notnull(e))return;e.add(new Ext.form.FieldSet({title:tr('Question #')+num,autoHeight:true,collapsed:false,items:[{xtype:'label',text:strText},{xtype:'radiogroup',fieldLabel:'',hideLabel:true,items:[{boxLabel:tr('Yes'),style:'padding-left:1px;padding-top:1px',id:'psqy'+num,name:'psq'+num,inputValue:1,handler:psqRadioHandler},{boxLabel:tr('No'),style:'padding-left:1px;padding-top:1px',id:'psqn'+num,name:'psq'+num,inputValue:0,checked:true,handler:psqRadioHandler}]}]}));}
var candidatePrescreenFormPanel=new Ext.FormPanel({frame:true,labelWidth:120,height:390,width:600,id:'prescreenFormPanel',modal:true,bodyStyle:'padding:0 2px 0;',autoHeight:true,waitMsgTarget:true,standardSubmit:true,buttonAlign:'right',items:[{autoHeight:true,layout:'form',id:'prescreenForm',items:[{xtype:'label',style:'padding-bottom:8px',height:18,text:tr("This position requires you to answer the following questions prior to submitting a candidate. All questions must be answered 'Yes' to continue.")}]}],buttons:[{id:'btnSubNext',text:tr('Continue'),disabled:true,style:'margin-right:24px',handler:function(){win.remove("prescreenFormPanel",true);win.add(candidateSubmissionFormPanel);win.doLayout();}},{text:tr('Cancel'),width:200,handler:function(){Ext.getCmp("mwindow").close();win=null;}}]});candidateSubmissionFormPanel=new Ext.FormPanel({frame:true,labelWidth:120,height:390,width:600,modal:true,autoHeight:true,waitMsgTarget:true,standardSubmit:true,buttonAlign:'right',items:[{autoHeight:true,layout:'form',items:[{xtype:'fieldset',title:tr('I want to...'),autoHeight:true,collapsed:false,items:[{xtype:'radiogroup',fieldLabel:'',labelSeparator:'',hideLabel:true,items:[{columnWidth:'.9',items:[{boxLabel:tr('Add a new candidate'),name:'candidate',inputValue:1,checked:true,style:'padding-left:1px;padding-top:1px',listeners:{'check':function(r,c){if(c){candidateSubmissionFormPanel.getForm().reset();candidateListCombo.disable();Ext.getCmp("btnContinue").enable();_addcandidate=true;}
else candidateListCombo.enable();}}},{xtype:'label',text:tr(' OR ')}]}]},{xtype:'radiogroup',fieldLabel:'',labelSeparator:'',hideLabel:true,allowBlank:true,columns:[.36,.25],vertical:true,items:[{style:'padding-left:1px;padding-top:1px',boxLabel:tr('Submit an existing candidate:'),name:'candidate',inputValue:2,listeners:{'check':function(r,c){if(c){Ext.getCmp("btnContinue").disable();candidateListCombo.enable();_addcandidate=false;}}}},candidateListCombo]}]},{xtype:'fieldset',title:tr('About the candidate'),autoHeight:true,collapsed:false,items:[{xtype:'radiogroup',fieldLabel:tr('I have conducted a')+' ',labelSeparator:'',columns:1,items:[{style:'padding-left:1px;padding-top:1px',boxLabel:tr('phone'),name:'Interviewtype',inputValue:'phone',checked:true},{style:'padding-left:1px;padding-top:1px',boxLabel:tr('face-to-face interview with this candidate.'),name:'Interviewtype',inputValue:'face',listeners:{'check':function(r,c){if(c){_interviewtype='face';}}}}]},{xtype:'checkbox',boxLabel:tr('I CERTIFY that this candidate is Qualified, Interested and Available for this position as defined by the TALENThire.com Subscription please see Terms &amp; Conditions.'),hideLabel:true,name:'AIQCertify',inputValue:'True',msgTarget:'side',height:50,validateValue:function(){var valid=this.getValue();if(!valid){this.markInvalid(tr('Required field!'));}else{this.clearInvalid();}
return valid;},markInvalid:Ext.form.Field.prototype.markInvalid,clearInvalid:Ext.form.Field.prototype.clearInvalid},{xtype:'checkbox',boxLabel:tr('I CERTIFY that this candidate meets all the Minimum Candidate Requirements for this opening as shown in the Position.'),hideLabel:true,name:'ReqCertify',inputValue:'True',height:50,msgTarget:'side',validateValue:function(){var valid=this.getValue();if(!valid){this.markInvalid(tr('Required field!'));}else{this.clearInvalid();}
return valid;},markInvalid:Ext.form.Field.prototype.markInvalid,clearInvalid:Ext.form.Field.prototype.clearInvalid}]}]}],buttons:[{id:'btnContinue',text:tr('Submit'),style:'margin-right:24px',jobId:jobId,handler:function(){if(_addcandidate){if(candidateSubmissionFormPanel.getForm().isValid()){addCandidate(el,0,false,jobId);}
else{Ext.MessageBox.show({title:tr('Missing Information'),msg:tr('Please provide all required information and confirm both certifications.'),buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.WARNING});}}
else{if(candidateSubmissionFormPanel.getForm().isValid()){rate=0;var e=Ext.getCmp("ratefield");if(e!=null&&typeof(e)!='undefined'&&e.getValue()>0)rate=e.getValue();completeCandidateSubmission(jobId,canId,_interviewtype,rate);win.close();}
else{Ext.MessageBox.show({title:tr('Missing Information'),msg:tr('Please provide all required information and confirm both certifications.'),buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.WARNING});}}}},{text:'Cancel',id:'btnCancel',width:200,handler:function(){Ext.getCmp("mwindow").close();win=null;}}]});var submitWindowContains=candidateSubmissionFormPanel;var qnum=1;if(questionStruct.question1!=""){addScreenQuestion(qnum,questionStruct.question1);qnum++;}
if(questionStruct.question2!=""){addScreenQuestion(qnum,questionStruct.question2);qnum++;}
if(questionStruct.question3!=""){addScreenQuestion(qnum,questionStruct.question3);qnum++;}
if(qnum>1)submitWindowContains=candidatePrescreenFormPanel;if(submitrate){candidateSubmissionFormPanel.insert(1,new Ext.form.FieldSet({title:tr('Contractor Rate'),autoHeight:true,collapsed:false,items:[{xtype:'label',height:24,text:tr('Below, please enter the hourly dollar amount (rate) for your candidate.')},{xtype:'textfield',id:'ratefield',allowBlank:false,name:'ratefield',fieldLabel:tr('Hourly Rate')}]}));}
var MIF=new Ext.ux.ManagedIframePanel({frameConfig:{autoCreate:{id:'myOpenIFrame',disableMessaging:false,name:'myOpenIFrame'}},disableMessaging:false,defaultSrc:'test.html',listeners:{domready:function(frame){var fbody=frame.getBody();frame.getBody().getEL('myIframe').render(candidateSubmissionFormPanel);},documentloaded:function(frame){Ext.get('myIframe').render(candidateSubmissionFormPanel);}},xtype:'iframepanel',region:'center'});if(notnull(win)){win.destroy();win=null;}
if(true){win=new Ext.Window({id:'mwindow',layout:'fit',constrain:true,width:600,title:tr('Submit a Candidate'),resizable:true,shadow:false,modal:true,items:submitWindowContains,listeners:{'close':function(){win=null;}}});}
win.show(el);}
function setSourcing(jobid,active){var conn=new Ext.data.Connection();conn.request({url:'/app/uirpc/sourcing.jsp',method:'POST',params:{"jobid":jobid,"sourcing":(active?1:0)},success:function(){notify(tr(active?"Position added":"Position removed"),active?"Position has been added to your 'My Positions' list.":"Position has been removed from your 'My Positions' list.");var e=Ext.getCmp("btnSourcing-"+jobid);if(notnull(e))e.setText((active)?tr("Stop Sourcing"):tr("Add to My Positions"));reloadLists();},failure:function(){Ext.Msg.alert(tr("Status"),tr("Unable to update database at this time. Please try again later."));}});}
function askQuestion(jobid){msgForm=new Ext.form.FormPanel({baseCls:'x-plain',labelWidth:95,url:'/866-561-HIRE/submitCandidates/js_askQuestion/'+jobid,defaultType:'textfield',items:[{xtype:'textfield',id:'questionSubject',fieldLabel:'Subject',name:'questionSubject',allowBlank:false,anchor:'100%'},{xtype:'textarea',id:'questionBox',fieldLabel:'Question',name:'questionBox',anchor:'100%'}]});var submit=msgForm.addButton({text:tr('Submit Question'),handler:function(){if(msgForm.getForm().isValid()==false){Ext.MessageBox.show({title:tr('Missing Information'),msg:tr('Please provide the required information.'),buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.WARNING});}
else{var qs=Ext.getCmp("questionSubject").getValue();var qb=Ext.getCmp("questionBox").getValue();var conn=new Ext.data.Connection();conn.request({url:'/866-561-HIRE/submitCandidates/js_askQuestion/'+jobid,method:'POST',params:{"questionSubject":qs,"questionBox":qb},success:function(){Ext.getCmp("msgwindow").close();notify(tr('Message Sent'),tr('Your question has been submitted.'));},failure:function(){Ext.getCmp("msgwindow").close();notify(tr('Message Sent'),tr('Your question has been submitted.'));}});}}});msgForm.addButton({text:tr('Cancel'),handler:function(){Ext.getCmp("msgwindow").close();}});msgWindow=new Ext.Window({title:tr('Ask the Hiring Firm a Question'),width:400,id:'msgwindow',height:220,minWidth:300,minHeight:200,layout:'fit',modal:true,plain:true,bodyStyle:'padding:5px;',buttonAlign:'center',items:msgForm}).show();}
function newJobDetailsTab(strTitle,jobid,watchedVal,submitrate,questionStruct,firmName){var pageHeader='';if(typeof(questionStruct)=="undefined"||questionStruct==null){questionStruct={question1:'',question2:'',question3:''};}
if(strTitle.indexOf('Position:')!=-1){pageHeader=tr('Position Detail:')+strTitle.substring(4);}
var t=Ext.getCmp("tabpanel-"+jobid);if(typeof(t)!="undefined"&&t!=null){tabPanelMarketplace.setActiveTab("tabpanel-"+jobid);return;}
tabPanelMarketplace.add({id:'tabpanel-'+jobid,xtyle:'panel',items:[new Ext.ux.ManagedIframePanel({tbar:[new Ext.Action({id:'btnSubmitResume-'+jobid,submitrate:submitrate,hidden:watchedVal,text:tr('Apply to this Position'),handler:function(){if(window.loggedIn){Ext.getCmp("btnSubmitResume-"+jobid).setVisible(false);completeApplication(jobid);}
else{sendingToFriend=false;showLoginPopup(jobid);}}}),{xtype:'tbspacer',hidden:watchedVal},new Ext.Action({id:'btnSendToFriend',submitrate:submitrate,text:tr('Send to a Friend'),handler:function(){if(window.loggedIn){sendToFriend(jobid);}
else{sendToFriend(jobid);}}}),{xtype:'tbspacer'},{xtype:'tbspacer'},{xtype:'tbspacer'}],xtype:'iframepanel',id:'detailsiframe-'+jobid,hideBorders:true,frame:false,border:false,frameConfig:{autoCreate:{disableMessaging:false,hideBorders:true,frame:false,border:false}},disableMessaging:false,listeners:{domready:function(frame){if(frame.domWritable()){reloadLists();}}},layout:'fit',loadMask:{hideOnReady:false,msg:tr('Loading...')},defaultSrc:'/app/board/viewPosition.do?jobid='+jobid,margins:'0 0 0 0',bodyStyle:'margin:0;padding:0',closable:true})],title:strTitle,layout:'fit',iconCls:'tabs',baseCls:'openingDetails',closable:true}).show();}
function setupMarketplace(){var dashMyJobsExpander=new xg.RowExpander({tpl:new Ext.Template('<p><strong style="font-weight:bold">'+tr("Company")+':</strong> {company}</p><br>','<p><strong style="font-weight:bold">'+tr("Summary")+':</strong> {desc}</p>')});var jobUpdateForm=new Ext.form.FormPanel({baseCls:'x-plain',labelWidth:55,url:'save-form.php',defaultType:'textfield',items:[{xtype:'textarea',fieldLabel:tr('Reason for Updating'),name:'msg',anchor:'100%'}]});var updateWindow=new Ext.Window({title:tr('Update Position Status'),width:300,height:150,minWidth:300,minHeight:200,layout:'fit',plain:true,bodyStyle:'padding:5px;',buttonAlign:'center',items:jobUpdateForm,buttons:[{text:tr('Update')},{text:tr('Cancel')}]});var dashMyActiveJobsColumnModel=new Ext.grid.ColumnModel([{id:'jobtitle',header:tr("Position Title"),dataIndex:'jobtitle',width:220},{id:'jobindustry',header:tr("Industry"),dataIndex:'jobindustry',width:100},{id:'jobfunction',header:tr("Function"),dataIndex:'jobfunction',width:100},{id:'jobfirm',header:tr("Hiring Firm"),dataIndex:'jobfirmname',width:100},{id:'joblocation',header:tr("Location"),dataIndex:'location',width:132},{id:'submittals',header:tr("Submittals"),dataIndex:'submittals',width:64},{id:'fee',header:tr("Fee"),dataIndex:'displayFee',width:110}]);var dashNewJobsColumnModel=new Ext.grid.ColumnModel([{id:'jobtype',dataIndex:'jobtype',width:26,renderer:renderJobTypeIcon},{id:'jobtitle',header:tr("Position Title"),dataIndex:'jobtitle',width:220},{id:'jobfirm',header:tr("Hiring Firm"),dataIndex:'jobfirmname',width:100},{id:'joblocation',header:tr("Location"),dataIndex:'location',width:92},{id:'fee',header:tr("Fee"),dataIndex:'displayFee',width:100}]);dashMyActiveJobsColumnModel.defaultSortable=true;dashNewJobsColumnModel.defaultSortable=true;var Opening=Ext.data.Record.create([{name:'jobtitle',type:'string'},{name:'jobid',type:'string'},{name:'jobtype',type:'string'},{name:'id',type:'int'},{name:'ratetype',type:'int'},{name:'category',type:'string'},{name:'watched',type:'int'},{name:'question1',type:'string'},{name:'question2',type:'string'},{name:'question3',type:'string'},{name:'location',type:'string'},{name:'jobfirmname',type:'string'},{name:'displayFee',type:'string'},{name:'recruiter',type:'string'},{name:'submittals',type:'int'},{name:'modified',type:'date',dateFormat:'m/d/Y'},{name:'indoor',type:'bool'},{name:'status'}]);store=new Ext.data.Store({url:'/app/uirpc/myjoblist.jsp',reader:new Ext.data.XmlReader({record:'opening'},Opening),sortInfo:{field:'modified',direction:'DESC'}});var newJobsStore=new Ext.data.Store({url:'/app/uirpc/myjoblist.jsp?listType=new',reader:new Ext.data.XmlReader({record:'opening'},Opening),sortInfo:{field:'modified',direction:'DESC'}});var grid=new Ext.grid.EditorGridPanel({id:'dashMyJobsGrid',store:store,cm:dashMyActiveJobsColumnModel,anchor:'100%',height:200,sm:new Ext.grid.RowWithCellSelectionModel({singleSelect:true}),autoExpandColumn:'jobtitle',title:'My Positions',frame:true,plugins:dashMyJobsCheckColumn,clicksToEdit:1,tbar:[{id:'btnDetails',text:'View Details',disabled:true,iconCls:'btnDetails',handler:function(){var d=grid.getSelectionModel().selections.items[0].data;newJobDetailsTab(tr("Position")+": "+d.jobtitle,d.id,false,(d.ratetype==0),{question1:d.question1,question2:d.question2,question3:d.question3});}},{xtype:'tbspacer'},{id:'btnStopSourcing',text:tr('Stop Sourcing'),disabled:true,iconCls:'btnStopSourcing',handler:function(){setSourcing(grid.getSelectionModel().selections.items[0].data.id,false);}}]});var newJobsGrid=new Ext.grid.EditorGridPanel({id:'dashNewJobsGrid',store:newJobsStore,cm:dashNewJobsColumnModel,anchor:'100% -220',height:200,sm:new Ext.grid.RowWithCellSelectionModel({singleSelect:true}),viewConfig:{emptyText:'<center>'+tr('No positions posted in the last 10 days.')+'</center>'},autoExpandColumn:'jobtitle',clicksToEdit:1});var dashPreventSelect=false;grid.getSelectionModel().on('rowselect',function(sm,rowIdx,r){Ext.getCmp("btnStopSourcing").enable();Ext.getCmp("btnDetails").enable();});grid.getSelectionModel().on('rowdeselect',function(sm,rowIdx,r){Ext.getCmp("btnStopSourcing").disable();Ext.getCmp("btnDetails").disable();});grid.on('dblclick',function(e){if(grid.getSelectionModel().selection!=null)return;if(grid.getSelectionModel().selections.length>0){var d=grid.getSelectionModel().selections.items[0].data;newJobDetailsTab(tr("Position")+": "+d.jobtitle,d.id,false,(d.ratetype==0),{question1:d.question1,question2:d.question2,question3:d.question3});}});newJobsGrid.getSelectionModel().on('rowselect',function(sm,rowIdx,r){});newJobsGrid.getSelectionModel().on('rowdeselect',function(sm,rowIdx,r){});newJobsGrid.on('dblclick',function(e){if(newJobsGrid.getSelectionModel().selection!=null)return;if(newJobsGrid.getSelectionModel().selections.length>0){var d=newJobsGrid.getSelectionModel().selections.items[0].data;newJobDetailsTab(tr("Position")+": "+d.jobtitle,d.id,false,(d.ratetype==0),{question1:d.question1,question2:d.question2,question3:d.question3});}});store.load();newJobsStore.load();var panelMarketplaceProfile=new Ext.Panel({id:'pnl-marketplaceProfile',frame:false,hideBorders:true,border:false,bodyStyle:'padding-top:8px;padding-left:4px',contentEl:'somediv',titleCollapse:true});var panelMarketplaceNavigation=new Ext.Panel({id:'pnl-marketplaceNavigation',frame:true,title:tr('Actions'),collapsible:true,style:(loggedIn)?"display:block":"display:none",bodyStyle:'padding-top:8px;padding-left:4px',contentEl:'panel-marketplace-navigation',titleCollapse:true});var panelArray;var p=Ext.get("panel-marketplace-login");if(typeof(p)!="undefined"&&p!=null){var panelMarketplaceLogin=new Ext.Panel({id:'pnl-marketplaceLogin',frame:true,title:tr('Job Board Member? Login.'),collapsible:true,bodyStyle:'padding-top:8px;padding-left:4px',contentEl:'panel-marketplace-login',titleCollapse:true});panelArray=[panelMarketplaceProfile,panelMarketplaceNavigation,panelMarketplaceLogin];}
else{panelArray=[panelMarketplaceNavigation];}
tabPanelMarketplace=new Ext.TabPanel({region:'center',resizeTabs:true,activeItem:0,minTabWidth:145,tabWidth:235,collapsible:false,enableTabScroll:true,width:600,hideBorder:true,frame:false,height:250,listeners:{'tabchange':function(tabPanel,tab){if(!tabPanel.skipHistory)Ext.History.add(currentView+':'+tabPanel.id+':'+tab.id+((lastOperation!="")?lastOperation:""),true);tabPanel.skipHistory=false;}},defaults:{autoScroll:true},plugins:new Ext.ux.TabCloseMenu()});tabPanelMarketplace.add({title:tr('Search Results'),id:'alljobs',hideBorders:true,frame:false,iconCls:'tabs',layout:'fit',closable:false,items:[mainPanel=new DashPanel(newJobDetailsTab,newCandidateDetailsTab,null,newURLTab)]}).show();showJobList(false,'A');var tools=[{id:'refresh',handler:function(event,tool,panel){if(typeof(panel.refresh)!='undefined'&&panel.refresh!=null)panel.refresh();}}];var jobFrame=null;function newURLTab(tabTitle,url,_id){if(typeof(_id)!='undefined'&&_id!=null){var t=Ext.getCmp(_id);if(typeof(t)!="undefined"&&t!=null){tabPanelMarketplace.setActiveTab(_id);return;}}
var newTab={xtype:'iframepanel',layout:'fit',anchor:'100% 100%',title:tabTitle,iconCls:'tabs',disableMessaging:false,listeners:{'message:viewCandidate':function(srcFrame,message){newCandidateDetailsTab(message.data.title,message.data.id);},'message:editCandidate':function(srcFrame,message){addCandidate(this,message.data.id,false,0);}},defaultSrc:url,margins:'0 0 0 0',bodyStyle:'margin:0;padding:0',closable:true};if(typeof(_id)!='undefined'&&_id!=null){newTab.id=_id;}
tabPanelMarketplace.add(newTab).show();}
function manageCandidatesTab(){var tabTitle=tr("Manage Candidates");var url="/866-561-HIRE/candidates";_id="managecandidates";if(typeof(_id)!='undefined'&&_id!=null){var t=Ext.getCmp(_id);if(typeof(t)!="undefined"&&t!=null){tabPanelMarketplace.setActiveTab(_id);return;}}
var newTab={xtype:'iframepanel',layout:'fit',anchor:'100% 100%',title:tabTitle,iconCls:'tabs',disableMessaging:false,listeners:{'message:viewCandidate':function(srcFrame,message){newCandidateDetailsTab(message.data.title,message.data.id);},'message:editCandidate':function(srcFrame,message){addCandidate(this,message.data.id,false,0);}},tbar:[new Ext.Action({text:tr('Add a Candidate'),handler:function(){addCandidate(null,0,false,0);},iconCls:'btnSubmitCandidate'})],defaultSrc:url,margins:'0 0 0 0',bodyStyle:'margin:0;padding:0',closable:true};if(typeof(_id)!='undefined'&&_id!=null){newTab.id=_id;}
tabPanelMarketplace.add(newTab).show();}
function showJobList(updateHistory,listType){if(updateHistory){Ext.History.add(currentView+":x:x:s-"+listType);}
tabPanelMarketplace.skipHistory=true;if(Ext.getCmp("job-grid")!=null){tabPanelMarketplace.setActiveTab('alljobs');mainPanel.setJobType(listType);return;}
mainPanel=new DashPanel(newJobDetailsTab,newCandidateDetailsTab,null,newURLTab);tabPanelMarketplace.add({title:tr('Active Direct Hire Positions'),id:'alljobs',iconCls:'tabs',layout:'fit',closable:false,items:[mainPanel]}).show();mainPanel.setJobType('A');var diduno=Ext.get("panel-marketplace-info");diduno.dom.innerHTML=tr("Double-click any position to open the position details and submit your candidates.")+"<p>&nbsp;</p>";}
function newCandidateDetailsTab(strTitle,candid){var t=Ext.getCmp("tabpanelcand-"+candid);if(typeof(t)!="undefined"&&t!=null){tabPanelMarketplace.setActiveTab("tabpanelcand-"+candid);return;}
tabPanelMarketplace.add({id:'tabpanelcand-'+candid,xtyle:'panel',items:[new Ext.ux.ManagedIframePanel({tbar:[new Ext.Action({text:tr('Edit Candidate'),handler:function(target){addCandidate(this,candid,false,0);},iconCls:'btnCandidateEdit'}),{xtype:'tbspacer'}],xtype:'iframepanel',id:'candidateiframe-'+candid,frameConfig:{disableMessage:false,autoCreate:{disableMessaging:false}},disableMessaging:false,listeners:{domready:function(frame){reloadLists();}},layout:'fit',loadMask:{hideOnReady:false,msg:tr('Loading...')},defaultSrc:'/866-561-HIRE/candidates/js_detail/'+candid,margins:'0 0 0 0',bodyStyle:'margin:0;padding:0',closable:true})],title:strTitle,layout:'fit',iconCls:'tabs',baseCls:'openingDetails',closable:true}).show();}
marketplacePanel={hideBorders:true,id:'border-panel',layout:'border',bodyBorder:false,defaults:{collapsible:false,split:true,animFloat:false,autoHide:false,useSplitTips:true,bodyStyle:'padding:0px'},items:[{region:'west',floatable:false,margins:'32 8 0 0',cmargins:'5 5 0 0',width:260,minSize:100,maxSize:250,bodyStyle:'padding:4;background:#878787 url(/app/img/bg_panel.jpg) repeat-x',items:panelArray},tabPanelMarketplace]};Ext.History.on('change',function(token){if(token){var parts=token.split(':');var view=parts[0];var tabPanel=Ext.getCmp(parts[1]);if(typeof(tabPanel)!="undefined"&&tabPanel!=null){var tabId=parts[2];switchTo(view);if(parts.length<=3){tabPanel.show();tabPanel.skipHistory=true;tabPanel.setActiveTab(tabId);}else{var operation=parts[3];var ops=operation.split('-');opcode=ops[0];operand=ops[1];if(opcode=='s'){showJobList(false,operand);}}}}else{return false;}});Ext.get('a-marketplace-dash').on('click',function(ev,target){viewSearch();});Ext.get('a-marketplace-profile').on('click',function(ev,target){addCandidate(target,0,false,0);});Ext.get('href-learnmore').on('click',function(ev,target){learnMore();});Ext.get('a-marketplace-profileUpdate').on('click',function(ev,target){addCandidate(target,0,false,0);});Ext.get('a-marketplace-mine').on('click',function(ev,target){viewMine();});}
var profilePanel;var profileInit=false;function initProfile(){var e=Ext.getCmp("profile-iframe");if(site=='oaug.org')e.setSrc('/app/viewprofile.jsp');else e.setSrc('/866-561-HIRE/profile');profileInit=true;}
function setupProfile(){profilePanel={hideBorders:false,id:'profile-panel',layout:'fit',bodyBorder:true,defaults:{collapsible:false,split:true,animFloat:false,autoHide:false,useSplitTips:true,bodyStyle:'padding:0px'},items:[{id:'profile-iframe',xtype:'iframepanel',loadMask:{hideOnReady:false,msg:'Loading...'},listeners:{documentloaded:function(frame){var el=frame.get('formsubmitcomplete',true);if(el!=null){this.setSrc("/app/viewprofile.jsp");}}},layout:'fit',title:'Profile'}]};}
var messagesPanel;var refreshMessages=false;var messagesInit=false;function initMessages(){var e=Ext.getCmp("messages-iframe");var uri=e.getFrame().getDocumentURI();if(refreshMessages||uri==null||uri.match("HIRE/messages"+"$")!="HIRE/messages")e.setSrc('/866-561-HIRE/messages');messagesInit=true;}
function setupMessages(){messagesPanel={hideBorders:false,id:'messages-panel',layout:'fit',bodyBorder:true,defaults:{collapsible:false,split:true,animFloat:false,autoHide:false,useSplitTips:true,bodyStyle:'padding:0px'},items:[{id:'messages-iframe',xtype:'iframepanel',layout:'fit',frameConfig:{autoCreate:{disableMessaging:false}},disableMessaging:false,listeners:{'message:viewjob':function(srcFrame,message){switchTo('marketplace');newJobDetailsTab(tr(message.data.opentype)+": "+message.data.title,message.data.id,(message.data.watched>0),(message.data.submitrate==0),message.data.questionstruct);}},loadMask:{hideOnReady:false,msg:'Loading...'},title:'Messages'}]};}
var reportsPanel;var reportsInit=false;function initReports(){var e=Ext.getCmp("reports-iframe");e.setSrc('/866-561-HIRE/reports');reportsInit=true;}
function setupReports(){reportsPanel={hideBorders:false,id:'reports-panel',layout:'fit',bodyBorder:true,defaults:{collapsible:false,split:true,animFloat:false,autoHide:false,useSplitTips:true,bodyStyle:'padding:0px'},items:[{xtype:'iframepanel',id:'reports-iframe',loadMask:{hideOnReady:false,msg:'Loading...'},layout:'fit',title:'Reports'}]};}
var supportPanel;var supportInit=false;function initSupport(){if(supportInit)return;var e=Ext.getCmp("support-iframe");e.setSrc('/866-561-HIRE/support');supportInit=true;}
function setupSupport(){supportPanel={hideBorders:false,id:'support-panel',layout:'fit',bodyBorder:true,defaults:{collapsible:false,split:true,animFloat:false,autoHide:false,useSplitTips:true,bodyStyle:'padding:0px'},items:[{id:'support-iframe',xtype:'iframepanel',loadMask:{hideOnReady:false,msg:'Loading...'},layout:'fit',title:'Support'}]};}
function notnull(e){return(typeof(e)!="undefined"&&e!=null);}
function formatDate(value){return value?value.dateFormat('M d, Y'):'';}
function startSearch(terms){var e=Ext.getCmp("main-view");if(typeof(e)!="undefined"&&e!=null)e.updateView(terms,"A");if(typeof(mainPanel)!='undefined')viewSearch(true);}
function notify(strTitle,strHtml){new Ext.ux.Notification({iconCls:'x-icon-information',title:strTitle,html:strHtml,autoDestroy:true,hideDelay:3000}).show(document);}
Ext.mb=function(){var msgCt;function createBox(t,s){return['<div class="msg">','<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>','<div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc"><h3>',t,'</h3>',s,'</div></div></div>','<div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>','</div>'].join('');}
return{msg:function(title,format){if(!msgCt){msgCt=Ext.DomHelper.insertFirst(document.body,{id:'msg-div'},true);}
msgCt.alignTo(document,'t-t');var s=String.format.apply(String,Array.prototype.slice.call(arguments,1));var m=Ext.DomHelper.append(msgCt,{html:createBox(title,s)},true);m.slideIn('t').pause(1).ghost("t",{remove:true});},init:function(){var t=Ext.get('exttheme');if(!t){return;}
var theme=Cookies.get('exttheme')||'aero';if(theme){t.dom.value=theme;Ext.getBody().addClass('x-'+theme);}
t.on('change',function(){Cookies.set('exttheme',t.getValue());setTimeout(function(){window.location.reload();},250);});var lb=Ext.get('lib-bar');if(lb){lb.show();}}};}();var updateStatus='';var currentView="marketplace";var serverName="thdev.ngdcorp.com";function gup(name){name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(window.location.href);if(results==null)return"";else return results[1];}
var ranonce=false;Ext.onReady(function(){Ext.Ajax.timeout=60000;if(ranonce)return;ranonce=true;Ext.History.init();Ext.History.add("start",true);var tokenDelimiter=':';Ext.QuickTips.init();Ext.namespace('Ext.exampledata');Ext.exampledata.states=[['AL','Alabama'],['AK','Alaska'],['AZ','Arizona'],['AR','Arkansas'],['CA','California'],['CO','Colorado'],['CT','Connecticut'],['DE','Delaware'],['DC','District of Columbia'],['FL','Florida'],['GA','Georgia'],['HI','Hawaii'],['ID','Idaho'],['IL','Illinois'],['IN','Indiana'],['IA','Iowa'],['KS','Kansas'],['KY','Kentucky'],['LA','Louisiana'],['ME','Maine'],['MD','Maryland'],['MA','Massachusetts'],['MI','Michigan'],['MN','Minnesota'],['MS','Mississippi'],['MO','Missouri'],['MT','Montana'],['NE','Nebraska'],['NV','Nevada'],['NH','New Hampshire'],['NJ','New Jersey'],['NM','New Mexico'],['NY','New York'],['NC','North Carolina'],['ND','North Dakota'],['OH','Ohio'],['OK','Oklahoma'],['OR','Oregon'],['PA','Pennsylvania'],['RI','Rhode Island'],['SC','South Carolina'],['SD','South Dakota'],['TN','Tennessee'],['TX','Texas'],['UT','Utah'],['VT','Vermont'],['VA','Virginia'],['WA','Washington'],['WV','West Virginia'],['WI','Wisconsin'],['WY','Wyoming']];var detailEl;var searchBox=new Ext.form.TextField({applyTo:'searchterms',id:'searchkeywords',emptyText:tr('Keywords...'),validationDelay:500000,listeners:{'valid':function(obj){if(obj.getValue()==lastSearchTerm)return;lastSearchTerm=obj.getValue();startSearch(lastSearchTerm);},'specialkey':function(obj,e){if(e.getKey()==e.ENTER){obj.blur();}}}});var searchBox2=new Ext.form.TextField({applyTo:'searchterms2',id:'searchkeywords2',emptyText:tr('Keywords...'),validationDelay:500000,listeners:{'valid':function(obj){if(obj.getValue()==lastSearchTerm)return;lastSearchTerm=obj.getValue();startSearch(lastSearchTerm);},'specialkey':function(obj,e){if(e.getKey()==e.ENTER){obj.blur();}}}});var a=Ext.get("searchbtn");if(notnull(a)){a.addListener('click',function(){var searchTerms="";var e=Ext.getCmp("searchkeywords");if(typeof(e)!="undefined"&&e!=null)searchTerms=Ext.getCmp("searchkeywords").getValue();startSearch(searchTerms);});}
setupMarketplace();var cardPanelList;if(!candidate){setupProfile();setupMessages();setupReports();setupSupport();cardPanelList=[marketplacePanel,profilePanel,messagesPanel,reportsPanel,supportPanel];}
else{cardPanelList=[marketplacePanel];}
var topWrapper={height:75,baseCls:'headerwrapper',layout:'border',items:[{html:'',width:15,baseCls:'innerleft',region:'west'},{height:75,region:'center',hideBorder:true,baseCls:'headercontent',frame:false,html:''},{html:'',width:16,region:'east',baseCls:'innerright'}],region:'north'};var bottomWrapper={region:'center',layout:'border',hideBorders:true,height:7,items:[{region:'west',html:'',height:7,width:7,baseCls:'bottomleft'},{region:'center',baseCls:'bottomcenter',height:7,html:''},{region:'east',html:'',height:7,width:7,baseCls:'bottomright'},{html:'<div class="footer"><a class="footerlink" target="_blank" href="http://www.oaug.org/about/contact.html">Contact OAUG</a>&nbsp;&nbsp;|&nbsp;&nbsp; <a class="footerlink" target="_blank" href="http://www.oaug.org/about/policies/privacy.html">OAUG Privacy Policy</a> &nbsp;&nbsp;|&nbsp;&nbsp; &copy;2009 Oracle Applications Users Group, All Rights Reserved</div><a target="_blank" href="http://www.talenthire.com/"><img border="none" style="display:block;z-index:10000;position:absolute;bottom:-2px;right:0px" src="/app/img/oaug.org/poweredby.png"></a>',region:'south'}]};var leftWrapper={html:'',width:15,baseCls:'outerleft',region:'west'};var rightWrapper={html:'',width:13,baseCls:'outerright',region:'east'};var appPanel={layout:'border',region:'center',margin:'2 5 5 0',items:[topWrapper,{anchor:'100% -46',region:'center',baseCls:'whitepanel',id:'application-panel',layout:'card',activeItem:0,border:false,items:cardPanelList}]};var appContainer={layout:'fit',anchor:'100% 100%',bodyStyle:'background:none;padding:11px;',hideBorders:true,items:[{hideBorders:true,id:'anchor-panel',bodyStyle:'background:none',layout:'border',defaults:{bodyStyle:'background:none'},items:[{region:'center',layout:'border',bodyStyle:'padding:3px',hideBorders:true,anchor:'100% -32',items:[{layout:'border',region:'center',hideBorders:true,border:false,frame:false,items:[leftWrapper,appPanel,rightWrapper,{region:'south',hideBorders:true,layout:'border',height:32,bodyStyle:'padding:0px',items:[bottomWrapper]}]}]}]}]};new Ext.Viewport({layout:'anchor',style:'background:#104f8e url(/app/img/oaug.org/bg_body.jpg) repeat-x',border:false,hideBorders:true,title:'Ext Layout Browser',items:[appContainer],renderTo:Ext.getBody()});var ee=Ext.get('emplogin');if(notnull(ee))ee.on('click',function(){showLoginPopup(0,true);});if(!candidate){Ext.get('pri_btn_1').on('click',function(){switchTo('marketplace');});Ext.get('pri_btn_2').on('click',function(){switchTo('profile');initProfile();});Ext.get('pri_btn_3').on('click',function(){if(currentView=="messages"){refreshMessages=true;}else{refreshMessages=false;}switchTo('messages');initMessages();});Ext.get('pri_btn_4').on('click',function(){switchTo('reports');initReports();});}
var action=gup('a');if(action=='u'||action=='v'){var jobprm=gup('job');var candprm=gup('cand');updateStatus=gup('status');var conn=new Ext.data.Connection();conn.request({url:'/app/uirpc/idlookup.jsp',method:'POST',params:{"job":jobprm,"cand":candprm},success:function(response,options){jobid=0;candid=0;jobTitle="";fullname='';var doc=response.responseXML;var element=doc.getElementsByTagName('opening').item(0);if(element!=null&&typeof(element)!='undefined')jobid=element.firstChild.data;var element=doc.getElementsByTagName('jobtitle').item(0);if(element!=null&&typeof(element)!='undefined')jobTitle=element.firstChild.data;var element=doc.getElementsByTagName('candidate').item(0);if(element!=null&&typeof(element)!='undefined')candid=element.firstChild.data;var element=doc.getElementsByTagName('fullname').item(0);if(element!=null&&typeof(element)!='undefined')fullname=element.firstChild.data;if(action=='v'){if(jobid!=0){newJobDetailsTab(jobTitle,jobid,false,null,null);}}
else{if(jobid!=0&&candid!=0&&updateStatus!=''){if(typeof(newCandidateDetailsTab)!="undefined"){newCandidateDetailsTab("Candidate: "+fullname,candid,jobid);if(typeof(updateStatus)!="undefined"&&updateStatus!=null&&updateStatus!=""){updateCandidate(candid,jobid,updateStatus,false,function(c,j){Ext.getCmp("candidatedetails-"+candid).setSrc('/866-561-HIRE/openings/js_candidateDetail/'+c+'/'+j);});}}}}},failure:function(){Ext.Msg.alert("Status","Could not look up this job or candidate. Please update this candidate from the job details screen or try again later.");}});}
setTimeout(function(){Ext.get('loading').fadeOut({remove:true});Ext.get('loading-mask').fadeOut({remove:true});},750);});Ext.form.XmlErrorReader=function(){Ext.form.XmlErrorReader.superclass.constructor.call(this,{record:'field',success:'@success'},['id','msg']);};Ext.extend(Ext.form.XmlErrorReader,Ext.data.XmlReader);var activeButton=0;function switchTo(view){currentView=view;var lyt=Ext.getCmp('application-panel').getLayout();if(view=="profile"&&activeButton!=1){Ext.get('pri_btn_'+(activeButton+1)).dom.src="/app/img/pri_btn_"+(activeButton+1)+".jpg";Ext.get('pri_btn_2').dom.src="/app/img/pri_btn_2_on.jpg";activeButton=1;lyt.setActiveItem(1);}
else if(view=="messages"&&activeButton!=2){Ext.get('pri_btn_'+(activeButton+1)).dom.src="/app/img/pri_btn_"+(activeButton+1)+".jpg";Ext.get('pri_btn_3').dom.src="/app/img/pri_btn_3_on.jpg";activeButton=2;lyt.setActiveItem(2);}
else if(view=="reports"&&activeButton!=3){Ext.get('pri_btn_'+(activeButton+1)).dom.src="/app/img/pri_btn_"+(activeButton+1)+".jpg";Ext.get('pri_btn_4').dom.src="/app/img/pri_btn_4_on.jpg";activeButton=3;lyt.setActiveItem(3);}
else if(view=="support"&&activeButton!=4){Ext.get('pri_btn_'+(activeButton+1)).dom.src="/app/img/pri_btn_"+(activeButton+1)+".jpg";Ext.get('pri_btn_5').dom.src="/app/img/pri_btn_5_on.jpg";activeButton=4;lyt.setActiveItem(4);}
else if(view=="marketplace"&&activeButton!=0){Ext.get('pri_btn_'+(activeButton+1)).dom.src="/app/img/pri_btn_"+(activeButton+1)+".jpg";Ext.get('pri_btn_1').dom.src="/app/img/pri_btn_1_on.jpg";activeButton=0;lyt.setActiveItem(0);}}