var iWidth=600;
var iHeight=600;
var scaleRange=null;
var scaleRangeCreated=false;
var overviewMapCreated=false;
var cartoScale=-1;
function errorHandler(_1){
Maps["map"].hideLoading();
setMessageArea("error","Error",_1+": "+(_1.description!=null?_1.description:""));
Logger.error("Error message "+": "+(_1.description!=null?_1.description:_1));
for(var t in _1){
Logger.error(t+",  "+_1[t]);
}
}
DWREngine.setErrorHandler(errorHandler);
function sendServiceInfo(){
var _3=new Object();
_3.requestName="serviceinfo";
_3.getLayers=true;
_3.getQueries=true;
_3.getReports=true;
_3.getButtons=false;
_3.getTools=false;
_3.getSelections=true;
_3.getMapDetails=true;
if(httpParams["restore"]!=null&&(httpParams["restore"]=="on"||httpParams["restore"]=="true")){
_3.getRestore=true;
}
Logger.debug("Calling ServiceInfo");
EView.sendRequest(_3,_serviceInfoHandler);
}
function _serviceInfoHandler(_4){
Logger.debug("Starting to process ServiceInfo response");
scaleRange=_4.scales;
setLanguage(_4.language);
selectionManager.layers=_4.layers;
selectionManager.reports=_4.reports;
_4.layers.each(function(_5){
mapProperties.layers[_5.label]=_5.visible;
});
mapProperties.initialExtent=_4.mapDetails.initialExtent;
mapProperties.limitExtent=_4.mapDetails.limitExtent;
mapProperties.fullExtent=_4.mapDetails.fullExtent;
mapProperties.extent=_4.mapDetails.initialExtent;
mapProperties.mapUnits=_4.mapDetails.mapUnits;
setUser(_4.userid);
serviceInfoEvent.fire(_4);
Logger.debug("Finished processing ServiceInfo response");
}
function guiLoaded(_6){
var _7=Maps["map"];
_7.showLoading();
sendServiceInfo();
}
function mapNeedsRefresh(){
Logger.debug("Refreshing the map");
mapProperties.drawLegend=true;
var _8=$("sidebar");
mapProperties.legendWidth=_8.offsetWidth-20;
var _9=Maps["map"];
var _a=Element.getDimensions("map");
iWidth=_a.width;
iHeight=_a.height;
mapProperties.imageWidth=iWidth;
mapProperties.imageHeight=iHeight;
Logger.debug("Sending data to refresh the map");
_sendMapRequest(mapProperties);
Logger.debug("Checking to see if the overview has been created: "+overviewMapCreated);
if(!overviewMapCreated){
var _b=new Object();
_b.extent=mapProperties.initialExtent;
_b.imageWidth=99;
_b.imageHeight=70;
_b.drawLegend=false;
Logger.debug("Sending data to refresh the overviewmap");
_sendOverviewMapRequest(_b);
overviewMapCreated=true;
}
}
function _sendMapRequest(_c){
if((isFinite(_c.extent.minx))&&(isFinite(_c.extent.miny))&&(isFinite(_c.extent.maxx))&&(isFinite(_c.extent.maxy))){
Logger.info("map extents are: "+_c.extent.minx+" , "+_c.extent.miny+" , "+_c.extent.maxx+" , "+_c.extent.maxy);
}else{
Logger.info("mapProperties.extent in bad state: "+_c.extent.minx+" , "+_c.extent.miny+" , "+_c.extent.maxx+" , "+_c.extent.maxy);
Logger.info("previous mapProperties.extent used: "+_c.backupExtent.minx+" , "+_c.backupExtent.miny+" , "+_c.backupExtent.maxx+" , "+_c.backupExtent.maxy);
_c.extent=_c.backupExtent;
}
Logger.debug("Sending the map request");
var _d=new Object();
_d.requestName="map";
_d.mapProperties=_c;
EView.sendRequest(_d,_mapHandler);
}
function _sendOverviewMapRequest(_e){
var _f=new Object();
Logger.debug("Sending the overview request");
_f.requestName="overview";
_f.mapProperties=_e;
EView.sendRequest(_f,_overviewMapHandler);
}
function sliderCallback(_10){
mapProperties.scale=scaleRange[_10];
callMapRefresh();
}
function _overviewMapHandler(_11){
Overviews["overview"].setExtent(_11.extent);
Overviews["overview"].updateImage(_11.mapUrl);
Overviews["overview"].extentChanged(_11.extent);
}
function _mapHandler(_12){
Logger.debug("Handling the map response");
mapProperties.extent=_12.extent;
mapProperties.backupExtent=_12.extent;
var _13=_12.extent;
mapHistory.insert(_13);
updateScaleInputText("1:"+_12.scale.toFixed(0));
mapProperties.lastMapScale=_12.scale;
mapProperties.scale=-1;
if(!scaleRangeCreated){
}
extentChanged(_12.extent);
Logger.debug("Setting the extent on the Overview map: "+Overviews["overview"]);
if(Overviews["overview"]){
Overviews["overview"].extentChanged(_12.extent);
}
mapProperties.checkScale=false;
mapProperties.highlight=null;
mapProperties.scale=-1;
Logger.debug("About to fire MapRefreshed Event");
mapRefeshedEvent.fire(_12);
}
function createSlider(){
var _14=new SliderObject("mySlider",scaleRange.length,0,sliderCallback,"slider",20,20);
_14.image_top="images/slider_top.gif";
_14.image_bottom="images/slider_bottom.gif";
_14.image_inactive="images/slider_inactive.gif";
_14.image_active="images/vertSlider.png";
_14.image_width=20;
_14.image_height=12;
_14.init();
scaleRangeCreated=true;
}
function updateSelectionInfo(_15,_16){
var _17=_16[0];
setStatus("Updating the selections for layer: "+_17.selection.name);
if(_17.selection.size>0){
updateActiveLayer(_17.label,_17.label+" ("+_17.selection.size+")");
}else{
updateActiveLayer(_17.label,_17.label);
}
}
function updateGuiStateAfterSelection(){
setSelectedItemsCount(selectionManager.getActiveLayer().selection.size);
if(selectionManager.getActiveLayer().selection.truncated){
setMessageArea("warning",getLang("gui.selection.truncated.title"),getLang("gui.selection.truncated.message"));
}
if(mapProperties.checkScale){
if(selectionManager.getActiveLayer().selection.extent){
mapProperties.extent=selectionManager.getActiveLayer().selection.extent;
}
}
mapProperties.selectionLayer=selectionManager.getActiveLayer().name;
callMapRefresh();
mapProperties.checkScale=false;
}
function getLang(_18){
var val="";
if(serviceInfo.data.language[_18]!=null){
return serviceInfo.data.language[_18];
}else{
alert("No i18n value found for: "+_18);
}
}
function sendQuery(_1a,div){
if(valid.validate()){
var _1c=serviceInfo.getQuery(selectionManager.getActiveLayer().name,$("search-query").value);
if(_1c!=null){
var _1d={};
var _1e=false;
var _1f=false;
var _20=Form.getElements("search_container");
for(var i=0;i<_20.length;i++){
if(_20[i].value.length>0&&_20[i].value!=" "){
_1d[_20[i].id]=_20[i].value;
_1e=true;
}
}
if(_1e&&!_1f){
var _22=new Object();
_22.requestName="selectbyattributes";
_22.queryname=_1c.name;
_22.properties=_1d;
_22.operator=_1a;
_22.calculateextent=true;
_22.bufferextent=true;
mapProperties.checkScale=true;
var _23=selectionManager.updateSelections.bind(selectionManager);
EView.sendRequest(_22,_23);
}
}
}
}
function showDocument(_24){
if(_24.documentUrl!=null){
window.open(_24.documentUrl);
}else{
setMessageArea("error",getLang("gui.showdocuments.error.title"),getLang("gui.showdocuments.error.message"));
}
}
guiLoadedEvent.subscribe(guiLoaded);
guiDirtyEvent.subscribe(mapNeedsRefresh);


