(function(){var d=null;function e(a){return function(b){this[a]=b}}function h(a){return function(){return this[a]}}var j;function k(a,b,c){this.extend(k,google.maps.OverlayView);this.c=a;this.a=[];this.f=[];this.ca=[53,56,66,78,90];this.j=[];this.A=!1;c=c||{};this.g=c.gridSize||60;this.l=c.minimumClusterSize||2;this.J=c.maxZoom||d;this.j=c.styles||[];this.X=c.imagePath||this.Q;this.W=c.imageExtension||this.P;this.O=!0;if(c.zoomOnClick!=void 0)this.O=c.zoomOnClick;this.r=!1;if(c.averageCenter!=void 0)this.r=c.averageCenter;l(this);this.setMap(a);this.K=this.c.getZoom();var f=this;google.maps.event.addListener(this.c,"zoom_changed",function(){var a=f.c.getZoom();if(f.K!=a)f.K=a,f.m()});google.maps.event.addListener(this.c,"idle",function(){f.i()});b&&b.length&&this.C(b,!1)}j=k.prototype;j.Q="https://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/images/m";j.P="png";j.extend=function(a,b){return function(a){for(var b in a.prototype)this.prototype[b]=a.prototype[b];return this}.apply(a,[b])};j.onAdd=function(){if(!this.A)this.A=!0,n(this)};j.draw=function(){};function l(a){if(!a.j.length)for(var b=0,c;c=a.ca[b];b++)a.j.push({url:a.X+(b+1)+"."+a.W,height:c,width:c})}j.S=function(){for(var a=this.o(),b=new google.maps.LatLngBounds,c=0,f;f=a[c];c++)b.extend(f.getPosition());this.c.fitBounds(b)};j.z=h("j");j.o=h("a");j.V=function(){return this.a.length};j.ba=e("J");j.I=h("J");j.G=function(a,b){for(var c=0,f=a.length,g=f;g!==0;)g=parseInt(g/10,10),c++;c=Math.min(c,b);return{text:f,index:c}};j.$=e("G");j.H=h("G");j.C=function(a,b){for(var c=0,f;f=a[c];c++)q(this,f);b||this.i()};function q(a,b){b.s=!1;b.draggable&&google.maps.event.addListener(b,"dragend",function(){b.s=!1;a.L()});a.a.push(b)}j.q=function(a,b){q(this,a);b||this.i()};function r(a,b){var c=-1;if(a.a.indexOf)c=a.a.indexOf(b);else for(var f=0,g;g=a.a[f];f++)if(g==b){c=f;break}if(c==-1)return!1;b.setMap(d);a.a.splice(c,1);return!0}j.Y=function(a,b){var c=r(this,a);return!b&&c?(this.m(),this.i(),!0):!1};j.Z=function(a,b){for(var c=!1,f=0,g;g=a[f];f++)g=r(this,g),c=c||g;if(!b&&c)return this.m(),this.i(),!0};j.U=function(){return this.f.length};j.getMap=h("c");j.setMap=e("c");j.w=h("g");j.aa=e("g");j.v=function(a){var b=this.getProjection(),c=new google.maps.LatLng(a.getNorthEast().lat(),a.getNorthEast().lng()),f=new google.maps.LatLng(a.getSouthWest().lat(),a.getSouthWest().lng()),c=b.fromLatLngToDivPixel(c);c.x+=this.g;c.y-=this.g;f=b.fromLatLngToDivPixel(f);f.x-=this.g;f.y+=this.g;c=b.fromDivPixelToLatLng(c);b=b.fromDivPixelToLatLng(f);a.extend(c);a.extend(b);return a};j.R=function(){this.m(!0);this.a=[]};j.m=function(a){for(var b=0,c;c=this.f[b];b++)c.remove();for(b=0;c=this.a[b];b++)c.s=!1,a&&c.setMap(d);this.f=[]};j.L=function(){var a=this.f.slice();this.f.length=0;this.m();this.i();window.setTimeout(function(){for(var b=0,c;c=a[b];b++)c.remove()},0)};j.i=function(){n(this)};function n(a){if(a.A)for(var b=a.v(new google.maps.LatLngBounds(a.c.getBounds().getSouthWest(),a.c.getBounds().getNorthEast())),c=0,f;f=a.a[c];c++)if(!f.s&&b.contains(f.getPosition())){for(var g=a,u=4E4,o=d,v=0,m=void 0;m=g.f[v];v++){var i=m.getCenter();if(i){var p=f.getPosition();if(!i||!p)i=0;else var w=(p.lat()-i.lat())*Math.PI/180,x=(p.lng()-i.lng())*Math.PI/180,i=Math.sin(w/2)*Math.sin(w/2)+Math.cos(i.lat()*Math.PI/180)*Math.cos(p.lat()*Math.PI/180)*Math.sin(x/2)*Math.sin(x/2),i=6371*2*Math.atan2(Math.sqrt(i),Math.sqrt(1-i));i<u&&(u=i,o=m)}}o&&o.F.contains(f.getPosition())?o.q(f):(m=new s(g),m.q(f),g.f.push(m))}}function s(a){this.k=a;this.c=a.getMap();this.g=a.w();this.l=a.l;this.r=a.r;this.d=d;this.a=[];this.F=d;this.n=new t(this,a.z(),a.w())}j=s.prototype;j.q=function(a){var b;a:if(this.a.indexOf)b=this.a.indexOf(a)!=-1;else{b=0;for(var c;c=this.a[b];b++)if(c==a){b=!0;break a}b=!1}if(b)return!1;if(this.d){if(this.r)c=this.a.length+1,b=(this.d.lat()*(c-1)+a.getPosition().lat())/c,c=(this.d.lng()*(c-1)+a.getPosition().lng())/c,this.d=new google.maps.LatLng(b,c),y(this)}else this.d=a.getPosition(),y(this);a.s=!0;this.a.push(a);b=this.a.length;b<this.l&&a.getMap()!=this.c&&a.setMap(this.c);if(b==this.l)for(c=0;c<b;c++)this.a[c].setMap(d);b>=this.l&&a.setMap(d);a=this.c.getZoom();if((b=this.k.I())&&a>b)for(a=0;b=this.a[a];a++)b.setMap(this.c);else if(this.a.length<this.l)z(this.n);else{b=this.k.H()(this.a,this.k.z().length);this.n.setCenter(this.d);a=this.n;a.B=b;a.ga=b.text;a.ea=b.index;if(a.b)a.b.innerHTML=b.text;b=Math.max(0,a.B.index-1);b=Math.min(a.j.length-1,b);b=a.j[b];a.da=b.url;a.h=b.height;a.p=b.width;a.M=b.textColor;a.e=b.anchor;a.N=b.textSize;a.D=b.backgroundPosition;this.n.show()}return!0};j.getBounds=function(){for(var a=new google.maps.LatLngBounds(this.d,this.d),b=this.o(),c=0,f;f=b[c];c++)a.extend(f.getPosition());return a};j.remove=function(){this.n.remove();this.a.length=0;delete this.a};j.T=function(){return this.a.length};j.o=h("a");j.getCenter=h("d");function y(a){a.F=a.k.v(new google.maps.LatLngBounds(a.d,a.d))}j.getMap=h("c");function t(a,b,c){a.k.extend(t,google.maps.OverlayView);this.j=b;this.fa=c||0;this.u=a;this.d=d;this.c=a.getMap();this.B=this.b=d;this.t=!1;this.setMap(this.c)}j=t.prototype;j.onAdd=function(){this.b=document.createElement("DIV");if(this.t)this.b.style.cssText=A(this,B(this,this.d)),this.b.innerHTML=this.B.text;this.getPanes().overlayMouseTarget.appendChild(this.b);var a=this;google.maps.event.addDomListener(this.b,"click",function(){var b=a.u.k;google.maps.event.trigger(b,"clusterclick",a.u);b.O&&a.c.fitBounds(a.u.getBounds())})};function B(a,b){var c=a.getProjection().fromLatLngToDivPixel(b);c.x-=parseInt(a.p/2,10);c.y-=parseInt(a.h/2,10);return c}
j.draw=function(){if(this.t){var a=B(this,this.d);this.b.style.top=a.y+"px";this.b.style.left=a.x+"px"}};function z(a){if(a.b)a.b.style.display="none";a.t=!1}j.show=function(){if(this.b)this.b.style.cssText=A(this,B(this,this.d)),this.b.style.display="";this.t=!0};j.remove=function(){this.setMap(d)};j.onRemove=function(){if(this.b&&this.b.parentNode)z(this),this.b.parentNode.removeChild(this.b),this.b=d};j.setCenter=e("d");function A(a,b){var c=[];c.push("background-image:url("+a.da+");");c.push("background-position:"+(a.D?a.D:"0 0")+";");typeof a.e==="object"?(typeof a.e[0]==="number"&&a.e[0]>0&&a.e[0]<a.h?c.push("height:"+(a.h-a.e[0])+"px; padding-top:"+a.e[0]+"px;"):c.push("height:"+a.h+"px; line-height:"+a.h+"px;"),typeof a.e[1]==="number"&&a.e[1]>0&&a.e[1]<a.p?c.push("width:"+(a.p-a.e[1])+"px; padding-left:"+a.e[1]+"px;"):c.push("width:"+a.p+"px; text-align:center;")):c.push("height:"+a.h+"px; line-height:"+a.h+"px; width:"+a.p+"px; text-align:center;");c.push("cursor:pointer; top:"+b.y+"px; left:"+b.x+"px; color:"+(a.M?a.M:"black")+"; position:absolute; font-size:"+(a.N?a.N:11)+"px; font-family:Arial,sans-serif; font-weight:bold");return c.join("")}window.MarkerClusterer=k;k.prototype.addMarker=k.prototype.q;k.prototype.addMarkers=k.prototype.C;k.prototype.clearMarkers=k.prototype.R;k.prototype.fitMapToMarkers=k.prototype.S;k.prototype.getCalculator=k.prototype.H;k.prototype.getGridSize=k.prototype.w;k.prototype.getExtendedBounds=k.prototype.v;k.prototype.getMap=k.prototype.getMap;k.prototype.getMarkers=k.prototype.o;k.prototype.getMaxZoom=k.prototype.I;k.prototype.getStyles=k.prototype.z;k.prototype.getTotalClusters=k.prototype.U;k.prototype.getTotalMarkers=k.prototype.V;k.prototype.redraw=k.prototype.i;k.prototype.removeMarker=k.prototype.Y;k.prototype.removeMarkers=k.prototype.Z;k.prototype.resetViewport=k.prototype.m;k.prototype.repaint=k.prototype.L;k.prototype.setCalculator=k.prototype.$;k.prototype.setGridSize=k.prototype.aa;k.prototype.setMaxZoom=k.prototype.ba;k.prototype.onAdd=k.prototype.onAdd;k.prototype.draw=k.prototype.draw;s.prototype.getCenter=s.prototype.getCenter;s.prototype.getSize=s.prototype.T;s.prototype.getMarkers=s.prototype.o;t.prototype.onAdd=t.prototype.onAdd;t.prototype.draw=t.prototype.draw;t.prototype.onRemove=t.prototype.onRemove})();(function($){var GoMapsExt=window.GoMapsExt=window.GoMapsExt||{};GoMapsExt.Data={mapSettings:{markerSearch:null,defaultZoom:null,doubleClickZoom:null,scrollZoom:null,scaleControl:null,streetviewControl:null,fullscreenControl:null,zoomControl:null,defaultType:null,mapTypeControl:null,mapTypes:null,showRoute:null,calcRoute:null,styledMapName:null,styledMapCode:null,tooltipTitle:null,kmlUrl:null,kmlLocal:null,showForm:null,lat:null,lng:null,geolocation:null},zoomTypes:[],defaultMapTypes:[],addresses:[]};GoMapsExt.Controller=function(element,gme){this.element=$(element);this.gme=gme;this.data=gme;if(typeof google!=="undefined"){this.initialize()}};GoMapsExt.Controller.prototype={initialize:function(){var $element=this.element;this.route=[];this.infoWindow=new google.maps.InfoWindow();this.bounds=new google.maps.LatLngBounds();this.markers=[];this.map=new google.maps.Map(document.getElementById(this.gme.mapSettings.id),this._createMapOptions());this._initializeCss();this._initializeData();this._initializeKmlImport();this._initializeGeolocation();this._initializeSearch();this._initializeBackendAddresses();this._initializeRoute();this._initializeResizeListener();this._initializeCheckboxListener();this._initializeAddressListener();window.setTimeout(function(){$element.trigger("openinfo")},2000);this.setCategoriesFromRequest();this.focusAddressFromRequest();$element.trigger("mapcreated");this.refreshMap($element,this.gme)},setCategories:function(selectedCats){var gme=this.data,$element=this.element;$.each(this.markers,function(key,marker){marker.setVisible(!1);var matches=0;$.each(marker.categories,function(keyM,category){if($.inArray(category,selectedCats)!=-1){matches+=1}});var showMarker=(matches>0);if(gme.mapSettings.logicalAnd){showMarker=(matches==selectedCats.length)}
if(showMarker){marker.setVisible(!0);if($('#gme-address'+marker.uid).parent().is('del')){$('#gme-address'+marker.uid).unwrap()}
return!0}else{if(!$('#gme-address'+marker.uid).parent().is('del')){$('#gme-address'+marker.uid).wrap('<del></del>')}}});if($element.markerCluster){$element.markerCluster.repaint()}},setCategoriesFromRequest:function(){var getCats=this.getURLParameter('tx_gomapsext_show\\[cat\\]');if(getCats){getCats=getCats.split(",");this.setCategories(getCats);$('.js-gme-cat').each(function(key,checkbox){if($.inArray($(checkbox).val(),getCats)!=-1){$(checkbox).attr('checked',!0);return!0}})}},focusAddressFromRequest:function(){var getAddress=this.getURLParameter('tx_gomapsext_show\\[address\\]'),$element=this.element,gme=this.data;if(getAddress){this.focusAddress(getAddress,$element,gme)}},addMapPoint:function(pointDescription,Route,$element,infoWindow,gme){var _this=this,latitude=pointDescription.latitude,longitude=pointDescription.longitude;Route.push(pointDescription.address);if(Math.round(latitude)==0&&Math.round(longitude)==0){$element.data("geocoder").geocode({"address":pointDescription.address},function(point,status){latitude=point[0].geometry.location.lat();longitude=point[0].geometry.location.lng();var position=new google.maps.LatLng(latitude,longitude);_this.setMapPoint(pointDescription,Route,$element,infoWindow,position,gme)});return}
var position=new google.maps.LatLng(latitude,longitude);this.setMapPoint(pointDescription,Route,$element,infoWindow,position,gme)},focusAddress:function(addressUid,$element,gme){var _this=this;$.each(this.markers,function(key,marker){if(marker.uid==addressUid){$element.data("center",marker.position);if(marker.infoWindow){marker.infoWindow.setContent(marker.infoWindowContent);marker.infoWindow.open(_this.map,marker)}
_this.refreshMap($element,gme);return!0}});if($element.markerCluster){$element.markerCluster.repaint()}},getURLParameter:function(name){var uri=decodeURI(location.search);return(new RegExp('[?|&]'+name+'='+'([^&;]+?)(&|#|;|$)').exec(uri)||["",""])[1].replace(/\+/g,'%20')||null},getTravelMode:function($travelMode){var travelMode=google.maps.TravelMode.DRIVING;switch($travelMode){case 2:travelMode=google.maps.TravelMode.BICYCLING;break;case 3:travelMode=google.maps.TravelMode.TRANSIT;break;case 4:travelMode=google.maps.TravelMode.WALKING;break}
return travelMode},getUnitSystem:function($unitSystem){var unitSystem=0;switch($unitSystem){case 2:unitSystem=google.maps.UnitSystem.METRIC;break;case 3:unitSystem=google.maps.UnitSystem.IMPERIAL;break}
return unitSystem},setMapPoint:function(pointDescription,Route,$element,infoWindow,position,gme){var _map=this.map,markerOptions={position:position,map:_map,title:pointDescription.title};if(pointDescription.marker!=""){if(pointDescription.imageSize==1){var Icon={url:pointDescription.marker,size:new google.maps.Size(pointDescription.imageWidth*2,pointDescription.imageHeight*2),scaledSize:new google.maps.Size(pointDescription.imageWidth,pointDescription.imageHeight),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(pointDescription.imageWidth/2,pointDescription.imageHeight)};var Shape={type:'rect',coord:[0,0,pointDescription.imageWidth,pointDescription.imageHeight]};var anchorPoint=new google.maps.Point(0,-pointDescription.imageHeight);$.extend(markerOptions,{icon:Icon,shape:Shape,anchorPoint:anchorPoint})}else{$.extend(markerOptions,{icon:pointDescription.marker})}}
var marker=new google.maps.Marker(markerOptions);if(gme.mapSettings.markerCluster==1){google.maps.event.addListener(marker,'visible_changed',function(){if(marker.getVisible()){$element.markerCluster.addMarker(marker,!0)}else{$element.markerCluster.removeMarker(marker,!0)}})}
if(pointDescription.infoWindowContent!=""||pointDescription.infoWindowLink>0){var infoWindowContent=pointDescription.infoWindowContent;if(pointDescription.infoWindowLink>0){var daddr=(pointDescription.infoWindowLink==2)?pointDescription.latitude+", "+pointDescription.longitude:pointDescription.address;daddr+=" ("+pointDescription.title+")";infoWindowContent+='<p class="routeLink"><a href="//maps.google.com/maps?daddr='+encodeURI(daddr)+'" target="_blank">'+gme.ll.infoWindowLinkText+'<\/a><\/p>'}
infoWindowContent='<div class="gme-info-window">'+infoWindowContent+'</div>';if(pointDescription.openByClick){google.maps.event.addListener(marker,"click",function(){if(!infoWindow.getMap()||gme.infoWindow!=this.getPosition()){infoWindow.setContent(infoWindowContent);infoWindow.open(_map,this);gme.infoWindow=this.getPosition()}})}else{google.maps.event.addListener(marker,"mouseover",function(){if(!infoWindow.getMap()||gme.infoWindow!=this.getPosition()){infoWindow.setContent(infoWindowContent);infoWindow.open(_map,this);gme.infoWindow=this.getPosition()}})}
if(!pointDescription.closeByClick){google.maps.event.addListener(marker,"mouseout",function(){infoWindow.close()})}
if(pointDescription.opened){$element.off("openinfo").on("openinfo",function(){infoWindow.setContent(infoWindowContent);infoWindow.open(_map,marker)});gme.infoWindow=marker.getPosition()}
infoWindow.setContent(infoWindowContent);marker.infoWindowContent=infoWindowContent;marker.infoWindow=infoWindow}
marker.categories=pointDescription.categories.split(",");marker.uid=pointDescription.uid;this.markers.push(marker);this.bounds.extend(position)},resize:function(){var _map=this.map,gme=this.data;google.maps.event.trigger(_map,'resize');_map.fitBounds(this.bounds);if(gme.mapSettings.zoom>0){_map.setZoom(gme.mapSettings.zoom)}
this.refreshMap(this.element,gme);google.maps.event.trigger(this.infoWindow,'content_changed')},refreshMap:function($element,gme){var _map=this.map;if(gme.mapSettings.zoom>0||gme.addresses.length==1){google.maps.event.addListener(_map,"zoom_changed",function(){var zoomChangeBoundsListener=google.maps.event.addListener(_map,"bounds_changed",function(){if(this.initZoom==1){this.setZoom((gme.mapSettings.zoom>0)?gme.mapSettings.zoom:gme.mapSettings.defaultZoom);this.initZoom=0}
google.maps.event.removeListener(zoomChangeBoundsListener)})});_map.initZoom=1}
if($element.data("center")){_map.setCenter($element.data("center"))}else if(gme.mapSettings.lat&&gme.mapSettings.lng){_map.setCenter(new google.maps.LatLng(gme.mapSettings.lat,gme.mapSettings.lng));_map.setZoom(gme.mapSettings.zoom)}else{_map.fitBounds(this.bounds)}
this.refreshCluster($element,gme)},refreshCluster:function($element,gme){if(gme.mapSettings.markerCluster==1){if($element.markerCluster!=null){$element.markerCluster.clearMarkers()}
$element.markerCluster=new MarkerClusterer(this.map,this.markers,{imagePath:'https://googlemaps.github.io/js-marker-clusterer/images/m',styles:gme.mapSettings.markerClusterStyle,maxZoom:gme.mapSettings.markerClusterZoom,gridSize:gme.mapSettings.markerClusterSize})}},_initializeCss:function(){this.element.css("width",this.gme.mapSettings.width).css("height",this.gme.mapSettings.height)},_initializeData:function(){var $element=this.element,gme=this.data,_map=this.map;$element.data("map",_map);if(gme.mapSettings.styledMapName){var myStyle=gme.mapSettings.styledMapCode,styledMapOptions={name:gme.mapSettings.styledMapName,alt:gme.mapSettings.tooltipTitle},myMapType=new google.maps.StyledMapType(myStyle,styledMapOptions);_map.mapTypes.set(gme.mapSettings.styledMapName,myMapType)}
if(gme.mapSettings.defaultType==3&&gme.mapSettings.styledMapName){_map.setMapTypeId(gme.mapSettings.styledMapName)}},_createMapOptions:function(){var gme=this.gme;return{zoom:gme.mapSettings.defaultZoom,minZoom:gme.mapSettings.minZoom,maxZoom:gme.mapSettings.maxZoom,center:new google.maps.LatLng(0,0),geolocation:gme.mapSettings.geolocation,draggable:gme.mapSettings.draggable,disableDoubleClickZoom:gme.mapSettings.doubleClickZoom,scrollwheel:gme.mapSettings.scrollZoom,scaleControl:gme.mapSettings.scaleControl,streetViewControl:gme.mapSettings.streetviewControl,fullscreenControl:gme.mapSettings.fullscreenControl,zoomControl:gme.mapSettings.zoomControl,mapTypeId:gme.defaultMapTypes[gme.mapSettings.defaultType],mapTypeControl:gme.mapSettings.mapTypeControl,mapTypeControlOptions:{mapTypeIds:gme.mapSettings.mapTypes}}},_initializeKmlImport:function(){var _this=this,_map=this.map,gme=this.data,Route=this.route,$element=this.element;if(gme.mapSettings.kmlUrl!=''&&gme.mapSettings.kmlLocal==0){var kmlLayer=new google.maps.KmlLayer(gme.mapSettings.kmlUrl,{preserveViewport:gme.mapSettings.kmlPreserveViewport});kmlLayer.setMap(_map)}
if(gme.mapSettings.kmlUrl!=''&&gme.mapSettings.kmlLocal==1){$.get(gme.mapSettings.kmlUrl,function(data){$(data).find("Placemark").each(function(){var coords=$(this).find("coordinates").text(),place=$(this).find("name").text(),description=$(this).find("description").text(),c=coords.split(","),address={title:place,latitude:c[1],longitude:c[0],address:place,marker:'',imageSize:0,imageWidth:0,imageHeight:0,infoWindowContent:description,infoWindowLink:0,openByClick:1,closeByClick:1,opened:0,categories:''};_this.addMapPoint(address,Route,$element,_this.infoWindow,gme);gme.addresses.push(address)})})}},_initializeGeolocation:function(){var _this=this,_map=this.map,gme=this.data;if(gme.mapSettings.geolocation==1){var myloc=new google.maps.Marker({clickable:!1,icon:{path:google.maps.SymbolPath.CIRCLE,scale:9,fillColor:'#408fff',fillOpacity:1,strokeColor:'white',strokeWeight:3},zIndex:999,map:_map});if(navigator.geolocation)navigator.geolocation.getCurrentPosition(function(pos){var me=new google.maps.LatLng(pos.coords.latitude,pos.coords.longitude);myloc.setPosition(me);var mycenter={lat:pos.coords.latitude,lng:pos.coords.longitude};_map.setCenter(mycenter)},function(error){console.log('could not get position')})}},_initializeSearch:function(){var _this=this,gme=this.data,$element=this.element;if(gme.mapSettings.markerSearch==1){var $myForm=$('#'+gme.mapSettings.id+'-search'),searchIn=$myForm.find('.js-gme-sword');$myForm.find('.js-gme-error').hide();$myForm.submit(function(){var submitValue=$(searchIn).val().toLowerCase();var notFound=!0;$.each(gme.addresses,function(i,address){$.each(address,function(index,val){if(typeof val=="string"&&(index=="title"||index=="infoWindowContent")&&submitValue!=""){if(val.toLowerCase().indexOf(submitValue)!=-1){_this.focusAddress(_this.markers[i].uid,$element,gme);notFound=!1}}})});$myForm.find('.js-gme-error').toggle(notFound);return!1})}},_initializeBackendAddresses:function(){var _this=this,gme=this.data,$element=this.element,Route=this.route,infoWindow=this.infoWindow;if(gme.mapSettings.showRoute==0){$element.data("geocoder",new google.maps.Geocoder());if($element.data("geocoder")){$.each(gme.addresses,function(index,address){_this.addMapPoint(address,Route,$element,infoWindow,gme)})}}},_initializeRoute:function(){var _this=this,_map=this.map,gme=this.data,$element=this.element;if(gme.mapSettings.showRoute==1||gme.mapSettings.calcRoute==1){var panelHtml=$('<div id="dPanel-'+gme.mapSettings.id+'"><\/div>'),directionsService=new google.maps.DirectionsService(),directionsDisplay=new google.maps.DirectionsRenderer();panelHtml.insertAfter($element);var renderRoute=function($start,$end,$travelMode,$unitSystem){var unitSystem=_this.getUnitSystem($unitSystem),request={origin:$start,destination:$end,travelMode:_this.getTravelMode($travelMode)};directionsDisplay.setMap(_map);directionsDisplay.setPanel(document.getElementById("dPanel-"+gme.mapSettings.id));if(unitSystem!=0){request.unitSystem=unitSystem}
directionsService.route(request,function(response,status){if(status==google.maps.DirectionsStatus.OK){directionsDisplay.setDirections(response)}else{alert(gme.ll.alert)}})}}
if(gme.mapSettings.showRoute==1){renderRoute(gme.addresses[0].address,gme.addresses[1].address,gme.mapSettings.travelMode,gme.mapSettings.unitSystem)}
if(gme.mapSettings.showForm==1){var $mapForm=$('#'+gme.mapSettings.id+'-form');$mapForm.submit(function(){var formStartAddress=$mapForm.find('.js-gme-saddress').val(),endAddressIndex=$mapForm.find('.js-gme-eaddress option:selected').val(),formEndAddress=endAddressIndex?gme.addresses[parseInt(endAddressIndex)].address:gme.addresses[0].address,formTravelMode=$mapForm.find('.js-gme-travelmode').val(),formUnitSystem=$mapForm.find('.js-gme-unitsystem').val();if(formStartAddress==null){formStartAddress=gme.addresses[0].address;formEndAddress=gme.addresses[1].address}
if(formTravelMode==null){formTravelMode=gme.mapSettings.travelMode}else{formTravelMode=parseInt(formTravelMode)}
if(formUnitSystem==null){formUnitSystem=gme.mapSettings.unitSystem}else{formUnitSystem=parseInt(formUnitSystem)}
renderRoute(formStartAddress,formEndAddress,formTravelMode,formUnitSystem);return!1})}},_initializeResizeListener:function(){var _this=this;this.element.bind('mapresize',function(){_this.resize()})},_initializeCheckboxListener:function(){var _this=this;$('.js-gme-cat').change(function(){var selectedCats=$('.js-gme-cat:checked').map(function(){return this.value});_this.setCategories(selectedCats)})},_initializeAddressListener:function(){var _this=this,$element=this.element,gme=this.gme;$('.js-gme-address').click(function(){var selectedAddress=[$(this).attr('data-address')];_this.focusAddress(selectedAddress,$element,gme);return!1})}};$.fn.gomapsext=function(gme){var $element=$(this);if(!$element.data('gomapsextcontroller')){$element.data('gomapsextcontroller',new GoMapsExt.Controller($element,gme))}}}(jQuery));(function($,window,document,undefined){$(function(){var gme=new Object();gme.zoomTypes=new Array(0,1,2);gme.defaultMapTypes=new Array("roadmap","satellite","hybrid","terrain","grayscale");gme.mapSettings={id:'gme-'+20,title:'arte Hotel Krems + in der Nähe (de)',width:'100%',height:'400px',zoom:15,minZoom:0,maxZoom:0,lat:0,lng:0,geolocation:0,kmlUrl:'',kmlPreserveViewport:!1,kmlLocal:0,scrollZoom:0,draggable:1,doubleClickZoom:0,markerCluster:0,markerClusterZoom:null,markerClusterSize:null,markerClusterStyle:'',markerSearch:0,defaultType:4,scaleControl:0,streetviewControl:1,fullscreenControl:1,zoomControl:1,mapTypeControl:1,showRoute:0,calcRoute:0,travelMode:0,unitSystem:2,showForm:0,showCategories:0,logicalAnd:0,styledMapName:'grayscale',styledMapCode:[{"elementType":"geometry","stylers":[{"color":"#f5f5f5"}]},{"elementType":"labels.icon","stylers":[{"visibility":"off"}]},{"elementType":"labels.text.fill","stylers":[{"color":"#616161"}]},{"elementType":"labels.text.stroke","stylers":[{"color":"#f5f5f5"}]},{"featureType":"administrative.land_parcel","elementType":"labels.text.fill","stylers":[{"color":"#bdbdbd"}]},{"featureType":"poi","elementType":"geometry","stylers":[{"color":"#eeeeee"}]},{"featureType":"poi","elementType":"labels.text.fill","stylers":[{"color":"#757575"}]},{"featureType":"poi.park","elementType":"geometry","stylers":[{"color":"#e5e5e5"}]},{"featureType":"poi.park","elementType":"labels.text.fill","stylers":[{"color":"#9e9e9e"}]},{"featureType":"road","elementType":"geometry","stylers":[{"color":"#ffffff"}]},{"featureType":"road.arterial","elementType":"labels.text.fill","stylers":[{"color":"#757575"}]},{"featureType":"road.highway","elementType":"geometry","stylers":[{"color":"#dadada"}]},{"featureType":"road.highway","elementType":"labels.text.fill","stylers":[{"color":"#616161"}]},{"featureType":"road.local","elementType":"labels.text.fill","stylers":[{"color":"#9e9e9e"}]},{"featureType":"transit.line","elementType":"geometry","stylers":[{"color":"#e5e5e5"}]},{"featureType":"transit.station","elementType":"geometry","stylers":[{"color":"#eeeeee"}]},{"featureType":"water","elementType":"geometry","stylers":[{"color":"#c9c9c9"}]},{"featureType":"water","elementType":"labels.text.fill","stylers":[{"color":"#9e9e9e"}]}],defaultZoom:11}
gme.mapSettings.mapTypes=new Array();gme.mapSettings.mapTypes[0]=gme.defaultMapTypes[0];gme.mapSettings.mapTypes[1]=gme.defaultMapTypes[1];gme.request=new Array();gme.addresses=new Array();gme.addresses[0]={uid:62,title:'arte Hotel Krems',latitude:48.407713,longitude:15.584725,address:'Dr.-Karl-Dorrek-Straße 23, 3500 Krems an der Donau',marker:'https://www.arte-krems.at:443/fileadmin/_processed_/3/a/csm_krems-marker_b646e3dffa.png',imageSize:1,imageWidth:50,imageHeight:50,infoWindowContent:'    <h2>arte Hotel Krems</h2><p>Dr. Karl Dorrek-Straße 23<br /> 3500 Krems<br /> &nbsp;</p>',infoWindowLink:1,openByClick:1,closeByClick:1,opened:0,categories:''}
gme.addresses[1]={uid:81,title:'Karikaturmuseum Krems',latitude:48.404838,longitude:15.587527,address:'Steiner Landstraße 3, 3500 Krems an der Donau',marker:'https://www.arte-krems.at:443/fileadmin/_processed_/4/b/csm_general-marker_1b63fe3f7f.png',imageSize:1,imageWidth:40,imageHeight:40,infoWindowContent:'    <h2>Karikaturmuseum Krems</h2><p>Steiner Landstraße 3<br /> 3500 Krems an der Donau</p>',infoWindowLink:1,openByClick:1,closeByClick:1,opened:0,categories:''}
gme.addresses[2]={uid:82,title:'Donau Schiffstation',latitude:48.402371,longitude:15.588299,address:'Gregor-Hradetzky-Promenade, 3500 Krems an der Donau',marker:'https://www.arte-krems.at:443/fileadmin/_processed_/4/b/csm_general-marker_1b63fe3f7f.png',imageSize:1,imageWidth:40,imageHeight:40,infoWindowContent:'    <h2>Donau Schiffstation</h2><p>Gregor-Hradetzky-Promenade<br /> 3500 Krems an der Donau</p>',infoWindowLink:1,openByClick:1,closeByClick:1,opened:0,categories:''}
gme.addresses[3]={uid:77,title:'Landesgalerie Krems',latitude:48.404709,longitude:15.587110,address:'Steiner Landstraße 5, 3500 Krems an der Donau',marker:'https://www.arte-krems.at:443/fileadmin/_processed_/4/b/csm_general-marker_1b63fe3f7f.png',imageSize:1,imageWidth:40,imageHeight:40,infoWindowContent:'    <h2>Landesgalerie Krems</h2><p>Steiner Landstraße 5<br /> 3500 Krems an der Donau</p>',infoWindowLink:1,openByClick:1,closeByClick:1,opened:0,categories:''}
gme.addresses[4]={uid:78,title:'Kremser Altstadt',latitude:48.410700,longitude:15.598681,address:'Obere Landstraße, 3500 Krems an der Donau',marker:'https://www.arte-krems.at:443/fileadmin/_processed_/4/b/csm_general-marker_1b63fe3f7f.png',imageSize:1,imageWidth:40,imageHeight:40,infoWindowContent:'    <h2>Kremser Altstadt</h2><p>Obere Landstraße<br /> 3500 Krems an der Donau</p>',infoWindowLink:1,openByClick:1,closeByClick:1,opened:0,categories:''}
gme.ll={};gme.ll.alert="Bitte geben Sie eine gültige Adresse ein.";gme.ll.submit="Route berechnen";gme.ll.noSearchResults="Die Suche liefert keine Ergebnisse.";gme.ll.infoWindowLinkText="Route berechnen";var $element=jQuery("#"+gme.mapSettings.id);$element.gomapsext(gme);if(gme.mapSettings.width.indexOf('%')!=-1){jQuery(window).resize(function(){$element.trigger('mapresize')})}})})(jQuery,window,document)