[Mapbender-commits] r9520 - in trunk/mapbender/http: html javascripts php plugins

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Fri Jun 10 03:30:18 PDT 2016


Author: pschmidt
Date: 2016-06-10 03:30:18 -0700 (Fri, 10 Jun 2016)
New Revision: 9520

Added:
   trunk/mapbender/http/plugins/mod_jsonAutocompleteGazetteerOL.php
Modified:
   trunk/mapbender/http/html/mod_treefolderPlain.php
   trunk/mapbender/http/javascripts/mod_addWMS.php
   trunk/mapbender/http/javascripts/mod_addWMSgeneralFunctions.js
   trunk/mapbender/http/javascripts/mod_gazetteerSQL_client.php
   trunk/mapbender/http/php/mod_createJSObjFromXML.php
   trunk/mapbender/http/plugins/kmlTree.php
   trunk/mapbender/http/plugins/mb_digitize_widget.php
Log:
DE:
Prompt-Box in HTML-Box umge?\195?\164ndert;URL-Pr?\195?\188fung eingebaut; Paramter werden drangeh?\195?\164ngt, wenn sie fehlen; Geladenes WMS ist direkt aktiv

Modified: trunk/mapbender/http/html/mod_treefolderPlain.php
===================================================================
--- trunk/mapbender/http/html/mod_treefolderPlain.php	2016-06-10 07:03:17 UTC (rev 9519)
+++ trunk/mapbender/http/html/mod_treefolderPlain.php	2016-06-10 10:30:18 UTC (rev 9520)
@@ -27,6 +27,7 @@
 <?php
 	echo "mod_treeGDE_map = '".$e_target[0]."';";
 ?>
+// <script language="JavaScript">
 var msgObj = {};
 msgObj.tooltipHandleWms = '<?php echo _mb("(De)activate this service");?>';
 msgObj.tooltipLayerVisible = '<?php echo _mb("Toggles the visibility of this service");?>';

Modified: trunk/mapbender/http/javascripts/mod_addWMS.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_addWMS.php	2016-06-10 07:03:17 UTC (rev 9519)
+++ trunk/mapbender/http/javascripts/mod_addWMS.php	2016-06-10 10:30:18 UTC (rev 9520)
@@ -17,6 +17,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 ?>
+// <script language="JavaScript">
 var mod_addWMS_data = options.requires;
 var mod_addWMS_target1 = options.target[0];
 var mod_addWMS_target2 = options.target[1];
@@ -32,18 +33,64 @@
 		this.src = options.src;
 	}
 });
+//var mod = new function(){
+//    var title = "URL:";
+//
+//    this.addWMS = function(url){
+//        console.log(title + url);
+//    }
+//};
 
-function mod_addWMS(){
-   var load = prompt("Capabilities - URL:","");
-   if(load){
-	//mod_addWMS_load(base64_encode(load));
-	mod_addWMS_load((load));
-	//mod_addWMS_load(base64_encode('http://www.google.de'));
-   }
+function validateUrl(value){
+    return /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900
 -\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);
 }
 
+function paramterbuild(url){
+    if(url.indexOf("?") == -1){
+        url += '?';
+    }
+    //if (url.indexOf("VERSION=") == -1) {
+      //  url += '&VERSION=9.9.9';
+    //}
+    if(url.indexOf("REQUEST=") == -1){
+        url += '&REQUEST=GetCapabilities';
+    }
+    if (url.indexOf("SERVICE=") == -1){
+        url += '&SERVICE=WMS';
+    }
+
+    return url;
+}
+
+function mod_addWMS() {
+    var dialogContainer = $("<form/>")
+    var input = $("<input type='text' name='test'/>");
+    var label = "<div>Capabilities - URL:</div>";
+    var submitButton = $("<input type='submit' title='Speichern'/>");
+
+    submitButton.click(function ( event ) {
+        dialogContainer.dialog("close");
+        event.preventDefault();
+        var url = input.val().trim();
+        if (validateUrl(url)) {
+            mod_addWMS_load(paramterbuild(url));
+        } else {
+            input.css({border: '1px solid #FF435C'});
+            //input.addClass()
+            //debugger;
+            dialogContainer.dialog({title: "Es handelt sich nicht um eine URL."});
+        }
+    });
+
+    dialogContainer.append(label);
+    dialogContainer.append(input);
+    dialogContainer.append(submitButton);
+
+    dialogContainer.dialog({title: "WebMapService hinzufügen"});
+}
+
 function base64_encode(data) {
-   // Encodes string using MIME base64 algorithm 
+   // Encodes string using MIME base64 algorithm
    //
    // version: 909.322
   // discuss at: http://phpjs.org/functions/base64_encode
@@ -61,34 +108,34 @@
     //if (typeof this.window['atob'] == 'function') {
    //    return atob(data);
     //}
-         
+
    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
     var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, enc="", tmp_arr = [];
- 
+
     if (!data) {
         return data;
     }
- 
+
     data = utf8_encode(data+'');
-     
+
     do { // pack three octets into four hexets
         o1 = data.charCodeAt(i++);
         o2 = data.charCodeAt(i++);
         o3 = data.charCodeAt(i++);
- 
+
         bits = o1<<16 | o2<<8 | o3;
- 
+
         h1 = bits>>18 & 0x3f;
         h2 = bits>>12 & 0x3f;
         h3 = bits>>6 & 0x3f;
         h4 = bits & 0x3f;
- 
+
         // use hexets to index into b64, and append result to encoded string
         tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
     } while (i < data.length);
-     
+
     enc = tmp_arr.join('');
-     
+
    switch (data.length % 3) {
         case 1:
             enc = enc.slice(0, -2) + '==';
@@ -97,12 +144,12 @@
             enc = enc.slice(0, -1) + '=';
         break;
     }
- 
+
     return enc;
 }
 
 function utf8_encode ( argString ) {
-    // Encodes an ISO-8859-1 string to UTF-8 
+    // Encodes an ISO-8859-1 string to UTF-8
     //
     // version: 909.322
     // discuss at: http://phpjs.org/functions/utf8_encode
@@ -117,17 +164,17 @@
     // *     example 1: utf8_encode('Kevin van Zonneveld');
     // *     returns 1: 'Kevin van Zonneveld'
     var string = (argString+''); // .replace(/\r\n/g, "\n").replace(/\r/g, "\n");
- 
+
     var utftext = "";
     var start, end;
     var stringl = 0;
- 
+
     start = end = 0;
     stringl = string.length;
     for (var n = 0; n < stringl; n++) {
         var c1 = string.charCodeAt(n);
         var enc = null;
- 
+
         if (c1 < 128) {
             end++;
         } else if (c1 > 127 && c1 < 2048) {
@@ -143,11 +190,11 @@
             start = end = n+1;
         }
     }
- 
+
     if (end > start) {
         utftext += string.substring(start, string.length);
     }
- 
+
     return utftext;
 }
 

Modified: trunk/mapbender/http/javascripts/mod_addWMSgeneralFunctions.js
===================================================================
--- trunk/mapbender/http/javascripts/mod_addWMSgeneralFunctions.js	2016-06-10 07:03:17 UTC (rev 9519)
+++ trunk/mapbender/http/javascripts/mod_addWMSgeneralFunctions.js	2016-06-10 10:30:18 UTC (rev 9520)
@@ -1,217 +1,232 @@
-function mb_mapObjaddWMS(obj){
-	var cnt_layers = 0;
-	var cnt_querylayers = 0;
-	var styles = "";
-	var layers = "";
-	var querylayers = "";
-	var ind = getMapObjIndexByName(obj);
-	//is the id valid?
+function mb_mapObjaddWMS(obj) {
+    var cnt_layers = 0;
+    var cnt_querylayers = 0;
+    var styles = "";
+    var layers = "";
+    var querylayers = "";
+    var ind = getMapObjIndexByName(obj);
+    //is the id valid?
 //	for( var i=0; i<(wms.length-1); i++){
 //		if(parseInt(wms[i].wms_id, 10) >= parseInt(wms[wms.length-1].wms_id, 10)){
 //			wms[wms.length-1].wms_id = parseInt(mb_mapObj[ind].wms[i].wms_id, 10) + 1;
 //		}
 //	} 
-	
-
-	mb_mapObj[ind].wms[mb_mapObj[ind].wms.length] = wms[wms.length-1];
-	mb_mapObj[ind].layers[mb_mapObj[ind].layers.length] = layers;
-	mb_mapObj[ind].styles[mb_mapObj[ind].styles.length] = styles;
-	mb_mapObj[ind].querylayers[mb_mapObj[ind].querylayers.length] = querylayers;  
-	var extArray = mb_mapObj[ind].extent.toString().split(",");
-	var newExt = new Extent(
-		parseFloat(extArray[0]),
-		parseFloat(extArray[1]),
-		parseFloat(extArray[2]),
-		parseFloat(extArray[3])
-	);
-	mb_mapObj[ind].setSrs({
-		srs: mb_mapObj[ind].epsg,
-		extent: new Extent(
-			parseFloat(newExt.minx),
-			parseFloat(newExt.miny),
-			parseFloat(newExt.maxx),
-			parseFloat(newExt.maxy)
-		),
-		displayWarning: true
-	});
-	return true; 
+    mb_mapObj[ind].wms[mb_mapObj[ind].wms.length] = wms[wms.length - 1];
+    mb_mapObj[ind].layers[mb_mapObj[ind].layers.length] = layers;
+    mb_mapObj[ind].styles[mb_mapObj[ind].styles.length] = styles;
+    mb_mapObj[ind].querylayers[mb_mapObj[ind].querylayers.length] = querylayers;
+    var extArray = mb_mapObj[ind].extent.toString().split(",");
+    var newExt = new Extent(
+        parseFloat(extArray[0]),
+        parseFloat(extArray[1]),
+        parseFloat(extArray[2]),
+        parseFloat(extArray[3])
+    );
+    mb_mapObj[ind].setSrs({
+        srs: mb_mapObj[ind].epsg,
+        extent: new Extent(
+            parseFloat(newExt.minx),
+            parseFloat(newExt.miny),
+            parseFloat(newExt.maxx),
+            parseFloat(newExt.maxy)
+        ),
+        displayWarning: true
+    });
+    return true;
 }
-
 function mod_addWMS_load(caps, param) {
-
-	var options = {
-		caps: caps,
-		noHtml: 1
-	};
-	
-	options[mb_session_name] = mb_nr;
-	
-	$.get("../php/mod_createJSObjFromXML.php", options, function (js, status) {
-		var opt = {};
-		
-		if (typeof param !== "undefined") {
-			opt = {
-				callback: typeof param.callback === "function" ? param.callback : function(){
-				},
-				options: {
-					visible: typeof param.visible === "number" ? param.visible : 0,
-					zoomToExtent: typeof param.zoomToExtent === "number" ? param.zoomToExtent : 0
-				}
-			};
-		}
-		mod_addWms_general(js, opt);
-	});
-	
+    var options = {
+        caps: caps,
+        noHtml: 1
+    };
+    options[mb_session_name] = mb_nr;
+    $.get("../php/mod_createJSObjFromXML.php", options, function (js, status) {
+        var opt = {};
+        if (typeof param !== "undefined") {
+            opt = {
+                callback: typeof param.callback === "function" ? param.callback : function () {
+                },
+                options: {
+                    visible: typeof param.visible === "number" ? param.visible : 0,
+                    zoomToExtent: typeof param.zoomToExtent === "number" ? param.zoomToExtent : 0
+                }
+            };
+        }
+        mod_addWms_general(js, opt);
+    });
 }
-
-function mod_addLayer_load(caps, layer_name, param){
-	var options = {
-		caps: caps,
-		layerName: layer_name,
-		noHtml: 1
-	};
-	
-	options[mb_session_name] = mb_nr;
-	
-	$.get("../php/mod_createJSLayerObjFromXML.php", options, function (js, status) {
-
-		var opt = {};
-		
-		if (typeof param !== "undefined") {
-			opt = {
-				callback: typeof param.callback === "function" ? param.callback : function () {},
-				options: {
-					visible: typeof param.visible === "number" ? param.visible : 0,
-					zoomToExtent: typeof param.zoomToExtent === "number" ? 
-						param.zoomToExtent : 0
-				}
-			};
-		}
-		mod_addWms_general(js, opt);
-	});
+function mod_addLayer_load(caps, layer_name, param) {
+    var options = {
+        caps: caps,
+        layerName: layer_name,
+        noHtml: 1
+    };
+    options[mb_session_name] = mb_nr;
+    $.get("../php/mod_createJSLayerObjFromXML.php", options, function (js, status) {
+        var opt = {};
+        if (typeof param !== "undefined") {
+            opt = {
+                callback: typeof param.callback === "function" ? param.callback : function () {
+                },
+                options: {
+                    visible: typeof param.visible === "number" ? param.visible : 0,
+                    zoomToExtent: typeof param.zoomToExtent === "number" ?
+                        param.zoomToExtent : 0
+                }
+            };
+        }
+        mod_addWms_general(js, opt);
+    });
 }
-
-function mod_addWMSById_load(gui_id, wms_id){
-	window.frames.loadData.document.location.href = "../php/mod_createJSObjFromDBByWMS.php?wms_id=" + wms_id + "&gui_id=" + gui_id;
+function mod_addWMSById_load(gui_id, wms_id) {
+    window.frames.loadData.document.location.href = "../php/mod_createJSObjFromDBByWMS.php?wms_id=" + wms_id + "&gui_id=" + gui_id;
 }
-
+// prüfen ob es sich um eine Adresse handelt
+function validateUrl(value) {
+    return /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900
 -\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);
+}
+//baut die URL zusammen, wenn sie fehlerhaft ist
+function paramterbuild(url) {
+    if (url.indexOf("?") == -1) {
+        url += '?';
+    }
+    if (url.indexOf("VERSION=") == -1) {
+        url += '&VERSION=9.9.9';
+    }
+    if (url.indexOf("REQUEST=") == -1) {
+        url += '&REQUEST=GetCapabilities';
+    }
+    if (url.indexOf("SERVICE=") == -1) {
+        url += '&SERVICE=WMS';
+    }
+    return url;
+}
 var mod_addWms_general = function (js, param) {
-	var ind = getMapObjIndexByName('mapframe1');
-	var map = mb_mapObj[ind];
-
-	var success = false;
-	if (js) {
-		var oldWmsCount = wms.length;
-		eval(js);
-		var newWmsCount = wms.length;
-		if (newWmsCount > oldWmsCount) {
-			success = true;
-			mb_mapObjaddWMS('mapframe1');
-			var lastwms = map.wms[map.wms.length - 1];
-			if (param && param.options && typeof param.options.zoomToExtent === "number" && param.options.zoomToExtent === 1) {
-				// zoom to bbox
-				var bbox_minx, bbox_miny, bbox_maxx, bbox_maxy;
-				for (var i = 0; i < lastwms.gui_epsg.length; i++) {
-					if (map.epsg == lastwms.gui_epsg[i]) {
-						bbox_minx = parseFloat(lastwms.gui_minx[i]);
-						bbox_miny = parseFloat(lastwms.gui_miny[i]);
-						bbox_maxx = parseFloat(lastwms.gui_maxx[i]);
-						bbox_maxy = parseFloat(lastwms.gui_maxy[i]);
-						if (bbox_minx === null || bbox_miny === null || bbox_maxx === null || bbox_maxy === null) {
-							continue;
-						}
-						
-						map.calculateExtent(new Mapbender.Extent(bbox_minx, bbox_miny, bbox_maxx, bbox_maxy));
-						map.setMapRequest();
-						break;
-					}
-				}
-			}	
-		}
-	}
-	if (typeof param === "object" 
-		&& typeof param.callback === "function" 
-		&& typeof param.options === "object"
-		) {
-		param.options.success = success;
-		param.callback(param.options);
-	}
-	mb_execloadWmsSubFunctions({
-		wms: map.wms.length > 0 ? map.wms[map.wms.length - 1] : null
-	});
+    var ind = getMapObjIndexByName('mapframe1');
+    var map = mb_mapObj[ind];
+    var success = false;
+    if (js) {
+        var oldWmsCount = wms.length;
+        eval(js);
+        if (errorcall) {
+            var errorcall = errorcall.split("|");
+            var dialogContainer = $("<form/>");
+            if (errorcall[0] == "null") {
+                errorcall[0] = "Fehler";
+            }
+            var input = $("<input type='text' value='" + errorcall[1] + "' name='test'/>");
+            var label = "<div>" + errorcall[0] + "</div>";
+            var submitButton = $("<input type='submit' title='Speichern'/>");
+            submitButton.click(function (event) {
+                dialogContainer.dialog("close");
+                event.preventDefault();
+                var urlError = input.val();
+                if (validateUrl(urlError)) {
+                    mod_addWMS_load(paramterbuild(url));
+                } else {
+                    input.css({border: '1px solid #FF435C'});
+                    dialogContainer.dialog({title: "Es handelt sich nicht um eine URL."});
+                }
+            });
+            dialogContainer.append(label);
+            dialogContainer.append(input);
+            dialogContainer.append(submitButton);
+            dialogContainer.dialog({title: "WebMapService konnte nicht geladen werden"});
+        }
+        var newWmsCount = wms.length;
+        if (newWmsCount > oldWmsCount) {
+            success = true;
+            mb_mapObjaddWMS('mapframe1');
+            var lastwms = map.wms[map.wms.length - 1];
+            if (param && param.options && typeof param.options.zoomToExtent === "number" && param.options.zoomToExtent === 1) {
+                // zoom to bbox
+                var bbox_minx, bbox_miny, bbox_maxx, bbox_maxy;
+                for (var i = 0; i < lastwms.gui_epsg.length; i++) {
+                    if (map.epsg == lastwms.gui_epsg[i]) {
+                        bbox_minx = parseFloat(lastwms.gui_minx[i]);
+                        bbox_miny = parseFloat(lastwms.gui_miny[i]);
+                        bbox_maxx = parseFloat(lastwms.gui_maxx[i]);
+                        bbox_maxy = parseFloat(lastwms.gui_maxy[i]);
+                        if (bbox_minx === null || bbox_miny === null || bbox_maxx === null || bbox_maxy === null) {
+                            continue;
+                        }
+                        map.calculateExtent(new Mapbender.Extent(bbox_minx, bbox_miny, bbox_maxx, bbox_maxy));
+                        map.setMapRequest();
+                        break;
+                    }
+                }
+            }
+        }
+    }
+    if (typeof param === "object"
+        && typeof param.callback === "function"
+        && typeof param.options === "object"
+    ) {
+        param.options.success = success;
+        param.callback(param.options);
+    }
+    mb_execloadWmsSubFunctions({
+        wms: map.wms.length > 0 ? map.wms[map.wms.length - 1] : null
+    });
 };
-
-function mod_addWMSById_ajax (gui_id, wms_id, param) {
-	var options = {
-		wms_id: wms_id,
-		gui_id: gui_id,
-		noHtml: 1
-	};
-	
-	// abort if WMS is already loaded
-	var map = getMapObjByName('mapframe1');
-	var wms = map.getWmsById(wms_id);
-
-	var originalI18nObject = {
-			"messageHint": "Hint",
-			"messageMsg": "The selected service is already activated in your application and will not be included again:"
-	};	
-
-	var translatedI18nObject = Mapbender.cloneObject(originalI18nObject);	
-	
-	if (wms !== null) {
-		try {
-				
-			var $msg = $('<div>' + translatedI18nObject.messageMsg + '<br /><b>' + wms.wms_title + '</b></div>');
-			$msg.dialog({
-					title: translatedI18nObject.messageHint,
-					bgiframe: true,
-					autoOpen: true,
-					modal: false,
-					width: 300,
-					height: 200,
-					pos: [100,50]
-				});			
-		}
-		catch (e) {
-			new Mb_warning(e.message + ". " + translatedI18nObject.messageMsg);
-		}
-		return;		
-	}
-
-	
-	options[mb_session_name] = mb_nr;
-	
-	$.get("../php/mod_createJSObjFromDBByWMS.php", options, function (js, status) {
-		var opt = {};
-		
-		if (typeof param !== "undefined") {
-			opt = {
-				callback: typeof param.callback === "function" ? param.callback : function(){
-				},
-				options: {
-					wmsId: wms_id,
-					appId: gui_id,
-					visible: typeof param.visible === "number" ? param.visible : 0,
-					zoomToExtent: typeof param.zoomToExtent === "number" ? param.zoomToExtent : 0
-				}
-			};
-		}
-		mod_addWms_general(js, opt);
-	});
-	
-	Mapbender.events.localize.register(function(){
-		Mapbender.modules.i18n.queue(options.id, originalI18nObject, function(translatedI18nObject){
-			$('.labelLoadError').text(translatedI18nObject.labelLoadError); 
-			$('.labelUrlBox').text(translatedI18nObject.labelUrlBox); 
-		});
-	});
+function mod_addWMSById_ajax(gui_id, wms_id, param) {
+    var options = {
+        wms_id: wms_id,
+        gui_id: gui_id,
+        noHtml: 1
+    };
+    // abort if WMS is already loaded
+    var map = getMapObjByName('mapframe1');
+    var wms = map.getWmsById(wms_id);
+    var originalI18nObject = {
+        "messageHint": "Hint",
+        "messageMsg": "The selected service is already activated in your application and will not be included again:"
+    };
+    var translatedI18nObject = Mapbender.cloneObject(originalI18nObject);
+    if (wms !== null) {
+        try {
+            var $msg = $('<div>' + translatedI18nObject.messageMsg + '<br /><b>' + wms.wms_title + '</b></div>');
+            $msg.dialog({
+                title: translatedI18nObject.messageHint,
+                bgiframe: true,
+                autoOpen: true,
+                modal: false,
+                width: 300,
+                height: 200,
+                pos: [100, 50]
+            });
+        }
+        catch (e) {
+            new Mb_warning(e.message + ". " + translatedI18nObject.messageMsg);
+        }
+        return;
+    }
+    options[mb_session_name] = mb_nr;
+    $.get("../php/mod_createJSObjFromDBByWMS.php", options, function (js, status) {
+        var opt = {};
+        if (typeof param !== "undefined") {
+            opt = {
+                callback: typeof param.callback === "function" ? param.callback : function () {
+                },
+                options: {
+                    wmsId: wms_id,
+                    appId: gui_id,
+                    visible: typeof param.visible === "number" ? param.visible : 0,
+                    zoomToExtent: typeof param.zoomToExtent === "number" ? param.zoomToExtent : 0
+                }
+            };
+        }
+        mod_addWms_general(js, opt);
+    });
+    Mapbender.events.localize.register(function () {
+        Mapbender.modules.i18n.queue(options.id, originalI18nObject, function (translatedI18nObject) {
+            $('.labelLoadError').text(translatedI18nObject.labelLoadError);
+            $('.labelUrlBox').text(translatedI18nObject.labelUrlBox);
+        });
+    });
 }
-
-
-
-function mod_addWMS_refresh(){
-	mb_mapObjaddWMS('mapframe1');
-	mb_execloadWmsSubFunctions();
-	zoom('mapframe1', true, 0.999);
+function mod_addWMS_refresh() {
+    mb_mapObjaddWMS('mapframe1');
+    mb_execloadWmsSubFunctions();
+    zoom('mapframe1', true, 0.999);
 }

Modified: trunk/mapbender/http/javascripts/mod_gazetteerSQL_client.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_gazetteerSQL_client.php	2016-06-10 07:03:17 UTC (rev 9519)
+++ trunk/mapbender/http/javascripts/mod_gazetteerSQL_client.php	2016-06-10 10:30:18 UTC (rev 9520)
@@ -20,7 +20,7 @@
 ?>
 <!--
 // --- begin: expected element vars ---
-// var scale 
+// var scale
 // var numberOfResults
 // var profile = "adresse" | "alk" | "alb" | "adresse2"
 
@@ -37,7 +37,7 @@
 	var e = new parent.Mb_warning("mod_gazetteerSQL: element var tooManyResultsString is missing.");
 }
 if (typeof(profile) == 'undefined' || (profile != "alb" && profile != "alk" && profile != "adresse" && profile != "adresse2")) {
-	profile = "adresse"
+	profile = "adresse";
 	var e = new parent.Mb_exception("mod_gazetteerSQL: element var profile is missing.");
 }
 
@@ -200,7 +200,7 @@
 		for (var communeId in json.communes) {
 			if (typeof(json.communes[communeId]) != 'function') {
 				var currentNode = document.createElement("option");
-			
+
 				if (document.getElementById('selectCommune').childNodes.length == 0) {
 					currentNode.selected = "selected";
 				}
@@ -216,7 +216,7 @@
 function updateStreets() {
 	executeFunctions(generalPreFunctions);
 	var communeId = document.getElementById('selectCommune').value;
-	
+
 	parent.mb_ajax_json(phpUrl, {"command":"getStreets", "communeId":communeId}, function (json, status) {
 		executeFunctions(generalSubFunctions);
 
@@ -225,11 +225,11 @@
 		for (var streetId in json.streets) {
 			if (typeof(json.streets[streetId]) != 'function') {
 				var currentNode = document.createElement("option");
-	
+
 				if (document.getElementById('selectStreet').childNodes.length == 0) {
 					currentNode.selected = "selected";
 				}
-				
+
 				currentNode.value = json.streets[streetId];
 				currentNode.innerHTML = json.streets[streetId];
 				document.getElementById('selectStreet').appendChild(currentNode);
@@ -243,7 +243,7 @@
 	executeFunctions(generalPreFunctions);
 
 	var communeId = document.getElementById('selectCommune').value;
-	
+
 	parent.mb_ajax_json(phpUrl, {"command":"getDistricts", "communeId":communeId}, function (districtObject, status) {
 		executeFunctions(generalSubFunctions);
 
@@ -252,13 +252,13 @@
 		for (var districtId in districtObject.districts) {
 			if (typeof(districtObject.districts[districtId]) != 'function') {
 				var currentNode = document.createElement("option");
-	
+
 				currentNode.value = districtId;
-	
+
 				if (document.getElementById('selectDistrict').childNodes.length == 0) {
 					currentNode.selected = "selected";
 				}
-				
+
 				currentNode.value = districtObject.districts[districtId];
 				currentNode.innerHTML = districtObject.districts[districtId];
 				document.getElementById('selectDistrict').appendChild(currentNode);
@@ -299,7 +299,7 @@
 
 function updateParcels() {
 	executeFunctions(generalPreFunctions);
-	
+
 	var districtId = document.getElementById('selectDistrict').value;
 	var inputParcel1 = document.getElementById('inputParcel1').value;
 	var inputParcel2 = document.getElementById('inputParcel2').value;
@@ -339,7 +339,7 @@
 	document.getElementById('selectCommune').removeAttribute("disabled");
 	document.getElementById('inputOwner').removeAttribute("disabled");
 	document.getElementById('inputOwnerButton').removeAttribute("disabled");
-	
+
 	if (ownerQueryString != "") {
 		executeFunctions(generalPreFunctions);
 		parent.mb_ajax_json(phpUrl, {"command":"getLandparcelsByOwner", "communeId":communeId, "ownerQueryString":ownerQueryString, "numberOfResults":numberOfResults}, function (json, status) {
@@ -364,7 +364,7 @@
 			}
 			document.getElementById("divResults").innerHTML = resultString;
 			executeFunctions(numberSubFunctions);
-	
+
 		});
 	}
 }

Modified: trunk/mapbender/http/php/mod_createJSObjFromXML.php
===================================================================
--- trunk/mapbender/http/php/mod_createJSObjFromXML.php	2016-06-10 07:03:17 UTC (rev 9519)
+++ trunk/mapbender/http/php/mod_createJSObjFromXML.php	2016-06-10 10:30:18 UTC (rev 9520)
@@ -1,7 +1,7 @@
 <?php
 # $Id$
 # http://www.mapbender.org/index.php/mod_createJSObjFromXML.php
-# Copyright (C) 2002 CCGIS 
+# 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
@@ -17,55 +17,42 @@
 # 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");
-require_once(dirname(__FILE__)."/../classes/class_wms.php");
-require_once(dirname(__FILE__)."/../classes/class_administration.php");
+require_once(dirname(__FILE__) . "/../php/mb_validateSession.php");
+require_once(dirname(__FILE__) . "/../classes/class_wms.php");
+require_once(dirname(__FILE__) . "/../classes/class_administration.php");
 #require_once(dirname(__FILE__)."/../classes/class_mb_exception.php");
 
 $capabilitiesURL = $_REQUEST['caps'];
 $noHtml = intval($_GET["noHtml"]);
-
 $output = "";
 $charset = CHARSET;
-
 $mywms = new wms();
-
-#$e = new mb_exception("mod_createJSObjFromXML: CapUrl encoded to load: ".$capabilitiesURL);
 $caps = $capabilitiesURL;
-#$e = new mb_exception("mod_createJSObjFromXML: CapUrl decodes to load: ".$caps);
 $caps = html_entity_decode($_REQUEST['caps']);
-//$caps = html_entity_decode(base64_decode($_REQUEST['caps']));
 $result = $mywms->createObjFromXML($caps);
 
 if (!$result['success']) {
-	$output .= "try {" . 
-		"Mapbender.Modules.dialogManager.openDialog({" . 
-		"content: '" . $result['message'] . "<br><br><b>" . $capabilitiesURL . 
-		"', modal: false, effectShow: 'puff'});" . 
-		"} catch (e) {" . 
-		"prompt('" . $result['message'] . "', '" . $capabilitiesURL . "');" . 
-		"}";
+
+    $output .= "try {" .
+        "Mapbender.Modules.dialogManager.openDialog({" .
+        "content: '" . $result['message'] . "<br><br><b>" . $capabilitiesURL .
+        "', modal: false, effectShow: 'puff'});" .
+        "} catch (e) {" .
+        "var errorcall = '" . json_encode($result['massage']) . "|" . $capabilitiesURL . "';" .
+        "}";
 }
-/*
-$errorMessage = _mb("Error: The Capabilities Document could not be accessed. " . 
-	"Please check whether the server is responding and accessible to " . 
-	"Mapbender.");
-if (!$mywms->wms_status) { 
-	$output .= "try {" . 
-		"Mapbender.Modules.dialogManager.openDialog({" . 
-		"content: '" . $errorMessage . "<br><br><b>" . $capabilitiesURL . 
-		"', modal: false, effectShow: 'puff'});" . 
-		"} catch (e) {" . 
-		"prompt('" . $errorMessage . "', '" . $capabilitiesURL . "');" . 
-		"}";
-}*/
+
 else {
-	if ($noHtml) {
-		$output .= $mywms->createJsObjFromWMS_(false);
-	}
-	else {
-		$output .= $mywms->createJsObjFromWMS_(true);
-	}
+    // Setzt das geledene WMS in Sichtbar
+    $mywms->gui_wms_visible = 1;
+    for($i=0; $i<count($mywms->objLayer); $i++){
+        $mywms->objLayer[$i]->gui_layer_visible = 1;
+    }
+    if ($noHtml) {
+        $output .=  $mywms->createJsObjFromWMS_(false);
+    } else {
+        $output .= $mywms->createJsObjFromWMS_(true);
+    }
 }
 $js = administration::convertOutgoingString($output);
 unset($output);
@@ -74,25 +61,3 @@
 
 	echo $js;
 }
-else {
-/*
-	$js .= "parent.mod_addWMS_refresh();";
-	echo <<<HTML
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<title>Load WMS</title>
-<meta http-equiv="cache-control" content="no-cache">
-<meta http-equiv="pragma" content="no-cache">
-<meta http-equiv="expires" content="0">
-<meta http-equiv="Content-Type" content="text/html; charset='$charset'">	
-<script type='text/javascript'>
-$js
-</script>
-</head>
-<body>
-</body>
-</html>
-HTML;
-*/
-}

Modified: trunk/mapbender/http/plugins/kmlTree.php
===================================================================
--- trunk/mapbender/http/plugins/kmlTree.php	2016-06-10 07:03:17 UTC (rev 9519)
+++ trunk/mapbender/http/plugins/kmlTree.php	2016-06-10 10:30:18 UTC (rev 9520)
@@ -1,6 +1,7 @@
 <?php
 require_once dirname(__FILE__) . "/../../core/globalSettings.php";
 ?>
+// <script language="JavaScript">
 /**
  * Package: kmlTree
  *
@@ -160,10 +161,11 @@
                         .find('.exportImage').bind('click', function(event) { // add click event to the link image
                             // stop event propagation beacause the following bind has to catch the click events on the 'tr'
                             event.stopPropagation();
-                            if ($('#dataExportDialog').dialog('isOpen') === true) {
+                            var dialog = $('#dataExportDialog');
+                            if (dialog.dialog('isOpen') === true) {
 
-                                $('#dataExportDialog').dialog('close');
-                                $('#dataExportDialog').remove();
+                                dialog.dialog('close');
+                                dialog.remove();
                                 $(this).trigger('click');
 
                             } else {
@@ -181,9 +183,8 @@
                                         of: window
                                     },
                                     close: function() {
-
-                                        $('#dataExportDialog').dialog('destroy');
-                                        $('#dataExportDialog').remove();
+                                        dialog.dialog('destroy');
+                                        dialog.remove();
                                     }
                                 });
                                 // var exportHtmlsdfdsf = '<div id="exportHtml">' + '<form>' + '<label class="export-format-kml">KML<input type="radio" name="export-format" value="kml" checked="checked"></input></label>' + '<label class="export-format-kml">KML<input type="radio" name="export-format" value="kml" checked="checked"></input></label>' + '<label class="export-format-kml">KML<input type="radio" name="export-format" value="kml" checked="checked"></input></label><br><br>' +
@@ -811,30 +812,27 @@
         });
 
         $("button.toggle", $kmlEntry).bind('click', function() {
-            if ($(this).parent().hasClass("open")) {
-                $(this).parent().removeClass("open");
-                $(this).parent().addClass("closed");
+            var parent = $(this).parent();
+            if (parent.hasClass("open")) {
+                parent.removeClass("open");
+                parent.addClass("closed");
             } else {
-                $(this).parent().removeClass("closed");
-                $(this).parent().addClass("open");
+                parent.removeClass("closed");
+                parent.addClass("open");
             }
 
             // IE8 workaround to make style previews visible...
-            $(this).parent().find('ul.ui-sortable li .rvml').removeClass('rvml').addClass('rvml');
+            parent.find('ul.ui-sortable li .rvml').removeClass('rvml').addClass('rvml');
         });
-
-        $('#tabs_kmlTree').bind('click', function() {
-            window.setTimeout(function() {
+        $('#tabs_kmlTree').bind('click', function () {
+            window.setTimeout(function () {
                 // IE8 workaround to make style previews visible...
                 $('#kmlTree').find('ul.ui-sortable li .rvml').removeClass('rvml').addClass('rvml');
             }, 1000);
         });
-
     });
-
-    var setFeatureAttr = function(data) {
+    var setFeatureAttr = function (data) {
         var simpleStyleDefaults = {
-
             "title": "",
             "description": "",
             "marker-size": "medium",
@@ -846,46 +844,29 @@
             "fill": "#555555",
             "fill-opacity": 0.5
         };
-
         if (data.type == 'Feature') {
-
             if (Object.getOwnPropertyNames(data.properties).length === 0 || data.properties === null) {
-
                 data.properties = simplyStyleDefaults;
-
             } else {
-
-                $.each(simpleStyleDefaults, function(index, val) {
-
+                $.each(simpleStyleDefaults, function (index, val) {
                     if (!data.properties.hasOwnProperty(index)) {
-
                         data.properties[index] = value;
                     }
-
                 });
-
             }
-
         } else if (data.type == 'FeatureCollection') {
             // get all features in the featureCollection and set the default properties if they are not set
-            $.each(data.features, function(index, val) {
-
-                $.each(simpleStyleDefaults, function(prop, propVal) {
-
+            $.each(data.features, function (index, val) {
+                $.each(simpleStyleDefaults, function (prop, propVal) {
                     if (!val.properties.hasOwnProperty(prop)) {
 
                         //TODO: get index in this scope
                         data.features[index].properties[prop] = propVal;
                     }
-
                 });
             });
-
         }
-
         return data;
-
-
     };
 };
 

Modified: trunk/mapbender/http/plugins/mb_digitize_widget.php
===================================================================
--- trunk/mapbender/http/plugins/mb_digitize_widget.php	2016-06-10 07:03:17 UTC (rev 9519)
+++ trunk/mapbender/http/plugins/mb_digitize_widget.php	2016-06-10 10:30:18 UTC (rev 9520)
@@ -1,7 +1,6 @@
 <?php
 require_once dirname(__FILE__) . "/../../core/globalSettings.php";
 ?>
-// -*- mode: js3;-*-
 /**
  * Package: digitize_widget
  *
@@ -67,6 +66,7 @@
  * and Simplified BSD license.
  * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
  */
+ // <script language="JavaScript">
 
  var $digitize = $(this);
 

Added: trunk/mapbender/http/plugins/mod_jsonAutocompleteGazetteerOL.php
===================================================================
--- trunk/mapbender/http/plugins/mod_jsonAutocompleteGazetteerOL.php	                        (rev 0)
+++ trunk/mapbender/http/plugins/mod_jsonAutocompleteGazetteerOL.php	2016-06-10 10:30:18 UTC (rev 9520)
@@ -0,0 +1,282 @@
+<?php
+/**
+ * Package: mod_jsonAutocompleteGazetteer
+ *
+ * Description:
+ * This module is a client for a json gazetteer webservice as used by http://www.geonames.org. The default 
+ * service is the service from geonames.org which allows searching for 
+ * 
+ * 
+ * Files:
+ *  - http/plugins/mod_jsonAutocompleteGazetteer.php
+ *
+ * SQL:
+ * >
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, e_title, e_element, e_src,
+ * > e_attributes, e_left, e_top, e_width, e_height, e_z_index, e_more_styles, e_content, e_closetag,
+ * > e_js_file, e_mb_mod, e_target, e_requires, e_url) VALUES('<app_id>','jq_ui_autocomplete',5,1,
+ * > 'Module to manage jQuery UI autocomplete module','','div','','',-1,-1,15,15,NULL ,'','','div',
+ * > '','../extensions/jquery-ui-1.8.16.custom/development-bundle/ui/jquery.ui.autocomplete.js',
+ * > '','jq_ui,jq_ui_widget,jq_ui_position','');
+ * >
+ * > INSERT INTO gui_element(fkey_gui_id, e_id, e_pos, e_public, e_comment, e_title, e_element,
+ * > e_src, e_attributes, e_left, e_top, e_width, e_height, e_z_index, e_more_styles, e_content,
+ * > e_closetag, e_js_file, e_mb_mod, e_target, e_requires, e_url) VALUES('<app_id>',
+ * > 'jsonAutocompleteGazetteer',12,1,'Client for json webservices like geonames.org','Gazetteer',
+ * > 'div','','',230,30,NULL ,NULL ,999,'','','div','../plugins/mod_jsonAutocompleteGazetteer.php',
+ * > '','mapframe1','','http://www.mapbender.org/index.php/mod_jsonAutocompleteGazetteer');
+ * >
+ * > INSERT INTO gui_element_vars(fkey_gui_id, fkey_e_id, var_name, var_value, context, var_type) 
+ * > VALUES('<app_id>', 'jsonAutocompleteGazetteer', 'gazetteerUrl', 'http://ws.geonames.org/searchJSON?lang=de&',
+ * >  '' ,'var');
+ * > 
+ * > INSERT INTO gui_element_vars(fkey_gui_id, fkey_e_id, var_name, var_value, context, var_type)
+ * >  VALUES('<app_id>', 'jsonAutocompleteGazetteer', 'isGeonames', 'true', '' ,'var');
+ * > 
+ * Help:
+ * http://www.mapbender.org/mod_jsonAutocompleteGazetteer
+ *
+ * Maintainer:
+ * http://www.mapbender.org/User:Armin_Retterath
+ * 
+ * Parameters:
+ * none
+ * 
+ *
+ * License:
+ * Copyright (c) 2009, Open Source Geospatial Foundation
+ * This program is dual licensed under the GNU General Public License 
+ * and Simplified BSD license.  
+ * http://svn.osgeo.org/mapbender/trunk/mapbender/license/license.txt
+ */
+require_once(dirname(__FILE__)."/../php/mb_validateSession.php");
+?>
+
+var options = "options";
+var standingHighlight = null;
+
+
+//initialize modul
+
+	options.gazetteerUrl = 'http://www.geoportal.rlp.de/mapbender/geoportal/gaz_geom_mobile.php?';
+
+	options.isGeonames = false;
+
+	options.latLonZoomExtension = 0.1;
+
+	options.minLength = 3;
+
+	options.delay = 400;
+
+	options.isDraggable = true;
+
+	options.maxResults = 15;
+
+	options.inputWidth = 250;
+
+	options.searchEpsg = "4326";
+
+	options.drawCentrePoint = true;
+
+	options.gazetteerFrontImageOn = "../img/button_blue_red/gazetteer3_on.png";
+
+	options.gazetteerFrontImageOff = "../img/button_blue_red/gazetteer3_off.png";
+
+	options.helpText = "";
+
+var JsonAutocompleteGazetteer = function() {
+	var that = this;	
+	var targetName = options.target;
+	//var ind = getMapObjIndexByName(targetName);
+	var my = mb_mapObj[ind];
+
+	this.zoomToExtent = function(fromSrs,minx,miny,maxx,maxy) {
+		var parameters = {
+			fromSrs: fromSrs,
+			toSrs: Mapbender.modules[targetName].epsg 
+		};
+
+		parameters.bbox = parseFloat(minx)+ "," +parseFloat(miny)+ "," +parseFloat(maxx)+ "," +parseFloat(maxy);
+			
+		//function to transform from one crs to another
+		var req = new Mapbender.Ajax.Request({
+			url: "../php/mod_coordsLookup_server.php",
+			method: "transform",
+			parameters: parameters,
+			callback: function (obj, success, message) {
+				if (!success) {
+					new Mapbender.Exception(message);
+					return;
+				}
+				if (options.drawCentrePoint) {
+					//generate layer for visualization of point
+					if(standingHighlight !== null){ 
+						standingHighlight.clean();
+					}else{
+						standingHighlight = new Highlight(
+							[options.target],
+							"standingHighlight", 
+							{"position":"absolute", "top":"0px", "left":"0px", "z-index":999}, 
+							2);
+					}
+					var point0 = new Point(obj.points[0].x,obj.points[0].y);
+					var point1 = new Point(obj.points[1].x,obj.points[1].y);	
+					var x = point0.x + (point1.x - point0.x)/2;
+					var y = point0.y + (point1.y - point0.y)/2;
+					var point = new Point(x,y);
+					var ga = new GeometryArray();
+					ga.importPoint({
+						coordinates:[x,y,null]
+					},Mapbender.modules[targetName].epsg)
+					var m = ga.get(-1,-1);
+					standingHighlight.add(m, "#ff0000");
+					//alert(m);
+					standingHighlight.paint();
+				}
+				if (obj.points) {
+					if (obj.points.length === 2) {
+						var newExtent = new Extent(
+							obj.points[0].x,
+							obj.points[0].y,
+							obj.points[1].x,
+							obj.points[1].y
+						);
+						my.calculateExtent(newExtent);
+					}
+					my.setMapRequest();
+				}
+			} 
+		});
+		req.send();
+	};
+	this.showSearchHelp = function(){
+
+
+	}
+	this.toggleInput = function(){
+		if ($("#geographicName").css("display") == 'none') {
+			$("#geographicName").show();
+			$("#helpSymbolId").show();
+			$("#symboldForInputId").attr({'src':options.gazetteerFrontImageOn});
+		} else {
+			$("#geographicName").hide();
+			$("#helpSymbolId").hide();
+			$("#symboldForInputId").attr({'src':options.gazetteerFrontImageOff});
+		}
+	}
+
+	this.initForm = function() {
+		epsg = Mapbender.modules[targetName].epsg.replace('EPSG:', '');
+		this.formContainer = $(document.createElement('form')).attr({'id':'json-autocomplete-gazetteer'}).appendTo('#' + options.id);
+		this.formContainer.submit(function() {
+			return false;
+		});
+		if (options.isDraggable){
+			//this.formContainer.draggable();//problem with print module
+		}
+		this.symbolForInput = $(document.createElement('img')).appendTo(this.formContainer);
+		this.symbolForInput.attr({'id':'symboldForInputId'});
+		this.symbolForInput.attr({'src':options.gazetteerFrontImageOn});
+		this.symbolForInput.attr({'title':''});
+		$("#symboldForInputId").click(function() {
+			that.toggleInput();
+		});
+		this.inputAddress = $(document.createElement('input')).appendTo(this.formContainer);
+
+		//do the following things only if 
+		if (options.helpText != '') {
+			this.helpSymbol = $(document.createElement('img')).appendTo(this.formContainer);
+
+			this.helpText = $(document.createElement('div')).appendTo(this.formContainer);
+			this.helpText.attr({'id':'helpTextId'});
+			$("#helpTextId").hide();
+			$("#helpTextId").append(options.helpText);
+
+			this.helpSymbol.attr({'id':'helpSymbolId'});
+			this.helpSymbol.attr({'src':'../img/questionmark.png'});
+			this.helpSymbol.attr({'width':'17'});
+			this.helpSymbol.attr({'height':'17'});
+		
+			$("#helpSymbolId").hover(
+				function () {
+    					//create dialog
+					$("#helpTextId").dialog({ title: "Help for address search" });
+  				},
+				function () {
+    					//create dialog
+					$("#helpTextId").dialog('close');
+  				}
+			);
+		}
+		this.inputAddress.attr({'id':'geographicName'});
+		//default value
+		this.inputAddress.val('Search for addresses');
+		this.inputAddress.click(function() {
+			that.inputAddress.val('');
+		});
+		this.inputAddress.css('width',options.inputWidth);
+		$('.ui-menu').css('width','100px');
+		$('.ui-menu-item').css('width','100px');
+		//set the loading symbol for autoloader class
+		//$('.ui-autocomplete-loading').css('background','white url("../img/indicator_wheel.gif") right center no-repeat');
+		//http://stackoverflow.com/questions/622122/how-can-i-change-the-css-class-rules-using-jquery
+		//$("<style type='text/css'> .ui-autocomplete { position: absolute; cursor: default; background:black; color:white} </style>").appendTo("head");
+		$(function() {
+			$( "#geographicName" ).autocomplete({
+				source: function( request, response ) {
+					$.ajax({
+						url: options.gazetteerUrl,
+						dataType: "jsonp",
+						data: {
+							outputFormat: 'json',
+							resultTarget: 'web',
+							searchEPSG: options.searchEpsg,
+							maxResults: options.maxResults,
+							maxRows: options.maxResults,
+							searchText: request.term,
+							featureClass: "P",
+							style: "full",
+							name_startsWith: request.term
+
+						},
+						success: function( data ) {
+							if (options.isGeonames) {
+								response( $.map( data.geonames, function( item ) {
+									return {
+										label: item.name+" - "+item.fclName+" - "+item.countryName,
+										minx: item.lng-options.latLonZoomExtension,
+										miny: item.lat-options.latLonZoomExtension,
+										maxx: item.lng+options.latLonZoomExtension,
+										maxy: item.lat+options.latLonZoomExtension
+									}
+								}));
+							} else {
+								response( $.map( data.geonames, function( item ) {
+									return {
+										label: item.title,
+										minx: item.minx,
+										miny: item.miny,
+										maxx: item.maxx,
+										maxy: item.maxy
+									}
+								}));
+							}
+						}
+					});
+				},
+				minLength: options.minLength,
+				delay: options.delay,
+				select: function( event, ui ) {
+					that.zoomToExtent("EPSG:"+options.searchEpsg,ui.item.minx,ui.item.miny,ui.item.maxx,ui.item.maxy);
+				},
+				open: function() {
+					$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
+				},
+				close: function() {
+					$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
+				}
+			});
+		});
+	}
+	this.initForm();
+}
\ No newline at end of file



More information about the Mapbender_commits mailing list