[Mapbender-commits] r3377 - trunk/mapbender/http/javascripts

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Fri Jan 2 04:11:18 EST 2009


Author: christoph
Date: 2009-01-02 04:11:18 -0500 (Fri, 02 Jan 2009)
New Revision: 3377

Modified:
   trunk/mapbender/http/javascripts/map.php
   trunk/mapbender/http/javascripts/map_obj.js
   trunk/mapbender/http/javascripts/mod_back.php
   trunk/mapbender/http/javascripts/mod_forward.php
   trunk/mapbender/http/javascripts/mod_help.php
   trunk/mapbender/http/javascripts/mod_highlightPOI.php
   trunk/mapbender/http/javascripts/mod_navFrame.php
   trunk/mapbender/http/javascripts/mod_tab.js
   trunk/mapbender/http/javascripts/mod_zoomFull.php
   trunk/mapbender/http/javascripts/mod_zoomIn1.php
Log:
http://trac.osgeo.org/mapbender/ticket/343

Modified: trunk/mapbender/http/javascripts/map.php
===================================================================
--- trunk/mapbender/http/javascripts/map.php	2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/map.php	2009-01-02 09:11:18 UTC (rev 3377)
@@ -142,8 +142,12 @@
 //
 // Load JavaScript files of GUI elements
 //
+
+$modulesNotRelyingOnGlobalsArray = explode(",", MODULES_NOT_RELYING_ON_GLOBALS);
+
+echo "\nMapbender.Modules = {};\n";
 $mb_sql = "SELECT DISTINCT e_js_file, e_id, e_src, e_target, e_pos, " .
-		"e_requires FROM gui_element WHERE e_public = 1 AND " .
+		"e_url, e_left, e_top, e_width, e_height, e_requires FROM gui_element WHERE e_public = 1 AND " .
 		"fkey_gui_id = $1 ORDER BY e_pos";
 $mb_v = array($gui_id);
 $mb_t = array("s");
@@ -158,7 +162,22 @@
 			$e_target = explode(",",$row_js["e_target"]);
 			$currentFile = trim($jsArray[$i]);
 			if (file_exists($currentFile)) {
-				require_once($currentFile);
+				if (in_array($e_id, $modulesNotRelyingOnGlobalsArray)) {
+					echo "Mapbender.Modules." . $e_id . " = {
+						init : function () {\n";
+					require_once($currentFile);
+					echo "},\n";
+					echo "id:'".$row_js["e_id"]."',";
+					echo "url:'".$row_js["e_url"]."',";
+					echo "top:'".$row_js["e_top"]."',";
+					echo "left:'".$row_js["e_left"]."',";
+					echo "width:'".$row_js["e_width"]."',";
+					echo "height:'".$row_js["e_height"]."'";
+					echo "};\n";
+				}
+				else {
+					require_once($currentFile);
+				}
 			}
 			else {
 				$e = new mb_exception("Javascript not found: " . $currentFile);
@@ -169,3 +188,8 @@
 	}
 }
 ?>
+eventBeforeInit.register(function () {
+	for (var module in Mapbender.Modules) {
+		Mapbender.Modules[module].init();
+	}
+});

Modified: trunk/mapbender/http/javascripts/map_obj.js
===================================================================
--- trunk/mapbender/http/javascripts/map_obj.js	2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/map_obj.js	2009-01-02 09:11:18 UTC (rev 3377)
@@ -635,6 +635,33 @@
 			
 	};
 	
+	this.mb_setFutureObj = function(mod_back_cnt){
+		var cnt = this.mb_MapFutureObj.length;
+		this.mb_MapFutureObj[cnt] = {};
+		this.mb_MapFutureObj[cnt].reqCnt = mod_back_cnt;
+		this.mb_MapFutureObj[cnt].width = this.width;
+		this.mb_MapFutureObj[cnt].height = this.height;
+		this.mb_MapFutureObj[cnt].epsg = this.epsg;
+		this.mb_MapFutureObj[cnt].extent = this.extent;
+		this.mb_MapFutureObj[cnt].layers = [];
+		
+		for(var i=0; i<this.layers.length;i++){
+			this.mb_MapFutureObj[cnt].layers[i] = this.layers[i];
+		}
+
+		this.mb_MapFutureObj[cnt].styles = [];
+
+		for(var i=0; i < this.styles.length;i++){
+			this.mb_MapFutureObj[cnt].styles[i] = this.styles[i];
+		}
+
+		this.mb_MapFutureObj[cnt].querylayers = [];
+
+		for(var i=0; i < this.querylayers.length; i++) {
+			this.mb_MapFutureObj[cnt].querylayers[i] = this.querylayers[i];
+		}
+	}
+	
 	this.setMapRequest = function(){
 		var functionName = 'setMapRequest';
 		

Modified: trunk/mapbender/http/javascripts/mod_back.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_back.php	2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_back.php	2009-01-02 09:11:18 UTC (rev 3377)
@@ -23,20 +23,34 @@
 echo "var mod_back_overview = '".$e_target[1]."';";
 
 ?>
-var mb_MapHistoryObj = new Array();
-var mod_back_img_off = new Image(); mod_back_img_off.src = "<?php  echo preg_replace("/_off_disabled/","_off",$e_src);  ?>";
-var mod_back_img_off_disabled = new Image(); mod_back_img_off_disabled.src = "<?php  echo $e_src;  ?>";
-var mod_back_img_over = new Image(); mod_back_img_over.src = "<?php  echo preg_replace("/_off_disabled/","_over",$e_src);  ?>";
+var mod_back_img_off = new Image(); 
+mod_back_img_off.src = "<?php  echo preg_replace("/_off_disabled/","_off",$e_src);  ?>";
+var mod_back_img_off_disabled = new Image(); 
+mod_back_img_off_disabled.src = "<?php  echo $e_src;  ?>";
+var mod_back_img_over = new Image(); 
+mod_back_img_over.src = "<?php  echo preg_replace("/_off_disabled/","_over",$e_src);  ?>";
 var mod_back_img_previous = null;
 var mod_back_cnt = -1;
 
-mb_registerSubFunctions("mb_setHistoryObj(frameName)");
-mb_registerSubFunctions("mod_back_check(frameName)");
+$('#<?php echo $e_id;?>').mouseover(function () {
+	mod_back_over(this);
+}).mouseout(function() {
+	mod_back_out(this);
+}).click(function() {
+	mod_back_set();
+});
 
+eventAfterMapRequest.register(function (obj) {
+	mb_setHistoryObj(obj.frameName);
+	mod_back_check(obj.frameName);
+});
+
+
 function mod_back_check(frameName){
 	if(frameName == mod_back_map){
+		var ind = getMapObjIndexByName(frameName);
 		mod_back_cnt++;
-		if(mb_MapHistoryObj[mod_back_map].length > 1){
+		if(mb_mapObj[ind].mb_MapHistoryObj.length > 1){
 			document.getElementById("back").src =  mod_back_img_off.src;
 		}
 		else{
@@ -58,56 +72,56 @@
 
 function mod_back_set(){
 	if(mod_back_img_previous ==  mod_back_img_off.src){
-		if(mb_MapFutureObj){
-			mb_setFutureObj(mod_back_map);
+		var ind = getMapObjIndexByName(mod_back_map);
+		if(mb_mapObj[ind].mb_MapFutureObj){
+			mb_mapObj[ind].mb_setFutureObj(mod_back_cnt);
 		}
-		var ind = getMapObjIndexByName(mod_back_map);
-		var cnt = mb_MapHistoryObj[mod_back_map].length - 2;
-		if(mb_mapObj[ind].epsg != mb_MapHistoryObj[mod_back_map][cnt].epsg){
+		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_MapHistoryObj[mod_back_overview].length; i++){
-				if(mb_MapHistoryObj[mod_back_overview][i].epsg == mb_MapHistoryObj[mod_back_map][cnt].epsg){
-					mb_mapObj[oind].epsg = mb_MapHistoryObj[mod_back_overview][i].epsg;
-					mb_mapObj[oind].extent = mb_MapHistoryObj[mod_back_overview][i].extent;
+			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 = mb_mapObj[oind].mb_MapHistoryObj[i].extent;
 					setMapRequest(mod_back_overview);
 					break;
 				}
 			}
 		}
-		document.getElementById(mod_back_map).style.width = mb_MapHistoryObj[mod_back_map][cnt].width;
-		document.getElementById(mod_back_map).style.height = mb_MapHistoryObj[mod_back_map][cnt].height;     
-		mb_mapObj[ind].width = mb_MapHistoryObj[mod_back_map][cnt].width;
-		mb_mapObj[ind].height = mb_MapHistoryObj[mod_back_map][cnt].height;     
-		mb_mapObj[ind].epsg = mb_MapHistoryObj[mod_back_map][cnt].epsg;
-		mb_mapObj[ind].extent = mb_MapHistoryObj[mod_back_map][cnt].extent;
-		mb_mapObj[ind].layers = mb_MapHistoryObj[mod_back_map][cnt].layers;
-		mb_mapObj[ind].styles = mb_MapHistoryObj[mod_back_map][cnt].styles;
-		mb_mapObj[ind].querylayers = mb_MapHistoryObj[mod_back_map][cnt].querylayers;
-		mb_MapHistoryObj[mod_back_map].length = (mb_MapHistoryObj[mod_back_map].length - 2);
+		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;
+		mb_mapObj[ind].extent = mb_mapObj[ind].mb_MapHistoryObj[cnt].extent;
+		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){
-	if(mb_MapHistoryObj[frameName] == null){
-		mb_MapHistoryObj[frameName] = new Array();
+	var ind = getMapObjIndexByName(frameName);
+	if(mb_mapObj[ind].mb_MapHistoryObj == null){
+		mb_mapObj[ind].mb_MapHistoryObj = [];
 	}
-	var ind = getMapObjIndexByName(frameName);
-	var cnt = mb_MapHistoryObj[frameName].length;
-	mb_MapHistoryObj[frameName][cnt] = new Object();
-	mb_MapHistoryObj[frameName][cnt].width = mb_mapObj[ind].width;
-	mb_MapHistoryObj[frameName][cnt].height = mb_mapObj[ind].height;
-	mb_MapHistoryObj[frameName][cnt].epsg = mb_mapObj[ind].epsg;
-	mb_MapHistoryObj[frameName][cnt].extent = mb_mapObj[ind].extent;
-	mb_MapHistoryObj[frameName][cnt].layers = new Array();
+	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;
+	mb_mapObj[ind].mb_MapHistoryObj[cnt].extent = mb_mapObj[ind].extent;
+	mb_mapObj[ind].mb_MapHistoryObj[cnt].layers = new Array();
 	for(var i=0; i<mb_mapObj[ind].layers.length;i++){
-		mb_MapHistoryObj[frameName][cnt].layers[i] = mb_mapObj[ind].layers[i];
+		mb_mapObj[ind].mb_MapHistoryObj[cnt].layers[i] = mb_mapObj[ind].layers[i];
 	}
-	mb_MapHistoryObj[frameName][cnt].styles = new Array();
+	mb_mapObj[ind].mb_MapHistoryObj[cnt].styles = [];
 	for(var i=0; i<mb_mapObj[ind].styles.length;i++){
-		mb_MapHistoryObj[frameName][cnt].styles[i] = mb_mapObj[ind].styles[i];
+		mb_mapObj[ind].mb_MapHistoryObj[cnt].styles[i] = mb_mapObj[ind].styles[i];
 	}
-	mb_MapHistoryObj[frameName][cnt].querylayers = new Array();
+	mb_mapObj[ind].mb_MapHistoryObj[cnt].querylayers = [];
 	for(var i=0; i<mb_mapObj[ind].querylayers.length;i++){
-		mb_MapHistoryObj[frameName][cnt].querylayers[i] = mb_mapObj[ind].querylayers[i];
+		mb_mapObj[ind].mb_MapHistoryObj[cnt].querylayers[i] = mb_mapObj[ind].querylayers[i];
 	}
 }

Modified: trunk/mapbender/http/javascripts/mod_forward.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_forward.php	2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_forward.php	2009-01-02 09:11:18 UTC (rev 3377)
@@ -22,7 +22,6 @@
 echo "var mod_forward_overview = '".$e_target[1]."';";
 
 ?>
-var mb_MapFutureObj = new Array();
 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(); 
@@ -30,16 +29,30 @@
 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.frameName);
+});
+
+$('#<?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;
-mb_registerSubFunctions("mod_forward_check(frameName)");
 
 function mod_forward_check(frameName){
-	if(mb_MapFutureObj[frameName] == null){
-		mb_MapFutureObj[frameName] = new Array();
+	var ind = getMapObjIndexByName(frameName);
+	var map = mb_mapObj[ind];
+	if(!map.mb_MapFutureObj) {
+		map.mb_MapFutureObj = [];
 	}
 	if(frameName == mod_forward_map){
-		if(mb_MapFutureObj[mod_forward_map].length > 0){
+		if(map.mb_MapFutureObj.length > 0){
 			document.getElementById("forward").src =  mod_forward_img_off.src;
 		}
 		else{
@@ -47,77 +60,63 @@
 			mod_forward_img_previous = document.getElementById("forward").src;
 		}
 	}
-	if(mb_MapHistoryObj[mod_forward_map]){
-		if(mb_MapHistoryObj[mod_forward_map].length > mod_forward_hist_cnt && mb_MapFutureObj[mod_forward_map].length == mod_forward_cnt){
+	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_MapFutureObj[mod_forward_map].length;
-		mod_forward_hist_cnt = mb_MapHistoryObj[mod_forward_map].length;
+		mod_forward_cnt = mb_mapObj[indForward].mb_MapFutureObj.length;
+		mod_forward_hist_cnt = mb_mapObj[indForward].mb_MapHistoryObj.length;
 	}
 }
 function mod_forward_reset(){
-	if(mb_MapHistoryObj[mod_forward_map].length > 0){
-		mb_MapFutureObj[mod_forward_map] = new Array();
-		document.getElementById("forward").src =  mod_forward_img_off_disabled.src;
+	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 cnt = mb_MapFutureObj[mod_forward_map].length - 1;
-		if(mb_mapObj[ind].epsg != mb_MapFutureObj[mod_forward_map][cnt].epsg){
+		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);
-			for(var i=0; i<mb_MapHistoryObj[mod_forward_overview].length; i++){
-				if(mb_MapHistoryObj[mod_forward_overview][i].epsg == mb_MapFutureObj[mod_forward_map][cnt].epsg){
-					mb_mapObj[oind].epsg = mb_MapHistoryObj[mod_forward_overview][i].epsg;
-					mb_mapObj[oind].extent = mb_MapHistoryObj[mod_forward_overview][i].extent;
-					setMapRequest(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 = ov.mb_MapHistoryObj[i].extent;
+					ov.setMapRequest();
 					break;
 				}
 			}
 		}
-		document.getElementById(mod_forward_map).style.width = mb_MapFutureObj[mod_forward_map][cnt].width;
-		document.getElementById(mod_forward_map).style.height = mb_MapFutureObj[mod_forward_map][cnt].height;     
-		mb_mapObj[ind].width = mb_MapFutureObj[mod_forward_map][cnt].width;
-		mb_mapObj[ind].height = mb_MapFutureObj[mod_forward_map][cnt].height;
-		mb_mapObj[ind].epsg = mb_MapFutureObj[mod_forward_map][cnt].epsg;
-		mb_mapObj[ind].extent = mb_MapFutureObj[mod_forward_map][cnt].extent;
-		mb_mapObj[ind].layers = mb_MapFutureObj[mod_forward_map][cnt].layers;
-		mb_mapObj[ind].styles = mb_MapFutureObj[mod_forward_map][cnt].styles;
-		mb_mapObj[ind].querylayers = mb_MapFutureObj[mod_forward_map][cnt].querylayers;
-		mb_MapFutureObj[mod_forward_map].length = (mb_MapFutureObj[mod_forward_map].length - 1);
-		setMapRequest(mod_forward_map);
+		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 = map.mb_MapFutureObj[cnt].extent;
+		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();
 	}
 }
-function mb_setFutureObj(frameName){
-	var ind = getMapObjIndexByName(frameName);
-	var cnt = mb_MapFutureObj[frameName].length;
-	mb_MapFutureObj[frameName][cnt] = new Object();
-	mb_MapFutureObj[frameName][cnt].reqCnt = mod_back_cnt;
-	mb_MapFutureObj[frameName][cnt].width = mb_mapObj[ind].width;
-	mb_MapFutureObj[frameName][cnt].height = mb_mapObj[ind].height;
-	mb_MapFutureObj[frameName][cnt].epsg = mb_mapObj[ind].epsg;
-	mb_MapFutureObj[frameName][cnt].extent = mb_mapObj[ind].extent;
-	mb_MapFutureObj[frameName][cnt].layers = new Array();
-	for(var i=0; i<mb_mapObj[ind].layers.length;i++){
-		mb_MapFutureObj[frameName][cnt].layers[i] = mb_mapObj[ind].layers[i];
-	}
-	mb_MapFutureObj[frameName][cnt].styles = new Array();
-	for(var i=0; i<mb_mapObj[ind].styles.length;i++){
-		mb_MapFutureObj[frameName][cnt].styles[i] = mb_mapObj[ind].styles[i];
-	}
-	mb_MapFutureObj[frameName][cnt].querylayers = new Array();
-	for(var i=0; i<mb_mapObj[ind].querylayers.length;i++){
-		mb_MapFutureObj[frameName][cnt].querylayers[i] = mb_mapObj[ind].querylayers[i];
-	}
-}
\ No newline at end of file
+

Modified: trunk/mapbender/http/javascripts/mod_help.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_help.php	2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_help.php	2009-01-02 09:11:18 UTC (rev 3377)
@@ -22,33 +22,76 @@
 ?>
 try{if(mod_help_color){}}catch(e){mod_help_color = '#cc33cc';}
 try{if(mod_help_thickness){}}catch(e){mod_help_color = 3;}
-var mod_help_elName = "help";
+try{if(mod_help_width){}}catch(e){mod_help_width = 1000;}
+try{if(mod_help_height){}}catch(e){mod_help_height = 1000;}
+try{if(mod_help_text){}}catch(e){mod_help_text = "<?php echo _mb("click highlighted elements for help");?>"}
+var mod_help_elName = "<?php echo $e_id; ?>";
 var mod_help_str = "";
 var mod_help_img_on = new Image(); mod_help_img_on.src =  "<?php  echo preg_replace("/_off/","_on",$e_src);  ?>";
 var mod_help_img_off = new Image(); mod_help_img_off.src ="<?php  echo $e_src;  ?>";
 var mod_help_img_over = new Image(); mod_help_img_over.src = "<?php  echo preg_replace("/_off/","_over",$e_src);  ?>";
 
-function init_help(ind){
+mb_regButton(function (ind) {
 	mb_button[ind] = document.getElementById(mod_help_elName);
 	mb_button[ind].img_over = mod_help_img_over.src;
 	mb_button[ind].img_on = mod_help_img_on.src;
 	mb_button[ind].img_off = mod_help_img_off.src;
 	mb_button[ind].status = 0;
 	mb_button[ind].elName = mod_help_elName;
-	mb_button[ind].go = new Function ("mod_help_click()");
-	mb_button[ind].stop = new Function ("mod_help_disable()");
-}
+	mb_button[ind].go = function () {
+		mod_help_click();
+	};
+	mb_button[ind].stop = function () {
+		mod_help_disable();
+	};
+});
+
 function mod_help_click(){
-	if(!document.getElementById('mod_help_img')){
 		//create html tags
 		mod_help_set();
 		//request help string
-		mb_ajax_post("../php/mod_help.php?gui_id=<?php echo $gui_id ?>", null, mod_help_set_str);
+		var usemapHtml = "";
+		for (var module in Mapbender.Modules) {
+			var currentModule = Mapbender.Modules[module];
+			var top = parseInt(currentModule.top) || 0;
+			var left = parseInt(currentModule.left) || 0;
+			var width = parseInt(currentModule.width) || 0;
+			var height = parseInt(currentModule.height) || 0;
+			
+			usemapHtml += "<area id='helpArea_" + module + "' " + 
+				"shape='rect' coords='" + left + "," + 
+				top + "," + (parseInt(left + width)) + "," + 
+				parseInt(top + height) + "' href='#' " + 
+				"alt='" + ((currentModule.id == mod_help_elName) ? mod_help_text : "HELP: " + currentModule.url) + "' " +
+				"title='" + ((currentModule.id == mod_help_elName) ? mod_help_text : "HELP: " + currentModule.url) + "' " + 
+				"nohref />";
+
+		}		
+			
+		var transparentImgHtml = "<img src='../img/transparent.gif' style='cursor:help' " + 
+			"width='" + mod_help_width + "' height='" + mod_help_height + 
+			"' usemap='#mod_help_imagemap' border='0'>";
+		
+		var html = "<div id='helpMapContainer'>" + transparentImgHtml + "<map name='mod_help_imagemap'>" + usemapHtml + "</map></div>";
+
+		$('#mod_help_img').empty().html(html);
+
+		for (var module in Mapbender.Modules) {
+			(function () {
+				var currentModule = Mapbender.Modules[module];
+				$("#helpArea_" + module).click(function () {
+					mod_help_disable();
+					var w = window.open(currentModule.url, "help");
+				});
+			}());
+		}
+			
+		mod_help_set_str();
 		return;
-	}
 	
-	mod_help_set_str(mod_help_str, "success");
+	mod_help_set_str();
 }
+
 function mod_help_disable(){
 	document.getElementById('mod_help_img').innerHTML = '';
 	document.getElementById('mod_help_img').style.width = '0px';
@@ -79,9 +122,7 @@
 	
 	return true;
 }
-function mod_help_set_str(str, status){
-	mod_help_str = str;
-	document.getElementById('mod_help_img').innerHTML = mod_help_str;
+function mod_help_set_str(){
 	mod_help_update();
 	mod_help_draw();
 }
@@ -89,14 +130,22 @@
 function mod_help_update(){
 	//try to update tab coords
 	try{
-		for(var j=0;j< tabs.count(); j++){
-			var ta = tabs.get(j);
-			var area = document.getElementById("helpArea_"+ta.module);
-			if(area)
-				area.coords = tabs.getCoords(ta.module);
+		for (var module in Mapbender.Modules) {
+			var tab = $("#tabs_" + module).get(0);
+			if (tab) {
+				var area = $("#helpArea_" + module).get(0);			
+				var top = parseInt(tab.style.top);
+				var left = parseInt(tab.style.left);
+				var width = parseInt(tab.style.width);
+				var height = parseInt(tab.style.height);
+				var lly = parseInt(top-height);
+				var urx = parseInt(left+width);
+				area.coords = left + "," + lly + "," + urx + "," + top;
+			}
 		}
 	}
 	catch(e){
+		console.log(e);
 	}
 }
 

Modified: trunk/mapbender/http/javascripts/mod_highlightPOI.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_highlightPOI.php	2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_highlightPOI.php	2009-01-02 09:11:18 UTC (rev 3377)
@@ -52,8 +52,12 @@
 	poi_style = 'background-color:white;font-weight: bold;color:black;font-family:Arial;';
 }
 
-mb_registerInitFunctions('mod_highlightPOI_init()');
-mb_registerSubFunctions('mod_highlightPOI_draw()');
+eventInit.register(function () {
+	mod_highlightPOI_init();
+});
+eventAfterMapRequest.register(function () {
+	mod_highlightPOI_draw();
+});
 
 var mod_highlightPOI_minx;
 var mod_highlightPOI_miny;
@@ -135,4 +139,4 @@
     tagSource += "</div>";
   }
   writeTag(mod_highlightPOI_target, "permanent", tagSource);
-}
\ No newline at end of file
+}

Modified: trunk/mapbender/http/javascripts/mod_navFrame.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_navFrame.php	2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_navFrame.php	2009-01-02 09:11:18 UTC (rev 3377)
@@ -30,8 +30,20 @@
 	mod_navFrame_ext = 10;
 }
 
-mb_registerSubFunctions("mod_navFrame_arrange()");
+eventAfterMapRequest.register(function () {
+	mod_navFrame_arrange();
+});
 
+var directionArray = ["N", "NE", "E", "SE", "S", "SW", "W", "NW"];
+for (var i in directionArray) {
+	(function () {
+		var currentDirection = directionArray[i];
+		$("#mb"+currentDirection).click(function () {
+			mod_navFrame(currentDirection);
+		});
+	}());
+}
+
 function  mod_navFrame_arrange(){
 	var el = document.getElementById(mod_navFrame_target).style;
 	var ext = mod_navFrame_ext;

Modified: trunk/mapbender/http/javascripts/mod_tab.js
===================================================================
--- trunk/mapbender/http/javascripts/mod_tab.js	2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_tab.js	2009-01-02 09:11:18 UTC (rev 3377)
@@ -15,14 +15,12 @@
 
 var tabs;
 
-mb_registerInitFunctions('tab_init()');
-
-
 eventLocalize.register(function () {
 	localizeTabs();
 });
 
 eventInit.register(function () {
+	tab_init();
 	localizeTabs();
 });
 
@@ -166,6 +164,7 @@
 		this.add(tab);
 
 		document.getElementById(id).style.visibility = 'hidden';
+		document.getElementById(id).style.display = 'none';
 
 		// append the new tab
 		rootNode.appendChild(this.get(-1).getNode());
@@ -418,6 +417,7 @@
 			obj.width = tabWidth;
 			obj.height = (parseInt(that.get(index).height, 10) - 2);
 			obj.visibility = 'visible';
+			obj.display = 'block';
 		}
 	};
 
@@ -431,7 +431,9 @@
 		for (var i = 0; i < that.count(); i++) {
 			that.get(i).animationFinished = false;
 		}
-		tabInterval = setInterval("tabs.animate('"+openOrClose+"')",1);
+		tabInterval = setInterval(function(){
+			tabs.animate(openOrClose);
+		},1);
 	};
 	
 	/**

Modified: trunk/mapbender/http/javascripts/mod_zoomFull.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_zoomFull.php	2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_zoomFull.php	2009-01-02 09:11:18 UTC (rev 3377)
@@ -9,22 +9,25 @@
    mod_zoomFull_img_over.src = "<?php  echo preg_replace("/_off/","_over",$e_src);  ?>";
 
 function mod_zoomFull(){
-    var ind         = this.getMapObjIndexByName("<?php  echo $e_target[0];  ?>");		
-		var arrayThemen = new Array();
-		var arrayThemen = mb_mapObj[ind].wms[0].objLayer[0].layer_name;
-		this.Layer0     = arrayThemen;
-		//alert(mb_mapObj[ind].width + " - " + mb_mapObj[ind].height);
-		this.width      = mb_mapObj[ind].width;
-		this.height     = mb_mapObj[ind].height;
-      this.epsg       = wms[0].gui_wms_epsg;
-		//mb_mapObj[ind].epsg = "EPSG:31493";
-    //alert(Layer0);
-		var arrayExt = new Array();		
-		var frameName = "<?php  echo $e_target[0];  ?>"
-		var exts = setExtent(width,height,epsg);
-		arrayExt = exts.split(",");
+	var frameName = "<?php  echo $e_target[0];  ?>"
+	var ind = this.getMapObjIndexByName(frameName);		
+	var width = mb_mapObj[ind].width;
+	var height = mb_mapObj[ind].height;
+
+	// find bounding box of 
+	// first WMS in correct crs
+	// and repaint
+	for (var i = 0; i < wms[0].gui_epsg.length; i++) {
+		if (wms[0].gui_epsg[i] == wms[0].gui_wms_epsg) {
 		
-		mb_repaint(frameName,arrayExt[0],arrayExt[1],arrayExt[2],arrayExt[3]);
+			var min = new Point(parseFloat(wms[0].gui_minx[i]), parseFloat(wms[0].gui_miny[i]));
+			var max = new Point(parseFloat(wms[0].gui_maxx[i]), parseFloat(wms[0].gui_maxy[i]));     
+		
+			mb_mapObj[ind].repaint(min, max)
+			return true;
+		}
+	}
+	return false;
 }
 
 function mod_zoomFull_init(obj){

Modified: trunk/mapbender/http/javascripts/mod_zoomIn1.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_zoomIn1.php	2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_zoomIn1.php	2009-01-02 09:11:18 UTC (rev 3377)
@@ -19,14 +19,18 @@
 
 require_once(dirname(__FILE__)."/../php/mb_validatePermission.php");
 ?>
+var zoomin1Id = '<?php echo $e_id; ?>';
 var mod_zoom1_img = new Image(); 
 mod_zoom1_img.src = "<?php  echo $e_src;  ?>";
 var mod_zoom1_img_over = new Image(); 
 mod_zoom1_img_over.src = "<?php  echo preg_replace("/_off/","_over",$e_src);  ?>";
 
-function mod_zoomIn1(){
-	zoom("<?php  echo $e_target[0];  ?>", true,2.0);
-}
+var $zoomin1Button = $("#"+zoomin1Id);
+
+$zoomin1Button.click(function () {
+	zoom("<?php  echo $e_target[0];  ?>", true, 2.0);
+});
+
 function mod_zoomIn1_init(obj){
 	document.getElementById("zoomIn1").src = mod_zoom1_img_over.src;
 	obj.onmouseover = new Function("mod_zoomIn1_over()");
@@ -38,3 +42,4 @@
 function mod_zoomIn1_out(){
 	document.getElementById("zoomIn1").src = mod_zoom1_img.src;
 }
+



More information about the Mapbender_commits mailing list