+ };
+
+ var isNotEmpty = function() {
+ for(var i in $mapSearchElements)
+ if( ($mapSearchElements[i].attr('id') != prefix + 'country') && ($mapSearchElements[i].val() == '') )
+ return false;
+ return true;
+ };
+
+ var showMap = function() {
+ var searchString = "";
+
+ for(var i in mapSearchStmts) {
+ var stmt = mapSearchStmts[i];
+ if( stmt.charAt(0) == '#' ) {
+ var val = $('#'+ prefix + stmt.substring(1)).val();
+ if( val )
+ searchString += val;
+ }
+ else
+ searchString += stmt;
+ }
+
+ source_address = source_address || '';
+ var query = source_address != '' ? 'saddr=' + encodeURIComponent(source_address) + '&daddr=' : 'q=';
+ var url = 'https://maps.google.com/maps?' + query + encodeURIComponent(searchString);
+
+ window.open(url, '_blank');
+ window.focus();
+ };
+
+ var render = function(widgetWrapper) {
+ init();
+
+ $widgetWrapper = $(widgetWrapper);
+
+ $widgetWrapper
+ .html('<img src="image/map.png" alt="'+ kivi.t8("Map") +'" title="'+ kivi.t8("Map") +'" />')
+ .click(function() {
+ showMap();
+ });
+ for(var i in $mapSearchElements)
+ $mapSearchElements[i].keyup(function() {
+ testInputs();
+ });
+ this.testInputs();
+ };