
Ext.namespace('mapfish.widgets');mapfish.widgets.MapComponent=function(config){Ext.apply(this,config);this.contentEl=this.map.div;var content=Ext.get(this.contentEl);content.setStyle('width','100%');content.setStyle('height','100%');mapfish.widgets.MapComponent.superclass.constructor.call(this);};Ext.extend(mapfish.widgets.MapComponent,Ext.Panel,{map:null,initComponent:function(){mapfish.widgets.MapComponent.superclass.initComponent.apply(this,arguments);this.on("bodyresize",this.map.updateSize,this.map);}});Ext.reg('mapcomponent',mapfish.widgets.MapComponent);Ext.namespace('mapfish.widgets.toolbar');mapfish.widgets.toolbar.Toolbar=function(config){Ext.apply(this,config);mapfish.widgets.toolbar.Toolbar.superclass.constructor.call(this);};Ext.extend(mapfish.widgets.toolbar.Toolbar,Ext.Toolbar,{controls:null,state:null,configurable:false,_buttons:null,initComponent:function(){mapfish.widgets.toolbar.Toolbar.superclass.initComponent.call(this);this.controls=[];this._buttons=[];this.autoWidth=true;this.autoHeight=true;Ext.QuickTips.init();},addControl:function(control,options){control.visible=true;this.controls.push(control);this.map.addControl(control);var button=new Ext.Toolbar.Button(options);if(!button.tooltip){button.tooltip=control.title;}
button.enableToggle=(control.type!=OpenLayers.Control.TYPE_BUTTON);if(control.isDefault){button.pressed=true;}
if(control.type==OpenLayers.Control.TYPE_BUTTON){button.on("click",control.trigger,control);}else{button.on("toggle",function(button,pressed){this.toggleHandler(control,pressed);},this);var self=this;control.events.on({"activate":function(){button.toggle(true);},"deactivate":function(){button.toggle(false);self.checkDefaultControl(button,control);}});}
this.add(button);this._buttons.push(button);return button;},getControlByClassName:function(className){if(this.controls){for(var i=0;i<this.controls.length;i++){if(this.controls[i].CLASS_NAME==className){return this.controls[i];}}}
return null;},getButtonForControl:function(control){if(this.controls){for(var i=0;i<this.controls.length;i++){if(this.controls[i]==control){return this._buttons[i];}}}
return null;},activate:function(){if(this.configurable){this.applyState(this.state);var mb=new Ext.Toolbar.Button({'text':'+'});mb.menu=new Ext.menu.Menu();for(var i=0;i<this.controls.length;i++){mb.menu.add({'style':'height:25px','text':'<div style="position: relative; left: 25px; top: -15px;" class="'+this._buttons[i].iconCls+'"/>',checked:this.controls[i].visible,scope:{toolbar:this,button:this._buttons[i],control:this.controls[i]},checkHandler:function(item,checked){if(checked){this.control.visible=true;if(this.control.isDefault){this.control.activate();}
this.button.show();}else{this.control.visible=false;this.control.deactivate();this.button.hide();}
this.toolbar.saveState();}});}
this.add(mb);}else{for(var j=0,c;j<this.controls.length;j++){c=this.controls[j];if(c.isDefault){c.activate();}}}},deactivate:function(){for(var i=0;i<this.controls.length;i++){this.controls[i].deactivate();}},applyState:function(state){if(!state){return false;}
this.state=state;var cs=state.controls;if(cs){for(var i=0,len=cs.length;i<len;i++){var s=cs[i];var c=this.getControlByClassName(s.id);if(c){c.visible=s.visible;if(!c.visible){this._buttons[i].hide();}}}}},getState:function(){var o={controls:[]};for(var i=0,c;i<this.controls.length;i++){c=this.controls[i];o.controls[i]={id:c.CLASS_NAME,visible:c.visible};}
return o;},toggleHandler:function(control,pressed){if(pressed!=control.active){if(pressed){control.activate();}else{control.deactivate();}}},checkDefaultControl:function(button,control){var group=button.toggleGroup;if(group){var defaultControl=null;for(var j=0;j<this.controls.length;j++){var curButton=this._buttons[j];if(curButton.toggleGroup==group){var control=this.controls[j];if(control.active){return;}else if(control.isDefault){defaultControl=control;}}}
if(defaultControl){defaultControl.activate();}}}});Ext.reg('toolbar',mapfish.widgets.toolbar.Toolbar);Ext.namespace('FGI','FGI.component');FGI.component.LinkButton=Ext.extend(Ext.Button,{template:new Ext.Template('<a class="x-btn x-link-btn-text">{0}</a>'),onRender:function(ct,position){var btn,templateArgs=[this.text||'&#160;'];if(position){btn=this.template.insertBefore(position,templateArgs,true);}else{btn=this.template.append(ct,templateArgs,true);}
this.initButtonEl(btn);if(this.menu){this.el.child(this.menuClassTarget).addClass("x-btn-with-menu");}
Ext.ButtonToggleMgr.register(this);},initButtonEl:function(btn){this.el=btn;if(this.icon){btn.setStyle('background-image','url('+this.icon+')');}
if(this.iconCls){btn.addClass(this.iconCls);if(!this.cls){btn.addClass(this.text?'x-link-btn-text-icon':'x-link-btn-icon');}}
if(this.tabIndex!==undefined){btn.dom.tabIndex=this.tabIndex;}
if(this.tooltip){if(typeof this.tooltip=='object'){Ext.QuickTips.register(Ext.apply({target:btn.id},this.tooltip));}else{btn.dom[this.tooltipType]=this.tooltip;}}
if(this.pressed){this.el.addClass("x-btn-pressed");}
if(this.handleMouseEvents){btn.on("mouseover",this.onMouseOver,this);btn.on("mousedown",this.onMouseDown,this);}
if(this.menu){this.menu.on("show",this.onMenuShow,this);this.menu.on("hide",this.onMenuHide,this);}
if(this.id){this.el.dom.id=this.el.id=this.id;}
if(this.repeat){var repeater=new Ext.util.ClickRepeater(btn,typeof this.repeat=="object"?this.repeat:{});repeater.on("click",this.onClick,this);}
btn.on(this.clickEvent,this.onClick,this);}});Ext.namespace('FGI','FGI.component');FGI.component.ButtonWindow=Ext.extend(Ext.Toolbar.Button,{windowConfig:{},toggleHandler:function(target,enabled){if(enabled){this.window.show(this.getEl());}else{this.window.hide();}},enableToggle:true,text:'FGI.component.ButtonWindow',textToggle:'',initComponent:function(){this._btnText=this.text;if(this.textToggle==''){this.textToggle=this.text;}
Ext.apply(this,{});var _config={title:'FGI.component.ButtonWindow',layout:'fit',closable:true,closeAction:'hide',draggable:true,width:300,constrain:true,height:400};Ext.apply(_config,this.windowConfig);Ext.apply(_config,{btn:this,listeners:{'hide':function(w){w.btn.toggle(false);w.btn.setText(w.btn._btnText);},'show':function(w){w.btn.toggle(true);w.btn.setText(w.btn.textToggle);}}});this.windowConfig=_config;this.window=new Ext.Window(this.windowConfig);FGI.component.ButtonWindow.superclass.initComponent.apply(this,arguments);}});Ext.namespace('FGI','FGI.grid');FGI.grid.DynamicRowExpander=function(config){Ext.apply(this,config);this.addEvents({beforeexpand:true,expand:true,beforecollapse:true,collapse:true,beforeload:true,afterload:true});FGI.grid.DynamicRowExpander.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(FGI.grid.DynamicRowExpander,Ext.util.Observable,{header:"",width:20,sortable:false,fixed:true,menuDisabled:true,dataIndex:'',id:'expander',lazyRender:true,enableCaching:true,autoLoad:{url:'',idField:''},loadingText:'Loading...',loadingTpl:'<div class="x-mask-loading"><div style="height:20px;">{0}</div></div>',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('click',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;},generateUrlParams:function(params,record){if(typeof params=='string'){return record.data[params];}
else{var returnVal='';for(var i=0;i<params.length;i++){returnVal+=record.data[params[i]]+'/';}
return returnVal;}},getBodyContentFromUrl:function(record,body,rowIndex){var content=this.bodyContent[record.id];if(!this.enableCaching||(this.enableCaching&&!content)){if(this.fireEvent('beforeload',this,record,body,rowIndex)!==false){body.innerHTML=String.format(this.loadingTpl,this.loadingText);Ext.Ajax.request({url:this.autoLoad.url+this.generateUrlParams(this.autoLoad.idField,record),scope:this,body:body,record:record,rowIndex:rowIndex,disableCaching:false,success:function(response,options){this.fireEvent('afterload',response,options,this,record,body,rowIndex);},failure:function(){}});}else{return false;}}},setBodyContent:function(content,body,record){body.innerHTML=content;if(this.enableCaching){this.bodyContent[record.id]=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>';},renderLoadingTemplate:function(){return String.format(this.loadingtpl,this.loadingText);},beforeExpand:function(record,body,rowIndex){if(this.fireEvent('beforeexpand',this,record,body,rowIndex)!==false){if(this.autoLoad.url!=''){this.getBodyContentFromUrl(record,body,rowIndex);}else 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.namespace('FGI','FGI.component');FGI.grid.LayerSelectionModel=Ext.extend(Ext.grid.RowSelectionModel,{header:'<div class="x-grid3-hd-checker">&#160;</div>',width:20,sortable:false,menuDisabled:true,fixed:true,dataIndex:'',id:'checker',initEvents:function(){FGI.grid.LayerSelectionModel.superclass.initEvents.call(this);this.grid.on('render',function(){var view=this.grid.getView();view.mainBody.on('mousedown',this.onMouseDown,this);},this);},onMouseDown:function(e,t){if(e.button===0)
{e.stopEvent();var row=e.getTarget('.x-grid3-row');if(row){var index=row.rowIndex;this.selectRow(index);var rec=this.grid.store.getAt(index);var checkbox;if(t.className.match('x-grid3-row-checker')!='x-grid3-row-checker'||rec.data.mode=='auto')
{if(t.className!='x-grid3-row-expander'){this.selectRow(index,true);}}
else if(rec.data.mode!='auto')
{this.fireEvent("toggleLayer",this,index,rec);checkbox=Ext.fly(t);if(!rec.layerOff){checkbox.addClass('x-grid3-row-checker-on');checkbox.removeClass('x-grid3-row-checker');checkbox.removeClass('x-grid3-row-checker-off');}else{checkbox.addClass('x-grid3-row-checker-off');checkbox.removeClass('x-grid3-row-checker-on');}}}}},renderer:function(v,p,record){if(record.data.mode=='auto'){return'<div class="x-grid3-row-checker-hide">&#160;</div>';}else{if(record.layerOff){return'<div class="x-grid3-row-checker-off">&#160;</div>';}else{return'<div class="x-grid3-row-checker-on">&#160;</div>';}}}});Ext.namespace('Ext.ux.dd');Ext.ux.dd.GridReorderDropTarget=function(grid,config)
{this.target=new Ext.dd.DropTarget(grid.getEl(),{ddGroup:grid.ddGroup||'GridDD',grid:grid,gridDropTarget:this,notifyDrop:function(dd,e,data)
{if(this.currentRowEl)
{this.currentRowEl.removeClass('grid-row-insert-below');this.currentRowEl.removeClass('grid-row-insert-above');}
var t=Ext.lib.Event.getTarget(e);var rindex=this.grid.getView().findRowIndex(t);data.selections=this.grid.getSelectionModel().getSelections();if(rindex===false||rindex==data.rowIndex)
{return false;}
if(this.gridDropTarget.fireEvent('beforerowmove',this.gridDropTarget,data.rowIndex,rindex,data.selections,123)===false)
{return false;}
var ds=this.grid.getStore();var selections=new Array();var keys=ds.data.keys;for(var key in keys)
{for(var i=0;i<data.selections.length;i++)
{if(keys[key]==data.selections[i].id)
{if(rindex==key)
{return false;}
selections.push(data.selections[i]);}}}
if(rindex>data.rowIndex&&this.rowPosition<0)
{rindex--;}
if(rindex<data.rowIndex&&this.rowPosition>0)
{rindex++;}
if(rindex>data.rowIndex&&data.selections.length>1)
{rindex=rindex-(data.selections.length-1);}
if(rindex==data.rowIndex)
{return false;}
for(var i=0;i<data.selections.length;i++)
{ds.remove(ds.getById(data.selections[i].id));}
for(var i=selections.length-1;i>=0;i--)
{var insertIndex=rindex;ds.insert(insertIndex,selections[i]);}
var sm=this.grid.getSelectionModel();if(sm)
{sm.selectRecords(data.selections);}
this.gridDropTarget.fireEvent('afterrowmove',this.gridDropTarget,data.rowIndex,rindex,data.selections);return true;},notifyOver:function(dd,e,data)
{var t=Ext.lib.Event.getTarget(e);var rindex=this.grid.getView().findRowIndex(t);var ds=this.grid.getStore();var keys=ds.data.keys;for(var key in keys)
{for(var i=0;i<data.selections.length;i++)
{if(keys[key]==data.selections[i].id)
{if(rindex==key)
{if(this.currentRowEl)
{this.currentRowEl.removeClass('grid-row-insert-below');this.currentRowEl.removeClass('grid-row-insert-above');}
return this.dropNotAllowed;}}}}
if(rindex<0||rindex===false)
{this.currentRowEl.removeClass('grid-row-insert-above');return this.dropNotAllowed;}
try
{var currentRow=this.grid.getView().getRow(rindex);var resolvedRow=new Ext.Element(currentRow).getY()-this.grid.getView().scroller.dom.scrollTop;var rowHeight=currentRow.offsetHeight;this.rowPosition=e.getPageY()-resolvedRow-(rowHeight/2);if(this.currentRowEl)
{this.currentRowEl.removeClass('grid-row-insert-below');this.currentRowEl.removeClass('grid-row-insert-above');}
if(this.rowPosition>0)
{this.currentRowEl=new Ext.Element(currentRow);this.currentRowEl.addClass('grid-row-insert-below');}
else
{if(rindex-1>=0)
{var previousRow=this.grid.getView().getRow(rindex-1);this.currentRowEl=new Ext.Element(previousRow);this.currentRowEl.addClass('grid-row-insert-below');}
else
{this.currentRowEl.addClass('grid-row-insert-above');}}}
catch(err)
{console.warn(err);rindex=false;}
return(rindex===false)?this.dropNotAllowed:this.dropAllowed;},notifyOut:function(dd,e,data)
{if(this.currentRowEl)
{this.currentRowEl.removeClass('grid-row-insert-above');this.currentRowEl.removeClass('grid-row-insert-below');}}});if(config)
{Ext.apply(this.target,config);if(config.listeners)
{Ext.apply(this,{listeners:config.listeners});}}
this.addEvents({'beforerowmove':true,'afterrowmove':true,'beforerowcopy':true,'afterrowcopy':true});Ext.ux.dd.GridReorderDropTarget.superclass.constructor.call(this);};Ext.extend(Ext.ux.dd.GridReorderDropTarget,Ext.util.Observable,{getTarget:function()
{return this.target;},getGrid:function()
{return this.target.grid;}});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('click',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.MenuPanel=function(config){this.fillHeight=false;Ext.ux.MenuPanel.superclass.constructor.call(this,config);if((typeof this.menu=='undefined')||this.menu==null){throw'you need to specify an instance of Menu in your cfg object';}
this.menu.shadow=false;};Ext.extend(Ext.ux.MenuPanel,Ext.Panel,{initComponent:function(){Ext.ux.MenuPanel.superclass.initComponent.call(this);if(typeof this.menu.getEl!="function"){this.menu=new Ext.menu.Menu(this.menu);}},afterRender:function(){Ext.ux.MenuPanel.superclass.afterRender.call(this);var el=this.menu.getEl();el.getShim();el.hideShim();this.body.appendChild(el);el.clearPositioning('auto');el.setWidth('100%');if(this.fillHeight===true){el.setHeight('100%');}
el.applyStyles({border:'0px'});el.show();},getMenu:function(){return this.menu;},beforeDestroy:function(){Ext.ux.MenuPanel.superclass.beforeDestroy.call(this);this.menu.destroy();}});Ext.reg('menupanel',Ext.ux.MenuPanel);Ext.ns('Ext.ux.grid');Ext.ux.grid.CheckColumn=function(config){Ext.apply(this,config);if(!this.id){this.id=Ext.id();}
this.renderer=this.renderer.createDelegate(this);};Ext.ux.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);},rowEdited:false,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);var editEvent={grid:this.grid,record:this.grid.store.getAt(index),field:this.dataIndex,value:!record.data[this.dataIndex],originalValue:record.data[this.dataIndex],row:index,column:this.grid.getColumnModel().findColumnIndex(this.dataIndex)};record.set(this.dataIndex,editEvent.value);this.grid.getSelectionModel().selectRow(index);this.grid.fireEvent('beforeedit',editEvent);Ext.ux.grid.CheckColumn.prototype.rowEdited=true;Ext.getCmp('saveButton').enable();}},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>';}};Ext.reg('checkcolumn',Ext.ux.grid.CheckColumn);Ext.grid.CheckColumn=Ext.ux.grid.CheckColumn;Ext.form.MultiSelectField=Ext.extend(Ext.form.TriggerField,{triggerClass:'x-form-trigger',defaultAutoCreate:{tag:"input",type:"text",size:"10",autocomplete:"off"},readOnly:true,lazyInit:false,hiddenValue:'',value:null,valueSeparator:';',textSeparator:', ',loadingText:'Loading list...',containerHeight:'',containerWidth:'',store:null,mode:'remote',valueField:'value',displayField:'text',initComponent:function(){Ext.QuickTips.init();Ext.form.MultiSelectField.superclass.initComponent.call(this);if(Ext.isArray(this.store)){if(Ext.isArray(this.store[0])){this.store=new Ext.data.SimpleStore({id:'value',fields:['value','text'],data:this.store});this.valueField='value';}else{this.store=new Ext.data.Store({id:'text',fields:['text'],data:this.store,expandData:true});this.valueField='text';}
this.displayField='text';this.mode='local';}},onRender:function(ct,position){Ext.form.MultiSelectField.superclass.onRender.call(this,ct,position);if(this.hiddenName){this.hiddenField=this.el.insertSibling({tag:'input',type:'hidden',name:this.hiddenName,id:(this.hiddenId||this.hiddenName)},'before',true);this.hiddenField.value=this.hiddenValue!==undefined?this.hiddenValue:this.value!==undefined?this.value:'';this.el.dom.removeAttribute('name');}
if(this.menu==null){this.menu=new Ext.menu.Menu();this.menu.on('hide',function(){if(this.tmp!=this.lastSelectionText&&this.lastSelectionText!=''){this.tmp=this.lastSelectionText;}},this);if(FGI.copy.DisplayRightToLeft=="true"){this.menu.cls='multiselect-menu-rtl';this.store.each(function(r){this.menu.add(new Ext.menu.CheckItem({text:"<span dir='rtl' >"+r.data[this.displayField]+"</span>",value:r.data[this.valueField],hideOnClick:false})).on('click',this.clickHandler,this);},this);}else{this.menu.cls='';this.store.each(function(r){this.menu.add(new Ext.menu.CheckItem({text:r.data[this.displayField],value:r.data[this.valueField],hideOnClick:false})).on('click',this.clickHandler,this);},this);}}
if(!this.lazyInit){}else{}},onTriggerClick:function(){if(this.disabled){return;}
this.menu.show(this.el,"bottom");this.menu.el.setTop(this.menu.el.getTop()+this.el.getHeight()-3);if(this.containerHeight!=''&&this.menu.el.getHeight()>this.containerHeight){this.menu.el.setHeight(this.containerHeight);this.menu.el.dom.style.overflowY='auto';}
var width=this.containerWidth!=''?this.containerWidth:(this.width>this.menu.el.getWidth()?this.width-1:this.menu.el.getWidth());this.menu.items.each(function(r){r.el.setWidth(width);r.el.dom.style.overflowX='hidden';},this);this.menu.el.setWidth(width);this.menu.el.dom.style.overflowX='hidden';this.populateList(this.value);},validateBlur:function(){return!this.menu||!this.menu.isVisible();},getValue:function(){if(this.hiddenField){return this.hiddenField.value||"";}else if(this.valueField){return typeof this.value!='undefined'?this.value:'';}else{return Ext.form.MultiSelectField.superclass.getValue.call(this);}},setValue:function(value,text){if(text==undefined&&value!=undefined){this.setValues(value.split(this.valueSeparator));return;}if(value==undefined){value='';text='';}
this.lastSelectionText=text;if(this.hiddenField){this.hiddenField.value=value;}
Ext.form.MultiSelectField.superclass.setValue.call(this,text);this.value=value;if(text.trim()==''){Ext.QuickTips.getQuickTip().unregister(this.el);}else{if(FGI.copy.DisplayRightToLeft){Ext.QuickTips.getQuickTip().register({target:this.el,text:'<span dir="rtl">'+text+'</span>'});}else{Ext.QuickTips.getQuickTip().register({target:this.el,text:text});};}},setValues:function(keys){var text='';var value='';for(var i=0;i<keys.length;i++){if(keys[i]!=undefined&&keys[i]!=''){var item=this.store.query(this.valueField,keys[i]).items[0];if(item!=undefined){value+=(value!=''?this.valueSeparator:'')+item.data[this.valueField];text+=(text!=''?this.textSeparator:'')+item.data[this.displayField];}}}
this.setValue(value,text);this.fireEvent('change',this);},selPush:function(key){var keys=this.value==''?new Array():this.value.split(this.valueSeparator);var i=keys.length++;keys[i]=key;this.setValues(keys);},selDrop:function(key){var keys=this.value.split(this.valueSeparator);for(var i=0;i<keys.length;i++){if(keys[i].toString()==key.toString()){keys[i]=undefined;}}
this.setValues(keys);},onDestroy:function(){if(this.menu){this.menu.destroy();}
if(this.wrap){this.wrap.remove();}
Ext.form.MultiSelectField.superclass.onDestroy.call(this);},clickHandler:function(i,c){if(i.checked==false){this.selPush(i.value,i.text);}else{this.selDrop(i.value);}},populateList:function(v){if(v==undefined||v==null)v=this.value;if(this.menu){this.menu.items.each(function(item){item.setChecked(false);});}
if(v!=undefined&&v!=''&&v!=null){var sel=v.split(this.valueSeparator);for(i=0;i<sel.length;i++){try{var value=this.store.query(this.valueField,sel[i]).items[0].data[this.valueField];this.menu.items.each(function(mi){if(mi.value==value){mi.setChecked(true);}},this);}catch(e){}}}}});Ext.reg('multiselect',Ext.form.MultiSelectField);Ext.ns('Ext.ux.form');Ext.ux.form.FileUploadField=Ext.extend(Ext.form.TextField,{buttonText:'Browse...',buttonOnly:false,buttonOffset:3,readOnly:true,autoSize:Ext.emptyFn,initComponent:function(){Ext.ux.form.FileUploadField.superclass.initComponent.call(this);this.addEvents('fileselected');},onRender:function(ct,position){Ext.ux.form.FileUploadField.superclass.onRender.call(this,ct,position);this.wrap=this.el.wrap({cls:'x-form-field-wrap x-form-file-wrap'});this.el.addClass('x-form-file-text');this.el.dom.removeAttribute('name');this.fileInput=this.wrap.createChild({id:this.getFileInputId(),name:this.name||this.getId(),cls:'x-form-file',tag:'input',type:'file',size:1});var btnCfg=Ext.applyIf(this.buttonCfg||{},{text:this.buttonText});this.button=new Ext.Button(Ext.apply(btnCfg,{renderTo:this.wrap,cls:'x-form-file-btn'+(btnCfg.iconCls?' x-btn-icon':'')}));if(this.buttonOnly){this.el.hide();this.wrap.setWidth(this.button.getEl().getWidth());}
this.fileInput.on('change',function(){var v=this.fileInput.dom.value;this.setValue(v);this.fireEvent('fileselected',this,v);},this);},getFileInputId:function(){return this.id+'-file';},onResize:function(w,h){Ext.ux.form.FileUploadField.superclass.onResize.call(this,w,h);this.wrap.setWidth(w);if(!this.buttonOnly){var w=this.wrap.getWidth()-this.button.getEl().getWidth()-this.buttonOffset;this.el.setWidth(w);}},onDestroy:function(){Ext.ux.form.FileUploadField.superclass.onDestroy.call(this);Ext.destroy(this.fileInput,this.button,this.wrap);},preFocus:Ext.emptyFn,getResizeEl:function(){return this.wrap;},getPositionEl:function(){return this.wrap;},alignErrorIcon:function(){this.errorIcon.alignTo(this.wrap,'tl-tr',[2,0]);}});Ext.reg('fileuploadfield',Ext.ux.form.FileUploadField);Ext.form.FileUploadField=Ext.ux.form.FileUploadField;Base64=(function(){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function utf8Encode(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c);}
else if((c>127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128);}else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);utftext+=String.fromCharCode((c&63)|128);}}
return utftext;}
return{encode:function(input){var output="";var chr1,chr2,chr3,enc1,enc2,enc3,enc4;var i=0;input=utf8Encode(input);while(i<input.length){chr1=input.charCodeAt(i++);chr2=input.charCodeAt(i++);chr3=input.charCodeAt(i++);enc1=chr1>>2;enc2=((chr1&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64;}
else if(isNaN(chr3)){enc4=64;}
output=output+keyStr.charAt(enc1)+keyStr.charAt(enc2)+keyStr.charAt(enc3)+keyStr.charAt(enc4);}
return output;}};})();Ext.override(Ext.grid.GridPanel,{dateTimeFormatForExcel:'yyyy-mm-dd',getExcelXml:function(includeHidden){var worksheet=this.createWorksheet(includeHidden);var totalWidth=this.getColumnModel().getTotalWidth(includeHidden);return'<xml version="1.0" encoding="utf-8">'+'<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:o="urn:schemas-microsoft-com:office:office">'+'<o:DocumentProperties><o:Title>'+this.title+'</o:Title></o:DocumentProperties>'+'<ss:ExcelWorkbook>'+'<ss:WindowHeight>'+worksheet.height+'</ss:WindowHeight>'+'<ss:WindowWidth>'+worksheet.width+'</ss:WindowWidth>'+'<ss:ProtectStructure>False</ss:ProtectStructure>'+'<ss:ProtectWindows>False</ss:ProtectWindows>'+'</ss:ExcelWorkbook>'+'<ss:Styles>'+'<ss:Style ss:ID="Default">'+'<ss:Alignment ss:Vertical="Top" ss:WrapText="1" />'+'<ss:Font ss:FontName="arial" ss:Size="10" />'+'<ss:Borders>'+'<ss:Border ss:Color="#e4e4e4" ss:Weight="1" ss:LineStyle="Continuous" ss:Position="Top" />'+'<ss:Border ss:Color="#e4e4e4" ss:Weight="1" ss:LineStyle="Continuous" ss:Position="Bottom" />'+'<ss:Border ss:Color="#e4e4e4" ss:Weight="1" ss:LineStyle="Continuous" ss:Position="Left" />'+'<ss:Border ss:Color="#e4e4e4" ss:Weight="1" ss:LineStyle="Continuous" ss:Position="Right" />'+'</ss:Borders>'+'<ss:Interior />'+'<ss:NumberFormat />'+'<ss:Protection />'+'</ss:Style>'+'<ss:Style ss:ID="title">'+'<ss:Borders />'+'<ss:Font />'+'<ss:Alignment ss:WrapText="1" ss:Vertical="Center" ss:Horizontal="Center" />'+'<ss:NumberFormat ss:Format="@" />'+'</ss:Style>'+'<ss:Style ss:ID="headercell">'+'<ss:Font ss:Bold="1" ss:Size="10" />'+'<ss:Alignment ss:WrapText="1" ss:Horizontal="Center" />'+'<ss:Interior ss:Pattern="Solid" ss:Color="#A3C9F1" />'+'</ss:Style>'+'<ss:Style ss:ID="even">'+'<ss:Interior ss:Pattern="Solid" ss:Color="#CCFFFF" />'+'</ss:Style>'+'<Style ss:ID="DateTime">'+'<ss:NumberFormat ss:Format="'+this.dateTimeFormatForExcel+'" />'+'</Style>'+'<ss:Style ss:Parent="even" ss:ID="evendate">'+'<ss:NumberFormat ss:Format="'+this.dateTimeFormatForExcel+'" />'+'</ss:Style>'+'<ss:Style ss:Parent="even" ss:ID="evenint">'+'<ss:NumberFormat ss:Format="0" />'+'</ss:Style>'+'<ss:Style ss:Parent="even" ss:ID="evenfloat">'+'<ss:NumberFormat ss:Format="0.000" />'+'</ss:Style>'+'<ss:Style ss:ID="odd">'+'<ss:Interior ss:Pattern="Solid" ss:Color="#CCCCFF" />'+'</ss:Style>'+'<ss:Style ss:Parent="odd" ss:ID="odddate">'+'<ss:NumberFormat ss:Format="'+this.dateTimeFormatForExcel+'" />'+'</ss:Style>'+'<ss:Style ss:Parent="odd" ss:ID="oddint">'+'<ss:NumberFormat ss:Format="0" />'+'</ss:Style>'+'<ss:Style ss:Parent="odd" ss:ID="oddfloat">'+'<ss:NumberFormat ss:Format="0.000" />'+'</ss:Style>'+'</ss:Styles>'+
worksheet.xml+'</ss:Workbook>';},createWorksheet:function(includeHidden){var cellType=[];var cellTypeClass=[];var cm=this.getColumnModel();var totalWidthInPixels=0;var colXml='';var headerXml='';var visibleColumnCountReduction=0;for(var i=0;i<cm.getColumnCount();i++){if(includeHidden||!cm.isHidden(i)){var w=cm.getColumnWidth(i);totalWidthInPixels+=w;if(cm.getColumnHeader(i)===""){cellType.push("None");cellTypeClass.push("");++visibleColumnCountReduction;}
else
{colXml+='<ss:Column ss:AutoFitWidth="1" ss:Width="'+w+'" />';headerXml+='<ss:Cell ss:StyleID="headercell">'+'<ss:Data ss:Type="String">'+cm.getColumnHeader(i)+'</ss:Data>'+'<ss:NamedCell ss:Name="Print_Titles" /></ss:Cell>';var fld=this.store.recordType.prototype.fields.get(cm.getDataIndex(i));switch(fld.type){case"int":cellType.push("Number");cellTypeClass.push("int");break;case"float":cellType.push("Number");cellTypeClass.push("float");break;case"bool":case"boolean":cellType.push("String");cellTypeClass.push("");break;case"date":cellType.push("String");cellTypeClass.push("date");break;default:cellType.push("String");cellTypeClass.push("");break;}}}}
var visibleColumnCount=cellType.length-visibleColumnCountReduction;var result={height:9000,width:Math.floor(totalWidthInPixels*30)+50};var t='<ss:Worksheet ss:Name="'+this.title+'">'+'<ss:Names>'+'<ss:NamedRange ss:Name="Print_Titles" ss:RefersTo="=\''+this.title+'\'!R1:R2" />'+'</ss:Names>'+'<ss:Table x:FullRows="1" x:FullColumns="1"'+' ss:ExpandedColumnCount="'+visibleColumnCount+'" ss:ExpandedRowCount="'+(this.store.getCount()+2)+'">'+
colXml+'<ss:Row ss:Height="38">'+'<ss:Cell ss:StyleID="title" ss:MergeAcross="'+(visibleColumnCount-1)+'">'+'<ss:Data xmlns:html="http://www.w3.org/TR/REC-html40" ss:Type="String">'+'<html:B> '+this.title+'</html:B></ss:Data><ss:NamedCell ss:Name="Print_Titles" />'+'</ss:Cell>'+'</ss:Row>'+'<ss:Row ss:AutoFitHeight="1">'+
headerXml+'</ss:Row>';for(var i=0,it=this.store.data.items,l=it.length;i<l;i++){t+='<ss:Row>';var cellClass=(i&1)?'odd':'even';r=it[i].data;var k=0;for(var j=0;j<cm.getColumnCount();j++){if(includeHidden||!cm.isHidden(j)){var v=r[cm.getDataIndex(j)];t+='<ss:Cell ss:StyleID="'+cellClass+cellTypeClass[k]+'"><ss:Data ss:Type="'+cellType[k]+'">';if(cellType[k]=='DateTime'){t+=Ext.util.Format.dateRenderer('Y-m-d').call(this,v,{css:null,attr:null},this.getStore().getAt(i),i,j);}else{t+=cm.getRenderer(j).call(this,v,{css:null,attr:null},this.getStore().getAt(i),i,j);}
t+='</ss:Data></ss:Cell>';k++;}}
t+='</ss:Row>';}
result.xml=t+'</ss:Table>'+'<x:WorksheetOptions>'+'<x:PageSetup>'+'<x:Layout x:CenterHorizontal="1" x:Orientation="Landscape" />'+'<x:Footer x:Data="Page &amp;P of &amp;N" x:Margin="0.5" />'+'<x:PageMargins x:Top="0.5" x:Right="0.5" x:Left="0.5" x:Bottom="0.8" />'+'</x:PageSetup>'+'<x:FitToPage />'+'<x:Print>'+'<x:PrintErrors>Blank</x:PrintErrors>'+'<x:FitWidth>1</x:FitWidth>'+'<x:FitHeight>32767</x:FitHeight>'+'<x:ValidPrinterInfo />'+'<x:VerticalResolution>600</x:VerticalResolution>'+'</x:Print>'+'<x:Selected />'+'<x:DoNotDisplayGridlines />'+'<x:ProtectObjects>False</x:ProtectObjects>'+'<x:ProtectScenarios>False</x:ProtectScenarios>'+'</x:WorksheetOptions>'+'</ss:Worksheet>';return result;}});Ext.form.DateField.prototype.onTriggerClick=function(){if(this.disabled){return;}
if(this.menu==null){this.menu=new Ext.menu.DateMenu({minWidth:177});}
Ext.apply(this.menu.picker,{minDate:this.minValue,maxDate:this.maxValue,disabledDatesRE:this.ddMatch,disabledDatesText:this.disabledDatesText,disabledDays:this.disabledDays,disabledDaysText:this.disabledDaysText,format:this.format,showToday:this.showToday,minText:String.format(this.minText,this.formatDate(this.minValue)),maxText:String.format(this.maxText,this.formatDate(this.maxValue))});this.menu.on(Ext.apply({},this.menuListeners,{scope:this}));this.menu.picker.setValue(this.getValue()||new Date());this.menu.show(this.el,"tl-bl?");};Ext.override(Ext.form.Field,{initValue:function(){if(this.value!==undefined){this.setValue(this.value);}else if(!Ext.isEmpty(this.el.dom.value)){this.setValue(this.el.dom.value);}
this.originalValue=this.getValue();},getRawValue:function(){var v=this.rendered?this.el.getValue():Ext.value(this.value,'');return v;},getValue:function(){if(!this.rendered){return this.value;}
var v=this.el.getValue();if(v===undefined){v='';}
return v;}});Ext.override(Ext.form.TextField,{applyEmptyText:function(){if(this.rendered&&this.emptyText&&this.getRawValue().length<1&&!this.hasFocus){this.el.addClass(this.emptyClass);var el=this.emptyTextEl;if(!el){el=this.emptyTextEl=this.el.insertSibling({cls:'x-field-empty-text',unselectable:'on',cn:this.emptyText},'after');el.setVisibilityMode(Ext.Element.VISIBILITY);el.on('click',this.emptyTextClick,this);}
el.setSize(this.el.getSize());el.alignTo(this.el,'tl');el.show();}},preFocus:function(){if(this.emptyText){this.el.removeClass(this.emptyClass);if(this.emptyTextEl){this.emptyTextEl.hide();}}
if(this.selectOnFocus){this.el.dom.select();}},setValue:function(v){if(this.emptyText&&this.el&&v!==undefined&&v!==null&&v!==''){this.el.removeClass(this.emptyClass);if(this.emptyTextEl){this.emptyTextEl.hide();}}
Ext.form.TextField.superclass.setValue.apply(this,arguments);this.applyEmptyText();this.autoSize();return this;},onDestroy:function(){if(this.validationTask){this.validationTask.cancel();this.validationTask=null;}
Ext.destroy(this.emptyTextEl);Ext.form.TextField.superclass.onDestroy.call(this);},emptyTextClick:function(e){this.focus(false,1);}});Ext.override(Ext.form.TriggerField,{emptyTextClick:function(e){Ext.form.TriggerField.superclass.emptyTextClick.apply(this,arguments);if(!this.editable&&this.onTriggerClick){this.onTriggerClick();}}});OpenLayers.Geometry.segmentsIntersect=function(seg1,seg2,options){var point=options&&options.point;var tolerance=options&&options.tolerance;var intersection=false;var x11_21=seg1.x1-seg2.x1;var y11_21=seg1.y1-seg2.y1;var x12_11=seg1.x2-seg1.x1;var y12_11=seg1.y2-seg1.y1;var y22_21=seg2.y2-seg2.y1;var x22_21=seg2.x2-seg2.x1;var d=(y22_21*x12_11)-(x22_21*y12_11);var n1=(x22_21*y11_21)-(y22_21*x11_21);var n2=(x12_11*y11_21)-(y12_11*x11_21);if(d==0){if(n1==0&&n2==0){intersection=true;if(point){seg1.vertices=[{x:seg1.x1,y:seg1.y1},{x:seg1.x2,y:seg1.y2}];seg2.vertices=[{x:seg2.x1,y:seg2.y1},{x:seg2.x2,y:seg2.y2}];var allVertices=seg1.vertices.concat(seg2.vertices);var sharedVertices=[];Ext.each(seg1.vertices,function(seg1Vert,seg1VertIndex,seg1VertAllItems){Ext.each(seg2.vertices,function(seg2Vert,seg2VertIndex,seg2VertAllItems){if(seg1Vert.x==seg2Vert.x&&seg1Vert.y==seg2Vert.y){sharedVertices.push(seg2Vert);}},this);},this);if(sharedVertices.length==1){var shared=sharedVertices[0];var nonShared=[];Ext.each(allVertices,function(item,index,allItems){if(!(item.x==shared.x&&item.y==shared.y)){nonShared.push(item);}},this);if(((nonShared[0].x<=shared.x&&shared.x<=nonShared[1].x)||(nonShared[1].x<=shared.x&&shared.x<=nonShared[0].x))&&((nonShared[0].y<=shared.y&&shared.y<=nonShared[1].y)||(nonShared[1].y<=shared.y&&shared.y<=nonShared[0].y))){intersection=new OpenLayers.Geometry.Point(shared.x,shared.y);}}}}}else{var along1=n1/d;var along2=n2/d;if(along1>=0&&along1<=1&&along2>=0&&along2<=1){if(!point){intersection=true;}else{var x=seg1.x1+(along1*x12_11);var y=seg1.y1+(along1*y12_11);intersection=new OpenLayers.Geometry.Point(x,y);}}}
if(tolerance){var dist;if(intersection){if(point){var segs=[seg1,seg2];var seg,x,y;outer:for(var i=0;i<2;++i){seg=segs[i];for(var j=1;j<3;++j){x=seg["x"+j];y=seg["y"+j];dist=Math.sqrt(Math.pow(x-intersection.x,2)+
Math.pow(y-intersection.y,2));if(dist<tolerance){intersection.x=x;intersection.y=y;break outer;}}}}}else{var segs=[seg1,seg2];var source,target,x,y,p,result;outer:for(var i=0;i<2;++i){source=segs[i];target=segs[(i+1)%2];for(var j=1;j<3;++j){p={x:source["x"+j],y:source["y"+j]};result=OpenLayers.Geometry.distanceToSegment(p,target);if(result.distance<tolerance){if(point){intersection=new OpenLayers.Geometry.Point(p.x,p.y);}else{intersection=true;}
break outer;}}}}}
return intersection;};OpenLayers.Map.prototype.zoomToWKT=function(wkt,zoomLimit){var geom=new OpenLayers.Format.WKT().read(wkt).geometry;this.zoomToGeom(geom,zoomLimit);};OpenLayers.Map.prototype.zoomToGeom=function(geom,zoomLimit){var bounds=geom.getBounds();if(zoomLimit){var zoom=this.getZoomForExtent(bounds,false);this.setCenter(bounds.getCenterLonLat(),Math.min(zoom,zoomLimit));}else{this.zoomToExtent(bounds);}};OpenLayers.Map.prototype.getAdjustedZoom=function(){return(this.getZoom()+this.min_zoom_level);};OpenLayers.Map.prototype.setAdjustedZoom=function(){this.zoomTo(unadjustedZoomLevel+this.min_zoom_level);};OpenLayers.Map.prototype.Z_INDEX_BASE={BaseLayer:100,Overlay:325,Feature:725,Popup:950,Control:1000};OpenLayers.Map.prototype.setLayerZIndex=function(layer,zIdx){layer.setZIndex(this.Z_INDEX_BASE[layer.isBaseLayer?'BaseLayer':(layer.isVector||layer.CLASS_NAME=='OpenLayers.Layer.Markers')?'Feature':'Overlay']
+zIdx*5);};OpenLayers.Map.prototype.getFeatureDisplayInfo=function(){var returnObj=new Object();var redLines=new Array();var labels=new Array();var wktWriter=new OpenLayers.Format.WKT()
for(var j=0;j<this.drawingLayer.features.length;j++){var data={};if(this.drawingLayer.features[j].data.isLabel){data.WKT=wktWriter.write(this.drawingLayer.features[j]);data.FontColor=this.drawingLayer.features[j].style.fontColor;data.FontFamily=this.drawingLayer.features[j].style.fontFamily;data.FontSize=this.drawingLayer.features[j].style.fontSize;data.Description=this.drawingLayer.features[j].data.description;data.FontWeight=this.drawingLayer.features[j].style.fontWeight;data.Text=this.drawingLayer.features[j].style.label;labels.push(data);}
else{data.WKT=wktWriter.write(this.drawingLayer.features[j]);data.FillColor=this.drawingLayer.features[j].style.fillColor;data.FillOpacity=this.drawingLayer.features[j].style.fillOpacity;data.OutlineColor=this.drawingLayer.features[j].style.strokeColor;data.OutlineOpacity=this.drawingLayer.features[j].style.strokeOpacity;data.ShowLabelOnMap=this.drawingLayer.features[j].data.showLabel;data.OutlineWidth=this.drawingLayer.features[j].style.strokeWidth;data.PointRadius=this.drawingLayer.features[j].style.pointRadius;data.IsDigHere=this.drawingLayer.features[j].attributes.isDigHere;data.Label={};if(data.WKT.contains("POINT")){data.Label.WKT=data.WKT;}
else if(data.WKT.contains("LINE")){var wkt=this.drawingLayer.features[j].geometry.components[0];data.Label.WKT="POINT("+wkt.x+" "+wkt.y+")";}
else if(data.WKT.contains("POLYGON")){var wkt=this.drawingLayer.features[j].geometry.getCentroid();data.Label.WKT="POINT("+wkt.x+" "+wkt.y+")";}
data.Label.FontColor=this.drawingLayer.features[j].style.fontColor;data.Label.FontFamily=this.drawingLayer.features[j].style.fontFamily;data.Label.FontSize=this.drawingLayer.features[j].style.fontSize;data.Label.Description=this.drawingLayer.features[j].data.description;data.Label.FontWeight=this.drawingLayer.features[j].style.fontWeight;data.Label.Text=this.drawingLayer.features[j].style.label;redLines.push(data);}}
returnObj.redLines=redLines;returnObj.labels=labels;return returnObj;};Ext.namespace('FGI','FGI.widgets','FGI.config');FGI.config.Tasks={configItems:[]};FGI.widgets.Tasks=Ext.extend(Ext.Panel,{configItems:[],highlightHeaderCls:'x-accordion-hd-focus',add:function(panel){this.applyCloseTool(panel);if(panel.id){panel.on('expand',function(panel){panel.header.addClass(this.highlightHeaderCls);},this);panel.on('collapse',function(panel){panel.header.removeClass(this.highlightHeaderCls);},this);}
FGI.widgets.Tasks.superclass.add.apply(this,arguments);},addPanel:function(panel){this.add(panel);this.doLayout(true);},closePanel:function(panelId){panel=this.getComponent(panelId);panel.ownerCt.remove(panel,true);this.doLayout(true);},expandPanel:function(panelId){panel=this.getComponent(panelId);panel.expand();},collapsePanel:function(panelId){panel=this.getComponent(panelId);panel.collapse();},applyCloseTool:function(panel){if(panel.closable){if(!panel.tools){panel.tools=[];}
panel.tools.push({id:'close',handler:function(e,target,panel){parent=panel.ownerCt;parent.remove(panel,true);parent.doLayout(true);}});}},initComponent:function(){Ext.apply(this,{layout:'accordion',border:false,items:this.configItems});Ext.each(this.configItems,function(item,index,allItems){this.applyCloseTool(item);},this);FGI.widgets.Tasks.superclass.initComponent.apply(this,arguments);},doLayout:function(){this.setHeight(this.getSize().height+1);FGI.widgets.Tasks.superclass.doLayout.apply(this,arguments);}});Ext.namespace('FGI','FGI.widgets');FGI.widgets.Search=Ext.extend(Ext.form.FormPanel,{searchGroups:[],pageSize:10,fieldLabel:'Search',hideLabel:false,comboWidth:390,loadingText:'Searching...',width:470,labelWidth:50,labelAlign:'left',frame:true,bodyStyle:'padding:5px 5px 0',autoHeight:true,defaultType:'textfield',cls:'fgi-search-box',cancelQuery:false,addGoogleSearch:false,googleLinkText:'Google Address Search',googleEmptyText:'Google Address search...',googleHandler:function(combo,record,index){window.open('http://maps.google.com/?q='+record.data.address,'Search Result');},googleTriggerHandler:function(combo){recordCount=combo.store.getCount();if(recordCount>=1){Ext.Msg.alert('Record Count',recordCount);}},googleSearchItemTemplate:new Ext.XTemplate('<tpl for="."><div class="search-item"><table>','<td><h3>{address}</h3></td>','</table></div></tpl>'),defaultTriggerHandler:function(){Ext.Msg.alert('You clicked the search trigger');},triggerClass:'x-form-trigger x-form-search-trigger',reconfigureComboBox:function(combo,config,triggerSequence){combo.onTriggerClick=triggerSequence;Ext.apply(combo,config.comboConfig);Ext.override(Ext.PagingToolbar,{paramNames:{start:config.startParam,limit:config.limitParam}});combo.getParams=function(q){var p={};if(this.pageSize){p[config.startParam]=0;p[config.limitParam]=this.pageSize;}
return p;};combo.on('select',function(combo,record,index){config.onSelect(combo,record,index);this.ownerCt.onSearchItemSelected(combo,record,index,config.comboConfig.searchType);});},turnDropDownOff:function(){this.ComboBox.on('beforequery',this.cancelFunc);this.enterKeyMap.enable();},turnDropDownOn:function(){this.ComboBox.un('beforequery',this.cancelFunc);this.enterKeyMap.disable();},initComponent:function(){this.addEvents({'searchbuttonclicked':true,'searchitemselected':true,'searchtypeselected':true});this.onSearchButtonClick=function(){this.fireEvent('searchbuttonclicked',this.ComboBox.getValue(),this.ComboBox);};this.onSearchItemSelected=function(combo,record,index,searchType){this.fireEvent('searchitemselected',combo,record,index,searchType);};this.ComboBox=new Ext.form.ComboBox({fieldLabel:this.fieldLabel,hideLabel:this.hideLabel,name:this.comboName,id:this.comboId,typeAhead:false,scope:this,loadingText:this.loadingText,selectOnFocus:true,triggerClass:this.triggerClass,onTriggerClick:this.defaultTriggerHandler,pageSize:this.pageSize,enableKeyEvents:true});this.ComboBox.on('focus',function(){if(this.ComboBox.isExpanded()==false){value=this.ComboBox.getValue();this.ComboBox.doQuery(value,false);}},this);Ext.apply(this,{defaults:{width:this.comboWidth},items:[this.ComboBox]});markers=false;var GoogleSearch={name:this.googleLinkText,iconCls:'fgi-google-search',onSelect:this.googleHandler,onTriggerClick:this.googleTriggerHandler.createDelegate(this,[this.ComboBox]),comboConfig:{searchType:'google',emptyText:this.googleEmptyText,itemSelector:'div.search-item',tpl:this.googleSearchItemTemplate,queryParam:'q',store:new Ext.data.Store({proxy:new Ext.data.ScriptTagProxy({url:'http://maps.google.com/maps/geo?output=json&oe=utf-8&'}),reader:new Ext.data.JsonReader({root:'Placemark'},[{name:'id',mapping:'id'},{name:'address',mapping:'address'},{name:'AddressDetails',mapping:'AddressDetails'},{name:'Point',mapping:'Point'},{name:'ExtendedData',mapping:'ExtendedData'}])})}};if(this.searchGroups.length==0){this.addGoogleSearch=true;}
if(this.addGoogleSearch){this.searchGroups.push(GoogleSearch);}
this.cancelFunc=function(queryEvent){queryEvent.cancel=true;};this.on('afterLayout',function(){this.enterKeyMap=new Ext.KeyMap(this.ComboBox.el.dom,{key:Ext.EventObject.ENTER,fn:this.onSearchButtonClick,scope:this});this.enterKeyMap.disable();Ext.each(this.searchGroups,function(item,index,allItems){if(item.isDefault==true||index==0){if(item.cancelQuery){this.ComboBox.on('beforequery',this.cancelFunc);this.enterKeyMap.enable();}}},this);},this);Ext.each(this.searchGroups,function(item,index,allItems){var triggerSequence=this.onSearchButtonClick.createSequence(item.onTriggerClick||this.defaultTriggerHandler,this);triggerSequence=triggerSequence.createDelegate(this);if(item.startParam==undefined){item.startParam='start';}
if(item.limitParam==undefined){item.limitParam='limit';}
if(item.isDefault==true||index==0){this.reconfigureComboBox(this.ComboBox,item,triggerSequence);}
if(this.searchGroups.length>1){if(item.icon==undefined&&item.iconCls==undefined){customClass='fgi-search-btn';}
else{customClass='x-btn-text-icon fgi-search-btn';}
var id=Ext.id();if(item.btnId!=undefined){id=item.btnId;}
this.addButton({id:id,text:item.name,scope:this,cls:customClass,icon:item.icon,iconCls:item.iconCls,toggleGroup:'tg',enableToggle:true,allowDepress:false,pressed:item.isDefault,tooltip:item.tooltip},function(){theComboBox=Ext.getCmp(this.ComboBox.id);theComboBox.store.removeAll();theComboBox.list=false;theComboBox.events['select'].clearListeners();this.reconfigureComboBox(theComboBox,item,triggerSequence);theComboBox.clearValue();theComboBox.initList();if(item.cancelQuery){theComboBox.on('beforequery',this.cancelFunc);this.enterKeyMap.enable();}else{theComboBox.un('beforequery',this.cancelFunc);this.enterKeyMap.disable();}
this.fireEvent('searchtypeselected',theComboBox,theComboBox.searchType);});}},this);FGI.widgets.Search.superclass.initComponent.apply(this,arguments);}});Ext.namespace('FGI','FGI.widgets');FGI.widgets.SearchResults=Ext.extend(Ext.grid.GridPanel,{searchResultTypes:[],title:'Search Results',autoWidth:true,pageSize:10,viewConfig:{forceFit:true},loadMask:true,expanderLoadingText:'Loading ...',sortLabel:'Sort By:',sortTooltipConfig:{text:'Click here to sort search results',title:'Sort Results'},printButtonText:'Print Page',exportButtonText:'Export Results',clearButtonText:'Clear Search',optionsButtonText:'Options',printPage:null,exportResultsToCsv:null,showTopToolbar:true,cls:'grid-no-header',initComponent:function(){this.addEvents({'rowselected':true,'afterupdate':true,'clear':true});this.store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:"",method:'GET'}),autoLoad:false});this.store.on('load',this.onAfterUpdate,this);this.store.on('add',this.onAfterUpdate,this);this.relayEvents(this.store,['clear']);this.pagingBar=new Ext.PagingToolbar({pageSize:this.pageSize,store:this.store});this.sortButton=new Ext.Button({text:'',cls:'button',tooltip:this.sortTooltipConfig,menu:{items:[{text:''}]},disabled:true,hidden:true});this.printButton=new Ext.menu.Item({text:this.printButtonText,handler:this.printPage,scope:this,disabled:true});this.exportButton=new Ext.menu.Item({text:this.exportButtonText,handler:this.exportResultsToCsv,scope:this,disabled:true});this.clearButton=new Ext.menu.Item({text:this.clearButtonText,handler:function(){this.clear();},scope:this,disabled:false});var menuItems=[];this.printPage!=null?menuItems.push(this.printButton):null;this.exportResultsToCsv!=null?menuItems.push(this.exportButton):null;menuItems.push(this.clearButton);this.toolsButton=new Ext.SplitButton({text:this.optionsButtonText,menu:new Ext.menu.Menu({items:menuItems})});Ext.apply(this,{border:false,Expander:new FGI.grid.DynamicRowExpander({autoLoad:{url:'',idField:''},loadingText:this.expanderLoadingText}),enableHdMenu:false,remoteUrl:'',sortField:'',bbar:this.pagingBar,tbar:new Ext.Toolbar({hidden:!this.showTopToolbar,items:['<span>'+this.sortLabel+'</span>',this.sortButton,'->',this.toolsButton]})});for(var searchType in this.searchResultTypes){if(this.searchResultTypes[searchType].isDefault){this.colModel=this.configureColumnModel(this.searchResultTypes[searchType].title,'address',this.searchResultTypes[searchType].titleRenderer);this.store.reader=this.searchResultTypes[searchType].reader;this.setSortFields(searchType);this.searchType=this.searchResultTypes[searchType].type;break;}}
this.plugins=this.Expander;FGI.widgets.SearchResults.superclass.initComponent.apply(this,arguments);},clear:function(){this.store.removeAll();this.resetPagingToolbar();},setSearchType:function(type){var found=false;for(var searchType in this.searchResultTypes){if(this.searchResultTypes[searchType].type==type){this.clear();this.searchType=type;this.Expander.autoLoad.url=this.searchResultTypes[searchType].expanderUrl;this.Expander.autoLoad.idField=this.searchResultTypes[searchType].expanderIdField;this.cm=this.configureColumnModel(this.searchResultTypes[searchType].title,'address',this.searchResultTypes[searchType].titleRenderer);this.store.reader=this.searchResultTypes[searchType].reader;this.reconfigure(this.store,this.cm);this.setSortFields(searchType);found=true;break;}}
if(!found){throw("FGI Error in FGI.widgets.SearchResults: Matching search results type not found for : "+type);}},doSearch:function(url){this.expand();this.remoteUrl=url;this.store.proxy.conn.url=url+'&sortby='+this.sortField;var pagingToolbar=this.getBottomToolbar();pagingToolbar.bind(this.getStore());pagingToolbar.changePage(1);},addRecords:function(records,url){this.expand();this.store.removeAll();this.store.add(records);this.store.proxy.conn.url=url+'&sortby='+this.sortField;this.remoteUrl=url;this.resetPagingToolbar();},resetPagingToolbar:function(){var pagingToolbar=this.getBottomToolbar();pagingToolbar.cursor=0;pagingToolbar.afterTextEl.el.innerHTML='of 1';pagingToolbar.field.dom.value=1;pagingToolbar.first.setDisabled(true);pagingToolbar.prev.setDisabled(true);pagingToolbar.next.setDisabled(true);pagingToolbar.last.setDisabled(true);},configureColumnModel:function(colheader,titleIndex,titleRenderer){return new Ext.grid.ColumnModel([this.Expander,{id:'resultscolheader',header:colheader,width:250,sortable:true,dataIndex:titleIndex,renderer:titleRenderer}]);},onAfterUpdate:function(){this.fireEvent('afterupdate',this.searchType,this.store.data);if(this.store.data.length>0){this.printButton.enable();this.exportButton.enable();this.sortButton.enable();}else{this.sortButton.disable();this.exportButton.disable();this.printButton.disable();}},setSortFields:function(searchType){if(this.searchResultTypes[searchType].sortFields.length>0){this.sortButton.show();this.sortButton.menu.removeAll();for(var item=0;item<this.searchResultTypes[searchType].sortFields.length;item++){var sortField=this.searchResultTypes[searchType].sortFields[item];var menuItem=this.sortButton.menu.addMenuItem({text:sortField.text});var createHandler=function(searchType,item){return function(){this.sortButton.setText(this.searchResultTypes[searchType].sortFields[item].text);this.sortField=this.searchResultTypes[searchType].sortFields[item].id;this.doSearch(this.remoteUrl);};};menuItem.setHandler(createHandler(searchType,item),this);if(item==0||sortField.isDefault){this.sortButton.setText(sortField.text);this.sortField=sortField.id;}}}else{this.sortButton.hide();this.sortField='';}}});Ext.namespace('FGI','FGI.widgets');FGI.widgets.Reports=Ext.extend(Ext.Panel,{titlePrefix:'Reports',titleSeparator:'|',currentPanel:null,crumbSeparator:' > ',defaultPanel:new Ext.Panel({html:''}),removeCrumbsOnClick:true,expandOnCrumbClick:true,breadCrumbMgr:[],resetTitle:function(){this.setTitle(this.titlePrefix+' '+this.titleSeparator+' ');},renderCrumb:function(index,breadcrumb){this.split=index+1;if(index>0){this.collapsedTitleEl.createChild({tag:'span',html:this.crumbSeparator});this.headerEl.createChild({tag:'span',html:this.crumbSeparator});}
var removeQuantity=this.breadCrumbMgr.length-(index+1);var breadCrumbTitle=typeof(breadcrumb.title)=="string"?breadcrumb.title:breadcrumb.title.name;var collapsedButtonAction=new Ext.Action({reportObj:this,index:index,cls:'fgi-search-btn breadcrumb',id:'breadcrumb-collapsed-'+index,breadCrumb:breadcrumb,text:breadCrumbTitle,renderTo:this.collapsedTitleEl.id,handler:function(){this.reportObj.fireEvent('breadcrumbselected',this.breadCrumb,this.reportObj);if(this.removeCrumbsOnClick){this.reportObj.removeBreadCrumb(removeQuantity);}
if(this.breadCrumb.action){this.breadCrumb.action.execute();}}});var collapsedCrumb=new FGI.component.LinkButton(collapsedButtonAction);var headerButtonAction=new Ext.Action({reportObj:this,index:index,cls:'fgi-search-btn breadcrumb',id:'breadcrumb-expanded-'+index,breadCrumb:breadcrumb,text:breadCrumbTitle,renderTo:this.headerEl.id,handler:function(){this.reportObj.fireEvent('breadcrumbselected',this.breadCrumb,this.reportObj);if(this.removeCrumbsOnClick){this.reportObj.removeBreadCrumb(removeQuantity);}
if(this.breadCrumb.action){this.breadCrumb.action.execute();}}});var expandedCrumb=new FGI.component.LinkButton(headerButtonAction);},renderCrumbs:function(){this.resetTitle();Ext.each(this.breadCrumbMgr,function(item,index,allItems){this.renderCrumb(index,item);},this);this.showReport();},showReport:function(){this.remove(this.currentPanel.id,true);if(this.breadCrumbMgr.length>0){this.currentPanel=this.breadCrumbMgr[this.breadCrumbMgr.length-1].panel;}else{this.currentPanel=this.defaultPanel;}
this.add(this.currentPanel);this.doLayout();this.highlightCrumb(this.breadCrumbMgr.length-1);},showReportByIndex:function(index){this.currentPanel.hide();this.currentPanel=this.breadCrumbMgr[index].panel;if(this.currentPanel.rendered){this.currentPanel.show();}
else{this.add(this.currentPanel);}
this.doLayout();this.highlightCrumb(index);},highlightCrumb:function(index){$('#'+this.headerEl.id+' > a,#'+this.collapsedTitleEl.id+' > a').removeClass('selectedcrumb');$('#breadcrumb-collapsed-'+index+',#breadcrumb-expanded-'+index).addClass('selectedcrumb');},addBreadCrumb:function(title,action,panel){this.addBreadCrumbToMgr(title,action,panel);var index=this.breadCrumbMgr.length-1;this.renderCrumb(index,this.breadCrumbMgr[index]);this.showReport();},addBreadCrumbs:function(crumbs){Ext.each(crumbs,function(item,index,allItems){this.addBreadCrumbToMgr(item.title,item.action,item.panel);},this);this.renderCrumbs();},addBreadCrumbToMgr:function(title,action,panel){breadcrumb={title:title,action:action,panel:panel};this.breadCrumbMgr.push(breadcrumb);},removeBreadCrumb:function(quantity){if(quantity==0){return;}
if(!quantity){quantity=1;}
for(i=0;i<quantity;i++){this.breadCrumbMgr.pop();}
this.renderCrumbs();},removeAllBreadCrumbs:function(){quantity=this.breadCrumbMgr.length;for(i=0;i<quantity;i++){this.breadCrumbMgr.pop();}
this.renderCrumbs();},initComponent:function(){this.addEvents({'breadcrumbselected':true});this.currentPanel=this.defaultPanel;Ext.apply(this,{layout:'fit',items:this.currentPanel,style:'z-index:10000'});this.setTitle(this.titlePrefix+' '+this.titleSeparator+' ');if(this.expandOnCrumbClick&&this.collapsible){this.on('breadcrumbselected',this.expand,this);}
FGI.widgets.Reports.superclass.initComponent.apply(this,arguments);},onRender:function(a){FGI.widgets.Reports.superclass.onRender.apply(this,arguments);if(this.collapsible){var r=this.region;if((r=='north')||(r=='south')){var ct=this.ownerCt;var layoutTitle=function(){if(ct.layout[r].collapsedEl&&!this.collapsedTitleEl){this.collapsedTitleEl=ct.layout[r].collapsedEl.createChild({tag:'span',cls:'x-panel-collapsed-text',html:this.title});this.setTitle=Ext.Panel.prototype.setTitle.createSequence(function(t)
{this.collapsedTitleEl.dom.innerHTML=t;});}
if(Ext.isIE){this.headerEl=new Ext.Element(this.header.dom.children[1]);}else{this.headerEl=new Ext.Element($(this.header.dom).children()[1]);}};ct.on('afterlayout',layoutTitle,this,{single:true});}}}});Ext.namespace('FGI','FGI.widgets','FGI.config');FGI.config.FormWizard={configItems:[]};FGI.widgets.FormWizard=Ext.extend(Ext.FormPanel,{configItems:[],hideNextLabel:false,nextButtonTextTemplate:'<span style="padding-right:20px;"><span style="padding-right:5px;">Next: {title}</span><img src="Media/images/silk/icons/arrow_right.png" style="position: absolute; top:5px"/></span>',backButtonTextTemplate:'<span><img src="Media/images/silk/icons/arrow_left.png" style="position: absolute; top:5px"/><span style="padding-left:25px;">Previous: {title}</span></span>',labelTextTemplate:'{title}',submitBtnText:'Save',cancelBtnText:'Cancel',submitHandler:function(){Ext.Msg.alert('Submit Successful','Your form has been submitted.');},cancelHandler:function(){this.ownerCt.close();},initTemplates:function(){this.nextButtonTextTemplate=new Ext.Template(this.nextButtonTextTemplate);this.nextButtonTextTemplate=this.nextButtonTextTemplate.compile();this.backButtonTextTemplate=new Ext.Template(this.backButtonTextTemplate);this.backButtonTextTemplate=this.backButtonTextTemplate.compile();this.labelTextTemplate=new Ext.Template(this.labelTextTemplate);this.labelTextTemplate=this.labelTextTemplate.compile();},getButtonText:function(titleObj,template){return template.applyTemplate(titleObj);},setButtonState:function(){if(this.backItems[0]){this.backButton.show();this.backButton.setText(this.getButtonText({title:this.backItems[0].title},this.backButtonTextTemplate));}else{this.backButton.hide();}
this.currentLabel.setText(this.getButtonText({title:this.currentItem.title},this.labelTextTemplate));if(this.nextItems[0]){this.nextButton.show();this.nextButton.setText(this.getButtonText({title:this.nextItems[0].title},this.nextButtonTextTemplate));if(this.hideNextLabel==true){this.nextLabel.hide();}
else{this.nextLabel.show();}
this.nextLabel.setText('Next: '+this.getButtonText({title:this.nextItems[0].title},this.labelTextTemplate));}else{this.nextButton.hide();this.nextLabel.hide();}
if(this.currentItem.enableSubmit){this.submitButton.enable();}
else{this.submitButton.disable();}},stepForward:function(){if(this.currentItem.validationHandler()){this.backItems.unshift(this.currentItem);this.currentItem=this.nextItems.shift();this.wizardTabs.setActiveTab(this.currentItem.id);this.setButtonState();}},stepBackward:function(){this.nextItems.unshift(this.currentItem);this.currentItem=this.backItems.shift();this.wizardTabs.setActiveTab(this.currentItem.id);this.setButtonState();},initComponent:function(){this.addEvents({'beforecancel':true,'beforesubmit':true});this.backItems=[];this.nextItems=this.configItems.slice();this.currentItem=this.nextItems.shift();this.initTemplates();this.wizardTabs=new Ext.TabPanel({items:this.configItems,id:'wizardtabs',border:false,activeTab:0,cls:'wizardtabs',plain:true});this.nextButton=new Ext.Button({text:'Next >',id:'nextbutton',scope:this,minWidth:75,handler:this.stepForward});this.backButton=new Ext.Button({text:'',id:'backbutton',scope:this,minWidth:75,handler:this.stepBackward});this.submitButton=new Ext.Button({text:this.submitBtnText,id:'submitbutton',scope:this,minWidth:75,handler:function(){if(this.currentItem.validationHandler()){this.submitHandler();}}});this.cancelButton=new Ext.Button({text:this.cancelBtnText,id:'cancelbutton',scope:this,minWidth:75,handler:function(){if(this.fireEvent('beforecancel',this.form)==true){this.cancelHandler();}}});this.currentLabel=new Ext.Button({text:'',disabled:true,disabledClass:'wizard-current-label',style:'cursor:default!important;'});this.nextLabel=new Ext.Button({text:'',disabled:true,cls:'wizard-next-label'});this.setButtonState();if(this.configItems.length<2){this.buttonBar=null;this.toolBar=this.currentItem.title!=''?[this.currentLabel]:null;this.submitButton.enable();}else{this.buttonBar=[this.backButton,'->',this.nextButton];this.toolBar=[this.currentLabel,'->',this.nextLabel];}
Ext.apply(this,{items:this.wizardTabs,layout:'fit',keys:{key:Ext.EventObject.ENTER,fn:this.stepForward.createDelegate(this)},buttons:[this.cancelButton,this.submitButton],tbar:this.toolBar,bbar:this.buttonBar});FGI.widgets.FormWizard.superclass.initComponent.apply(this,arguments);}});Ext.namespace('FGI','FGI.config','FGI.config.Map');Ext.namespace('FGI','FGI.widgets');FGI.widgets.Map=Ext.extend(mapfish.widgets.MapComponent,{id:'map',layout:'fit',region:'center',border:false,buttonAlign:'right',baseToggled:false,numZoomLevels:20,useGoogle:true,useBing:false,initComponent:function(){this.map.numZoomLevels=this.map.numZoomLevels?this.map.numZoomLevels:this.numZoomLevels;if(this.useGoogle){this.map.GoogleTerrain=new OpenLayers.Layer.Google("Google Physical",{type:google.maps.MapTypeId.TERRAIN,'sphericalMercator':true,projection:new OpenLayers.Projection("EPSG:900913")});this.map.GoogleSat=new OpenLayers.Layer.Google("Google Satellite",{type:google.maps.MapTypeId.SATELLITE,numZoomLevels:this.map.numZoomLevels,'sphericalMercator':true,projection:new OpenLayers.Projection("EPSG:900913")});this.map.GoogleStreets=new OpenLayers.Layer.Google("Google Streets",{numZoomLevels:this.map.numZoomLevels,'sphericalMercator':true,projection:new OpenLayers.Projection("EPSG:900913")});this.map.GoogleHybrid=new OpenLayers.Layer.Google("Google Hybrid",{type:google.maps.MapTypeId.HYBRID,numZoomLevels:this.map.numZoomLevels,'sphericalMercator':true,projection:new OpenLayers.Projection("EPSG:900913")});}
if(this.useBing){this.map.BingStreets=new OpenLayers.Layer.VirtualEarth("Bing Streets",{'sphericalMercator':true,type:VEMapStyle.Shaded,MIN_ZOOM_LEVEL:this.map.min_zoom_level,numZoomLevels:this.map.numZoomLevels,animationEnabled:false,projection:new OpenLayers.Projection("EPSG:900913"),wrapDateLine:true});this.map.BingHybrid=new OpenLayers.Layer.VirtualEarth("Bing Hybrid",{'sphericalMercator':true,type:VEMapStyle.Hybrid,MIN_ZOOM_LEVEL:this.map.min_zoom_level,numZoomLevels:this.map.numZoomLevels,animationEnabled:false});this.map.BingAerial=new OpenLayers.Layer.VirtualEarth("Bing Aerial",{'sphericalMercator':true,type:VEMapStyle.Aerial,MIN_ZOOM_LEVEL:this.map.min_zoom_level,numZoomLevels:this.map.numZoomLevels,animationEnabled:false});}
OpenLayers.IMAGE_RELOAD_ATTEMPTS=3;OpenLayers.Tile.Image.useBlankTile=true;OpenLayers.Util.onImageLoadError=function(){};this.map.addControl(new OpenLayers.Control.PanZoomBar());this.map.refreshWMSLayer=function(layername){var layer=this.getLayersByName(layername)[0];if(!layer){return;}
if(layer.CLASS_NAME=="OpenLayers.Layer.WMS"){var node=document.getElementById(layer.div.id);$(node).find('img').each(function(){var origsrc=this.src;this.src='';this.src=origsrc+'&_nc=alsd';});}};FGI.widgets.Map.superclass.initComponent.apply(this,arguments);},onRender:function(){this.map.events.register('changebaselayer',this,function(){this.setWidth(this.getSize().width+1);this.setWidth(this.getSize().width-1);});FGI.widgets.Map.superclass.onRender.apply(this,arguments);}});Ext.reg('fgi-widgets-map',FGI.widgets.Map);Ext.namespace('FGI','FGI.widgets');FGI.widgets.LoginForm=Ext.extend(Ext.form.FormPanel,{url:'',frame:true,title:'Sign In',usernameLabel:'Login',passwordLabel:'Password',passwordReminderText:'Help I forgot my password!',passwordErrorText:'Please confirm your username and password',loginMaskText:'Logging you in...',loginButtonText:'Login',cancelButtonText:'Cancel',hideOnPasswordHelpClicked:true,redirectToOnCancel:null,initComponent:function(){this.addEvents({'passwordhelpclicked':true,'loginsucceeded':true});var submitAction={text:this.loginButtonText,scope:this,handler:function(){var mask=new Ext.LoadMask(this.ownerCt.getEl(),{msg:this.loginMaskText});mask.show();this.buttons[0].disable();this.form.submit({url:this.url,method:'POST',scope:this,success:function(theForm,responseObj){mask.hide();theForm.findField('password').setValue('');this.buttons[0].enable();this.ownerCt.hide();this.fireEvent('loginsucceeded',responseObj);},failure:function(theForm,responseObj){mask.hide();theForm.findField('password').setValue('');this.buttons[0].enable();if(responseObj.failureType=='client'){alert(this.passwordErrorText);}else{alert(responseObj.result.message);}},scope:this});}};var cancelAction={text:this.cancelButtonText,scope:this,handler:function(){if(this.redirectToOnCancel===null){this.ownerCt.hide();}else{window.location=this.redirectToOnCancel;}}};var keyAction={key:Ext.EventObject.ENTER,fn:submitAction.handler,scope:this};Ext.apply(this,{defaults:{msgTarget:'side'},defaultType:'textfield',bodyStyle:'padding:5px 5px 0',buttons:[submitAction,cancelAction],keys:[keyAction],items:[{fieldLabel:this.usernameLabel,name:'name',allowBlank:false},{fieldLabel:this.passwordLabel,name:'password',allowBlank:false,inputType:'password'},new FGI.component.LinkButton({text:this.passwordReminderText,scope:this,handler:function(){this.fireEvent('passwordhelpclicked',this);if(this.hideOnPasswordHelpClicked){this.ownerCt.hide();}}})]});FGI.widgets.LoginForm.superclass.initComponent.apply(this,arguments);},onRender:function(ct,position){FGI.widgets.LoginForm.superclass.onRender.apply(this,arguments);var form=this.getForm();setTimeout(function(){var field=form.findField('name');if(field){field.focus();}},1000);}});Ext.namespace('FGI','FGI.widgets');FGI.widgets.PasswordChangeForm=Ext.extend(Ext.form.FormPanel,{url:'',frame:true,title:'Change Your Password',descriptiveText:'<h1>Want to change your password?</h1><p style="margin-bottom:15px;">Enter your old and new passwords below, and we\'ll email your new password to the email address we have on file.</p>',oldPasswordLabel:'Enter your old password',newPasswordLabel:'Enter your new password',confirmNewPasswordLabel:'Confirm your new password',submitBtnText:'Change my password',cancelBtnText:'Cancel',errorMsgPwdMismatchTitle:'There was a problem changing your password',changePwdWaitMask:'Changing your password...',changeSecurityQuestion:false,autoScroll:true,initComponent:function(){this.addEvents({'passwordchanged':true});var submitAction={text:this.submitBtnText,scope:this,handler:function(){var mask=new Ext.LoadMask(this.getEl(),{msg:this.changePwdWaitMask});mask.show();this.buttons[0].disable();this.form.submit({url:this.url,method:'POST',success:function(theForm,responseObj){mask.hide();this.buttons[0].enable();this.ownerCt.close();this.fireEvent('passwordchanged',responseObj);Ext.Msg.alert('Password Changed!','An email with your new password has been sent to you.');},failure:function(theForm,responseObj){mask.hide();if(responseObj.result){Ext.Msg.alert(this.errorMsgPwdMismatchTitle,responseObj.result.message);}else{Ext.Msg.alert('','Please correct any errors in the form.');}
this.buttons[0].enable();},scope:this});}}
var cancelAction={text:this.cancelBtnText,scope:this,handler:function(){this.ownerCt.close();}}
var keyAction={key:Ext.EventObject.ENTER,fn:submitAction.handler,scope:this}
if(this.changeSecurityQuestion==true){Ext.apply(this,{bodyStyle:'padding:5px 5px 0',labelWidth:150,defaults:{msgTarget:'side'},defaultType:'textfield',buttons:[submitAction],keys:[keyAction],items:[{xtype:'container',autoEl:{html:'<h1>Please create a security question</h1><p style="margin-bottom:15px;">If you forget you password, you will need to be able to answer this question in order to access your account.</p>'}},{fieldLabel:'Enter a question',name:'security_question',allowBlank:false},{fieldLabel:'Enter an answer',name:'question_answer',allowBlank:false},{xtype:'container',autoEl:{html:this.descriptiveText}},{fieldLabel:this.oldPasswordLabel,name:'password_old',allowBlank:false,inputType:'password'},{fieldLabel:this.newPasswordLabel,name:'password_new',allowBlank:false,inputType:'password'},{fieldLabel:this.confirmNewPasswordLabel,name:'password_confirm',allowBlank:false,inputType:'password'}]});}
else{Ext.apply(this,{bodyStyle:'padding:5px 5px 0',labelWidth:150,defaults:{msgTarget:'side'},defaultType:'textfield',buttons:[submitAction,cancelAction],keys:[keyAction],items:[{xtype:'container',autoEl:{html:this.descriptiveText}},{fieldLabel:this.oldPasswordLabel,name:'password_old',allowBlank:false,inputType:'password'},{fieldLabel:this.newPasswordLabel,name:'password_new',allowBlank:false,inputType:'password'},{fieldLabel:this.confirmNewPasswordLabel,name:'password_confirm',allowBlank:false,inputType:'password'}]});}
FGI.widgets.PasswordChangeForm.superclass.initComponent.apply(this,arguments);},onRender:function(ct,position){FGI.widgets.PasswordChangeForm.superclass.onRender.apply(this,arguments);var form=this.getForm();setTimeout(function(){var field=form.findField('password_old');if(field){field.focus();}},1000);}});Ext.namespace('FGI','FGI.widgets');FGI.widgets.PasswordResetForm=Ext.extend(Ext.form.FormPanel,{url:'',frame:true,requireQuestionAnswer:false,title:'Reset Password',submitBtnText:'Submit Username',resetPwdBtnText:'Reset my password',cancelBtnText:'Cancel',userNamePromptLabel:'Enter your username',securityQuestionLabel:'Question: ',descriptiveText:'<h1>Did you forget your password?</h1><p style="margin-bottom:15px;">Enter your username below, and we\'ll email a NEW password to the email address we have on file.</p>',getSecurtyQuestionMask:'Retrieving question...',resettingPwdMask:'Resetting your password...',resetSuccessMsg:'An email with your new password has been sent to you.',resetErrorMsg:'There was a problem resetting your password',formErrorMsg:'Please correct any errors in the form.',initComponent:function(){this.addEvents({'passwordreset':true});var submitAction={text:this.submitBtnText,scope:this,handler:function(){var questionAnswerobj=this.getForm().findField('questionanswer');var questionIdobj=Ext.getCmp('questionid');var mask=null;if(questionAnswerobj.hidden){mask=new Ext.LoadMask(this.getEl(),{msg:this.getSecurtyQuestionMask});}
else{mask=new Ext.LoadMask(this.getEl(),{msg:this.resettingPwdMask});}
mask.show();this.buttons[0].disable();this.form.submit({url:this.url,method:'POST',success:function(theForm,responseObj){mask.hide();this.buttons[0].enable();if(this.requireQuestionAnswer&&questionAnswerobj.hidden){questionAnswerobj.show();questionAnswerobj.allowBlank=false;var question=this.securityQuestionLabel+responseObj.result.message;$("#questionid").html(question);questionIdobj.setVisible(true);this.buttons[0].setText(this.resetPwdBtnText);return;}
this.ownerCt.close();this.fireEvent('passwordreset',responseObj);Ext.Msg.alert('Password Reset!',this.resetSuccessMsg);},failure:function(theForm,responseObj){mask.hide();if(responseObj.result){Ext.Msg.alert(this.resetErrorMsg,responseObj.result.message);this.ownerCt.close();}else{Ext.Msg.alert('',this.formErrorMsg);this.buttons[0].enable();}},scope:this});}}
var cancelAction={text:this.cancelBtnText,scope:this,handler:function(){this.ownerCt.close();}}
var keyAction={key:Ext.EventObject.ENTER,fn:submitAction.handler,scope:this}
Ext.apply(this,{bodyStyle:'padding:5px 5px 0',labelWidth:150,defaults:{msgTarget:'side'},defaultType:'textfield',buttons:[submitAction,cancelAction],keys:[keyAction],items:[{xtype:'container',autoEl:{html:this.descriptiveText}},{fieldLabel:this.userNamePromptLabel,name:'username',allowBlank:false},{xtype:'container',id:'questionid',style:'margin-bottom: 5px;',hidden:true,autoEl:{html:this.securityQuestionLabel}},{name:'questionanswer',hidden:true,hideLabel:true,width:220}]});FGI.widgets.PasswordResetForm.superclass.initComponent.apply(this,arguments);},onRender:function(ct,position){FGI.widgets.PasswordResetForm.superclass.onRender.apply(this,arguments);var form=this.getForm();setTimeout(function(){var field=form.findField('username');if(field){field.focus();}},1000);}});Ext.namespace('FGI','FGI.widgets','FGI.config');FGI.widgets.PhotoUpload=Ext.extend(FGI.widgets.FormWizard,{uploadParams:{},uploadUrl:'',updateCaptionUrl:'',updateCaptionParams:{},validExtensions:['jpg','tif','tiff','bmp','gif','JPG','TIF','TIFF','BMP','GIF'],uploadStepTitle:'Upload Photos',addCaptionsStepTitle:'Add Captions',photosToAddMsg:'The following photos will be added',statusHeader:'Status',fileNameHeader:'File Name',removeHeader:'Remove?',filesToLoadMsg:'file(s) to load',loadingFile:'Loading File',loadingFileOf:'of',uploadComplete:'Upload Complete',browseBtnText:'Browse',uploadBtnText:'Upload',invalidFileTitle:'Invalid File Type',invalidFileMsg:'The file you are trying to add does not appear to be a valid photo.  Please try again with another file type.',submitFileMsg:'Please add at least one new file before submitting.',uploadFailureMsg:'{0} file(s) failed to upload.  Hover over the status icon to to view the error message.',uploadMask:'Uploading Photo Caption and Descriptions...',isValidExtension:function(extension){var i=this.validExtensions.length;while(i--){if(this.validExtensions[i]===extension){return true;}}
return false;},appendRow:function(fileid,filename,size){Ext.DomHelper.append('photo-grid-body',{id:fileid+'-row',tag:'div',style:'width: 673px',children:[{tag:'table',cellspacing:'0',cellpadding:'0',border:'0',style:'width: 673px',cls:'x-grid3-row-table',children:[{tag:'tbody',children:[{tag:'tr',children:[{tag:'td',tabindex:'0',style:'width: 66px;',cls:'x-grid3-col x-grid3-cell x-grid3-td-0 x-grid3-cell-first',children:[{id:fileid+'-status',tag:'div',unselectable:'on',cls:'x-grid3-cell-inner x-grid3-col-0',html:''}]},{tag:'td',tabindex:'0',style:'width: 506px;',cls:'x-grid3-col x-grid3-cell x-grid3-td-0 x-grid3-cell-2',children:[{tag:'div',unselectable:'on',cls:'x-grid3-cell-inner x-grid3-col-0',html:filename}]},{tag:'td',tabindex:'0',style:'width: 103px;',cls:'x-grid3-col x-grid3-cell x-grid3-td-0 x-grid3-cell-last',children:[{id:fileid+'-remove',tag:'div',style:'padding-left: 15px',unselectable:'on',cls:'x-grid3-cell-inner x-grid3-col-0',html:"<div id='delete-"+fileid+"'/>"}]}]}]}]}]});new Ext.Button({text:'Remove',applyTo:'delete-'+fileid,handler:function(){this.deleteRow(fileid);},scope:this});document.getElementById("filestoload").innerHTML=this.forms.length;this.pbar.hide();this.errorMsg.hide();},changeStatus:function(fileid,status){var statuscell=document.getElementById(fileid+'-status');statuscell.innerHTML=status;},deleteRow:function(fileid){var row=document.getElementById(fileid+'-row');var div=document.getElementById('photo-grid-body');div.removeChild(row);this.onFileRemoved(fileid);document.getElementById("filestoload").innerHTML=this.forms.length;this.pbar.hide();this.errorMsg.hide();},initProgressBar:function(numberoffiles){this.progressBarCurrent=0;this.currentFile=1;this.totalFiles=numberoffiles;this.pbar.updateProgress(this.progressBarCurrent/this.totalFiles,'&nbsp;&nbsp;'+this.loadingFile+' '+this.currentFile+' '+this.loadingFileOf+' '+this.totalFiles+'...',true);this.pbar.show();},incrementProgressBar:function(){if(this.currentFile<=this.totalFiles){this.currentFile++;this.progressBarCurrent++;if(this.currentFile>this.totalFiles){this.pbar.updateProgress(this.progressBarCurrent/this.totalFiles,'&nbsp;&nbsp;'+this.uploadComplete+'!',true);}
else{this.pbar.updateProgress(this.progressBarCurrent/this.totalFiles,'&nbsp;&nbsp;'+this.loadingFile+' '+this.currentFile+' '+this.loadingFileOf+' '+this.totalFiles+'...',true);}}},createBrowseButtonContainer:function(){var id=Ext.id();this.buttonWrapID=Ext.id();this.buttonContainer=Ext.DomHelper.append(this.ct,{tag:'div',cls:'x-uf-input-ct',children:[{tag:'div',cls:'x-uf-bbtn-ct',id:id},{tag:'div',cls:'x-uf-input-text',html:this.browseBtnText},{tag:'div',cls:'x-uf-input-wrap',id:this.buttonWrapID}]},true);this.createUploadInput();},createSubmitButton:function(){new Ext.Button({renderTo:document.getElementById("submitbutton"),scope:this,style:'padding-bottom:5px;',text:this.uploadBtnText,handler:function(){this.submitForms()}});},createUploadInput:function(){var form=document.createElement('form');form.setAttribute('id',Ext.id());form.setAttribute('enctype','multipart/form-data');var body=document.getElementById(this.buttonWrapID);body.appendChild(form);var inputId=Ext.id();var input=document.createElement('input');input.setAttribute('type','file');input.setAttribute('class','x-uf-input');input.setAttribute('id',inputId);input.setAttribute('name',inputId);input.setAttribute('accept','image/*');form.appendChild(input);var fileInput=Ext.Element.get(inputId);fileInput.on('change',this.onFileAdded,this,{form:Ext.Element.get(form.getAttribute('id'))});return form;},onFileAdded:function(e,ele,opts){jQuery('#'+opts.form.id).hide();var extension=ele.value.split('.')[ele.value.split('.').length-1];if(this.isValidExtension(extension)){this.forms.add(opts.form);this.appendRow(opts.form.id,ele.value,'');}else{Ext.Msg.show({title:this.invalidFileTitle,msg:this.invalidFileMsg,buttons:Ext.Msg.OK,icon:Ext.MessageBox.Error});}
this.createUploadInput();},onFileRemoved:function(formid){this.forms.removeKey(formid);},updateTable:function(value){},removeForms:function(){jQuery('#'+this.buttonWrapID).find('form').remove();},submitForms:function(){if(this.forms.length==0){this.pbar.hide();document.getElementById("errmsg").innerHTML='&nbsp;&nbsp;'+this.submitFileMsg;this.errorMsg.show();return;}
this.errorMsg.hide();var failedcount=0;this.initProgressBar(this.forms.length);this.forms.each(function(item,index,length){Ext.Ajax.request({form:Ext.Element.get(item.id),url:this.uploadUrl,scope:this,params:this.uploadParams,success:function(result,options){var ret=Ext.decode(result.responseText);if(ret.success==true){this.onFileRemoved(options.form.id);this.incrementProgressBar();this.changeStatus(options.form.id,'<img src="Media/images/silk/icons/accept.png" alt="success" border="0"/>');document.getElementById(options.form.id+'-remove').innerHTML='';document.getElementById("filestoload").innerHTML=this.forms.length;this.viewPhotosConfig.totalFilesAdded++;ret.returnObj.title=options.form.dom.childNodes[0].value.split('\\')[options.form.dom.childNodes[0].value.split('\\').length-1];this.viewPhotosConfig.files.push(ret.returnObj);this.nextButton.enable();}else{this.changeStatus(options.form.id,'<img src="Media/images/silk/icons/exclamation.png" title="'+ret.error+'" border="0"/>');document.getElementById("filestoload").innerHTML=this.forms.length;failedcount++;document.getElementById("errmsg").innerHTML='&nbsp;&nbsp;'+String.format(this.uploadFailureMsg,failedcount);this.incrementProgressBar();this.errorMsg.show();}},failure:function(result){}});},this);},initComponent:function(){Ext.apply(this,{submitHandler:function(){var mask=new Ext.LoadMask(this.ownerCt.getEl(),{msg:this.uploadMask});mask.show();this.form.submit({url:this.updateCaptionUrl,params:this.updateCaptionParams,method:'POST',scope:this,success:function(theForm,responseObj){mask.hide();this.ownerCt.close();},failure:function(theForm,responseObj){mask.hide();this.ownerCt.close();},scope:this});},configItems:[{id:'Step2',title:this.uploadStepTitle,border:false,items:[{xtype:'container',autoEl:{html:'<div id="uploadbutton"></div><div style="width:100%;padding-top:5px;margin-top:30px;">'+this.photosToAddMsg+':</div>'},style:'padding:5px;'},new Ext.Panel({html:['<div hidefocus="true" class="x-grid3" id="photo-grid-main" style="width: 692px; height: 157px;">','<div class="x-grid3-viewport" id="photo-grid-viewport">','<div id="ext-gen228">','<div class="x-grid3-header-inner" id="photo-grid-header" style="width: 692px;">','<div class="x-grid3-header-offset">','<table cellspacing="0" cellpadding="0" border="0" style="width: 674px;">','<thead>','<tr class="x-grid3-hd-row" style="background-color: rgb(230, 230, 230);">','<td style="width: 62px;" class="x-grid3-hd x-grid3-cell x-grid3-td-0">','<div style="" unselectable="on" class="x-grid3-hd-inner x-grid3-hd-0">'+this.statusHeader+'</div>','</td>','<td style="width: 502px;" class="x-grid3-hd x-grid3-cell x-grid3-td-company">','<div style="" unselectable="on" class="x-grid3-hd-inner x-grid3-hd-company">'+this.fileNameHeader+'</div>','</td>','<td style="width: 100px;" class="x-grid3-hd x-grid3-cell x-grid3-td-3">','<div style="" unselectable="on" class="x-grid3-hd-inner x-grid3-hd-3">'+this.removeHeader+'</div>','</td>','</tr>','</thead>','</table>','</div>','</div>','<div class="x-clear"/>','</div>','<div class="x-grid3-scroller" id="photo-grid-scroller" style="width: 692px; height: 133px;">','<div class="x-grid3-body" id="photo-grid-body">','</div>','</div>','</div>','</div>','</div>'],bbar:new Ext.Toolbar({items:['<span style="padding-right:5px;font-weight:bold;"><span id="filestoload">0</span> '+this.filesToLoadMsg+'</span>']}),style:'padding-top:5px;padding-bottom:10px;padding-left:5px;padding-right:5px;'}),{xtype:'container',autoEl:{html:'<div id="submitbutton"></div>'},style:'padding:5px;'},this.pbar=new Ext.ProgressBar({text:'Ready',id:'pbar',cls:'left-align',hidden:true,style:'margin: 5px;'}),this.errorMsg=new Ext.Panel({html:'<div style="width:100%;padding-top:5px"><img src="Media/images/silk/icons/exclamation.png" border="0"/><span id="errmsg"></span></div>',border:false,style:'padding-left:5px;padding-right:5px;',hidden:true})],validationHandler:function(){this.removeForms();return(true);}.createDelegate(this),listeners:{'afterlayout':{fn:function(){this.ct=document.getElementById('uploadbutton');this.createBrowseButtonContainer();this.createSubmitButton();},scope:this,single:true}}},this.photoEditor=FGI.config.EditPhotos.apply(this)],forms:new Ext.util.MixedCollection()});this.viewPhotosConfig={totalFilesAdded:0,files:[]};FGI.widgets.PhotoUpload.superclass.initComponent.apply(this,arguments);this.nextButton.disable();this.nextButton.on('click',function(button,e){this.photoEditor.viewPhotosConfig=this.viewPhotosConfig;},this);}});Ext.namespace('FGI','FGI.widgets','FGI.config');FGI.config.PhotoViewer={};FGI.widgets.PhotoViewer=Ext.extend(Ext.Component,{wizard:null,copy:{"files_loaded":"Photos","delete_link":"delete","title":"Title","caption":"Caption","confirm_delete_title":"Confirm Photo Delete","confirm_delete_msg":"Are you sure you want to delete this photo?"},headerHTML:new Ext.XTemplate('<div class="x-panel x-panel-noborder" style="padding: 5px; width: 694px;">','<div style="padding: 5px; width: 100%;"><div style="width: 100%;">','<img border="0" src="Media/images/silk/icons/accept.png"/>{copy_files_loaded}','</div>','</div>','<div class="x-grid3-scroller" id="add-captions-scroller" style="width: 694px; height: 380px;">','<div>','<div style="width: 678px;">','<div style="width: 678px;" id="add-captions-body">'),photoViewTmp:new Ext.XTemplate('<table id="table-{name}" class="photo-viewer-row" style="width: 676px;padding:10px;"><tbody><tr id="view-photos-{name}" style="padding: 5px;">','<td style="width: 126px;">','<div style="padding-left: 5px;">','<a class="delete-photo-link" name="{name}" deleteurl="{deleteurl}" href="#">{copy_delete_link}</a>','</div>','<div>','<table style="width:100%;><tbody><tr>','<tbody><tr><td style="text-align:center;">','<tpl if="name.split(&quot;.&quot;)[name.split(&quot;.&quot;).length-1].toLowerCase() == &quot;pdf&quot;">','<a href="{url}" target="_blank"><img border="0" src="Media/images/pdficon_large.gif"/></a>','</tpl>','<tpl if="name.split(&quot;.&quot;)[name.split(&quot;.&quot;).length-1].toLowerCase() != &quot;pdf&quot;">','<a href="{url}" target="_blank"><img src="{thumbNailurl}" style="border: 1px solid black;"/></a>','</tpl>','</td></tr></tbody>','</table>','</div>','</td>','<td style="padding-left:10px;">','<div style="padding-left: 5px; padding-top: 5px;">{copy_title}:</div>','<input class="ext_textfield" validate="true" type="text" id="{name}_caption" name="{name}_caption" style="width: 505px;" maxlength="100" value="{title}"/>','<div style="padding-left: 5px; padding-top: 5px;">{copy_caption}:</div>','<input class="ext_textarea" type="textarea" id="{name}_description" name="{name}_description" style="width: 505px; height: 40px;"  value="{caption}"/>','</td>','</tr></tbody></table>'),generateContentHTML:function(){this.headerContent={"copy_files_loaded":this.copy.files_loaded};var contentHTML=this.headerHTML.apply(this.headerContent);Ext.each(this.viewPhotosConfig.files,function(item,index,allItems){item.copy_delete_link=this.copy.delete_link;item.copy_title=this.copy.title;item.copy_caption=this.copy.caption;contentHTML=contentHTML+this.photoViewTmp.apply(item);},this);return contentHTML;},deletePhotoView:function(evt,wizard){Ext.MessageBox.confirm(this.copy.confirm_delete_title,this.copy.confirm_delete_msg,function(response){if(response=="yes"){Ext.Ajax.request({url:evt.target.getAttribute('deleteurl'),method:'GET',scope:this,success:function(result,options){var ro=Ext.decode(result.responseText);if(!ro.success){options.failure();return;}
var parents=$(evt.target).parents()
if($(parents[5]).children().length==1){wizard.ownerCt.close();}
else{$(parents[4]).fadeOut('slow',function(){$(parents[4]).remove();});}},failure:function(result){alert('failed');},scope:this});}});},initComponent:function(){this.autoEl={};this.autoEl.tag='div';this.autoEl.html=this.generateContentHTML();FGI.widgets.PhotoViewer.superclass.initComponent.apply(this,arguments);},render:function(){FGI.widgets.PhotoViewer.superclass.render.apply(this,arguments);var links=jQuery('#'+this.el.id).find('.delete-photo-link');for(var i=0;i<links.length;i++){var filename=links[i].name;var deleteurl=$('a[name='+links[i].name+']').attr('deleteurl');jQuery(links[i]).click(function(evt){this.deletePhotoView(evt,this.wizard);}.createDelegate(this));}
$(".photo-viewer-row").mouseover(function(){$(this).css('background-color','#D9E8FB');});$(".photo-viewer-row").mouseout(function(){$(this).css('background-color','white');});}});Ext.namespace('FGI','FGI.widgets','FGI.config');FGI.config.EditPhotos=function(){return{id:'CaptionsStep',title:this.title,border:false,xtype:'panel',deleteLink:FGI.copy.widgets.EditPhotos.delete_link,fileTitle:FGI.copy.widgets.EditPhotos.title,fileCaption:FGI.copy.widgets.EditPhotos.caption,editMsg:FGI.copy.widgets.EditPhotos.instructions,autoEl:{tag:'blockquote',html:'<div></div>'},getConfigObj:function(id){if(this.viewPhotosConfig.totalFilesAdded==0){Ext.Ajax.request({url:this.getPhotosUrl,params:this.getPhotosParams,success:function(result,options){this.viewPhotosConfig={files:Ext.decode(result.responseText).returnObj};this.currentItem.initPhotoViewer();},failure:function(){},scope:this});}else{this.currentItem.initPhotoViewer();}}.createDelegate(this),initPhotoViewer:function(){var p=this.wizardTabs.getActiveTab();if(p.items){p.remove(p.getComponent(0));}
this.photoViewer=new FGI.widgets.PhotoViewer({wizard:this,copy:{"files_loaded":this.currentItem.editMsg,"delete_link":this.currentItem.deleteLink,"title":this.currentItem.fileTitle,"caption":this.currentItem.fileCaption,"confirm_delete_title":FGI.copy.widgets.EditPhotos.confirmDeleteTitle,"confirm_delete_msg":FGI.copy.widgets.EditPhotos.confirmDeleteMsg},viewPhotosConfig:this.viewPhotosConfig});p.add(this.photoViewer);p.doLayout();}.createDelegate(this),validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :text[validate]').each(function(){if(thisWizard.getForm().findField(this.id).getValue()==''){thisWizard.getForm().findField($(this).attr('id')).markInvalid(this.blankFieldMsg);stepValid=false;}});return stepValid;}.createDelegate(this),enableSubmit:true,listeners:{'activate':{fn:function(){this.currentItem.getConfigObj(this.searchid);},scope:this},'afterlayout':{fn:function(){Ext.each(jQuery(".ext_textfield"),function(item,index,all){var newField=new Ext.form.TextField();var mask=jQuery('#'+item.id).attr('mask');if(mask){newField.emptyText=mask;}
var vtype=jQuery('#'+item.id).attr('vtype');if(vtype){newField.vtype=vtype;}
newField.applyToMarkup(item.id);this.form.add(newField);},this);jQuery(".ext_textfield").removeClass("ext_textfield");Ext.each(jQuery(".ext_textarea"),function(item,index,all){var newField=new Ext.form.TextArea();var mask=jQuery('#'+item.id).attr('mask');if(mask){newField.emptyText=mask;}
newField.applyToMarkup(item.id);this.form.add(newField);},this);jQuery(".ext_textarea").removeClass("ext_textarea");},scope:this}}}};FGI.widgets.EditPhotos=Ext.extend(FGI.widgets.FormWizard,{getPhotosUrl:null,updatePhotosUrl:null,updatePhotosParams:{},getPhotosParams:{},title:'Edit Photos',submitBtnText:FGI.copy.widgets.EditPhotos.caption,cancelBtnText:MEGA.copy.app.close,uploadCaptionsMask:FGI.copy.widgets.EditPhotos.upload_photo_captions_desc,blankFieldMsg:MEGA.copy.Workflows.Wizards.empty_validation_msg,initComponent:function(){Ext.apply(this,{submitHandler:function(){var mask=new Ext.LoadMask(this.ownerCt.getEl(),{msg:this.uploadCaptionsMask});mask.show();this.form.submit({url:this.updatePhotosUrl,method:'POST',scope:this,params:this.updatePhotosParams,success:function(theForm,responseObj){this.ownerCt.close();mask.hide();},failure:function(theForm,responseObj){this.ownerCt.close();mask.hide();},scope:this});},configItems:[FGI.config.EditPhotos.apply(this)],forms:new Ext.util.MixedCollection()});this.viewPhotosConfig={totalFilesAdded:0,files:[]};FGI.widgets.EditPhotos.superclass.initComponent.apply(this,arguments);}});fileUpload={ct:'',initComponent:function(){this.ct=document.body;Ext.apply(this,{forms:new Ext.util.MixedCollection()});this.createBrowseButtonContainer();this.createSubmitButton();},createBrowseButtonContainer:function(){var id=Ext.id();this.buttonContainer=Ext.DomHelper.append(this.ct,{tag:'div',cls:'x-uf-input-ct',children:[{tag:'div',cls:'x-uf-bbtn-ct',id:id},{tag:'div',cls:'x-uf-input-wrap'}]},true);this.browseBtn=new Ext.Button({text:'Upload Photos',cls:'x-btn-text-icon',renderTo:id,minWidth:78});this.createUploadInput();},createSubmitButton:function(){new Ext.Button({renderTo:this.ct,scope:this,style:'margin-top:30px;',text:'submit images',handler:function(){this.submitForms()}});},createUploadInput:function(){var bbtnCt=this.buttonContainer.select('div.x-uf-input-wrap').item(0);var id=Ext.id();var fileInput=Ext.DomHelper.append(bbtnCt,{tag:'input',type:'file',cls:'x-uf-input',size:1,id:id,name:id},true);var formid=Ext.id();var form=fileInput.wrap({tag:'form',enctype:'multipart/form-data',id:formid},true);fileInput.on('change',this.onFileAdded,this,{form:form});return form;},onFileAdded:function(e,ele,opts){$('#'+opts.form.id).hide();this.forms.add(opts.form);ele=Ext.Element(ele);ele.un('change',this.onFileAdded,this,{form:opts.form});this.createUploadInput();},onFileRemoved:function(formid){this.forms.removeKey(formid);},updateTable:function(value){},submitForms:function(){this.initProgressBar(this.forms.length);this.forms.each(function(item,index,lenth){Ext.Ajax.request({form:item,url:'Upload',scope:this,params:{'objectId':'bar'},success:function(result,options){eval('var ret = '+result.responseText);if(ret.success){alert('success');this.onFileRemoved(options.form.id);this.incrementProgressBar();}else{alert('failed');}},failure:function(result){alert('failed');}});},this);},initProgressBar:function(value){},incrementProgressBar:function(){}};Ext.namespace('FGI','FGI.openlayers');FGI.openlayers.ClickAndHighlightFeature=OpenLayers.Class(OpenLayers.Control.SelectFeature,{renderIntent:"select",hoverTipFieldName:'',tipOffset:{x:10,y:-30},showTip:false,featureIdField:'',zoomOnClick:false,preserveSelectedFeature:false,highlightOnMouseOver:true,displayRightToLeft:false,initialize:function(layer,options){this.hover=true;this.hoverTip=new Ext.Tip({closable:false,header:true});if(!layer.controls){layer.controls=[];}
layer.controls.push(this);if(options.clickFeature){options.clickFeature=this.clickFeature.createSequence(options.clickFeature);}
if(!options.featureIdField){this.featureIdField=options.featureIdField;}
OpenLayers.Control.SelectFeature.prototype.initialize.call(this,layer,options);this.handlers.feature.stopDown=false;},clickFeature:function(feature){if(this.zoomOnClick){this.map.zoomToExtent(feature.geometry.bounds);}
var selected=(OpenLayers.Util.indexOf(this.layer.selectedFeatures,feature)>-1);if(selected){if(this.toggleSelect()){this.unselect(feature);}else if(!this.multipleSelect()){this.unselectAll({except:feature});}}else{if(!this.multipleSelect()){this.unselectAll({except:feature});}
this.select(feature);}
this.map.events.triggerEvent("featureclicked",feature);this.hoverTip.hide();},overFeature:function(feature){if(this.showTip){var postition=this.map.getPixelFromLonLat(feature.geometry.getBounds().getCenterLonLat());var clientBounds=this.map.div.getBoundingClientRect();var x=postition.x+clientBounds.left+this.tipOffset.x;var y=postition.y+clientBounds.top+this.tipOffset.y;if(this.displayRightToLeft){this.hoverTip.setTitle("<span dir='rtl'>"+feature.data[this.hoverTipFieldName]+"</span>");}else{this.hoverTip.setTitle(feature.data[this.hoverTipFieldName]);}
this.hoverTip.setPosition(x,y);this.hoverTip.show();}
if(this.highlightOnMouseOver){this.layer.drawFeature(feature,"temporary");}},outFeature:function(feature){if(this.showTip){this.hoverTip.hide();}
var selected=(OpenLayers.Util.indexOf(this.layer.selectedFeatures,feature)>-1);if(selected){this.layer.drawFeature(feature,"select");}else{this.layer.drawFeature(feature,"default");}},unhighlightAll:function(){for(var i in this.layer.features){this.outFeature(this.layer.features[i]);}},highlightFeatureById:function(id){this.overFeature(this.getFeatureById(id));},selectFeatureById:function(id){this.clickFeature(this.getFeatureById(id));},getFeatureById:function(id){for(var i in this.layer.features){if(this.layer.features[i].data!=undefined){if(this.layer.features[i].data[this.featureIdField]==id){return this.layer.features[i];}}}},CLASS_NAME:"OpenLayers.Control.ClickAndHighlightFeature"});Ext.namespace('FGI','FGI.openlayers');FGI.openlayers.CustomEditingToolbar=OpenLayers.Class(OpenLayers.Control.Panel,{enabledControls:{POINT:true,LINESTRING:true,POLYGON:true,COORDINATE:true},initialize:function(layer,options){OpenLayers.Control.Panel.prototype.initialize.apply(this,[options]);this.addControls([new OpenLayers.Control.Navigation()]);var controls=[];if(this.enabledControls['POINT']){controls.push(new OpenLayers.Control.DrawFeature(layer,OpenLayers.Handler.Point,{'displayClass':'olControlDrawFeaturePoint',name:'POINT'}));}
if(this.enabledControls['LINESTRING']){controls.push(new OpenLayers.Control.DrawFeature(layer,OpenLayers.Handler.Path,{'displayClass':'olControlDrawFeaturePath',name:'LINESTRING'}));}
if(this.enabledControls['POLYGON']){controls.push(new OpenLayers.Control.DrawFeature(layer,OpenLayers.Handler.Polygon,{'displayClass':'olControlDrawFeaturePolygon',name:'POLYGON'}));}
if(this.enabledControls['COORDINATE']){controls.push(new OpenLayers.Control.Button({trigger:function(){this.activate();},displayClass:'olControlEnterCoordinates',name:'COORDINATE',type:OpenLayers.Control.TYPE_TOOL}));}
for(var i=0,len=controls.length;i<len;i++){controls[i].featureAdded=function(feature){feature.state=OpenLayers.State.INSERT;};}
this.addControls(controls);},draw:function(){var div=OpenLayers.Control.Panel.prototype.draw.apply(this,arguments);this.activateControl(this.controls[0]);return div;},CLASS_NAME:"OpenLayers.Control.CustomEditingToolbar"});Ext.namespace('FGI','FGI.openlayers');FGI.openlayers.SmartWFS=OpenLayers.Class(OpenLayers.Layer.WFS,{overrideBBOX:false,tempBBOX:null,isClustered:false,manualMode:false,manualModeStyleMap:null,forceVisible:false,forceHidden:false,visibleZoomRange:{min:0,max:19},setManualMode:function(mode){this.manualMode=mode;},moveTo:function(bounds,zoomChanged,dragging){if(this.vectorMode){OpenLayers.Layer.Vector.prototype.moveTo.apply(this,arguments);}else{OpenLayers.Layer.Markers.prototype.moveTo.apply(this,arguments);}
if(dragging){return false;}
if((this.map.zoom<this.visibleZoomRangeTemp.min||this.map.zoom>this.visibleZoomRangeTemp.max)&&this.manualMode==false){return;}
if(this.options.minZoomLevel){OpenLayers.Console.warn(OpenLayers.i18n('minZoomLevelError'));if(this.map.getZoom()<this.options.minZoomLevel){return null;}}
if(this.overrideBBOX){bounds=this.tempBBOX;}
if(bounds===null){bounds=this.map.getExtent();}
var firstRendering=(this.tile===null);var outOfBounds=(!firstRendering&&!this.tile.bounds.containsBounds(bounds));var hitFeatureLimit=(this.params.maxfeatures<=this.features.length);if(this.isClustered){hitFeatureLimit=false
if(zoomChanged){outOfBounds=true}}
if(hitFeatureLimit||firstRendering||(!dragging&&outOfBounds)){var center=bounds.getCenterLonLat();var tileWidth=bounds.getWidth()*this.ratio;var tileHeight=bounds.getHeight()*this.ratio;var tileBounds=new OpenLayers.Bounds(center.lon-(tileWidth/2),center.lat-(tileHeight/2),center.lon+(tileWidth/2),center.lat+(tileHeight/2));var tileSize=this.map.getSize();tileSize.w=tileSize.w*this.ratio;tileSize.h=tileSize.h*this.ratio;var ul=new OpenLayers.LonLat(tileBounds.left,tileBounds.top);var pos=this.map.getLayerPxFromLonLat(ul);var url=this.getFullRequestString();var params={BBOX:this.encodeBBOX?tileBounds.toBBOX():tileBounds.toArray(),zoomLevel:this.map.getZoom()};if(this.map&&!this.projection.equals(this.map.getProjectionObject())){var projectedBounds=tileBounds.clone();projectedBounds.transform(this.map.getProjectionObject(),this.projection);params.BBOX=this.encodeBBOX?projectedBounds.toBBOX():projectedBounds.toArray();}
url+="&"+OpenLayers.Util.getParameterString(params);var theLayer=this;if(this.renderToLayer){theLayer=this.renderToLayer;}
if(!this.tile){this.tile=new OpenLayers.Tile.WFS(theLayer,pos,tileBounds,url,tileSize);this.addTileMonitoringHooks(this.tile);this.tile.draw();}else{if(this.vectorMode){this.destroyFeatures();this.renderer.clear();}else{this.clearMarkers();}
this.removeTileMonitoringHooks(this.tile);this.tile.destroy();this.tile=null;this.tile=new OpenLayers.Tile.WFS(theLayer,pos,tileBounds,url,tileSize);this.addTileMonitoringHooks(this.tile);this.tile.draw();}}},drawFeature:function(feature,style){if(typeof style!="object"){var renderIntent=typeof style=="string"?style:feature.renderIntent;style=feature.style||this.style;if(!style){style=this.styleMap.createSymbolizer(feature,renderIntent);}}
switch(feature.geometry.CLASS_NAME){case'OpenLayers.Geometry.MultiPolygon':case'OpenLayers.Geometry.Polygon':if(feature.geometry.getArea()<1){style.strokeWidth=10;}
break;}
if(!this.renderer.drawFeature(feature,style)){this.unrenderedFeatures[feature.id]=feature;}else{delete this.unrenderedFeatures[feature.id];};},getFeatureByIdField:function(id){for(var i=this.features.length;i>0;i--){if(this.features[i-1].data[this.featureIdFieldName]==id){return this.features[i-1];}}},destroy:function(){if(this.map){this.map.events.unregister('zoomend',this,this.resetVisibility);}
OpenLayers.Layer.WFS.prototype.destroy.apply(this,arguments);},setMap:function(map){OpenLayers.Layer.WFS.prototype.setMap.apply(this,arguments);this.map.events.register('zoomend',this,this.resetVisibility);},resetVisibility:function(){this.setVisibility(false,true);},setVisibility:function(visibility,autoManage){if(autoManage==true){if(this.manualMode==true){return;}
if(this.forceHidden){visibility=false;if(this.map.zoom<=this.visibleZoomRangeTemp.min||this.map.zoom>=this.visibleZoomRangeTemp.max){this.forceHidden=false;this.forceVisible=false;}}else if(this.forceVisible){if(this.map.zoom<this.visibleZoomRange.min){this.visibleZoomRangeTemp.min=this.map.zoom;}else if(this.map.zoom>this.visibleZoomRange.max){this.visibleZoomRangeTemp.max=this.map.zoom;}
this.forceVisible=false;visibility=true;}else{if(this.map.zoom>=this.visibleZoomRangeTemp.min&&this.map.zoom<=this.visibleZoomRangeTemp.max){visibility=true;}else{visibility=false;this.visibleZoomRangeTemp.min=this.visibleZoomRange.min;this.visibleZoomRangeTemp.max=this.visibleZoomRange.max;}}}
OpenLayers.Layer.WFS.prototype.setVisibility.apply(this,arguments);},initialize:function(name,url,params,options){OpenLayers.Layer.WFS.prototype.initialize.apply(this,arguments);this.visibleZoomRangeTemp={min:this.visibleZoomRange.min,max:this.visibleZoomRange.max};}});Ext.namespace('FGI','FGI.openlayers');FGI.openlayers.SmartWMS=OpenLayers.Class(OpenLayers.Layer.WMS,{manualMode:true,forceVisible:false,forceHidden:true,visibility:false,visibleZoomRange:{min:0,max:19},setManualMode:function(mode){this.manualMode=mode;},setMap:function(map){OpenLayers.Layer.WMS.prototype.setMap.apply(this,arguments);this.map.events.register('zoomend',this,function(e){this.setVisibility(false,true);});},setVisibility:function(visibility,autoManage){if(autoManage==true){if(this.manualMode==true){return;}
if(this.forceHidden){visibility=false;if(this.map.zoom<=this.visibleZoomRangeTemp.min||this.map.zoom>=this.visibleZoomRangeTemp.max){this.forceHidden=false;this.forceVisible=false;}}else if(this.forceVisible){if(this.map.zoom<this.visibleZoomRange.min){this.visibleZoomRangeTemp.min=this.map.zoom;}else if(this.map.zoom>this.visibleZoomRange.max){this.visibleZoomRangeTemp.max=this.map.zoom;}
this.forceVisible=false;visibility=true;}else{if(this.map.zoom>=this.visibleZoomRangeTemp.min&&this.map.zoom<=this.visibleZoomRangeTemp.max){visibility=true;}else{visibility=false;this.visibleZoomRangeTemp.min=this.visibleZoomRange.min;this.visibleZoomRangeTemp.max=this.visibleZoomRange.max;}}}
OpenLayers.Layer.WMS.prototype.setVisibility.apply(this,arguments);},initialize:function(name,url,params,options){OpenLayers.Layer.WMS.prototype.initialize.apply(this,arguments);this.visibleZoomRangeTemp={min:this.visibleZoomRange.min,max:this.visibleZoomRange.max};}});Ext.namespace('FGI','FGI.openlayers');FGI.openlayers.SmartGML=OpenLayers.Class(OpenLayers.Layer.GML,{manualMode:false,forceVisible:false,forceHidden:false,visibleZoomRange:{min:0,max:19},setManualMode:function(mode){this.manualMode=mode;if(this.manualModeStyleMap!=null&&mode==true){this.styleMap=this.manualModeStyleMap;this.redraw();}else if(this.manualModeStyleMap!=null){this.styleMap=this.autoModeStyleMap;this.redraw();}},setMap:function(map){OpenLayers.Layer.GML.prototype.setMap.apply(this,arguments);this.map.events.register('zoomend',this,function(e){this.setVisibility(false,true);});},setVisibility:function(visibility,autoManage){if(autoManage==true){if(this.manualMode==true){return;}
if(this.forceHidden){visibility=false;if(this.map.zoom<=this.visibleZoomRangeTemp.min||this.map.zoom>=this.visibleZoomRangeTemp.max){this.forceHidden=false;this.forceVisible=false;}}else if(this.forceVisible){if(this.map.zoom<this.visibleZoomRange.min){this.visibleZoomRangeTemp.min=this.map.zoom;}else if(this.map.zoom>this.visibleZoomRange.max){this.visibleZoomRangeTemp.max=this.map.zoom;}
this.forceVisible=false;visibility=true;}else{if(this.map.zoom>=this.visibleZoomRangeTemp.min&&this.map.zoom<=this.visibleZoomRangeTemp.max){visibility=true;}else{visibility=false;this.visibleZoomRangeTemp.min=this.visibleZoomRange.min;this.visibleZoomRangeTemp.max=this.visibleZoomRange.max;}}}
OpenLayers.Layer.GML.prototype.setVisibility.apply(this,arguments);},initialize:function(name,url,params,options){OpenLayers.Layer.GML.prototype.initialize.apply(this,arguments);this.autoModeStyleMap=this.styleMap;this.visibleZoomRangeTemp={min:this.visibleZoomRange.min,max:this.visibleZoomRange.max};}});Ext.namespace('FGI','FGI.openlayers');FGI.openlayers.SmartMarker=OpenLayers.Class(OpenLayers.Marker,{data:{},idField:'',events:null,map:null,initialize:function(lonlat,icon,data,idField){if(data!=null){this.data=data;if(idField!=null){this.idField=idField;}}
OpenLayers.Marker.prototype.initialize.apply(this,arguments);},destroy:function(){this.erase();this.map=null;this.events.destroy();this.events=null;if(this.icon!=null){this.icon.destroy();this.icon=null;}},draw:function(px){return this.icon.draw(px);},erase:function(){if(this.icon!=null){this.icon.erase();}},moveTo:function(px){if((px!=null)&&(this.icon!=null)){this.icon.moveTo(px);}
this.lonlat=this.map.getLonLatFromLayerPx(px);},isDrawn:function(){var isDrawn=(this.icon&&this.icon.isDrawn());return isDrawn;},onScreen:function(){var onScreen=false;if(this.map){var screenBounds=this.map.getExtent();onScreen=screenBounds.containsLonLat(this.lonlat);}
return onScreen;},inflate:function(inflate){if(this.icon){var newSize=new OpenLayers.Size(this.icon.size.w*inflate,this.icon.size.h*inflate);this.icon.setSize(newSize);}},setOpacity:function(opacity){this.icon.setOpacity(opacity);},setUrl:function(url){this.icon.setUrl(url);},display:function(display){this.icon.display(display);},CLASS_NAME:"FGI.openlayers.SmartMarker"});OpenLayers.Format.SimpleJSONFormat=OpenLayers.Class(OpenLayers.Format.JSON,{recordListLabel:"results",wktParser:OpenLayers.Format.WKT,initialize:function(options){OpenLayers.Format.JSON.prototype.initialize.apply(this,[options]);this.wktParser=this.wktParser?new this.wktParser(options):new OpenLayers.Format.WKT(options);},read:function(json,type,filter){type=(type)?type:"FeatureCollection";var results=null;var obj=null;if(typeof json=="string"){obj=eval('('+json+')');}else{obj=json;}
if(!obj){OpenLayers.Console.error("Bad JSON: "+json);}else{results=[];for(var i=0,len=obj[this.recordListLabel].length;i<len;++i){try{results.push(this.parseFeature(obj[this.recordListLabel][i]));}catch(err){results=null;OpenLayers.Console.error(err);}}}
return results;},parseFeature:function(obj){var feature,geometry,attributes;attributes=obj;try{geometry=this.wktParser.read(obj.geometry);}catch(err){throw err;}
feature=new OpenLayers.Feature.Vector(geometry.geometry,attributes);if(obj.id){feature.fid=obj.id;}
return feature;},parseGeometry:function(obj){if(obj==null){return null;}
var geometry;if(obj.type=="GeometryCollection"){if(!(obj.geometries instanceof Array)){throw"GeometryCollection must have geometries array: "+obj;}
var numGeom=obj.geometries.length;var components=new Array(numGeom);for(var i=0;i<numGeom;++i){components[i]=this.parseGeometry.apply(this,[obj.geometries[i]]);}
geometry=new OpenLayers.Geometry.Collection(components);}else{if(!(obj.coordinates instanceof Array)){throw"Geometry must have coordinates array: "+obj;}
if(!this.parseCoords[obj.type.toLowerCase()]){throw"Unsupported geometry type: "+obj.type;}
try{geometry=this.parseCoords[obj.type.toLowerCase()].apply(this,[obj.coordinates]);}catch(err){throw err;}}
if(this.internalProjection&&this.externalProjection){geometry.transform(this.externalProjection,this.internalProjection);}
return geometry;},parseCoords:{"point":function(array){if(array.length!=2){throw"Only 2D points are supported: "+array;}
return new OpenLayers.Geometry.Point(array[0],array[1]);},"multipoint":function(array){var points=[];var p=null;for(var i=0,len=array.length;i<len;++i){try{p=this.parseCoords["point"].apply(this,[array[i]]);}catch(err){throw err;}
points.push(p);}
return new OpenLayers.Geometry.MultiPoint(points);},"linestring":function(array){var points=[];var p=null;for(var i=0,len=array.length;i<len;++i){try{p=this.parseCoords["point"].apply(this,[array[i]]);}catch(err){throw err;}
points.push(p);}
return new OpenLayers.Geometry.LineString(points);},"multilinestring":function(array){var lines=[];var l=null;for(var i=0,len=array.length;i<len;++i){try{l=this.parseCoords["linestring"].apply(this,[array[i]]);}catch(err){throw err;}
lines.push(l);}
return new OpenLayers.Geometry.MultiLineString(lines);},"polygon":function(array){var rings=[];var r,l;for(var i=0,len=array.length;i<len;++i){try{l=this.parseCoords["linestring"].apply(this,[array[i]]);}catch(err){throw err;}
r=new OpenLayers.Geometry.LinearRing(l.components);rings.push(r);}
return new OpenLayers.Geometry.Polygon(rings);},"multipolygon":function(array){var polys=[];var p=null;for(var i=0,len=array.length;i<len;++i){try{p=this.parseCoords["polygon"].apply(this,[array[i]]);}catch(err){throw err;}
polys.push(p);}
return new OpenLayers.Geometry.MultiPolygon(polys);},"box":function(array){if(array.length!=2){throw"GeoJSON box coordinates must have 2 elements";}
return new OpenLayers.Geometry.Polygon([new OpenLayers.Geometry.LinearRing([new OpenLayers.Geometry.Point(array[0][0],array[0][1]),new OpenLayers.Geometry.Point(array[1][0],array[0][1]),new OpenLayers.Geometry.Point(array[1][0],array[1][1]),new OpenLayers.Geometry.Point(array[0][0],array[1][1]),new OpenLayers.Geometry.Point(array[0][0],array[0][1])])]);}},write:function(obj,pretty){var geojson={"type":null};if(obj instanceof Array){geojson.type="FeatureCollection";var numFeatures=obj.length;geojson.features=new Array(numFeatures);for(var i=0;i<numFeatures;++i){var element=obj[i];if(!element instanceof OpenLayers.Feature.Vector){var msg="FeatureCollection only supports collections "+"of features: "+element;throw msg;}
geojson.features[i]=this.extract.feature.apply(this,[element]);}}else if(obj.CLASS_NAME.indexOf("OpenLayers.Geometry")==0){geojson=this.extract.geometry.apply(this,[obj]);}else if(obj instanceof OpenLayers.Feature.Vector){geojson=this.extract.feature.apply(this,[obj]);if(obj.layer&&obj.layer.projection){geojson.crs=this.createCRSObject(obj);}}
return OpenLayers.Format.JSON.prototype.write.apply(this,[geojson,pretty]);},createCRSObject:function(object){var proj=object.layer.projection.toString();var crs={};if(proj.match(/epsg:/i)){var code=parseInt(proj.substring(proj.indexOf(":")+1));if(code==4326){crs={"type":"OGC","properties":{"urn":"urn:ogc:def:crs:OGC:1.3:CRS84"}};}else{crs={"type":"EPSG","properties":{"code":code}};}}
return crs;},extract:{'feature':function(feature){var geom=this.extract.geometry.apply(this,[feature.geometry]);return{"type":"Feature","id":feature.fid==null?feature.id:feature.fid,"properties":feature.attributes,"geometry":geom};},'geometry':function(geometry){if(geometry==null){return null;}
if(this.internalProjection&&this.externalProjection){geometry=geometry.clone();geometry.transform(this.internalProjection,this.externalProjection);}
var geometryType=geometry.CLASS_NAME.split('.')[2];var data=this.extract[geometryType.toLowerCase()].apply(this,[geometry]);var json;if(geometryType=="Collection"){json={"type":"GeometryCollection","geometries":data};}else{json={"type":geometryType,"coordinates":data};}
return json;},'point':function(point){return[point.x,point.y];},'multipoint':function(multipoint){var array=[];for(var i=0,len=multipoint.components.length;i<len;++i){array.push(this.extract.point.apply(this,[multipoint.components[i]]));}
return array;},'linestring':function(linestring){var array=[];for(var i=0,len=linestring.components.length;i<len;++i){array.push(this.extract.point.apply(this,[linestring.components[i]]));}
return array;},'multilinestring':function(multilinestring){var array=[];for(var i=0,len=multilinestring.components.length;i<len;++i){array.push(this.extract.linestring.apply(this,[multilinestring.components[i]]));}
return array;},'polygon':function(polygon){var array=[];for(var i=0,len=polygon.components.length;i<len;++i){array.push(this.extract.linestring.apply(this,[polygon.components[i]]));}
return array;},'multipolygon':function(multipolygon){var array=[];for(var i=0,len=multipolygon.components.length;i<len;++i){array.push(this.extract.polygon.apply(this,[multipolygon.components[i]]));}
return array;},'collection':function(collection){var len=collection.components.length;var array=new Array(len);for(var i=0;i<len;++i){array[i]=this.extract.geometry.apply(this,[collection.components[i]]);}
return array;}},CLASS_NAME:"OpenLayers.Format.SimpleJSONFormat"});OpenLayers.Control.ScaleBar=OpenLayers.Class(OpenLayers.Control,{element:null,scale:1,displaySystem:'metric',minWidth:100,maxWidth:200,divisions:2,subdivisions:2,showMinorMeasures:false,abbreviateLabel:false,singleLine:false,align:'left',div:null,scaleText:"scale 1:",thousandsSeparator:"",measurementProperties:{english:{units:['miles','feet','inches'],abbr:['mi','ft','in'],inches:[63360,12,1]},metric:{units:['kilometers','meters','centimeters'],abbr:['km','m','cm'],inches:[39370.07874,39.370079,0.393701]}},limitedStyle:false,customStyles:null,defaultStyles:{Bar:{height:11,top:12,borderLeftWidth:0,borderRightWidth:0},BarAlt:{height:11,top:12,borderLeftWidth:0,borderRightWidth:0},MarkerMajor:{height:13,width:13,top:12,borderLeftWidth:0,borderRightWidth:0},MarkerMinor:{height:13,width:13,top:12,borderLeftWidth:0,borderRightWidth:0},NumbersBox:{height:13,width:40,top:24},LabelBox:{height:15,top:-2},LabelBoxSingleLine:{height:15,width:35,top:5,left:10}},appliedStyles:null,initialize:function(options){OpenLayers.Control.prototype.initialize.apply(this,[options]);if(!document.styleSheets){this.limitedStyle=true;}
if(this.limitedStyle){this.appliedStyles=OpenLayers.Util.extend({},this.defaultStyles);OpenLayers.Util.extend(this.appliedStyles,this.customStyles);}
this.element=document.createElement('div');this.element.style.position='relative';this.element.className=this.displayClass+'Wrapper';this.labelContainer=document.createElement('div');this.labelContainer.className=this.displayClass+'Units';this.labelContainer.style.position='absolute';this.graphicsContainer=document.createElement('div');this.graphicsContainer.style.position='absolute';this.graphicsContainer.className=this.displayClass+'Graphics';this.numbersContainer=document.createElement('div');this.numbersContainer.style.position='absolute';this.numbersContainer.className=this.displayClass+'Numbers';this.element.appendChild(this.graphicsContainer);this.element.appendChild(this.labelContainer);this.element.appendChild(this.numbersContainer);},destroy:function(){this.map.events.unregister('moveend',this,this.onMoveend);this.div.innerHTML="";OpenLayers.Control.prototype.destroy.apply(this);},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.dxMarkerMajor=(this.styleValue('MarkerMajor','borderLeftWidth')+
this.styleValue('MarkerMajor','width')+
this.styleValue('MarkerMajor','borderRightWidth'))/2;this.dxMarkerMinor=(this.styleValue('MarkerMinor','borderLeftWidth')+
this.styleValue('MarkerMinor','width')+
this.styleValue('MarkerMinor','borderRightWidth'))/2;this.dxBar=(this.styleValue('Bar','borderLeftWidth')+
this.styleValue('Bar','borderRightWidth'))/2;this.dxBarAlt=(this.styleValue('BarAlt','borderLeftWidth')+
this.styleValue('BarAlt','borderRightWidth'))/2;this.dxNumbersBox=this.styleValue('NumbersBox','width')/2;var classNames=['Bar','BarAlt','MarkerMajor','MarkerMinor'];if(this.singleLine){classNames.push('LabelBoxSingleLine');}else{classNames.push('NumbersBox','LabelBox');}
var vertDisp=0;for(var classIndex=0;classIndex<classNames.length;++classIndex){var cls=classNames[classIndex];vertDisp=Math.max(vertDisp,this.styleValue(cls,'top')+this.styleValue(cls,'height'));}
this.element.style.height=vertDisp+'px';this.xOffsetSingleLine=this.styleValue('LabelBoxSingleLine','width')+
this.styleValue('LabelBoxSingleLine','left');this.div.appendChild(this.element);this.map.events.register('moveend',this,this.onMoveend);this.update();return this.div;},onMoveend:function(){this.update();},update:function(scale){if(this.map.baseLayer==null||!this.map.getScale()){return;}
this.scale=(scale!=undefined)?scale:this.map.getScale();this.element.title=this.scaleText+OpenLayers.Number.format(this.scale);this.element.style.width=this.maxWidth+'px';var comp=this.getComp();this.setSubProps(comp);this.labelContainer.innerHTML="";this.graphicsContainer.innerHTML="";this.numbersContainer.innerHTML="";var numDiv=this.divisions*this.subdivisions;var alignmentOffset={left:0+(this.singleLine?0:this.dxNumbersBox),center:(this.maxWidth/2)-
(numDiv*this.subProps.pixels/2)-
(this.singleLine?this.xOffsetSingleLine/2:0),right:this.maxWidth-
(numDiv*this.subProps.pixels)-
(this.singleLine?this.xOffsetSingleLine:this.dxNumbersBox)}
var xPos,measure,divNum,cls,left;for(var di=0;di<this.divisions;++di){xPos=di*this.subdivisions*this.subProps.pixels+
alignmentOffset[this.align];this.graphicsContainer.appendChild(this.createElement("MarkerMajor"," ",xPos-this.dxMarkerMajor));if(!this.singleLine){measure=(di==0)?0:OpenLayers.Number.format((di*this.subdivisions)*this.subProps.length,this.subProps.dec,this.thousandsSeparator);this.numbersContainer.appendChild(this.createElement("NumbersBox",measure,xPos-this.dxNumbersBox));}
for(var si=0;si<this.subdivisions;++si){if((si%2)==0){cls="Bar";left=xPos-this.dxBar;}else{cls="BarAlt";left=xPos-this.dxBarAlt;}
this.graphicsContainer.appendChild(this.createElement(cls," ",left,this.subProps.pixels));if(si<this.subdivisions-1){divNum=(di*this.subdivisions)+si+1;xPos=divNum*this.subProps.pixels+
alignmentOffset[this.align];this.graphicsContainer.appendChild(this.createElement("MarkerMinor"," ",xPos-this.dxMarkerMinor));if(this.showMinorMeasures&&!this.singleLine){measure=divNum*this.subProps.length;this.numbersContainer.appendChild(this.createElement("NumbersBox",measure,xPos-this.dxNumbersBox));}}}}
xPos=numDiv*this.subProps.pixels;xPos+=alignmentOffset[this.align];this.graphicsContainer.appendChild(this.createElement("MarkerMajor"," ",xPos-this.dxMarkerMajor));measure=OpenLayers.Number.format(numDiv*this.subProps.length,this.subProps.dec,this.thousandsSeparator);if(!this.singleLine){this.numbersContainer.appendChild(this.createElement("NumbersBox",measure,xPos-this.dxNumbersBox));}
var labelBox=document.createElement('div');labelBox.style.position='absolute';var labelText;if(this.singleLine){labelText=measure;labelBox.className=this.displayClass+'LabelBoxSingleLine';labelBox.style.left=Math.round(xPos+this.styleValue('LabelBoxSingleLine','left'))+'px';}else{labelText='';labelBox.className=this.displayClass+'LabelBox';labelBox.style.textAlign='center';labelBox.style.width=Math.round(numDiv*this.subProps.pixels)+'px'
labelBox.style.left=Math.round(alignmentOffset[this.align])+'px';labelBox.style.overflow='hidden';}
if(this.abbreviateLabel){labelText+=' '+this.subProps.abbr;}else{labelText+=' '+this.subProps.units;}
labelBox.appendChild(document.createTextNode(labelText));this.labelContainer.appendChild(labelBox);},createElement:function(cls,text,left,width){var element=document.createElement("div");element.className=this.displayClass+cls;OpenLayers.Util.extend(element.style,{position:"absolute",textAlign:"center",overflow:"hidden",left:Math.round(left)+"px"});element.appendChild(document.createTextNode(text));if(width){element.style.width=Math.round(width)+"px";}
return element;},getComp:function(){var system=this.measurementProperties[this.displaySystem];var numUnits=system.units.length;var comp=new Array(numUnits);var numDiv=this.divisions*this.subdivisions;for(var unitIndex=0;unitIndex<numUnits;++unitIndex){comp[unitIndex]={};var ppdu=OpenLayers.DOTS_PER_INCH*system.inches[unitIndex]/this.scale;var minSDDisplayLength=((this.minWidth-this.dxNumbersBox)/ppdu)/numDiv;var maxSDDisplayLength=((this.maxWidth-this.dxNumbersBox)/ppdu)/numDiv;for(var vi=0;vi<numDiv;++vi){var minNumber=minSDDisplayLength*(vi+1);var maxNumber=maxSDDisplayLength*(vi+1);var num=this.getHandsomeNumber(minNumber,maxNumber);var compNum={value:(num.value/(vi+1)),score:0,tie:0,dec:0,displayed:0};for(var vi2=0;vi2<numDiv;++vi2){var position=num.value*(vi2+1)/(vi+1);var num2=this.getHandsomeNumber(position,position);var major=((vi2+1)%this.subdivisions==0);var last=((vi2+1)==numDiv);if((this.singleLine&&last)||(!this.singleLine&&(major||this.showMinorMeasures))){compNum.score+=num2.score;compNum.tie+=num2.tie;compNum.dec=Math.max(compNum.dec,num2.dec);compNum.displayed+=1;}else{compNum.score+=num2.score/this.subdivisions;compNum.tie+=num2.tie/this.subdivisions;}}
compNum.score*=(unitIndex+1)*compNum.tie/compNum.displayed;comp[unitIndex][vi]=compNum;}}
return comp;},setSubProps:function(comp){var system=this.measurementProperties[this.displaySystem];var score=Number.POSITIVE_INFINITY;var tie=Number.POSITIVE_INFINITY;for(var unitIndex=0;unitIndex<comp.length;++unitIndex){var ppdu=OpenLayers.DOTS_PER_INCH*system.inches[unitIndex]/this.scale;for(var vi in comp[unitIndex]){var compNum=comp[unitIndex][vi];if((compNum.score<score)||((compNum.score==score)&&(compNum.tie<tie))){this.subProps={length:compNum.value,pixels:ppdu*compNum.value,units:system.units[unitIndex],abbr:system.abbr[unitIndex],dec:compNum.dec};score=compNum.score;tie=compNum.tie;}}}},styleValue:function(selector,key){var value=0;if(this.limitedStyle){value=this.appliedStyles[selector][key];}else{selector="."+this.displayClass+selector;rules:for(var i=document.styleSheets.length-1;i>=0;--i){var sheet=document.styleSheets[i];if(!sheet.disabled){var allRules;try{if(typeof(sheet.cssRules)=='undefined'){if(typeof(sheet.rules)=='undefined'){continue;}else{allRules=sheet.rules;}}else{allRules=sheet.cssRules;}}catch(err){continue;}
for(var ruleIndex=0;ruleIndex<allRules.length;++ruleIndex){var rule=allRules[ruleIndex];if(rule.selectorText&&(rule.selectorText.toLowerCase()==selector.toLowerCase())){if(rule.style[key]!=''){value=parseInt(rule.style[key]);break rules;}}}}}}
return value?value:0;},getHandsomeNumber:function(small,big,sigFigs){sigFigs=(sigFigs==null)?10:sigFigs;var num={value:small,score:Number.POSITIVE_INFINITY,tie:Number.POSITIVE_INFINITY,dec:3};var cmult,max,dec,tmult,multiplier,score,tie;for(var hexp=0;hexp<3;++hexp){cmult=Math.pow(2,(-1*hexp));max=Math.floor(Math.log(big/cmult)/Math.LN10);for(var texp=max;texp>(max-sigFigs+1);--texp){dec=Math.max(hexp-texp,0);tmult=cmult*Math.pow(10,texp);if((tmult*Math.floor(big/tmult))>=small){if(small%tmult==0){multiplier=small/tmult;}else{multiplier=Math.floor(small/tmult)+1;}
score=multiplier+(2*hexp);tie=(texp<0)?(Math.abs(texp)+1):texp;if((score<num.score)||((score==num.score)&&(tie<num.tie))){num.value=parseFloat((tmult*multiplier).toFixed(dec));num.score=score;num.tie=tie;num.dec=dec;}}}}
return num;},CLASS_NAME:"OpenLayers.Control.ScaleBar"});Ext.namespace('MEGA','MEGA.config');MEGA.config.Urls={Map:'Map',Home:'Index',Disclaimer:'Main/Disclaimer',Login:'Account/Login',Logout:'Account/Logout',ChangePassword:'Account/ChangePassword',ResetPassword:'Account/ResetPassword',GetUser:'Account/GetLoggedInUser',GetAllUsers:'Account/GetUsers',UpdateUser:'Account/AddUpdateUser',ExportUsersCSV:'Account/UserInfoCSV?',Site:'Site/Data/',SiteElement:'SiteElement/Data/',SiteSearch:'Search/Site?',SiteSearchResults:'Search/SiteResults?',SiteClusterResults:'Search/ClusterResults?',AdvSiteSearch:'Search/AdavancedSearch?',AdvSiteSearchCluster:'Search/ClusterAdavancedSearch?',SiteCsv:'Search/SiteCsv',SiteEleSearch:'Search/SiteElement?',SiteEleSearchResults:'Search/SiteElementResults?',SiteEleClusterResults:'Search/SiteElementClusterResults?',AdvSiteEleSearch:'Search/AdavancedSearch?',CandidateSearch:'Search/Candidatelist?',CreateMonitoringEvent:'Monitoring/Create',EditMonitoringEvent:'Monitoring/Edit',CreateSite:'Site/Create',EditSite:'Site/Edit',UnLockSite:'Site/SiteUnLock/',RetireSite:'Site/Retire/',CreateSiteElement:'SiteElement/Create',EditSiteElement:'SiteElement/Edit',UnLockSiteElement:'SiteElement/SiteElemUnLock/',RetireSiteElement:'SiteElement/Retire/',Investigator:'Forms/Investigator',Name:'Forms/Name',ElementName:'Forms/ElementName',Significance:'Forms/Significance',Citation:'Forms/Citation',Surveys:'Forms/Surveys',Office:'Forms/Office',PeriodAndTopography:'Forms/PeriodAndTopography',ElementDescription:'Forms/ElementDescription',Buffer:'Forms/Buffer',ElementCodes:'Forms/ElementCodes',PeriodCodes:'Forms/PeriodCodes',TopographyCodes:'Forms/TopographyCodes',ThreatCodes:'Forms/ThreatCodes',DisturbanceCodes:'Forms/DisturbanceCodes',LegalViolationCodes:'Forms/LegalViolationCodes',GovLookup:'Forms/GovLookup',OfficesLookup:'Forms/OfficesLookup',OwnershipStatus:'Forms/OwnershipStatus',Disturbances:'Forms/Disturbances',Threats:'Forms/Threats',LegalViolations:'Forms/LegalViolations',ManagementRecommendations:'Forms/ManagementRecommendations',AdvancedSearchDomainTables:'Forms/AdvancedSearchDomainTables',EditPhotos:'File/UpdateCaption/',GetPhotos:'File/AllPhotos/',UploadFiles:'File/UploadFiles/',UpdateCaptions:'File/UpdateCaption/',ReferenceInfo:'Forms/ReferenceInfo',AuthorsEditors:'Forms/AuthorsEditors',PublicationInfo:'Forms/PublicationInfo',CreateReference:'Reference/Create',EditReference:'Reference/Edit',ViewReference:'Reference/Search',DeleteReference:'Reference/Delete',ExportReferenceToExcel:'Reference/ExcelGen',ExportReferenceToCSV:'Reference/CitationCsv',JordanGeneral:'Reports/JordanGeneral',JordanSitesToReview:'Reports/JordanSitesToReview',GovGeneral:'Reports/GovGeneral',GovGeom:'Reports/GovGeom/',GovSitesToReview:'Reports/GovSitesToReview',SubGovGeneral:'Reports/SubGovGeneral',SubGovGeom:'Reports/SubGovGeom/',SubGovSitesToReview:'Reports/SubGovSitesToReview',SiteGeneral:'Reports/SiteGeneral',SiteAdministration:'Reports/SiteAdministration',SiteSiteElements:'Reports/SiteSiteElements',SiteMonitoringEvents:'Reports/SiteMonitoringEvents',SiteReferences:'Reports/SiteReferences',SiteReviewStatus:'Reports/SiteReviewStatus',SiteSignificance:'Reports/SiteSignificance',MonitoringEvent:'Reports/MonitoringEvent',SiteElementGeneral:'Reports/SiteElementGeneral',SiteElementAdministration:'Reports/SiteElementAdministration',SiteElementReferences:'Reports/SiteElementReferences',SiteElementMonitoringEvents:'Reports/SiteElementMonitoringEvents',UpdateSiteStatus:'Site/UpdateStatus',DirectorReport:'Reports/DirectorReport',ValidateSiteGeom:'Site/ValidateGeometry',ValidateEditSiteGeom:'Site/ValidateGeometry',ValidateSiteElementGeom:'SiteElement/ValidateGeometry',geoserver:'http://www.megajordan.org:8080/geoserver/wms',geoserver_proxy:'proxy/geoserver/wms',geoserver_proxy_wfs:'proxy/geoserver_wfs',parcel_tile_cache:'http://www.megajordan.org/Parcels/',parcel_layer:'MEGAJ:vw_cadastre',Wiki:'http://dev.fargeo.com/mediaWiki/index.php?title=',ADWDownload:'Desktopdata/GetMegaMSI',UploadMegaFile:'Desktopdata/MegaFileProcessor',Candidate:'Candidate/',DeleteCandidate:'Candidate/Delete',UploadedMegaFiles:'Candidate/Megafilesinformation',PrintCandidate:'Reports/PrintCandidate',SelBoundCardGen:'Cards/SelBoundaryPDF?',SelPointsCardGen:'Cards/SelPointPDF?',SiteMonCardGen:'Cards/SiteMonitoringPDF?',SelMonCardGen:'Cards/SelMonitoringPDF?',SiteCard:'Media/documents/MEGA_1_SiteCard_5.0.pdf',SelBoundCard:'Media/documents/MEGA_2a_SiteElement_boundary_5.0.pdf',SelPointsCard:'Media/documents/MEGA_2b_SiteElements_points_5.0.pdf',MonCard:'Media/documents/MEGA_3 _Monitoring_5.0.pdf',SelCodesCard:'Media/documents/MEGA_CODES_1_Elements_5.0.pdf',MonCodesCard:'Media/documents/MEGA_CODES_2_Monitoring_5.0.pdf',HelpVideos:'Main/Videos',Faq:'Main/Faq',About:'Main/About',SiteIcon:'Media/images/icon_site.png',SiteIconHover:'Media/images/icon_site-hover.png',SiteIconCluster:'Media/images/icon_map_point.png',SiteIconMini:'Media/images/icon_site_mini.png'};Ext.namespace('MEGA','MEGA.config');MEGA.config.Legend={"layers":[[MEGA.copy.app.siteElements,'MEGA','SiteElements','auto','Site Elements','11-12','Default Display','Media/images/Legend/default.png','Media/images/Legend/hover.png','Media/images/Legend/selected.png'],[MEGA.copy.app.sites,'MEGA','Sites','auto','Sites','4-12','Default Display','Media/images/Legend/default.png','Media/images/Legend/hover.png','Media/images/Legend/selected.png'],[MEGA.copy.app.subGovernorates,'Administrative','SubGovernorates','auto','Subgovernorates','3-5','','','Media/images/Legend/hover.png','Media/images/Legend/selected.png'],[MEGA.copy.app.governorates,'Administrative','Governorates','auto','Governorates','0-2','','','Media/images/Legend/hover.png','Media/images/Legend/selected.png'],[MEGA.copy.app.adminBoundaryName1,'Administrative','Jordan','auto','Jordan','0-12','','Media/images/Legend/jordan_boundary.png','',''],[MEGA.copy.app.surveys,'Administrative','Surveys','auto','Surveys','None','','Media/images/Legend/surveys.png','',''],['Parcels','Administrative','Parcels','auto','Parcels','None','Default Display','Media/images/Legend/parcels.png','','Media/images/Legend/selected.png']]};Ext.namespace('MEGA','MEGA.config');MEGA.config.CoordinateSystems=function(){return{'LATLONG':{'name':MEGA.copy.Widgets.UserCoordinates.dec_degrees||'Long/Lat (decimal degrees)','srid':"EPSG:4326",'example':'e.g. 36.54018 31.29985,36.54056 31.29968,...','isDefault':true},'LATLONGDMS':{'name':MEGA.copy.Widgets.UserCoordinates.deg_min_secs||'Long/Lat (degrees minutes seconds)','srid':"EPSG:4326",'example':'e.g. 36°32\'24.65"E 31°17\'59.46"N, 36°32\'26.02"E 31°17\'58.85"N,...'},'JTM':{'name':MEGA.copy.Widgets.UserCoordinates.jtm||'Jordanian TM','srid':"EPSG:3066",'example':'e.g. 456230.22704 463750.14079,456266.32068 463731.14416,...'},'UTM36':{'name':MEGA.copy.Widgets.UserCoordinates.utm36||'UTM Zone 36 North','srid':"EPSG:32636",'example':'e.g. 701683.31862 3284752.73415,701736.40633 3284804.33431,...'},'UTM37':{'name':MEGA.copy.Widgets.UserCoordinates.utm37||'UTM Zone 37 North','srid':"EPSG:32637",'example':'e.g. 318830.74962 3428808.41132,318852.37371 3428844.25175,...'},'PBELT':{'name':MEGA.copy.Widgets.UserCoordinates.palestine_belt||'Palestine Belt','srid':"EPSG:28192",'example':'e.g. 296630.42866 1079452.15327,296666.83968 1079433.74023,...'},'PGRID':{'name':MEGA.copy.Widgets.UserCoordinates.palestine_grid||'Palestine Grid','srid':"EPSG:28191",'example':'e.g. 295328.72544 94616.30263,295325.86906 94514.74201,295393.10922 94521.64436,...'}};};Ext.namespace('MEGA','MEGA.data','MEGA.data.Candidate','MEGA.data.Candidate.PopupTpl','MEGA.data.Candidate.Tpl');MEGA.data.Candidate=Ext.data.Record.create([{name:'name',mapping:'name'},{name:'governorate',mapping:'governorate'},{name:'subgovernorate',mapping:'subgovernorate'},{name:'subgovernorate_id',mapping:'subgov_id'},{name:'geometry',mapping:'geometry'},{name:'centroid',mapping:'centroid'},{name:'buffer',mapping:'buffer'},{name:'uploadeddate',mapping:'uploadeddate'},{name:'status',mapping:'status'},{name:'featuretype',mapping:'featuretype'},{name:'id',mapping:'id'},{name:'elemcodedesc',mapping:'elemcodedesc'}]);MEGA.data.Candidate.selected=new MEGA.data.Candidate({});MEGA.data.Candidate.updateSelectedCandidate=function(Candidatedata){var geometry=new OpenLayers.Format.WKT().read(Candidatedata.geometry).geometry;geometry.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"));var centroid=new OpenLayers.Format.WKT().read(Candidatedata.centroid).geometry;centroid.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"));var buffer='';if(Candidatedata.buffer!=null&&Candidatedata.buffer!=''){buffer=new OpenLayers.Format.WKT().read(Candidatedata.buffer).geometry;buffer.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"));buffer.getBounds();}
var uploadeddate=Ext.decode((Candidatedata.uploadeddate).replace(new RegExp('/Date\\((-?[0-9]+)\\)/','g'),"new Date($1)"));MEGA.data.Candidate.selected.set("name",Candidatedata.name);MEGA.data.Candidate.selected.set("governorate",Candidatedata.governorate);MEGA.data.Candidate.selected.set("subgovernorate",Candidatedata.subgovernorate);MEGA.data.Candidate.selected.set("subgovernorate_id",Candidatedata.subgov_id);MEGA.data.Candidate.selected.set("geometry",geometry);MEGA.data.Candidate.selected.set("centroid",centroid.toShortString());MEGA.data.Candidate.selected.set("buffer",buffer);MEGA.data.Candidate.selected.set("uploadeddate",uploadeddate.format('F j, Y, g:i a'));MEGA.data.Candidate.selected.set("status",Candidatedata.status);MEGA.data.Candidate.selected.set("featuretype",Candidatedata.featuretype);MEGA.data.Candidate.selected.set("id",Candidatedata.id);MEGA.data.Candidate.selected.set("elemcodedesc",Candidatedata.elemcodedesc);return MEGA.data.Candidate.selected;};MEGA.data.Candidate.getLonLat=function(){return new OpenLayers.LonLat.fromString(this.selected.data.centroid.toShortString());};MEGA.data.Candidate.ExpandTemplate=Ext.extend(Ext.Template,{applyTemplate:function(data){this.disableFormats=true;var status='';switch(data.featuretype){case'Site':data.zoom=MEGA.copy.Widgets.SearchResults.zoom_to_site;data.review=MEGA.copy.Widgets.Candidates.reviewSite;data.print=MEGA.copy.app.print;data.remove=MEGA.copy.Widgets.Candidates.deleteSite;data.facts=MEGA.copy.Widgets.SearchResults.site_facts;data.typeoffeature='Site';data.typeoffeatureforprint='Site';data.functiontocall='MEGA.app.EditSiteWorkflow = new MEGA.workflows.EditSite';data.featuretocalltypeid='siteid';break;case'SiteElement':data.zoom=MEGA.copy.Widgets.SearchResults.zoom_to_sel;data.review=MEGA.copy.Widgets.Candidates.reviewSel;data.print=MEGA.copy.app.print;data.remove=MEGA.copy.Widgets.Candidates.deleteSel;data.facts=MEGA.copy.Widgets.SearchResults.sel_facts;data.typeoffeature='Site Element';data.typeoffeatureforprint='SiteElement';data.functiontocall='MEGA.app.EditSiteElementWorkflow = new MEGA.workflows.EditSiteElement';data.featuretocalltypeid='selid';break;}
data.status=String.format('<div class="{0} popup">{1}</div>','Candidate','Candidate');return MEGA.data.Candidate.ExpandTemplate.superclass.applyTemplate.apply(this,arguments);}});MEGA.data.Candidate.Tpl={};if(FGI.copy._lang=='ar-jo'){MEGA.data.Candidate.Tpl.PopupHeader=['<div style="margin:5px; font-family:Verdana, Helvetica, Sans-Serif;">','<div style="font-weight:bold; font-size:10px; color:#15428B;">Type: {typeoffeature}</div>','<div style="color:#808080;font-size: 10px;" dir="ltr">{subgovernorate} < {governorate} < <span dir="rtl" style="padding-right:5px;"><span>'+MEGA.copy.Widgets.SearchResults.location+': </span>'+MEGA.copy.app.adminBoundaryName1+'</span></div>'];}else{MEGA.data.Candidate.Tpl.PopupHeader=['<div style="margin:5px; font-family:Verdana, Helvetica, Sans-Serif;">','<div style="font-weight:bold; font-size:10px; color:#15428B;">Type: {typeoffeature}</div>','<div style="color:#808080;font-size: 10px;">'+MEGA.copy.Widgets.SearchResults.location+': '+MEGA.copy.app.adminBoundaryName1+' > {governorate} > {subgovernorate}</div>'];}
MEGA.data.Candidate.Tpl.ClusterInfo=['<br><div style="font-weight:bold; font-size:10px; color:#15428B;">There are <span style="color:red;font-size:11px">{0} other sites</span> near this location </div>'];MEGA.data.Candidate.Tpl.ExpandHeader=['<div style="margin:5px; font-family:Verdana, Helvetica, Sans-Serif;">'];MEGA.data.Candidate.Tpl.Facts=['<div style="font-size:10px;margin:10px 0 6px 0;"><b style="color:#15428B;">{facts}:</b>','<table>','<tr><td align="right" class="fieldlabel">'+MEGA.copy.Widgets.SearchResults.status+':</td><td><span style="color:#15428B;">{status}</span></td></tr>','<tr><td align="right" class="fieldlabel">'+MEGA.copy.Widgets.UploadMegaFile.uploadedOn+':</td><td><span style="color:#15428B;">{uploadeddate}</span></td></tr>','</table>'];MEGA.data.Candidate.Tpl.Tasks_AutenticatedNotContributer=['<div style="font-size:10px; padding-top:10px;"><b style="color:#15428B;">'+MEGA.copy.app.view+':</b>','<div style="padding-left:5px">','<a href="#" onclick="MEGA.app.Map.setCenter(new OpenLayers.LonLat.fromString(\'{centroid}\'),10)">{zoom}</a> | ','<a href="#" onclick="{functiontocall}({ app: MEGA.app, {featuretocalltypeid}: {id}, iscandidate: true })">{review}</a> | ','<a href="#" onclick="MEGA.app.ReviewMegaFileWorkflow.deletecandidate({id}, \'{featuretype}\')">{remove}</a></div></div> | ','<a onClick="window.open(\''+MEGA.config.Urls.PrintCandidate+'{typeoffeatureforprint}?maptype=Google%20Satellite&gid={id}&lang='+FGI.copy._lang+'\')" href="#" >{print}</a></div></div>','</div></div></div>'];MEGA.data.Candidate.Tpl.Tasks_AutenticatedContributer=['<div style="font-size:10px; padding-top:10px;"><b style="color:#15428B;">'+MEGA.copy.app.view+':</b>','<div style="padding-left:5px">','<a href="#" onclick="MEGA.app.Map.setCenter(new OpenLayers.LonLat.fromString(\'{centroid}\'),10)">{zoom}</a> | ','<a href="#" onclick="MEGA.app.ReviewMegaFileWorkflow.deletecandidate({id}, \'{featuretype}\')">{remove}</a></div></div> | ','<a onClick="window.open(\''+MEGA.config.Urls.PrintCandidate+'{typeoffeatureforprint}?maptype=Google%20Satellite&gid={id}&lang='+FGI.copy._lang+'\')" href="#" >{print}</a></div></div>','</div></div></div>'];MEGA.data.Candidate.getExpandTemplate=function(loggedIn){var a='';a+=MEGA.data.Candidate.Tpl.ExpandHeader.join('');a+=MEGA.data.Candidate.Tpl.Facts.join('');if(loggedIn){if(MEGA.app.User.loggedInuserRole=="Contributor"){a+=MEGA.data.Candidate.Tpl.Tasks_AutenticatedContributer.join('');}
else{a+=MEGA.data.Candidate.Tpl.Tasks_AutenticatedNotContributer.join('');}}
return new MEGA.data.Candidate.ExpandTemplate(a);};MEGA.data.Candidate.getPopupTemplate=function(loggedIn){var a='';a+=MEGA.data.Candidate.Tpl.PopupHeader.join('');if(loggedIn){if(MEGA.app.User.loggedInuserRole=="Contributor"){a+=MEGA.data.Candidate.Tpl.Tasks_AutenticatedContributer.join('');}
else{a+=MEGA.data.Candidate.Tpl.Tasks_AutenticatedNotContributer.join('');}}
return new MEGA.data.Candidate.ExpandTemplate(a);};Ext.namespace('MEGA','MEGA.data','MEGA.data.Site','MEGA.data.Site.PopupTpl','MEGA.data.Site.Tpl');MEGA.data.Site=Ext.data.Record.create([{name:'site_name',mapping:'primary_site_name'},{name:'site_names_list',mapping:'site_names_list'},{name:'sit_site_gid',mapping:'sit_site_gid'},{name:'mk_mega_key',mapping:'mk_mega_key'},{name:'last_monitoring_date',mapping:'last_monitoring_date'},{name:'entry_date',mapping:'entry_date'},{name:'review_status',mapping:'review_status'},{name:'governorate',mapping:'governorate'},{name:'subgovernorate',mapping:'subgovernorate'},{name:'governorate_id',mapping:'gov_id'},{name:'subgovernorate_id',mapping:'subgov_id'},{name:'geometry',mapping:'poly_geom'},{name:'centroid',mapping:'centroid'},{name:'buffer',mapping:'buffer'},{name:'elem_count',mapping:'elem_count'},{name:'last_modified',mapping:'last_modified'}]);MEGA.data.Site.selected=new MEGA.data.Site({});MEGA.data.Site.updateSelectedSite=function(siteData){var geometry=new OpenLayers.Format.WKT().read(siteData.site.Geometry).geometry;geometry.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"));var centroid=new OpenLayers.Format.WKT().read(siteData.site.Centroid).geometry;centroid.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"));var buffer='';if(siteData.buffer!=null&&siteData.buffer!=''){buffer=new OpenLayers.Format.WKT().read(siteData.buffer).geometry;buffer.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"));buffer.getBounds();}
var entry_date=Ext.decode((siteData.site.SitEntryDate).replace(new RegExp('/Date\\((-?[0-9]+)\\)/','g'),"new Date($1)"));var last_modified=siteData.last_modified==''?'':(new Date(siteData.last_modified).format('F j, Y'));MEGA.data.Site.selected.set("site_name",siteData.name);MEGA.data.Site.selected.set("sit_site_gid",siteData.site.SitSiteGiD);MEGA.data.Site.selected.set("mk_mega_key",siteData.mk_mega_key);MEGA.data.Site.selected.set("last_monitoring_date",siteData.last_monitoring_date);MEGA.data.Site.selected.set("entry_date",entry_date.format('F j, Y'));MEGA.data.Site.selected.set("review_status",siteData.review_status);MEGA.data.Site.selected.set("governorate",siteData.gov);MEGA.data.Site.selected.set("subgovernorate",siteData.subgov);MEGA.data.Site.selected.set("governorate_id",siteData.gov_id);MEGA.data.Site.selected.set("subgovernorate_id",siteData.subgov_id);MEGA.data.Site.selected.set("geometry",geometry);MEGA.data.Site.selected.set("centroid",centroid.toShortString());MEGA.data.Site.selected.set("buffer",buffer);MEGA.data.Site.selected.set("elem_count",siteData.elem_count);MEGA.data.Site.selected.set("last_modified",last_modified);return MEGA.data.Site.selected;};MEGA.data.Site.getLonLat=function(){return new OpenLayers.LonLat.fromString(this.selected.data.centroid.toShortString());};MEGA.data.Site.PopupTemplate=Ext.extend(Ext.Template,{applyTemplate:function(data){this.disableFormats=true;var status,statusText='';switch(data.review_status){case'Under Review':status='approval review';statusText=MEGA.copy.Controllers.ReportController.underReview;break;case'Approved':status='approval approved';statusText=MEGA.copy.Controllers.ReportController.approved;break;case'Disapproved':status='approval disapproved';statusText=MEGA.copy.Controllers.ReportController.disapproved;break;}
data.review_status=String.format('<div class="{0} popup">{1}</div>',status,statusText);return MEGA.data.Site.PopupTemplate.superclass.applyTemplate.apply(this,arguments);}});MEGA.data.Site.Tpl={};if(FGI.copy.DisplayRightToLeft){MEGA.data.Site.Tpl.PopupHeader=['<div style="text-align:right; margin:5px; font-family:Verdana, Helvetica, Sans-Serif;" dir="rtl">','<div style="font-weight:bold; font-size:10px; color:#15428B;">'+MEGA.copy.app.megaNumber+': {mk_mega_key}</div>','<div style="color:#808080;font-size: 10px;">'+MEGA.copy.Widgets.SearchResults.location+': '+MEGA.copy.app.adminBoundaryName1+' > {governorate} > {subgovernorate}</div>'];}else{MEGA.data.Site.Tpl.PopupHeader=['<div style="margin:5px; font-family:Verdana, Helvetica, Sans-Serif;">','<div style="font-weight:bold; font-size:10px; color:#15428B;">'+MEGA.copy.app.megaNumber+': {mk_mega_key}</div>','<div style="color:#808080;font-size: 10px;">'+MEGA.copy.Widgets.SearchResults.location+': '+MEGA.copy.app.adminBoundaryName1+' > {governorate} > {subgovernorate}</div>'];}
if(FGI.copy.DisplayRightToLeft){MEGA.data.Site.Tpl.ExpandHeader=['<div style="text-align:right; margin:5px; font-family:Verdana, Helvetica, Sans-Serif;" dir="rtl">'];}else{MEGA.data.Site.Tpl.ExpandHeader=['<div style="margin:5px; font-family:Verdana, Helvetica, Sans-Serif;">'];}
MEGA.data.Site.Tpl.ClusterInfo=['<br><div style="font-weight:bold; font-size:10px; color:#15428B;">'+MEGA.copy.Widgets.SearchResults.cluster_msg_1+' <span style="color:red;font-size:11px">{0}</span> '+MEGA.copy.Widgets.SearchResults.cluster_msg_2+'</div>'];MEGA.data.Site.Tpl.SiteFacts=['<div style="font-size:10px;margin:10px 0 6px 0;"><b style="color:#15428B;">'+MEGA.copy.Widgets.SearchResults.site_facts+':</b>','<table>','<tr><td align="right" class="fieldlabel">'+MEGA.copy.Widgets.SearchResults.status+':</td><td><span style="color:#15428B;">{review_status}</span></td></tr>','<tr><td align="right" class="fieldlabel">'+MEGA.copy.Widgets.SearchResults.recordCreatedOn+':</td><td><span style="color:#15428B;">{entry_date}</span></td></tr>','<tr><td align="right" class="fieldlabel">'+MEGA.copy.Widgets.SearchResults.elementCount+':</td><td><span style="color:#15428B;">{elem_count}</span></td></tr>','<tr><td align="right" class="fieldlabel">'+MEGA.copy.Widgets.SearchResults.lastModifiedOn+':</td><td><span style="color:#15428B;">{last_modified}</span></td></tr>','</table>'];MEGA.data.Site.Tpl.View=['<div style="font-size:10px; padding-top:10px;"><b style="color:#15428B;">'+MEGA.copy.app.view+':</b>','<div style="padding-left:5px; padding-bottom:5px;">','<a href="#" onclick="MEGA.app.Map.setCenter(new OpenLayers.LonLat.fromString(\'{centroid}\'),10)">'+MEGA.copy.Widgets.SearchResults.zoom_to_site+'</a> | ','<a href="#" onclick="window.open(\'Site/PrintMap?siteid={sit_site_gid}&lang='+FGI.copy._lang+'&maptype=\' + MEGA.app.Map.baseLayer.name, \'sitemapwin\', \'scrollbars=1,width=685,height=700,toolbar=1,menubar=1\')">'+MEGA.copy.Widgets.SearchResults.print_site_map+'</a> | ','<a href="'+MEGA.config.Urls.SelBoundCardGen+'gid={sit_site_gid}'+'" target="_blank">'+MEGA.copy.Widgets.Activities.print_sel_card+'</a> | ','<a href="'+MEGA.config.Urls.SiteMonCardGen+'gid={sit_site_gid}'+'" target="_blank">'+MEGA.copy.Widgets.Activities.print_mon_card+'</a></div>'];MEGA.data.Site.Tpl.Tasks_Label=['<b style="color:#15428B;">'+MEGA.copy.Widgets.MapToolbar.tasks_btn+':</b>','<div style="padding-left:5px; padding-bottom:5px;">'];MEGA.data.Site.Tpl.Tasks_Autenticated_top=['<a href="#" onclick="MEGA.app.EditSiteWorkflow = new MEGA.workflows.EditSite({ app: MEGA.app, siteid: {sit_site_gid}, megakey:{mk_mega_key} })">'+MEGA.copy.Widgets.SearchResults.edit_site+'</a>',' | <a href="#" onclick="MEGA.app.retireSite({sit_site_gid})">'+MEGA.copy.Widgets.SearchResults.retire_site+'</a>',' | <a href="#" onclick="MEGA.app.Map.setCenter(new OpenLayers.LonLat.fromString(\'{centroid}\'),10);MEGA.app.addNewSiteElement()">'+MEGA.copy.Widgets.SearchResults.add_site_element+'</a>',' | <a href="#" onclick="MEGA.app.AddMonitoringEventWorkflow = new MEGA.workflows.AddMonitoringEvent({ app: MEGA.app, megakey: {mk_mega_key} })">'+MEGA.copy.Widgets.SearchResults.add_monitoring_event+'</a>'];MEGA.data.Site.Tpl.Tasks_Autenticated_bottom=['</div><b style="color:#15428B;">'+MEGA.copy.app.exportTo+':</b>','<div style="padding-left:5px">','<a href="proxy/site_shpfile/{sit_site_gid}" target="_blank">'+MEGA.copy.Widgets.SearchResults.export_to_shapefile+'</a> | ','<a href="proxy/site_kml/{sit_site_gid}" target="_blank">'+MEGA.copy.Widgets.SearchResults.export_to_kml+'</a></div></div>','</div></div></div>'];MEGA.data.Site.getPopupTemplate=function(loggedIn,clusterCount){var a='';a+=MEGA.data.Site.Tpl.PopupHeader.join('');if(clusterCount>1){a+=String.format(MEGA.data.Site.Tpl.ClusterInfo[0],clusterCount);}
if(loggedIn){a+=MEGA.data.Site.Tpl.View.join('');if(!MEGA.app.User.Roles.isAnonymous){a+=MEGA.data.Site.Tpl.Tasks_Label.join('');if(MEGA.app.User.Roles.isEditor||MEGA.app.User.Roles.isApprover){a+=MEGA.data.Site.Tpl.Tasks_Autenticated_top.join('');}
a+=MEGA.data.Site.Tpl.Tasks_Autenticated_bottom.join('');}}else{a+=MEGA.data.Site.Tpl.View.join('');}
return new MEGA.data.Site.PopupTemplate(a);};MEGA.data.Site.getExpandTemplate=function(loggedIn){var a='';a+=MEGA.data.Site.Tpl.ExpandHeader.join('');a+=MEGA.data.Site.Tpl.SiteFacts.join('');if(loggedIn){a+=MEGA.data.Site.Tpl.View.join('');if(!MEGA.app.User.Roles.isAnonymous){a+=MEGA.data.Site.Tpl.Tasks_Label.join('');if(MEGA.app.User.Roles.isEditor||MEGA.app.User.Roles.isApprover){a+=MEGA.data.Site.Tpl.Tasks_Autenticated_top.join('');}
a+=MEGA.data.Site.Tpl.Tasks_Autenticated_bottom.join('');}}else{a+=MEGA.data.Site.Tpl.View.join('');}
return new MEGA.data.Site.PopupTemplate(a);};Ext.namespace('MEGA','MEGA.data','MEGA.data.SiteElement','MEGA.data.SiteElement.PopupTpl');MEGA.data.SiteElement=Ext.data.Record.create([{name:'mk_mega_key',mapping:'mk_mega_key'},{name:'sit_site_gid',mapping:'sit_site_gid'},{name:'mk_sel_gid',mapping:'mk_sel_gid'},{name:'sel_primary_name',mapping:'sel_primary_name'},{name:'site_primary_name',mapping:'site_primary_name'},{name:'sel_names_list',mapping:'sel_names_list'},{name:'sel_entry_date',mapping:'sel_entry_date'},{name:'sel_type',mapping:'sel_type'},{name:'governorate',mapping:'governorate'},{name:'subgovernorate',mapping:'subgovernorate'},{name:'governorate_id',mapping:'gov_id'},{name:'subgovernorate_id',mapping:'subgov_id'},{name:'geometry',mapping:'geometry'},{name:'centroid',mapping:'centroid'}]);MEGA.data.SiteElement.selected=new MEGA.data.SiteElement({});MEGA.data.SiteElement.updateSelectedSiteElement=function(theData){var geometry=new OpenLayers.Format.WKT().read(theData.sel.Geometry).geometry;geometry.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"));var centroid=new OpenLayers.Format.WKT().read(theData.sel.Centroid).geometry;centroid.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"));var sel_entry_date=Ext.decode((theData.sel.SelEntryDate).replace(new RegExp('/Date\\((-?[0-9]+)\\)/','g'),"new Date($1)"));MEGA.data.SiteElement.selected.set("mk_mega_key",theData.mk_mega_key);MEGA.data.SiteElement.selected.set("sit_site_gid",theData.site.SitSiteGiD);MEGA.data.SiteElement.selected.set("mk_sel_gid",theData.sel.SelElementGiD);MEGA.data.SiteElement.selected.set("sel_primary_name",theData.sel.primary_sel_name);MEGA.data.SiteElement.selected.set("site_primary_name",theData.site_primary_name);MEGA.data.SiteElement.selected.set("sel_entry_date",sel_entry_date.format('F j, Y'));MEGA.data.SiteElement.selected.set("sel_type",theData.sel_type);MEGA.data.SiteElement.selected.set("governorate",theData.gov);MEGA.data.SiteElement.selected.set("subgovernorate",theData.subgov);MEGA.data.SiteElement.selected.set("governorate_id",theData.gov_id);MEGA.data.SiteElement.selected.set("subgovernorate_id",theData.subgov_id);MEGA.data.SiteElement.selected.set("geometry",geometry);MEGA.data.SiteElement.selected.set("centroid",centroid.toShortString());};MEGA.data.SiteElement.Tpl={};if(FGI.copy.DisplayRightToLeft){MEGA.data.SiteElement.Tpl.PopupHeader=['<div style="text-align:right; margin:5px; font-family:Verdana, Helvetica, Sans-Serif;" dir="rtl">','<div style="font-weight:bold; font-size:10px; color:#15428B;">'+MEGA.copy.app.megaNumber+': {mk_mega_key}</div>','<div style="color:#808080;font-size: 10px;padding-bottom:5px;">'+MEGA.copy.Widgets.SearchResults.location+': '+MEGA.copy.app.adminBoundaryName1+' > {governorate} > {subgovernorate}</div>'];}else{MEGA.data.SiteElement.Tpl.PopupHeader=['<div style="margin:5px; font-family:Verdana, Helvetica, Sans-Serif;">','<div style="font-weight:bold; font-size:10px; color:#15428B;">'+MEGA.copy.app.megaNumber+': {mk_mega_key}</div>','<div style="color:#808080;font-size: 10px;padding-bottom:5px;">'+MEGA.copy.Widgets.SearchResults.location+': '+MEGA.copy.app.adminBoundaryName1+' > {governorate} > {subgovernorate}</div>'];}
if(FGI.copy.DisplayRightToLeft){MEGA.data.SiteElement.Tpl.ExpandHeader=['<div style="text-align:right;margin:5px; font-family:Verdana, Helvetica, Sans-Serif;" dir="rtl">'];}else{MEGA.data.SiteElement.Tpl.ExpandHeader=['<div style=" margin:5px; font-family:Verdana, Helvetica, Sans-Serif;">'];}
MEGA.data.SiteElement.Tpl.View=['<div style="font-size:10px; padding-top:10px;"><b style="color:#15428B;">'+MEGA.copy.app.view+':</b>','<div style="padding-left:5px; padding-bottom:5px;">','<a href="#" onclick="MEGA.app.Map.setCenter(new OpenLayers.LonLat.fromString(\'{centroid}\'),11)">'+MEGA.copy.Widgets.SearchResults.zoom_to_sel+'</a> | ','<a href="'+MEGA.config.Urls.SelBoundCardGen+'gid={sit_site_gid}'+'" target="_blank">'+MEGA.copy.Widgets.Activities.print_sel_card+'</a> | ','<a href="'+MEGA.config.Urls.SelMonCardGen+'gid={mk_sel_gid}'+'" target="_blank">'+MEGA.copy.Widgets.Activities.print_mon_card+'</a></div>',];MEGA.data.SiteElement.Tpl.Tasks_Label=['<b style="color:#15428B;">'+MEGA.copy.Widgets.MapToolbar.tasks_btn+':</b>','<div style="padding-left:5px; padding-bottom:5px;">'];MEGA.data.SiteElement.Tpl.Tasks_Autenticated_top=['<a onclick="MEGA.app.EditSiteElementWorkflow = new MEGA.workflows.EditSiteElement({ app: MEGA.app, siteid: {sit_site_gid}, selid:{mk_sel_gid}, megakey: {mk_mega_key} })" href="#">'+MEGA.copy.Workflows.EditSel.wizwin_title+'</a>',' | <a href="#" onclick="MEGA.app.retireSiteElem({mk_sel_gid})">'+MEGA.copy.Widgets.SearchResults.retire_sel+'</a>',' | <a onclick="MEGA.app.AddMonitoringEventWorkflow = new MEGA.workflows.AddMonitoringEvent({ app: MEGA.app, megakey: {mk_mega_key} })" href="#">'+MEGA.copy.Widgets.SearchResults.add_monitoring_event+'</a>'];MEGA.data.SiteElement.Tpl.Tasks_Autenticated_bottom=['</div></div></div>'];MEGA.data.SiteElement.getPopupTemplate=function(loggedIn){var a='';a+=this.Tpl.PopupHeader.join('');a+=this.Tpl.View.join('');if(loggedIn){if(!MEGA.app.User.Roles.isAnonymous){a+=this.Tpl.Tasks_Label.join('');if(MEGA.app.User.Roles.isEditor||MEGA.app.User.Roles.isApprover){a+=this.Tpl.Tasks_Autenticated_top.join('');}
a+=this.Tpl.Tasks_Autenticated_bottom.join('');}}
return new Ext.Template(a);};MEGA.data.SiteElement.getExpandTemplate=function(loggedIn){var a='';a+=this.Tpl.ExpandHeader.join('');a+=this.Tpl.View.join('');if(loggedIn){if(!MEGA.app.User.Roles.isAnonymous){a+=this.Tpl.Tasks_Label.join('');if(MEGA.app.User.Roles.isEditor||MEGA.app.User.Roles.isApprover){a+=this.Tpl.Tasks_Autenticated_top.join('');}
a+=this.Tpl.Tasks_Autenticated_bottom.join('');}}
return new Ext.Template(a);};Ext.namespace('MEGA','MEGA.data','MEGA.data.DAL');MEGA.data.DAL={getRemoteData:function(url,successCb,failureCb,theScope){Ext.Ajax.request({url:url,scope:theScope,disableCaching:false,success:successCb,failure:failureCb});}};Ext.namespace('MEGA','MEGA.forms');Ext.apply(Ext.form.VTypes,{elevation:function(v){return/^-{0,1}\d*\.{0,1}\d+$/.test(v);},elevationText:'Must be a valid elevation value (in meters)'});MEGA.forms.Site={codesToRemove:{},createSelfRemovingNode:function(subjectNode,targetNode,removeLocation){var clonedNode=$(subjectNode).clone();var newDiv=document.createElement('div');newDiv.setAttribute('style','display:none; padding-bottom:7px;');$(newDiv).append(clonedNode);if(removeLocation=="left"){$(newDiv).prepend('<a style="padding-right:10px;" href="#" class="remove">'+MEGA.copy.Workflows.Forms.remove+'</a>');}else if(removeLocation=="right"){$(newDiv).append('<a style="padding-left:10px;" href="#" class="remove">'+MEGA.copy.Workflows.Forms.remove+'</a>');}
$(targetNode).prepend($(newDiv).fadeIn(500));$(newDiv).find('a.remove').bind('click',function(e){$(this).unbind('click');$(this).parent().fadeOut(500,function(){this.parentNode.removeChild(this);});});return $(newDiv);},addComboNode:function(newNodeName,targetNodeId,ComboId,name,value){if(name[0]!=undefined&&value[0]!=undefined){var newDiv=MEGA.forms.Site.copyTextNode(name,value,newNodeName,targetNodeId);$(newDiv).find('a.remove').unbind('click');$(newDiv).find('a.remove').data('value',value);$(newDiv).find('a.remove').data('name',name);$(newDiv).find('a.remove').bind('click',function(e){$(this).unbind('click');$(this).parent().fadeOut(500,function(){this.parentNode.removeChild(this);});var newname=$(this).data('name');var newvalue=$(this).data('value');Ext.getCmp(ComboId).store.add(new Ext.data.Record({text:newname,value:newvalue}));});}
else{var comboBox=Ext.getCmp(ComboId);var rawVal=comboBox.getRawValue()
var val=comboBox.getValue()
if(val!=""){var newDiv=MEGA.forms.Site.copyTextNode(rawVal,val,newNodeName,targetNodeId);var recs=comboBox.store.data.items;for(i in recs){if(typeof recs[i]!="function"){if(recs[i].data.value==val){var selectedRecord=recs[i];}}}
comboBox.store.remove(selectedRecord);comboBox.clearValue();$(newDiv).find('a.remove').unbind('click');$(newDiv).find('a.remove').data('record',selectedRecord);$(newDiv).find('a.remove').bind('click',function(e){$(this).unbind('click');$(this).parent().fadeOut(500,function(){this.parentNode.removeChild(this);});comboBox.store.add(new Ext.data.Record($(this).data('record').data));});}}},addCitation:function(name,value){MEGA.forms.Site.addComboNode('cit_additional','add_cit_target','cit_newcit',name,value);},addSurvey:function(name,value){MEGA.forms.Site.addComboNode('sur_additional','add_survey_target','Surveylist',name,value);},addInvestigator:function(){var additionalInvestigator=$('#inv_additional_copy').val();if(additionalInvestigator!=""){this.copyTextNode(additionalInvestigator,additionalInvestigator,'inv_additional','add-inv-target')
$('#inv_additional_copy').val('');}},initName:function(){Ext.apply(Ext.form.VTypes,{elementCode:function(v){return/^\d{1,3}$/.test(v);},elementCodeText:'Must be a three digit code'});Ext.each(jQuery(".element_code"),function(item,index,all){var newField=new Ext.form.TextField({vtype:'elementCode',id:'ext_element_code'});newField.applyToMarkup(item.id);this.form.add(newField);},this);Ext.each(jQuery(".ext_textfield"),function(item,index,all){var newField=new Ext.form.TextField();newField.applyToMarkup(item.id);this.form.add(newField);},this);jQuery(".ext_textfield").removeClass("ext_textfield");Ext.each(jQuery(".ext_combobox"),function(item,index,all){var width=Ext.Element.get(item.id).getWidth();var selectFunction=jQuery('#'+item.id).attr('extonselect');var validate=jQuery('#'+item.id).attr('validate');var combo=new Ext.form.ComboBox({typeAhead:true,triggerAction:'all',width:width,id:item.id,transform:item.id,forceSelection:true});this.form.add(combo);if(selectFunction){var target=selectFunction.split("'")[1];var fn=selectFunction.split("(")[0];combo.copyTarget=target;combo.on('select',eval(fn),this,null);}
if(validate){jQuery('#'+item.id).attr('validate',validate);}},this);jQuery(".ext_combobox").removeClass("ext_combobox");},viewElementCodes:function(){var elemLookupWin=new MEGA.widgets.CodeLookupWindow({codeType:"Element",targetInputId:'ext_element_code'});elemLookupWin.show();},getWizard:function(){switch(MEGA.app.activeWorkflow){case'AddSite':var wizard=MEGA.app.AddSiteWorkflow.addNewSiteWizard;break;case'AddSiteElement':var wizard=MEGA.app.AddSiteElementWorkflow.addNewSiteElementWizard;break;case'EditSite':var wizard=MEGA.app.EditSiteWorkflow.editSiteWizard;break;case'EditSiteElement':var wizard=MEGA.app.EditSiteElementWorkflow.editSiteElementWizard;break;case'AddMonitoringEvent':var wizard=MEGA.app.AddMonitoringEventWorkflow.addNewMonitoringEventWizard;break;case'EditMonitoringEvent':var wizard=MEGA.app.EditMonitoringEventWorkflow.editMonitoringEventWizard;break;}
return wizard;},addName:function(name,lang,langCode){var wizard=this.getWizard();if(name!=undefined){var additionalName=name;}
else{var additionalName=wizard.getForm().findField('do_not_submit_1').getValue();wizard.getForm().findField('do_not_submit_1').reset();}
var languageCode='eng';var language='English';if(additionalName!=""&&languageCode!=""){var newNode=this.copyTextNode('<span style="color: #808080; font-weight:normal;">'+MEGA.copy.app.name+': </span><span style="color: #000000; font-weight:normal;">'+additionalName+'</span>','{name:"'+additionalName+'", languageCode:"'+languageCode+'"}','name_additional','add_name_target');$('#name_additional').val('');}},addDist:function(desc,def,code){var wizard=this.getWizard();if(desc!=undefined&&def!=undefined&&code!=undefined){var codeDesc=desc;var codeDef=code+' '+def;var codeCode=code;}
else{var codeDesc=wizard.getForm().findField('do_not_submit_ddesc').getValue();var comboBox=wizard.getForm().findField('do_not_submit_dcode');var codeCode=comboBox.getValue();var codeDef=comboBox.getRawValue();wizard.getForm().findField('do_not_submit_ddesc').reset();wizard.getForm().findField('do_not_submit_dcode').reset();}
if(codeCode!=""){if(codeDesc==""){codeDescText="None";}
else{codeDescText=codeDesc;}
var newNode=this.copyTextNode('<span style="color: #808080; font-weight:normal;">'+MEGA.copy.app.code+': </span><span style="color: #000000; font-weight:normal;">'+codeDef+'</span><span style="color: #808080; font-weight:normal; padding-left:10px;">'+MEGA.copy.app.description+': </span><span style="color: #000000; font-weight:normal;">'+codeDescText+'</span>','{desc:"'+codeDesc+'", disturbanceCode:"'+codeCode+'"}','dist_codes','add_disturbances_target');$('#dist_codes').val('');}},addThreat:function(desc,def,code){var wizard=this.getWizard();if(desc!=undefined&&def!=undefined&&code!=undefined){var codeDesc=desc;var codeDef=code+' '+def;var codeCode=code;}
else{var codeDesc=wizard.getForm().findField('do_not_submit_tdesc').getValue();var comboBox=wizard.getForm().findField('do_not_submit_tcode');var codeCode=comboBox.getValue();var codeDef=comboBox.getRawValue();wizard.getForm().findField('do_not_submit_tdesc').reset();wizard.getForm().findField('do_not_submit_tcode').reset();}
if(codeCode!=""){if(codeDesc==""){codeDescText="None";}
else{codeDescText=codeDesc;}
var newNode=this.copyTextNode('<span style="color: #808080; font-weight:normal;">'+MEGA.copy.app.code+': </span><span style="color: #000000; font-weight:normal;">'+codeDef+'</span><span style="color: #808080; font-weight:normal; padding-left:10px;">'+MEGA.copy.app.description+': </span><span style="color: #000000; font-weight:normal;">'+codeDescText+'</span>','{desc:"'+codeDesc+'", threatCode:"'+codeCode+'"}','threat_codes','add_threats_target');$('#threat_codes').val('');}},addViolation:function(desc,def,code){var wizard=this.getWizard();if(desc!=undefined&&def!=undefined&&code!=undefined){var codeDesc=desc;var codeDef=code+' '+def;var codeCode=code;}
else{var codeDesc=wizard.getForm().findField('do_not_submit_ldesc').getValue();var comboBox=wizard.getForm().findField('do_not_submit_lcode');var codeCode=comboBox.getValue();var codeDef=comboBox.getRawValue();wizard.getForm().findField('do_not_submit_ldesc').reset();wizard.getForm().findField('do_not_submit_lcode').reset();}
if(codeCode!=""){if(codeDesc==""){codeDescText="None";}
else{codeDescText=codeDesc;}
var newNode=this.copyTextNode('<span style="color: #808080; font-weight:normal;">'+MEGA.copy.app.code+': </span><span style="color: #000000; font-weight:normal;">'+codeDef+'</span><span style="color: #808080; font-weight:normal; padding-left:10px;">'+MEGA.copy.app.description+': </span><span style="color: #000000; font-weight:normal;">'+codeDescText+'</span>','{desc:"'+codeDesc+'", violationCode:"'+codeCode+'"}','legal_violation_codes','add_violations_target');$('#legal_violation_codes').val('');}},addRecommendation:function(desc,def,code,priority){var wizard=this.getWizard();if(desc!=undefined&&def!=undefined&&code!=undefined&&priority!=undefined){var codeDesc=desc;var codeDef=code+' '+def;var codeCode=code;var priorityCode=priority;}
else{var codeDesc=wizard.getForm().findField('do_not_submit_mdesc').getValue();var comboBox=wizard.getForm().findField('do_not_submit_mcode');var priorityCode=$('#pcode_table input:radio:checked').val();var codeCode=comboBox.getValue();var codeDef=comboBox.getRawValue();wizard.getForm().findField('do_not_submit_mdesc').reset();wizard.getForm().findField('do_not_submit_mcode').reset();}
if(codeCode!=""&&priorityCode!=undefined){if(codeDesc==""){codeDescText="None";}
else{codeDescText=codeDesc;}
switch(priorityCode){case'1':var priorityCodeDef=MEGA.copy.app.low;break;case'2':var priorityCodeDef=MEGA.copy.app.med;break;case'3':var priorityCodeDef=MEGA.copy.app.high;break;}
var newNode=this.copyTextNode('<span style="color: #808080; font-weight:normal;">'+MEGA.copy.app.code+': </span><span style="color: #000000; font-weight:normal;">'+codeDef+'</span><span style="color: #808080; font-weight:normal; padding-left:10px;">'+MEGA.copy.app.priority+': </span><span style="color: #000000; font-weight:normal;">'+priorityCodeDef+'</span><span style="color: #808080; font-weight:normal; padding-left:10px;">'+MEGA.copy.app.description+': </span><span style="color: #000000; font-weight:normal;">'+codeDescText+'</span>','{desc:"'+codeDesc+'", priorityCode:"'+priorityCode+'", recommendationCode:"'+codeCode+'"}','management_recommendations_codes','add_recommendations_target');$('#management_recommendations_codes').val('');}},addPeriod:function(per,percode){if(per[0]!=undefined&&percode[0]!=undefined){if(typeof MEGA.forms.Site.codesToRemove['do_not_submit_per']=='undefined'){MEGA.forms.Site.codesToRemove['do_not_submit_per']=[percode];}else{MEGA.forms.Site.codesToRemove['do_not_submit_per'].push(percode);}
var periodCode=percode;var period=per;var newDiv=MEGA.forms.Site.copyTextNode(period,periodCode,'period_code','add_period_target');$(newDiv).find('a.remove').unbind('click');$(newDiv).find('a.remove').data('value',periodCode);$(newDiv).find('a.remove').data('name',period);$(newDiv).find('a.remove').bind('click',function(e){var newname=$(this).data('name');var newvalue=$(this).data('value');Ext.getCmp('do_not_submit_per').store.add(new Ext.data.Record({text:newname,value:newvalue}));$(this).unbind('click');$(this).parent().fadeOut(500,function(){this.parentNode.removeChild(this);});});}
else{var comboBox=Ext.getCmp('do_not_submit_per');var periodCode=comboBox.getValue();var period=comboBox.getRawValue();if(comboBox.getValue()!=""){var newDiv=MEGA.forms.Site.copyTextNode(period,periodCode,'period_code','add_period_target');var recs=comboBox.store.data.items;for(i in recs){if(typeof recs[i]!="function"){if(recs[i].data.value==comboBox.getValue()){var selectedRecord=recs[i];}}}
comboBox.store.remove(selectedRecord);comboBox.clearValue();$(newDiv).find('a.remove').unbind('click');$(newDiv).find('a.remove').data('record',selectedRecord);$(newDiv).find('a.remove').bind('click',function(e){$(this).unbind('click');$(this).parent().fadeOut(500,function(){this.parentNode.removeChild(this);});comboBox.store.add(new Ext.data.Record($(this).data('record').data));});}}},addInv:function(addlast,addfirst,addaff){var wizard=this.getWizard();if(addfirst!=undefined&&addlast!=undefined&&addaff!=undefined){var additionalLast=addfirst;var additionalFirst=addlast;var additionalAffiliation=addaff;}
else{var additionalLast=wizard.getForm().findField('inv_do_not_submit_1').getValue();var additionalFirst=wizard.getForm().findField('inv_do_not_submit_2').getValue();var additionalAffiliation=wizard.getForm().findField('inv_do_not_submit_3').getValue();wizard.getForm().findField('inv_do_not_submit_1').reset();wizard.getForm().findField('inv_do_not_submit_2').reset();wizard.getForm().findField('inv_do_not_submit_3').reset();}
if(additionalLast!=""&&additionalFirst!=""&&additionalAffiliation!=""){var newNode=this.copyTextNode('<span style="color: #808080; font-weight:normal;">'+MEGA.copy.app.name+': </span><span style="color: #000000; font-weight:normal;">'+additionalLast+', '+additionalFirst+'</span><span style="color: #808080; font-weight:normal; padding-left:10px;">'+MEGA.copy.app.institution+': </span><span style="color: #000000; font-weight:normal;">'+additionalAffiliation+'</span>','{lastName:"'+additionalLast+'", firstName:"'+additionalFirst+'", affiliation:"'+additionalAffiliation+'"}','inv_additional','add-inv-target');$('#inv_additional').val('');}},copyText:function(subjectNode,targetNode){var wizard=this.getWizard();$('#'+targetNode).text(wizard.getForm().findField(subjectNode.id).getValue());},copyDate:function(subjectNode,targetNode){var wizard=this.getWizard();$('#'+targetNode).text(wizard.getForm().findField(subjectNode.id).getRawValue());},copySelect:function(subjectNode,targetNode){$('#'+targetNode).text($('#'+subjectNode.id+' :selected').text());},copyExtSelect:function(combo,record,index){$('#'+combo.copyTarget).text(record.data.text);},copyTextNode:function(displayText,valueToSubmit,newNodeName,targetNodeId){var num=Math.floor(Math.random()*100000000);var visibleNode=$('<span type="text" style="border:none 0px">'+displayText+'</span>');var hiddenNode=$('<input type="hidden" />');hiddenNode.attr('name',newNodeName+'_'+num);hiddenNode.attr('value',valueToSubmit);var newNode=visibleNode.append(hiddenNode);var newDiv=this.createSelfRemovingNode(newNode,"#"+targetNodeId,'right');return newDiv;},copySelectNode:function(subjectNode,newNodeName,target,unique){var num=Math.floor(Math.random()*100000000);var visibleNode=$('<span type="text" style="border:none 0px">'+subjectNode.value+'</span>');var hiddenNode=$('<input type="hidden" />');newNodeName=unique?newNodeName+'_'+num:newNodeName;hiddenNode.attr('name',newNodeName);hiddenNode.attr('value',subjectNode.value);var newNode=visibleNode.wrapAll("<div></div>").append(hiddenNode);if(typeof target=='string'){$(target).append(newNode);}
return newNode;},genOwnershipStatusConfig:function(doa,acquisition,government,priv,unknown){MEGA.forms.ownershipStatusConfig={doa:doa,acquisition:acquisition,government:government,priv:priv,unknown:unknown}},ownershipStatusEditInit:function(){Ext.each(jQuery(".ext_checkbox"),function(item,index,all){switch(item.id){case'ownership-box-2':var checked=MEGA.forms.ownershipStatusConfig.doa;break;case'ownership-box-5':var checked=MEGA.forms.ownershipStatusConfig.acquisition;break;case'ownership-box-3':var checked=MEGA.forms.ownershipStatusConfig.government;break;case'ownership-box-4':var checked=MEGA.forms.ownershipStatusConfig.priv;break;case'ownership-box-1':var checked=MEGA.forms.ownershipStatusConfig.unknown;break;}
var boxLabel=jQuery('#'+item.id).attr('label');if(boxLabel){var newBox=new Ext.form.Checkbox({boxLabel:boxLabel,checked:checked});}
else{var newBox=new Ext.form.Checkbox();}
newBox.applyToMarkup(item.id);this.form.add(newBox);},this);jQuery(".ext_checkbox").removeClass("ext_checkbox");},convertExtFields:function(){if($('#lockstatus')[0]!=null&&$('#lockstatus')[0].innerHTML=='True'){switch(MEGA.app.activeWorkflow){case'EditSite':Ext.MessageBox.alert(MEGA.concurrency.Locked_title,MEGA.concurrency.Site_Locked);MEGA.app.EditSiteWorkflow.editSiteWizardWindow.isLocked=true;MEGA.app.EditSiteWorkflow.editSiteWizardWindow.close()
break;case'EditSiteElement':Ext.MessageBox.alert(MEGA.concurrency.Locked_title,MEGA.concurrency.SiteElem_Locked);MEGA.app.EditSiteElementWorkflow.editSiteElementWizard.isLocked=true;MEGA.app.EditSiteElementWorkflow.editSiteElementWizard.close()
break;}
return;}
Ext.each(jQuery(".ext_textfield"),function(item,index,all){var newField=new Ext.form.TextField();var mask=jQuery('#'+item.id).attr('mask');if(mask){newField.emptyText=mask;}
var vtype=jQuery('#'+item.id).attr('vtype');if(vtype){newField.vtype=vtype;}
newField.applyToMarkup(item.id);this.form.add(newField);},this);jQuery(".ext_textfield").removeClass("ext_textfield");Ext.each(jQuery(".ext_textarea"),function(item,index,all){var newField=new Ext.form.TextArea();var mask=jQuery('#'+item.id).attr('mask');if(mask){newField.emptyText=mask;}
newField.applyToMarkup(item.id);this.form.add(newField);},this);jQuery(".ext_textarea").removeClass("ext_textarea");Ext.each(jQuery(".ext_datefield"),function(item,index,all){var newField=new Ext.form.DateField({maxValue:new Date(),format:'d/m/Y',altFormats:'d/m/Y|d.m.Y|d-m-Y|F j, Y|j/n/Y|d/n/Y|j/m/Y|j.n.Y|d.n.Y|j.m.Y|j-n-Y|d-n-Y|j-m-Y',emptyText:'e.g. 31/03/2009',invalidText:'This is not a valid date - it must be in the format dd/mm/yyyy'});newField.applyToMarkup(item.id);this.form.add(newField);},this);jQuery(".ext_datefield").removeClass("ext_datefield");Ext.each(jQuery(".ext_combobox"),function(item,index,all){var width=Ext.Element.get(item.id).getWidth();var selectFunction=jQuery('#'+item.id).attr('extonselect');var validate=jQuery('#'+item.id).attr('validate');var sortby=jQuery('#'+item.id).attr('sortby');var sortorder=jQuery('#'+item.id).attr('sortorder');var mask=jQuery('#'+item.id).attr('mask');if(!mask){mask="";}
var combo=new Ext.form.ComboBox({typeAhead:true,triggerAction:'all',width:width,id:item.id,transform:item.id,emptyText:mask,forceSelection:true,enableKeyEvents:true,tpl:'<tpl for="."><div ext:qtip="{text}" class="x-combo-list-item">{text}</div></tpl>'});if((sortby)&&(sortorder)){combo.store.sort(sortby,sortorder)
combo.store.on('add',function(){this.sort(sortby,sortorder);});}else{combo.store.sort('text','ASC')
combo.store.on('add',function(){this.sort('text','ASC');});}
if(typeof MEGA.forms.Site.codesToRemove[item.id]!='undefined'){Ext.each(MEGA.forms.Site.codesToRemove[item.id],function(item,index,allItems){var recs=combo.store.data.items;for(i in recs){if(typeof recs[i]!="function"){if(recs[i].data.value==combo.getValue()){var selectedRecord=recs[i];}}}
combo.store.remove(selectedRecord);},this);delete MEGA.forms.Site.codesToRemove[item.id];}
this.form.add(combo);if(selectFunction){var target=selectFunction.split("'")[1];var fn=selectFunction.split("(")[0];combo.copyTarget=target;combo.on('select',eval(fn),this,null);}
if(validate){jQuery('#'+item.id).attr('validate',validate);}},this);jQuery(".ext_combobox").removeClass("ext_combobox");Ext.each(jQuery(".ext_checkbox"),function(item,index,all){var boxLabel=jQuery('#'+item.id).attr('label');if(boxLabel){var newBox=new Ext.form.Checkbox({boxLabel:boxLabel});}
else{var newBox=new Ext.form.Checkbox();}
newBox.applyToMarkup(item.id);this.form.add(newBox);},this);jQuery(".ext_checkbox").removeClass("ext_checkbox");},setBufferMode:function(interactive){switch(MEGA.app.activeWorkflow){case'AddSite':MEGA.app.AddSiteWorkflow.setBufferMode(interactive);break;case'EditSite':MEGA.app.EditSiteWorkflow.setBufferMode(interactive);break;}}};Ext.namespace('MEGA','MEGA.forms');MEGA.forms.validateField=function(field){var validate=Ext.decode($(field.getEl().dom).attr('validate'));var value=field.getRawValue();if(field.getXType()=='combo'){validate=Ext.decode($(field.hiddenField).attr('validate'));}
if(validate.blank==false&&value.trim()==''){field.markInvalid(MEGA.copy.Workflows.Wizards.empty_validation_msg);return false;}
if(validate.notblank==false&&value.trim()!=''){field.markInvalid(MEGA.copy.Workflows.Wizards.usePlusButtonToAddData);return false;}
if(validate.ascii==true){var stringForValidation=value.trim();for(var i=0;i<stringForValidation.length;i++){var asciiNum=stringForValidation.charCodeAt(i);if(asciiNum>160||asciiNum<9){field.markInvalid(MEGA.copy.Workflows.Forms.asciiOnly);return false;}}}
if(validate.numeric==true&&isNaN(value)){field.markInvalid(MEGA.copy.Workflows.Forms.numericOnly);return false;}
return true;};Ext.namespace('MEGA','MEGA.actions');MEGA.actions={Utils:{setLanguage:function(lang,rtl){window.location.replace(window.location.pathname+'?lang='+lang+'&DisplayRightToLeft='+rtl);},convertDMSCoords:function(txtCoords){var getNsewSigns=function(ns,ew){if(!ns&&!ew){return{'ns':+1,'ew':+1};}
var s={'ns':0,'ew':0};ns=ns.toLowerCase();ew=ew.toLowerCase();if(ns=="n"){s['ns']=+1;}
if(ns=="s"){s['ns']=-1;}
if(ew=="e"){s['ew']=+1;}
if(ew=="w"){s['ew']=-1;}
if(!s['ns']||!s['ew']){return false;}
return s;}
var txtCoordsArr=txtCoords.split(',');var convertedTxtCoords='';Ext.each(txtCoordsArr,function(item,index,all){var text=item.trim();var match;var signs;var reNS="([NS]|[SJ]|s\\.?\\s*z?\\.?\\s*[s\u0161]\\.?\\s*|j\\.?\\s*z?\\.?\\s*[s\u0161]\\.?)";var reEW="([EW]|[VZ]|v\\.?\\s*z?\\.?\\s*d\\.?|z\\.?\\s*z?\\.?\\s*d\\.?)";if((match=text.match(new RegExp("(?:^|\\D)([-\\u2212]\\s*)?(\\d{1,2})[^\\d.]+([0-5]?\\d)[^\\d.]+([0-5]?\\d)(?:[.,](\\d+))?(?:\\W*"+reNS+"\\D*?|\\D+?)([-\\u2212]\\s*)?(1?\\d{1,2})[^\\d.]+([0-5]?\\d)[^\\d.]+([0-5]?\\d)(?:[.,](\\d+))?[^\\w]*"+reEW+"?","i")))&&(signs=getNsewSigns(match[6],match[12]))){var latsign=(match[1]?-1:1)*signs['ns'];var absdlat=Math.abs(Math.round(match[2]*1000000.));var absmlat=Math.abs(Math.round(Math.abs(Math.round(match[3]*1000000.)/1000000)*1000000.));var absslat=Math.abs(Math.round(Math.abs(Math.round((match[4]+(match[5]?'.'+match[5]:''))*1000000.)/1000000)*1000000.));var lonsign=(match[7]?-1:1)*signs['ew'];var absdlon=Math.abs(Math.round(match[8]*1000000.));var absmlon=Math.abs(Math.round(Math.abs(Math.round(match[9]*1000000.)/1000000)*1000000));var absslon=Math.abs(Math.round(Math.abs(Math.round((match[10]+(match[11]?'.'+match[11]:''))*1000000.)/1000000)*1000000.));var decimalLat=Math.round(absdlat+(absmlat/60.)+(absslat/3600.))*latsign/1000000;var decimalLon=Math.round(absdlon+(absmlon/60)+(absslon/3600))*lonsign/1000000;if(convertedTxtCoords==''){convertedTxtCoords=decimalLat+' '+decimalLon;}else{convertedTxtCoords+=', '+decimalLat+' '+decimalLon;}}},this);return convertedTxtCoords;}},englishLangButton:new Ext.Action({text:MEGA.copy.Widgets.MapToolbar.lang.en_us,handler:function(){MEGA.actions.Utils.setLanguage('en-us',false);}}),arabicLangButton:new Ext.Action({text:MEGA.copy.Widgets.MapToolbar.lang.ar_jo,handler:function(){MEGA.actions.Utils.setLanguage('ar-jo',true);}}),logoutButton:new Ext.Action({id:'logoutbutton',text:MEGA.copy.Widgets.MapToolbar.logout_btn||'Sign Out',cls:'button'}),changePasswordButton:new Ext.Action({id:'changepassword',text:MEGA.copy.Widgets.MapToolbar.change_pw_btn||'Change Password',cls:'button',handler:function()
{this.passwordChangeObj=new Ext.Window({title:MEGA.copy.actions.ChangePassword_text||'Change Password',layout:'fit',width:350,height:250,items:[new FGI.widgets.PasswordChangeForm({url:MEGA.config.Urls.ChangePassword,title:"",descriptiveText:MEGA.copy.Widgets.PasswordChange.descriptiveText,oldPasswordLabel:MEGA.copy.Widgets.PasswordChange.oldPwdLabel,newPasswordLabel:MEGA.copy.Widgets.PasswordChange.newPwdLabel,confirmNewPasswordLabel:MEGA.copy.Widgets.PasswordChange.confirmNewPwdLabel,submitBtnText:MEGA.copy.Widgets.PasswordChange.submitBtnText,cancelBtnText:MEGA.copy.app.cancelBtnText,errorMsgPwdMismatchTitle:MEGA.copy.Widgets.PasswordChange.errPwdMismatchTitle,changePwdWaitMask:MEGA.copy.Widgets.PasswordChange.changePwdWaitMask,changePwdSuccess:MEGA.copy.Widgets.PasswordChange.success})],modal:true,draggable:false,closeAction:'hide',closable:false});this.passwordChangeObj.show();}})};Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');Ext.DomObserver=Ext.extend(Object,{constructor:function(config){this.listeners=config.listeners?config.listeners:config;},init:function(c){var p,l=this.listeners;for(p in l){if(Ext.isFunction(l[p])){l[p]=this.createHandler(l[p],c);}else{l[p].fn=this.createHandler(l[p].fn,c);}}
c.render=c.render.createSequence(function(){var e=c.getEl();if(e){e.on(l);}});},createHandler:function(fn,c){return function(e){fn.call(this,e,c);};}});MEGA.config.Search={displayRightToLeft:false,init:function(){var dropDownHtml=['<div style="font-weight:bold; font-size:13px; color:#15428B;">{site_name}</div>','<div style="font-weight:bold; font-size:10px; color:#15428B;"><tpl for="site_names_list">','<tpl if="xindex != xcount">','{.}, ','</tpl>','<tpl if="xindex == xcount">','{.}','</tpl>','</tpl></div>','<div style="font-weight:bold; font-size:11px; color:#15428B;">'+MEGA.copy.Widgets.Search.megaj_num+': {mk_mega_key}</div>','<div style="color:#808080;">'+MEGA.copy.Widgets.Search.location+': '+MEGA.copy.Widgets.Search.country+' > {governorate} > {subgovernorate}</div></div></tpl>'];if(this.displayRightToLeft){dropDownHtml=['<tpl for="."><div class="search-item" style="text-align:right" dir="rtl">'].concat(dropDownHtml);}else{dropDownHtml=['<tpl for="."><div class="search-item">'].concat(dropDownHtml);}
var dropDownTpl=new Ext.XTemplate(dropDownHtml);return(this.searchGroups=[{comboConfig:{searchType:'site',emptyText:MEGA.copy.Widgets.Search.site_empty_text||'Sites search...',tpl:dropDownTpl,store:new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:MEGA.config.Urls.SiteSearch,method:'GET'}),reader:new Ext.data.JsonReader({root:'Sites',totalProperty:'TotalCount'},MEGA.data.Site)}),itemSelector:'div.search-item',queryParam:'query',minChars:3,enableKeyEvents:true},name:MEGA.copy.Widgets.Search.site_btn_name||'Sites',btnId:'site-search-btn',isDefault:true,icon:MEGA.config.Urls.SiteIconMini,onSelect:function(combo,record,index){},onTriggerClick:null,scope:this},{comboConfig:{searchType:'gpsCoords',emptyText:MEGA.copy.Widgets.Search.gps_coord_empty_text||'e.g. 35.92 30.9',tpl:new Ext.XTemplate('<tpl for="."><div class="search-item"><table>','<td><h3>{name}</h3>','{countryName}{lat},{lng}</td>','</table></div></tpl>'),store:new Ext.data.Store({proxy:new Ext.data.ScriptTagProxy({url:'http://ws.geonames.org/searchJSON?formatted=true&lang=en&style=full&country=JO'}),reader:new Ext.data.JsonReader({root:'geonames',totalProperty:'totalResultsCount'},[{name:'name',mapping:'name'},{name:'countryName',mapping:'countryName'},{name:'lat',mapping:'lat'},{name:'lng',mapping:'lng'}])}),itemSelector:'div.search-item',queryParam:'q',enableKeyEvents:true},name:MEGA.copy.Widgets.Search.gps_coord_btn||'GPS Coordinates',btnId:'gps-btn',icon:'Media/images/silk/icons/world.png',minChars:1000,cancelQuery:true,tooltip:{text:MEGA.copy.Widgets.Search.gps_coord_btn_tt||'Enter longitude, latitude',title:MEGA.copy.Widgets.Search.gps_coord_btn||'GPS Coordinates'},onSelect:function(combo,record,index){MEGA.app.Map.setCenter(new OpenLayers.LonLat(record.data.lng,record.data.lat).transform(MEGA.app.MapToolbar.Search.gpsCoordSys,MEGA.app.Map.getProjectionObject()));},onTriggerClick:function(){Ext.Msg.alert('Record Count','hello');}}]);}};MEGA.widgets.Search=Ext.extend(FGI.widgets.Search,{searchGroups:[],pageSize:10,id:'searchBox',addGoogleSearch:false,loadingText:FGI.copy.Widgets.Search.search_empty_text,fieldLabel:'<span style="font-weight:bold;">'+MEGA.copy.Widgets.Search.label+'</span>',hideLabel:true,width:680,border:false,comboWidth:445,googleHandler:function(record){Search.ComboBox.collapse();bounds=new OpenLayers.Bounds();bounds.extend(new OpenLayers.LonLat(record.data.ExtendedData.LatLonBox.east,record.data.ExtendedData.LatLonBox.south));bounds.extend(new OpenLayers.LonLat(record.data.ExtendedData.LatLonBox.west,record.data.ExtendedData.LatLonBox.north));Map.map.zoomToExtent(bounds);if(markers){Map.map.removeLayer(markers);markers.destroy();}
markers=new OpenLayers.Layer.Markers("Markers");Map.map.addLayer(markers);var size=new OpenLayers.Size(12,21);var offset=new OpenLayers.Pixel(-(size.w/2),-size.h);var icon=new OpenLayers.Icon('http://boston.openguides.org/markers/RED.png',size,offset);markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(record.data.Point.coordinates[0],record.data.Point.coordinates[1]),icon));MEGA.app.tasksWindow.toggle(true);var searchStore=new Ext.data.Store({proxy:new Ext.data.ScriptTagProxy({url:Search.ComboBox.store.proxy.url}),reader:Search.ComboBox.store.reader});searchStore.add(record);SearchResults.reconfigureAndRefresh(searchStore,new Ext.grid.ColumnModel([MEGA.config.SearchResults.expander,{id:'site',header:"Site",width:40,sortable:true,dataIndex:'address',renderer:MEGA.config.SearchResults.renderTitle}]));},defaultTriggerHandler:function(){},genAdvSearchBtn:function(){$("#searchBox .x-form-field-wrap").append('<span id="advanced-search-btn" style="padding-left:20px;"/>');var Action=new Ext.Action({cls:'fgi-search-btn',text:(MEGA.copy.Widgets.Search.advanced_btn||'Advanced')+'<span class="adv-btn-icon">&nbsp</span>',renderTo:'advanced-search-btn',enableToggle:true,handler:function(){MEGA.app.MapToolbar.advancedSearchResize();},disabled:true});this.advancedSearchButton=new FGI.component.LinkButton(Action);},setGpsCoordSys:function(projection,text,isDMS){this.gpsCoordSys=new OpenLayers.Projection(projection);this.coordSysIsDMS=isDMS;this.ComboBox.emptyText=text;this.ComboBox.clearValue();this.searchGroups[1].comboConfig.emptyText=text;},refreshGPSLayer:function(){var gpsMarkerLayer=MEGA.app.Map.getLayersByName("gpsMarkers")[0];gpsMarkerLayer.clearMarkers();},keyPressLayerRefresh:function(field,e){if(e.keyCode==8){this.refreshGPSLayer();}},initComponent:function(){Ext.apply(this,{});MEGA.widgets.Search.superclass.initComponent.apply(this,arguments);this.ComboBox.on('keypress',function(){this.ownerCt.items.items[1].toggleSearchButton();},this,{delay:200});var menuItems=[];var coordSystems=new MEGA.config.CoordinateSystems();for(var item in coordSystems){var isDMS=(item=='LATLONGDMS');if(coordSystems[item].isDefault){this.gpsCoordSys=new OpenLayers.Projection(coordSystems[item].srid);this.coordSysIsDMS=isDMS;}
menuItems.push(new Ext.menu.CheckItem({text:coordSystems[item].name,handler:function(item,isDMS){this.setGpsCoordSys(coordSystems[item].srid,coordSystems[item].example,isDMS);}.createDelegate(this,[item,isDMS]),scope:this,group:'gps-menu-grp',checked:coordSystems[item].isDefault}));}
this.gpsMenu=new Ext.menu.Menu({width:225,items:menuItems});Ext.getCmp('gps-btn').on('click',function(){this.ComboBox.un('keypress',this.keyPressLayerRefresh,this);this.ComboBox.on('keypress',this.keyPressLayerRefresh,this);this.gpsMenu.showAt([Ext.getCmp('gps-btn').getEl().getXY()[0]+5,Ext.getCmp('gps-btn').getEl().getXY()[1]+20]);},this);Ext.getCmp('site-search-btn').on('click',this.refreshGPSLayer,this);}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');MEGA.config.AdvancedSearch={};MEGA.widgets.AdvancedSearch=Ext.extend(Ext.form.FormPanel,{title:'<span style="color:#15428B; font-weight:bold; padding-bottom: 10px;">'+(MEGA.copy.Widgets.AdvancedSearch.title||'Advanced Search')+'</span>',baseCls:'',style:'padding:10px;',windowHeight:481,id:'AdvancedSearchBox',isActive:false,initComponent:function(){Ext.apply(Ext.form.VTypes,{daterange:function(val,field){var date=field.parseDate(val);if(!date){return;}
if(field.startDateField&&(!this.dateRangeMax||(date.getTime()!=this.dateRangeMax.getTime()))){var start=Ext.getCmp(field.startDateField);start.setMaxValue(date);start.validate();this.dateRangeMax=date;}
else if(field.endDateField&&(!this.dateRangeMin||(date.getTime()!=this.dateRangeMin.getTime()))){var end=Ext.getCmp(field.endDateField);end.setMinValue(date);end.validate();this.dateRangeMin=date;}
return true;}});this.addEvents({'customextentchecked':true,'resize':true,'searchbuttonclicked':true});Ext.apply(this,{minButtonWidth:150,buttonAlign:'right',items:[{layout:'column',border:false,bodyStyle:{"background-color":"#DFE8F6"},defaults:{columnWidth:0.5,layout:'form',border:false,xtype:'panel',bodyStyle:'padding:0 18px 0 0; background-color: #DFE8F6;'},items:[{defaults:{anchor:'100%'},cls:'adv-search-chk-box',items:[new Ext.form.Checkbox({boxLabel:MEGA.copy.Widgets.AdvancedSearch.limit_to_map||'Limit search to visible area',autoWidth:true,name:'map_extent',id:'map_extent',hideLabel:true,listeners:{'check':{fn:function(box,checked){if(checked){Ext.getCmp('custom_extent').reset();}},scope:this}}})]},{defaults:{anchor:'100%'},cls:'adv-search-chk-box',items:[new Ext.form.Checkbox({boxLabel:MEGA.copy.Widgets.AdvancedSearch.user_defined_poly||'Search by user-defined polygon',autoWidth:true,name:'custom_extent',id:'custom_extent',hideLabel:true,listeners:{'check':{fn:function(box,checked){if(checked){Ext.getCmp('map_extent').reset();this.fireEvent('customextentchecked',true);}
else{this.fireEvent('customextentchecked',false);}},scope:this}}})]}]},{xtype:"fieldset",title:(MEGA.copy.Widgets.AdvancedSearch.search_fields||"Advanced Search Fields")+" 1",id:'codeFieldSet',collapsible:true,autoHeight:true,autoWidth:true,defaults:{width:350},items:[{html:'',border:false}],listeners:{'beforecollapse':{fn:function(){this.windowHeight-=163;if(!this.autoCollapsing){this.fireEvent('resize');}},scope:this},'beforeexpand':{fn:function(){this.collapseAllFieldSets();this.windowHeight+=163;this.fireEvent('resize');},scope:this}}},{xtype:"fieldset",title:(MEGA.copy.Widgets.AdvancedSearch.search_fields||"Advanced Search Fields")+" 2",id:"advadmin",collapsible:true,collapsed:true,autoHeight:true,autoWidth:true,items:[new Ext.form.TextField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.createdby||'Record Created By',labelStyle:'text-align:right; width:115px;',name:'inputuser',id:'adv-inputuser',width:365,emptyText:'i.e. User Name...',enableKeyEvents:true}),new Ext.form.TextField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.investigator||'Investigator',labelStyle:'text-align:right; width:115px;',name:'investigator',id:'adv-investigator',width:365,emptyText:'i.e. Investigator Name...',enableKeyEvents:true})],listeners:{'collapse':{fn:function(){Ext.getCmp('advadmin').on({'beforecollapse':{fn:function(){this.windowHeight-=164;if(!this.autoCollapsing){this.fireEvent('resize');}},scope:this},'beforeexpand':{fn:function(){this.collapseAllFieldSets();this.windowHeight+=164;this.fireEvent('resize');},scope:this}});},single:true,scope:this}}},{xtype:"fieldset",title:(MEGA.copy.Widgets.AdvancedSearch.search_fields||"Advanced Search Fields")+" 3",id:"advmonfieldset",collapsible:true,collapsed:true,autoHeight:true,items:[{layout:'column',border:false,bodyStyle:{"background-color":"#DFE8F6"},defaults:{layout:'form',border:false,xtype:'panel',bodyStyle:'padding:0 18px 0 0; background-color: #DFE8F6;'},items:[{defaults:{anchor:'80%'},columnWidth:0.6,items:[{xtype:'datefield',id:'adv-monfrom',fieldLabel:MEGA.copy.Widgets.AdvancedSearch.mon_event+" "+MEGA.copy.Widgets.AdvancedSearch.mon_event_from||'Monitoring Event From',vtype:'daterange',endDateField:'adv-monto',labelStyle:'text-align:right; width:150px;',format:'d/m/Y',altFormats:'d/m/Y|d.m.Y|d-m-Y|F j, Y|j/n/Y|d/n/Y|j/m/Y|j.n.Y|d.n.Y|j.m.Y|j-n-Y|d-n-Y|j-m-Y',emptyText:'e.g. 31/03/2009',invalidText:'This is not a valid date - it must be in the format dd/mm/yyyy',enableKeyEvents:true}]},{defaults:{anchor:'97%'},columnWidth:0.4,labelWidth:50,layout:'form',items:[{xtype:'datefield',id:'adv-monto',fieldLabel:MEGA.copy.Widgets.AdvancedSearch.mon_event_to||'To',vtype:'daterange',startDateField:'adv-monfrom',labelStyle:'text-align:right; width: 35px;',format:'d/m/Y',altFormats:'d/m/Y|d.m.Y|d-m-Y|F j, Y|j/n/Y|d/n/Y|j/m/Y|j.n.Y|d.n.Y|j.m.Y|j-n-Y|d-n-Y|j-m-Y',emptyText:'e.g. 31/03/2009',invalidText:'This is not a valid date - it must be in the format dd/mm/yyyy',enableKeyEvents:true}]}]}],listeners:{'collapse':{fn:function(){Ext.getCmp('advmonfieldset').on({'beforecollapse':{fn:function(){this.windowHeight-=165;if(!this.autoCollapsing){this.fireEvent('resize');}},scope:this},'beforeexpand':{fn:function(){this.collapseAllFieldSets();this.windowHeight+=165;this.fireEvent('resize');},scope:this}});},single:true,scope:this}}},{xtype:"fieldset",title:MEGA.copy.Widgets.AdvancedSearch.free_text||"Free text",id:"advfreetext",collapsible:true,collapsed:true,autoHeight:true,autoWidth:true,defaults:{width:385},items:[new Ext.form.TextArea({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.free_text_search||'Free Text Search',name:'freetext',id:'freetext',enableKeyEvents:true})],listeners:{'collapse':{fn:function(){Ext.getCmp('advfreetext').on({'beforecollapse':{fn:function(){this.windowHeight-=82;if(!this.autoCollapsing){this.fireEvent('resize');}},scope:this},'beforeexpand':{fn:function(){this.collapseAllFieldSets();this.windowHeight+=82;this.fireEvent('resize');},scope:this}});},single:true,scope:this}}}],buttons:[this.clearButton=new Ext.Button({text:'<span style="color:#15428B; font-weight:bold">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'+MEGA.copy.Widgets.AdvancedSearch.clear_btn+'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>',handler:function(){this.clearAll();},scope:this}),this.searchButton=new Ext.Button({text:'<span style="color:#15428B; font-weight:bold">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'+MEGA.copy.Widgets.AdvancedSearch.search_btn+'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>',handler:function(){this.fireEvent('searchbuttonclicked');},scope:this,disabled:true})]});MEGA.widgets.AdvancedSearch.superclass.initComponent.apply(this,arguments);Ext.Ajax.request({url:MEGA.config.Urls.AdvancedSearchDomainTables,headers:{'Content-Type':'application/json'},success:function(result,request){this.domainTables=Ext.util.JSON.decode(result.responseText);var namecol='english';if(FGI.copy._lang=='ar-jo'){namecol='arabic';}
var fields=[{name:'code',mapping:'code'},{name:'arabic',mapping:'arabic'},{name:'english',mapping:'english'}];this.elementCodeStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'ElementCodes',fields:fields})});this.elementCodeStore.loadData(this.domainTables);this.elementTypes=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.element_types||'Element Types',id:'adv-elemtypes',width:350,labelStyle:'text-align:right;',store:this.elementCodeStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:350});this.topoCodeStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'TopographyCodes',fields:fields})});this.topoCodeStore.loadData(this.domainTables);this.topoCodes=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.topography||'Topography',labelStyle:'text-align:right;',name:'topography',id:'adv-topography',width:350,store:this.topoCodeStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:350});this.threatCodeStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'ThreatCodes',fields:fields})});this.threatCodeStore.loadData(this.domainTables);this.threatCodes=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.threats||'Threats',labelStyle:'text-align:right;',name:'threats',id:'adv-threats',width:350,store:this.threatCodeStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:350});this.distCodeStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'DistCodes',fields:fields})});this.distCodeStore.loadData(this.domainTables);this.distCodes=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.disturbances||'Disturbances',labelStyle:'text-align:right;',name:'disturbances',id:'adv-disturbances',width:350,store:this.distCodeStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:350});this.legalCodeStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'LegalCodes',fields:fields})});this.legalCodeStore.loadData(this.domainTables);this.legalCodes=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.legal_violations||'Legal Violations',labelStyle:'text-align:right;',name:'legalviolations',id:'adv-legalviolations',width:350,store:this.legalCodeStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:350});this.periodCodeStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'PeriodCodes',fields:fields})});this.periodCodeStore.loadData(this.domainTables);this.periodCodes=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.periods||'Periods',labelStyle:'text-align:right;',name:'periods',id:'adv-periods',width:350,store:this.periodCodeStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:350});this.officesStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'Offices',fields:fields})});this.officesStore.loadData(this.domainTables);this.offices=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.doa_office||'DoA Offices',labelStyle:'text-align:right; width:115px;',name:'offices',id:'adv-offices',width:330,store:this.officesStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:330});this.govStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'Governorates',fields:fields})});this.govStore.loadData(this.domainTables);this.govs=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.governorate||'Governorates',labelStyle:'text-align:right; width:115px;',name:'governorates',id:'adv-governorates',width:330,store:this.govStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:330});this.surveyStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'Surveys',fields:fields})});this.surveyStore.loadData(this.domainTables);this.surveys=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.surveys||'Surveys',labelStyle:'text-align:right; width:115px;',name:'surveys',id:'adv-surveys',width:330,store:this.surveyStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:330});this.ownershipStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'Ownership',fields:fields})});this.ownershipStore.loadData(this.domainTables);this.ownership=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.ownership||'Ownership',labelStyle:'text-align:right; width:115px;',name:'ownership',id:'adv-ownership',width:330,store:this.ownershipStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:330});this.conditionRatingsStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'ConditionRatings',fields:fields})});this.conditionRatingsStore.loadData(this.domainTables);var index=this.conditionRatingsStore.find('english','Unknown');this.conditionRatingsStore.remove(this.conditionRatingsStore.getAt(index));this.conditionRatings=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.cond_rating||'Condition Ratings',labelStyle:'text-align:right; width:150px;',name:'condrating',id:'adv-condrating',width:300,store:this.conditionRatingsStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:300});this.threatRatingsStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'ThreatRatings',fields:fields})});this.threatRatingsStore.loadData(this.domainTables);this.threatRatings=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.threat_rating||'Threat Ratings',labelStyle:'text-align:right; width:150px;',name:'threatrating',id:'adv-threatrating',width:300,store:this.threatRatingsStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:300});this.scheduleStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'Schedule',fields:fields})});this.scheduleStore.loadData(this.domainTables);this.schedule=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.rec_monitoring||'Recommended Montoring',labelStyle:'text-align:right; width:150px;',name:'schedule',id:'adv-schedule',width:300,store:this.scheduleStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:300});this.recommendationsStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'Recommendations',fields:fields})});this.recommendationsStore.loadData(this.domainTables);this.recommendations=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.recommendations||'Recommendations',labelStyle:'text-align:right; width:150px;',name:'recommendations',id:'adv-recommendations',width:300,store:this.recommendationsStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:300});this.prioritiesStore=new Ext.data.Store({reader:new Ext.data.JsonReader({root:'Priorities',fields:fields})});this.prioritiesStore.loadData(this.domainTables);this.priorities=new Ext.form.MultiSelectField({fieldLabel:MEGA.copy.Widgets.AdvancedSearch.priority||'Priority',labelStyle:'text-align:right; width:150px;',name:'priority',id:'adv-priority',width:300,store:this.prioritiesStore,valueSeparator:', ',valueField:'code',displayField:namecol,mode:'local',containerHeight:200,containerWidth:300});Ext.getCmp('codeFieldSet').add(this.elementTypes,this.topoCodes,this.threatCodes,this.distCodes,this.legalCodes,this.periodCodes);Ext.getCmp('codeFieldSet').doLayout();Ext.getCmp('advadmin').add(this.offices,this.govs,this.surveys,this.ownership);Ext.getCmp('advadmin').doLayout();Ext.getCmp('advmonfieldset').add(this.conditionRatings,this.threatRatings,this.schedule,this.recommendations,this.priorities);Ext.getCmp('advmonfieldset').doLayout();this.doLayout();this.addOnChangeListeners();Ext.each(this.findByType('multiselect'),function(item,index,allItems){this.addMultiSelectClearButton(item.id);if(FGI.copy.DisplayRightToLeft){$("#"+item.id).attr({dir:"rtl"});}},this);MEGA.app.MapToolbar.Search.advancedSearchButton.enable();}.createDelegate(this),failure:function(result,request){MEGA.app.MapToolbar.Search.advancedSearchButton.enable();}.createDelegate(this)});},addMultiSelectClearButton:function(id){$("#x-form-el-"+id).append('<span id="'+id+'-btn" style="position: absolute; left: 455px; top: 3px; visibility: hidden;"/>');var action=new Ext.Action({cls:'fgi-search-btn',text:'<span style="text-decoration:underline;">'+MEGA.copy.Widgets.AdvancedSearch.clear_btn+'</span>',renderTo:id+'-btn',handler:function(){Ext.getCmp(id).reset();},scope:this});new FGI.component.LinkButton(action);$('.x-form-item:has(#x-form-el-'+id+')').mouseover(function(){$("#"+id+"-btn").attr("style","position: absolute; left: 455px; top: 3px;");$("#"+id+"-btn").show();});$('.x-form-item:has(#x-form-el-'+id+')').mouseout(function(){$("#"+id+"-btn").hide();});},genQueryString:function(app){var q='&limit_to_map=';if(Ext.getCmp('map_extent').checked==true){q+=app.Map.getExtent().toGeometry();}
if(Ext.getCmp('custom_extent').checked==true){q+=app.Map.getLayersByName('SearchPolygon')[0].features[0].geometry;}
q+='&elem_codes='+Ext.getCmp('adv-elemtypes').getValue();q+='&per_codes='+Ext.getCmp('adv-periods').getValue();q+='&topo_codes='+Ext.getCmp('adv-topography').getValue();q+='&threat_codes='+Ext.getCmp('adv-threats').getValue();q+='&dist_codes='+Ext.getCmp('adv-disturbances').getValue();q+='&legal_codes='+Ext.getCmp('adv-legalviolations').getValue();q+='&entry_user='+Ext.getCmp('adv-inputuser').getValue();q+='&investigators='+Ext.getCmp('adv-investigator').getValue();q+='&offices='+Ext.getCmp('adv-offices').getValue();q+='&governorates='+Ext.getCmp('adv-governorates').getValue();q+='&surveys='+Ext.getCmp('adv-surveys').getValue();q+='&ownership='+Ext.getCmp('adv-ownership').getValue();if(Ext.getCmp('adv-monfrom').getValue()!=''){q+='&mon_date_from='+Ext.getCmp('adv-monfrom').getValue().format('Y/m/d');}
if(Ext.getCmp('adv-monto').getValue()!=''){q+='&mon_date_to='+Ext.getCmp('adv-monto').getValue().format('Y/m/d');}
q+='&cond_ratings='+Ext.getCmp('adv-condrating').getValue();q+='&threat_ratings='+Ext.getCmp('adv-threatrating').getValue();q+='&mon_schedule='+Ext.getCmp('adv-schedule').getValue();q+='&recommendations='+Ext.getCmp('adv-recommendations').getValue();q+='&priorities='+Ext.getCmp('adv-priority').getValue();q+='&free_text='+Ext.getCmp('freetext').getValue();return q;},clearAll:function(){this.ownerCt.items.items[0].ComboBox.reset();Ext.getCmp('adv-elemtypes').reset();Ext.getCmp('adv-periods').reset();Ext.getCmp('adv-topography').reset();Ext.getCmp('adv-threats').reset();Ext.getCmp('adv-disturbances').reset();Ext.getCmp('adv-legalviolations').reset();Ext.getCmp('freetext').reset();Ext.getCmp('map_extent').reset();Ext.getCmp('custom_extent').reset();Ext.getCmp('adv-inputuser').reset();Ext.getCmp('adv-investigator').reset();Ext.getCmp('adv-offices').reset();Ext.getCmp('adv-governorates').reset();Ext.getCmp('adv-surveys').reset();Ext.getCmp('adv-ownership').reset();Ext.getCmp('adv-monfrom').reset();Ext.getCmp('adv-monto').reset();Ext.getCmp('adv-condrating').reset();Ext.getCmp('adv-threatrating').reset();Ext.getCmp('adv-schedule').reset();Ext.getCmp('adv-recommendations').reset();Ext.getCmp('adv-priority').reset();},isClear:function(){var isClear=true;if(this.ownerCt.items.items[0].ComboBox.getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-elemtypes').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-periods').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-topography').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-threats').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-disturbances').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-legalviolations').getValue()!=''){isClear=false;}
if(Ext.getCmp('freetext').getValue()!=''){isClear=false;}
if(Ext.getCmp('map_extent').checked==true){isClear=false;}
if(Ext.getCmp('custom_extent').checked==true){isClear=false;}
if(Ext.getCmp('adv-inputuser').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-investigator').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-offices').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-governorates').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-surveys').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-ownership').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-monfrom').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-monto').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-condrating').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-threatrating').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-schedule').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-recommendations').getValue()!=''){isClear=false;}
if(Ext.getCmp('adv-priority').getValue()!=''){isClear=false;}
return isClear;},toggleSearchButton:function(){if(this.isClear()){this.searchButton.disable();}else{this.searchButton.enable();}},addOnChangeListeners:function(){Ext.each(this.findByType('textfield'),function(item,index,allItems){item.on('keyup',function(){this.toggleSearchButton();},this);},this);Ext.each(this.findByType('textarea'),function(item,index,allItems){item.on('keyup',function(){this.toggleSearchButton();},this);},this);Ext.each(this.findByType('datefield'),function(item,index,allItems){item.on('keyup',function(){this.toggleSearchButton();},this);item.on('change',function(){this.toggleSearchButton();},this);},this);Ext.each(this.findByType('multiselect'),function(item,index,allItems){item.on('change',function(){this.toggleSearchButton();},this);},this);Ext.each(this.findByType('checkbox'),function(item,index,allItems){item.on('check',function(){this.toggleSearchButton();},this);},this);},collapseAllFieldSets:function(){this.autoCollapsing=true;Ext.getCmp('codeFieldSet').collapsed?null:Ext.getCmp('codeFieldSet').collapse();Ext.getCmp('advadmin').collapsed?null:Ext.getCmp('advadmin').collapse();Ext.getCmp('advmonfieldset').collapsed?null:Ext.getCmp('advmonfieldset').collapse();Ext.getCmp('advfreetext').collapsed?null:Ext.getCmp('advfreetext').collapse();this.autoCollapsing=false;},getUserDefinedExtent:function(app){this.Msgs={userCoordWindowTitle:MEGA.copy.Widgets.UserCoordinates.windowTitle,infoBarDefaultDraw:MEGA.copy.Widgets.AdvancedSearch.searchByPolyDirections,infoBarDefaultDoubleClick:MEGA.copy.Workflows.AddSite.default_info_bar_double_click_msg,infoBarCancel:MEGA.copy.Widgets.InfoBar.cancel_btn,infoBarContinue:MEGA.copy.Workflows.AddSite.infoBar_continue_btn};app.saveState();typeof(app.MapToolbar.TasksButton.window.el)!="undefined"?app.MapToolbar.TasksButton.window.hide():null;typeof(app.MapToolbar.SearchButton.window.el)!="undefined"?app.MapToolbar.SearchButton.window.hide():null;app.Map.getControlsByClass('OpenLayers.Control.PanZoomBar')[0].moveTo({x:4,y:70});this.InfoBar=new MEGA.widgets.InfoBar({scope:this,validationMessage:'',informationMessage:'<span style="font-weight:bold;" >'+this.Msgs.infoBarDefaultDraw+'<br><span style="padding-left: 2px;font-weight:bold;">'+this.Msgs.infoBarDefaultDoubleClick+'</span></span>',Msgs:{cancelBtn:this.Msgs.infoBarCancel}});this.InfoBar.setMode('draw_geom');this.InfoBar.cancelButton.handler=function(){this.restoreAppState(app);Ext.getCmp('custom_extent').reset();}.createDelegate(this);this.InfoBarWindow=new Ext.Window({layout:'fit',width:app.Viewport.getSize().width,resizable:false,closable:false,draggable:false,items:new Ext.Panel({tbar:this.InfoBar})});this.InfoBarWindow.show();this.InfoBarWindow.anchorTo(app.MapToolbar.id,'t-b');app.Viewport.on('resize',function(){this.InfoBarWindow.setWidth(app.Viewport.getSize().width);},this);this.editLayer=new OpenLayers.Layer.Vector("Editable");this.snappingLayer=new OpenLayers.Layer.Vector("Snapping",{styleMap:new OpenLayers.StyleMap({"default":new OpenLayers.Style({pointRadius:"6",fillColor:"#15428B",fillOpacity:1,strokeColor:"#15428B",strokeWidth:1,cursor:'pointer'})})});this.snappingControl=new OpenLayers.Control.Snapping({layer:this.editLayer,targets:[{layer:this.snappingLayer}]});this.snappingControl.activate();this.editLayer.onFeatureInsert=function(feature){this.feature=feature;this.editControl.deactivate();this.modifyControl.selectControl.unselectAll();this.restoreAppState(app);app.Map.getLayersByName('SearchPolygon')[0].addFeatures(this.feature);}.createDelegate(this);app.Map.addControl(this.editControl=new FGI.openlayers.CustomEditingToolbar(this.editLayer,{enabledControls:{POINT:false,LINESTRING:false,POLYGON:true,COORDINATE:true}}));app.Map.addControl(this.modifyControl=new OpenLayers.Control.ModifyFeature(this.editLayer,{clickout:false,multiple:false,toggle:false}));this.modifyControl.selectControl.onSelect=function(feature){this.InfoBar.setMode('edit_geom');}.createDelegate(this);app.Map.addLayers([this.editLayer,this.snappingLayer]);this.editControl.moveTo({x:0,y:70});var tt1=new Ext.ToolTip({target:$(".olControlNavigationItemActive")[0],renderTo:document.body,html:'Pan Map'});var tt2=new Ext.ToolTip({target:$(".olControlDrawFeaturePolygonItemInactive")[0],renderTo:document.body,html:'Draw Search Polygon'});var tt3=new Ext.ToolTip({target:$(".olControlEnterCoordinatesItemInactive")[0],renderTo:document.body,html:'Create Search Polygon From Coordinates'});this.userCoordinatesWidget=new MEGA.widgets.UserCoordinates({enabledTypes:{POINT:false,LINESTRING:false,POLYGON:true}});this.userCoordinatesWidget.on('submitcoordinates',function(coords,geomType,startProj){var geom=geomType.toUpperCase()+'('+coords+')';var transformedGeom=new OpenLayers.Format.WKT().read(geom);transformedGeom.geometry.transform(startProj,new OpenLayers.Projection("EPSG:900913"));if(geomType=="POLYGON"){if(app.Map.isPolygonValid(transformedGeom.geometry)){this.snappingLayer.destroyFeatures();this.editLayer.addFeatures(transformedGeom);}else{this.snappingLayer.destroyFeatures();Ext.each(transformedGeom.geometry.getVertices(),function(item,index,allItems){this.snappingLayer.addFeatures(new OpenLayers.Feature.Vector(item));},this);this.InfoBar.updateInformationMessage('<span style="font-weight:bold;" >'+this.Msgs.infoBarDefaultDraw+'<br><span style="padding-left: 2px;font-weight:bold;">Use the points on the map as a guide for drawing your polygon. '+this.Msgs.infoBarDefaultDoubleClick+'</span></span>');}}else{this.snappingLayer.destroyFeatures();this.editLayer.addFeatures(transformedGeom);}
var bounds=transformedGeom.geometry.getBounds();var zoom=app.Map.getZoomForExtent(bounds,false);app.Map.setCenter(bounds.getCenterLonLat(),Math.min(zoom,17));this.userCoordinatesWindow.hide();},this);this.userCoordinatesWidget.on('cancel',function(){this.userCoordinatesWindow.hide();},this);this.editControl.getControlsByName('COORDINATE')[0].events.register('activate',this,function(){this.userCoordinatesWindow=new Ext.Window({layout:'fit',width:550,height:350,title:this.Msgs.userCoordWindowTitle,items:[this.userCoordinatesWidget],modal:true,draggable:false,resizable:false,closeAction:'hide'});this.userCoordinatesWindow.on('hide',function(){this.editControl.getControlsByName('COORDINATE')[0].deactivate();},this);this.userCoordinatesWindow.show();});},restoreAppState:function(app){app.restoreState();this.InfoBarWindow.destroy();for(var i in this.editControl.controls){app.Map.removeControl(this.editControl.controls[i]);}
app.Map.removeControl(this.editControl);app.Map.removeControl(this.snappingControl);app.Map.removeControl(this.modifyControl);app.Map.removeLayer(this.editLayer);app.Map.removeLayer(this.snappingLayer);}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');MEGA.config.Reports={};MEGA.widgets.Reports=Ext.extend(FGI.widgets.Reports,{removeCrumbsOnClick:false,titlePrefix:'<a href="#" onclick="MEGA.app.Reports.toggleCollapse();" class="headerlink">'+(MEGA.copy.Widgets.Reports.title_prefix||'Reports')+'</a>',expandOnCrumbClick:false,gov_id:null,subgov_id:null,site_gid:null,sel_gid:null,displayRightToLeft:false,user:null,initComponent:function(){Ext.apply(this,{});this.addListener('expand',function(){if(this.currentPanel.setActiveTab){this.currentPanel.setActiveTab(0);}},this);MEGA.widgets.Reports.superclass.initComponent.apply(this,arguments);},removeAll:function(){this.items.each(function(childItem){this.remove(childItem);},this);},refresh:function(){Ext.each(this.breadCrumbMgr,function(breadCrumb){Ext.each(breadCrumb.panel.items.items,function(tab){var activeTab=breadCrumb.panel.getActiveTab();if(tab==activeTab&&tab.body!=undefined){tab.doAutoLoad();}else if(tab.body!=undefined){tab.on('activate',tab.doAutoLoad,tab,{single:true});}},this);},this);},addCountryReport:function(){var tabs=new Ext.TabPanel({deferredRender:true,border:false,items:[new Ext.Panel({title:MEGA.copy.Widgets.Reports.generalInfo_tab,autoLoad:MEGA.config.Urls.JordanGeneral,layout:'fit',border:false,id:'jordangeneral'}),new Ext.Panel({title:MEGA.copy.Widgets.Reports.sitesToReview_tab,autoLoad:{url:MEGA.config.Urls.JordanSitesToReview,callback:function(){$(".sites-to-review-report-row").mouseover(function(){$(this).css('background-color','#D9E8FB');});$(".sites-to-review-report-row").mouseout(function(){$(this).css('background-color','white');});}},layout:'fit',border:false,id:'jordansitestoreview'})]});this.addBreadCrumbToMgr({name:MEGA.copy.app.adminBoundaryName1,type:'Country'},this.jordanCrumbAction,tabs);if(this.isVisible()){tabs.setActiveTab(0);}},addGovernorateReport:function(gov_id,gov_name){this.addCountryReport();this.gov_id=gov_id;this.subgov_id=null;this.site_gid=null;this.sel_gid=null;var tabs=new Ext.TabPanel({deferredRender:true,border:false,items:[new Ext.Panel({title:MEGA.copy.Widgets.Reports.generalInfo_tab,autoLoad:MEGA.config.Urls.GovGeneral+'?gid='+gov_id+'&gov_name='+gov_name,layout:'fit',border:false,id:'govgeneral'}),new Ext.Panel({title:MEGA.copy.Widgets.Reports.sitesToReview_tab,autoLoad:{url:MEGA.config.Urls.GovSitesToReview+'?gid='+gov_id+'&gov_name='+gov_name,callback:function(){$(".sites-to-review-report-row").mouseover(function(){$(this).css('background-color','#D9E8FB');});$(".sites-to-review-report-row").mouseout(function(){$(this).css('background-color','white');});}},layout:'fit',border:false,id:'govsitestoreview'})]});this.addBreadCrumbToMgr({name:gov_name,id:gov_id,type:'Governorates'},this.govCrumbAction,tabs);if(this.isVisible()){tabs.setActiveTab(0);}},addSubGovernorateReport:function(gov_id,gov_name,subgov_id,subgov_name){this.addGovernorateReport(gov_id,gov_name);this.subgov_id=subgov_id;this.site_gid=null;this.sel_gid=null;var tabs=new Ext.TabPanel({deferredRender:true,border:false,items:[new Ext.Panel({title:MEGA.copy.Widgets.Reports.generalInfo_tab,autoLoad:MEGA.config.Urls.SubGovGeneral+'?gid='+subgov_id+'&subgov_name='+subgov_name,layout:'fit',border:false,id:'subgovgeneral'}),new Ext.Panel({title:MEGA.copy.Widgets.Reports.sitesToReview_tab,autoLoad:{url:MEGA.config.Urls.SubGovSitesToReview+'?gid='+subgov_id+'&subgov_name='+subgov_name,callback:function(){$(".sites-to-review-report-row").mouseover(function(){$(this).css('background-color','#D9E8FB');});$(".sites-to-review-report-row").mouseout(function(){$(this).css('background-color','white');});}},layout:'fit',border:false,id:'subgovsitestoreview'})]});this.addBreadCrumbToMgr({name:subgov_name,id:subgov_id,type:'SubGovernorates'},this.subGovCrumbAction,tabs);if(this.isVisible()){tabs.setActiveTab(0);}},addSiteReport:function(gov_id,gov_name,subgov_id,subgov_name,site_id,site_name){this.addSubGovernorateReport(gov_id,gov_name,subgov_id,subgov_name);this.site_gid=site_id;this.sel_gid=null;this.reviewCallback=function(){var formPanel=Ext.getCmp('site-reviewstatus');Ext.each(jQuery(".ext_textarea"),function(item,index,all){var newField=new Ext.form.TextArea();newField.applyToMarkup(item.id);formPanel.form.add(newField);},this);jQuery(".ext_textarea").removeClass("ext_textarea");Ext.each(jQuery(".ext_combobox"),function(item,index,all){var width=Ext.Element.get(item.id).getWidth();var combo=new Ext.form.ComboBox({typeAhead:true,triggerAction:'all',width:width,id:item.id,transform:item.id,forceSelection:true});formPanel.form.add(combo);},this);jQuery(".ext_combobox").removeClass("ext_combobox");var siteReviewStatusSubmitButton=new Ext.Button({applyTo:'revstatussubmit',text:MEGA.copy.app.submitBtnText,handler:function(){formPanel.form.submit({url:MEGA.config.Urls.UpdateSiteStatus,method:'POST',scope:this,success:function(theForm,responseObj){Ext.getCmp('site-reviewstatus-content').getUpdater().refresh(MEGA.app.Reports.reviewCallback);Ext.getCmp('site-general').on('activate',function(){Ext.getCmp('site-general').getUpdater().refresh();},this,{single:true});Ext.getCmp('site-general').on('activate',function(){Ext.getCmp('site-significance').getUpdater().refresh();},this,{single:true});Ext.getCmp('site-administration').on('activate',function(){Ext.getCmp('site-administration').getUpdater().refresh();},this,{single:true});Ext.getCmp('site-siteelements').on('activate',function(){Ext.getCmp('site-siteelements').getUpdater().refresh();},this,{single:true});Ext.getCmp('site-monitoringevents').on('activate',function(){Ext.getCmp('site-monitoringevents').getUpdater().refresh();},this,{single:true});Ext.getCmp('site-references').on('activate',function(){Ext.getCmp('site-references').getUpdater().refresh();},this,{single:true});Ext.Msg.alert(MEGA.copy.views.MonitoringEvent.status,'Changes saved successfully.');},failure:function(theForm,responseObj){Ext.Msg.alert(MEGA.copy.views.MonitoringEvent.status,"You do not have the proper privileges to edit this site's status.");}});}});};var tabs=new Ext.TabPanel({deferredRender:true,border:false,items:[new Ext.Panel({title:MEGA.copy.Widgets.Reports.generalInfo_tab,autoLoad:MEGA.config.Urls.SiteGeneral+'?gid='+site_id+'&language='+FGI.copy._lang,layout:'fit',border:false,id:'site-general'}),new Ext.Panel({title:MEGA.copy.Widgets.Reports.sitesSignificance_tab,autoLoad:MEGA.config.Urls.SiteSignificance+'?gid='+site_id+'&language='+FGI.copy._lang,layout:'fit',border:false,id:'site-significance'}),new Ext.Panel({title:MEGA.copy.app.siteElements,autoLoad:{url:MEGA.config.Urls.SiteSiteElements+'?gid='+site_id,callback:function(){$(".viewreportlink").hide();$(".site-report-elements-row").mouseover(function(){$(this).css('background-color','#D9E8FB');$("#"+this.id+" .viewreportlink").show();});$(".site-report-elements-row").mouseout(function(){$(this).css('background-color','white');$("#"+this.id+" .viewreportlink").hide();});}},layout:'fit',border:false,id:'site-siteelements'}),new Ext.Panel({title:MEGA.copy.Widgets.Reports.administration_tab,autoLoad:MEGA.config.Urls.SiteAdministration+'?gid='+site_id,layout:'fit',border:false,id:'site-administration'}),new Ext.Panel({title:MEGA.copy.Widgets.Reports.siteMonitoring_tab,autoLoad:{url:MEGA.config.Urls.SiteMonitoringEvents+'?gid='+site_id},layout:'fit',border:false,id:'site-monitoringevents'}),new Ext.Panel({title:MEGA.copy.Widgets.Reports.references_tab,autoLoad:{url:MEGA.config.Urls.SiteReferences+'?gid='+site_id,callback:function(){$(".report-references-row").one('mouseover',function(e){this.ttip=new Ext.ToolTip({target:$(this)[0],renderTo:document.body,width:330,autoLoad:{url:'Reports/Citation?citgid='+$(this).attr('citgid'),callback:function(){this.ttip.show();}.createDelegate(this),text:''},listeners:{'beforeshow':{fn:function(){$(".report-references-row").each(function(){if(this.ttip!=undefined){this.ttip.hide();}});},scope:this}}});$(this).mouseover(function(e){$(this).css('background-color','#D9E8FB');}.createDelegate(this));$(this).mouseout(function(){$(this).css('background-color','white');}.createDelegate(this));$(this).css('background-color','#D9E8FB');});}},layout:'fit',border:false,id:'site-references'})]});if(!this.user.Roles.isAnonymous){tabs.add(new Ext.FormPanel({title:MEGA.copy.Widgets.Reports.reviewStatus_tab,items:{autoLoad:{url:MEGA.config.Urls.SiteReviewStatus+'?gid='+site_id,callback:this.reviewCallback.createDelegate(this)},id:'site-reviewstatus-content',border:false},layout:'fit',border:false,id:'site-reviewstatus',height:223}));}
this.addBreadCrumbToMgr({name:site_name,id:site_id,type:'Sites'},this.siteCrumbAction,tabs);if(this.isVisible()){tabs.setActiveTab(0);}},addSiteElementReport:function(gov_id,gov_name,subgov_id,subgov_name,site_id,site_name,sel_id,sel_name){this.addSiteReport(gov_id,gov_name,subgov_id,subgov_name,site_id,site_name);this.sel_gid=sel_id;var tabs=new Ext.TabPanel({deferredRender:true,border:false,items:[new Ext.Panel({title:MEGA.copy.Widgets.Reports.generalInfo_tab,autoLoad:MEGA.config.Urls.SiteElementGeneral+'?gid='+sel_id+'&language='+FGI.copy._lang,layout:'fit',border:false,id:'sel-general'}),new Ext.Panel({title:MEGA.copy.Widgets.Reports.administration_tab,autoLoad:MEGA.config.Urls.SiteElementAdministration+'?gid='+sel_id,layout:'fit',border:false,id:'sel-administration'}),new Ext.Panel({title:MEGA.copy.Widgets.Reports.siteEleMonitoring_tab,autoLoad:{url:MEGA.config.Urls.SiteElementMonitoringEvents+'?gid='+sel_id},layout:'fit',border:false,id:'sel-monitoringevents'}),new Ext.Panel({title:MEGA.copy.Widgets.Reports.references_tab,autoLoad:{url:MEGA.config.Urls.SiteElementReferences+'?gid='+sel_id,callback:function(){$(".report-references-row").one('mouseover',function(e){this.ttip=new Ext.ToolTip({target:$(this)[0],renderTo:document.body,autoLoad:{url:'Reports/Citation?citgid='+$(this).attr('citgid'),callback:function(){this.ttip.show();}.createDelegate(this),text:''},listeners:{'beforeshow':{fn:function(){$(".report-references-row").each(function(){if(this.ttip!=undefined){this.ttip.hide();}});},scope:this}}});$(this).mouseover(function(e){$(this).css('background-color','#D9E8FB');}.createDelegate(this));$(this).mouseout(function(){$(this).css('background-color','white');}.createDelegate(this));$(this).css('background-color','#D9E8FB');});}},layout:'fit',border:false,id:'sel-references'})]});this.addBreadCrumbToMgr({name:sel_name,id:sel_id,type:'SiteElements'},this.siteElementCrumbAction,tabs);if(this.isVisible()){tabs.setActiveTab(0);}},expandMonitoringReport:function(monid){var table=$('#monitoring-table-'+monid);if(table.length==0){var p=new Ext.Panel({autoLoad:{url:MEGA.config.Urls.MonitoringEvent+'?gid='+monid},layout:'fit',border:false,applyTo:'monitoring-target-'+monid,autoHeight:true});$("#mon-expand-arrow"+monid).attr("src","Media/images/mon-up-arrow.gif");$("#monitoring-header-"+monid).removeClass('reportlabel');$("#monitoring-header-"+monid).addClass('fieldsetlabel');}
else{if($('#monitoring-target-'+monid).is(":hidden")){$('#monitoring-target-'+monid).slideDown("slow");$("#mon-expand-arrow"+monid).attr("src","Media/images/mon-up-arrow.gif");$("#monitoring-header-"+monid).removeClass('reportlabel');$("#monitoring-header-"+monid).addClass('fieldsetlabel');}else{$('#monitoring-target-'+monid).slideUp("slow");$("#mon-expand-arrow"+monid).attr("src","Media/images/mon-down-arrow.gif");$("#monitoring-header-"+monid).addClass('reportlabel');$("#monitoring-header-"+monid).removeClass('fieldsetlabel');}}},renderCrumb:function(index,breadcrumb){if(this.displayRightToLeft){var breadCrumbTitle=typeof(breadcrumb.title)=="string"?breadcrumb.title:breadcrumb.title.name;if(index<3){breadcrumb.title.name="<span dir='ltr'> <span dir='rtl'>"+breadCrumbTitle+"</span> </span>";}}
MEGA.widgets.Reports.superclass.renderCrumb.apply(this,arguments);},showCitationInfo:function(citgid){this.citationInfoWindow=new Ext.Window({layout:'fit',width:500,height:400,title:'Citiation Information',items:[{border:false,autoLoad:{url:'Reports/Citation?citgid='+citgid}}],modal:true,draggable:false,resizable:false});this.citationInfoWindow.show();}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');MEGA.config.addNewSiteWizard={};MEGA.widgets.addNewSiteWizard=Ext.extend(FGI.widgets.FormWizard,{bufferGeom:'',nextButtonTextTemplate:FGI.copy.Widgets.FormWizard.next_button_template,backButtonTextTemplate:FGI.copy.Widgets.FormWizard.back_button_template,labelTextTemplate:FGI.copy.Widgets.FormWizard.label_template,emptyFieldValidationMsg:MEGA.copy.Workflows.Wizards.empty_validation_msg,submitHandler:function(){var mask=new Ext.LoadMask(this.ownerCt.getEl(),{msg:MEGA.copy.Workflows.AddSite.adding_site_msg});mask.show();this.form.submit({url:MEGA.config.Urls.CreateSite,method:'POST',scope:this,params:{geometry:this.feature.geometry.toString(),bufferGeometry:this.bufferGeom},success:function(theForm,responseObj){mask.hide();this.fireEvent('formsuccessfullysubmitted');this.ownerCt.close();var successWindow=new Ext.Window({title:MEGA.copy.Workflows.AddSite.success_title||'Site Successfully Added!',width:400,height:300,items:[new Ext.Panel({autoWidth:true,autoHeight:true,border:false,items:[{html:'<div style="height: 192px; padding-top: 40px; padding-left: 20px; padding-right: 20px;">'+'<div class="formfieldlabel">'+MEGA.copy.app.congratulations+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+'</div>'+'<div style="text-align: center; color: rgb(21, 66, 139); font-size: 12px;">'+'<div style="padding-top: 30px;">'+responseObj.result.returnObj.name+'</div>'+'<div style="padding-bottom: 30px;">(MEGA #: '+responseObj.result.returnObj.megakey+')</div>'+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+
MEGA.copy.app.addedToMegaJ+'</div></div>'}]})],resizable:false,modal:true,buttons:[{text:MEGA.copy.app.done,handler:function(){this.ownerCt.close();}},{text:MEGA.copy.Widgets.AddNewSiteWizard.add_site_element,handler:function(){this.ownerCt.close();MEGA.app.addNewSiteElement();}}]});successWindow.show();},failure:function(theForm,responseObj){mask.hide();Ext.Msg.show({title:MEGA_app_error,msg:MEGA.copy.app.errorSubmittingForm,buttons:Ext.Msg.CANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING});}});},url:MEGA.config.Urls.CreateSite,hideNextLabel:true,initComponent:function(){this.addEvents({'formsuccessfullysubmitted':true});this.configItems=[{id:'Step1',title:MEGA.copy.Widgets.AddNewSiteWizard.investigators_label,border:false,autoScroll:true,autoLoad:{url:MEGA.config.Urls.Investigator,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step2',title:MEGA.copy.Widgets.AddNewSiteWizard.names_label,border:false,autoScroll:true,autoLoad:{url:MEGA.config.Urls.Name,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step3',title:MEGA.copy.Widgets.AddNewSiteWizard.office_label,border:false,autoLoad:{url:MEGA.config.Urls.Office+'?language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft,params:{governorate:this.feature.governorate,subgovernorate:this.feature.subgovernorate,district:this.feature.district},callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this),enableSubmit:true},{id:'Step4',title:MEGA.copy.Widgets.AddNewSiteWizard.significance_label,border:false,autoLoad:{url:MEGA.config.Urls.Significance,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){return(true);},enableSubmit:true},{id:'Step6',title:MEGA.copy.Widgets.AddNewSiteWizard.citations_label,border:false,autoLoad:{url:MEGA.config.Urls.Citation,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},autoScroll:true,validationHandler:function(){return(true);},enableSubmit:true},{id:'Step7',title:MEGA.copy.app.surveys,border:false,autoLoad:{url:MEGA.config.Urls.Surveys+'?language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},autoScroll:true,validationHandler:function(){return(true);},enableSubmit:true},{id:'Step8',title:MEGA.copy.Widgets.AddNewSiteWizard.buffer_label,border:false,autoLoad:{url:MEGA.config.Urls.Buffer,callback:function(){Ext.apply(Ext.form.VTypes,{bufferValue:function(v){return(/^\d+$/.test(v));},bufferValueText:MEGA.copy.Workflows.Forms.numericOnly});Ext.each(jQuery(".buffer"),function(item,index,all){var newField=new Ext.form.TextField({vtype:'bufferValue',id:'buffer_field'});newField.applyToMarkup(item.id);this.form.add(newField);},this);}.createDelegate(this),scripts:true},validationHandler:function(){return(true);},enableSubmit:true}];MEGA.widgets.addNewSiteWizard.superclass.initComponent.apply(this,arguments);}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');MEGA.config.editSiteWizard={};MEGA.widgets.editSiteWizard=Ext.extend(FGI.widgets.FormWizard,{siteid:null,bufferGeom:'',iscandidate:false,isLocked:true,megakey:null,nextButtonTextTemplate:FGI.copy.Widgets.FormWizard.next_button_template,backButtonTextTemplate:FGI.copy.Widgets.FormWizard.back_button_template,labelTextTemplate:FGI.copy.Widgets.FormWizard.label_template,submitHandler:function(){var loadingmsg='Editing site....';if(this.iscandidate){loadingmsg='Adding candidate site....';}
var mask=new Ext.LoadMask(this.ownerCt.getEl(),{msg:loadingmsg});mask.show();var submiturl=MEGA.config.Urls.EditSite+'?siteid='+this.siteid+'&megakey='+this.megakey;if(this.iscandidate){submiturl=MEGA.config.Urls.CreateSite+'?candidatesiteid='+this.siteid+'&iscandidate=true';}
this.form.submit({url:submiturl,method:'POST',scope:this,params:{geometry:this.feature.geometry.toString(),bufferGeometry:this.bufferGeom},success:function(theForm,responseObj){var ro=Ext.decode(responseObj.response.responseText);if(ro.success&&ro.status_code==3){Ext.MessageBox.alert(MEGA.concurrency.Locked_title,MEGA.concurrency.Site_Locked);this.ownerCt.close();return;}
this.isLocked=false;mask.hide();this.fireEvent('formsuccessfullysubmitted');this.ownerCt.close();var successWindow=new Ext.Window({title:MEGA.copy.app.success,width:400,height:300,items:[new Ext.Panel({autoWidth:true,autoHeight:true,border:false,items:[{html:'<div style="height: 192px; padding-top: 40px; padding-left: 20px; padding-right: 20px;">'+'<div class="formfieldlabel">'+MEGA.copy.app.congratulations+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+'</div>'+'<div style="text-align: center; color: rgb(21, 66, 139); font-size: 12px;">'+'<div style="padding-top: 30px;">'+responseObj.result.returnObj.name+'</div>'+'<div style="padding-bottom: 30px;">(MEGA #: '+responseObj.result.returnObj.megakey+')</div>'+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+
MEGA.copy.app.editedInMegaJ+'</div></div>'}]})],resizable:false,modal:true,buttons:[{text:MEGA.copy.app.done,handler:function(){this.ownerCt.close();}}]});successWindow.show();},failure:function(theForm,responseObj){mask.hide();Ext.Msg.show({title:MEGA_app_error,msg:MEGA.copy.app.errorSubmittingForm,buttons:Ext.Msg.CANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING});}});},url:MEGA.config.Urls.CreateSite,initComponent:function(){this.addEvents({'formsuccessfullysubmitted':true});this.configItems=[{id:'Step1',title:MEGA.copy.Widgets.EditSiteWizard.investigators_label,border:false,autoScroll:true,autoLoad:{url:MEGA.config.Urls.Investigator+'?siteid='+this.siteid+'&iscandidate='+this.iscandidate+'&megakey='+this.megakey,callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step2',title:MEGA.copy.Widgets.EditSiteWizard.names_label,border:false,autoScroll:true,autoLoad:{url:MEGA.config.Urls.Name+'?siteid='+this.siteid+'&iscandidate='+this.iscandidate+'&megakey='+this.megakey,callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step3',title:MEGA.copy.Widgets.EditSiteWizard.office_label,border:false,autoLoad:{url:MEGA.config.Urls.Office+'?siteid='+this.siteid+'&iscandidate='+this.iscandidate+'&megakey='+this.megakey+'&language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft,params:{governorate:this.feature.governorate,subgovernorate:this.feature.subgovernorate,district:this.feature.district},callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this),enableSubmit:true},{id:'Step4',title:MEGA.copy.Widgets.EditSiteWizard.significance_label,border:false,autoLoad:{url:MEGA.config.Urls.Significance+'?siteid='+this.siteid+'&iscandidate='+this.iscandidate+'&megakey='+this.megakey,callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},validationHandler:function(){return(true);},enableSubmit:true},{id:'Step6',title:MEGA.copy.Widgets.EditSiteWizard.citations_label,border:false,autoScroll:true,autoLoad:{url:MEGA.config.Urls.Citation+'?siteid='+this.siteid+'&iscandidate='+this.iscandidate+'&megakey='+this.megakey,callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},validationHandler:function(){return(true);},enableSubmit:true},{id:'Step7',title:MEGA.copy.app.surveys,border:false,autoLoad:{url:MEGA.config.Urls.Surveys+'?siteid='+this.siteid+'&iscandidate='+this.iscandidate+'&megakey='+this.megakey+'&language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft,callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},autoScroll:true,validationHandler:function(){return(true);},enableSubmit:true},{id:'Step8',title:MEGA.copy.Widgets.EditSiteWizard.buffer_label,border:false,autoLoad:{url:MEGA.config.Urls.Buffer+'?siteid='+this.siteid+'&iscandidate='+this.iscandidate+'&megakey='+this.megakey,callback:function(){Ext.apply(Ext.form.VTypes,{bufferValue:function(v){return/^\d+$/.test(v);},bufferValueText:MEGA.copy.Workflows.Forms.numericOnly});Ext.each(jQuery(".buffer"),function(item,index,all){var newField=new Ext.form.TextField({vtype:'bufferValue',id:'buffer_field'});newField.applyToMarkup(item.id);this.form.add(newField);},this);$('#editbufferdiv').hide();new Ext.Button({text:MEGA.copy.Workflows.EditSite.editBuffer,handler:function(){MEGA.forms.Site.setBufferMode(true);},applyTo:'editbufferbutton'});this.originalBufferIsInteractive=false;if($('#buffer_inter_radio')[0].checked){$('#editbufferdiv').show();this.originalBufferIsInteractive=true;}}.createDelegate(this),scripts:true},validationHandler:function(){return(true);},enableSubmit:true}];MEGA.widgets.editSiteWizard.superclass.initComponent.apply(this,arguments);}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');MEGA.config.addNewSiteElementWizard={};MEGA.widgets.addNewSiteElementWizard=Ext.extend(FGI.widgets.FormWizard,{nextButtonTextTemplate:FGI.copy.Widgets.FormWizard.next_button_template,backButtonTextTemplate:FGI.copy.Widgets.FormWizard.back_button_template,labelTextTemplate:FGI.copy.Widgets.FormWizard.label_template,submitHandler:function(){var mask=new Ext.LoadMask(this.ownerCt.getEl(),{msg:MEGA.copy.Workflows.AddSel.adding_sel_msg});mask.show();this.form.submit({url:MEGA.config.Urls.CreateSiteElement,method:'POST',scope:this,params:{geometry:this.feature.geometry.toString()},success:function(theForm,responseObj){mask.hide();if(!responseObj.result.success){Ext.Msg.show({title:MEGA_app_error,msg:responseObj.result.message,buttons:Ext.Msg.CANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING});return false;}
this.fireEvent('formsuccessfullysubmitted');this.ownerCt.close();var successWindow=new Ext.Window({title:MEGA.copy.app.success,width:400,height:300,items:[new Ext.Panel({autoWidth:true,autoHeight:true,border:false,items:[{html:'<div style="height: 192px; padding-top: 40px; padding-left: 20px; padding-right: 20px;">'+'<div class="formfieldlabel">'+MEGA.copy.app.congratulations+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+'</div>'+'<div style="text-align: center; color: rgb(21, 66, 139); font-size: 12px;">'+'<div style="padding-top: 30px;">'+responseObj.result.returnObj.elementtype+'</div>'+'<div style="padding-bottom: 30px;">(MEGA #: '+responseObj.result.returnObj.megakey+')</div>'+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+
MEGA.copy.app.addedToMegaJ+'</div></div>'}]})],resizable:false,modal:true,buttons:[{text:MEGA.copy.app.done,handler:function(){this.ownerCt.close();}},{text:MEGA.copy.Workflows.AddSel.addAnother,handler:function(){this.ownerCt.close();MEGA.app.AddSiteElementWorkflow=new MEGA.workflows.AddSiteElement({app:MEGA.app});}}]});successWindow.show();},failure:function(theForm,responseObj){mask.hide();var msg='There was an error submiting your form.';if(responseObj.result){msg=responseObj.result.message;}
Ext.Msg.show({title:MEGA_app_error,msg:msg,buttons:Ext.Msg.CANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING});}});},url:MEGA.config.Urls.CreateSiteElement,initComponent:function(){this.addEvents({'formsuccessfullysubmitted':true});this.configItems=[{id:'Step1',title:MEGA.copy.Widgets.AddNewSiteElementWizard.investigators_label,border:false,autoLoad:{url:MEGA.config.Urls.Investigator,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},autoscroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step2',title:MEGA.copy.Widgets.AddNewSiteElementWizard.names_label,border:false,autoscroll:true,autoLoad:{url:MEGA.config.Urls.ElementName+'?language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step3',title:MEGA.copy.Widgets.AddNewSiteElementWizard.period_and_topography_label,border:false,autoscroll:true,autoLoad:{url:MEGA.config.Urls.PeriodAndTopography+'?language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){var validate=Ext.decode($(this).attr('validate'));if($("input[name^='period_code']").length<1){thisWizard.getForm().findField('do_not_submit_per').markInvalid(MEGA.copy.Widgets.AddNewSiteElementWizard.period_validation_msg||'You must add at least one period code.');stepValid=false;}
if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this),enableSubmit:true},{id:'Step4',title:MEGA.copy.Widgets.AddNewSiteElementWizard.description_label,border:false,autoLoad:{url:MEGA.config.Urls.ElementDescription,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){return(true);},enableSubmit:true},{id:'Step6',title:MEGA.copy.Widgets.AddNewSiteElementWizard.citations_label,border:false,autoscroll:true,autoLoad:{url:MEGA.config.Urls.Citation,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){return(true);},enableSubmit:true}];MEGA.widgets.addNewSiteElementWizard.superclass.initComponent.apply(this,arguments);}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');MEGA.config.editSiteElementWizard={};MEGA.widgets.editSiteElementWizard=Ext.extend(FGI.widgets.FormWizard,{siteid:null,selid:null,iscandidate:false,isLocked:false,megakey:null,nextButtonTextTemplate:FGI.copy.Widgets.FormWizard.next_button_template,backButtonTextTemplate:FGI.copy.Widgets.FormWizard.back_button_template,labelTextTemplate:FGI.copy.Widgets.FormWizard.label_template,submitHandler:function(){var loadingmsg='Editing site element....';if(this.iscandidate){loadingmsg='Adding candidate site Element....';}
var mask=new Ext.LoadMask(this.ownerCt.getEl(),{msg:loadingmsg});mask.show();var submiturl=MEGA.config.Urls.EditSiteElement+'?siteid='+this.siteid+'&selid='+this.selid+'&megakey='+this.megakey;if(this.iscandidate){submiturl=MEGA.config.Urls.CreateSiteElement+'?selid='+this.selid+'&candidatesiteelemid='+this.selid+'&iscandidate=true';}
this.form.submit({url:submiturl,method:'POST',scope:this,params:{geometry:this.feature.geometry.toString()},success:function(theForm,responseObj){var ro=Ext.decode(responseObj.response.responseText);if(ro.success&&ro.status_code==3){Ext.MessageBox.alert(MEGA.concurrency.Locked_title,MEGA.concurrency.SiteElem_Locked);this.ownerCt.close();return;}
this.isLocked=true;mask.hide();this.fireEvent('formsuccessfullysubmitted');this.ownerCt.close();var successWindow=new Ext.Window({title:MEGA.copy.app.success,width:400,height:300,items:[new Ext.Panel({autoWidth:true,autoHeight:true,border:false,items:[{html:'<div style="height: 192px; padding-top: 40px; padding-left: 20px; padding-right: 20px;">'+'<div class="formfieldlabel">'+MEGA.copy.app.congratulations+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+'</div>'+'<div style="text-align: center; color: rgb(21, 66, 139); font-size: 12px;">'+'<div style="padding-top: 30px;">'+responseObj.result.returnObj.elementtype+'</div>'+'<div style="padding-bottom: 30px;">(MEGA #: '+responseObj.result.returnObj.megakey+')</div>'+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+
MEGA.copy.app.editedInMegaJ+'</div></div>'}]})],resizable:false,modal:true,buttons:[{text:MEGA.copy.app.done,handler:function(){this.ownerCt.close();}},{text:MEGA.copy.Workflows.AddSel.addAnother,handler:function(){this.ownerCt.close();MEGA.app.AddSiteElementWorkflow=new MEGA.workflows.AddSiteElement({app:MEGA.app});}}]});successWindow.show();},failure:function(theForm,responseObj){mask.hide();Ext.Msg.show({title:MEGA_app_error,msg:MEGA.copy.app.errorSubmittingForm,buttons:Ext.Msg.CANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING});}});},url:MEGA.config.Urls.CreateSiteElement,initComponent:function(){this.addEvents({'formsuccessfullysubmitted':true});this.configItems=[{id:'Step1',title:MEGA.copy.Widgets.EditSiteElementWizard.investigators_label,border:false,autoLoad:{url:MEGA.config.Urls.Investigator+'?siteid='+this.siteid+'&selid='+this.selid+'&iscandidate='+this.iscandidate+'&megakey='+this.megakey,callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},autoscroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step2',title:MEGA.copy.Widgets.EditSiteElementWizard.names_label,border:false,autoLoad:{url:MEGA.config.Urls.ElementName+'?language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft+'&siteid='+this.siteid+'&selid='+this.selid+'&iscandidate='+this.iscandidate+'&megakey='+this.megakey,callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},autoscroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(thisWizard.getForm().findField('element_code').isValid()==false){stepValid=false;}
if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step3',title:MEGA.copy.Widgets.EditSiteElementWizard.period_and_topography_label,border:false,autoLoad:{url:MEGA.config.Urls.PeriodAndTopography+'?language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft+'&siteid='+this.siteid+'&selid='+this.selid+'&iscandidate='+this.iscandidate+'&megakey='+this.megakey,callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},autoscroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this),enableSubmit:true},{id:'Step4',title:MEGA.copy.Widgets.EditSiteElementWizard.description_label,border:false,autoLoad:{url:MEGA.config.Urls.ElementDescription+'?siteid='+this.siteid+'&selid='+this.selid+'&iscandidate='+this.iscandidate+'&megakey='+this.megakey,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){return(true);},enableSubmit:true},{id:'Step6',title:MEGA.copy.Widgets.EditSiteElementWizard.citations_label,border:false,autoLoad:{url:MEGA.config.Urls.Citation+'?siteid='+this.siteid+'&selid='+this.selid+'&iscandidate='+this.iscandidate+'&megakey='+this.megakey,callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},autoscroll:true,validationHandler:function(){return(true);},enableSubmit:true}];MEGA.widgets.editSiteElementWizard.superclass.initComponent.apply(this,arguments);}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');MEGA.config.EditMonitoringEventWizard={};MEGA.widgets.EditMonitoringEventWizard=Ext.extend(FGI.widgets.FormWizard,{nextButtonTextTemplate:FGI.copy.Widgets.FormWizard.next_button_template,backButtonTextTemplate:FGI.copy.Widgets.FormWizard.back_button_template,labelTextTemplate:FGI.copy.Widgets.FormWizard.label_template,mongid:"",submitUrl:MEGA.config.Urls.EditMonitoringEvent,submitHandler:function(){var mask=new Ext.LoadMask(this.ownerCt.getEl(),{msg:MEGA.copy.Widgets.EditMonitoringEventWizard.edit});mask.show();this.form.submit({url:this.submitUrl+'?mongid='+this.mongid,method:'POST',scope:this,params:{megakey:this.megakey},success:function(theForm,responseObj){mask.hide();this.fireEvent('formsuccessfullysubmitted');this.ownerCt.close();var successWindow=new Ext.Window({title:MEGA.copy.Widgets.EditMonitoringEventWizard.success_title,width:400,height:300,items:[new Ext.Panel({autoWidth:true,autoHeight:true,border:false,items:[{html:'<div style="height: 192px; padding-top: 40px; padding-left: 20px; padding-right: 20px;">'+'<div class="formfieldlabel">'+MEGA.copy.app.congratulations+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+
MEGA.copy.Widgets.AddNewMonitoringEventWizard.entered_mon_event+'</div><div style="padding-top:20px;" class="formfieldlabel"><a href="#" onclick="MEGA.app.addPhotosWorkflow = new MEGA.workflows.AddPhotos({app:MEGA.app, mongid: '+responseObj.result.returnObj.mongid+', megakey: '+this.megakey+'})">'+FGI.copy.widgets.FileUpload.upload_photos+'</a></div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+
MEGA.copy.Widgets.AddNewMonitoringEventWizard.select_photo_to_add+'</div></div>'}]})],resizable:false,modal:true,buttons:[{text:MEGA.copy.app.done,handler:function(){this.ownerCt.close();}}]});successWindow.show();},failure:function(theForm,responseObj){mask.hide();Ext.Msg.show({title:MEGA_app_error,msg:'There was an error submiting your Monitoring Event.',buttons:Ext.Msg.CANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING});}});},url:MEGA.config.Urls.EditMonitoringEvent,initComponent:function(){this.addEvents({'formsuccessfullysubmitted':true});this.configItems=[{id:'Step1',title:MEGA.copy.Widgets.EditMonitoringEventWizard.investigators_label,border:false,autoLoad:{url:MEGA.config.Urls.Investigator+'?mongid='+this.mongid,callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},autoScroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step2',title:MEGA.copy.Widgets.EditMonitoringEventWizard.ownership_status_label,border:false,autoLoad:{url:MEGA.config.Urls.OwnershipStatus+'?mongid='+this.mongid,callback:MEGA.forms.Site.ownershipStatusEditInit.createDelegate(this),scripts:true},autoScroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;if($('#ownership-box-row input:checked').length<1){$('#ownership-box-validation-msg').html('<img src="Media/images/silk/icons/exclamation.png" border="0"/> '+MEGA.copy.Workflows.Wizards.empty_check_box);stepValid=false;}
$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(stepValid){$('#ownership-box-validation-msg').html('');}
if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});if(stepValid){$('#ownership-box-validation-msg').html('');}
return stepValid;}.createDelegate(this)},{id:'Step3',title:MEGA.copy.Widgets.EditMonitoringEventWizard.disturbances_label,border:false,autoLoad:{url:MEGA.config.Urls.Disturbances+'?mongid='+this.mongid+'&language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft,callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},autoScroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step4',title:MEGA.copy.Widgets.EditMonitoringEventWizard.threats_label,border:false,autoLoad:{url:MEGA.config.Urls.Threats+'?mongid='+this.mongid+'&language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft,callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},autoScroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step5',title:MEGA.copy.Widgets.EditMonitoringEventWizard.legal_violations_label,border:false,autoLoad:{url:MEGA.config.Urls.LegalViolations+'?mongid='+this.mongid+'&language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft,callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},autoScroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step6',title:MEGA.copy.Widgets.EditMonitoringEventWizard.management_recommendations_label,border:false,autoLoad:{url:MEGA.config.Urls.ManagementRecommendations+'?mongid='+this.mongid+'&language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft,callback:MEGA.forms.Site.convertExtFields.createDelegate(this),scripts:true},autoScroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this),enableSubmit:true}];MEGA.widgets.EditMonitoringEventWizard.superclass.initComponent.apply(this,arguments);}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');MEGA.config.addNewMonitoringEventWizard={};MEGA.widgets.addNewMonitoringEventWizard=Ext.extend(FGI.widgets.FormWizard,{nextButtonTextTemplate:FGI.copy.Widgets.FormWizard.next_button_template,backButtonTextTemplate:FGI.copy.Widgets.FormWizard.back_button_template,labelTextTemplate:FGI.copy.Widgets.FormWizard.label_template,submitHandler:function(){var mask=new Ext.LoadMask(this.ownerCt.getEl(),{msg:MEGA.copy.Widgets.AddNewMonitoringEventWizard.add_new});mask.show();this.form.submit({url:MEGA.config.Urls.CreateMonitoringEvent,method:'POST',scope:this,params:{megakey:this.megakey},success:function(theForm,responseObj){mask.hide();this.fireEvent('formsuccessfullysubmitted');this.ownerCt.close();var successWindow=new Ext.Window({title:MEGA.copy.Widgets.AddNewMonitoringEventWizard.success_title,width:400,height:300,items:[new Ext.Panel({autoWidth:true,autoHeight:true,border:false,items:[{html:'<div style="height: 192px; padding-top: 40px; padding-left: 20px; padding-right: 20px;">'+'<div class="formfieldlabel">'+MEGA.copy.app.congratulations+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+
MEGA.copy.Widgets.AddNewMonitoringEventWizard.entered_mon_event+'</div><div style="padding-top:20px;" class="formfieldlabel"><a href="#" onclick="MEGA.app.addPhotosWorkflow = new MEGA.workflows.AddPhotos({app:MEGA.app, mongid: '+responseObj.result.returnObj.mongid+', megakey: '+this.megakey+'})">'+FGI.copy.widgets.FileUpload.upload_photos+'</a></div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+
MEGA.copy.Widgets.AddNewMonitoringEventWizard.select_photo_to_add+'</div></div>'}]})],resizable:false,modal:true,buttons:[{text:MEGA.copy.app.done,handler:function(){this.ownerCt.close();}}]});successWindow.show();},failure:function(theForm,responseObj){mask.hide();Ext.Msg.show({title:MEGA_app_error,msg:MEGA.copy.app.errorSubmittingForm,buttons:Ext.Msg.CANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING});}});},url:MEGA.config.Urls.CreateMonitoringEvent,initComponent:function(){this.addEvents({'formsuccessfullysubmitted':true});this.configItems=[{id:'Step1',title:MEGA.copy.Widgets.AddNewMonitoringEventWizard.investigators_label,border:false,autoLoad:{url:MEGA.config.Urls.Investigator+'?monitoring=true',callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},autoScroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step2',title:MEGA.copy.Widgets.AddNewMonitoringEventWizard.ownership_status_label,border:false,autoLoad:{url:MEGA.config.Urls.OwnershipStatus,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},autoScroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;if($('#ownership-box-row input:checked').length<1){$('#ownership-box-validation-msg').html('<img src="Media/images/silk/icons/exclamation.png" border="0"/> '+MEGA.copy.Workflows.Wizards.empty_check_box);stepValid=false;}
$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(stepValid){$('#ownership-box-validation-msg').html('');}
var validate=Ext.decode($(this).attr('validate'));if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});if(stepValid){$('#ownership-box-validation-msg').html('');}
return stepValid;}.createDelegate(this)},{id:'Step3',title:MEGA.copy.Widgets.AddNewMonitoringEventWizard.disturbances_label,border:false,autoLoad:{url:MEGA.config.Urls.Disturbances+'?language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},autoScroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step4',title:MEGA.copy.Widgets.AddNewMonitoringEventWizard.threats_label,border:false,autoLoad:{url:MEGA.config.Urls.Threats+'?language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},autoScroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step5',title:MEGA.copy.Widgets.AddNewMonitoringEventWizard.legal_violations_label,border:false,autoLoad:{url:MEGA.config.Urls.LegalViolations+'?language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},autoScroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'Step6',title:MEGA.copy.Widgets.AddNewMonitoringEventWizard.management_recommendations_label,border:false,autoLoad:{url:MEGA.config.Urls.ManagementRecommendations+'?language='+FGI.copy._lang+'&displayrtl='+FGI.copy.DisplayRightToLeft,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},autoScroll:true,validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this),enableSubmit:true}];MEGA.widgets.addNewMonitoringEventWizard.superclass.initComponent.apply(this,arguments);}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');MEGA.config.addNewReferenceWizard={};MEGA.widgets.addNewReferenceWizard=Ext.extend(FGI.widgets.FormWizard,{nextButtonTextTemplate:FGI.copy.Widgets.FormWizard.next_button_template,backButtonTextTemplate:FGI.copy.Widgets.FormWizard.back_button_template,labelTextTemplate:FGI.copy.Widgets.FormWizard.label_template,citationGid:'',submitHandler:function(){var mask=new Ext.LoadMask(this.ownerCt.getEl(),{msg:MEGA.copy.Widgets.AddNewReferenceWizard.addingMask});mask.show();this.form.submit({url:this.citationGid==''?MEGA.config.Urls.CreateReference:MEGA.config.Urls.EditReference,method:'POST',scope:this,params:{citgid:this.citationGid},success:function(theForm,responseObj){mask.hide();this.fireEvent('formsuccessfullysubmitted');this.ownerCt.close();var successWindow=new Ext.Window({title:MEGA.copy.Widgets.AddNewReferenceWizard.ref_successfully_added,width:400,height:300,items:[new Ext.Panel({autoWidth:true,autoHeight:true,border:false,items:[{html:'<div style="height: 192px; padding-top: 40px; padding-left: 20px; padding-right: 20px;">'+'<div class="formfieldlabel">'+MEGA.copy.app.congratulations+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+
MEGA.copy.Widgets.AddNewReferenceWizard.success+'</div></div>'}]})],resizable:false,modal:true,buttons:[{text:MEGA.copy.app.done,handler:function(){this.ownerCt.close();}}]});successWindow.show();if(this.nestedWorkflow){MEGA.forms.Site.addCitation(responseObj.result.returnObj.text,responseObj.result.returnObj.citgid+'');}},failure:function(theForm,responseObj){mask.hide();Ext.Msg.show({title:MEGA.copy.Workflows.Validation.error,msg:MEGA.copy.Workflows.AddReference.errorSubmittingForm,buttons:Ext.Msg.CANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING});}});},url:MEGA.config.Urls.CreateReference,initComponent:function(){this.addEvents({'formsuccessfullysubmitted':true});this.configItems=[{id:'addRefStep1',title:MEGA.copy.Workflows.AddReference.ref_info_title||'Reference Information',border:false,autoLoad:{url:MEGA.config.Urls.ReferenceInfo,params:{citgid:this.citationGid},callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'addRefStep2',title:MEGA.copy.Workflows.AddReference.author_title||'Authors/Editors',border:false,autoLoad:{url:MEGA.config.Urls.AuthorsEditors,params:{citgid:this.citationGid},callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){var thisWizard=this;var stepValid=true;var authorVal=thisWizard.getForm().findField('author').getValue();var editedbyVal=thisWizard.getForm().findField('edited_by').getValue();if(authorVal==''&&editedbyVal==''){var msg=MEGA.copy.Widgets.AddNewReferenceWizard.authorTitleError;thisWizard.getForm().findField('author').markInvalid(msg);thisWizard.getForm().findField('edited_by').markInvalid(msg);stepValid=false;}
return stepValid;}.createDelegate(this)},{id:'addRefStep3',title:MEGA.copy.Workflows.AddReference.pub_info_title||'Publication Information',border:false,autoLoad:{url:MEGA.config.Urls.PublicationInfo,params:{citgid:this.citationGid},callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this),enableSubmit:true}];MEGA.widgets.addNewMonitoringEventWizard.superclass.initComponent.apply(this,arguments);}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');MEGA.config.EditReferenceWizard={};MEGA.widgets.EditReferenceWizard=Ext.extend(FGI.widgets.FormWizard,{citgid:null,nextButtonTextTemplate:FGI.copy.Widgets.FormWizard.next_button_template,backButtonTextTemplate:FGI.copy.Widgets.FormWizard.back_button_template,labelTextTemplate:FGI.copy.Widgets.FormWizard.label_template,submitHandler:function(){var mask=new Ext.LoadMask(this.ownerCt.getEl(),{msg:'Saving....'});mask.show();this.form.submit({url:MEGA.config.Urls.EditReference,method:'POST',scope:this,params:{citgid:this.citgid},success:function(theForm,responseObj){mask.hide();this.fireEvent('formsuccessfullysubmitted');this.ownerCt.close();var successWindow=new Ext.Window({title:MEGA.copy.Widgets.EditReferenceWizard.ref_successfully_added,width:400,height:300,items:[new Ext.Panel({autoWidth:true,autoHeight:true,border:false,items:[{html:'<div style="height: 192px; padding-top: 40px; padding-left: 20px; padding-right: 20px;">'+'<div class="formfieldlabel">'+MEGA.copy.app.congratulations+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+
MEGA.copy.Widgets.EditReferenceWizard.success+'</div></div>'}]})],resizable:false,modal:true,buttons:[{text:MEGA.copy.app.done,handler:function(){this.ownerCt.close();}}]});successWindow.show();if(this.nestedWorkflow){MEGA.forms.Site.addCitation(responseObj.result.returnObj.text,responseObj.result.returnObj.citgid+'');}},failure:function(theForm,responseObj){mask.hide();Ext.Msg.show({title:MEGA.copy.Workflows.Validation.error,msg:MEGA.copy.Workflows.AddReference.errorSubmittingForm,buttons:Ext.Msg.CANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING});}});},url:MEGA.config.Urls.EditReference,initComponent:function(){this.addEvents({'formsuccessfullysubmitted':true});this.configItems=[{id:'editRefStep1',title:MEGA.copy.Workflows.AddReference.ref_info_title||'Reference Information',border:false,autoLoad:{url:MEGA.config.Urls.ReferenceInfo+'?citgid='+this.citgid,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'editRefStep2',title:MEGA.copy.Workflows.AddReference.author_title||'Authors/Editors',border:false,autoLoad:{url:MEGA.config.Urls.AuthorsEditors+'?citgid='+this.citgid,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this)},{id:'editRefStep3',title:MEGA.copy.Workflows.AddReference.pub_info_title||'Publication Information',border:false,autoLoad:{url:MEGA.config.Urls.PublicationInfo+'?citgid='+this.citgid,callback:MEGA.forms.Site.convertExtFields.createDelegate(this)},validationHandler:function(){var thisWizard=this;var stepValid=true;$('#'+this.wizardTabs.activeTab.id+' :input[validate]').each(function(){if(MEGA.forms.validateField(thisWizard.getForm().findField(this.id))==false){stepValid=false;}});return stepValid;}.createDelegate(this),enableSubmit:true}];MEGA.widgets.addNewMonitoringEventWizard.superclass.initComponent.apply(this,arguments);}});Ext.namespace('FGI','FGI.widgets','FGI.config');MEGA.config.PhotoViewer={};MEGA.widgets.PhotoViewer=Ext.extend(FGI.widgets.FormWizard,{getPhotosUrl:null,updatePhotosUrl:null,updatePhotosParams:{},getPhotosParams:{},mongid:null,megakey:null,text:{title:MEGA.copy.app.view+' '+MEGA.copy.Widgets.PhotoViewer.photos_and_pdfs,header:'The following photos are associated with this monitoring event',caption:MEGA.copy.Widgets.PhotoViewer.caption,fileTitle:'Title'},nextButtonTextTemplate:FGI.copy.Widgets.FormWizard.next_button_template,backButtonTextTemplate:FGI.copy.Widgets.FormWizard.back_button_template,labelTextTemplate:FGI.copy.Widgets.FormWizard.label_template,getConfigObj:function(id){Ext.Ajax.request({url:this.getPhotosUrl,params:this.getPhotosParams,success:function(result,options){this.viewPhotosConfig={files:Ext.decode(result.responseText).returnObj};var p=this.wizardTabs.getActiveTab();if(p.items){p.remove(p.getComponent(0));}
this.photoViewer=new FGI.widgets.PhotoViewer({wizard:this,headerHTML:'<div class="x-panel x-panel-noborder" style="padding: 5px; width: 694px;"><div style="padding: 5px; width: 100%;"><div style="width: 100%;">'+this.text.header+':</div></div><div class="x-grid3-scroller" id="add-captions-scroller" style="width: 692px; height: 427px;"><div><div style="width: 573px;"><div style="width: 573px;" id="add-captions-body">',photoViewTmp:new Ext.Template('<table id="table-{name}" class="photo-viewer-row" style="width: 676px;padding:10px;"><tbody><tr id="view-photos-{name}" style="padding: 5px;">','<td style="width: 126px;">','<div style="padding-left: 5px;">','</div>','<div>','<table style="width:100%;><tbody><tr>','<tbody><tr><td style="text-align:center;">','<a href="{url}" target="_blank"><img src="{thumbNailurl}" style="border: 1px solid black;"/></a>','</td></tr></tbody>','</table>','</div>','</td>','<td style="padding-left:10px;">','<div style="padding-left: 5px; padding-top: 5px; font-weight: bold;">'+this.text.fileTitle+':</div>','<span style="width: 505px; padding-left: 10px;">{title}</span>','<div style="padding-left: 5px; padding-top: 5px; font-weight: bold;">'+this.text.caption+':</div>','<span style="width: 505px; padding-left: 10px;">{caption}</span>','</td>','</tr></tbody></table>'),viewPhotosConfig:this.viewPhotosConfig});p.add(this.photoViewer);p.doLayout();},failure:function(){},scope:this});},initComponent:function(){this.getPhotosUrl=MEGA.config.Urls.GetPhotos+this.mongid;this.getPhotosParams={mongid:this.mongid,megakey:this.megakey};Ext.apply(this,{configItems:[{id:'CaptionsStep',title:this.text.title,border:false,xtype:'panel',autoEl:{tag:'blockquote',html:'<div></div>'},validationHandler:function(){return(true);},enableSubmit:true,listeners:{'activate':{fn:function(){this.getConfigObj(this.searchid);this.submitButton.hide();this.cancelButton.setText('Close');},scope:this}}}],forms:new Ext.util.MixedCollection()});this.viewPhotosConfig={totalFilesAdded:0,files:[]};MEGA.widgets.PhotoViewer.superclass.initComponent.apply(this,arguments);}});Ext.namespace('MEGA','MEGA.widgets','MEGA.config');OpenLayers.Control.ScaleBar.prototype.measurementProperties.megajMetric={units:[(MEGA.copy.Widgets.Map.scalebar_kilometers||'kilometers'),(MEGA.copy.Widgets.Map.scalebar_meters||'meters'),(MEGA.copy.Widgets.Map.scalebar_centimeters||'centimeters')],abbr:['km','m','cm'],inches:[39370.07874,39.370079,0.393701]};MEGA.config.Map=function(){return{restrictedExtent:new OpenLayers.Bounds(2893600.1424077,3122299.7309809,5241745.6509077,4257236.7267559),maxExtent:new OpenLayers.Bounds(-20037508,-20037508,20037508,20037508.34),numZoomLevels:13,maxResolution:2445.9849046875,controls:[new OpenLayers.Control.MousePosition({prefix:(MEGA.copy.Widgets.Map.longitude_abbr||'Long')+': ',separator:', '+(MEGA.copy.Widgets.Map.latitude_abbr||'Lat')+': '}),new OpenLayers.Control.MouseDefaults(),new OpenLayers.Control.ScaleBar({displaySystem:'megajMetric'})],units:"degrees",projection:new OpenLayers.Projection("EPSG:900913"),displayProjection:new OpenLayers.Projection("EPSG:4326")};};MEGA.widgets.Map=Ext.extend(FGI.widgets.Map,{initComponent:function(){MEGA.widgets.Map.superclass.initComponent.apply(this,arguments);this.map.events.addEventType('featureclicked');this.map.min_zoom_level=7;this.map.GoogleTerrain=new OpenLayers.Layer.Google("Google Physical",{type:google.maps.MapTypeId.TERRAIN,'sphericalMercator':true,MIN_ZOOM_LEVEL:this.map.min_zoom_level,projection:new OpenLayers.Projection("EPSG:900913")});this.map.GoogleSat=new OpenLayers.Layer.Google("Google Satellite",{type:google.maps.MapTypeId.SATELLITE,numZoomLevels:this.map.numZoomLevels,'sphericalMercator':true,MIN_ZOOM_LEVEL:this.map.min_zoom_level,projection:new OpenLayers.Projection("EPSG:900913")});this.map.GoogleStreets=new OpenLayers.Layer.Google("Google Streets",{numZoomLevels:this.map.numZoomLevels,'sphericalMercator':true,MIN_ZOOM_LEVEL:this.map.min_zoom_level,projection:new OpenLayers.Projection("EPSG:900913")});this.map.GoogleHybrid=new OpenLayers.Layer.Google("Google Hybrid",{type:google.maps.MapTypeId.HYBRID,numZoomLevels:this.map.numZoomLevels,'sphericalMercator':true,MIN_ZOOM_LEVEL:this.map.min_zoom_level,projection:new OpenLayers.Projection("EPSG:900913")});this.map.addLayers([this.map.GoogleSat,this.map.GoogleHybrid,this.map.GoogleTerrain,this.map.GoogleStreets]);this.map.setCenter(new OpenLayers.LonLat(4067672.8966577146,3671423.342082519),0);OpenLayers.Popup.COLOR="transparent";this.map.featurePopup=new OpenLayers.Popup.Anchored("featurePopup",null,null,"<div id='popup'></div>",null,true,null);this.map.featurePopup.lonlat=this.map.getExtent().getCenterLonLat();this.map.featurePopup.panMapIfOutOfView=true;this.map.featurePopup.closeOnMove=true;this.map.addPopup(this.map.featurePopup,true);this.map.featurePopup.hide();this.map.featurePopup.closeDiv.style.top='9px';this.map.featurePopup.closeDiv.style.right='27px';var jordanBoundaryStyle=new OpenLayers.StyleMap({"default":new OpenLayers.Style({fillOpacity:0.0,fillColor:"#7CCD4E",strokeOpacity:.8,strokeColor:"#FFFFFF",strokeWidth:3})});var jordan_layer=new FGI.openlayers.SmartGML("Jordan","Media/jordan_simple.xml",{styleMap:jordanBoundaryStyle,visibility:Ext.isIE?false:true,visibleZoomRange:{min:0,max:11}});var mySurveysStyle=new OpenLayers.StyleMap({"default":new OpenLayers.Style({graphicZIndex:"${zindex}",pointRadius:"6",fillColor:"#F5B729",fillOpacity:.5,strokeColor:"#A87D1C",strokeWidth:1,cursor:'pointer'}),"select":new OpenLayers.Style({graphicZIndex:"${zindex}",fillOpacity:.5,fillColor:"#7CCD4E",strokeOpacity:.8,strokeColor:"#7CCD4E",strokeWidth:3}),"temporary":new OpenLayers.Style({graphicZIndex:"${zindex}",fillOpacity:.5,fillColor:"#235CDA",strokeOpacity:.8,strokeColor:"#235CDA",strokeWidth:3})});var surveys_layer=new FGI.openlayers.SmartWFS("Surveys",'proxy/geoserver_wfs',{'typename':MEGA.config.geoServerStoreId+':vw_surveys',maxfeatures:1000},{styleMap:mySurveysStyle,visibility:false,featureIdFieldName:'sur_survey_gid',ratio:1.1,visibleZoomRange:{min:20,max:20},extractAttributes:true,rendererOptions:{zIndexing:true}});var surveysSelector=new FGI.openlayers.ClickAndHighlightFeature(surveys_layer,{showTip:true,hoverTipFieldName:'sur_name_english',zoomOnClick:false,clickFeature:function(feature){}});this.map.addControl(surveysSelector);surveysSelector.activate();var govDefaultStyleOptions={fillColor:"#cccccc",fillOpacity:0,cursor:'pointer'};if(Ext.isIE){govDefaultStyleOptions["strokeColor"]="#808080";govDefaultStyleOptions["strokeWidth"]=1;}
var govDefaultStyle=new OpenLayers.Style(govDefaultStyleOptions);var myGovernoratesStyles=new OpenLayers.StyleMap({"default":govDefaultStyle,"select":new OpenLayers.Style({fillOpacity:.3,fillColor:"#7CCD4E",strokeOpacity:.8,strokeColor:"#7CCD4E",strokeWidth:5}),"temporary":new OpenLayers.Style({fillOpacity:.5,fillColor:"#235CDA",strokeOpacity:.8,strokeColor:"#235CDA",strokeWidth:2})});var myGovernoratesManualStyles=new OpenLayers.StyleMap({"default":new OpenLayers.Style({fillColor:"#cccccc",fillOpacity:0,strokeColor:"#FFFFFF",strokeWidth:2,cursor:'pointer'}),"select":new OpenLayers.Style({fillOpacity:.3,fillColor:"#7CCD4E",strokeOpacity:.8,strokeColor:"#7CCD4E",strokeWidth:5}),"temporary":new OpenLayers.Style({fillOpacity:.5,fillColor:"#235CDA",strokeOpacity:.8,strokeColor:"#235CDA",strokeWidth:2})});var governorate_layer=new FGI.openlayers.SmartGML("Governorates","Media/governorates_simple.xml",{styleMap:myGovernoratesStyles,manualModeStyleMap:myGovernoratesManualStyles,visibility:true,featureIdFieldName:'govno',visibleZoomRange:{min:0,max:2},getFeatureByIdField:function(id){for(var i=this.features.length;i>0;i--){if(this.features[i-1].data[this.featureIdFieldName]==id){return this.features[i-1];}}}});var govHoverTipField='gov_ne';var subgovHoverTipField='sub_ne';var displayHoverTipRTL=false;if(FGI.copy._lang=='ar-jo'){displayHoverTipRTL=true;govHoverTipField='gov_na';subgovHoverTipField='sub_na';}
var governorateSelectControl=new FGI.openlayers.ClickAndHighlightFeature(governorate_layer,{showTip:true,hoverTipFieldName:govHoverTipField,zoomOnClick:true,displayRightToLeft:displayHoverTipRTL,clickFeature:function(feature){var url=MEGA.config.Urls.geoserver_proxy_wfs+"?typename=MEGAJ_DEV%3Avw_subgovernorates_simple&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&SRS=EPSG%3A900913&CQL_FILTER=govno%3d"+feature.data.govno;governorate_layer.forceVisible=true;governorate_layer.setVisibility(true,true);subgovernorate_layer.forceVisible=true;subgovernorate_layer.setVisibility(true,true);}});this.map.addControl(governorateSelectControl);governorateSelectControl.activate();var subGovDefaultStyleOptions={fillColor:"#cccccc",fillOpacity:0,cursor:'pointer'};if(Ext.isIE){subGovDefaultStyleOptions["strokeColor"]="#808080";subGovDefaultStyleOptions["strokeWidth"]=1;}
var subGovDefaultStyle=new OpenLayers.Style(subGovDefaultStyleOptions);var mySubGovernoratesStyles=new OpenLayers.StyleMap({"default":subGovDefaultStyle,"select":new OpenLayers.Style({fillOpacity:.3,fillColor:"#7CCD4E",strokeOpacity:.8,strokeColor:"#7CCD4E",strokeWidth:5}),"temporary":new OpenLayers.Style({fillOpacity:.5,fillColor:"#235CDA",strokeOpacity:.8,strokeColor:"#235CDA",strokeWidth:2})});var mySubGovernoratesManualStyles=new OpenLayers.StyleMap({"default":new OpenLayers.Style({fillColor:"#cccccc",fillOpacity:0,strokeColor:"#FFFFFF",strokeWidth:2,cursor:'pointer'}),"select":new OpenLayers.Style({fillOpacity:.3,fillColor:"#7CCD4E",strokeOpacity:.8,strokeColor:"#7CCD4E",strokeWidth:5}),"temporary":new OpenLayers.Style({fillOpacity:.5,fillColor:"#235CDA",strokeOpacity:.8,strokeColor:"#235CDA",strokeWidth:2})});var subgovernorate_layer=new FGI.openlayers.SmartGML("SubGovernorates","Media/subgovernorates_simple.xml",{styleMap:mySubGovernoratesStyles,manualModeStyleMap:mySubGovernoratesManualStyles,visibility:true,hiddenFeatures:[],govIdFieldName:'govno',featureIdFieldName:'subgov_gid',visibleZoomRange:{min:3,max:5},requestFailure:function(){this.events.triggerEvent("loadend");},filterByGovernorateId:function(govid){this.filterByIdField(govid,this.govIdFieldName);},filterBySubGovernorateId:function(subid){this.filterByIdField(subid,this.featureIdFieldName);},filterByIdField:function(id,fieldName){this.hideAllFeatures();for(var i=this.hiddenFeatures.length;i>0;i--){if(this.hiddenFeatures[i-1].data[fieldName]==id){this.showFeature(this.hiddenFeatures[i-1]);}}},getFeatureByIdField:function(id){for(var i=this.features.length;i>0;i--){if(this.features[i-1].data[this.featureIdFieldName]==id){return this.features[i-1];}}
for(var j=this.hiddenFeatures.length;j>0;j--){if(this.hiddenFeatures[j-1].data[this.featureIdFieldName]==id){return this.hiddenFeatures[j-1];}}},hideFeature:function(feature){var hidden=(OpenLayers.Util.indexOf(this.hiddenFeatures,feature)>-1);if(!hidden){this.removeFeatures(feature);this.hiddenFeatures.push(feature);}},hideAllFeatures:function(){for(var i=this.features.length;i>0;i--){this.hideFeature(this.features[i-1]);}},showFeature:function(feature){var shown=(OpenLayers.Util.indexOf(this.features,feature)>-1);if(!shown){OpenLayers.Util.removeItem(this.hiddenFeatures,feature);this.addFeatures(feature);}},showAllFeatures:function(){for(var i=this.hiddenFeatures.length;i>0;i--){this.showFeature(this.hiddenFeatures[i-1]);}}});var subGovernorateSelectControl=new FGI.openlayers.ClickAndHighlightFeature(subgovernorate_layer,{showTip:true,hoverTipFieldName:subgovHoverTipField,zoomOnClick:true,displayRightToLeft:displayHoverTipRTL,clickFeature:function(feature){governorate_layer.forceHidden=true;governorateSelectControl.unselectAll();}});this.map.addControl(subGovernorateSelectControl);subGovernorateSelectControl.activate();var mySiteCentroidStyle=new OpenLayers.StyleMap({"default":new OpenLayers.Style(OpenLayers.Util.applyDefaults({pointRadius:"${scaledSize}",fillColor:"#AF2300",fillOpacity:.3,strokeColor:"#880000",strokeWidth:2,cursor:'pointer'},OpenLayers.Feature.Vector.style["default"]),{context:{scaledSize:function(feature){if(feature.data.count<2){return"6";}else if(feature.data.count<10){return"9";}else if(feature.data.count<100){return"15";}else if(feature.data.count<500){return"20";}else{return"28";}}}}),"select":new OpenLayers.Style({fillOpacity:.5,fillColor:"#7CCD4E",strokeOpacity:.8,strokeColor:"#7CCD4E",strokeWidth:3}),"temporary":new OpenLayers.Style({fillOpacity:.8,fillColor:"#235CDA",strokeOpacity:.8,strokeColor:"#235CDA",strokeWidth:3})});var site_centroids_layer=new FGI.openlayers.SmartWFS("Sites",'site/bybbox',{maxfeatures:1000,file:function(){return"myFile.txt";}},{styleMap:mySiteCentroidStyle,visibility:false,ratio:1.1,isClustered:true,format:OpenLayers.Format.SimpleJSONFormat,featureIdFieldName:'sit_site_gid',visibleZoomRange:{min:4,max:12},extractAttributes:true});var siteCentroidSelector=new FGI.openlayers.ClickAndHighlightFeature(site_centroids_layer,{showTip:true,hoverTipFieldName:'name',zoomOnClick:false,clickFeature:function(feature){}});this.map.addControl(siteCentroidSelector);siteCentroidSelector.activate();site_centroids_layer.events.register('visibilitychanged',this.map,function(e){this.getLayersByName('SiteBuffers')[0].setVisibility(site_centroids_layer.visibility);});var mySiteElementStyle=new OpenLayers.StyleMap({"default":new OpenLayers.Style({pointRadius:"6",fillColor:"#F5B729",fillOpacity:.5,strokeColor:"#A87D1C",strokeWidth:1,cursor:'pointer'}),"select":new OpenLayers.Style({fillOpacity:.5,fillColor:"#7CCD4E",strokeOpacity:.8,strokeColor:"#7CCD4E",strokeWidth:3}),"temporary":new OpenLayers.Style({fillOpacity:.5,fillColor:"#235CDA",strokeOpacity:.8,strokeColor:"#235CDA",strokeWidth:3})});var site_element_points=new FGI.openlayers.SmartWFS("SiteElements",'proxy/geoserver_wfs',{'typename':MEGA.config.geoServerStoreId+':vw_site_element_points',maxfeatures:1000},{styleMap:mySiteElementStyle,visibility:false,featureIdFieldName:'mk_sel_gid',ratio:1.1,visibleZoomRange:{min:11,max:12},extractAttributes:true});var siteElementSelector=new FGI.openlayers.ClickAndHighlightFeature(site_element_points,{showTip:true,hoverTipFieldName:'sel_type',zoomOnClick:false,clickFeature:function(feature){}});this.map.addControl(siteElementSelector);siteElementSelector.activate();var site_element_lines=new FGI.openlayers.SmartWFS("SiteElements",'proxy/geoserver_wfs',{'typename':MEGA.config.geoServerStoreId+':vw_site_element_lines',maxfeatures:1000},{renderToLayer:site_element_points,visibility:false,ratio:1.1,visibleZoomRange:{min:11,max:12},extractAttributes:true});var site_element_polygons=new FGI.openlayers.SmartWFS("SiteElements",'proxy/geoserver_wfs',{'typename':MEGA.config.geoServerStoreId+':vw_site_element_polygons',maxfeatures:1000},{renderToLayer:site_element_points,visibility:false,ratio:1.1,visibleZoomRange:{min:11,max:12},extractAttributes:true});var site_bufferStyle=new OpenLayers.StyleMap({"default":new OpenLayers.Style({fillOpacity:0.0,fillColor:"#7CCD4E",strokeOpacity:1.0,strokeColor:"#7CCD4E",strokeWidth:3,strokeDashstyle:"dash"})});var site_buffer_layer=new OpenLayers.Layer.Vector("SiteBuffers",{projection:new OpenLayers.Projection("EPSG:900913"),styleMap:site_bufferStyle});var search_polyStyle=new OpenLayers.StyleMap({"default":new OpenLayers.Style({fillOpacity:0.0,fillColor:"#7CCD4E",strokeOpacity:1.0,strokeColor:"#15428B",strokeWidth:4,strokeDashstyle:"dash"})});var search_poly_layer=new OpenLayers.Layer.Vector("SearchPolygon",{projection:new OpenLayers.Projection("EPSG:900913"),styleMap:search_polyStyle,visibility:false});var gpsMarkers=new OpenLayers.Layer.Markers("gpsMarkers");var search_results_markers_layer=new OpenLayers.Layer.Markers("SearchResultsMarkers",{hoverTip:new Ext.Tip({closable:false,renderTo:'map',header:true})});var search_results_clustered_markers_layer=new OpenLayers.Layer.Markers("SearchResultsClusteredMarkers",{hoverTip:new Ext.Tip({closable:false,renderTo:'map',header:true})});var candidate_markers_layer=new OpenLayers.Layer.Markers("CandidateMarkers",{hoverTip:new Ext.Tip({closable:false,renderTo:'map',header:true})});this.parcel_layer=new FGI.openlayers.SmartGWC({name:"Parcels",url:MEGA.config.Urls.parcel_tile_cache,isBaseLayer:false,visibleZoomRange:{min:20,max:20},zoomOffset:7});this.selected_parcel_layer=new OpenLayers.Layer.Vector("SelectedParcel",{projection:new OpenLayers.Projection("EPSG:900913"),styleMap:new OpenLayers.StyleMap({"default":new OpenLayers.Style({fillOpacity:.5,fillColor:"#7CCD4E",strokeOpacity:.8,strokeColor:"#7CCD4E",strokeWidth:3})})});this.parcel_layer.events.register('visibilitychanged',this,function(e){this.selected_parcel_layer.setVisibility(this.parcel_layer.getVisibility());});this.map.events.register('click',this,function(e){if(this.selected_parcel_layer.features.length>0){this.selected_parcel_layer.removeFeatures(this.selected_parcel_layer.features);}
this.map.featurePopup.hide();if(this.parcel_layer.getVisibility()){var url=MEGA.config.Urls.geoserver_proxy_wfs+'?LAYERS='+MEGA.config.Urls.parcel_layer+'&STYLES='+'&SRS=EPSG%3A900913'+'&FORMAT=image%2Fpng'+'&TRANSPARENT=true'+'&SERVICE=WMS'+'&VERSION=1.1.1'+'&REQUEST=GetFeatureInfo'+'&EXCEPTIONS=application%2Fvnd.ogc.se_xml'+'&BBOX='+this.map.getExtent().toBBOX()+'&X='+e.xy.x+'&Y='+e.xy.y+'&INFO_FORMAT=application%2Fvnd.ogc.gml'+'&QUERY_LAYERS='+MEGA.config.Urls.parcel_layer+'&FEATURE_COUNT=1'+'&WIDTH='+this.map.size.w+'&HEIGHT='+this.map.size.h+'&srsname=EPSG%3A900913';Ext.Ajax.request({url:url,success:function(response){var reader=new OpenLayers.Format.GML();var features=reader.read(response.responseText);if(features.length>0){this.map.featurePopup.lonlat=features[0].geometry.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913")).getBounds().getCenterLonLat();this.map.featurePopup.extPopup=new Ext.Panel({applyTo:'popup',width:280,autoHeight:true,title:'Parcel Data',closeable:false});var popupTpl=new Ext.Template('<div style="margin:5px; font-family:Verdana, Helvetica, Sans-Serif;">'+'<div style="font-size:10px;margin:10px 0 6px 0;"><b style="color:#15428B;">Parcel Data</b><hr/>'+'<table style="margin-bottom:10px;">'+'<tr><td align="right" class="fieldlabel" valign="top">DLS Key:</td><td><span style="color:#15428B;">{dls_key}</span></td></tr>'+'<tr><td align="right" class="fieldlabel" valign="top">Village Code:</td><td><span style="color:#15428B;">{village_code}</span></td></tr>'+'<tr><td align="right" class="fieldlabel" valign="top">Owner:</td><td><span style="color:#15428B;">{owner_eng}</span></td></tr>'+'<tr><td align="right" class="fieldlabel" valign="top">Parcel Type:</td><td><span style="color:#15428B;">{parcel_type}</span></td></tr>'+'<tr><td align="right" class="fieldlabel" valign="top">Area (sq. meters):</td><td><span style="color:#15428B;">{area_meter_jtm}</span></td></tr>'+'</table>','<div style="font-size:10px; padding-top:10px;"><b style="color:#15428B;">Tasks:</b>','<div style="padding-left:5px">','<a href="#" onclick="MEGA.app.Map.zoomToExtent(MEGA.app.MapContainer.selected_parcel_layer.getDataExtent());">Zoom to Parcel</a>','</div></div></div>');this.map.featurePopup.extPopup.body.dom.innerHTML=popupTpl.applyTemplate(features[0].attributes);this.map.featurePopup.updateSize();this.map.featurePopup.show();this.selected_parcel_layer.addFeatures(features);}},failure:function(){},scope:this});}
OpenLayers.Event.stop(e);});var layers=[gpsMarkers,search_poly_layer,site_buffer_layer,this.parcel_layer,this.selected_parcel_layer,surveys_layer];if(!Ext.isIE){layers.push(jordan_layer);}
layers.push(governorate_layer,subgovernorate_layer,site_centroids_layer,site_element_lines,site_element_polygons,site_element_points,search_results_clustered_markers_layer,search_results_markers_layer,candidate_markers_layer);this.map.addLayers(layers);var overviewOptions={layers:[new OpenLayers.Layer.WMS(MEGA.config.geoServerStoreId+":"+MEGA.config.geoServerAdminBoundary_1+" - Untiled","proxy/geoserver_img/",{srs:'EPSG:4326',layers:MEGA.config.geoServerStoreId+':'+MEGA.config.geoServerAdminBoundary_1,styles:'',format:'image/png'},{singleTile:true,ratio:1})],autoPan:false,size:{w:170,h:150},mapOptions:{maxExtent:new OpenLayers.Bounds(3790053.6099788,3478841.5648018,4504892.6983738,3821279.451458),minExtent:new OpenLayers.Bounds(3790053.6099788,3478841.5648018,4504892.6983738,3821279.451458),restrictedExtent:new OpenLayers.Bounds(3790053.6099788,3478841.5648018,4504892.6983738,3821279.451458),maxResolution:5543,minResolution:5543,units:"degrees",projection:new OpenLayers.Projection("EPSG:900913")}};var overview=new OpenLayers.Control.OverviewMap(overviewOptions);this.map.addControl(overview);this.map.zoomToWKT=function(wkt,zoomLimit){var geom=new OpenLayers.Format.WKT().read(wkt).geometry;this.zoomToGeom(geom,zoomLimit);};this.map.zoomToGeom=function(geom,zoomLimit){var bounds=geom.getBounds();if(zoomLimit){var zoom=this.getZoomForExtent(bounds,false);this.setCenter(bounds.getCenterLonLat(),Math.min(zoom,zoomLimit));}else{this.zoomToExtent(bounds);}};this.map.getAdjustedZoom=function(){return(this.getZoom()+this.min_zoom_level);};this.map.setAdjustedZoom=function(){this.zoomTo(unadjustedZoomLevel+this.min_zoom_level);};this.map.isPolygonValid=function(polygonGeom){segments=[];var valid=true;vertices=polygonGeom.getVertices();Ext.each(vertices,function(item,index,allItems){item.sharedCount=0;var nextIndex=index+1;if(nextIndex!=allItems.length){seg={x1:item.x,y1:item.y,x2:allItems[nextIndex].x,y2:allItems[nextIndex].y,id1:item.id,id2:allItems[nextIndex].id}}else{seg={x1:item.x,y1:item.y,x2:allItems[0].x,y2:allItems[0].y,id1:item.id,id2:allItems[0].id}}
segments.push(seg);},this);Ext.each(segments,function(item,index,allItems){Ext.each(segments,function(item,index,allItems){if(this.index!=index){var intersect=OpenLayers.Geometry.segmentsIntersect(this,item,{point:true});if(intersect==true){valid=false;}else if(intersect!=false){var isVertex=false;if((this.x1==item.x1&&this.y1==item.y1)||(this.x1==item.x2&&this.y1==item.y2)){isVertex=(this.x1==intersect.x&&this.y1==intersect.y);}else if((this.x2==item.x1&&this.y2==item.y1)||(this.x2==item.x2&&this.y2==item.y2)){isVertex=(this.x2==intersect.x&&this.y2==intersect.y);}
if(isVertex==false){valid=false;}else{Ext.each(vertices,function(item,index,allItems){if(this.x==item.x&&this.y==item.y){item.sharedCount++;if(item.sharedCount>2){valid=false;}}},intersect);}}}},{x1:item.x1,y1:item.y1,x2:item.x2,y2:item.y2,index:index});},this);return valid;}}});Ext.reg('mega-widgets-map',MEGA.widgets.Map);Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');MEGA.config.MapToolbar={};MEGA.widgets.MapToolbar=Ext.extend(Ext.Toolbar,{splashUrl:'',advancedSearchResize:function(){var pos=this.SearchButton.window.getPosition();var size=this.SearchButton.window.getSize();var newheight;if(size.height==this.AdvancedSearch.windowHeight){newheight=84;this.AdvancedSearch.isActive=false;if(this.Search.ComboBox.searchType!="gpsCoords"){this.Search.turnDropDownOn();}}else{newheight=this.AdvancedSearch.windowHeight;this.AdvancedSearch.isActive=true;this.Search.turnDropDownOff();}
this.SearchButton.window.ghost().setBounds(pos[0],pos[1],size.width,newheight,{duration:0.45,callback:function(){this.SearchButton.window.setSize(size.width,newheight);this.SearchButton.window.unghost();}.createDelegate(this)});this.ownerCt.map.getLayersByName('SearchPolygon')[0].setVisibility(this.AdvancedSearch.isActive);},initComponent:function(){this.addEvents({'languagechanged':true,'identifytoolclicked':true});this.mapBackground=new Ext.Button({text:MEGA.copy.Widgets.MapToolbar.satellite||'Satellite',cls:'button',tooltip:{text:MEGA.copy.Widgets.MapToolbar.maptype_tooltip_text||'Click here to select a background layer',title:MEGA.copy.Widgets.MapToolbar.maptype_tooltip_title||'Background'},menu:{items:[{text:MEGA.copy.Widgets.MapToolbar.terrain||'Terrain',iconCls:'terrain',scope:this,handler:function(){this.mapBackground.setText('Terrain');this.ownerCt.map.setBaseLayer(this.ownerCt.map.GoogleTerrain);}},{text:MEGA.copy.Widgets.MapToolbar.streets||'Streets',iconCls:'map',scope:this,handler:function(){this.mapBackground.setText('Streets');this.ownerCt.map.setBaseLayer(this.ownerCt.map.GoogleStreets);}},{text:MEGA.copy.Widgets.MapToolbar.satellite||'Satellite',iconCls:'world',scope:this,handler:function(){this.mapBackground.setText('Satellite');this.ownerCt.map.setBaseLayer(this.ownerCt.map.GoogleSat);}},{text:MEGA.copy.Widgets.MapToolbar.hybrid||'Hybrid',iconCls:'hybrid',scope:this,handler:function(){this.mapBackground.setText('Hybrid');this.ownerCt.map.setBaseLayer(this.ownerCt.map.GoogleHybrid);}}],cls:'trans-menu'}});this.identifyTool=new Ext.Button({id:'identifybutton',text:MEGA.copy.Widgets.MapToolbar.identify,iconCls:'identify',cls:'x-btn-text-icon button',enableToggle:true,tooltip:{text:MEGA.copy.Widgets.MapToolbar.identifyTooltip,title:MEGA.copy.Widgets.MapToolbar.identifyTool},handler:function(){this.fireEvent('identifytoolclicked',Ext.getCmp('identifybutton').pressed);},scope:this});this.languageButton=new Ext.SplitButton({id:'languagebutton',text:MEGA.copy.Widgets.MapToolbar.language_btn||'Language',iconCls:'comments',cls:'x-btn-text-icon button',tooltip:{text:MEGA.copy.Widgets.MapToolbar.language_btn_tooltip||'Click here to select a language'},scope:this,menu:new Ext.menu.Menu({scope:this,items:[new Ext.menu.Item(MEGA.actions.englishLangButton),new Ext.menu.Item(MEGA.actions.arabicLangButton)]})});if(FGI.copy._lang=='ar-jo'){MEGA.config.SearchResults.displayRightToLeft=true;MEGA.config.CandidateList.displayRightToLeft=true;}
this.TasksPanel=new FGI.widgets.Tasks({configItems:[this.SearchResults=new FGI.widgets.SearchResults(MEGA.config.SearchResults.init()),this.Activities=new MEGA.widgets.Activities({title:MEGA.copy.Widgets.Activities.title}),this.CandidateList=new FGI.widgets.SearchResults(MEGA.config.CandidateList),this.Legend=new MEGA.widgets.Legend({title:MEGA.copy.Widgets.Legend.title})]});this.TasksButton=new FGI.component.ButtonWindow({text:MEGA.copy.Widgets.MapToolbar.tasks_btn||'Tasks',iconCls:'cog',cls:'x-btn-text-icon button',tooltip:{text:MEGA.copy.Widgets.MapToolbar.tasks_btn_tooltip||'Click here to show/hide the tasks window'},windowConfig:{title:('<a href="#" onclick="MEGA.app.MapToolbar.TasksButton.window.toggleCollapse();" class="headerlink"><span class="x-btn-text cog" style="padding-left: 16px; padding-bottom: 3px;"> </span><span style="padding-left: 2px;">'+MEGA.copy.Widgets.MapToolbar.tasks_btn+'</span></a>')||'<a href="#" onclick="MEGA.app.MapToolbar.TasksButton.window.toggleCollapse();" class="headerlink"><span class="x-btn-text cog" style="padding-left: 16px; padding-bottom: 3px;"> </span><span style="padding-left: 2px;">Tasks</span></a>',items:this.TasksPanel,cls:'TasksWindow',collapsible:true}});Ext.each(this.TasksPanel.items.items,function(item,index,allItems){item.on('beforecollapse',function(){if(this==this.ownerCt.layout.activeItem){return false;}});item.on('expand',function(){Ext.each(this.TasksPanel.items.items,function(item,index,allItems){if(this!=this.ownerCt.layout.activeItem){this.collapse();}});},this);},this);if(FGI.copy._lang=='ar-jo'){MEGA.config.Search.displayRightToLeft=true;}
this.SearchButton=new FGI.component.ButtonWindow({text:MEGA.copy.Widgets.MapToolbar.search_btn||'Search',iconCls:'magnifier',cls:'x-btn-text-icon button',tooltip:{text:MEGA.copy.Widgets.MapToolbar.search_btn_tooltip||'Click here to show/hide the search window'},windowConfig:{title:'<a href="#" onclick="MEGA.app.MapToolbar.SearchButton.window.toggleCollapse();" class="headerlink"><span class="x-btn-text magnifier" style="padding-left: 16px; padding-bottom: 3px;"> </span><span style="padding-left: 2px;">'+(MEGA.copy.Widgets.MapToolbar.search_btn||'Search')+'</span></a>',layout:'fit',width:570,height:82,resizable:false,collapsible:true,items:[this.Search=new MEGA.widgets.Search({searchGroups:MEGA.config.Search.init()}),this.AdvancedSearch=new MEGA.widgets.AdvancedSearch()]}});this.helpButton=new MEGA.widgets.HelpButton();this.loginForm=new FGI.widgets.LoginForm({url:MEGA.config.Urls.Login,title:MEGA.copy.Widgets.MapToolbar.Login_btn_text,usernameLabel:MEGA.copy.Widgets.Login.username,passwordLabel:MEGA.copy.Widgets.Login.password,passwordReminderText:MEGA.copy.Widgets.Login.pwdReminderText,passwordErrorText:MEGA.copy.Widgets.Login.errorText,loginMaskText:MEGA.copy.Widgets.Login.loginMaskText,loginButtonText:MEGA.copy.Widgets.Login.loginBtnText,cancelButtonText:MEGA.copy.app.cancelBtnText,hideOnPasswordHelpClicked:false,redirectToOnCancel:this.splashUrl});this.loginButton=new FGI.component.ButtonWindow({text:MEGA.copy.Widgets.MapToolbar.Login_btn_text||'Sign In',iconCls:'user_gray',cls:'x-btn-text-icon button',tooltip:{text:MEGA.copy.Widgets.MapToolbar.login_btn_tooltip},windowConfig:{title:'',layout:'fit',width:300,height:185,items:[this.loginForm],modal:true,draggable:false,closeAction:'hide',closable:false,cls:'login-window'}});this.userPrefDropDown=new Ext.SplitButton({id:'userprefsbutton',text:MEGA.copy.Widgets.MapToolbar.preferences,tooltip:{text:MEGA.copy.Widgets.MapToolbar.user_pref_tooltip},iconCls:'user_gray',cls:'x-btn-text-icon button',hidden:true,scope:this,menu:new Ext.menu.Menu({scope:this,items:[this.logoutButton=new Ext.menu.Item(MEGA.actions.logoutButton)]})});Ext.apply(this,{cls:'x-panel-header',height:25,items:['<span>'+MEGA.copy.Widgets.MapToolbar.Map_text+':</span>',this.mapBackground,'->',this.languageButton,'<span style="padding:1px;"/>',this.SearchButton,'<span style="padding:1px;"/>',this.TasksButton,'<span style="padding:1px;"/>',this.loginButton,this.userPrefDropDown,'<span style="padding:1px;"/>',this.helpButton]});MEGA.widgets.MapToolbar.superclass.initComponent.apply(this,arguments);},login:function(theUser){this.loginButton.hide();this.userPrefDropDown.setText(theUser.firstname);this.userPrefDropDown.show();this.loginButton.hide();if(theUser.Roles.isAnonymous){this.SearchResults.exportButton.hide();}else{this.userPrefDropDown.menu.add(this.changePasswordButton=new Ext.menu.Item(MEGA.actions.changePasswordButton));}
this.Activities.login(theUser);},logout:function(){this.loginButton.show();this.userPrefDropDown.hide();this.Activities.logout();}});Ext.namespace('MEGA','MEGA.widgets','MEGA.config');MEGA.config.Activities=[{title:MEGA.copy.Widgets.Activities.enter_new_site_title,description:MEGA.copy.Widgets.Activities.enter_new_site,icon:'Media/images/icon_addsite.png',hidden:true,handler:function(){MEGA.app.AddSiteWorkflow=new MEGA.workflows.AddSite({app:MEGA.app});}},{title:MEGA.copy.Widgets.Activities.enter_new_sel_title,description:MEGA.copy.Widgets.Activities.enter_new_sel,icon:'Media/images/icon_addelement.png',hidden:true,handler:function(){MEGA.app.addNewSiteElement();}},{title:MEGA.copy.Widgets.Activities.print_forms_title,description:MEGA.copy.Widgets.Activities.print_forms,icon:'Media/images/icon_print.png',disabled:false,handler:function(){var menu=new Ext.menu.Menu({cls:'activities-menu',enableScrolling:true,autoScroll:true});var menuConfig=[{title:MEGA.copy.Widgets.Activities.print_site_card||'Print Site Card',handler:function(){window.open(MEGA.config.Urls.SiteCard);},icon:'Media/images/silk/icons/page_white_text.png'},{title:MEGA.copy.Widgets.Activities.print_site_boundary_card,handler:function(){window.open(MEGA.config.Urls.SelBoundCard);},icon:'Media/images/silk/icons/page_white_text.png'},{title:MEGA.copy.Widgets.Activities.print_site_points_card,handler:function(){window.open(MEGA.config.Urls.SelPointsCard);},icon:'Media/images/silk/icons/page_white_text.png'},{title:MEGA.copy.Widgets.Activities.print_mon_card||'Print Monitoring Card',handler:function(){window.open(MEGA.config.Urls.MonCard);},icon:'Media/images/silk/icons/page_white_text.png'},{title:MEGA.copy.Widgets.Activities.print_sel_codes_card,handler:function(){window.open(MEGA.config.Urls.SelCodesCard);},icon:'Media/images/silk/icons/page_white_text.png'},{title:MEGA.copy.Widgets.Activities.print_mon_codes_card,handler:function(){window.open(MEGA.config.Urls.MonCodesCard);},icon:'Media/images/silk/icons/page_white_text.png'}];Ext.each(menuConfig,function(item,index,allItems){item.text='<table><td style="width:20px;"><img src="'+item.icon+'"/></td><td><span style="font-weight: bolder; color: #15428B;">'+item.title+'</span></td></table>';var menuItem=new Ext.menu.Item(item);menu.add(menuItem);},this);var menuPanel=new Ext.ux.MenuPanel({fillHeight:true,menu:menu,autoWidth:true,border:false});var win=new Ext.Window({title:MEGA.copy.Widgets.Activities.print_forms_title,width:250,height:205,items:[menuPanel],autoScroll:true,resizable:false,modal:true});win.show();}},{title:MEGA.copy.Widgets.Activities.add_biblio_ref_title,description:MEGA.copy.Widgets.Activities.add_biblio_ref,icon:'Media/images/icon_addreference.png',hidden:true,handler:function(){MEGA.app.CitationManager=new MEGA.widgets.CitationManager({app:MEGA.app});}},{title:MEGA.copy.Widgets.Activities.user_admin_title,description:MEGA.copy.Widgets.Activities.user_admin,icon:'Media/images/icon_useradmin.png',id:'UserAdmin',hidden:true,handler:function(){MEGA.app.userAdmin=new MEGA.widgets.userAdmin();}},{title:MEGA.copy.Widgets.Activities.director_reporting_title,description:MEGA.copy.Widgets.Activities.director_reporting,icon:'Media/images/icon_reporting.png',id:'DirectorReporting',hidden:true,handler:function(){MEGA.app.DirectorReport.show();MEGA.app.DirectorReport.store.load();MEGA.app.DirectorReport.store.sort('editDate','DESC');}},{title:MEGA.copy.Widgets.Activities.mega_file_upload_title,description:MEGA.copy.Widgets.Activities.mega_file_upload,icon:'Media/images/icon_upload.png',id:'MegafileUpload',hidden:true,handler:function(){MEGA.app.uploadMegafileWindow.show();}},{title:MEGA.copy.Widgets.Activities.review_mega_files_title,description:MEGA.copy.Widgets.Activities.review_mega_files,icon:'Media/images/icon_review.png',id:'MegafilesReView',hidden:true,handler:function(){MEGA.app.megafilesViewerWindow=new MEGA.widgets.MegafilesViewer({url:MEGA.config.Urls.UploadedMegaFiles});MEGA.app.megafilesViewerWindow.show();}}];MEGA.widgets.Activities=Ext.extend(Ext.ux.MenuPanel,{title:'Activities',initComponent:function(){var menu=new Ext.menu.Menu({cls:'activities-menu',enableScrolling:true,autoScroll:true});Ext.each(MEGA.config.Activities,function(item,index,allItems){item.text='<table><td style="width:50px;"><img src="'+item.icon+'"/></td><td><span style="font-weight: bolder; color: #15428B;">'+item.title+'</span><br>'+item.description+'</td></table>';var menuItem=new Ext.menu.Item(item);menu.add(menuItem);if(item.links){menu.add('<div style="padding-left:57px; padding-right:3px">'+item.links+'</div>');}},this);Ext.apply(this,{title:this.title,fillHeight:true,menu:menu,autoWidth:true,border:false});MEGA.widgets.Activities.superclass.initComponent.apply(this,arguments);},login:function(theUser){this.setRole(theUser);},setRole:function(theUser){if(theUser.Roles.isViewer){}
if(theUser.Roles.isEditor){this.menu.items.items[0].show();this.menu.items.items[1].show();this.menu.items.items[3].show();this.menu.items.items[6].show();this.menu.items.items[7].show();}
if(theUser.Roles.isAdministrator){this.menu.items.items[4].show();}
if(theUser.Roles.isDirector){this.menu.items.items[5].show();}
if(theUser.Roles.isApprover){this.menu.items.items[0].show();this.menu.items.items[1].show();this.menu.items.items[3].show();this.menu.items.items[6].show();this.menu.items.items[7].show();}
if(theUser.Roles.isContributor){this.menu.items.items[6].show();}},logout:function(){this.menu.items.items[0].hide();this.menu.items.items[1].hide();this.menu.items.items[3].hide();this.menu.items.items[4].hide();this.menu.items.items[5].hide();this.menu.items.items[6].hide();this.menu.items.items[7].hide();}});Ext.namespace('MEGA','MEGA.widgets');MEGA.widgets.Legend=Ext.extend(Ext.grid.GridPanel,{initComponent:function(){this.addEvents({'layermodechanged':true,'layervisibilitychanged':true,'layerorderchanged':true});var expander=new Ext.grid.RowExpander({tpl:new Ext.XTemplate('<tpl for=".">','<div style="padding-left:20px;">','<div><b>Description:</b> {desc}</div>','<div><b>Auto Display Zoom Levels: </b>{autozoom}</div>','<div><b>Symbology:</b></div>','<table>','<tpl if="default_symbol != \'\'">','<tr>','<td><img src=\'{default_symbol}\'></td>','<td><span style="padding-left: 10px; color: #666666;">{default_text}</span></td>','</tr>','</tpl>','<tpl if="hover_symbol != \'\'">','<tr>','<td><img src=\'{hover_symbol}\'></td>','<td><span style="padding-left: 10px; color: #666666;">Mouse Hover Display</span></td>','</tr>','</tpl>','<tpl if="selected_symbol != \'\'">','<tr>','<td><img src=\'{selected_symbol}\'></td>','<td><span style="padding-left: 10px; color: #666666;">Selected Display</span></td>','</tr>','</tpl>','</table>','</div>','</tpl>')});var reader=new Ext.data.ArrayReader({},[{name:'name'},{name:'group'},{name:'layer'},{name:'mode'},{name:'desc'},{name:'autozoom'},{name:'default_text'},{name:'default_symbol'},{name:'hover_symbol'},{name:'selected_symbol'}]);var sm=new FGI.grid.LayerSelectionModel({singleSelect:true,header:'<div id="fool-ext-into-hiding-header2" class="eh"></div>'});sm.addListener('toggleLayer',this.toggleLayerHandler,this);var dataLayers=MEGA.config.Legend.layers;if(Ext.isIE){dataLayers=[]
Ext.each(MEGA.config.Legend.layers,function(item,index,allItems){if(item[0]!="Jordan"){dataLayers.push(item);}},this);}
this.store=new Ext.data.Store({reader:reader,data:dataLayers});Ext.apply(this,{id:'the-grid',store:this.store,cm:new Ext.grid.ColumnModel([expander,sm,{id:'name',header:MEGA.copy.app.name,width:210,sortable:true,dataIndex:'name'},{header:MEGA.copy.Widgets.Legend.auto_col,width:95,sortable:true,dataIndex:'mode',renderer:function(val,cell,record,rowIndex,colIndex,store){var retval='<input type="radio" value="Auto" onclick="MEGA.app.MapToolbar.Legend.setLayerMode(\''+record.data.name+'\', \'auto\')" name="'+'rb-'+record.data.name+'"'+((val=='auto')?' checked="checked"':'')+'>';return retval;}},{header:MEGA.copy.Widgets.Legend.manual_col,width:95,sortable:true,dataIndex:'mode',renderer:function(val,cell,record,rowIndex,colIndex,store){var retval='<input type="radio" value="Manual" onclick="MEGA.app.MapToolbar.Legend.setLayerMode(\''+record.data.name+'\', \'manual\')" name="'+'rb-'+record.data.name+'"'+((val=='manual')?'checked="checked"':'')+'>';return retval;}}]),sm:sm,width:500,height:300,viewConfig:{forceFit:true},plugins:expander,frame:false,enableDragDrop:true,ddGroup:'layerDDGroup'});this.on('sortchange',function(){this.fireEvent('layerorderchanged',this.getStore());},this)
this.on('render',function(g){var ddrow=new Ext.ux.dd.GridReorderDropTarget(g,{copy:false,listeners:{beforerowmove:function(objThis,oldIndex,newIndex,records){},afterrowmove:function(objThis,oldIndex,newIndex,records){g.fireEvent('layerorderchanged',g.getStore());}}});Ext.dd.ScrollManager.register(g.getView().getEditorParent());},this)
this.on('beforedestroy',function(g){Ext.dd.ScrollManager.unregister(g.getView().getEditorParent());},this)
sm.addListener({'beforerowselect':function(sm,rowIndex,keepExisting,record){if(keepExisting===false){return false;}}});MEGA.widgets.Legend.superclass.initComponent.apply(this,arguments);},toggleLayerHandler:function(sm,rowIndex,rec){if(!rec.layerOff){rec.layerOff=true;}else{rec.layerOff=false;}
this.fireEvent('layervisibilitychanged',rec,rec.data.layer,!rec.layerOff);},setLayerMode:function(name,mode){Ext.each(this.getStore().data.items,function(item,index,allItems){if(item.data.name==name){item.data.mode=mode;var checkbox=this.getView().getRow(index).firstChild.firstChild.firstChild.firstChild.nextSibling.firstChild.firstChild;if(item.layerOff){var visibility=false;}else{var visibility=true;}
if(mode=='auto'){checkbox.className="x-grid3-row-checker-hide"}
else if(mode=='manual'){if(visibility){checkbox.className="x-grid3-row-checker-on"}else{checkbox.className="x-grid3-row-checker-off"}}
this.fireEvent('layermodechanged',item,item.data.layer,item.data.mode,visibility);}},this);},addLegendItem:function(itemConfig,index){if(typeof itemConfig=="object"){var p=new this.store.recordType(itemConfig);if(this.store.query('name',itemConfig.name).items.length==0){this.store.insert(index,p);}}},removeLegendItemByName:function(name){var recCollection=this.store.query('name',name,false,true);Ext.each(recCollection.items,function(item,index,allItems){this.store.remove(item);},this);},removeLegendItemByIndex:function(index){this.store.removeAt(index);}});Ext.namespace('MEGA','MEGA.widgets','MEGA.config');MEGA.config.SearchResults={displayRightToLeft:false,init:function(){this.loadMask={msg:MEGA.copy.Widgets.SearchResults.loadmask};this.expanderLoadingText=MEGA.copy.Widgets.SearchResults.loadmask;this.collapsed=true;this.title=MEGA.copy.Widgets.SearchResults.title;this.sortLabel=MEGA.copy.Widgets.SearchResults.sort_label;this.sortTooltipConfig={text:MEGA.copy.Widgets.SearchResults.sort_tip_text,title:MEGA.copy.Widgets.SearchResults.sort_tip_title};this.printButtonText=MEGA.copy.Widgets.SearchResults.print_page;this.optionsButtonText=MEGA.copy.Widgets.SearchResults.options;this.exportButtonText=MEGA.copy.app.exportToCSV;this.clearButtonText=MEGA.copy.Widgets.SearchResults.clearSearch;this.sortFieldMegaNumber=MEGA.copy.app.megaNumber;this.sortFieldName=MEGA.copy.app.name;this.sortFieldGov=MEGA.copy.app.governorate;this.searchResultTypes=[{type:'site',title:'Sites',titleRenderer:function(value,p,record,rowindex){var centroid=new OpenLayers.Format.WKT().read(record.data.centroid).geometry;var nameList=''
Ext.each(record.data.site_names_list,function(name,index,allNames){if(index+1==allNames.length){nameList+=name;}else{nameList+=name+', ';}},this);if(MEGA.config.SearchResults.displayRightToLeft){return String.format('<div dir="rtl"><div><a href="#" onclick="MEGA.app.MapToolbar.SearchResults.plugins.expandRow({5}); MEGA.app.viewSiteReport({6});" style="font-weight:bold; font-size:13px; color:#15428B;">{0}</a></div><div style="font-weight:bold; font-size:10px; color:#15428B; white-space:normal;">{4}</div><div style="font-weight:bold; font-size:11px; color:#15428B;">'+MEGA.copy.app.megaNumber+': {1}</div><div style="color:#808080;">'+MEGA.copy.Widgets.SearchResults.location+': '+MEGA.copy.app.adminBoundaryName1+' > {2} > {3}</div></div>',record.data.site_name,record.data.mk_mega_key,record.data.governorate,record.data.subgovernorate,nameList,rowindex,record.data.sit_site_gid);}else{return String.format('<div><a href="#" onclick="MEGA.app.MapToolbar.SearchResults.plugins.expandRow({5}); MEGA.app.viewSiteReport({6});" style="font-weight:bold; font-size:13px; color:#15428B;">{0}</a></div><div style="font-weight:bold; font-size:10px; color:#15428B; white-space:normal;">{4}</div><div style="font-weight:bold; font-size:11px; color:#15428B;">'+MEGA.copy.app.megaNumber+': {1}</div><div style="color:#808080;">'+MEGA.copy.Widgets.SearchResults.location+': '+MEGA.copy.app.adminBoundaryName1+' > {2} > {3}</div>',record.data.site_name,record.data.mk_mega_key,record.data.governorate,record.data.subgovernorate,nameList,rowindex,record.data.sit_site_gid);}},expanderUrl:MEGA.config.Urls.Site,reader:new Ext.data.JsonReader({root:'Sites',totalProperty:'TotalCount'},MEGA.data.Site),expanderIdField:'sit_site_gid',sortFields:[{text:this.sortFieldGov,id:'gov',isDefault:true},{text:this.sortFieldName,id:'nam_name'},{text:this.sortFieldMegaNumber,id:'mk_mega_key'}],isDefault:true},{type:'siteEle',title:'Site Elements',titleRenderer:function(value,p,record,rowindex){if(MEGA.config.SearchResults.displayRightToLeft){return String.format('<div dir="rtl"><div style="font-weight:bold; font-size:13px; color:#15428B;">{0}</div><div style="font-weight:bold; font-size:11px; color:#15428B;">'+MEGA.copy.app.megaNumber+': {1}</div><div style="color:#808080;">'+MEGA.copy.Widgets.SearchResults.location+': '+MEGA.copy.app.adminBoundaryName1+' > {2} > {3}</div></div>',record.data.sel_primary_name,record.data.mk_mega_key,record.data.governorate,record.data.subgovernorate);}else{return String.format('<div style="font-weight:bold; font-size:13px; color:#15428B;">{0}</div><div style="font-weight:bold; font-size:11px; color:#15428B;">'+MEGA.copy.app.megaNumber+': {1}</div><div style="color:#808080;">'+MEGA.copy.Widgets.SearchResults.location+': '+MEGA.copy.app.adminBoundaryName1+' > {2} > {3}</div>',record.data.sel_primary_name,record.data.mk_mega_key,record.data.governorate,record.data.subgovernorate);}},expanderUrl:MEGA.config.Urls.SiteElement,reader:new Ext.data.JsonReader({root:'SiteElements',totalProperty:'TotalCount'},MEGA.data.SiteElement),expanderIdField:'mk_sel_gid',sortFields:[{text:this.sortFieldGov,id:'gov',isDefault:true},{text:this.sortFieldName,id:'nam_name'},{text:this.sortFieldMegaNumber,id:'mk_mega_key'}],isDefault:false}];this.printRecordTpl=new Ext.Template('<tr style="color: rgb(21, 66, 139);">','<td width="40%" valign="top"><span>{site_name}</span></td>','<td width="20%" valign="top" style="text-align:center;"><span>{mk_mega_key}</span></td>','<td width="40%" valign="top"><span>'+MEGA.copy.app.adminBoundaryName1+' > {governorate} > {subgovernorate}</span></td>','</tr>');this.doSearch=function(url){this.expand();this.remoteUrl=url;this.store.proxy.conn.url=url+'&sortby='+this.sortField+'&zoom='+MEGA.app.Map.getAdjustedZoom();var pagingToolbar=this.getBottomToolbar();pagingToolbar.bind(this.getStore());pagingToolbar.changePage(1);};this.exportResultsToCsv=function(){var decodedUrl=Ext.urlDecode(this.remoteUrl);var url='';var queryStringObj={};if(this.remoteUrl.split('?')[0]==MEGA.config.Urls.DirectorReport){url=MEGA.config.Urls.DirectorReport;decodedUrl=Ext.urlDecode(this.remoteUrl.split('?')[1]);decodedUrl['format']='csv';queryStringObj={startDate:'',endDate:'',format:'csv',sortby:'nam_name',limit:1000,start:0,removeDuplicates:false};}else{queryStringObj={query:"",limit_to_map:"",elem_codes:"",per_codes:"",topo_codes:"",threat_codes:"",cond_ratings:"",dist_codes:"",legal_codes:"",entry_user:"",investigators:"",offices:"",governorates:"",surveys:"",ownership:"",mon_date_from:"",mon_date_to:"",threat_ratings:"",mon_schedule:"",recommendations:"",priorities:"",free_text:"",lang:FGI.copy._lang};url=MEGA.config.Urls.SiteCsv;}
for(param in decodedUrl){if(decodedUrl[param]!="undefined"&&queryStringObj[param]!="undefined"){queryStringObj[param]=decodedUrl[param];}}
url+="?"+Ext.urlEncode(queryStringObj);window.open(url);};this.ClusteredResultStore=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:"",method:'GET'}),reader:new Ext.data.JsonReader({root:'ClusteredSearchResults',totalProperty:'TotalCount',fields:[{name:'Name'},{name:'IsClustered'},{name:'Count'},{name:'Point'},{name:'ClusterBounds'},{name:'Id'}]}),autoLoad:false});return this;}};Ext.namespace('MEGA','MEGA.widgets','MEGA.config');MEGA.config.CandidateList={collapsed:true,hidden:true,tools:[{id:'close',handler:function(){MEGA.app.MapToolbar.CandidateList.hide();}}],title:MEGA.copy.Widgets.Candidates.title,showTopToolbar:false,displayRightToLeft:false,searchResultTypes:[{type:'candidate',title:'Candidate',titleRenderer:function(value,p,record){if(record.data.featuretype=="Site"){if(MEGA.config.CandidateList.displayRightToLeft){return String.format('<div style="font-weight:bold; font-size:13px; color:#15428B;">{0}</div><div style="color:#808080;">{2} < {1} < <span dir="rtl" style="padding-right:5px;"><span>'+MEGA.copy.Widgets.SearchResults.location+': </span>'+MEGA.copy.app.adminBoundaryName1+'</span></div>',record.data.name,record.data.governorate,record.data.subgovernorate);}else{return String.format('<div style="font-weight:bold; font-size:13px; color:#15428B;">{0}</div><div style="color:#808080;">'+MEGA.copy.Widgets.SearchResults.location+': '+MEGA.copy.app.adminBoundaryName1+' > {1} > {2}</div>',record.data.name,record.data.governorate,record.data.subgovernorate);}}
else{if(MEGA.config.CandidateList.displayRightToLeft){return String.format('<div style="font-weight:bold; font-size:13px; color:#15428B;">{0}</div><div style="color:#808080;">{2} < {1} < <span dir="rtl" style="padding-right:5px;"><span>'+MEGA.copy.Widgets.SearchResults.location+': </span>'+MEGA.copy.app.adminBoundaryName1+'</span></div>',record.data.elemcodedesc,record.data.governorate,record.data.subgovernorate);}else{return String.format('<div style="font-weight:bold; font-size:13px; color:#15428B;">{0}</div><div style="color:#808080;">'+MEGA.copy.Widgets.SearchResults.location+': '+MEGA.copy.app.adminBoundaryName1+' > {1} > {2}</div>',record.data.elemcodedesc,record.data.governorate,record.data.subgovernorate);}}},expanderUrl:MEGA.config.Urls.Candidate,reader:new Ext.data.JsonReader({root:'Candidateslist',totalProperty:'TotalCount'},MEGA.data.Candidate),expanderIdField:['featuretype','id'],sortFields:[{text:MEGA.copy.app.name,id:'name',isDefault:true}],isDefault:true}]};Ext.namespace('MEGA','MEGA.widgets');MEGA.widgets.InfoBar=Ext.extend(Ext.Toolbar,{informationMessage:'<span style="font-weight:bold;" >'+MEGA.copy.Widgets.InfoBar.draw_feature_click_map+'<br><span style="padding-left: 2px;font-weight:bold;">'+MEGA.copy.Workflows.AddSite.default_info_bar_double_click_msg+'</span></span>',validationMessage:'Val msg here...',cls:'fgi-infobar',Msgs:{cancelBtn:MEGA.copy.Widgets.InfoBar.cancel_btn,continueBtn:MEGA.copy.Widgets.InfoBar.continue_btn,editGeomBtn:MEGA.copy.Widgets.InfoBar.edit_geom_btn,finishEditBtn:MEGA.copy.Widgets.InfoBar.finish_edit_btn},initComponent:function(){this.validationMessageId=Ext.id();this.validationMessage=$('<span/>').append(this.validationMessage).attr('id',this.validationMessageId).append('<div class="flasher" style="position:absolute; background-color:white; display:block;"></div>');this.cancelButton=new FGI.component.LinkButton({text:'<span style="font-weight:bold;">'+this.Msgs.cancelBtn+'</span>',scope:this,cls:'x-link-btn-text-icon',iconCls:'cancel',handler:function(){}});this.continueButton=new FGI.component.LinkButton({text:'<span style="font-weight:bold;">'+this.Msgs.continueBtn+'</span>',scope:this,cls:'x-link-btn-text-icon',handler:function(){}});this.editGeomButton=new FGI.component.LinkButton({text:'<span style="font-weight:bold;">'+this.Msgs.editGeomBtn+'</span>',scope:this,cls:'x-link-btn-text-icon',handler:function(){}});this.finishEditButton=new FGI.component.LinkButton({text:'<span style="font-weight:bold;">'+this.Msgs.finishEditBtn+'</span>',scope:this,cls:'x-link-btn-text-icon',handler:function(){}});Ext.apply(this,{items:[this.informationMessage,this.validationMessage[0],'->',this.finishEditButton,this.continueButton,this.editGeomButton,this.cancelButton],updateInformationMessage:function(html){this.items.items[0].getEl().innerHTML=html;},updateValidationMessage:function(html){this.validationMessage.empty();this.validationMessage.html(html).fadeIn(500);}});MEGA.widgets.InfoBar.superclass.initComponent.apply(this,arguments);},afterRender:function(){MEGA.widgets.InfoBar.superclass.afterRender.call(this);var table=this.el.dom.getElementsByTagName('table');table[0].setAttribute('width','100%');var td=this.el.dom.getElementsByTagName('td');for(var i in td){switch(i){case'0':td[i].setAttribute('width','33%');break;case'1':td[i].setAttribute('width','50%');td[i].setAttribute('align','center');break;case'2':td[i].setAttribute('align','right');break;}
if(i>2){break;}}},setMode:function(mode){switch(mode){case'edit_geom':this.finishEditButton.show();this.continueButton.hide();this.editGeomButton.hide();break;case'review_geom':this.continueButton.show();this.editGeomButton.show();this.finishEditButton.hide();break;case'identify':this.continueButton.hide();this.editGeomButton.hide();this.finishEditButton.hide();this.cancelButton.hide();break;case'draw_geom':default:this.continueButton.hide();this.editGeomButton.hide();this.finishEditButton.hide();break;}}});Ext.namespace('MEGA','MEGA.widgets','MEGA.config');MEGA.config.CodeLookupWindow=[];MEGA.widgets.CodeLookupWindow=Ext.extend(Ext.Window,{codeType:'Element',targetInputId:'',multipleValues:false,codeHeaderText:'Code',inputField:'code',initComponent:function(){var namecol='english';if(FGI.copy._lang=='ar-jo'){namecol='arabic';}
var fixArabic=function(val,b,record){if(namecol=="arabic"){return'<span dir="rtl">'+val+'</span>';}
else{return val;}}
switch(this.codeType){case"Element":this.store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:MEGA.config.Urls.ElementCodes}),reader:new Ext.data.JsonReader({root:'ElementCodes'},[{name:'code',mapping:'DETElementCode'},{name:'arabic',mapping:'DETNameArabic'},{name:'english',mapping:'DETNameEnglish'}]),autoLoad:true});this.nameHeaderText='Element Type';this.titleText='Site Element Codes';break;case"Period":this.store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:MEGA.config.Urls.PeriodCodes}),reader:new Ext.data.JsonReader({root:'PeriodCodes'},[{name:'code',mapping:'DpEPeriodCode'},{name:'arabic',mapping:'DpENameArabic'},{name:'english',mapping:'DpENameEnglish'}]),autoLoad:true});this.nameHeaderText='Period';this.titleText='Period Codes';break;case"Topography":this.store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:MEGA.config.Urls.TopographyCodes}),reader:new Ext.data.JsonReader({root:'TopographyCodes'},[{name:'code',mapping:'DToTopographyCode'},{name:'arabic',mapping:'DToNameArabic'},{name:'english',mapping:'DToNameEnglish'}]),autoLoad:true});this.nameHeaderText='Topography Type';this.titleText='Topgraphy Codes';break;case"Threat":this.store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:MEGA.config.Urls.ThreatCodes}),reader:new Ext.data.JsonReader({root:'ThreatCodes'},[{name:'code',mapping:'DThThreatsCode'},{name:'arabic',mapping:'DThNameArabic'},{name:'english',mapping:'DThNameEnglish'}]),autoLoad:true});this.nameHeaderText='Threat';this.titleText=MEGA.copy.Widgets.CodeLookupWindow.threat_codes;break;case"Disturbance":this.store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:MEGA.config.Urls.DisturbanceCodes}),reader:new Ext.data.JsonReader({root:'DisturbanceCodes'},[{name:'code',mapping:'DdsTDisturbancesCode'},{name:'arabic',mapping:'DdsTNameArabic'},{name:'english',mapping:'DdsTNameEnglish'}]),autoLoad:true});this.nameHeaderText=MEGA.copy.Widgets.CodeLookupWindow.disturbance;this.titleText=MEGA.copy.Widgets.CodeLookupWindow.disturbance_codes;break;case"Legal Violation":this.store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:MEGA.config.Urls.LegalViolationCodes}),reader:new Ext.data.JsonReader({root:'LegalViolationCodes'},[{name:'code',mapping:'DLVLegalViolationsCode'},{name:'arabic',mapping:'DLVNameArabic'},{name:'english',mapping:'DLVNameEnglish'}]),autoLoad:true});this.nameHeaderText='Legal Violation';this.titleText='Legal Violation Codes';break;case"Governorates":this.store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:MEGA.config.Urls.GovLookup}),reader:new Ext.data.JsonReader({root:'Governorates'},[{name:'code',mapping:'GiD'},{name:'arabic',mapping:'GoVNe'},{name:'english',mapping:'GoVNe'}]),autoLoad:true});this.nameHeaderText='Governorate';this.codeHeaderText='ID';this.inputField=namecol;this.titleText='Governorates';break;case"Offices":this.store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:MEGA.config.Urls.OfficesLookup}),reader:new Ext.data.JsonReader({root:'Offices'},[{name:'code',mapping:'DoFCGiD'},{name:'arabic',mapping:'DoFCSubOfficeARa'},{name:'english',mapping:'DoFCSubOfficeEng'}]),autoLoad:true});this.nameHeaderText='Office';this.codeHeaderText='ID';this.titleText='Offices';break;}
var grid=new Ext.grid.GridPanel({store:this.store,columns:[{header:this.codeHeaderText,width:75,sortable:true,dataIndex:'code'},{header:this.nameHeaderText,width:160,sortable:true,dataIndex:namecol,renderer:fixArabic}],stripeRows:true,viewConfig:{forceFit:true},height:220,autoWidth:true,loadMask:true,selModel:new Ext.grid.RowSelectionModel({singleSelect:true,listeners:{'rowselect':{fn:function(model,index,record){if(this.targetInputId!=''){var val=Ext.getCmp(this.targetInputId).getValue();if(val==''||this.multipleValues==false){Ext.getCmp(this.targetInputId).setValue(record.get(this.inputField));}else{Ext.getCmp(this.targetInputId).setValue(val+', '+record.get(this.inputField));}
this.close();}},scope:this}}}),enableHdMenu:false});Ext.apply(this,{title:this.titleText,closeAction:'hide',width:300,height:250,items:[grid],resizable:false,modal:true});MEGA.widgets.CodeLookupWindow.superclass.initComponent.apply(this,arguments);}});Ext.namespace('MEGA','MEGA.widgets');MEGA.widgets.UserCoordinates=Ext.extend(Ext.form.FormPanel,{baseCls:'',style:'padding:10px;',id:'sitecoordinates',defaultGeomType:'POLYGON',defaultValue:'',enabledTypes:{POINT:true,LINESTRING:true,POLYGON:true},coordinateSystems:null,initComponent:function(){this.addEvents({'cancel':true,'submitcoordinates':true});this.coordinateSystems=new MEGA.config.CoordinateSystems();for(var item in this.coordinateSystems){if(this.coordinateSystems[item].isDefault){this.defaultCoordSys={'type':item,'example':this.coordinateSystems[item].example};}}
this.continueButton=new Ext.Button({text:'<span style="color:#15428B; font-weight:bold">'+MEGA.copy.Widgets.UserCoordinates.continue_btn+'</span>',handler:function(){var txtCoords=this.txtCoordinates.getValue();if(txtCoords==""){Ext.Msg.show({title:MEGA.copy.Widgets.UserCoordinates.no_coords_title||'No Coordinates Entered',msg:MEGA.copy.Widgets.UserCoordinates.no_coords_text||'Please enter coordinates before pressing continue.',buttons:Ext.Msg.OK,icon:Ext.MessageBox.WARNING});}else{var startProj=new OpenLayers.Projection(this.coordinateSystems[this.coordSysCombo.getValue()].srid);if(this.coordSysCombo.getValue()=='LATLONGDMS'){txtCoords=this.convertDMSCoords(txtCoords);}
this.fireEvent('submitcoordinates',txtCoords,this.getSelecedGeomType(),startProj);}},scope:this});this.cancelButton=new Ext.Button({text:'<span style="color:#15428B; font-weight:bold">'+MEGA.copy.Widgets.UserCoordinates.cancel_btn+'</span>',handler:function(){this.fireEvent('cancel',this.getTxtCoordinates(),this.getSelecedGeomType());},scope:this});this.rdoGroup=new Ext.form.RadioGroup({fieldLabel:MEGA.copy.Widgets.UserCoordinates.geom_type||'Geometry Type',name:'coordgeomtype',style:'padding-left:10px',cls:'radioGroup',autoWidth:true,items:[{boxLabel:MEGA.copy.Widgets.UserCoordinates.point||'Point',name:'geomtype',disabled:true,value:'POINT',autoWidth:true},{boxLabel:MEGA.copy.Widgets.UserCoordinates.line||'Line',name:'geomtype',disabled:true,value:'LINESTRING',autoWidth:true},{boxLabel:MEGA.copy.Widgets.UserCoordinates.poly||'Polygon',name:'geomtype',disabled:true,value:'POLYGON',autoWidth:true}]});this.coordSysCombo=new Ext.form.ComboBox({store:new Ext.data.SimpleStore({fields:['value','text'],data:(function(){var ret=[];for(var item in this.coordinateSystems){ret.push([item,this.coordinateSystems[item].name]);}
return ret;}.createDelegate(this))()}),allowBlank:false,displayField:'text',valueField:'value',fieldLabel:MEGA.copy.Widgets.UserCoordinates.coord_sys||'Coordinate System',value:this.defaultCoordSys.type,typeAhead:false,loadingText:'Searching...',mode:'local',triggerAction:'all',width:250,listeners:{scope:this,'select':function(){this.txtCoordinates.emptyTextEl.dom.innerHTML=this.coordinateSystems[this.coordSysCombo.getValue()].example;var toProj=new OpenLayers.Projection(this.coordinateSystems[this.coordSysCombo.getValue()].srid);if(this.defaultValue==''){this.txtCoordinates.reset();}else{var geom=new OpenLayers.Format.WKT().read(this.getSelecedGeomType().toUpperCase()+'('+this.defaultValue+')');geom.geometry.transform(new OpenLayers.Projection("EPSG:4326"),toProj);var txtCoords=geom.geometry.toString().split('(')[2].split(')')[0];if(this.coordSysCombo.getValue()=='LATLONGDMS'){txtCoords=this.toDMSCoords(txtCoords);}
this.txtCoordinates.setValue(txtCoords);}}}});this.txtCoordinates=new Ext.form.TextArea({fieldLabel:MEGA.copy.app.coordinates,name:'coords',height:176,width:515,emptyText:this.defaultCoordSys.example,value:this.defaultValue});Ext.apply(this,{minButtonWidth:90,labelWidth:120,buttonAlign:'right',items:[this.rdoGroup,this.coordSysCombo,{xtype:"fieldset",labelAlign:"top",autoHeight:true,autoWidth:true,border:false,style:{paddingLeft:'0px',paddingRight:'0px',paddingTop:'5px'},items:[this.txtCoordinates]}],buttons:[this.cancelButton,this.continueButton]});this.on('afterlayout',function(){this.setSelecedGeomType(this.defaultGeomType);this.setEnabledTypes();},this);MEGA.widgets.UserCoordinates.superclass.initComponent.apply(this,arguments);},getSelecedGeomType:function(){for(var i in this.rdoGroup.items.items){if(this.rdoGroup.items.items[i].checked==true){return this.rdoGroup.items.items[i].value;}}},setSelecedGeomType:function(type){for(var i in this.rdoGroup.items.items){if(this.rdoGroup.items.items[i].value==type){this.rdoGroup.items.items[i].setValue(true);}}},setEnabledTypes:function(){for(var i in this.enabledTypes){if(this.enabledTypes[i]==true){this.getRadioByType(i).enable();}}},getRadioByType:function(type){for(var i in this.rdoGroup.items.items){if(this.rdoGroup.items.items[i].value==type){return this.rdoGroup.items.items[i];}}},getTxtCoordinates:function(type){str=this.txtCoordinates.getValue();str.replace(/\n/g,'');str.replace(/\s/g,' ').replace(/  ,/g,'');return str;},convertDMSCoords:function(txtCoords){var getNsewSigns=function(ns,ew){if(!ns&&!ew){return{'ns':+1,'ew':+1};}
var s={'ns':0,'ew':0};ns=ns.toLowerCase();ew=ew.toLowerCase();if(ns=="n"){s['ns']=+1;}
if(ns=="s"){s['ns']=-1;}
if(ew=="e"){s['ew']=+1;}
if(ew=="w"){s['ew']=-1;}
if(!s['ns']||!s['ew']){return false;}
return s;}
var txtCoordsArr=txtCoords.split(',');var convertedTxtCoords='';Ext.each(txtCoordsArr,function(item,index,all){var text=item.trim();var match;var signs;var reNS="([NS]|[SJ]|s\\.?\\s*z?\\.?\\s*[s\u0161]\\.?\\s*|j\\.?\\s*z?\\.?\\s*[s\u0161]\\.?)";var reEW="([EW]|[VZ]|v\\.?\\s*z?\\.?\\s*d\\.?|z\\.?\\s*z?\\.?\\s*d\\.?)";if((match=text.match(new RegExp("(?:^|\\D)([-\\u2212]\\s*)?(\\d{1,2})[^\\d.]+([0-5]?\\d)[^\\d.]+([0-5]?\\d)(?:[.,](\\d+))?(?:\\W*"+reNS+"\\D*?|\\D+?)([-\\u2212]\\s*)?(1?\\d{1,2})[^\\d.]+([0-5]?\\d)[^\\d.]+([0-5]?\\d)(?:[.,](\\d+))?[^\\w]*"+reEW+"?","i")))&&(signs=getNsewSigns(match[6],match[12]))){var latsign=(match[1]?-1:1)*signs['ns'];var absdlat=Math.abs(Math.round(match[2]*1000000.));var absmlat=Math.abs(Math.round(Math.abs(Math.round(match[3]*1000000.)/1000000)*1000000.));var absslat=Math.abs(Math.round(Math.abs(Math.round((match[4]+(match[5]?'.'+match[5]:''))*1000000.)/1000000)*1000000.));var lonsign=(match[7]?-1:1)*signs['ew'];var absdlon=Math.abs(Math.round(match[8]*1000000.));var absmlon=Math.abs(Math.round(Math.abs(Math.round(match[9]*1000000.)/1000000)*1000000));var absslon=Math.abs(Math.round(Math.abs(Math.round((match[10]+(match[11]?'.'+match[11]:''))*1000000.)/1000000)*1000000.));var decimalLat=Math.round(absdlat+(absmlat/60.)+(absslat/3600.))*latsign/1000000;var decimalLon=Math.round(absdlon+(absmlon/60)+(absslon/3600))*lonsign/1000000;if(convertedTxtCoords==''){convertedTxtCoords=decimalLat+' '+decimalLon;}else{convertedTxtCoords+=', '+decimalLat+' '+decimalLon;}}},this);return convertedTxtCoords;},toDMSCoords:function(txtCoords){var txtCoordsArr=txtCoords.split(',');var convertedTxtCoords='';Ext.each(txtCoordsArr,function(item,index,all){var text=item.trim();var coords=text.split(' ');var decimalLat=coords[0];var decimalLon=coords[1];var signLon='E';if(decimalLon<0){signlon='W';}
var signLat='N';if(decimalLat<0){signlat='S';}
var latAbs=Math.abs(Math.round(decimalLat*1000000.));var lonAbs=Math.abs(Math.round(decimalLon*1000000.));var DMSlat=((Math.floor(latAbs/1000000))+'°'+Math.floor(((latAbs/1000000)-Math.floor(latAbs/1000000))*60)+'\''+(Math.floor(((((latAbs/1000000)-Math.floor(latAbs/1000000))*60)-Math.floor(((latAbs/1000000)-Math.floor(latAbs/1000000))*60))*100000)*60/100000)+'"'+signLat);var DMSlon=((Math.floor(lonAbs/1000000))+'°'+Math.floor(((lonAbs/1000000)-Math.floor(lonAbs/1000000))*60)+'\''+(Math.floor(((((lonAbs/1000000)-Math.floor(lonAbs/1000000))*60)-Math.floor(((lonAbs/1000000)-Math.floor(lonAbs/1000000))*60))*100000)*60/100000)+'"'+signLon);if(convertedTxtCoords==''){convertedTxtCoords=DMSlat+' '+DMSlon;}else{convertedTxtCoords+=', '+DMSlat+' '+DMSlon;}},this);return convertedTxtCoords;}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');MEGA.config.userAdmin={};MEGA.widgets.userAdmin=Ext.extend(Ext.Window,{initComponent:function(){this.record=Ext.data.Record.create([{name:'active',mapping:'approved',type:'bool'},{name:'username',mapping:'username'},{name:'email',mapping:'email'},{name:'firstname',mapping:'firstname'},{name:'lastname',mapping:'lastname'},{name:'isContributor',mapping:'roles.isContributor',type:'bool'},{name:'isApprover',mapping:'roles.isApprover',type:'bool'},{name:'isEditor',mapping:'roles.isEditor',type:'bool'},{name:'isAdministrator',mapping:'roles.isAdministrator',type:'bool'},{name:'isDirector',mapping:'roles.isDirector',type:'bool'}]);this.store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:MEGA.config.Urls.GetAllUsers}),reader:new Ext.data.JsonReader({root:"returnObj",fields:this.record}),autoLoad:true});var retiredRenderer=function(val,b,record){if(record.data.active==false){return'<span style="color:grey; font-style:italic;">'+val+'</span>';}
else{return val}}
var active=new Ext.grid.CheckColumn({header:MEGA.copy.Widgets.UserAdmin.activeCol,dataIndex:'active',tooltip:"Users that are not active can not log into the application",sortable:true,width:80});var contributor=new Ext.grid.CheckColumn({header:MEGA.copy.Widgets.UserAdmin.contributorCol,dataIndex:'isContributor',sortable:true,width:80});var editor=new Ext.grid.CheckColumn({header:MEGA.copy.Widgets.UserAdmin.editorCol,dataIndex:'isEditor',sortable:true,width:80});var approver=new Ext.grid.CheckColumn({header:MEGA.copy.Widgets.UserAdmin.approverCol,dataIndex:'isApprover',sortable:true,width:80});var administrator=new Ext.grid.CheckColumn({header:MEGA.copy.Widgets.UserAdmin.administratorCol,dataIndex:'isAdministrator',sortable:true,width:80});var director=new Ext.grid.CheckColumn({header:MEGA.copy.Widgets.UserAdmin.directorCol,dataIndex:'isDirector',sortable:true,width:80});this.grid=new Ext.grid.EditorGridPanel({viewConfig:{sortAscText:MEGA.copy.app.sortAscText,sortDescText:MEGA.copy.app.sortDescText},store:this.store,stripeRows:true,autoWidth:true,loadMask:true,hideHeaders:false,plugins:[active,contributor,editor,approver,administrator,director],clickstoEdit:1,columns:[active,{header:MEGA.copy.Widgets.UserAdmin.userNameCol,dataIndex:'username',editor:new Ext.form.TextField(),sortable:true,tooltip:"User name is only editable when adding a new reocrd",renderer:retiredRenderer},{header:MEGA.copy.Widgets.UserAdmin.firstNameCol,dataIndex:'firstname',editor:new Ext.form.TextField(),sortable:true,renderer:retiredRenderer},{header:MEGA.copy.Widgets.UserAdmin.lastNameCol,dataIndex:'lastname',editor:new Ext.form.TextField(),sortable:true,renderer:retiredRenderer},{header:MEGA.copy.Widgets.UserAdmin.emailCol,dataIndex:'email',editor:new Ext.form.TextField(),sortable:true,renderer:retiredRenderer},contributor,editor,approver,administrator,director],tbar:new Ext.Toolbar({items:['<span style="color:#15428b; font:bold 11px tahoma,arial,verdana,sans-serif;">'+MEGA.copy.Widgets.UserAdmin.titlePrefix+': </span>',this.display=new Ext.Button({text:MEGA.copy.Widgets.UserAdmin.active_only,cls:'button',tooltip:{text:MEGA.copy.Widgets.UserAdmin.displayRetiredUsers,title:''},menu:{items:[{text:MEGA.copy.Widgets.UserAdmin.active_only,scope:this,handler:function(){if(Ext.ux.grid.CheckColumn.prototype.rowEdited==true){Ext.MessageBox.alert(MEGA.copy.app.error,'Please save record you are editing before trying to change display.');}
else{this.display.setText(MEGA.copy.Widgets.UserAdmin.active_only);var store=this.grid.getStore();MEGA.app.userAdmin.filterState=0;store.filter('active',true);}}},{text:MEGA.copy.Widgets.UserAdmin.retired_only,scope:this,handler:function(){if(Ext.ux.grid.CheckColumn.prototype.rowEdited==true){Ext.MessageBox.alert(MEGA.copy.app.error,'Please save record you are editing before trying to change display.');}
else{this.display.setText(MEGA.copy.Widgets.UserAdmin.retired_only);var store=this.grid.getStore();MEGA.app.userAdmin.filterState=1;store.filter('active',false);}}},{text:MEGA.copy.Widgets.UserAdmin.all_users,scope:this,handler:function(){if(Ext.ux.grid.CheckColumn.prototype.rowEdited==true){Ext.MessageBox.alert(MEGA.copy.app.error,'Please save record you are editing before trying to change display.');}
else{this.display.setText(MEGA.copy.Widgets.UserAdmin.all_users);MEGA.app.userAdmin.filterState=2;this.grid.getStore().clearFilter();}}}]}}),this.addUser=new Ext.Button({iconCls:'icon-user-add',text:MEGA.copy.Widgets.UserAdmin.add_user,handler:function(){var r=new MEGA.app.userAdmin.record({active:true,username:'',email:'',firstname:'',lastname:'',isContributor:false,isEditor:false,isApprover:false,isAdministrator:false,isDirector:false});if(Ext.ux.grid.CheckColumn.prototype.rowEdited==false){MEGA.app.userAdmin.grid.getStore().insert(0,r);MEGA.app.userAdmin.newRecord=true;MEGA.app.userAdmin.grid.getSelectionModel().selectFirstRow();MEGA.app.userAdmin.grid.startEditing(0,1);Ext.ux.grid.CheckColumn.prototype.rowEdited=true;Ext.getCmp('saveButton').enable();}
else{Ext.MessageBox.alert(MEGA.copy.app.error,'Please save record you are editing before trying to add a new record.');}}}),{xtype:'tbfill'},this.exportCSV=new Ext.Button({id:'exportCSVButton',iconCls:'icon-export-csv',text:MEGA.copy.Widgets.UserAdmin.exportCSV,handler:function(){window.open(MEGA.config.Urls.ExportUsersCSV+"lang="+FGI.copy._lang);}}),this.saveEdits=new Ext.Button({id:'saveButton',iconCls:'icon-save-edits',text:MEGA.copy.Widgets.UserAdmin.saveedits,disabled:true,handler:function(){var rowIndex=this.grid.getStore().indexOf(this.grid.selModel.getSelected());if(rowIndex>=0){this.saveEditPrompt(rowIndex);}}.createDelegate(this)})]}),selModel:new Ext.grid.RowSelectionModel({singleSelect:true,listeners:{'rowselect':{fn:function(model,index,record){},scope:this}}})});this.grid.selModel.on('beforerowselect',function(sm,rowIndex,keep,record){if(!sm.isSelected(rowIndex)&&Ext.ux.grid.CheckColumn.prototype.rowEdited==true){MEGA.app.userAdmin.saveEditPrompt(this.grid.getStore().indexOf(sm.getSelected()));}});this.grid.on('beforeedit',function(e){Ext.ux.grid.CheckColumn.prototype.rowEdited=true;Ext.getCmp('saveButton').enable();if(e.record!=e.grid.getSelectionModel().getSelected()){return false;}
if(e.field=='username'){if(MEGA.app.userAdmin.newRecord==true){}
else{return false;}}});this.store.on('load',function(e){if(MEGA.app.userAdmin.filterState==0){this.filter('active',true);}
else if(MEGA.app.userAdmin.filterState==1){this.filter('active',false);}});var width=(MEGA.app.Map.size.w)-150;var height=MEGA.app.Map.size.h;this.userAdminWindow=new Ext.Window({layout:'fit',width:width,height:height,title:MEGA.copy.Widgets.UserAdmin.user_admin,items:[this.grid],modal:true,draggable:false,resizable:false});this.userAdminWindow.on('hide',function(e){this.items.items[0].getSelectionModel().clearSelections();Ext.ux.grid.CheckColumn.prototype.rowEdited=false;MEGA.app.userAdmin.newRecord=false;});this.userAdminWindow.show();MEGA.widgets.userAdmin.superclass.initComponent.apply(this,arguments);},newRecord:false,filterState:0,saveEditPrompt:function(edittedIndex){var messageHandle=function(btn){if(btn=='yes'){var data=MEGA.app.userAdmin.grid.getStore().getAt(edittedIndex).data;if(MEGA.app.userAdmin.beforeSaveValidate(edittedIndex)){var mask=new Ext.LoadMask(Ext.getBody(),{msg:'Saving....'});mask.show();Ext.Ajax.request({url:MEGA.config.Urls.UpdateUser,method:'POST',params:{username:data.username,firstname:data.firstname,lastname:data.lastname,email:data.email,active:data.active,Contributor:data.isContributor,Editor:data.isEditor,Approver:data.isApprover,Administrator:data.isAdministrator,Director:data.isDirector},scope:this,success:function(response,options){var resp=Ext.util.JSON.decode(response.responseText);mask.hide();if(resp.success){MEGA.app.userAdmin.newRecord=false;Ext.ux.grid.CheckColumn.prototype.rowEdited=false;MEGA.app.userAdmin.grid.getSelectionModel().clearSelections();MEGA.app.userAdmin.grid.getStore().load();}
else if(!resp.success){Ext.MessageBox.alert(MEGA.copy.app.error,'Failed to save to database.');}},failure:function(response,options){mask.hide();Ext.MessageBox.alert(MEGA.copy.app.error,'Failed to save to database.');MEGA.app.userAdmin.grid.getSelectionModel().clearSelections();}})}}
else if(btn=='no'){MEGA.app.userAdmin.grid.getStore().load();MEGA.app.userAdmin.grid.getSelectionModel().clearSelections();MEGA.app.userAdmin.newRecord=false;Ext.ux.grid.CheckColumn.prototype.rowEdited=false;Ext.getCmp('saveButton').disable();}
else if(btn=='cancel'){return false;}};var saveWindow=Ext.Msg.show({buttons:Ext.MessageBox.YESNOCANCEL,icon:Ext.Msg.QUESTION,title:MEGA.copy.Widgets.UserAdmin.saveedits_qestion,msg:MEGA.copy.Widgets.UserAdmin.saveedits_row,fn:messageHandle,width:300}).getDialog();Ext.WindowMgr.unregister(saveWindow);},beforeSaveValidate:function(edittedIndex){var validateEmail=function(email){var reg=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;if(reg.test(email)==false){return true;}}
MEGA.app.userAdmin.grid.stopEditing();var currentRecord=MEGA.app.userAdmin.grid.getStore().getAt(edittedIndex).data;if(currentRecord.username==""||currentRecord.firstname==""||currentRecord.lastname==""||currentRecord.email==""){var errorWin1=Ext.Msg.show({buttons:Ext.MessageBox.OK,title:"Error",msg:MEGA.copy.Widgets.UserAdmin.musthavevalue}).getDialog();Ext.WindowMgr.unregister(errorWin1);return false;}
else if(validateEmail(currentRecord.email)){var errorWin2=Ext.Msg.show({buttons:Ext.MessageBox.OK,title:"Error",msg:"Email address is not valid."}).getDialog();Ext.WindowMgr.unregister(errorWin2);return false;}
else if(this.grid.getStore().find('username',currentRecord.username,1,false)!=-1&&this.grid.getStore().find('username',currentRecord.username,1,false)!=0&&MEGA.app.userAdmin.newRecord==true){var errorWin2=Ext.Msg.show({buttons:Ext.MessageBox.OK,title:"Error",msg:"Username "+currentRecord.username+" is already in use"}).getDialog();Ext.WindowMgr.unregister(errorWin2);return false;}
else if(this.grid.getStore().find('email',currentRecord.email,1,false)!=-1&&this.grid.getStore().find('email',currentRecord.email,1,false)!=0&&MEGA.app.userAdmin.newRecord==true){var errorWin2=Ext.Msg.show({buttons:Ext.MessageBox.OK,title:"Error",msg:"The email address "+currentRecord.email+" is already in use"}).getDialog();Ext.WindowMgr.unregister(errorWin2);return false;}
else{return true;}}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');MEGA.config.uploadWindow={};var msg=function(title,msg){({title:title,msg:msg,minWidth:200,modal:true,icon:Ext.Msg.INFO,buttons:Ext.Msg.OK});};MEGA.widgets.uploadWindow=Ext.extend(Ext.Window,{layout:'fit',width:400,height:110,fileUpload:true,title:MEGA.copy.Widgets.UploadMegaFile.window_title,modal:true,draggable:false,resizable:false,hidden:true,closeAction:'hide',initComponent:function(){this.addEvents({'megafileloaded':true});var uploadFormPanel=new Ext.FormPanel({width:400,height:110,method:'POST',fileUpload:true,bodyStyle:'padding: 10px 10px 0 10px;background:#DFE8F6 none repeat scroll 0 0;',labelWidth:50,defaults:{anchor:'95%',allowBlank:false,msgTarget:'side'},items:[this.fileUploadField=new Ext.ux.form.FileUploadField({width:300})],buttons:[{text:MEGA.copy.app.upload,handler:function(){if(uploadFormPanel.getForm().isValid()){this.uploadFile(uploadFormPanel.getForm().el);}},scope:this},{text:MEGA.copy.app.cancel,handler:function(){this.hide();},scope:this}],layout:'fit',border:false});Ext.apply(this,{items:[uploadFormPanel],listeners:{'show':{fn:function(){uploadFormPanel.getForm().reset();},scope:this}}});MEGA.widgets.uploadWindow.superclass.initComponent.apply(this,arguments);},uploadFile:function(formElem){var waitMsg=Ext.Msg.wait(MEGA.copy.Widgets.UploadMegafile.waitMessage);Ext.Ajax.request({form:formElem,url:MEGA.config.Urls.UploadMegaFile,scope:this,params:this.uploadParams,isUpload:true,success:function(result,options){var ret=Ext.decode(result.responseText);waitMsg.hide();if(ret.success==true){this.hide();Ext.MessageBox.show({msg:ret.returnObj.name+' '+MEGA.copy.Widgets.UploadMegaFile.success,fn:function(buttonId,text,opt){if(buttonId=='ok'){this.fireEvent('megafileloaded',ret.returnObj.megaFileId,ret.returnObj.name);}else{return false;}},scope:this,buttons:Ext.Msg.OKCANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING})}
else{msg(MEGA.copy.app.error,MEGA.copy.Widgets.UploadMegaFile.error);}}.createDelegate(this),failure:function(result){msg(MEGA.copy.app.error,ret.returnObj.name+' '+MEGA.copy.Widgets.UploadMegaFile.failure+' '+ret.message);this.hide();}.createDelegate(this)});}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');Ext.override(Ext.grid.GridPanel,{dateTimeFormatForExcel:'dd/mm/yyyy'});Ext.apply(Ext.form.VTypes,{daterange2:function(val,field){var date=field.parseDate(val);if(!date){return;}
if(field.startDateField&&(!this.dateRangeMax||(date.getTime()!=this.dateRangeMax.getTime()))){var start=Ext.getCmp(field.startDateField);start.setMaxValue(date);start.validate();this.dateRangeMax=date;}
else if(field.endDateField&&(!this.dateRangeMin||(date.getTime()!=this.dateRangeMin.getTime()))){var end=Ext.getCmp(field.endDateField);if(end!=undefined){end.setMinValue(date);end.validate();}
this.dateRangeMin=date;}
return true;}});MEGA.widgets.DirectorReport=Ext.extend(Ext.Window,{id:'directorReportingWindow',displayRightToLeft:false,text:{windowTitle:MEGA.copy.Widgets.Activities.director_reporting_title,date:MEGA.copy.Widgets.DirectorReport.date,megaNumber:MEGA.copy.app.megaNumber,governorate:MEGA.copy.app.governorate,subGovernorate:MEGA.copy.app.subGovernorate,siteNameElementType:MEGA.copy.Widgets.DirectorReport.siteNameElementType,type:MEGA.copy.Widgets.DirectorReport.type,primaryInvestigator:MEGA.copy.Widgets.DirectorReport.primaryInvestigator,recordCreatedBy:MEGA.copy.Widgets.DirectorReport.recordCreatedBy,lastModifiedBy:MEGA.copy.Widgets.DirectorReport.lastModifiedBy,from:MEGA.copy.Widgets.AdvancedSearch.mon_event_from,to:MEGA.copy.Widgets.AdvancedSearch.mon_event_to,search:MEGA.copy.Widgets.MegafilesViewer.search,sites:MEGA.copy.app.sites,sels:MEGA.copy.app.siteElements,display:MEGA.copy.Widgets.DirectorReport.display,genReport:MEGA.copy.Widgets.DirectorReport.generateReport,showOnMap:MEGA.copy.Widgets.DirectorReport.showOnMap,error:MEGA.copy.app.error,exportToCSV:MEGA.copy.app.exportToCSV,invalidDateRange:MEGA.copy.app.invalidDateRange},toSearchResults:function(){var startdt=Ext.get("startdt").dom.value;var enddt=Ext.get("enddt").dom.value;var type=MEGA.app.DirectorReport.display.text;this.fireEvent('outputToSearchResults',startdt,enddt,type);},getSearchUrl:function(type){var startDate=this.startDate?Ext.getCmp(this.startDate.id).value:this.getStartDate();var endDate=this.endDate?Ext.getCmp(this.endDate.id).value:this.getEndDate();var params={startDate:startDate,endDate:endDate,format:'report',sortby:'nam_name',limit:1000,start:0,removeDuplicates:false};if(type==this.text.sites){params['reportType']='site';}
else if(type==this.text.sels){params['reportType']='sel';}
return MEGA.config.Urls.DirectorReport+'?'+Ext.urlEncode(params);},getEndDate:function(){var currentTime=new Date();var month=currentTime.getMonth()+1;var day=currentTime.getDate();var year=currentTime.getFullYear();return day+"/"+month+"/"+year;},getStartDate:function(){var weekAgo=new Date();weekAgo.setTime(weekAgo.getTime()-(86400000*14));var month=weekAgo.getMonth()+1;var day=weekAgo.getDate();var year=weekAgo.getFullYear();return day+"/"+month+"/"+year;},initComponent:function(){this.title=MEGA.copy.Widgets.Activities.director_reporting_title;this.addEvents({'outputToSearchResults':true});this.postForExcel=function(path,params,method){method=method||"post";var form=document.createElement("form");form.setAttribute("method",method);form.setAttribute("action",path);for(var i=0;i<params.length;i++){var hiddenField=document.createElement("input");hiddenField.setAttribute("type","hidden");hiddenField.setAttribute("name",params[i].name);hiddenField.setAttribute("value",params[i].value);form.appendChild(hiddenField);}
document.body.appendChild(form);form.submit();};var capitalize=function(val,b,record){var names=val.split(' ');Ext.each(names,function(item,index,allItems){names[index]=Ext.util.Format.capitalize(names[index]);},this);return names.join(' ');};var displayRtlCapitalized=null;if(this.displayRightToLeft){displayRtlCapitalized=function(val,b,record){val='<span dir="rtl">'+val+'</span>';return Ext.util.Format.capitalize(val);};}else{displayRtlCapitalized=capitalize;}
this.record=Ext.data.Record.create([{name:'editDate',mapping:'editdate',type:'date'},{name:'createEdit',mapping:'createedit',type:'string'},{name:'mk_sel_gid',mapping:'sel_gid',type:'int'},{name:'site_gid',mapping:'site_gid',type:'int'},{name:'mk_mega_key',mapping:'mk_mega_key',type:'int'},{name:'primary_name',mapping:'primary_name',type:'string'},{name:'namestring',mapping:'namestring',type:'string'},{name:'centroid',mapping:'geom',type:'string'},{name:'subgovernorate',mapping:'subgovernorate',type:'string'},{name:'governorate',mapping:'governorate',type:'string'},{name:'DataEntry',mapping:'createdby',type:'string'},{name:'PrimInvestigator',mapping:'investigator',type:'string'},{name:'lastmodifiedby',mapping:'lastmodifiedby',type:'string'},{name:'count',mapping:'count',type:'int'}]);this.store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:this.getSearchUrl(this.text.sites)}),reader:new Ext.data.JsonReader({root:"Data",fields:this.record}),autoLoad:false});this.grid=new Ext.grid.GridPanel({title:MEGA.copy.Widgets.Activities.director_reporting_title,header:false,store:this.store,stripeRows:true,loadMask:true,hideHeaders:false,columns:[{header:this.text.date,dataIndex:'editDate',sortable:true,renderer:Ext.util.Format.dateRenderer('d/m/Y H:i'),width:140},{header:this.text.megaNumber,dataIndex:'mk_mega_key',sortable:true,width:80},{header:this.text.siteNameElementType,dataIndex:'primary_name',sortable:true,width:180},{header:this.text.type,dataIndex:'createEdit',sortable:true,width:120,renderer:capitalize},{header:this.text.primaryInvestigator,dataIndex:'PrimInvestigator',sortable:true,width:180,renderer:capitalize},{header:this.text.recordCreatedBy,dataIndex:'DataEntry',sortable:true,width:180,renderer:capitalize},{header:this.text.lastModifiedBy,dataIndex:'lastmodifiedby',sortable:true,width:180,renderer:capitalize},{header:this.text.subGovernorate,dataIndex:'subgovernorate',sortable:true,width:120,renderer:displayRtlCapitalized},{header:this.text.governorate,dataIndex:'governorate',sortable:true,width:120,renderer:displayRtlCapitalized}],tbar:new Ext.Toolbar({items:['<span style="color:#15428b; font:bold 11px tahoma,arial,verdana,sans-serif;">'+this.text.display+': </span>',this.display=new Ext.Button({text:this.text.sites,cls:'button',menu:{items:[{text:this.text.sites,scope:this,handler:function(){this.display.setText(this.text.sites);this.setSearchType(this.display.text);}},{text:this.text.sels,scope:this,handler:function(){this.display.setText(this.text.sels);this.setSearchType(this.display.text);}}]},scope:this}),'<span style="color:#15428b; font:bold 11px tahoma,arial,verdana,sans-serif; padding-left:10px;">'+this.text.from+': </span>',this.startDate={id:'startdt',name:'startdt',width:140,allowBlank:false,value:this.getStartDate(),vtype:'daterange2',format:'d/m/Y',altFormats:'d/m/Y|d.m.Y|d-m-Y|F j, Y|j/n/Y|d/n/Y|j/m/Y|j.n.Y|d.n.Y|j.m.Y|j-n-Y|d-n-Y|j-m-Y',invalidText:'This is not a valid date - it must be in the format dd/mm/yyyy',endDateField:'enddt',xtype:'datefield'},'<span style="color:#15428b; font:bold 11px tahoma,arial,verdana,sans-serif; padding-left:10px;">'+this.text.to+': </span>',this.endDate={id:'enddt',name:'enddt',width:140,allowBlank:false,value:this.getEndDate(),maxValue:new Date(),vtype:'daterange2',format:'d/m/Y',altFormats:'d/m/Y|d.m.Y|d-m-Y|F j, Y|j/n/Y|d/n/Y|j/m/Y|j.n.Y|d.n.Y|j.m.Y|j-n-Y|d-n-Y|j-m-Y',invalidText:'This is not a valid date - it must be in the format dd/mm/yyyy',startDateField:'startdt',xtype:'datefield'},'<span style="color:#15428b; font:bold 11px tahoma,arial,verdana,sans-serif; padding-left:10px;"></span>',this.generateButton=new Ext.Button({id:'generateButton',iconCls:'icon-save-edits',text:this.text.genReport,handler:function(){if(Ext.getCmp("startdt").isValid()&&Ext.getCmp("enddt").isValid()){this.setSearchType(this.display.text);}
else{Ext.MessageBox.alert(this.text.error,this.text.invalidDateRange);}},scope:this}),{xtype:'tbfill'},this.ExcelButton=new Ext.Button({text:this.text.exportToCSV,iconCls:'icon-export-excel',handler:function(){if(Ext.getCmp("startdt").isValid()&&Ext.getCmp("enddt").isValid()){var params={removeDuplicates:false,limit:100000000,start:0,sortby:'nam_name',format:'csv',startDate:this.startDate?Ext.getCmp(this.startDate.id).value:this.getStartDate(),endDate:this.endDate?Ext.getCmp(this.endDate.id).value:this.getEndDate(),lang:FGI.copy._lang};if(this.display.text==this.text.sites){params['reportType']='site';}
else if(this.display.text==this.text.sels){params['reportType']='sel';}
window.open(MEGA.config.Urls.DirectorReport+'?'+Ext.urlEncode(params));}
else{Ext.MessageBox.alert(this.text.error,this.text.invalidDateRange);}},scope:this}),this.moveToMap=new Ext.Button({id:'showOnMap',iconCls:'icon-save-edits',text:this.text.showOnMap,handler:this.toSearchResults,scope:this})]})});Ext.apply(this,{title:this.text.windowTitle,modal:true,layout:'fit',closeAction:'hide',height:Ext.lib.Dom.getViewHeight()-100,width:Ext.lib.Dom.getViewWidth()-150,items:[this.grid],buttons:[{text:MEGA.copy.app.close,handler:function(){this.ownerCt.hide();}}],draggable:true,resizable:true});MEGA.widgets.DirectorReport.superclass.initComponent.apply(this,arguments);},setSearchType:function(type){if(!this.store.proxy){this.store.proxy=new Ext.data.HttpProxy({url:url});}else{this.store.proxy.conn.url=this.getSearchUrl(type);}
this.store.load();}});Ext.namespace('MEGA','MEGA.widgets','MEGA.config');MEGA.config.ViewPhotos={};MEGA.widgets.ViewPhotos=Ext.extend(Ext.Window,{mongid:null,app:null,lookup:{},text:{title:MEGA.copy.app.view+' '+MEGA.copy.Widgets.PhotoViewer.photos_and_pdfs,clickToView:MEGA.copy.app.clickToPrint,nextButtonText:MEGA.copy.app.next,prevButtonText:MEGA.copy.app.prev},initTemplates:function(){this.thumbTemplate=new Ext.XTemplate('<tpl for=".">','<div class="thumb-wrap" id="{name}">','<tpl if="name.split(&quot;.&quot;)[name.split(&quot;.&quot;).length-1].toLowerCase() == &quot;pdf&quot;">','<div class="thumb" style="height:90px; width:90px;">','<img src="Media/images/pdficon_large.gif" title="{name}" style="padding-top:30px;">','</div>','</tpl>','<tpl if="name.split(&quot;.&quot;)[name.split(&quot;.&quot;).length-1].toLowerCase() != &quot;pdf&quot;">','<div class="thumb">','<img src="{thumbNailurl}" title="{name}">','</div>','</tpl>','<span>{shortTitle}</span></div>','</tpl>');this.thumbTemplate.compile();this.detailsTemplate=new Ext.XTemplate('<div class="details" style="padding:10px;">','<tpl for=".">','<b style="font-size:13px;">{title} ({current} of {total}): </b><span>{caption}</span>','<div style="padding:5px; text-align: center;">','<a href="{url}" target="_blank">','<tpl if="name.split(&quot;.&quot;)[name.split(&quot;.&quot;).length-1].toLowerCase() == &quot;pdf&quot;">','<img src="Media/images/pdficon_large.gif" style="padding: 3px;">','</tpl>','<tpl if="name.split(&quot;.&quot;)[name.split(&quot;.&quot;).length-1].toLowerCase() != &quot;pdf&quot;">','<img src="{url}" style="background: #dddddd; padding: 3px;" height="350">','</tpl>','<div>'+this.text.clickToView+'.</div></a>','</div>','</tpl>','</div>');this.detailsTemplate.compile();},showDetails:function(){var selNode=this.view.getSelectedNodes();var detailEl=Ext.getCmp('img-detail-panel').body;if(selNode&&selNode.length>0){selNode=selNode[0];var data=this.lookup[selNode.id];detailEl.hide();this.detailsTemplate.overwrite(detailEl,data);detailEl.fadeIn('l',{stopFx:true,duration:.2});var selectedIndex=this.view.getSelectedIndexes()[0];if(selectedIndex==0){this.previousBtn.disable();if((this.view.all.elements.length-1)==0){this.nextBtn.disable();}else{this.nextBtn.enable();}}else if(selectedIndex==(this.view.all.elements.length-1)){this.previousBtn.enable();this.nextBtn.disable();}else{this.previousBtn.enable();this.nextBtn.enable();}}else{detailEl.update('');this.previousBtn.disable();this.nextBtn.disable();}},getShortString:function(str){if(str.length>15){return str.substr(0,12)+'...';}
return str;},initComponent:function(){this.url=MEGA.config.Urls.GetPhotos+this.mongid;this.initTemplates();this.store=new Ext.data.JsonStore({url:this.url,method:"Post",root:'returnObj',fields:[{name:'name'},{name:'thumbNailurl'},{name:'url'},{name:'caption'},{name:'title'}],listeners:{'load':{fn:function(){this.view.select(0);var width=0;Ext.each(this.view.all.elements,function(item,index,allItems){var scrollWidth=136
if(item.scrollWidth>80){scrollWidth=item.scrollWidth;}
width+=scrollWidth+6;},this);if(width>(this.width-16)){this.view.setWidth(width);}},scope:this,single:true,delay:1000}}});var formatData=function(data){Ext.each(this.store.data.items,function(item,index,allItems){if(item.data==data){data.current=index+1;}},this);data.total=this.store.data.items.length;data.shortTitle=this.getShortString(data.title);this.lookup[data.name]=data;return data;};this.view=new Ext.DataView({tpl:this.thumbTemplate,singleSelect:true,overClass:'x-view-over',itemSelector:'div.thumb-wrap',store:this.store,prepareData:formatData.createDelegate(this),listeners:{'selectionchange':{fn:this.showDetails,scope:this,buffer:100}}});this.height=this.app.Viewport.getSize().height-100;Ext.apply(this,{title:this.text.title,modal:true,height:(this.height),width:900,resizable:false,items:[{id:'img-detail-panel',region:'center',split:true,autoWidth:true,height:(this.height-185),autoScroll:true,tbar:[this.previousBtn=new Ext.Button({text:'<span><img src="Media/images/silk/icons/arrow_left.png" style="position: absolute; top:5px"/><span style="padding-left:25px;">'+this.text.prevButtonText+'</span></span>',handler:function(){var selectedIndex=this.view.getSelectedIndexes()[0];this.view.select(selectedIndex-1);},scope:this}),'->',this.nextBtn=new Ext.Button({text:'<span style="padding-right:20px;"><span style="padding-right:5px;">'+this.text.nextButtonText+'</span><img src="Media/images/silk/icons/arrow_right.png" style="position: absolute; top:5px"/></span>',handler:function(){var selectedIndex=this.view.getSelectedIndexes()[0];this.view.select(selectedIndex+1);},scope:this})]},{id:'img-chooser-view',region:'south',layout:'fit',items:this.view,height:155,autoWidth:true}]});MEGA.widgets.ViewPhotos.superclass.initComponent.apply(this,arguments);this.show();this.store.load();}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');MEGA.config.ADWMsi={msiTypes:[{title:MEGA.copy.Widgets.ADW.qgisTitle,description:MEGA.copy.Widgets.ADW.qgisInstructions,url:MEGA.config.Urls.ADWDownload+'?qgis=true&esri=false',id:Ext.id()},{title:MEGA.copy.Widgets.ADW.esriTitle,description:MEGA.copy.Widgets.ADW.esriInstructions,url:MEGA.config.Urls.ADWDownload+'?qgis=false&esri=true',id:Ext.id()}]};MEGA.widgets.ADWMsi=Ext.extend(Ext.Panel,{html:'<div id="downloaddiv" style="padding: 5px;">',layout:'fit',msiTypes:[],initComponent:function(){this.msiTemplate.compile();this.on('afterlayout',function(){Ext.each(this.msiTypes,function(item){this.msiTemplate.append($('#downloaddiv')[0],item);new Ext.Button({text:MEGA.copy.app.download,parentWidget:this,item:item,iconCls:'disk',cls:'x-btn-text-icon button',applyTo:item.id,handler:function(){this.parentWidget.ownerCt.hide();this.parentWidget.msiDownload(this.item.url);}})},this);},this,{single:true});MEGA.widgets.ADWMsi.superclass.initComponent.apply(this,arguments);},msiDownload:function(url){window.open(url);},msiTemplate:new Ext.Template('<div style="font-weight:bold; font-size:13px; color:#15428B;">{title}</div>','<div style="color:#808080;font-size: 10px; ">','<table cellspacing = 10, cellspacing = 5><tr>','<td style="width:200px;"><span id={id}></span></td>','<td align="left" style="font-weight:bold; color:#000000;" >{description}</td>','</tr></table>','</div>')});Ext.namespace('MEGA','MEGA.widgets');MEGA.widgets.CitationManager=Ext.extend(Ext.Window,{app:null,pageSize:500,text:{deleteConfirmTitle:MEGA.copy.Widgets.ManageCitations.deleteConfirmTitle,deleteConfirmMsg:MEGA.copy.Widgets.ManageCitations.deleteConfirmMsg,deleteValidateNumOfRecs:MEGA.copy.Widgets.ManageCitations.deleteValidateNumOfRecs,checkForRefsMask:MEGA.copy.Widgets.ManageCitations.checkForRefsMask,deleteMask:MEGA.copy.Widgets.ManageCitations.deleteMask,refsFoundTitle:MEGA.copy.Widgets.ManageCitations.refsFoundTitle,refsFoundMsg:MEGA.copy.Widgets.ManageCitations.refsFoundMsg,refsFoundConfirmDelete:MEGA.copy.Widgets.ManageCitations.refsFoundConfirmDelete,error:MEGA.copy.Widgets.ManageCitations.error,success:MEGA.copy.Widgets.ManageCitations.success,deleteFailMsg:MEGA.copy.Widgets.ManageCitations.deleteFailMsg},initComponent:function(){this.record=Ext.data.Record.create([{name:'CItGiD',mapping:'CItGiD'},{name:'CItAuthor',mapping:'CItAuthor'},{name:'CItAddlAuthors',mapping:'CItAddlAuthors'},{name:'CItEditors',mapping:'CItEditors'},{name:'CItTitle',mapping:'CItTitle'},{name:'CItYear',mapping:'CItYear'}]);this.store=new Ext.data.Store({proxy:new Ext.data.HttpProxy({url:MEGA.config.Urls.ViewReference,method:'GET'}),reader:new Ext.data.JsonReader({root:"citations",totalProperty:'TotalCount',fields:this.record}),remoteSort:true,baseParams:{filter:''},sortInfo:{field:'CItAuthor',direction:'ASC'},autoLoad:{params:{start:0,limit:this.pageSize}}});this.pager=new Ext.PagingToolbar({store:this.store,displayInfo:true,pageSize:this.pageSize,prependButtons:true});this.hoverTip=new Ext.Tip({closable:false,title:'Double click to edit',header:true});this.grid=new Ext.grid.GridPanel({viewConfig:{sortAscText:MEGA.copy.app.sortAscText,sortDescText:MEGA.copy.app.sortDescText},store:this.store,stripeRows:true,autoWidth:true,loadMask:true,hideHeaders:false,autoExpandColumn:'titleColumn',columns:[{header:"Id",dataIndex:'CItGiD',sortable:true,hidden:true},{header:MEGA.copy.Widgets.ManageCitations.author,dataIndex:'CItAuthor',sortable:true,width:150},{header:MEGA.copy.Widgets.ManageCitations.addlAuthors,dataIndex:'CItAddlAuthors',sortable:true,width:150},{header:MEGA.copy.Widgets.ManageCitations.editedBy,dataIndex:'CItEditors',sortable:true,width:150},{header:MEGA.copy.Widgets.ManageCitations.title,dataIndex:'CItTitle',sortable:true,id:'titleColumn'},{header:MEGA.copy.Widgets.ManageCitations.year,dataIndex:'CItYear',editor:new Ext.form.TextField(),sortable:true}],tbar:new Ext.Toolbar({items:[this.addCitationBtn=new Ext.Button({iconCls:'icon-citation-add',text:MEGA.copy.Widgets.ManageCitations.add,handler:function(){var AddCitationWorkflow=new MEGA.workflows.AddReference({app:this.app,title:MEGA.copy.Workflows.Citations.title});AddCitationWorkflow.addReferenceWizard.on('formsuccessfullysubmitted',function(){this.store.reload();},this);},scope:this}),this.deleteCitationBtn=new Ext.Button({disabled:true,iconCls:'icon-citation-delete',text:MEGA.copy.Widgets.ManageCitations.remove,handler:function(){if(this.grid.getSelections().length==1){var rec=this.grid.getSelections()[0].data;var deleteHandler=function(btn){if(btn=='yes'){this.deleteCitation(rec.CItGiD,false);}}
Ext.Msg.confirm(this.text.deleteConfirmTitle,this.text.deleteConfirmMsg+rec.CItTitle,deleteHandler,this);}else{Ext.Msg.alert("",this.text.deleteValidateNumOfRecs);}},scope:this}),this.ExcelButton=new Ext.Button({text:MEGA.copy.app.exportToCSV,iconCls:'icon-export-excel',handler:function(){var params={filter:this.filterCitation.getValue(),sort:this.store.sortInfo.field,dir:this.store.sortInfo.direction,lang:FGI.copy._lang};window.open(MEGA.config.Urls.ExportReferenceToCSV+'?'+Ext.urlEncode(params));},scope:this}),{xtype:'tbfill'},MEGA.copy.Widgets.ManageCitations.filter_box_label,this.filterCitation=new Ext.form.TextField({enableKeyEvents:true,listeners:{'keydown':{fn:function(textField,e){if(e.getKey()==13){this.store.baseParams['filter']=this.filterCitation.getValue();this.pager.changePage(1);}},scope:this}}})]}),listeners:{'rowdblclick':{fn:function(theGrid,rowIndex,e){var rec=theGrid.store.getAt(rowIndex);var EditCitationWorkflow=new MEGA.workflows.AddReference({app:this.app,citationGid:rec.data.CItGiD,title:MEGA.copy.Workflows.Citations.edit_title});EditCitationWorkflow.addReferenceWizard.on('formsuccessfullysubmitted',function(){this.store.reload();},this);},scope:this},'rowclick':{fn:function(theGrid,rowIndex,e){if(theGrid.getSelections().length==1){this.deleteCitationBtn.enable();}else{this.deleteCitationBtn.disable();}},scope:this}},bbar:this.pager});var width=(MEGA.app.Map.size.w)-350;var height=MEGA.app.Map.size.h;this.citationManagerWindow=new Ext.Window({layout:'fit',width:width,height:height,title:MEGA.copy.Widgets.Activities.add_biblio_ref_title,items:[this.grid],modal:true,draggable:true,resizable:true});this.citationManagerWindow.show();MEGA.widgets.CitationManager.superclass.initComponent.apply(this,arguments);},deleteCitation:function(citgid,deleteRelated){var msg=this.text.checkForRefsMask;if(deleteRelated){msg=this.text.deleteMask;}
var mask=new Ext.LoadMask(Ext.getBody(),{msg:msg});mask.show();Ext.Ajax.request({url:MEGA.config.Urls.DeleteReference,method:'POST',params:{'citgid':citgid,'deleteRelated':deleteRelated},scope:this,success:function(response,options){var resp=Ext.util.JSON.decode(response.responseText);mask.hide();if(!resp.success){Ext.MessageBox.alert(this.text.error,resp.message);}
else if(resp.success){if(resp.status_code==1){var megaKeys="";Ext.each(resp.returnObj,function(item,index,allItems){megaKeys+=item.MegaKeys+" ";},this);var deleteHandler=function(btn){if(btn=='yes'){this.deleteCitation(citgid,true);}}
Ext.MessageBox.confirm(this.text.refsFoundTitle,this.text.refsFoundMsg+megaKeys+this.text.refsFoundConfirmDelete,deleteHandler,this);}else if(resp.status_code==3){this.store.reload();Ext.MessageBox.alert(this.text.success,resp.message);}}},failure:function(response,options){mask.hide();Ext.MessageBox.alert(this.text.error,this.text.deleteFailMsg);}});},postForExcel:function(path,params,method){method=method||"post";var form=document.createElement("form");form.setAttribute("method",method);form.setAttribute("action",path);for(var i=0;i<params.length;i++){var hiddenField=document.createElement("input");hiddenField.setAttribute("type","hidden");hiddenField.setAttribute("name",params[i].name);hiddenField.setAttribute("value",params[i].value);form.appendChild(hiddenField);}
document.body.appendChild(form);form.submit();}});Ext.namespace('FGI','MEGA.widgets');MEGA.widgets.HelpButton=Ext.extend(FGI.component.ButtonWindow,{id:'helpbutton',cls:'x-btn-text-icon button',iconCls:'help',initComponent:function(){this.text=MEGA.copy.Widgets.MapToolbar.help_btn||'Help';this.tooltip={text:MEGA.copy.Widgets.MapToolbar.help_btn_tooltip};this.windowConfig={title:MEGA.copy.Widgets.MapToolbar.help_title,layout:'fit',width:475,height:350,draggable:true,resizable:true,items:new Ext.TabPanel({header:false,activeItem:0,items:[new Ext.Panel({title:MEGA.copy.Widgets.MapToolbar.help_faq||'FAQ',autoLoad:{url:MEGA.config.Urls.Faq},layout:'fit',border:false,autoScroll:true}),new Ext.Panel({title:MEGA.copy.Widgets.MapToolbar.help_videos||'Video Tutorials',layout:'fit',autoLoad:{url:MEGA.config.Urls.HelpVideos},border:false,autoScroll:true}),new Ext.Panel({title:MEGA.copy.Widgets.MapToolbar.help_about,autoLoad:{url:MEGA.config.Urls.About},layout:'fit',border:false,autoScroll:true})]})}
MEGA.widgets.HelpButton.superclass.initComponent.apply(this,arguments);}});Ext.namespace('MEGA','MEGA.widgets');MEGA.widgets.Disclaimer=Ext.extend(Ext.Window,{title:'Disclaimer',width:690,height:200,autoLoad:MEGA.config.Urls.Disclaimer,buttons:[{text:MEGA.copy.app.cancel,minWidth:75,handler:function(){this.ownerCt.fireEvent('declineDisclaimer');this.ownerCt.hide();}},{text:MEGA.copy.app.accept,minWidth:75,handler:function(){this.ownerCt.fireEvent('acceptDisclaimer');this.ownerCt.hide();}}],autoScroll:true,resizable:false,modal:true,initComponent:function(){this.addEvents({'acceptDisclaimer':true,'declineDisclaimer':true});MEGA.widgets.Disclaimer.superclass.initComponent.apply(this,arguments);}});Ext.namespace('MEGA','MEGA.workflows');MEGA.workflows.AddSite=Ext.extend(Ext.Component,{app:null,Msgs:{cancelWarn:MEGA.copy.Workflows.Wizards.cancel_warn,wizardWindowTitle:MEGA.copy.Workflows.AddSite.window_title,userCoordWindowTitle:MEGA.copy.Workflows.AddSite.coordinates_title,infoBarZoomIn:MEGA.copy.Workflows.AddSite.infobar_zoom_in,validatingGeomMask:MEGA.copy.Workflows.AddSite.validating_geom_msg,validationSuccess:MEGA.copy.Workflows.Validation.success,validationOverlap:MEGA.copy.Workflows.AddSite.validation_overlap,validationError:MEGA.copy.Workflows.AddSite.validation_error,error:MEGA.copy.Workflows.AddSite.error,infoBarDefaultDraw:MEGA.copy.Workflows.AddSite.default_info_bar_draw_msg,infoBarDefaultDoubleClick:MEGA.copy.Workflows.AddSite.default_info_bar_double_click_msg,infoBarCancel:MEGA.copy.Widgets.InfoBar.cancel_btn,infoBarContinue:MEGA.copy.Workflows.AddSite.infoBar_continue_btn,infoBarEditGeom:MEGA.copy.Widgets.InfoBar.edit_geom_btn,infoBarFinishEdit:MEGA.copy.Widgets.InfoBar.finish_edit_btn},initComponent:function(){this.app.activeWorkflow='AddSite';this.app.saveState();typeof MEGA.app.MapToolbar.TasksButton.window.el!="undefined"?this.app.MapToolbar.TasksButton.window.hide():null;typeof MEGA.app.MapToolbar.SearchButton.window.el!="undefined"?this.app.MapToolbar.SearchButton.window.hide():null;this.app.Map.getControlsByClass('OpenLayers.Control.PanZoomBar')[0].moveTo({x:4,y:70});this.InfoBar=new MEGA.widgets.InfoBar({scope:this,informationMessage:'<span style="font-weight:bold;" >'+this.Msgs.infoBarDefaultDraw+'<br><span style="padding-left: 2px;font-weight:bold;">'+this.Msgs.infoBarDefaultDoubleClick+'</span></span>',Msgs:{cancelBtn:this.Msgs.infoBarCancel,continueBtn:this.Msgs.infoBarContinue,editGeomBtn:this.Msgs.infoBarEditGeom,finishEditBtn:this.Msgs.infoBarFinishEdit}});this.InfoBar.setMode('draw_geom');this.InfoBar.cancelButton.handler=function(){this.InfoBarWindow.destroy();this.restoreAppState();}.createDelegate(this);this.InfoBar.editGeomButton.handler=function(){this.modifyControl.selectControl.select(this.editLayer.features[0]);this.editControl.activate();this.InfoBar.setMode('edit_geom');}.createDelegate(this);this.InfoBar.finishEditButton.handler=function(){this.validateFeature(this.editLayer.features[0]);}.createDelegate(this);this.InfoBar.continueButton.handler=function(){this.addNewSiteWizard=new MEGA.widgets.addNewSiteWizard({feature:this.feature});this.addNewSiteWizard.on('formsuccessfullysubmitted',function(){this.app.Map.getLayersByName('Sites')[0].refresh();},this);this.addNewSiteWizard.on('beforecancel',function(theForm){Ext.MessageBox.show({msg:this.Msgs.cancelWarn,fn:function(buttonId,text,opt){if(buttonId=='ok'){this.addNewSiteWizardWindow.close();}else{return false;}},scope:this,buttons:Ext.Msg.OKCANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING});return false;},this);this.addNewSiteWizardWindow=new Ext.Window({layout:'fit',width:720,height:550,title:this.Msgs.wizardWindowTitle,items:[this.addNewSiteWizard],modal:true,draggable:false,resizable:false});this.addNewSiteWizardWindow.show();this.addNewSiteWizardWindow.on('close',this.restoreAppState,this);this.InfoBarWindow.destroy();}.createDelegate(this);this.InfoBarWindow=new Ext.Window({layout:'fit',width:this.app.Viewport.getSize().width,resizable:false,closable:false,draggable:false,items:new Ext.Panel({tbar:this.InfoBar})});this.InfoBarWindow.show();this.InfoBarWindow.anchorTo(this.app.MapToolbar.id,'t-b');this.app.Viewport.on('resize',function(){this.InfoBarWindow.setWidth(this.app.Viewport.getSize().width);},this);this.editLayer=new OpenLayers.Layer.Vector("Editable");this.snappingLayer=new OpenLayers.Layer.Vector("Snapping",{styleMap:new OpenLayers.StyleMap({"default":new OpenLayers.Style({pointRadius:"6",fillColor:"#15428B",fillOpacity:1,strokeColor:"#15428B",strokeWidth:1,cursor:'pointer'})})});this.snappingControl=new OpenLayers.Control.Snapping({layer:this.editLayer,targets:[{layer:this.snappingLayer}]});this.snappingControl.activate();this.editLayer.onFeatureInsert=function(feature){this.validateFeature(feature);}.createDelegate(this);this.app.Map.addControl(this.editControl=new FGI.openlayers.CustomEditingToolbar(this.editLayer,{enabledControls:{POINT:false,LINESTRING:false,POLYGON:true,COORDINATE:true}}));$(this.editControl.controls[1].panel_div).bind('click',this,function(obj){obj.data.resetWizard();});this.app.Map.addControl(this.modifyControl=new OpenLayers.Control.ModifyFeature(this.editLayer,{clickout:false,multiple:false,toggle:false}));this.app.Map.addLayers([this.snappingLayer,this.editLayer]);this.editControl.moveTo({x:0,y:70});new Ext.ToolTip({target:$(".olControlNavigationItemActive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSite.pan_tooltip||'Pan Map'});new Ext.ToolTip({target:$(".olControlDrawFeaturePolygonItemInactive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSite.polygon_tooltip||'Draw Site Polygon'});new Ext.ToolTip({target:$(".olControlEnterCoordinatesItemInactive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSite.coordinates_tooltip||'Create Site from coordinates'});this.editControl.activate();this.editingModeAllowed();this.app.Map.events.register('zoomend',this,this.editingModeAllowed);this.userCoordinatesWidget=new MEGA.widgets.UserCoordinates({enabledTypes:{POINT:false,LINESTRING:false,POLYGON:true}});this.userCoordinatesWidget.on('submitcoordinates',function(coords,geomType,startProj){var geom=geomType.toUpperCase()+'('+coords+')';try{this.resetWizard();var transformedGeom=new OpenLayers.Format.WKT().read(geom);transformedGeom.geometry.transform(startProj,new OpenLayers.Projection("EPSG:900913"));if(geomType=="POLYGON"){if(this.app.Map.isPolygonValid(transformedGeom.geometry)){this.snappingLayer.destroyFeatures();this.editLayer.addFeatures(transformedGeom);}else{this.snappingLayer.destroyFeatures();Ext.each(transformedGeom.geometry.getVertices(),function(item,index,allItems){this.snappingLayer.addFeatures(new OpenLayers.Feature.Vector(item));},this);this.InfoBar.updateInformationMessage('<span style="font-weight:bold;" >'+this.Msgs.infoBarDefaultDraw+'<br><span style="padding-left: 2px;font-weight:bold;">Use the points on the map as a guide for drawing your polygon. '+this.Msgs.infoBarDefaultDoubleClick+'</span></span>');}}else{this.snappingLayer.destroyFeatures();this.editLayer.addFeatures(transformedGeom);}
var bounds=transformedGeom.geometry.getBounds();var zoom=this.app.Map.getZoomForExtent(bounds,false);this.app.Map.setCenter(bounds.getCenterLonLat(),Math.min(zoom,10));this.userCoordinatesWindow.hide();}catch(e){}},this);this.userCoordinatesWidget.on('cancel',function(){this.userCoordinatesWindow.hide();},this);this.editControl.getControlsByName('COORDINATE')[0].events.register('activate',this,function(){this.userCoordinatesWindow=new Ext.Window({layout:'fit',width:550,height:350,title:this.Msgs.userCoordWindowTitle,items:[this.userCoordinatesWidget],modal:true,draggable:false,resizable:false,closeAction:'hide'});this.userCoordinatesWindow.on('hide',function(){this.editControl.getControlsByName('COORDINATE')[0].deactivate();},this);this.userCoordinatesWindow.show();});MEGA.workflows.AddSite.superclass.initComponent.apply(this,arguments);},hideEditControls:function(){$(".olControlNavigationItemActive").hide();$(".olControlNavigationItemInactive").hide();$(".olControlDrawFeaturePolygonItemInactive").hide();},showEditControls:function(){$(".olControlNavigationItemActive").show();$(".olControlNavigationItemInactive").show();$(".olControlDrawFeaturePolygonItemInactive").show();},resetWizard:function(){this.editLayer.destroyFeatures();this.InfoBar.setMode('draw_geom');},editingModeAllowed:function(){if(this.app.Map.zoom>5){this.showEditControls();this.modifyControl.activate();this.InfoBar.updateValidationMessage('');return true;}else{this.hideEditControls();this.modifyControl.deactivate();this.InfoBar.updateValidationMessage('<span style="font-weight:bold;" class="x-link-btn-text-icon error">'+this.Msgs.infoBarZoomIn+'</span>');return false;}},restoreAppState:function(){this.app.restoreState();this.editControl.deactivate();for(var i in this.editControl.controls){this.app.Map.removeControl(this.editControl.controls[i]);}
this.app.Map.removeControl(this.editControl);this.app.Map.removeControl(this.modifyControl);this.app.Map.removeLayer(this.editLayer);this.app.Map.removeControl(this.snappingControl);this.app.Map.removeLayer(this.snappingLayer);if(this.bufferEditLayer!=undefined&&this.app.Map.getLayerIndex(this.bufferEditLayer)>=0){this.app.Map.removeLayer(this.bufferEditLayer);}
if(this.bufferSnappingLayer!=undefined){this.app.Map.removeLayer(this.bufferSnappingLayer);}
if(this.bufferSnappingControl!=undefined){this.app.Map.removeControl(this.bufferSnappingControl);}
this.app.Map.events.unregister('zoomend',this,this.editingModeAllowed);this.destroy();},validateFeature:function(feature){var mask=new Ext.LoadMask(this.InfoBar.getEl(),{msg:this.Msgs.validatingGeomMask});mask.show();this.editControl.deactivate();Ext.Ajax.request({url:MEGA.config.Urls.ValidateSiteGeom,method:'POST',params:{geometry:feature.geometry.toString()},scope:this,success:function(response,options){mask.hide();var ro=Ext.decode(response.responseText);if(ro.success){this.InfoBar.updateValidationMessage('<span style="font-weight:bold;">'+this.Msgs.validationSuccess+'</span>');this.feature=feature;this.feature.governorate=ro.returnObj.governorate;this.feature.subgovernorate=ro.returnObj.subgovernorate;this.feature.district=ro.returnObj.district;this.InfoBar.setMode('review_geom');this.snappingLayer.destroyFeatures();this.snappingLayer.redraw();this.editControl.deactivate();this.modifyControl.selectControl.unselectAll();}else{if(ro.status_code==2){var message=ro.message!=undefined?MEGA.copy.Workflows.AddSite[ro.message]:this.Msgs.validationOverlap;this.InfoBar.updateValidationMessage('<span style="font-weight:bold;" class="x-link-btn-text-icon error">'+message+'</span>');}else{this.InfoBar.updateValidationMessage('<span style="font-weight:bold;" class="x-link-btn-text-icon error">'+this.Msgs.validationError+'</span>');}
this.modifyControl.selectControl.select(this.editLayer.features[0]);this.InfoBar.setMode('edit_geom');}},failure:function(response,options){mask.hide();Ext.MessageBox.alert(this.Msgs.error,this.Msgs.validationError);this.modifyControl.selectControl.select(this.editLayer.features[0]);this.InfoBar.setMode('edit_geom');}});},getUserDefinedBuffer:function(){if(this.bufferEditControl!=undefined){for(var i in this.bufferEditControl.controls){this.app.Map.removeControl(this.bufferEditControl.controls[i]);}
this.app.Map.removeControl(this.bufferEditControl);}
if(this.bufferEditLayer!=undefined&&this.app.Map.getLayerIndex(this.bufferEditLayer)>=0){this.app.Map.removeLayer(this.bufferEditLayer);}
if(this.bufferSnappingLayer!=undefined){this.app.Map.removeLayer(this.bufferSnappingLayer);}
if(this.bufferSnappingControl!=undefined){this.app.Map.removeControl(this.bufferSnappingControl);}
this.addNewSiteWizardWindow.hide();this.BufferMsgs={userCoordWindowTitle:MEGA.copy.Workflows.AddSite.buffer_coordinate_title,infoBarDefaultDraw:MEGA.copy.Workflows.AddSite.draw_buffer_msg,infoBarDefaultDoubleClick:MEGA.copy.Workflows.AddSite.default_info_bar_double_click_msg,infoBarCancel:MEGA.copy.Widgets.InfoBar.cancel_btn,infoBarContinue:MEGA.copy.Workflows.AddSite.buffer_infoBar_continue_btn,infoBarZoomIn:MEGA.copy.Workflows.AddSite.buffer_infobar_zoom_in,validatingGeomMask:MEGA.copy.Workflows.AddSite.validating_geom_msg,validationSuccess:MEGA.copy.Workflows.Validation.success,validationOverlap:MEGA.copy.Workflows.AddSite.buffer_validation_overlap,validationError:MEGA.copy.Workflows.AddSite.buffer_validation_error,error:MEGA.copy.Workflows.AddSite.error,infoBarEditGeom:MEGA.copy.Widgets.InfoBar.edit_geom_btn,infoBarFinishEdit:MEGA.copy.Widgets.InfoBar.finish_edit_btn}
this.BufferInfoBar=new MEGA.widgets.InfoBar({scope:this,validationMessage:'',informationMessage:'<span style="font-weight:bold;" >'+this.BufferMsgs.infoBarDefaultDraw+'<br><span style="padding-left: 2px;font-weight:bold;">'+this.BufferMsgs.infoBarDefaultDoubleClick+'</span></span>',Msgs:{cancelBtn:this.BufferMsgs.infoBarCancel,continueBtn:this.BufferMsgs.infoBarContinue,editGeomBtn:this.BufferMsgs.infoBarEditGeom,finishEditBtn:this.BufferMsgs.infoBarFinishEdit}});this.BufferInfoBar.setMode('draw_geom');this.BufferInfoBar.cancelButton.handler=function(){this.BufferInfoBarWindow.destroy();this.app.Map.events.unregister('zoomend',this,this.bufferEditingModeAllowed);for(var i in this.bufferEditControl.controls){this.app.Map.removeControl(this.bufferEditControl.controls[i]);}
this.app.Map.removeControl(this.bufferEditControl);this.app.Map.removeControl(this.bufferModifyControl);this.addNewSiteWizardWindow.show();$('#buffer_const_radio').click();Ext.getCmp('buffer_field').enable();}.createDelegate(this);this.BufferInfoBar.editGeomButton.handler=function(){this.bufferModifyControl.selectControl.select(this.bufferEditLayer.features[0]);this.BufferInfoBar.setMode('edit_geom');}.createDelegate(this);this.BufferInfoBar.finishEditButton.handler=function(){this.validateBufferFeature(this.bufferEditLayer.features[0]);}.createDelegate(this);this.BufferInfoBar.continueButton.handler=function(){this.BufferInfoBarWindow.destroy();this.addNewSiteWizard.bufferGeom=this.bufferEditLayer.features[0].geometry.toString();this.app.Map.events.unregister('zoomend',this,this.bufferEditingModeAllowed);for(var i in this.bufferEditControl.controls){this.app.Map.removeControl(this.bufferEditControl.controls[i]);}
this.app.Map.removeControl(this.bufferEditControl);this.app.Map.removeControl(this.bufferModifyControl);this.addNewSiteWizardWindow.show();}.createDelegate(this);this.BufferInfoBarWindow=new Ext.Window({layout:'fit',width:this.app.Viewport.getSize().width,resizable:false,closable:false,draggable:false,items:new Ext.Panel({tbar:this.BufferInfoBar})});this.BufferInfoBarWindow.show();this.BufferInfoBarWindow.anchorTo(this.app.MapToolbar.id,'t-b');this.app.Viewport.on('resize',function(){this.BufferInfoBarWindow.setWidth(this.app.Viewport.getSize().width);},this);this.bufferEditLayer=new OpenLayers.Layer.Vector("Editable",{styleMap:new OpenLayers.StyleMap({"default":new OpenLayers.Style({pointRadius:"6",fillColor:"#15428B",fillOpacity:0.2,strokeColor:"#15428B",strokeWidth:1,cursor:'pointer'})})});this.bufferSnappingLayer=new OpenLayers.Layer.Vector("BufferSnapping",{styleMap:new OpenLayers.StyleMap({"default":new OpenLayers.Style({pointRadius:"6",fillColor:"#15428B",fillOpacity:1,strokeColor:"#15428B",strokeWidth:1,cursor:'pointer'})})});this.bufferSnappingControl=new OpenLayers.Control.Snapping({layer:this.bufferEditLayer,targets:[{layer:this.bufferSnappingLayer}]});this.bufferSnappingControl.activate();this.bufferEditLayer.onFeatureInsert=function(feature){this.validateBufferFeature(feature);}.createDelegate(this);this.app.Map.addControl(this.bufferEditControl=new FGI.openlayers.CustomEditingToolbar(this.bufferEditLayer,{enabledControls:{POINT:false,LINESTRING:false,POLYGON:true,COORDINATE:true}}));this.app.Map.addControl(this.bufferModifyControl=new OpenLayers.Control.ModifyFeature(this.bufferEditLayer,{clickout:false,multiple:false,toggle:false}));this.app.Map.addLayers([this.bufferEditLayer,this.bufferSnappingLayer]);this.bufferEditControl.moveTo({x:0,y:70});new Ext.ToolTip({target:$(".olControlNavigationItemActive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSite.pan_tooltip||'Pan Map'});new Ext.ToolTip({target:$(".olControlDrawFeaturePolygonItemInactive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSite.draw_buffer_tooltip||'Draw Site Buffer Polygon'});new Ext.ToolTip({target:$(".olControlEnterCoordinatesItemInactive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSite.buffer_coordinates_tooltip||'Create Site Buffer from coordinates'});this.bufferEditingModeAllowed();this.app.Map.events.register('zoomend',this,this.bufferEditingModeAllowed);this.bufferUserCoordinatesWidget=new MEGA.widgets.UserCoordinates({enabledTypes:{POINT:false,LINESTRING:false,POLYGON:true}});this.bufferUserCoordinatesWidget.on('submitcoordinates',function(coords,geomType,startProj){var geom=geomType.toUpperCase()+'('+coords+')';try{var transformedGeom=new OpenLayers.Format.WKT().read(geom);transformedGeom.geometry.transform(startProj,new OpenLayers.Projection("EPSG:900913"));if(geomType=="POLYGON"){if(this.app.Map.isPolygonValid(transformedGeom.geometry)){this.bufferSnappingLayer.destroyFeatures();this.bufferEditLayer.addFeatures(transformedGeom);}else{this.bufferSnappingLayer.destroyFeatures();Ext.each(transformedGeom.geometry.getVertices(),function(item,index,allItems){this.bufferSnappingLayer.addFeatures(new OpenLayers.Feature.Vector(item));},this);this.InfoBar.updateInformationMessage('<span style="font-weight:bold;" >'+this.BufferMsgs.infoBarDefaultDraw+'<br><span style="padding-left: 2px;font-weight:bold;">Use the points on the map as a guide for drawing your polygon. '+this.BufferMsgs.infoBarDefaultDoubleClick+'</span></span>');}}else{this.bufferSnappingLayer.destroyFeatures();this.bufferEditLayer.addFeatures(transformedGeom);}
var bounds=transformedGeom.geometry.getBounds();var zoom=this.app.Map.getZoomForExtent(bounds,false);this.app.Map.setCenter(bounds.getCenterLonLat(),Math.min(zoom,10));this.bufferUserCoordinatesWindow.hide();}catch(e){}},this);this.bufferUserCoordinatesWidget.on('cancel',function(){this.bufferUserCoordinatesWindow.hide();},this);this.bufferEditControl.getControlsByName('COORDINATE')[0].events.register('activate',this,function(){this.bufferUserCoordinatesWindow=new Ext.Window({layout:'fit',width:550,height:350,title:this.BufferMsgs.userCoordWindowTitle,items:[this.bufferUserCoordinatesWidget],modal:true,draggable:false,resizable:false,closeAction:'hide'});this.bufferUserCoordinatesWindow.on('hide',function(){this.bufferEditControl.getControlsByName('COORDINATE')[0].deactivate();},this);this.bufferUserCoordinatesWindow.show();});},bufferEditingModeAllowed:function(){if(this.app.Map.zoom>5){this.bufferEditControl.activate();this.bufferModifyControl.activate();this.BufferInfoBar.updateValidationMessage('');return true;}else{this.bufferEditControl.deactivate();this.bufferModifyControl.deactivate();this.BufferInfoBar.updateValidationMessage('<span style="font-weight:bold;" class="x-link-btn-text-icon error">'+this.BufferMsgs.infoBarZoomIn+'</span>');return false;}},validateBufferFeature:function(){this.BufferInfoBar.updateValidationMessage('<span style="font-weight:bold;">'+this.Msgs.validationSuccess+'</span>');this.BufferInfoBar.setMode('review_geom');this.bufferEditControl.deactivate();this.bufferModifyControl.selectControl.unselectAll();},setBufferMode:function(interactive){var field=Ext.getCmp('buffer_field');if(interactive){field.reset();field.disable();this.getUserDefinedBuffer();}else{field.enable();this.addNewSiteWizard.bufferGeom='';if(this.bufferEditLayer!=undefined){this.bufferEditLayer.destroyFeatures();this.app.Map.removeLayer(this.bufferEditLayer);}}},render:function(ct,position){Ext.apply(this,{el:this.renderTo||document.body});MEGA.workflows.AddSite.superclass.render.apply(this,arguments);this.InfoBarWindow.anchorTo(this.app.Map.MapToolbar.id,'t-b');this.InfoBarWindow.show();},onRender:function(ct,position){}});Ext.namespace('MEGA','MEGA.workflows');MEGA.workflows.EditSite=Ext.extend(Ext.Component,{app:null,siteid:null,geometry:null,buffer:null,megakey:null,iscandidate:false,Msgs:{cancelWarn:MEGA.copy.Workflows.Wizards.cancel_warn,wizardWindowTitle:MEGA.copy.Workflows.EditSite.window_title,validatingGeomMask:MEGA.copy.Workflows.AddSite.validating_geom_msg,validationSuccess:MEGA.copy.Workflows.Validation.success,validationOverlap:MEGA.copy.Workflows.AddSite.validation_overlap,validationError:MEGA.copy.Workflows.AddSite.validation_error,error:MEGA.copy.Workflows.AddSite.error,infoBarCancel:MEGA.copy.Widgets.InfoBar.cancel_btn,infoBarContinue:MEGA.copy.Workflows.AddSite.infoBar_continue_btn,infoBarEditGeom:MEGA.copy.Widgets.InfoBar.edit_geom_btn,infoBarFinishEdit:MEGA.copy.Widgets.InfoBar.finish_edit_btn,SiteLocked:MEGA.copy.Workflows.EditSite.lock_error},initComponent:function(){this.initUI();window.onbeforeunload=function(){this.unlock();}.createDelegate(this);if(this.iscandidate){MEGA.data.DAL.getRemoteData(MEGA.config.Urls.Candidate+'SiteInfo/'+this.siteid,function(response,options){var candidateData=Ext.decode(response.responseText);if(candidateData.success){MEGA.data.Candidate.updateSelectedCandidate(candidateData.returnObj);this.geometry=MEGA.data.Candidate.selected.get("geometry");this.buffer=MEGA.data.Candidate.selected.get("buffer");this.initSiteEditing();if(this.buffer!=''){MEGA.app.ReviewMegaFileWorkflow.showCandidateBuffer(this.buffer);}}else{if(candidateData.status_code==3){Ext.MessageBox.alert(MEGA.concurrency.Locked_title,MEGA.concurrency.Site_Locked);this.InfoBarWindow.destroy();this.restoreAppState();}}},null,this);}
else{MEGA.data.DAL.getRemoteData(MEGA.config.Urls.Site+this.siteid,function(response,options){var siteData=Ext.decode(response.responseText);if(siteData.success&&siteData.status_code!=3){MEGA.data.Site.updateSelectedSite(siteData.returnObj);this.geometry=MEGA.data.Site.selected.get("geometry");this.buffer=MEGA.data.Site.selected.get("buffer");this.initSiteEditing();}else if(siteData.success&&siteData.status_code==3){Ext.MessageBox.alert(MEGA.concurrency.Locked_title,MEGA.concurrency.Site_Locked);this.InfoBarWindow.destroy();this.restoreAppState();}
else{alert("oops....");}},null,this);}
MEGA.workflows.EditSite.superclass.initComponent.apply(this,arguments);},initUI:function(){this.app.activeWorkflow='EditSite';this.app.saveState();typeof MEGA.app.MapToolbar.TasksButton.window.el!="undefined"?this.app.MapToolbar.TasksButton.window.hide():null;typeof MEGA.app.MapToolbar.SearchButton.window.el!="undefined"?this.app.MapToolbar.SearchButton.window.hide():null;this.app.Map.getControlsByClass('OpenLayers.Control.PanZoomBar')[0].moveTo({x:4,y:70});this.InfoBar=new MEGA.widgets.InfoBar({scope:this,validationMessage:'',Msgs:{cancelBtn:this.Msgs.infoBarCancel,continueBtn:this.Msgs.infoBarContinue,editGeomBtn:this.Msgs.infoBarEditGeom,finishEditBtn:this.Msgs.infoBarFinishEdit}});this.InfoBar.setMode('edit_geom');this.InfoBar.cancelButton.handler=function(){this.InfoBarWindow.destroy();this.restoreAppState();}.createDelegate(this);this.InfoBar.editGeomButton.handler=function(){this.modifyControl.selectControl.select(this.editLayer.features[0]);this.InfoBar.setMode('edit_geom');}.createDelegate(this);this.InfoBar.finishEditButton.handler=function(){this.validateFeature(this.editLayer.features[0]);}.createDelegate(this);this.InfoBar.continueButton.handler=function(){this.editSiteWizard=new MEGA.widgets.editSiteWizard({feature:this.feature,siteid:this.siteid,iscandidate:this.iscandidate,megakey:this.megakey});this.editSiteWizard.on('formsuccessfullysubmitted',function(){if(this.iscandidate){MEGA.app.ReviewMegaFileWorkflow.refreshCandidateRecords();}
this.app.Map.getLayersByName('Sites')[0].refresh();this.app.getSiteData(this.siteid,null,false,true,this.app);},this);this.editSiteWizard.on('beforecancel',function(theForm){Ext.MessageBox.show({msg:this.Msgs.cancelWarn,fn:function(buttonId,text,opt){if(buttonId=='ok'){this.editSiteWizardWindow.close();}else{return false;}},scope:this,buttons:Ext.Msg.OKCANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING});return false;},this);this.editSiteWizardWindow=new Ext.Window({layout:'fit',width:720,height:550,title:this.Msgs.wizardWindowTitle,items:[this.editSiteWizard],modal:true,draggable:false,resizable:false});this.editSiteWizardWindow.show();this.editSiteWizardWindow.on('close',this.restoreAppState,this);this.InfoBarWindow.destroy();}.createDelegate(this);this.InfoBarWindow=new Ext.Window({layout:'fit',width:this.app.Viewport.getSize().width,resizable:false,closable:false,draggable:false,items:new Ext.Panel({tbar:this.InfoBar})});this.InfoBarWindow.show();this.InfoBarWindow.anchorTo(this.app.MapToolbar.id,'t-b');this.app.Viewport.on('resize',function(){this.InfoBarWindow.setWidth(this.app.Viewport.getSize().width);},this);},initSiteEditing:function(){this.editLayer=new OpenLayers.Layer.Vector("Editable");this.editLayer.projection=new OpenLayers.Projection("EPSG:4326");this.snappingLayer=new OpenLayers.Layer.Vector("Snapping",{styleMap:new OpenLayers.StyleMap({"default":new OpenLayers.Style({pointRadius:"6",fillColor:"#15428B",fillOpacity:1,strokeColor:"#15428B",strokeWidth:1,cursor:'pointer'})})});this.snappingControl=new OpenLayers.Control.Snapping({layer:this.editLayer,targets:[{layer:this.snappingLayer}]});this.snappingControl.activate();this.editControl=new FGI.openlayers.CustomEditingToolbar(this.editLayer,{enabledControls:{POINT:false,LINESTRING:false,POLYGON:true,COORDINATE:true}});this.app.Map.addControl(this.editControl);this.app.Map.addLayers([this.snappingLayer,this.editLayer]);this.editControl.moveTo({x:0,y:70});new Ext.ToolTip({target:$(".olControlNavigationItemActive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSite.pan_tooltip||'Pan Map'});new Ext.ToolTip({target:$(".olControlEnterCoordinatesItemInactive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSite.coordinates_tooltip||'Create Site from coordinates'});this.editLayer.addFeatures(new OpenLayers.Format.WKT().read(this.geometry));this.editLayer.onFeatureInsert=function(feature){this.validateFeature(feature);}.createDelegate(this);this.modifyControl=new OpenLayers.Control.ModifyFeature(this.editLayer,{clickout:false,multiple:false,toggle:false});this.app.Map.addControl(this.modifyControl);this.app.Map.zoomToExtent(this.app.Map.getLayersByName("Editable")[0].getDataExtent());this.app.Map.zoomOut();this.modifyControl.selectControl.select(this.editLayer.features[0]);this.InfoBar.setMode('edit_geom');var geom=new OpenLayers.Format.WKT().read(this.editLayer.features[0].geometry.toString());geom.geometry.transform(new OpenLayers.Projection("EPSG:900913"),new OpenLayers.Projection("EPSG:4326"));var coords=geom.geometry.toString().split('(')[2].split(')')[0];this.userCoordinatesWidget=new MEGA.widgets.UserCoordinates({defaultValue:coords,enabledTypes:{POINT:false,LINESTRING:false,POLYGON:true}});this.userCoordinatesWidget.on('submitcoordinates',function(coords,geomType,startProj){var geom=geomType.toUpperCase()+'('+coords+')';try{var transformedGeom=new OpenLayers.Format.WKT().read(geom);transformedGeom.geometry.transform(startProj,new OpenLayers.Projection("EPSG:900913"));if(geomType=="POLYGON"){if(this.app.Map.isPolygonValid(transformedGeom.geometry)){this.snappingLayer.destroyFeatures();this.editLayer.destroyFeatures();this.editLayer.addFeatures(transformedGeom);var bounds=transformedGeom.geometry.getBounds();}else{this.snappingLayer.destroyFeatures();Ext.each(transformedGeom.geometry.getVertices(),function(item,index,allItems){this.snappingLayer.addFeatures(new OpenLayers.Feature.Vector(item));},this);this.InfoBar.updateValidationMessage('');this.InfoBar.updateInformationMessage('<span style="font-weight:bold;" ><br><span style="padding-left: 2px;font-weight:bold;">Use the points on the map as a guide for drawing your polygon. </span></span>');var bounds=this.snappingLayer.getDataExtent();}}else{this.snappingLayer.destroyFeatures();this.editLayer.destroyFeatures();this.editLayer.addFeatures(transformedGeom);var bounds=transformedGeom.geometry.getBounds();}
var zoom=this.app.Map.getZoomForExtent(bounds,false);this.app.Map.setCenter(bounds.getCenterLonLat(),Math.min(zoom,10));this.userCoordinatesWindow.hide();}catch(e){}},this);this.userCoordinatesWidget.on('cancel',function(){this.userCoordinatesWindow.hide();},this);this.editControl.getControlsByName('COORDINATE')[0].events.register('activate',this,function(){this.userCoordinatesWindow=new Ext.Window({layout:'fit',width:550,height:350,title:this.Msgs.userCoordWindowTitle,items:[this.userCoordinatesWidget],modal:true,draggable:false,resizable:false,closeAction:'hide'});this.userCoordinatesWindow.on('hide',function(){this.editControl.getControlsByName('COORDINATE')[0].deactivate();},this);this.userCoordinatesWindow.show();});},restoreAppState:function(){this.app.restoreState();this.editControl.deactivate();for(var i in this.editControl.controls){this.app.Map.removeControl(this.editControl.controls[i]);}
this.app.Map.removeControl(this.editControl);this.app.Map.removeControl(this.modifyControl);this.app.Map.removeLayer(this.editLayer);this.app.Map.removeControl(this.snappingControl);this.app.Map.removeLayer(this.snappingLayer);if(this.bufferEditLayer!=undefined&&this.bufferEditLayer.map!=null){this.app.Map.removeLayer(this.bufferEditLayer);}
if(this.bufferSnappingLayer!=undefined&&this.bufferSnappingLayer.map!=null){this.app.Map.removeLayer(this.bufferSnappingLayer);}
if(this.bufferSnappingControl!=undefined){this.app.Map.removeControl(this.bufferSnappingControl);}
this.app.Map.getLayersByName('Sites')[0].controls[0].unselectAll();this.app.Map.events.unregister('zoomend',this,this.editingModeAllowed);this.app.Map.getLayersByName('Sites')[0].refresh();window.onbeforeunload=function(){};this.unlock();this.destroy();},unlock:function(){if(this.editSiteWizard==null||this.editSiteWizard.isLocked){Ext.Ajax.request({url:this.iscandidate?MEGA.config.Urls.Candidate+'SiteUnLock/'+this.siteid:MEGA.config.Urls.UnLockSite+this.megakey,scope:this,success:function(result,options){var ret=Ext.decode(result.responseText);if(!ret.success==true){}}.createDelegate(this),failure:function(result){}.createDelegate(this)});}},validateFeature:function(feature){var mask=new Ext.LoadMask(this.InfoBar.getEl(),{msg:this.Msgs.validatingGeomMask});mask.show();this.editControl.deactivate();var url=MEGA.config.Urls.ValidateSiteGeom+'?iscandidate='+this.iscandidate+'&siteid='+this.siteid+'&megakey='+this.megakey;Ext.Ajax.request({url:url,method:'POST',params:{geometry:feature.geometry.toString()},scope:this,success:function(response,options){mask.hide();var ro=Ext.decode(response.responseText);if(ro.success){this.InfoBar.updateValidationMessage('<span style="font-weight:bold;">'+this.Msgs.validationSuccess+'</span>');this.feature=feature;this.feature.governorate=ro.returnObj.governorate;this.feature.subgovernorate=ro.returnObj.subgovernorate;this.feature.district=ro.returnObj.district;this.InfoBar.setMode('review_geom');this.modifyControl.selectControl.unselectAll();}else{if(ro.status_code==2){var message=ro.message!=undefined?MEGA.copy.Workflows.AddSite[ro.message]:this.Msgs.validationOverlap;this.InfoBar.updateValidationMessage('<span style="font-weight:bold;" class="x-link-btn-text-icon error">'+message+'</span>');}else if(ro.status_code==3){this.InfoBar.updateValidationMessage('<span style="font-weight:bold;" class="x-link-btn-text-icon error">'+this.Msgs.SiteLocked+'</span>');}else{this.InfoBar.updateValidationMessage('<span style="font-weight:bold;" class="x-link-btn-text-icon error">'+this.Msgs.validationError+'</span>');}
this.modifyControl.selectControl.select(this.editLayer.features[0]);this.InfoBar.setMode('edit_geom');}},failure:function(response,options){mask.hide();Ext.MessageBox.alert(this.Msgs.error,this.Msgs.validationError);this.modifyControl.selectControl.select(this.editLayer.features[0]);this.InfoBar.setMode('edit_geom');}});},getUserDefinedBuffer:function(){if(this.bufferEditControl!=undefined){for(var i in this.bufferEditControl.controls){this.app.Map.removeControl(this.bufferEditControl.controls[i]);}
this.app.Map.removeControl(this.bufferEditControl);}
if(this.bufferEditLayer!=undefined&&this.app.Map.getLayerIndex(this.bufferEditLayer)>=0){this.app.Map.removeLayer(this.bufferEditLayer);}
if(this.bufferSnappingLayer!=undefined&&this.bufferSnappingLayer.map!=null){this.app.Map.removeLayer(this.bufferSnappingLayer);}
if(this.bufferSnappingControl!=undefined){this.app.Map.removeControl(this.bufferSnappingControl);}
this.editSiteWizardWindow.hide();this.BufferMsgs={userCoordWindowTitle:MEGA.copy.Workflows.AddSite.buffer_coordinate_title,infoBarDefaultDraw:MEGA.copy.Workflows.AddSite.draw_buffer_msg,infoBarDefaultDoubleClick:MEGA.copy.Workflows.AddSite.default_info_bar_double_click_msg,infoBarCancel:MEGA.copy.Widgets.InfoBar.cancel_btn,infoBarContinue:MEGA.copy.Workflows.AddSite.buffer_infoBar_continue_btn,infoBarZoomIn:MEGA.copy.Workflows.AddSite.buffer_infobar_zoom_in,validatingGeomMask:MEGA.copy.Workflows.AddSite.validating_geom_msg,validationSuccess:MEGA.copy.Workflows.Validation.success,validationOverlap:MEGA.copy.Workflows.AddSite.buffer_validation_overlap,validationError:MEGA.copy.Workflows.AddSite.buffer_validation_error,error:MEGA.copy.Workflows.AddSite.error,infoBarEditGeom:MEGA.copy.Widgets.InfoBar.edit_geom_btn,infoBarFinishEdit:MEGA.copy.Widgets.InfoBar.finish_edit_btn};this.BufferInfoBar=new MEGA.widgets.InfoBar({scope:this,validationMessage:'',informationMessage:'<span style="font-weight:bold;" >'+this.BufferMsgs.infoBarDefaultDraw+'<br><span style="padding-left: 2px;font-weight:bold;">'+this.BufferMsgs.infoBarDefaultDoubleClick+'</span></span>',Msgs:{cancelBtn:this.BufferMsgs.infoBarCancel,continueBtn:this.BufferMsgs.infoBarContinue,editGeomBtn:this.BufferMsgs.infoBarEditGeom,finishEditBtn:this.BufferMsgs.infoBarFinishEdit}});this.BufferInfoBar.setMode('draw_geom');this.BufferInfoBar.cancelButton.handler=function(){this.BufferInfoBarWindow.destroy();this.bufferModifyControl.selectControl.unselectAll();for(var i in this.bufferEditControl.controls){this.app.Map.removeControl(this.bufferEditControl.controls[i]);}
this.app.Map.removeControl(this.bufferEditControl);this.app.Map.removeControl(this.bufferModifyControl);this.editSiteWizardWindow.show();if(!this.editSiteWizard.originalBufferIsInteractive){$('#buffer_const_radio').click();}
Ext.getCmp('buffer_field').enable();}.createDelegate(this);this.BufferInfoBar.editGeomButton.handler=function(){this.bufferModifyControl.selectControl.select(this.bufferEditLayer.features[0]);this.BufferInfoBar.setMode('edit_geom');}.createDelegate(this);this.BufferInfoBar.finishEditButton.handler=function(){this.validateBufferFeature(this.bufferEditLayer.features[0]);}.createDelegate(this);this.BufferInfoBar.continueButton.handler=function(){this.BufferInfoBarWindow.destroy();this.editSiteWizard.bufferGeom=this.bufferEditLayer.features[0].geometry.toString();this.app.Map.events.unregister('zoomend',this,this.bufferEditingModeAllowed);for(var i in this.bufferEditControl.controls){this.app.Map.removeControl(this.bufferEditControl.controls[i]);}
this.app.Map.removeControl(this.bufferEditControl);this.app.Map.removeControl(this.bufferModifyControl);this.editSiteWizardWindow.show();}.createDelegate(this);this.BufferInfoBarWindow=new Ext.Window({layout:'fit',width:this.app.Viewport.getSize().width,resizable:false,closable:false,draggable:false,items:new Ext.Panel({tbar:this.BufferInfoBar})});this.BufferInfoBarWindow.show();this.BufferInfoBarWindow.anchorTo(this.app.MapToolbar.id,'t-b');this.app.Viewport.on('resize',function(){this.BufferInfoBarWindow.setWidth(this.app.Viewport.getSize().width);},this);this.bufferEditLayer=new OpenLayers.Layer.Vector("Editable",{styleMap:new OpenLayers.StyleMap({"default":new OpenLayers.Style({pointRadius:"6",fillColor:"#15428B",fillOpacity:0.2,strokeColor:"#15428B",strokeWidth:1,cursor:'pointer'})})});this.bufferSnappingLayer=new OpenLayers.Layer.Vector("BufferSnapping",{styleMap:new OpenLayers.StyleMap({"default":new OpenLayers.Style({pointRadius:"6",fillColor:"#15428B",fillOpacity:1,strokeColor:"#15428B",strokeWidth:1,cursor:'pointer'})})});this.bufferSnappingControl=new OpenLayers.Control.Snapping({layer:this.bufferEditLayer,targets:[{layer:this.bufferSnappingLayer}]});this.bufferSnappingControl.activate();this.bufferEditLayer.onFeatureInsert=function(feature){this.validateBufferFeature(feature);}.createDelegate(this);this.app.Map.addControl(this.bufferEditControl=new FGI.openlayers.CustomEditingToolbar(this.bufferEditLayer,{enabledControls:{POINT:false,LINESTRING:false,POLYGON:true,COORDINATE:true}}));this.app.Map.addControl(this.bufferModifyControl=new OpenLayers.Control.ModifyFeature(this.bufferEditLayer,{clickout:false,multiple:false,toggle:false}));this.app.Map.addLayers([this.bufferSnappingLayer,this.bufferEditLayer]);this.bufferEditControl.moveTo({x:0,y:70});new Ext.ToolTip({target:$(".olControlNavigationItemActive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSite.pan_tooltip||'Pan Map'});new Ext.ToolTip({target:$(".olControlDrawFeaturePolygonItemInactive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSite.draw_buffer_tooltip||'Draw Site Buffer Polygon'});new Ext.ToolTip({target:$(".olControlEnterCoordinatesItemInactive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSite.buffer_coordinates_tooltip||'Create Site Buffer from coordinates'});this.bufferEditingModeAllowed();this.app.Map.events.register('zoomend',this,this.bufferEditingModeAllowed);this.bufferUserCoordinatesWidget=new MEGA.widgets.UserCoordinates({enabledTypes:{POINT:false,LINESTRING:false,POLYGON:true}});this.bufferUserCoordinatesWidget.on('submitcoordinates',function(coords,geomType,startProj){var geom=geomType.toUpperCase()+'('+coords+')';try{var transformedGeom=new OpenLayers.Format.WKT().read(geom);transformedGeom.geometry.transform(startProj,new OpenLayers.Projection("EPSG:900913"));if(geomType=="POLYGON"){if(this.app.Map.isPolygonValid(transformedGeom.geometry)){this.bufferSnappingLayer.destroyFeatures();this.bufferEditLayer.addFeatures(transformedGeom);}else{this.bufferSnappingLayer.destroyFeatures();Ext.each(transformedGeom.geometry.getVertices(),function(item,index,allItems){this.bufferSnappingLayer.addFeatures(new OpenLayers.Feature.Vector(item));},this);this.InfoBar.updateInformationMessage('<span style="font-weight:bold;" >'+this.BufferMsgs.infoBarDefaultDraw+'<br><span style="padding-left: 2px;font-weight:bold;">Use the points on the map as a guide for drawing your polygon. '+this.BufferMsgs.infoBarDefaultDoubleClick+'</span></span>');}}else{this.bufferSnappingLayer.destroyFeatures();this.bufferEditLayer.addFeatures(transformedGeom);}
var bounds=transformedGeom.geometry.getBounds();var zoom=this.app.Map.getZoomForExtent(bounds,false);this.app.Map.setCenter(bounds.getCenterLonLat(),Math.min(zoom,10));this.bufferUserCoordinatesWindow.hide();}catch(e){}},this);this.bufferUserCoordinatesWidget.on('cancel',function(){this.bufferUserCoordinatesWindow.hide();},this);this.bufferEditControl.getControlsByName('COORDINATE')[0].events.register('activate',this,function(){this.bufferUserCoordinatesWindow=new Ext.Window({layout:'fit',width:550,height:350,title:this.BufferMsgs.userCoordWindowTitle,items:[this.bufferUserCoordinatesWidget],modal:true,draggable:false,resizable:false,closeAction:'hide'});this.bufferUserCoordinatesWindow.on('hide',function(){this.bufferEditControl.getControlsByName('COORDINATE')[0].deactivate();},this);this.bufferUserCoordinatesWindow.show();});if(this.buffer){this.bufferEditLayer.addFeatures(new OpenLayers.Format.WKT().read(this.buffer));this.bufferModifyControl.selectControl.select(this.bufferEditLayer.features[0]);this.BufferInfoBar.setMode('edit_geom');}},bufferEditingModeAllowed:function(){if(this.app.Map.zoom>5){this.bufferEditControl.activate();this.bufferModifyControl.activate();this.BufferInfoBar.updateValidationMessage('');return true;}else{this.bufferEditControl.deactivate();this.bufferModifyControl.deactivate();this.BufferInfoBar.updateValidationMessage('<span style="font-weight:bold;" class="x-link-btn-text-icon error">'+this.BufferMsgs.infoBarZoomIn+'</span>');return false;}},validateBufferFeature:function(){this.BufferInfoBar.updateValidationMessage('<span style="font-weight:bold;">'+this.Msgs.validationSuccess+'</span>');this.BufferInfoBar.setMode('review_geom');this.bufferEditControl.deactivate();this.bufferModifyControl.selectControl.unselectAll();},setBufferMode:function(interactive){var field=Ext.getCmp('buffer_field');if(interactive){field.setValue('');field.disable();this.getUserDefinedBuffer();}else{field.reset();field.enable();this.editSiteWizard.bufferGeom='';if(this.bufferEditLayer!=undefined){this.bufferEditLayer.destroyFeatures();this.app.Map.removeLayer(this.bufferEditLayer);}}},render:function(ct,position){Ext.apply(this,{el:this.renderTo||document.body});MEGA.workflows.EditSite.superclass.render.apply(this,arguments);this.InfoBarWindow.anchorTo(this.app.Map.MapToolbar.id,'t-b');this.InfoBarWindow.show();},onRender:function(ct,position){}});Ext.namespace('MEGA','MEGA.workflows');MEGA.workflows.AddSiteElement=Ext.extend(Ext.Component,{app:null,Msgs:{cancelWarn:MEGA.copy.Workflows.AddSel.cancelWarn,wizardWindowTitle:MEGA.copy.Workflows.AddSel.wizwin_title,userCoordWindowTitle:MEGA.copy.Workflows.AddSel.enterCoords,infoBarZoomIn:MEGA.copy.Workflows.AddSel.infoBar_zoomIn,infoBarDefaultDraw:MEGA.copy.Workflows.AddSel.default_info_bar_draw_msg,infoBarDefaultDoubleClick:MEGA.copy.Workflows.AddSel.default_info_bar_double_click_msg,infoBarCancel:MEGA.copy.Widgets.InfoBar.cancel_btn,infoBarContinue:MEGA.copy.Workflows.AddSel.infoBar_continue_btn,infoBarEditGeom:MEGA.copy.Widgets.InfoBar.edit_geom_btn,infoBarFinishEdit:MEGA.copy.Widgets.InfoBar.finish_edit_btn,validatingGeomMask:MEGA.copy.Workflows.Validation.geomMask,validationSuccess:MEGA.copy.Workflows.Validation.success,validationOverlap:MEGA.copy.Workflows.AddSel.validation_overlap,validationError:MEGA.copy.Workflows.AddSel.validation_error,error:MEGA.copy.Workflows.Validation.error},initComponent:function(){this.app.activeWorkflow='AddSiteElement';this.app.saveState();typeof MEGA.app.MapToolbar.TasksButton.window.el!="undefined"?this.app.MapToolbar.TasksButton.window.hide():null;typeof MEGA.app.MapToolbar.SearchButton.window.el!="undefined"?this.app.MapToolbar.SearchButton.window.hide():null;this.app.Map.getControlsByClass('OpenLayers.Control.PanZoomBar')[0].moveTo({x:4,y:70});this.InfoBar=new MEGA.widgets.InfoBar({scope:this,informationMessage:'<span style="font-weight:bold;" >'+this.Msgs.infoBarDefaultDraw+'<br><span style="padding-left: 2px;font-weight:bold;">'+this.Msgs.infoBarDefaultDoubleClick+'</span></span>',Msgs:{cancelBtn:this.Msgs.infoBarCancel,continueBtn:this.Msgs.infoBarContinue,editGeomBtn:this.Msgs.infoBarEditGeom,finishEditBtn:this.Msgs.infoBarFinishEdit}});this.InfoBar.setMode('draw_geom');this.InfoBar.cancelButton.handler=function(){this.restoreAppState();}.createDelegate(this);this.InfoBar.editGeomButton.handler=function(){this.modifyControl.selectControl.select(this.editLayer.features[0]);this.InfoBar.setMode('edit_geom');}.createDelegate(this);this.InfoBar.finishEditButton.handler=function(){this.validateFeature(this.editLayer.features[0]);}.createDelegate(this);this.InfoBar.continueButton.handler=function(){this.addNewSiteElementWizard=new MEGA.widgets.addNewSiteElementWizard({feature:this.feature});this.addNewSiteElementWizard.on('formsuccessfullysubmitted',function(){this.app.Map.getLayersByName('SiteElements')[0].refresh();this.app.Map.getLayersByName('SiteElements')[1].refresh();this.app.Map.getLayersByName('SiteElements')[2].refresh();},this);this.addNewSiteElementWizard.on('beforecancel',function(theForm){Ext.MessageBox.show({msg:this.Msgs.cancelWarn,fn:function(buttonId,text,opt){if(buttonId=='ok'){this.addNewSiteElementWizardWindow.close();}else{return false;}},scope:this,buttons:Ext.Msg.OKCANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING});return false;},this);this.addNewSiteElementWizardWindow=new Ext.Window({layout:'fit',width:720,height:550,title:this.Msgs.wizardWindowTitle,items:[this.addNewSiteElementWizard],modal:true,draggable:false,resizable:false});this.addNewSiteElementWizardWindow.show();this.addNewSiteElementWizardWindow.on('hide',this.restoreAppState,this);}.createDelegate(this);this.InfoBarWindow=new Ext.Window({layout:'fit',width:this.app.Viewport.getSize().width,resizable:false,closable:false,draggable:false,items:new Ext.Panel({tbar:this.InfoBar})});this.InfoBarWindow.show();this.InfoBarWindow.anchorTo(this.app.MapToolbar.id,'t-b');this.app.Viewport.on('resize',function(){this.InfoBarWindow.setWidth(this.app.Viewport.getSize().width);},this);this.editLayer=new OpenLayers.Layer.Vector("Editable");this.snappingLayer=new OpenLayers.Layer.Vector("Snapping",{styleMap:new OpenLayers.StyleMap({"default":new OpenLayers.Style({pointRadius:"6",fillColor:"#15428B",fillOpacity:1,strokeColor:"#15428B",strokeWidth:1,cursor:'pointer'})})});this.snappingControl=new OpenLayers.Control.Snapping({layer:this.editLayer,targets:[{layer:this.snappingLayer}]});this.snappingControl.activate();this.editLayer.onFeatureInsert=function(feature){this.validateFeature(feature);}.createDelegate(this);this.app.Map.addControl(this.editControl=new FGI.openlayers.CustomEditingToolbar(this.editLayer,{enabledControls:{POINT:true,LINESTRING:true,POLYGON:true,COORDINATE:true}}));$(this.editControl.controls[1].panel_div).bind('click',this,function(obj){obj.data.resetWizard();});this.app.Map.addControl(this.modifyControl=new OpenLayers.Control.ModifyFeature(this.editLayer,{clickout:false,multiple:false,toggle:false}));this.app.Map.addLayers([this.snappingLayer,this.editLayer]);this.editControl.moveTo({x:20,y:70});new Ext.ToolTip({target:$(".olControlNavigationItemActive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSite.pan_tooltip});new Ext.ToolTip({target:$(".olControlDrawFeaturePolygonItemInactive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSel.polygon_tooltip});new Ext.ToolTip({target:$(".olControlDrawFeaturePathItemInactive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSel.line_tooltip});new Ext.ToolTip({target:$(".olControlDrawFeaturePointItemInactive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSel.point_tooltip});new Ext.ToolTip({target:$(".olControlEnterCoordinatesItemInactive")[0],renderTo:document.body,html:MEGA.copy.Widgets.AddNewSiteElementWizard.create_from_coordinates});this.editControl.activate();this.editingModeAllowed();this.app.Map.events.register('zoomend',this,this.editingModeAllowed);this.userCoordinatesWidget=new MEGA.widgets.UserCoordinates({enabledTypes:{POINT:true,LINESTRING:true,POLYGON:true}});this.userCoordinatesWidget.on('submitcoordinates',function(coords,geomType,startProj){var geom=geomType.toUpperCase()+'('+coords+')';try{this.resetWizard();var transformedGeom=new OpenLayers.Format.WKT().read(geom);transformedGeom.geometry.transform(startProj,new OpenLayers.Projection("EPSG:900913"));if(geomType=="POLYGON"){if(this.app.Map.isPolygonValid(transformedGeom.geometry)){this.snappingLayer.destroyFeatures();this.editLayer.addFeatures(transformedGeom);}else{this.snappingLayer.destroyFeatures();Ext.each(transformedGeom.geometry.getVertices(),function(item,index,allItems){this.snappingLayer.addFeatures(new OpenLayers.Feature.Vector(item));},this);this.InfoBar.updateInformationMessage('<span style="font-weight:bold;" >'+this.Msgs.infoBarDefaultDraw+'<br><span style="padding-left: 2px;font-weight:bold;">Use the points on the map as a guide for drawing your polygon. '+this.Msgs.infoBarDefaultDoubleClick+'</span></span>');}}else{this.snappingLayer.destroyFeatures();this.editLayer.addFeatures(transformedGeom);}
var bounds=transformedGeom.geometry.getBounds();var zoom=this.app.Map.getZoomForExtent(bounds,false);this.app.Map.setCenter(bounds.getCenterLonLat(),Math.min(zoom,10));this.userCoordinatesWindow.hide();}catch(e){}},this);this.userCoordinatesWidget.on('cancel',function(){this.userCoordinatesWindow.hide();},this);this.editControl.getControlsByName('COORDINATE')[0].events.register('activate',this,function(){this.userCoordinatesWindow=new Ext.Window({layout:'fit',width:550,height:350,title:this.Msgs.userCoordWindowTitle,items:[this.userCoordinatesWidget],modal:true,draggable:false,resizable:false,closeAction:'hide'});this.userCoordinatesWindow.on('hide',function(){this.editControl.getControlsByName('COORDINATE')[0].deactivate();},this);this.userCoordinatesWindow.show();});MEGA.workflows.AddSiteElement.superclass.initComponent.apply(this,arguments);},hideEditControls:function(){$(".olControlNavigationItemActive").hide();$(".olControlNavigationItemInactive").hide();$(".olControlDrawFeaturePolygonItemInactive").hide();$(".olControlDrawFeaturePathItemInactive").hide();$(".olControlDrawFeaturePointItemInactive").hide();},showEditControls:function(){$(".olControlNavigationItemActive").show();$(".olControlNavigationItemInactive").show();$(".olControlDrawFeaturePolygonItemInactive").show();$(".olControlDrawFeaturePathItemInactive").show();$(".olControlDrawFeaturePointItemInactive").show();},resetWizard:function(){this.editLayer.destroyFeatures();this.InfoBar.setMode('draw_geom');},editingModeAllowed:function(){if(this.app.Map.zoom>5){this.showEditControls();this.modifyControl.activate();this.InfoBar.updateValidationMessage('');return true;}else{this.hideEditControls();this.modifyControl.deactivate();this.InfoBar.updateValidationMessage('<span style="font-weight:bold;" class="x-link-btn-text-icon error">'+this.Msgs.infoBarZoomIn+'</span>');return false;}},restoreAppState:function(){this.app.restoreState();this.InfoBarWindow.destroy();this.editControl.deactivate();for(var i in this.editControl.controls){this.app.Map.removeControl(this.editControl.controls[i]);}
this.app.Map.removeControl(this.editControl);this.app.Map.removeControl(this.modifyControl);this.app.Map.removeControl(this.snappingControl);this.app.Map.removeLayer(this.snappingLayer);this.app.Map.removeLayer(this.editLayer);this.app.Map.events.unregister('zoomend',this,this.editingModeAllowed);this.app.Map.getLayersByName('SiteElements')[0].refresh();this.app.Map.getLayersByName('SiteElements')[1].refresh();this.app.Map.getLayersByName('SiteElements')[2].refresh();this.destroy();},validateFeature:function(feature){var mask=new Ext.LoadMask(this.InfoBar.getEl(),{msg:MEGA.copy.Workflows.Validation.geomMask});mask.show();this.editControl.deactivate();Ext.Ajax.request({url:MEGA.config.Urls.ValidateSiteElementGeom,method:'POST',params:{geometry:feature.geometry.toString()},scope:this,success:function(response,options){mask.hide();var ro=Ext.decode(response.responseText);if(ro.success){this.InfoBar.updateValidationMessage('<span style="font-weight:bold;">'+this.Msgs.validationSuccess+'</span>');this.feature=feature;this.feature.governorate=ro.returnObj.governorate;this.feature.subgovernorate=ro.returnObj.subgovernorate;this.feature.district=ro.returnObj.district;this.InfoBar.setMode('review_geom');this.snappingLayer.destroyFeatures();this.snappingLayer.redraw();this.editControl.deactivate();this.modifyControl.selectControl.unselectAll();}else{if(ro.status_code==2){var message=ro.message!=undefined?MEGA.copy.Workflows.AddSel[ro.message]:this.Msgs.validationOverlap;this.InfoBar.updateValidationMessage('<span style="font-weight:bold;" class="x-link-btn-text-icon error">'+message+'</span>');}else{this.InfoBar.updateValidationMessage('<span style="font-weight:bold;" class="x-link-btn-text-icon error">'+this.Msgs.validationError+'</span>');}
this.modifyControl.selectControl.select(this.editLayer.features[0]);this.InfoBar.setMode('edit_geom');}},failure:function(response,options){mask.hide();Ext.MessageBox.alert(this.Msgs.error,this.Msgs.validationError);this.modifyControl.selectControl.select(this.editLayer.features[0]);this.InfoBar.setMode('edit_geom');}});},render:function(ct,position){Ext.apply(this,{el:this.renderTo||document.body});MEGA.workflows.AddSiteElement.superclass.render.apply(this,arguments);this.InfoBarWindow.anchorTo(this.app.Map.MapToolbar.id,'t-b');this.InfoBarWindow.show();},onRender:function(ct,position){}});Ext.namespace('MEGA','MEGA.workflows');MEGA.workflows.EditSiteElement=Ext.extend(Ext.Component,{app:null,siteid:null,selid:null,geometry:null,megakey:null,iscandidate:false,Msgs:{cancelWarn:MEGA.copy.Workflows.AddSel.cancelWarn,wizardWindowTitle:MEGA.copy.Workflows.EditSel.wizwin_title,validatingGeomMask:MEGA.copy.Workflows.Validation.geomMask,validationSuccess:MEGA.copy.Workflows.Validation.success,validationOverlap:MEGA.copy.Workflows.AddSel.validation_overlap,validationError:MEGA.copy.Workflows.AddSel.validation_error,error:MEGA.copy.Workflows.Validation.error,infoBarCancel:MEGA.copy.Widgets.InfoBar.cancel_btn,infoBarContinue:MEGA.copy.Workflows.AddSel.infoBar_continue_btn,infoBarEditGeom:MEGA.copy.Widgets.InfoBar.edit_geom_btn,infoBarFinishEdit:MEGA.copy.Widgets.InfoBar.finish_edit_btn,CandidateSiteElemlocked:MEGA.copy.Workflows.EditSel.lock_error},initComponent:function(){this.initUI();window.onbeforeunload=function(){this.unlock();}.createDelegate(this);if(this.iscandidate){MEGA.data.DAL.getRemoteData(MEGA.config.Urls.Candidate+'SiteElementInfo/'+this.selid,function(response,options){var candidateData=Ext.decode(response.responseText);if(candidateData.success){MEGA.data.Candidate.updateSelectedCandidate(candidateData.returnObj);this.geometry=MEGA.data.Candidate.selected.get("geometry");this.initSiteElementEditing();}else{if(candidateData.status_code==3){Ext.MessageBox.alert(MEGA.concurrency.Locked_title,MEGA.concurrency.SiteElem_Locked);this.InfoBarWindow.destroy();this.restoreAppState();}}},null,this);}
else{MEGA.data.DAL.getRemoteData(MEGA.config.Urls.SiteElement+this.selid,function(response,options){var selData=Ext.decode(response.responseText);if(selData.success){MEGA.data.SiteElement.updateSelectedSiteElement(selData.returnObj);this.geometry=MEGA.data.SiteElement.selected.get("geometry");this.initSiteElementEditing();}else{alert("oops....");}},null,this);}
MEGA.workflows.EditSiteElement.superclass.initComponent.apply(this,arguments);},initUI:function(){this.app.activeWorkflow='EditSiteElement';this.app.saveState();typeof MEGA.app.MapToolbar.TasksButton.window.el!="undefined"?this.app.MapToolbar.TasksButton.window.hide():null;typeof MEGA.app.MapToolbar.SearchButton.window.el!="undefined"?this.app.MapToolbar.SearchButton.window.hide():null;this.app.Map.getControlsByClass('OpenLayers.Control.PanZoomBar')[0].moveTo({x:4,y:70});this.InfoBar=new MEGA.widgets.InfoBar({scope:this,validationMessage:'',Msgs:{cancelBtn:this.Msgs.infoBarCancel,continueBtn:this.Msgs.infoBarContinue,editGeomBtn:this.Msgs.infoBarEditGeom,finishEditBtn:this.Msgs.infoBarFinishEdit}});this.InfoBar.setMode('edit_geom');this.InfoBar.cancelButton.handler=function(){this.InfoBarWindow.destroy();this.restoreAppState();}.createDelegate(this);this.InfoBar.editGeomButton.handler=function(){this.modifyControl.selectControl.select(this.editLayer.features[0]);this.InfoBar.setMode('edit_geom');}.createDelegate(this);this.InfoBar.finishEditButton.handler=function(){this.validateFeature(this.editLayer.features[0]);}.createDelegate(this);this.InfoBar.continueButton.handler=function(){this.editSiteElementWizard=new MEGA.widgets.editSiteElementWizard({feature:this.feature,siteid:this.siteid,selid:this.selid,iscandidate:this.iscandidate,megakey:this.megakey});this.editSiteElementWizard.on('formsuccessfullysubmitted',function(){if(this.iscandidate){MEGA.app.ReviewMegaFileWorkflow.refreshCandidateRecords();}
this.app.Map.getLayersByName('SiteElements')[2].controls[0].unselectAll();this.app.Map.getLayersByName('SiteElements')[0].refresh();this.app.Map.getLayersByName('SiteElements')[1].refresh();this.app.Map.getLayersByName('SiteElements')[2].refresh();},this);this.editSiteElementWizard.on('beforecancel',function(theForm){Ext.MessageBox.show({msg:this.Msgs.cancelWarn,fn:function(buttonId,text,opt){if(buttonId=='ok'){this.editSiteElementWizardWindow.close();}else{return false;}},scope:this,buttons:Ext.Msg.OKCANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING});return false;},this);this.editSiteElementWizardWindow=new Ext.Window({layout:'fit',width:720,height:550,title:'Edit Site Element',items:[this.editSiteElementWizard],modal:true,draggable:false,resizable:false});this.editSiteElementWizardWindow.show();this.editSiteElementWizardWindow.on('hide',this.restoreAppState,this);}.createDelegate(this);this.InfoBarWindow=new Ext.Window({layout:'fit',width:this.app.Viewport.getSize().width,resizable:false,closable:false,draggable:false,items:new Ext.Panel({tbar:this.InfoBar})});this.InfoBarWindow.show();this.InfoBarWindow.anchorTo(this.app.MapToolbar.id,'t-b');this.app.Viewport.on('resize',function(){this.InfoBarWindow.setWidth(this.app.Viewport.getSize().width);},this);},initSiteElementEditing:function(){this.editLayer=new OpenLayers.Layer.Vector("Editable");this.editLayer.projection=new OpenLayers.Projection("EPSG:4326");this.snappingLayer=new OpenLayers.Layer.Vector("Snapping",{styleMap:new OpenLayers.StyleMap({"default":new OpenLayers.Style({pointRadius:"6",fillColor:"#15428B",fillOpacity:1,strokeColor:"#15428B",strokeWidth:1,cursor:'pointer'})})});this.snappingControl=new OpenLayers.Control.Snapping({layer:this.editLayer,targets:[{layer:this.snappingLayer}]});this.snappingControl.activate();this.app.Map.addControl(this.editControl=new FGI.openlayers.CustomEditingToolbar(this.editLayer,{enabledControls:{POINT:true,LINESTRING:true,POLYGON:true,COORDINATE:true}}));this.app.Map.addLayers([this.snappingLayer,this.editLayer]);this.editControl.moveTo({x:20,y:70});new Ext.ToolTip({target:$(".olControlNavigationItemActive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSite.pan_tooltip});new Ext.ToolTip({target:$(".olControlDrawFeaturePolygonItemInactive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSel.polygon_tooltip});new Ext.ToolTip({target:$(".olControlDrawFeaturePathItemInactive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSel.line_tooltip});new Ext.ToolTip({target:$(".olControlDrawFeaturePointItemInactive")[0],renderTo:document.body,html:MEGA.copy.Workflows.AddSel.point_tooltip});new Ext.ToolTip({target:$(".olControlEnterCoordinatesItemInactive")[0],renderTo:document.body,html:MEGA.copy.Widgets.AddNewSiteElementWizard.create_from_coordinates});this.editLayer.addFeatures(new OpenLayers.Format.WKT().read(this.geometry));this.editLayer.onFeatureInsert=function(feature){this.validateFeature(feature);}.createDelegate(this);this.modifyControl=new OpenLayers.Control.ModifyFeature(this.editLayer,{clickout:false,multiple:false,toggle:false});this.app.Map.addControl(this.modifyControl);this.app.Map.zoomToExtent(this.app.Map.getLayersByName("Editable")[0].getDataExtent());this.app.Map.zoomOut()
this.modifyControl.selectControl.select(this.editLayer.features[0]);this.InfoBar.setMode('edit_geom');var geom=new OpenLayers.Format.WKT().read(this.editLayer.features[0].geometry.toString());geom.geometry.transform(new OpenLayers.Projection("EPSG:900913"),new OpenLayers.Projection("EPSG:4326"));var coords=geom.geometry.toString().split('(')[1];if(coords==""){coords=geom.geometry.toString().split('(')[2];}
coords=coords.split(')')[0];this.userCoordinatesWidget=new MEGA.widgets.UserCoordinates({defaultValue:coords,enabledTypes:{POINT:true,LINESTRING:true,POLYGON:true}});this.userCoordinatesWidget.on('submitcoordinates',function(coords,geomType,startProj){var geom=geomType.toUpperCase()+'('+coords+')';try{var transformedGeom=new OpenLayers.Format.WKT().read(geom);transformedGeom.geometry.transform(startProj,new OpenLayers.Projection("EPSG:900913"));if(geomType=="POLYGON"){if(this.app.Map.isPolygonValid(transformedGeom.geometry)){this.snappingLayer.destroyFeatures();this.editLayer.destroyFeatures();this.editLayer.addFeatures(transformedGeom);var bounds=transformedGeom.geometry.getBounds();}else{this.snappingLayer.destroyFeatures();Ext.each(transformedGeom.geometry.getVertices(),function(item,index,allItems){this.snappingLayer.addFeatures(new OpenLayers.Feature.Vector(item));},this);this.InfoBar.updateValidationMessage('');this.InfoBar.updateInformationMessage('<span style="font-weight:bold;" ><br><span style="padding-left: 2px;font-weight:bold;">Use the points on the map as a guide for drawing your polygon. </span></span>');var bounds=this.snappingLayer.getDataExtent()}}else{this.snappingLayer.destroyFeatures();this.editLayer.destroyFeatures();this.editLayer.addFeatures(transformedGeom);var bounds=transformedGeom.geometry.getBounds();}
var zoom=this.app.Map.getZoomForExtent(bounds,false);this.app.Map.setCenter(bounds.getCenterLonLat(),Math.min(zoom,10));this.userCoordinatesWindow.hide();}catch(e){}},this);this.userCoordinatesWidget.on('cancel',function(){this.userCoordinatesWindow.hide();},this);this.editControl.getControlsByName('COORDINATE')[0].events.register('activate',this,function(){this.userCoordinatesWindow=new Ext.Window({layout:'fit',width:550,height:350,title:this.Msgs.userCoordWindowTitle,items:[this.userCoordinatesWidget],modal:true,draggable:false,resizable:false,closeAction:'hide'});this.userCoordinatesWindow.on('hide',function(){this.editControl.getControlsByName('COORDINATE')[0].deactivate();},this);this.userCoordinatesWindow.show();});this.editControl.getControlsByName('POLYGON')[0].events.register('activate',this,function(){this.editLayer.destroyFeatures();});this.editControl.getControlsByName('POINT')[0].events.register('activate',this,function(){this.editLayer.destroyFeatures();});this.editControl.getControlsByName('LINESTRING')[0].events.register('activate',this,function(){this.editLayer.destroyFeatures();});},restoreAppState:function(){this.app.restoreState();this.InfoBarWindow.destroy();this.editControl.deactivate();this.app.Map.removeControl(this.modifyControl);this.app.Map.removeControl(this.editControl);this.app.Map.removeLayer(this.editLayer);this.app.Map.removeLayer(this.snappingLayer);this.app.Map.getLayersByName('SiteElements')[2].controls[0].unselectAll();this.app.Map.getLayersByName('SiteElements')[0].refresh();this.app.Map.getLayersByName('SiteElements')[1].refresh();this.app.Map.getLayersByName('SiteElements')[2].refresh();window.onbeforeunload=function(){};this.unlock();this.destroy();},unlock:function(){if(this.editSiteElementWizardWindow==null||this.editSiteElementWizardWindow.isLocked){Ext.Ajax.request({url:this.iscandidate?MEGA.config.Urls.Candidate+'SiteElementUnLock/'+this.siteid:MEGA.config.Urls.UnLockSiteElement+this.megakey,scope:this,success:function(result,options){var ret=Ext.decode(result.responseText);if(!ret.success==true){}}.createDelegate(this),failure:function(result){}.createDelegate(this)});}},validateFeature:function(feature){var mask=new Ext.LoadMask(this.InfoBar.getEl(),{msg:this.Msgs.validatingGeomMask});this.editControl.deactivate();mask.show();var url=MEGA.config.Urls.ValidateSiteElementGeom+'?iscandidate='+this.iscandidate+'&siteid='+this.siteid+'&selid='+this.selid+'&megakey='+this.megakey;Ext.Ajax.request({url:url,method:'POST',params:{geometry:feature.geometry.toString()},scope:this,success:function(response,options){mask.hide();var ro=Ext.decode(response.responseText);if(ro.success){this.InfoBar.updateValidationMessage('<span style="font-weight:bold;">'+this.Msgs.validationSuccess+'</span>');this.feature=feature;this.feature.governorate=ro.returnObj.governorate;this.feature.subgovernorate=ro.returnObj.subgovernorate;this.feature.district=ro.returnObj.district;this.InfoBar.setMode('review_geom');this.modifyControl.selectControl.unselectAll();}else{if(ro.status_code==2){var message=ro.message!=undefined?MEGA.copy.Workflows.AddSel[ro.message]:this.Msgs.validationOverlap;this.InfoBar.updateValidationMessage('<span style="font-weight:bold;" class="x-link-btn-text-icon error">'+message+'</span>');}else if(ro.status_code==3){this.InfoBar.updateValidationMessage('<span style="font-weight:bold;" class="x-link-btn-text-icon error">'+this.Msgs.CandidateSiteElemlocked+'</span>');}else{this.InfoBar.updateValidationMessage('<span style="font-weight:bold;" class="x-link-btn-text-icon error">'+this.Msgs.validationError+'</span>');}
this.modifyControl.selectControl.select(this.editLayer.features[0]);this.InfoBar.setMode('edit_geom');}},failure:function(response,options){mask.hide();Ext.MessageBox.alert(this.Msgs.error,this.Msgs.validationError);this.modifyControl.selectControl.select(this.editLayer.features[0]);this.InfoBar.setMode('edit_geom');}});},render:function(ct,position){Ext.apply(this,{el:this.renderTo||document.body});MEGA.workflows.EditSiteElement.superclass.render.apply(this,arguments);this.InfoBarWindow.anchorTo(this.app.Map.MapToolbar.id,'t-b');this.InfoBarWindow.show();},onRender:function(ct,position){}});Ext.namespace('MEGA','MEGA.workflows');MEGA.workflows.AddMonitoringEvent=Ext.extend(Ext.Component,{app:null,megakey:null,Msgs:{wizardWindowTitle:MEGA.copy.Workflows.AddNewMonitoringEvent.window_title},initComponent:function(){this.app.activeWorkflow='AddMonitoringEvent';this.app.saveState();typeof MEGA.app.MapToolbar.TasksButton.window.el!="undefined"?this.app.MapToolbar.TasksButton.window.hide():null;typeof MEGA.app.MapToolbar.SearchButton.window.el!="undefined"?this.app.MapToolbar.SearchButton.window.hide():null;this.addNewMonitoringEventWizard=new MEGA.widgets.addNewMonitoringEventWizard({megakey:this.megakey});this.addNewMonitoringEventWizardWindow=new Ext.Window({layout:'fit',width:720,height:550,title:this.Msgs.wizardWindowTitle,items:[this.addNewMonitoringEventWizard],modal:true,draggable:false,resizable:false});this.addNewMonitoringEventWizardWindow.show();this.addNewMonitoringEventWizardWindow.on('hide',this.restoreAppState,this);MEGA.workflows.AddMonitoringEvent.superclass.initComponent.apply(this,arguments);},restoreAppState:function(){this.app.restoreState();this.destroy();},render:function(ct,position){Ext.apply(this,{el:this.renderTo||document.body});MEGA.workflows.AddMonitoringEvent.superclass.render.apply(this,arguments);},onRender:function(ct,position){}});Ext.namespace('MEGA','MEGA.workflows');MEGA.workflows.EditMonitoringEvent=Ext.extend(Ext.Component,{app:null,megakey:null,mongid:null,Msgs:{wizardWindowTitle:MEGA.copy.Workflows.EditMonitoringEvent.window_title},initComponent:function(){this.app.activeWorkflow='EditMonitoringEvent';this.app.saveState();typeof MEGA.app.MapToolbar.TasksButton.window.el!="undefined"?this.app.MapToolbar.TasksButton.window.hide():null;typeof MEGA.app.MapToolbar.SearchButton.window.el!="undefined"?this.app.MapToolbar.SearchButton.window.hide():null;this.editMonitoringEventWizard=new MEGA.widgets.EditMonitoringEventWizard({megakey:this.megakey,mongid:this.mongid});this.editMonitoringEventWizardWindow=new Ext.Window({layout:'fit',width:720,height:550,title:this.Msgs.wizardWindowTitle,items:[this.editMonitoringEventWizard],modal:true,draggable:false,resizable:false});this.editMonitoringEventWizardWindow.show();this.editMonitoringEventWizardWindow.on('hide',this.restoreAppState,this);MEGA.workflows.EditMonitoringEvent.superclass.initComponent.apply(this,arguments);},restoreAppState:function(){this.app.restoreState();this.destroy();},render:function(ct,position){Ext.apply(this,{el:this.renderTo||document.body});MEGA.workflows.EditMonitoringEvent.superclass.render.apply(this,arguments);},onRender:function(ct,position){}});Ext.namespace('MEGA','MEGA.workflows');MEGA.workflows.AddReference=Ext.extend(Ext.Component,{app:null,title:'',citationGid:'',nestedWorkflow:false,initComponent:function(){this.addReferenceWizard=new MEGA.widgets.addNewReferenceWizard({nestedWorkflow:this.nestedWorkflow,citationGid:this.citationGid});this.addReferenceWizardWindow=new Ext.Window({layout:'fit',width:720,height:550,title:this.title,items:[this.addReferenceWizard],modal:true,draggable:false,resizable:false});this.addReferenceWizardWindow.show();MEGA.workflows.AddReference.superclass.initComponent.apply(this,arguments);},render:function(ct,position){Ext.apply(this,{el:this.renderTo||document.body});MEGA.workflows.AddReference.superclass.render.apply(this,arguments);},onRender:function(ct,position){}});Ext.namespace('MEGA','MEGA.workflows');MEGA.workflows.EditReference=Ext.extend(Ext.Component,{app:null,citgid:null,nestedWorkflow:false,initComponent:function(){this.editReferenceWizard=new MEGA.widgets.EditReferenceWizard({citgid:this.citgid,nestedWorkflow:this.nestedWorkflow});this.editReferenceWizardWindow=new Ext.Window({layout:'fit',width:720,height:550,title:'Edit Bibliographic Reference',items:[this.editReferenceWizard],modal:true,draggable:false,resizable:false});this.editReferenceWizardWindow.show();MEGA.workflows.EditReference.superclass.initComponent.apply(this,arguments);},render:function(ct,position){Ext.apply(this,{el:this.renderTo||document.body});MEGA.workflows.EditReference.superclass.render.apply(this,arguments);},onRender:function(ct,position){}});Ext.namespace('MEGA','MEGA.workflows');MEGA.workflows.AddPhotos=Ext.extend(Ext.Component,{app:null,mongid:null,megakey:null,initComponent:function(){this.app.activeWorkflow='AddPhotos';this.app.saveState();typeof MEGA.app.MapToolbar.TasksButton.window.el!="undefined"?this.app.MapToolbar.TasksButton.window.hide():null;typeof MEGA.app.MapToolbar.SearchButton.window.el!="undefined"?this.app.MapToolbar.SearchButton.window.hide():null;this.addPhotosWizard=new FGI.widgets.PhotoUpload({mongid:this.mongid,megakey:this.megakey,uploadParams:{'mongid':this.mongid,'megakey':this.megakey},uploadUrl:MEGA.config.Urls.UploadFiles,updateCaptionParams:{'mongid':this.mongid,'megakey':this.megakey},updateCaptionUrl:MEGA.config.Urls.UpdateCaptions,uploadStepTitle:MEGA.copy.Workflows.AddPhotos.upload_photos,addCaptionsStepTitle:MEGA.copy.Workflows.AddPhotos.add_captions,photosToAddMsg:MEGA.copy.Workflows.AddPhotos.photos_to_add_msg,statusHeader:MEGA.copy.Workflows.AddPhotos.status,fileNameHeader:MEGA.copy.Workflows.AddPhotos.file_name,filesToLoadMsg:MEGA.copy.Workflows.AddPhotos.files_to_load,loadingFile:MEGA.copy.Workflows.AddPhotos.loading_file,loadingFileOf:MEGA.copy.Workflows.AddPhotos.loading_file_of,browseBtnText:MEGA.copy.app.browse,uploadBtnText:MEGA.copy.app.upload,uploadComplete:MEGA.copy.Workflows.AddPhotos.upload_complete,removeHeader:MEGA.copy.Workflows.Forms.remove,validExtensions:['jpg','tif','tiff','bmp','gif','pdf','JPG','TIF','TIFF','BMP','GIF','PDF'],invalidFileTitle:MEGA.copy.Workflows.AddPhotos.invalidFileTitle,invalidFileMsg:MEGA.copy.Workflows.AddPhotos.invalidFileMsg,submitFileMsg:MEGA.copy.Workflows.AddPhotos.submitFileMsg,uploadFailureMsg:MEGA.copy.Workflows.AddPhotos.uploadFailureMsg,uploadMask:FGI.copy.widgets.EditPhotos.upload_photo_captions_desc});this.addPhotosWizardWindow=new Ext.Window({layout:'fit',width:720,height:550,title:MEGA.copy.Workflows.AddPhotos.wizard_title,items:[this.addPhotosWizard],modal:true,draggable:false,resizable:false});this.addPhotosWizardWindow.show();this.addPhotosWizardWindow.on('hide',this.restoreAppState,this);MEGA.workflows.AddPhotos.superclass.initComponent.apply(this,arguments);},restoreAppState:function(){this.app.restoreState();this.destroy();},render:function(ct,position){Ext.apply(this,{el:this.renderTo||document.body});MEGA.workflows.AddPhotos.superclass.render.apply(this,arguments);},onRender:function(ct,position){}});Ext.namespace('MEGA','MEGA.workflows');MEGA.workflows.EditPhotos=Ext.extend(Ext.Component,{app:null,mongid:null,megakey:null,initComponent:function(){this.app.activeWorkflow='EditPhotos';this.app.saveState();typeof MEGA.app.MapToolbar.TasksButton.window.el!="undefined"?this.app.MapToolbar.TasksButton.window.hide():null;typeof MEGA.app.MapToolbar.SearchButton.window.el!="undefined"?this.app.MapToolbar.SearchButton.window.hide():null;this.editPhotosWizard=new FGI.widgets.EditPhotos({mongid:this.mongid,megakey:this.megakey,getPhotosUrl:MEGA.config.Urls.GetPhotos+this.mongid,getPhotosParams:{mongid:this.mongid,megakey:this.megakey},updatePhotosParams:{mongid:this.mongid,megakey:this.megakey},updatePhotosUrl:MEGA.config.Urls.EditPhotos,submitBtnText:MEGA.copy.Workflows.Wizards.submit_btn_text,title:''});this.editPhotosWizardWindow=new Ext.Window({layout:'fit',title:MEGA.copy.app.edit+' '+MEGA.copy.Widgets.PhotoViewer.photos_and_pdfs,width:722,height:500,items:[this.editPhotosWizard],modal:true,draggable:false,resizable:false});this.editPhotosWizardWindow.show();this.editPhotosWizardWindow.on('hide',this.restoreAppState,this);MEGA.workflows.EditPhotos.superclass.initComponent.apply(this,arguments);},restoreAppState:function(){this.app.restoreState();this.destroy();},render:function(ct,position){Ext.apply(this,{el:this.renderTo||document.body});MEGA.workflows.EditPhotos.superclass.render.apply(this,arguments);},onRender:function(ct,position){}});Ext.namespace('MEGA','MEGA.workflows');MEGA.workflows.ReviewMegaFile=Ext.extend(Ext.Component,{app:null,megaFileId:null,active:true,initComponent:function(){this.CandidateLayerName='Candidates';this.initUI();this.loadCandidateRecords();this.addCandidateLegend();this.app.Map.addControl(this.candidateCentroidSelector);this.candidateCentroidSelector.activate();MEGA.workflows.ReviewMegaFile.superclass.initComponent.apply(this,arguments);},initUI:function(){this.app.MapToolbar.CandidateList.Expander.on('afterload',function(response,options,Expander,record,body,rowIndex){var candidateData=Ext.decode(response.responseText);if(candidateData.success){MEGA.data.Candidate.updateSelectedCandidate(candidateData.returnObj);var expandTpl=MEGA.data.Candidate.getExpandTemplate(this.app.User.username?true:false);content=expandTpl.applyTemplate(MEGA.data.Candidate.selected.data);this.app.MapToolbar.CandidateList.Expander.setBodyContent(content,body,record);}},this);this.app.Map.addLayers([this.initCandidateFeatureLayer(this.megaFileId)]);this.app.MapToolbar.CandidateList.setSearchType('candidate');this.app.MapToolbar.CandidateList.on('afterupdate',this.addCandidateResultsMarkers,this);this.app.MapToolbar.CandidateList.on('hide',function(){this.restoreAppState();},this);},loadCandidateRecords:function(){this.app.MapToolbar.CandidateList.doSearch(MEGA.config.Urls.CandidateSearch+'megafileid='+this.megaFileId);this.app.MapToolbar.CandidateList.show();this.app.MapToolbar.TasksPanel.doLayout();},initCandidateFeatureLayer:function(megafileid){var myCandidateSiteCentroidStyle=new OpenLayers.StyleMap({"default":new OpenLayers.Style({pointRadius:"6",fillColor:"#F5B729",fillOpacity:.5,strokeColor:"#A87D1C",strokeWidth:1,cursor:'pointer'}),"select":new OpenLayers.Style({fillOpacity:.5,fillColor:"#7CCD4E",strokeOpacity:.8,strokeColor:"#7CCD4E",strokeWidth:3}),"temporary":new OpenLayers.Style({fillOpacity:.5,fillColor:"#235CDA",strokeOpacity:.8,strokeColor:"#235CDA",strokeWidth:3})});this.candidateFeatureLayer=new FGI.openlayers.SmartWFS(this.CandidateLayerName,'Candidate/MegaFileCandidates?megafileid='+megafileid,{maxfeatures:1000},{projection:new OpenLayers.Projection("EPSG:4326"),styleMap:myCandidateSiteCentroidStyle,format:OpenLayers.Format.SimpleJSONFormat,featureIdFieldName:'id',extractAttributes:true,visibility:true});this.candidateCentroidSelector=new FGI.openlayers.ClickAndHighlightFeature(this.candidateFeatureLayer,{showTip:true,hoverTipFieldName:'name',zoomOnClick:false,clickFeature:function(feature){}});return this.candidateFeatureLayer;},showCandidateBuffer:function(buffer){var bufferLayer=this.app.Map.getLayersByName('SiteBuffers')[0];var geometry=new OpenLayers.Format.WKT().read(buffer).geometry;var feature=new OpenLayers.Format.WKT().read(geometry);bufferLayer.destroyFeatures();bufferLayer.addFeatures(feature);},addCandidateResultsMarkers:function(searchType,searchData){this.candidatemarker_layer=this.app.Map.getLayersByName('CandidateMarkers')[0];this.candidatemarker_layer.clearMarkers();if(searchData.length==0){this.restoreAppState();}else{var fieldId='id';size=new OpenLayers.Size(32,37);calculateOffset=function(size){return new OpenLayers.Pixel(-(size.w/2),-size.h);};icon=new OpenLayers.Icon(MEGA.config.Urls.SiteIcon,size,null,calculateOffset);this.candidatemarker_layer.setVisibility(true);this.app.Map.setLayerZIndex(this.candidatemarker_layer,1000)
var searchedFeatures=[];Ext.each(searchData.items,function(item,index,allItems){var geom=new OpenLayers.Format.WKT().read(item.data.centroid).geometry;geom.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"));var lonLat=new OpenLayers.LonLat(geom.x,geom.y);var marker=new FGI.openlayers.SmartMarker(lonLat,icon.clone(),item.data,fieldId);marker.events.on({"mouseover":function(a){var div=a.element;var marker=a.object;this.app.markerOnMouseOver(marker);Ext.each(this.app.MapToolbar.CandidateList.store.data.items,function(item,index,allItems){if(marker.data[marker.idField]==this.app.MapToolbar.CandidateList.store.data.items[index].data[fieldId]){this.app.MapToolbar.CandidateList.view.addRowClass(index,"x-grid3-row-over");var postition=this.app.Map.getPixelFromLonLat(marker.lonlat);this.candidatemarker_layer.hoverTip.setTitle(marker.data.name==null?marker.data.elemcodedesc:marker.data.name);this.candidatemarker_layer.hoverTip.setPosition(postition.x+10,postition.y+-30);this.candidatemarker_layer.hoverTip.show();}},this);},"mouseout":function(a){var div=a.element;var marker=a.object;this.app.markerOnMouseOut(marker);Ext.each(this.app.MapToolbar.CandidateList.store.data.items,function(item,index,allItems){if(marker.data[marker.idField]==this.app.MapToolbar.CandidateList.store.data.items[index].data[fieldId]){this.app.MapToolbar.CandidateList.view.removeRowClass(index,"x-grid3-row-over");this.candidatemarker_layer.hoverTip.hide();}},this);},scope:this});this.candidatemarker_layer.addMarker(marker);},this);}},addCandidateLegend:function(){this.app.MapToolbar.Legend.addLegendItem({name:MEGA.copy.Widgets.Candidates.title,group:'MEGA',layer:'Candidates',legend_url:'legend.png',desc:'Candidate features',metadata:'some metadata....',mode:'auto'},0);},restoreAppState:function(){this.candidateCentroidSelector.destroy();this.candidateFeatureLayer.destroy(false);this.app.MapToolbar.Legend.removeLegendItemByName('Candidates');this.candidatemarker_layer.clearMarkers();this.active=false;},deletecandidate:function(id,featuretype){Ext.MessageBox.show({msg:MEGA.copy.Widgets.Candidates.deleteConfirm,fn:function(buttonId,text,opt){if(buttonId=='ok'){Ext.Ajax.request({url:MEGA.config.Urls.DeleteCandidate,scope:this,params:{'id':id+'-'+featuretype},success:function(result,options){var ret=Ext.decode(result.responseText);if(ret.success==true){this.refreshCandidateRecords();}
else{if(ret.status_code==3){if(ret.returnObj.name=="Site"){Ext.MessageBox.alert(MEGA.concurrency.Locked_title,MEGA.concurrency.Site_Locked);}
else{Ext.MessageBox.alert(MEGA.concurrency.Locked_title,MEGA.concurrency.SiteElem_Locked);}}
else{Ext.MessageBox.alert(ret.message);}}}.createDelegate(this),failure:function(result){Ext.Msg.alert('The candidate was not deleted');}.createDelegate(this)});}else{return false;}},scope:this,buttons:Ext.Msg.OKCANCEL,animEl:'elId',icon:Ext.MessageBox.WARNING});},refreshCandidateRecords:function(){this.app.Map.getLayersByName(this.CandidateLayerName)[0].refresh();this.loadCandidateRecords();}});Ext.namespace('FGI','FGI.widgets','FGI.config','MEGA','MEGA.widgets','MEGA.config');Ext.apply(Ext.form.VTypes,{daterange2:function(val,field){var date=field.parseDate(val);if(!date){return;}
if(field.startDateField&&(!this.dateRangeMax||(date.getTime()!=this.dateRangeMax.getTime()))){var start=Ext.getCmp(field.startDateField);start.setMaxValue(date);start.validate();this.dateRangeMax=date;}
else if(field.endDateField&&(!this.dateRangeMin||(date.getTime()!=this.dateRangeMin.getTime()))){var end=Ext.getCmp(field.endDateField);if(end!=undefined){end.setMinValue(date);end.validate();}
this.dateRangeMin=date;}
return true;}});MEGA.widgets.MegafilesViewer=Ext.extend(Ext.Window,{text:{windowTitle:MEGA.copy.Widgets.MegafilesViewer.windowTitle,megaFileName:MEGA.copy.Widgets.MegafilesViewer.megaFileName,countOfSites:MEGA.copy.Widgets.MegafilesViewer.countOfSites,countOfSiteElements:MEGA.copy.Widgets.MegafilesViewer.countOfSiteElements,dateUploaded:MEGA.copy.Widgets.MegafilesViewer.dateUploaded,contributor:MEGA.copy.Widgets.MegafilesViewer.contributor,from:MEGA.copy.Widgets.AdvancedSearch.mon_event_from,to:MEGA.copy.Widgets.AdvancedSearch.mon_event_to,search:MEGA.copy.Widgets.MegafilesViewer.search,error:MEGA.copy.app.error,invalidDateRange:MEGA.copy.app.invalidDateRange},url:'',dateformatting:function(v,record){return Ext.decode((record.uploadeddate).replace(new RegExp('/Date\\((-?[0-9]+)\\)/','g'),"new Date($1)"));},initComponent:function(){this.title=this.text.windowTitle;this.store=new Ext.data.GroupingStore({url:this.url,autoLoad:true,sortInfo:{field:'uploadeddate',direction:'DESC'},groupField:'contributer',reader:new Ext.data.JsonReader({root:'returnObj',fields:[{name:'megafilename'},{name:'contributer'},{name:'sitecount'},{name:'siteelementcount'},{name:'id'},{name:'uploadeddate',convert:this.dateformatting,type:'Date'}]})});this.grid=new Ext.grid.GridPanel({store:this.store,loadMask:true,viewConfig:{forceFit:true},columns:[{header:this.text.megaFileName,width:30,dataIndex:'megafilename',sortable:true},{header:this.text.countOfSites,width:15,dataIndex:'sitecount',sortable:true},{header:this.text.countOfSiteElements,width:18,dataIndex:'siteelementcount',sortable:true},{header:this.text.dateUploaded,width:20,renderer:Ext.util.Format.dateRenderer('F j, Y, g:i a'),dataIndex:'uploadeddate',sortable:true},{header:this.text.contributor,width:40,dataIndex:'contributer',sortable:true,visible:false}],view:new Ext.grid.GroupingView({forceFit:true,groupTextTpl:'{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Files" : "File"]})',hideGroupedColumn:true}),autoWidth:true,selModel:new Ext.grid.RowSelectionModel({singleSelect:true,listeners:{'rowselect':{fn:function(model,index,record){if(typeof MEGA.app.ReviewMegaFileWorkflow=="object"){MEGA.app.ReviewMegaFileWorkflow.restoreAppState();delete(MEGA.app.ReviewMegaFileWorkflow);}
MEGA.app.ReviewMegaFileWorkflow=new MEGA.workflows.ReviewMegaFile({app:MEGA.app,megaFileId:record.data.id});this.hide();},scope:this}}}),tbar:new Ext.Toolbar({items:['<span style="color:#15428b; font:bold 11px tahoma,arial,verdana,sans-serif; padding-left:10px;">'+this.text.from+': </span>',{id:'megaflstartdt',name:'megaflstartdt',width:140,allowBlank:true,vtype:'daterange2',endDateField:'megaflenddt',xtype:'datefield',format:'d/m/Y',altFormats:'d/m/Y|d.m.Y|d-m-Y|F j, Y|j/n/Y|d/n/Y|j/m/Y|j.n.Y|d.n.Y|j.m.Y|j-n-Y|d-n-Y|j-m-Y'},'<span style="color:#15428b; font:bold 11px tahoma,arial,verdana,sans-serif; padding-left:10px;">'+this.text.to+': </span>',{id:'megaflenddt',name:'megaflenddt',width:140,allowBlank:true,vtype:'daterange2',startDateField:'megaflstartdt',xtype:'datefield',format:'d/m/Y',altFormats:'d/m/Y|d.m.Y|d-m-Y|F j, Y|j/n/Y|d/n/Y|j/m/Y|j.n.Y|d.n.Y|j.m.Y|j-n-Y|d-n-Y|j-m-Y'},'<span style="color:#15428b; font:bold 11px tahoma,arial,verdana,sans-serif; padding-left:10px;"></span>',this.generateButton=new Ext.Button({id:'generateButton',iconCls:'icon-save-edits',text:this.text.search,handler:function(){if(Ext.getCmp("megaflstartdt").isValid()&&Ext.getCmp("megaflenddt").isValid()){var megaflstartdt=Ext.get("megaflstartdt").dom.value;var megaflenddt=Ext.get("megaflenddt").dom.value;this.grid.store.proxy.conn.url=MEGA.config.Urls.UploadedMegaFiles+'?startdate='+megaflstartdt+'&enddate='+megaflenddt;this.grid.store.load();}
else{Ext.MessageBox.alert(this.text.error,this.text.invalidDateRange);}},scope:this}),{xtype:'tbfill'}]})});Ext.apply(this,{modal:true,layout:'fit',height:Ext.lib.Dom.getViewHeight()-200,width:Ext.lib.Dom.getViewWidth()-320,items:[this.grid]});MEGA.widgets.MegafilesViewer.superclass.initComponent.call(this);}});Ext.namespace('MEGA','MEGA.workflows');MEGA.workflows.ViewPhotos=Ext.extend(Ext.Component,{app:null,mongid:null,megakey:null,initComponent:function(){this.app.activeWorkflow='ViewPhotos';this.app.saveState();typeof MEGA.app.MapToolbar.TasksButton.window.el!="undefined"?this.app.MapToolbar.TasksButton.window.hide():null;typeof MEGA.app.MapToolbar.SearchButton.window.el!="undefined"?this.app.MapToolbar.SearchButton.window.hide():null;this.viewPhotosWizard=new MEGA.widgets.PhotoViewer({mongid:this.mongid,megakey:this.megakey,getPhotosParams:{'mongid':this.mongid,'megakey':this.megakey},getPhotosUrl:MEGA.config.Urls.GetPhotos+this.mongid});this.viewPhotosWizardWindow=new Ext.Window({layout:'fit',width:720,height:550,items:[this.viewPhotosWizard],modal:true,draggable:false,resizable:false});this.viewPhotosWizardWindow.show();this.viewPhotosWizardWindow.on('hide',this.restoreAppState,this);MEGA.workflows.ViewPhotos.superclass.initComponent.apply(this,arguments);},restoreAppState:function(){this.app.restoreState();this.destroy();},render:function(ct,position){Ext.apply(this,{el:this.renderTo||document.body});MEGA.workflows.ViewPhotos.superclass.render.apply(this,arguments);},onRender:function(ct,position){}});Ext.namespace('MEGA','MEGA.workflows');MEGA.workflows.IdentifySurveys=Ext.extend(Ext.Component,{app:null,endWorkflow:true,clickActive:false,initComponent:function(){this.initUI();MEGA.workflows.IdentifySurveys.superclass.initComponent.apply(this,arguments);},initUI:function(){this.app.activeWorkflow='IdentifySurveys';this.app.saveState();typeof MEGA.app.MapToolbar.TasksButton.window.el!="undefined"?this.app.MapToolbar.TasksButton.window.hide():null;typeof MEGA.app.MapToolbar.SearchButton.window.el!="undefined"?this.app.MapToolbar.SearchButton.window.hide():null;this.app.Map.getControlsByClass('OpenLayers.Control.PanZoomBar')[0].moveTo({x:4,y:70});this.InfoBar=new MEGA.widgets.InfoBar({scope:this,informationMessage:'',validationMessage:'<div style="font-weight:bold; height: 20px; padding-top:10px;" >Click on the map to view survey info</div>'});this.InfoBar.setMode('identify');this.InfoBarWindow=new Ext.Window({layout:'fit',width:this.app.Viewport.getSize().width,resizable:false,closable:false,draggable:false,items:new Ext.Panel({tbar:this.InfoBar})});this.InfoBarWindow.show();this.InfoBarWindow.anchorTo(this.app.MapToolbar.id,'t-b');this.app.Viewport.on('resize',function(){this.InfoBarWindow.setWidth(this.app.Viewport.getSize().width);},this);Ext.each(this.app.Map.getControlsByClass('OpenLayers.Control.ClickAndHighlightFeature'),function(item){item.deactivate();},this);this.featureRecord=Ext.data.Record.create([{name:'sur_survey_gid'},{name:'sur_name_english'},{name:'sur_coverage'},{name:'sur_entry_date'},{name:'sur_entry_time'},{name:'sur_qc_status'},{name:'sur_gmsrc_code'},{name:'geometry'}]);this.featureStore=new Ext.data.Store({reader:new Ext.data.JsonReader({record:"data"},this.featureRecord)});this.grid=new Ext.grid.GridPanel({store:this.featureStore,loadMask:true,viewConfig:{forceFit:true},columns:[{header:"Name",width:100,dataIndex:'sur_name_english',sortable:true}],autoWidth:true,selModel:new Ext.grid.RowSelectionModel({singleSelect:true})});this.popup=new GeoExt.Popup({title:'Identify Surveys',lonlat:new OpenLayers.LonLat(),width:300,height:150,items:[this.grid],collapsible:false,unpinnable:false,autoScroll:true,layout:'fit',map:this.app.Map,closeAction:'close',anchored:true,listeners:{'close':{fn:function(){this.restoreAppState();},scope:this}}});this.app.Map.events.register('click',this,this.clickHandler);},clickHandler:function(e){if(!this.clickActive){this.clickActive=true;this.featureStore.removeAll();var lonlat=this.app.Map.getLonLatFromPixel(e.xy);this.popup.feature=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat));this.popup.show();var mask=new Ext.LoadMask(this.grid.getEl());mask.show();var params={REQUEST:"GetFeatureInfo",EXCEPTIONS:"application/vnd.ogc.se_xml",BBOX:this.app.Map.getExtent().toBBOX(),X:e.xy.x,Y:e.xy.y,INFO_FORMAT:'application/vnd.ogc.gml',QUERY_LAYERS:this.app.Map.getLayersByName('Surveys')[0].params.LAYERS,FEATURE_COUNT:50,Srs:'EPSG:900913',Layers:this.app.Map.getLayersByName('Surveys')[0].params.LAYERS,Styles:'',WIDTH:this.app.Map.size.w,HEIGHT:this.app.Map.size.h,format:'image/png'};Ext.Ajax.request({url:"proxy/geoserver",params:params,method:'GET',success:function(response){var data=new OpenLayers.Format.GML().read(response.responseText);Ext.each(data,function(item,index,allItems){item.data.geometry=item.geometry;this.featureStore.add(new this.featureRecord(item.data));},this);mask.hide();this.clickActive=false;}.createDelegate(this),failure:function(response){mask.hide();this.clickActive=false;}.createDelegate(this)});}
OpenLayers.Event.stop(e);},restoreAppState:function(){if(this.popup!=undefined){this.popup.close();}
this.InfoBarWindow.close();Ext.each(this.app.Map.getControlsByClass('OpenLayers.Control.ClickAndHighlightFeature'),function(item){item.activate();},this);this.app.Map.events.unregister('click',this,this.clickHandler);this.app.restoreState();this.destroy();},render:function(ct,position){Ext.apply(this,{el:this.renderTo||document.body});MEGA.workflows.IdentifySurveys.superclass.render.apply(this,arguments);},onRender:function(ct,position){}});Ext.namespace('MEGA','MEGA.app');String.prototype.capitalize=function(){return(this.charAt(0).toUpperCase()+this.substr(1).toLowerCase());};Ext.Ajax.on('beforerequest',function(conn,o){if(typeof conn.extraParams!="object"){conn.extraParams={};}
conn.extraParams['lang']=FGI.copy._lang;},this);MEGA.app={updateSearchResults:function(comboBoxValue,comboBox){var gpsMarkerLayer=this.Map.getLayersByName("gpsMarkers")[0];gpsMarkerLayer.clearMarkers();switch(comboBox.searchType){case"gpsCoords":comboBoxValue=comboBoxValue.trim();if(this.MapToolbar.Search.coordSysIsDMS){comboBoxValue=MEGA.actions.Utils.convertDMSCoords(comboBoxValue);}
var coordArray=comboBoxValue.split(' ');var lonLat=new OpenLayers.LonLat(coordArray[0],coordArray[1]).transform(this.MapToolbar.Search.gpsCoordSys,this.Map.getProjectionObject());if(this.Map.getMaxExtent().containsLonLat(lonLat)){this.Map.setCenter(lonLat,10);size=new OpenLayers.Size(18,26);calculateOffset=function(size){return new OpenLayers.Pixel(-(size.w/2),-size.h);};icon=new OpenLayers.Icon('Media/images/aqua.png',size,null,calculateOffset);gpsMarkerLayer.addMarker(new OpenLayers.Marker(lonLat,icon));}
return;}
var usingAdvancedSearch=this.MapToolbar.AdvancedSearch.isActive;if(comboBoxValue==""&&!usingAdvancedSearch){return;}
this.MapToolbar.TasksButton.window.show();this.MapToolbar.TasksButton.window.expand();this.MapToolbar.SearchResults.setSearchType(comboBox.searchType);var currentStore=comboBox.store;comboBox.collapse();var Url='';var advQueryString=usingAdvancedSearch?this.MapToolbar.AdvancedSearch.genQueryString(this):'';if(currentStore.totalLength<=this.MapToolbar.SearchResults.pageSize&&!usingAdvancedSearch){switch(comboBox.searchType){case"site":Url=usingAdvancedSearch?MEGA.config.Urls.AdvSiteSearch:MEGA.config.Urls.SiteSearchResults;Url=Url+'&'+comboBox.queryParam+'='+comboBoxValue+advQueryString;this.MapToolbar.SearchResults.addRecords(currentStore.getRange(0,currentStore.getCount()),Url);break;case"siteEle":Url=usingAdvancedSearch?MEGA.config.Urls.AdvSiteEleSearch:MEGA.config.Urls.SiteEleSearchResults;Url=Url+'&'+comboBox.queryParam+'='+comboBoxValue+advQueryString;this.MapToolbar.SearchResults.addRecords(currentStore.getRange(0,currentStore.getCount()),Url);break;}
this.MapToolbar.Search.expand();}else{switch(comboBox.searchType){case"site":Url=usingAdvancedSearch?MEGA.config.Urls.AdvSiteSearch:MEGA.config.Urls.SiteSearchResults;Url=Url+'&'+comboBox.queryParam+'='+comboBoxValue+advQueryString;this.MapToolbar.SearchResults.doSearch(Url);break;case"siteEle":Url=usingAdvancedSearch?MEGA.config.Urls.AdvSiteEleSearch:MEGA.config.Urls.SiteEleSearchResults;Url=Url+'&'+comboBox.queryParam+'='+comboBoxValue+advQueryString;this.MapToolbar.SearchResults.doSearch(Url);break;}
if(comboBox.searchType=='site'||comboBox.searchType=='siteEle'){this.MapToolbar.SearchResults.ClusteredResultStore.newResults=true;this.MapToolbar.SearchResults.ClusteredResultStore.baseParams={query:comboBoxValue,sortBy:"nam_name"};switch(comboBox.searchType){case"site":Url=usingAdvancedSearch?MEGA.config.Urls.AdvSiteSearchCluster:MEGA.config.Urls.SiteClusterResults;this.MapToolbar.SearchResults.ClusteredResultStore.proxy.conn.url=Url+advQueryString;break;case"siteEle":Url=usingAdvancedSearch?MEGA.config.Urls.AdvSiteSearchCluster:MEGA.config.Urls.SiteEleClusterResults;this.MapToolbar.SearchResults.ClusteredResultStore.proxy.conn.url=Url+advQueryString;break;}
var zoom=this.Map.getAdjustedZoom();this.MapToolbar.SearchResults.ClusteredResultStore.load({params:{zoom:zoom}});}}},layerReorder:function(legendStore){var num_recs=legendStore.getCount();this.Map.setLayerIndex(this.Map.getLayersByName('SearchPolygon')[0],0);var new_index=1;this.Map.setLayerIndex(this.Map.getLayersByName('SiteBuffers')[0],new_index);new_index=new_index+1;this.Map.setLayerIndex(this.Map.getLayersByName('SelectedParcel')[0],new_index);new_index=new_index+1;for(i=num_recs-1;i>=0;i--){curr_rec=legendStore.getAt(i);layer=curr_rec.get('layer');Ext.each(this.Map.getLayersByName(layer),function(item,index,allItems){this.Map.setLayerIndex(item,new_index);new_index=new_index+1;},this);}
this.Map.resetLayersZIndex();},retireSite:function(siteid){this.confirmRetireWindow=new Ext.Window({title:MEGA.copy.Widgets.SearchResults.retire_site,autoLoad:{url:'Site/SummaryForRetire/'+siteid,text:MEGA.copy.app.retireSiteAlert},bodyStyle:'background-color:white',width:400,height:300,resizable:false,modal:true,buttons:[{text:MEGA.copy.app.retire,handler:function(){this.confirmRetireWindow.close();var mask=new Ext.LoadMask(Ext.getBody(),{msg:MEGA.copy.app.retireSiteMsg});mask.show();Ext.Ajax.request({url:MEGA.config.Urls.RetireSite+siteid,success:function(response){var ret=Ext.decode(response.responseText);if(ret.success){if(ret.status_code==3){var successWindow=new Ext.Window({title:MEGA.concurrency.Locked_title,width:400,height:300,items:[new Ext.Panel({autoWidth:true,autoHeight:true,border:false,items:[{html:'<div style="height:166px;padding-top:100px;padding-left:20px;padding-right:20px;">'+'<span style="color:#15428B; font-weight:bold">'+MEGA.concurrency.Site_Locked+'</span></div>'}]})],resizable:false,modal:true,buttons:[{text:MEGA.copy.app.ok,handler:function(){this.ownerCt.close();}}]});mask.hide();successWindow.show();}else{Ext.each(this.Map.getLayersByName('Sites'),function(item,index,allItems){item.setVisibility(!item.visibility);item.setVisibility(!item.visibility);},this);Ext.each(this.Map.getLayersByName('SiteElements'),function(item,index,allItems){item.refresh();item.redraw();item.setVisibility(!item.visibility);item.setVisibility(!item.visibility);},this);this.Map.featurePopup.hide();if(this.Reports.site_gid==siteid){if(this.Reports.sel_gid===null){MEGA.app.Reports.removeBreadCrumb();}else{MEGA.app.Reports.removeBreadCrumb(2);}}
this.MapToolbar.Search.ComboBox.store.reload();if(this.MapToolbar.SearchResults.store.getCount()>0){var currentPage=this.MapToolbar.SearchResults.pagingBar.readPage();var pageSize=this.MapToolbar.SearchResults.pagingBar.pageSize;this.MapToolbar.SearchResults.pagingBar.doLoad((currentPage-1)*pageSize);}
var successWindow=new Ext.Window({title:MEGA.copy.app.success,width:400,height:300,items:[new Ext.Panel({autoWidth:true,autoHeight:true,border:false,items:[{html:'<div style="height: 192px; padding-top: 40px; padding-left: 20px; padding-right: 20px;">'+'<div class="formfieldlabel">'+MEGA.copy.app.congratulations+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+
ret.message+'</div></div>'}]})],resizable:false,modal:true,buttons:[{text:MEGA.copy.app.ok,handler:function(){this.ownerCt.close();}}]});mask.hide();successWindow.show();}}else{mask.hide();Ext.Msg.alert("",ret.message);}}.createDelegate(this),failure:function(){mask.hide();}.createDelegate(this)});},scope:this},{text:MEGA.copy.app.cancel,handler:function(){this.confirmRetireWindow.close();},scope:this}]});this.confirmRetireWindow.show();},retireSiteElem:function(elemid){var mask=new Ext.LoadMask(Ext.getBody());mask.show();Ext.Ajax.request({url:'SiteElement/SummaryForRetire/'+elemid,success:function(response){var ret=Ext.decode(response.responseText);if(ret.success){this.confirmRetireWindow=new Ext.Window({title:'Retire '+ret.returnObj.mk_mega_key+': '+ret.returnObj.sel_type+'?',width:400,height:300,items:[new Ext.Panel({autoWidth:true,autoHeight:true,border:false,items:[{html:'<div style="height:196px;padding-top:35px;padding-left:20px;padding-right:20px;">'+'<div style="font-weight:bold; font-size:14px;">Element Type: <span style="color:#15428B;">'+ret.returnObj.sel_type+'</span></div>'+'<div style="font-weight:bold; font-size:14px;">MEGA #: <span style="color:#15428B;">'+ret.returnObj.mk_mega_key+'</span></div>'+'<div style="padding-top:15px; font-size:12px;"><div>There are <span style="font-weight:bold;color:#15428B;">'+ret.returnObj.moncount+' monitoring event(s)</span> associated with this site element.</div><div style="padding-top:10px;">If you retire this site element now these monitoring events will be retired as well.</div>'+'</div></div>'}]})],resizable:false,modal:true,buttons:[{text:MEGA.copy.app.retire,handler:function(){this.confirmRetireWindow.close();var mask=new Ext.LoadMask(Ext.getBody(),{msg:'Retiring Site Element....'});mask.show();Ext.Ajax.request({url:MEGA.config.Urls.RetireSiteElement+elemid,success:function(response){var ret=Ext.decode(response.responseText);if(ret.success){if(ret.status_code==3){var successWindow=new Ext.Window({title:MEGA.concurrency.Locked_title,width:400,height:300,items:[new Ext.Panel({autoWidth:true,autoHeight:true,border:false,items:[{html:'<div style="height:166px;padding-top:100px;padding-left:20px;padding-right:20px;">'+'<span style="color:#15428B; font-weight:bold">'+MEGA.concurrency.SiteElem_Locked+'</span></div>'}]})],resizable:false,modal:true,buttons:[{text:MEGA.copy.app.ok,handler:function(){this.ownerCt.close();}}]});mask.hide();successWindow.show();}else{Ext.each(this.Map.getLayersByName('SiteElements'),function(item,index,allItems){item.refresh();item.redraw();item.setVisibility(!item.visibility);item.setVisibility(!item.visibility);},this);this.Map.featurePopup.hide();if(this.Reports.sel_gid==elemid){MEGA.app.Reports.removeBreadCrumb();}
if(this.MapToolbar.SearchResults.store.totalLength!==undefined&&this.MapToolbar.SearchResults.store.totalLength!==0){if(this.MapToolbar.SearchResults.store.totalLength<=this.MapToolbar.SearchResults.pageSize){var remove_recs=[];Ext.each(this.MapToolbar.SearchResults.store.data.items,function(item){if(item.data.mk_sel_gid==elemid){remove_recs.push(item);}},this);Ext.each(remove_recs,function(item){this.MapToolbar.SearchResults.store.remove(item);},this);var resultsMarkersLayer=this.Map.getLayersByName('SearchResultsMarkers')[0];var remove_markers=[];Ext.each(resultsMarkersLayer.markers,function(item,index,allItems){if(item.data.mk_sel_gid==elemid){remove_markers.push(item);}},this);Ext.each(remove_markers,function(item){resultsMarkersLayer.removeMarker(item);},this);}else{this.MapToolbar.SearchResults.store.reload();}}
var successWindow=new Ext.Window({title:MEGA.copy.app.success,width:400,height:300,items:[new Ext.Panel({autoWidth:true,autoHeight:true,border:false,items:[{html:'<div style="height: 192px; padding-top: 40px; padding-left: 20px; padding-right: 20px;">'+'<div class="formfieldlabel">'+MEGA.copy.app.congratulations+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+'</div>'+'<div style="padding-left: 10px; padding-right: 10px;" class="formfieldinfo">'+
ret.message+'</div></div>'}]})],resizable:false,modal:true,buttons:[{text:MEGA.copy.app.ok,handler:function(){this.ownerCt.close();}}]});mask.hide();successWindow.show();}}else{mask.hide();Ext.Msg.alert("",ret.message);}}.createDelegate(this),failure:function(){mask.hide();}.createDelegate(this)});},scope:this},{text:MEGA.copy.app.cancel,handler:function(){this.confirmRetireWindow.close();},scope:this}]});mask.hide();this.confirmRetireWindow.show();}}.createDelegate(this),failure:function(){mask.hide();}.createDelegate(this)});},toggleIdentify:function(pressed){if(pressed){this.Map.events.register("click",this,this.identifyClickHandler);}else{this.Map.events.unregister("click",this,this.identifyClickHandler);}},identifyClickHandler:function(e){alert(e.xy.x+', '+e.xy.y);},init:function(){this.User={};Ext.QuickTips.init();Ext.MessageBox.buttonText.ok=MEGA.copy.app.ok;Ext.MessageBox.buttonText.cancel=MEGA.copy.app.cancel;Ext.Updater.defaults.indicatorText=MEGA.copy.Widgets.SearchResults.loadmask;Ext.LoadMask.prototype.msg=MEGA.copy.Widgets.SearchResults.loadmask;FGI.widgets.FormWizard.prototype.submitBtnText=MEGA.copy.Workflows.Wizards.submit_btn_text;FGI.widgets.FormWizard.prototype.cancelBtnText=MEGA.copy.Workflows.Wizards.cancel_btn_text;hrefArr=window.location.href.split('/');this.splashUrl='';for(i=0;i<=hrefArr.length-2;i++){this.splashUrl+=hrefArr[i]+'/';}
var reportDisplayDirection=false;if(FGI.copy._lang=="ar-jo"){reportDisplayDirection=true;}
this.Reports=new MEGA.widgets.Reports({collapsible:true,collapsed:true,height:275,region:'south',floatable:false,displayRightToLeft:reportDisplayDirection});this.uploadMegafileWindow=new MEGA.widgets.uploadWindow();this.uploadMegafileWindow.on('megafileloaded',function(megaFileId,megaFileName){this.MapToolbar.TasksButton.window.show();this.ReviewMegaFileWorkflow=new MEGA.workflows.ReviewMegaFile({app:this,megaFileId:megaFileId});},this);this.MapToolbar=new MEGA.widgets.MapToolbar({splashUrl:this.splashUrl});this.MapToolbar.on('identifytoolclicked',this.toggleIdentify,this);this.MapToolbar.Search.on('searchbuttonclicked',this.updateSearchResults,this);this.MapToolbar.Search.ComboBox.on('beforeselect',function(){this.currentValue=this.getValue();});this.MapToolbar.Search.on('searchitemselected',function(combo,record,index,searchType){var gpsMarkerLayer=this.Map.getLayersByName("gpsMarkers")[0];gpsMarkerLayer.clearMarkers();this.MapToolbar.TasksButton.window.show();this.MapToolbar.TasksButton.window.expand();this.MapToolbar.SearchResults.setSearchType(searchType);combo.setValue(combo.currentValue);switch(searchType){case'site':this.getSiteData(record.data.sit_site_gid,function(){this.updateSiteReport(MEGA.data.Site.selected.data);},true,false,this);Url=MEGA.config.Urls.SiteSearchResults+'&'+combo.queryParam+'='+record.data.mk_mega_key;this.MapToolbar.SearchResults.addRecords(record,Url);break;case'siteEle':this.getSiteElementData(record.data.mk_sel_gid,function(){this.updateSiteElementReport(MEGA.data.SiteElement.selected.data);},true,false,this);Url=MEGA.config.Urls.SiteEleSearchResults+'&'+combo.queryParam+'='+record.data.mk_mega_key;this.MapToolbar.SearchResults.addRecords(record,Url);break;case'placeNames':this.Map.setCenter(new OpenLayers.LonLat(record.data.lng,record.data.lat).transform(new OpenLayers.Projection("EPSG:4326"),this.Map.getProjectionObject()),8);break;}
this.MapToolbar.SearchButton.window.focus();},this);this.MapToolbar.Search.on('searchtypeselected',function(combo,searchtype){if(this.MapToolbar.AdvancedSearch.isActive||searchtype=="gpsCoords"){this.MapToolbar.Search.turnDropDownOff();}else{this.MapToolbar.Search.turnDropDownOn();}},this);this.MapToolbar.AdvancedSearch.on('customextentchecked',function(checked){if(checked){this.MapToolbar.AdvancedSearch.getUserDefinedExtent(this);}else{this.Map.getLayersByName('SearchPolygon')[0].destroyFeatures();}},this);this.MapToolbar.AdvancedSearch.on('resize',function(){this.MapToolbar.advancedSearchResize();},this);this.MapToolbar.AdvancedSearch.on('searchbuttonclicked',function(){this.updateSearchResults(this.MapToolbar.Search.ComboBox.getValue(),this.MapToolbar.Search.ComboBox);},this);this.MapToolbar.SearchButton.window.on('show',function(){this.MapToolbar.Search.genAdvSearchBtn();},this,{single:true});this.MapToolbar.logoutButton.on('click',this.logout.createDelegate(this));this.MapToolbar.loginForm.on('loginsucceeded',this.login.createDelegate(this));this.MapToolbar.SearchResults.Expander.on('afterload',function(response,options,Expander,record,body,rowIndex){var content;switch(this.MapToolbar.SearchResults.searchType){case"site":var siteData=Ext.decode(response.responseText);if(siteData.success){MEGA.data.Site.updateSelectedSite(siteData.returnObj);var expandTpl=MEGA.data.Site.getExpandTemplate(this.User.username?true:false);content=expandTpl.applyTemplate(MEGA.data.Site.selected.data);this.MapToolbar.SearchResults.Expander.setBodyContent(content,body,record);}
break;case"siteEle":var siteElementData=Ext.decode(response.responseText);if(siteElementData.success){MEGA.data.SiteElement.updateSelectedSiteElement(siteElementData.returnObj);var expandTpl=MEGA.data.SiteElement.getExpandTemplate(this.User.username?true:false);content=expandTpl.applyTemplate(MEGA.data.SiteElement.selected.data);this.MapToolbar.SearchResults.Expander.setBodyContent(content,body,record);}
break;}},this);this.MapToolbar.SearchResults.on('mouseover',function(e,t){var row;if((row=this.MapToolbar.SearchResults.view.findRowIndex(t))!==false){var SearchResultsMarkerLayer=this.Map.getLayersByName('SearchResultsMarkers')[0];Ext.each(SearchResultsMarkerLayer.markers,function(item,index,allItems){if(item.data.sit_site_gid==this.MapToolbar.SearchResults.store.data.items[row].data.sit_site_gid){this.markerOnMouseOver(item);}},this);}},this);this.MapToolbar.SearchResults.on('mouseout',function(e,t){var row;if((row=this.MapToolbar.SearchResults.view.findRowIndex(t))!==false){var SearchResultsMarkerLayer=this.Map.getLayersByName('SearchResultsMarkers')[0];Ext.each(SearchResultsMarkerLayer.markers,function(item,index,allItems){if(item.data.sit_site_gid==this.MapToolbar.SearchResults.store.data.items[row].data.sit_site_gid){this.markerOnMouseOut(item);}},this);}},this);this.MapToolbar.CandidateList.on('mouseover',function(e,t){var row;if((row=this.MapToolbar.CandidateList.view.findRowIndex(t))!==false){var SearchResultsMarkerLayer=this.Map.getLayersByName('CandidateMarkers')[0];Ext.each(SearchResultsMarkerLayer.markers,function(item,index,allItems){if(item.data.id==this.MapToolbar.CandidateList.store.data.items[row].data.id&&item.data.featuretype==this.MapToolbar.CandidateList.store.data.items[row].data.featuretype){this.markerOnMouseOver(item);}},this);}},this);this.MapToolbar.CandidateList.on('mouseout',function(e,t){var row;if((row=this.MapToolbar.CandidateList.view.findRowIndex(t))!==false){var SearchResultsMarkerLayer=this.Map.getLayersByName('CandidateMarkers')[0];Ext.each(SearchResultsMarkerLayer.markers,function(item,index,allItems){if(item.data.id==this.MapToolbar.CandidateList.store.data.items[row].data.id&&item.data.featuretype==this.MapToolbar.CandidateList.store.data.items[row].data.featuretype){this.markerOnMouseOut(item);}},this);}},this);this.MapToolbar.loginForm.on('passwordhelpclicked',this.showPasswordHelp.createDelegate(this));this.MapToolbar.Legend.on('layermodechanged',function(legendRecord,layerName,mode,visibility){Ext.each(this.Map.getLayersByName(layerName),function(item,index,allItems){if(mode=='auto'){item.setManualMode(false);}else if(mode=='manual'){item.setManualMode(true);}
item.setVisibility(visibility,!item.manualMode);},this);},this)
this.MapToolbar.Legend.on('layervisibilitychanged',function(legendRecord,layerName,visibility){Ext.each(this.Map.getLayersByName(layerName),function(item,index,allItems){item.setVisibility(visibility);},this);},this);this.MapToolbar.Legend.on('layerorderchanged',this.layerReorder,this);this.MapContainer=new MEGA.widgets.Map({map:new OpenLayers.Map('map',new MEGA.config.Map()),tbar:this.MapToolbar});this.Map=this.MapContainer.map;this.Map.events.register("featureclicked",this,function(feature){if(this.MapContainer.selected_parcel_layer.features.length>0){this.MapContainer.selected_parcel_layer.removeFeatures(this.MapContainer.selected_parcel_layer.features);}
switch(feature.layer.name){case'Governorates':this.Reports.removeAllBreadCrumbs();this.Reports.removeAll();if(FGI.copy._lang=='ar-jo'){this.Reports.addGovernorateReport(feature.data.govno,feature.data.gov_na);}else{this.Reports.addGovernorateReport(feature.data.govno,feature.data.gov_ne);}
this.Map.zoomToExtent(feature.geometry.getBounds());this.Reports.renderCrumbs();break;case'SubGovernorates':this.Reports.removeAllBreadCrumbs();this.Reports.removeAll();if(FGI.copy._lang=='ar-jo'){this.Reports.addSubGovernorateReport(feature.data.govno,feature.data.gov_na,feature.data.subgov_gid,feature.data.sub_na);}else{this.Reports.addSubGovernorateReport(feature.data.govno,feature.data.gov_ne,feature.data.subgov_gid,feature.data.sub_ne);}
this.Map.zoomToExtent(feature.geometry.getBounds());this.Reports.renderCrumbs();break;case'Sites':this.setSelectedFeature('Sites',feature);this.Map.featurePopup.lonlat=feature.geometry.getBounds().getCenterLonLat();this.Map.featurePopup.extPopup=new Ext.Panel({applyTo:'popup',width:280,autoHeight:true,title:feature.data.name,closeable:false});this.Map.featurePopup.show();$('#featurePopup').css('display','visible');var updator=this.Map.featurePopup.extPopup.getUpdater();this.Map.featurePopup.updateConfig={url:MEGA.config.Urls.Site+feature.data.sit_site_gid,clusterCount:feature.data.count,callback:function(el,success,response,options){if(success){var siteData=Ext.decode(response.responseText);if(siteData.success){MEGA.data.Site.updateSelectedSite(siteData.returnObj);this.updateSiteReport(MEGA.data.Site.selected.data);var popupTpl=MEGA.data.Site.getPopupTemplate(this.User.username?true:false,options.clusterCount);this.Map.featurePopup.extPopup.body.dom.innerHTML=popupTpl.applyTemplate(MEGA.data.Site.selected.data);}else{this.Map.featurePopup.extPopup.body.dom.innerHTML='oops.....';}
this.Map.featurePopup.updateSize();}},scope:this};updator.update(this.Map.featurePopup.updateConfig);break;case'SiteElements':this.setSelectedFeature('SiteElements',feature);this.Map.featurePopup.lonlat=feature.geometry.getBounds().getCenterLonLat();this.Map.featurePopup.extPopup=new Ext.Panel({applyTo:'popup',width:280,autoHeight:true,title:feature.data.sel_type||feature.data.mk_mega_key,closeable:false});this.Map.featurePopup.show();var updator=this.Map.featurePopup.extPopup.getUpdater();this.Map.featurePopup.updateConfig={url:MEGA.config.Urls.SiteElement+feature.data.mk_sel_gid,callback:function(el,success,response,options){if(success){var selData=Ext.decode(response.responseText);if(selData.success){MEGA.data.SiteElement.updateSelectedSiteElement(selData.returnObj);this.updateSiteElementReport(MEGA.data.SiteElement.selected.data);var popupTpl=MEGA.data.SiteElement.getPopupTemplate(this.User.username?true:false);this.Map.featurePopup.extPopup.body.dom.innerHTML=popupTpl.applyTemplate(MEGA.data.SiteElement.selected.data);}else{this.Map.featurePopup.extPopup.body.dom.innerHTML='oops.....';}
this.Map.featurePopup.updateSize();}},scope:this};updator.update(this.Map.featurePopup.updateConfig);break;case'Candidates':this.Map.featurePopup.lonlat=feature.geometry.getBounds().getCenterLonLat();this.Map.featurePopup.extPopup=new Ext.Panel({applyTo:'popup',width:280,autoHeight:true,title:feature.data.name,closeable:false});this.Map.featurePopup.show();var updator=this.Map.featurePopup.extPopup.getUpdater();this.Map.featurePopup.updateConfig={url:MEGA.config.Urls.Candidate+feature.data.gid.split(' - ')[1]+'/'+feature.data.gid.split(' - ')[0],callback:function(el,success,response,options){if(success){var data=Ext.decode(response.responseText);MEGA.data.Candidate.updateSelectedCandidate(data.returnObj);if(data.success){var popupTpl=MEGA.data.Candidate.getPopupTemplate(this.User.username?true:false);this.Map.featurePopup.extPopup.body.dom.innerHTML=popupTpl.applyTemplate(MEGA.data.Candidate.selected.data);}else{this.Map.featurePopup.extPopup.body.dom.innerHTML='oops.....';}
this.Map.featurePopup.updateSize();}},scope:this};updator.update(this.Map.featurePopup.updateConfig);break;case'Surveys':this.currentSurvey=feature;this.Map.featurePopup.lonlat=feature.geometry.getBounds().getCenterLonLat();this.Map.featurePopup.extPopup=new Ext.Panel({applyTo:'popup',width:280,autoHeight:true,title:feature.data.sur_name_english,closeable:false});var popupTpl=new Ext.Template('<div style="margin:5px; font-family:Verdana, Helvetica, Sans-Serif;">'+'<div style="font-size:10px;margin:10px 0 6px 0;"><b style="color:#15428B;">Survey Facts</b><hr/>'+'<table style="margin-bottom:10px;">'+'<tr><td align="right" class="fieldlabel" valign="top">Institution:</td><td><span style="color:#15428B;">{sur_institution}</span></td></tr>'+'<tr><td align="right" class="fieldlabel" valign="top">Investigator:</td><td><span style="color:#15428B;">{sur_principal_investigator}</span></td></tr>'+'<tr><td align="right" class="fieldlabel" valign="top">Begun:</td><td><span style="color:#15428B;">{sur_begin_date}</span></td></tr>'+'<tr><td align="right" class="fieldlabel" valign="top">Ended:</td><td><span style="color:#15428B;">{sur_end_date}</span></td></tr>'+'</table>','<div style="font-size:10px; padding-top:10px;"><b style="color:#15428B;">View:</b>','<div style="padding-left:5px">','<a href="#" onclick="MEGA.app.zoomToCurrentSurvey()">Zoom To Survey</a> | ','<a href="#" onclick="MEGA.app.getSitesInSurvey('+feature.data.sur_survey_gid+')">View Sites in Survey</a>','</div></div></div>');this.Map.featurePopup.extPopup.body.dom.innerHTML=popupTpl.applyTemplate(feature.attributes);this.Map.featurePopup.updateSize();this.Map.featurePopup.show();break;}});this.Viewport=new Ext.Viewport({layout:'border',items:[{region:'north',height:50,border:false,contentEl:'header'},this.MapContainer,this.Reports],listeners:{'afterlayout':{fn:function(){this.MapToolbar.SearchButton.window.show();this.MapToolbar.SearchButton.window.anchorTo(this.MapToolbar.id,'t-b',[0,5]);this.initLoginMask=new Ext.LoadMask(Ext.getBody());this.initLoginMask.show();this.getUser();this.Map.pan.defer(1000,this.Map,[1,1,{}]);},scope:this,single:true}}});var y=this.MapContainer.getPosition()[1]+30;var x=this.MapContainer.getSize().width-this.MapToolbar.TasksButton.window.width-25;this.MapToolbar.TasksButton.window.setPosition(x,y);this.Reports.addCountryReport();this.Reports.renderCrumbs();this.Reports.on('breadcrumbselected',function(breadcrumb,report){this.onBreadCrumbClick(breadcrumb,report);},this);this.zoomTip=new Ext.Tip({closable:false,header:true});this.Map.controls[3].sliderEvents.register('mousemove',this,function(event){var bounds=this.Map.controls[3].zoombarDiv.getBoundingClientRect();var zoomBarDivRight=bounds.right;var zoomBarDivTop=bounds.top;var zoomBarDivBottom=bounds.bottom;var deltaY=event.clientY-zoomBarDivTop;var zoomLevel=this.Map.getNumZoomLevels()-Math.floor(deltaY/this.Map.controls[3].zoomStopHeight);var title='Zoom Level: '+(zoomLevel<1?1:zoomLevel>this.Map.getNumZoomLevels()?this.Map.getNumZoomLevels():zoomLevel);this.zoomTip.setTitle(title);this.zoomTip.setPosition(zoomBarDivRight+2,event.clientY<zoomBarDivTop?zoomBarDivTop-4:event.clientY>zoomBarDivBottom?zoomBarDivBottom-4:event.clientY-4);this.zoomTip.show();var hideZoomTip=function(){this.zoomTip.hide();}.createInterceptor(function(name){return this.zoomTip.title==title;});hideZoomTip.defer(2000,this);});this.statusWindow=new this.featureCountWindow({renderTo:'map',Map:this.Map});this.Map.getLayersByName('Sites')[0].events.register("visibilitychanged",this,function(event){this.statusWindow.setVisible(this.statusWindow.hidden);});this.Map.getLayersByName('Sites')[0].events.register("featuresadded",this,function(event){this.statusWindow.layerToCount=this.Map.getLayersByName('Sites')[0];this.statusWindow.countFeatures();this.statusWindow.isLoading=false;this.drawSelectedFeature();});this.Map.getLayersByName('Sites')[0].events.register("loadstart",this,function(event){this.statusWindow.isLoading=true;this.statusWindow.getUpdater().showLoading();});this.Map.getLayersByName('SiteElements')[2].events.register("featuresadded",this,function(event){this.drawSelectedFeature();});this.Map.events.register("moveend",this,function(event){var sitesLayer=this.Map.getLayersByName('Sites')[0];if(!this.statusWindow.isLoading&&!this.statusWindow.hidden&&sitesLayer.getVisibility()){this.statusWindow.layerToCount=sitesLayer;this.statusWindow.countFeatures();this.drawSelectedFeature();}});this.MapToolbar.SearchResults.on('afterupdate',this.addSearchResultsMarkers,this);this.MapToolbar.SearchResults.on('clear',function(){this.MapToolbar.SearchResults.ClusteredResultStore.proxy.conn.url='';var clustered_search_layer=this.Map.getLayersByName('SearchResultsClusteredMarkers')[0];clustered_search_layer.clearMarkers();var searchPage_layer=this.Map.getLayersByName('SearchResultsMarkers')[0];searchPage_layer.clearMarkers();},this);this.Map.events.register("zoomend",this,function(event){if(this.MapToolbar.SearchResults.ClusteredResultStore.proxy.conn.url!=''){var clustered_search_layer=this.Map.getLayersByName('SearchResultsClusteredMarkers')[0];clustered_search_layer.clearMarkers();var zoom=this.Map.getAdjustedZoom();this.MapToolbar.SearchResults.ClusteredResultStore.load({params:{zoom:zoom}});}});this.MapToolbar.SearchResults.ClusteredResultStore.on('load',function(){var clustered_search_layer=this.Map.getLayersByName('SearchResultsClusteredMarkers')[0];clustered_search_layer.clearMarkers();clustered_search_layer.setVisibility(true);Ext.each(this.MapToolbar.SearchResults.ClusteredResultStore.data.items,function(item,index,allItems){var iconSize=item.data.Count;if(item.data.Count<2){iconSize=10;}else if(item.data.Count<3){iconSize=15;}else if(item.data.Count<4){iconSize=20;}else if(item.data.Count<5){iconSize=25;}else{iconSize=35;}
var size=new OpenLayers.Size(iconSize,iconSize);var icon=new OpenLayers.Icon(MEGA.config.Urls.SiteIconCluster,size,new OpenLayers.Pixel(-(size.w/2),-(size.h/2)),null);var lonLat=new OpenLayers.LonLat(item.data.Point.Lat,item.data.Point.Lon);var marker=new FGI.openlayers.SmartMarker(lonLat,icon.clone(),item.data,item.data.Id);clustered_search_layer.addMarker(marker);},this);if(this.MapToolbar.SearchResults.ClusteredResultStore.newResults==true){if(clustered_search_layer.markers.length>0){this.Map.zoomToExtent(clustered_search_layer.getDataExtent(),false);}
this.MapToolbar.SearchResults.ClusteredResultStore.newResults=false;}},this);var directorConfig={};if(FGI.copy._lang=="ar-jo"){directorConfig.displayRightToLeft=true;}
this.DirectorReport=new MEGA.widgets.DirectorReport(directorConfig);this.DirectorReport.on('outputToSearchResults',function(startdt,enddt,type){this.MapToolbar.TasksButton.window.show();this.MapToolbar.TasksButton.window.expand();this.MapToolbar.SearchResults.store.removeAll();this.MapToolbar.SearchResults.resetPagingToolbar();var zoom=this.Map.getAdjustedZoom();var params={startDate:startdt,endDate:enddt,format:'search',zoom:zoom,removeDuplicates:true};if(type=="Sites"){this.MapToolbar.SearchResults.setSearchType('site');params['reportType']='site';}
else if(type=="Site Elements"){this.MapToolbar.SearchResults.setSearchType('siteEle');params['reportType']='sel';}
this.MapToolbar.SearchResults.doSearch(MEGA.config.Urls.DirectorReport+'?'+Ext.urlEncode(params));this.DirectorReport.hide();if(type=="Sites"||type=="Site Elements"){this.MapToolbar.SearchResults.ClusteredResultStore.newResults=true;params['format']='cluster';params['start']=0;params['limit']=10000;this.MapToolbar.SearchResults.ClusteredResultStore.proxy.conn.url=MEGA.config.Urls.DirectorReport;var zoom=this.Map.getAdjustedZoom();this.MapToolbar.SearchResults.ClusteredResultStore.load({params:params});}},this);},markerOnMouseOver:function(marker){marker.setUrl(MEGA.config.Urls.SiteIconHover);$(marker.icon.imageDiv).css('z-index',1);},markerOnMouseOut:function(marker){marker.setUrl(MEGA.config.Urls.SiteIcon);$(marker.icon.imageDiv).css('z-index','auto');},addSearchResultsMarkers:function(searchType,searchData){switch(searchType){case'site':var fieldId='sit_site_gid';var tooltipId='site_name';break;case'siteEle':var fieldId='mk_sel_gid';var tooltipId='sel_primary_name';break;}
var searchPage_layer=this.Map.getLayersByName('SearchResultsMarkers')[0];searchPage_layer.clearMarkers();searchPage_layer.setVisibility(true);size=new OpenLayers.Size(32,37);calculateOffset=function(size){return new OpenLayers.Pixel(-(size.w/2),-size.h);};icon=new OpenLayers.Icon(MEGA.config.Urls.SiteIcon,size,null,calculateOffset);var searchedFeatures=[];for(var index=0;index<this.MapToolbar.SearchResults.store.data.items.length;index++){var item=this.MapToolbar.SearchResults.store.data.items[index];var geom=new OpenLayers.Format.WKT().read(item.data.centroid).geometry;var lonLat=new OpenLayers.LonLat(geom.x,geom.y);var marker=new FGI.openlayers.SmartMarker(lonLat,icon.clone(),item.data,fieldId);marker.events.on({"mouseover":function(a){var div=a.element;var marker=a.object;this.markerOnMouseOver(marker);Ext.each(this.MapToolbar.SearchResults.store.data.items,function(item,index,allItems){if(marker.data[marker.idField]==this.MapToolbar.SearchResults.store.data.items[index].data[fieldId]){this.MapToolbar.SearchResults.view.addRowClass(index,"x-grid3-row-over");var postition=this.Map.getPixelFromLonLat(marker.lonlat);searchPage_layer.hoverTip.setTitle(marker.data[tooltipId]);searchPage_layer.hoverTip.setPosition(postition.x+10,postition.y+-30);searchPage_layer.hoverTip.show();}},this);},"mouseout":function(a){var div=a.element;var marker=a.object;this.markerOnMouseOut(marker);Ext.each(this.MapToolbar.SearchResults.store.data.items,function(item,index,allItems){if(marker.data[marker.idField]==this.MapToolbar.SearchResults.store.data.items[index].data[fieldId]){this.MapToolbar.SearchResults.view.removeRowClass(index,"x-grid3-row-over");searchPage_layer.hoverTip.hide();}},this);},"click":function(a){var div=a.element;var marker=a.object;this.updateSiteReport(marker.data);switch(searchType){case'site':this.updateSiteReport(marker.data);break;case'siteEle':this.updateSiteElementReport(marker.data);break;}},scope:this});searchPage_layer.addMarker(marker);}},featureCountWindow:Ext.extend(Ext.Window,{closable:false,hidden:true,border:false,bodyStyle:'padding: 2px; color: #000099; background-color: #C9D9EB; font-weight: bold;',x:60,y:35,width:130,maxCount:null,resizable:false,isLoading:false,layerToCount:null,Map:null,updateCount:function(count){var title=MEGA.copy.Workflows.AddSite.viewing+' '+count+' '+MEGA.copy.Workflows.AddSite.sites;if(this.maxCount&&count>=this.maxCount){title='More than '+this.maxCount+' Sites in view, please zoom in.';}
this.body.dom.innerHTML=title;},countFeatures:function(){if(this.layerToCount){var sf=new OpenLayers.Filter.Spatial({type:OpenLayers.Filter.Spatial.INTERSECTS});sf.value=this.Map.getExtent();this.maxCount=this.layerToCount.params.maxfeatures;var count=0;for(var i in this.layerToCount.features){var theFeature=this.layerToCount.features[i];if(sf.evaluate(theFeature)){if(theFeature.data.count){count=count+this.layerToCount.features[i].data.count;this.maxCount=null;}else{count++;}}}
this.updateCount(count);}}}),updateSiteReport:function(site){this.Reports.removeAllBreadCrumbs();this.Reports.removeAll();this.Reports.addSiteReport(site.governorate_id,site.governorate,site.subgovernorate_id,site.subgovernorate,site.sit_site_gid,site.site_name);this.Reports.renderCrumbs();},updateSiteElementReport:function(sel){this.Reports.removeAllBreadCrumbs();this.Reports.removeAll();this.Reports.addSiteElementReport(sel.governorate_id,sel.governorate,sel.subgovernorate_id,sel.subgovernorate,sel.sit_site_gid,sel.site_primary_name,sel.mk_sel_gid,sel.mk_mega_key+' '+sel.sel_type);this.Reports.renderCrumbs();},onBreadCrumbClick:function(breadcrumb,report){switch(breadcrumb.title.type){case'Country':this.Reports.showReportByIndex(0);this.Map.setCenter(new OpenLayers.LonLat(4067672.8966577146,3671423.342082519),0);if(this.Reports.isVisible()){this.Reports.currentPanel.setActiveTab(0);}
break;case'Governorates':var gov_layer=this.Map.getLayersByName('Governorates')[0];var feature=gov_layer.getFeatureByIdField(breadcrumb.title.id);this.Map.zoomToExtent(feature.geometry.bounds);var subgov_layer=this.Map.getLayersByName('SubGovernorates')[0];gov_layer.forceVisible=true;gov_layer.setVisibility(true,true);subgov_layer.forceVisible=true;subgov_layer.setVisibility(true,true);gov_layer.controls[0].unselectAll();gov_layer.controls[0].select(feature);this.Reports.showReportByIndex(1);if(this.Reports.isVisible()){this.Reports.currentPanel.setActiveTab(0);}
break;case'SubGovernorates':var subgov_layer=this.Map.getLayersByName('SubGovernorates')[0];var feature=subgov_layer.getFeatureByIdField(breadcrumb.title.id);subgov_layer.controls[0].unselectAll();subgov_layer.controls[0].select(feature);this.Map.zoomToExtent(feature.geometry.bounds);this.Reports.showReportByIndex(2);if(this.Reports.isVisible()){this.Reports.currentPanel.setActiveTab(0);}
break;case'Sites':this.getSiteData(breadcrumb.title.id,null,true,true,this);this.Reports.showReportByIndex(3);if(this.Reports.isVisible()){this.Reports.currentPanel.setActiveTab(0);}
break;case'SiteElements':this.getSiteElementData(breadcrumb.title.id,null,true,true,this);this.Reports.showReportByIndex(4);if(this.Reports.isVisible()){this.Reports.currentPanel.setActiveTab(0);}
break;}},addNewSiteElement:function(){this.AddSiteElementWorkflow=new MEGA.workflows.AddSiteElement({app:this});},editSite:function(siteId){this.app.EditSiteWorkflow=new MEGA.workflows.EditSite({app:this.app,siteid:siteId});},getSiteData:function(siteId,callback,zoom,select,theScope){MEGA.data.DAL.getRemoteData(MEGA.config.Urls.Site+siteId,function(response,options){var siteData=Ext.decode(response.responseText);if(siteData.success){MEGA.data.Site.updateSelectedSite(siteData.returnObj);if(zoom){MEGA.app.Map.zoomToGeom(MEGA.data.Site.selected.data.geometry,10);}
if(select){MEGA.app.setSelectedFeature('Sites',MEGA.data.Site.selected);}
if(typeof(callback)=="function"){callback.createDelegate(theScope,[siteData])();}}},null,theScope);},zoomToSite:function(siteID){this.getSiteData(siteID,function(){},true,false,this);},viewSiteReport:function(siteID){this.getSiteData(siteID,function(){this.updateSiteReport(MEGA.data.Site.selected.data);},true,true,this);},getSiteElementData:function(selId,callback,zoom,select,theScope){MEGA.data.DAL.getRemoteData(MEGA.config.Urls.SiteElement+selId,function(response,options){var selData=Ext.decode(response.responseText);if(selData.success){MEGA.data.SiteElement.updateSelectedSiteElement(selData.returnObj);if(zoom){MEGA.app.Map.zoomToGeom(MEGA.data.SiteElement.selected.data.geometry,11);}
if(select){MEGA.app.setSelectedFeature('SiteElements',MEGA.data.SiteElement.selected);}
if(typeof(callback)=="function"){callback.createDelegate(theScope,[selData])();}}},null,theScope);},zoomToSel:function(selID){this.getSiteElementData(selID,null,true,false,this);},zoomAndHighlightSel:function(selID){this.getSiteElementData(selID,null,true,true,this);},viewSelReport:function(selID){this.getSiteElementData(selID,function(){this.updateSiteElementReport(MEGA.data.SiteElement.selected.data);},true,true,this);},setSelectedFeature:function(featureType,feature){this.Map.getLayersByName('Sites')[0].controls[0].unselectAll();var theSelectedFeature={featureType:featureType,feature:feature}
this.Map.selectedFeature=theSelectedFeature;this.drawSelectedFeature(theSelectedFeature);},drawSelectedFeature:function(selectedFeature){this.clearSiteBuffer();if(!selectedFeature){if(this.Map.selectedFeature){selectedFeature=this.Map.selectedFeature;}else{return;}}
switch(selectedFeature.featureType){case'Sites':this.renderSiteAsSelected(selectedFeature.feature.data.sit_site_gid);break;case'SiteElements':this.renderSiteElementAsSelected(selectedFeature.feature.data.mk_sel_gid);break;}},renderSiteAsSelected:function(id){var sites_layer=this.Map.getLayersByName('Sites')[0];if(sites_layer.getVisibility()){var feature=sites_layer.getFeatureByIdField(id);if(feature){sites_layer.controls[0].unselectAll();sites_layer.controls[0].select(feature);var buffer=MEGA.data.Site.selected.get("buffer");if(buffer!==null){var bufferLayer=this.Map.getLayersByName('SiteBuffers')[0];var feature=new OpenLayers.Feature.Vector(buffer);bufferLayer.destroyFeatures();bufferLayer.addFeatures(feature);}}}},showSiteBuffer:function(id){var bufferLayer=this.Map.getLayersByName('SiteBuffers')[0];Ext.Ajax.request({url:'Site/GetBuffer/'+id,success:function(response){var ret=Ext.decode(response.responseText);if(ret.success){var geometry=new OpenLayers.Format.WKT().read(ret.returnObj.site_buffer.Geometry).geometry;geometry.transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913"));var feature=new OpenLayers.Format.WKT().read(geometry);bufferLayer.destroyFeatures();bufferLayer.addFeatures(feature);}}.createDelegate(this),failure:function(){bufferLayer.destroyFeatures();}});},clearSiteBuffer:function(){var bufferLayer=this.Map.getLayersByName('SiteBuffers')[0];bufferLayer.destroyFeatures();},renderSiteElementAsSelected:function(id){var siteElements_layer=this.Map.getLayersByName('SiteElements')[2];if(siteElements_layer.getVisibility()){var feature=siteElements_layer.getFeatureByIdField(id);if(feature){siteElements_layer.controls[0].unselectAll();siteElements_layer.controls[0].select(feature);}}},refresh:function(){this.Reports.refresh();if(this.MapToolbar.SearchResults.store.proxy.conn.url!=undefined&&this.MapToolbar.SearchResults.store.proxy.conn.url!=""){var resultsPagingBar=this.MapToolbar.SearchResults.getBottomToolbar();resultsPagingBar.doLoad(resultsPagingBar.cursor);}
if(this.Map.featurePopup.updateConfig!=undefined){var updator=this.Map.featurePopup.extPopup.getUpdater();updator.update(this.Map.featurePopup.updateConfig);}},logout:function(){var logoutmask=new Ext.LoadMask(Ext.getBody(),{msg:'Logging Out....'});logoutmask.show();Ext.Ajax.request({url:MEGA.config.Urls.Logout,scope:this,disableCaching:false,success:function(response,options){this.MapToolbar.logout();this.User={};this.refresh();window.location=this.splashUrl;},failure:function(){this.MapToolbar.logout();this.User={};this.refresh();window.location=this.splashUrl;}});},login:function(responseObj){if(responseObj.response){var response=Ext.decode(responseObj.response.responseText);}else if(responseObj.responseText){var response=Ext.decode(responseObj.responseText);}
this.User=this.setupUser(response.returnObj);this.MapToolbar.login(this.User);this.Reports.user=this.User;this.refresh();if(response.returnObj.changePass.toLowerCase()=="true"){this.passwordChangeObj=new Ext.Window({title:'Update Account Information',layout:'fit',width:400,height:400,items:[new FGI.widgets.PasswordChangeForm({url:'Account/FirstLogin?user='+response.returnObj.username,title:"",changeSecurityQuestion:true,changePwdSuccess:MEGA.copy.Widgets.PasswordChange.success})],modal:true,draggable:false,closeAction:'hide',closable:false});this.passwordChangeObj.show();}
else if(response.returnObj.changePass==""){this.passwordChangeObj=new Ext.Window({title:'Update Account Information',layout:'fit',width:350,height:250,items:[new FGI.widgets.PasswordChangeForm({url:'Account/FirstLogin?user='+response.returnObj.username,title:"",changeSecurityQuestion:false,changePwdSuccess:MEGA.copy.Widgets.PasswordChange.success})],modal:true,draggable:false,closeAction:'hide',closable:false});this.passwordChangeObj.show();}},setupUser:function(returnObj){var theUser=returnObj;var userRoles=returnObj.loggedInuserRole.split(',');theUser.Roles={};Ext.each(userRoles,function(userRole,index,allItems){var myRole=userRole.capitalize();theUser.Roles['is'+myRole]=true;});return theUser;},getUser:function(){Ext.Ajax.request({url:MEGA.config.Urls.GetUser,scope:this,disableCaching:false,success:function(response,options){var ret=Ext.decode(response.responseText);if(ret.success){this.login(response);}else{this.MapToolbar.loginButton.window.show();}
if(Ext.isIE){MEGA.app.Map.getLayersByName('Governorates')[0].redraw();}
this.initLoginMask.hide();}});},showPasswordHelp:function(){this.passwordHelpObj=new Ext.Window({layout:'fit',width:350,height:230,items:[new FGI.widgets.PasswordResetForm({requireQuestionAnswer:true,url:MEGA.config.Urls.ResetPassword,title:MEGA.copy.app.ResetPassword_text,submitBtnText:MEGA.copy.app.submitBtnText,resetPwdBtnText:MEGA.copy.app.ResetPassword_text,cancelBtnText:MEGA.copy.app.cancelBtnText,userNamePromptLabel:MEGA.copy.Widgets.Login.username,securityQuestionLabel:MEGA.copy.Widgets.Login.questionLabel+': ',descriptiveText:'<p style="margin-bottom:15px;">'+MEGA.copy.app.ResetPassword_desc+'</p>',getSecurtyQuestionMask:'Retrieving question...',resettingPwdMask:'Resetting your password...',resetSuccessMsg:MEGA.copy.Widgets.PasswordReset.success,resetErrorMsg:MEGA.copy.Widgets.PasswordChange.errPwdMismatchTitle,formErrorMsg:MEGA.copy.app.errorSubmittingForm})],modal:true,draggable:false,closeAction:'hide',closable:false});this.passwordHelpObj.show();},getSitesInSurvey:function(surveyId){var queryString='&limit_to_map=&elem_codes=&per_codes=&topo_codes='+'&threat_codes=&dist_codes=&legal_codes=&entry_user=&investigators='+'&offices=&governorates=&surveys='+surveyId+'&ownership=&cond_ratings='+'&threat_ratings=&mon_schedule=&recommendations=&priorities=&free_text=';this.MapToolbar.TasksButton.window.show();this.MapToolbar.TasksButton.window.expand();this.MapToolbar.SearchResults.setSearchType('site');this.MapToolbar.SearchResults.doSearch(MEGA.config.Urls.AdvSiteEleSearch+'query='+queryString);this.MapToolbar.SearchResults.ClusteredResultStore.newResults=true;this.MapToolbar.SearchResults.ClusteredResultStore.baseParams={query:'',sortBy:"nam_name"};Url=MEGA.config.Urls.AdvSiteSearchCluster;this.MapToolbar.SearchResults.ClusteredResultStore.proxy.conn.url=MEGA.config.Urls.AdvSiteSearchCluster+queryString;var zoom=this.Map.getAdjustedZoom();this.MapToolbar.SearchResults.ClusteredResultStore.load({params:{zoom:zoom}});},zoomToCurrentSurvey:function(){this.Map.zoomToGeom(this.currentSurvey.geometry);},state:null,getState:function(){var state={};state.tasksWindowHidden=this.MapToolbar.TasksButton.window.hidden;state.searchWindowHidden=this.MapToolbar.SearchButton.window.hidden;state.panZoomBarPositon=this.Map.getControlsByClass('OpenLayers.Control.PanZoomBar')[0].position;return state;},setState:function(state){this.MapToolbar.TasksButton.window.setVisible(!state.tasksWindowHidden);this.MapToolbar.SearchButton.window.setVisible(!state.searchWindowHidden);this.Map.getControlsByClass('OpenLayers.Control.PanZoomBar')[0].moveTo(state.panZoomBarPositon);},saveState:function(){this.state=this.getState();},restoreState:function(){this.setState(this.state);this.refresh();}};Ext.namespace('MEGA','MEGA.splash');String.prototype.capitalize=function(){return(this.charAt(0).toUpperCase()+this.substr(1).toLowerCase());};MEGA.splash={init:function(){Ext.QuickTips.init();this.User={};this.buildUI();this.applyListeners();},buildUI:function(){this.loginForm=new FGI.widgets.LoginForm({url:MEGA.config.Urls.Login,title:MEGA.copy.Widgets.MapToolbar.Login_btn_text,usernameLabel:MEGA.copy.Widgets.Login.username,passwordLabel:MEGA.copy.Widgets.Login.password,passwordReminderText:MEGA.copy.Widgets.Login.pwdReminderText,passworkErrorText:MEGA.copy.Widgets.Login.errorText,loginMaskText:MEGA.copy.Widgets.Login.loginMaskText,loginButtonText:MEGA.copy.Widgets.Login.loginBtnText,cancelButtonText:MEGA.copy.app.cancelBtnText});this.passwordHelpObj=new Ext.Window({layout:'fit',width:350,height:230,items:[new FGI.widgets.PasswordResetForm({requireQuestionAnswer:true,url:MEGA.config.Urls.ResetPassword,title:MEGA.copy.app.ResetPassword_text,submitBtnText:MEGA.copy.app.submitBtnText,resetPwdBtnText:MEGA.copy.app.ResetPassword_text,cancelBtnText:MEGA.copy.app.cancelBtnText,userNamePromptLabel:MEGA.copy.Widgets.Login.username,securityQuestionLabel:MEGA.copy.Widgets.Login.questionLabel+': ',descriptiveText:'<p style="margin-bottom:15px;">'+MEGA.copy.app.ResetPassword_desc+'</p>',getSecurtyQuestionMask:'Retrieving question...',resettingPwdMask:'Resetting your password...',resetSuccessMsg:MEGA.copy.Widgets.PasswordReset.success,resetErrorMsg:MEGA.copy.Widgets.PasswordChange.errPwdMismatchTitle,formErrorMsg:MEGA.copy.app.errorSubmittingForm})],modal:true,draggable:false,closeAction:'hide',closable:false});this.languageButton=new Ext.SplitButton({id:'languagebutton',text:MEGA.copy.Widgets.MapToolbar.language_btn||'Language',iconCls:'comments',cls:'x-btn-text-icon button',tooltip:{text:MEGA.copy.Widgets.MapToolbar.language_btn_tooltip||'Click here to select a language'},scope:this,menu:new Ext.menu.Menu({scope:this,items:[new Ext.menu.Item(MEGA.actions.englishLangButton),new Ext.menu.Item(MEGA.actions.arabicLangButton)]})});this.loginButton=new FGI.component.ButtonWindow({text:MEGA.copy.Widgets.MapToolbar.Login_btn_text||'Sign In',iconCls:'user_gray',cls:'x-btn-text-icon button',tooltip:{text:MEGA.copy.Widgets.MapToolbar.login_btn_tooltip},windowConfig:{title:'',layout:'fit',width:300,height:185,items:[this.loginForm],modal:true,draggable:false,closeAction:'hide',closable:false,cls:'login-window'}});this.userPrefDropDown=new Ext.SplitButton({id:'userprefsbutton',text:MEGA.copy.Widgets.MapToolbar.preferences,tooltip:{text:MEGA.copy.Widgets.MapToolbar.preferencesTooltip},iconCls:'user_gray',cls:'x-btn-text-icon button',hidden:true,scope:this,menu:new Ext.menu.Menu({scope:this,items:[this.logoutButton=new Ext.menu.Item(MEGA.actions.logoutButton),this.changePasswordButton=new Ext.menu.Item(MEGA.actions.changePasswordButton)]})});this.downloadMSIButton=new FGI.component.ButtonWindow({text:'<span style="font-weight: bold; color: rgb(21, 66, 139);">'+MEGA.copy.app.downloadADW+'</span>',iconCls:'disk',cls:'x-btn-text-icon button',tooltip:{text:MEGA.copy.app.downloadADWTooltip,title:MEGA.copy.app.downloadADW},windowConfig:{layout:'fit',width:500,height:200,title:MEGA.copy.app.downloadADW,modal:true,draggable:false,closeAction:'hide',items:[new MEGA.widgets.ADWMsi({msiTypes:MEGA.config.ADWMsi.msiTypes})],cls:'login-window'}});this.helpButton=new MEGA.widgets.HelpButton();this.disclaimerWindow=new MEGA.widgets.Disclaimer();this.launchButton=new Ext.Window({closable:false,initHidden:false,hidden:false,border:false,html:'<div id="launchButtonText">'+MEGA.copy.app.launchAnonymous+'</div>',bodyStyle:'padding: 2px; color: #1575cf; background-color:#c1cee1; font-weight: bold; font-size: 15px; cursor:pointer',y:10,width:130,height:45,resizable:false,renderTo:'floatingloginbtn'});this.viewport=new Ext.Viewport({layout:'border',items:[{region:'north',height:50,border:false,contentEl:'header'},{region:'center',border:false,contentEl:'main-content',autoScroll:true,tbar:new Ext.Toolbar({cls:'x-panel-header',height:25,items:['->',this.languageButton,'<span style="padding:1px;"/>',this.downloadMSIButton,'<span style="padding:1px;"/>',this.loginButton,this.userPrefDropDown,'<span style="padding:1px;"/>',this.helpButton]})}],listeners:{'afterlayout':{fn:function(){this.launchButton.show();this.getUser();},scope:this,single:true}}});},applyListeners:function(){this.loginForm.on('loginsucceeded',this.login.createDelegate(this));this.loginForm.on('passwordhelpclicked',this.passwordHelpObj.show,this.passwordHelpObj);this.logoutButton.on('click',this.logout.createDelegate(this));this.disclaimerWindow.on('acceptDisclaimer',this.loginAnonymous,this);$('#floatingloginbtn').click(function(){this.disclaimerWindow.show();}.createDelegate(this));$('#floatingloginbtn').hover(function(){$('#launchButtonText').css('color','#15428b').parent().css('background-color','#C9D9EB');},function(){$('#launchButtonText').css('color','#1575cf').parent().css('background-color','#c1cee1');});},launchApp:function(){window.location=window.location.protocol+"//"+window.location.host+window.location.pathname+MEGA.config.Urls.Map+window.location.search;},logout:function(){Ext.Ajax.request({url:MEGA.config.Urls.Logout,scope:this,disableCaching:false,success:function(response,options){this.loginButton.show();this.userPrefDropDown.hide();this.launchButton.disable();this.User={};this.floatingLaunchButton.disable();this.floatingLaunchButton.enable();}});},login:function(responseObj){var mask=new Ext.LoadMask(Ext.getBody(),{msg:MEGA.copy.app.launching+" "+MEGA.copy.app.appName+'...'});mask.show();if(responseObj.response){var response=Ext.decode(responseObj.response.responseText);}else if(responseObj.responseText){var response=Ext.decode(responseObj.responseText);}
this.User=this.setupUser(response.returnObj);this.launchApp();},loginAnonymous:function(){Ext.Ajax.request({url:MEGA.config.Urls.Login,method:'POST',scope:this,disableCaching:false,success:function(response,options){this.getUser();},params:{Name:'',Password:''}});},setupUser:function(returnObj){var theUser=returnObj;var userRoles=returnObj.loggedInuserRole.split(',');theUser.Roles={};Ext.each(userRoles,function(userRole,index,allItems){var myRole=userRole.capitalize();theUser.Roles['is'+myRole]=true;});return theUser;},getUser:function(){Ext.Ajax.request({url:MEGA.config.Urls.GetUser,scope:this,disableCaching:false,success:function(response,options){var ret=Ext.decode(response.responseText);if(ret.success){this.login(response);}}});}};