var mod_back_img_off = new Image(); mod_back_img_off.src = ""; var mod_back_img_off_disabled = new Image(); mod_back_img_off_disabled.src = ""; var mod_back_img_over = new Image(); mod_back_img_over.src = ""; var mod_back_img_previous = null; var mod_back_cnt = -1; $('#').mouseover(function () { mod_back_over(this); }).mouseout(function() { mod_back_out(this); }).click(function() { mod_back_set(); }); eventAfterMapRequest.register(function (obj) { mb_setHistoryObj(obj.map.elementName); mod_back_check(obj.map.elementName); }); function mod_back_check(frameName){ if(frameName == mod_back_map){ var ind = getMapObjIndexByName(frameName); mod_back_cnt++; if(mb_mapObj[ind].mb_MapHistoryObj.length > 1){ document.getElementById("back").src = mod_back_img_off.src; } else{ document.getElementById("back").src = mod_back_img_off_disabled.src; mod_back_img_previous = document.getElementById("back").src; } } } function mod_back_over(obj){ mod_back_img_previous = document.getElementById("back").src; if(document.getElementById("back").src == mod_back_img_off.src){ document.getElementById("back").src = mod_back_img_over.src; } } function mod_back_out(obj){ document.getElementById("back").src = mod_back_img_previous; } function mod_back_set(){ if(mod_back_img_previous == mod_back_img_off.src){ var ind = getMapObjIndexByName(mod_back_map); if(mb_mapObj[ind].mb_MapFutureObj){ mb_mapObj[ind].mb_setFutureObj(mod_back_cnt); } var cnt = mb_mapObj[ind].mb_MapHistoryObj.length - 2; if(mb_mapObj[ind].epsg != mb_mapObj[ind].mb_MapHistoryObj[cnt].epsg){ var oind = getMapObjIndexByName(mod_back_overview); for(var i=0; i < mb_mapObj[oind].mb_MapHistoryObj.length; i++){ if(mb_mapObj[oind].mb_MapHistoryObj[i].epsg == mb_mapObj[ind].mb_MapHistoryObj[cnt].epsg){ mb_mapObj[oind].epsg = mb_mapObj[oind].mb_MapHistoryObj[i].epsg; mb_mapObj[oind].extent = new Mapbender.Extent(mb_mapObj[oind].mb_MapHistoryObj[i].extent.min, mb_mapObj[oind].mb_MapHistoryObj[i].extent.max); setMapRequest(mod_back_overview); break; } } } document.getElementById(mod_back_map).style.width = mb_mapObj[ind].mb_MapHistoryObj[cnt].width; document.getElementById(mod_back_map).style.height = mb_mapObj[ind].mb_MapHistoryObj[cnt].height; mb_mapObj[ind].width = mb_mapObj[ind].mb_MapHistoryObj[cnt].width; mb_mapObj[ind].height = mb_mapObj[ind].mb_MapHistoryObj[cnt].height; mb_mapObj[ind].epsg = mb_mapObj[ind].mb_MapHistoryObj[cnt].epsg; var extentMin = mb_mapObj[ind].mb_MapHistoryObj[cnt].extent.min; var extentMax = mb_mapObj[ind].mb_MapHistoryObj[cnt].extent.max; var buffer = parseFloat(0.000000001); extentMin.x = extentMin.x - buffer; extentMin.y = extentMin.y - buffer; extentMax.x = extentMax.x - buffer; extentMax.y = extentMax.y - buffer; mb_mapObj[ind].extent = new Mapbender.Extent(extentMin, extentMax); mb_mapObj[ind].extent = new Mapbender.Extent(mb_mapObj[ind].mb_MapHistoryObj[cnt].extent.min, mb_mapObj[ind].mb_MapHistoryObj[cnt].extent.max); mb_mapObj[ind].layers = mb_mapObj[ind].mb_MapHistoryObj[cnt].layers; mb_mapObj[ind].styles = mb_mapObj[ind].mb_MapHistoryObj[cnt].styles; mb_mapObj[ind].querylayers = mb_mapObj[ind].mb_MapHistoryObj[cnt].querylayers; mb_mapObj[ind].mb_MapHistoryObj.length = (mb_mapObj[ind].mb_MapHistoryObj.length - 2); setMapRequest(mod_back_map); } } function mb_setHistoryObj(frameName){ var ind = getMapObjIndexByName(frameName); if(mb_mapObj[ind].mb_MapHistoryObj == null){ mb_mapObj[ind].mb_MapHistoryObj = []; } var cnt = mb_mapObj[ind].mb_MapHistoryObj.length; mb_mapObj[ind].mb_MapHistoryObj[cnt] = new Object(); mb_mapObj[ind].mb_MapHistoryObj[cnt].width = mb_mapObj[ind].width; mb_mapObj[ind].mb_MapHistoryObj[cnt].height = mb_mapObj[ind].height; mb_mapObj[ind].mb_MapHistoryObj[cnt].epsg = mb_mapObj[ind].epsg; // must create a new Mapbender.Extent object! mb_mapObj[ind].mb_MapHistoryObj[cnt].extent = new Mapbender.Extent(mb_mapObj[ind].extent.min, mb_mapObj[ind].extent.max); mb_mapObj[ind].mb_MapHistoryObj[cnt].layers = new Array(); for(var i=0; i