<?php # $Id$ # http://www.mapbender.org/index.php/mod_forward.php # Copyright (C) 2002 CCGIS # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. require_once(dirname(__FILE__)."/../php/mb_validateSession.php"); echo "var mod_forward_map = '".$e_target[0]."';"; echo "var mod_forward_overview = '".$e_target[1]."';"; ?> var mod_forward_img_off = new Image(); mod_forward_img_off.src = "<?php echo preg_replace("/_off_disabled/","_off",$e_src);?>"; var mod_forward_img_off_disabled = new Image(); mod_forward_img_off_disabled.src = "<?php echo $e_src; ?>"; var mod_forward_img_over = new Image(); mod_forward_img_over.src = "<?php echo preg_replace("/_off_disabled/","_over",$e_src);?>"; var mod_forward_img_previous = mod_forward_img_off_disabled.src; eventAfterMapRequest.register(function (obj) { mod_forward_check(obj.map.elementName); }); $('#<?php echo $e_id;?>').mouseover(function () { mod_forward_over(this); }).mouseout(function() { mod_forward_out(this); }).click(function() { mod_forward_set(); }); var mod_forward_cnt = 0; var mod_forward_hist_cnt = 0; function mod_forward_check(frameName){ var ind = getMapObjIndexByName(frameName); var map = mb_mapObj[ind]; if(!map.mb_MapFutureObj) { map.mb_MapFutureObj = []; } if(frameName == mod_forward_map){ if(map.mb_MapFutureObj.length > 0){ document.getElementById("forward").src = mod_forward_img_off.src; } else{ document.getElementById("forward").src = mod_forward_img_off_disabled.src; mod_forward_img_previous = document.getElementById("forward").src; } } var indForward = getMapObjIndexByName(mod_forward_map); if(mb_mapObj[indForward].mb_MapHistoryObj){ if(mb_mapObj[indForward].mb_MapHistoryObj.length > mod_forward_hist_cnt && mb_mapObj[indForward].mb_MapFutureObj.length == mod_forward_cnt){ mod_forward_reset(); } mod_forward_cnt = mb_mapObj[indForward].mb_MapFutureObj.length; mod_forward_hist_cnt = mb_mapObj[indForward].mb_MapHistoryObj.length; } } function mod_forward_reset(){ var ind = getMapObjIndexByName(mod_forward_map); if (mb_mapObj[ind].mb_MapFutureObj.length > 0){ mb_mapObj[ind].mb_MapFutureObj = []; document.getElementById("forward").src = mod_forward_img_off_disabled.src; mod_forward_img_previous = document.getElementById("forward").src; } } function mod_forward_over(obj){ mod_forward_img_previous = document.getElementById("forward").src; if(document.getElementById("forward").src == mod_forward_img_off.src){ document.getElementById("forward").src = mod_forward_img_over.src; } } function mod_forward_out(obj){ document.getElementById("forward").src = mod_forward_img_previous; } function mod_forward_set(){ if(mod_forward_img_previous == mod_forward_img_off.src){ var ind = getMapObjIndexByName(mod_forward_map); var map = mb_mapObj[ind]; var cnt = map.mb_MapFutureObj.length - 1; if(map.epsg != map.mb_MapFutureObj[cnt].epsg){ var oind = getMapObjIndexByName(mod_forward_overview); var ov = mb_mapObj[oind]; for(var i=0; i<ov.mb_MapHistoryObj.length; i++){ if(ov.mb_MapHistoryObj[i].epsg == map.mb_MapFutureObj[cnt].epsg){ ov.epsg = ov.mb_MapHistoryObj[i].epsg; ov.extent = new Mapbender.Extent(ov.mb_MapHistoryObj[i].extent.min, ov.mb_MapHistoryObj[i].extent.max); ov.setMapRequest(); break; } } } document.getElementById(mod_forward_map).style.width = map.mb_MapFutureObj[cnt].width; document.getElementById(mod_forward_map).style.height = map.mb_MapFutureObj[cnt].height; map.width = map.mb_MapFutureObj[cnt].width; map.height = map.mb_MapFutureObj[cnt].height; map.epsg = map.mb_MapFutureObj[cnt].epsg; map.extent = new Mapbender.Extent(map.mb_MapFutureObj[cnt].extent.min, map.mb_MapFutureObj[cnt].extent.max); map.layers = map.mb_MapFutureObj[cnt].layers; map.styles = map.mb_MapFutureObj[cnt].styles; map.querylayers = map.mb_MapFutureObj[cnt].querylayers; map.mb_MapFutureObj.length = (map.mb_MapFutureObj.length - 1); map.setMapRequest(); } }