function buienradarPlugin(clientCore)
{this.clientCore=clientCore;this.buienradarItems=Array();this.buienradarIndex=0;this.gmap=null;this.timer=null;this.buienradarDir="files/buienradar/";this.buienradarOverlay=null;this.buienradarActive=false;var myself=this;this._handleUpdateTimer=function(){myself._nextImage()};}
buienradarPlugin.prototype.setBuienradarFiles=function(buienradarItems)
{this.buienradarItems=buienradarItems;}
buienradarPlugin.prototype.initBuienradar=function()
{if(this.clientCore.googlemapsPlugin==null){this.clientCore.debug("buienradar._loaded: googlemaps plugin is niet geladen!");return;}
if(this.buienradarItems.length>0){this.gmap=this.clientCore.googlemapsPlugin.getMapObject();this.boundaries=new GLatLngBounds(new GLatLng(48.9992,0.0000),new GLatLng(56.144525,10.8579389));this.buienradarOverlay=new GGroundOverlay(this.clientCore._getRootUrl()+this.buienradarDir+this.buienradarItems[0]['file'],this.boundaries);this.gmap.addOverlay(this.buienradarOverlay);}}
buienradarPlugin.prototype.enableBuienradar=function(toggle)
{if(toggle){this.clientCore.getPluginClient('layeritems').updatePluginSearchParams(this.pluginName,{active:toggle});}else{this._stopBuienradar();this.clientCore.getPluginClient('timeline').setBuienradar(-1,-1);this.clientCore.getPluginClient('layeritems').setPluginSearchParams(this.pluginName,{active:toggle});this.buienradarActive=false;}}
buienradarPlugin.prototype.setResultVisible=function(layerId,visible)
{this.enableBuienradar(visible);if(visible){$('layerRow'+layerId).addClassName('aktief');}else{$('layerRow'+layerId).removeClassName('aktief');}}
buienradarPlugin.prototype.startBuienradar=function()
{this.initBuienradar();if(this.timer==null){var myself=this;this.timer=setInterval(myself._handleUpdateTimer,700);}
maxDom.showElement('buienradarTime');this.buienradarActive=true;}
buienradarPlugin.prototype.isActive=function()
{return this.buienradarActive;}
buienradarPlugin.prototype._stopBuienradar=function(eventData)
{if(this.timer!=null){clearInterval(this.timer);this.timer=null;}
if(this.buienradarOverlay){this.gmap.removeOverlay(this.buienradarOverlay);this.buienradarOverlay=null;}
var timebox=document.getElementById('buienradarTime');maxDom.hideElement('buienradarTime');this.buienradarIndex=0;this.buienradarItems=null;}
buienradarPlugin.prototype._nextImage=function()
{if(this.buienradarItems.length){if(this.buienradarIndex<(this.buienradarItems.length+2)){this.buienradarIndex++;}else{this.buienradarIndex=0;}
var curr_index=this.buienradarIndex;if(curr_index>=this.buienradarItems.length){curr_index=this.buienradarItems.length-1;}
if(this.buienradarItems[curr_index]['forecast']){$('buienradarTime').innerHTML='<span class="buienradarTitle">Voorspelling:</span> <span class="buienradarTijd">'+this.buienradarItems[curr_index]['time']+'</span><br /><span class="buienradarLink">Meer weer: <a href="http://www.infoplaza.nl" target="_blank">Infoplaza</a></span>';}
else{$('buienradarTime').innerHTML='<span class="buienradarTitle">Buienradar:</span> <span class="buienradarTijd">'+this.buienradarItems[curr_index]['time']+'</span><br /><span class="buienradarLink">Meer weer: <a href="http://www.infoplaza.nl" target="_blank">Infoplaza</a></span>';}
var images=$$('img');images=images.findAll(function(image){return image.src.include(this.buienradarDir);}.bind(this));if(images.length>0){images.each(function(image){image.src=this.clientCore._getRootUrl()+this.buienradarDir+this.buienradarItems[curr_index]['file'];}.bind(this));}else{var newOverlay=new GGroundOverlay(this.clientCore._getRootUrl()+this.buienradarDir+this.buienradarItems[curr_index]['file'],this.boundaries);this.gmap.addOverlay(newOverlay);if(this.buienradarOverlay!=null){this.gmap.removeOverlay(this.buienradarOverlay);}
this.buienradarOverlay=newOverlay;}
this.clientCore.updateView();}else{$('buienradarTime').innerHTML='<span class="buienradarTitel">Buienradar: </span>geen gegevens';}};function debugPlugin(clientCore)
{this.clientCore=clientCore;this.lastPlugin="debug";}
debugPlugin.prototype.doLoginDemo=function()
{if(this.clientCore.loginPlugin==null){alert("interne fout in doLoginDemo: Er is geen 'login' plugin geladen!");return;}
this.hideSettingsPanel();this.clientCore.callPlugin('login:old_doLoginDemo');}
debugPlugin.prototype.showContentPanelList=function()
{if(!this._checkOutputDisplay()){return;}
var backlink=this._getBacklink();if(backlink===false){return;}
var coreName=this.clientCore.getObjectName();var outputPlugin=this.clientCore.outputdisplayPlugin;var panels=outputPlugin.getContentPanelList();var xhtml="<h2>Uitvoer panelen van de 'outputdisplay' plugin</h2>\n"+backlink;if(panels.length==0){xhtml+="<p>Er zijn geen panelen geopend.</p>";}
else{var listItems=new Array();for(var prop=0;prop<panels.length;prop++){var linkAction=coreName+".openContentPanel('"+panels[prop].pluginName+"', '"+panels[prop].panelType+"')";listItems[listItems.length]='<li>'+panels[prop].pluginName+': <a href="javascript:'+linkAction+'">'+panels[prop].panelType+'</a></li>';}
xhtml+="<ul>\n";xhtml+=listItems.sort().join("\n");xhtml+="\n</ul>";}
this.hideSettingsPanel();outputPlugin.createContentPanel('debug','panelList',xhtml);outputPlugin.openContentPanel('debug','panelList');}
debugPlugin.prototype.showContentPanelSource=function()
{if(!this._checkOutputDisplay()){return;}
var backlink=this._getBacklink();if(backlink===false){return;}
var source;var title;var outputPlugin=this.clientCore.outputdisplayPlugin;var activePanel=outputPlugin.getActivePanel();if(activePanel==null){title="Bron van 'contentHome' paneel";source=document.getElementById('contentHome').innerHTML;}
else{title="Bron van plugin '"+activePanel.pluginName+"', '"+activePanel.panelType+"' paneel";source=outputPlugin.getActivePanelSource();if(activePanel.pluginName=='debug'&&activePanel.panelType=='source'){this.hideSettingsPanel();return;}}
source=source.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/&lt;!--%/g,'<font color=red>&lt;!--%').replace(/%--&gt;/g,'%--&gt;</font>').replace(/^[\r\n]+/,'').replace(/[\r\n]+$/,'').replace(/\r\n/g,'<br>').replace(/\r/g,'<br>').replace(/\n/g,'<br>');var xhtml="<h2>"+title+"</h2>\n"+backlink+"<pre>"+source+"</pre>";this.hideSettingsPanel();outputPlugin.createContentPanel('debug','source',xhtml);outputPlugin.openContentPanel('debug','source');}
debugPlugin.prototype.showClientState=function()
{var backlink=this._getBacklink();if(backlink===false){return;}
var xhtml="<h2>Status van de client-side sessie</h2>\n"
+backlink;var extent=this.clientCore.getExtent();xhtml+="<h3>Extent</h3>\n";if(extent==null){xhtml+="<p>Geen gegevens beschikbaar.</p>\n";}
else{xhtml+="<dl>"
+"<dt>north:</dt><dd>"+extent.north+"</dd>\n"
+"<dt>west:</dt><dd>"+extent.west+"</dd>\n"
+"<dt>south:</dt><dd>"+extent.south+"</dd>\n"
+"<dt>east:</dt><dd>"+extent.east+"</dd>\n"
+"</dl>";}
this.hideSettingsPanel();this.clientCore.createContentPanel(this.pluginName,'clientState',xhtml);this.clientCore.openContentPanel(this.pluginName,'clientState');}
debugPlugin.prototype.showJavaScriptObject=function(object)
{if(!IS_DEVEL){alert("showJavaScriptObject: het is niet mogelijk een object te bekijken op live websites.");return;}
var objectName=null;if(arguments.length==0){if(this.lastObject==null){var activePanel=this.clientCore.getActiveContentPanel();if(activePanel!=null&&this.clientCore.hasPluginClient(activePanel.pluginName)){this.lastObject=this.clientCore.getObjectName()+'.'+activePanel.pluginName+'Plugin';}
else{this.lastObject=this.clientCore.getObjectName();}}
object=prompt('Geef naam van object',this.lastObject,"Show object");if(object==null){return;}}
var selfRef=null;if(typeof(object)=="string"){objectName=object;object=null;this.lastObject=objectName;var error="undefined property";try{object=eval(objectName);}
catch(e){error=e.message;}
selfRef=this.clientCore.getObjectName()+".debugPlugin.showJavaScriptObject";}
if(object==null){alert("Het object kon niet gevonden worden: "+error);return;}
var className=object.toString();try{className=object.constructor.name;}catch(e){};var fields=new Array();var methods=new Array();for(prop in object){var type=null;var value=null;try{value=object[prop];}catch(e){};try{type=typeof(value);}catch(e){};var propertyName=prop;if(type=='function'){var args=object[prop].length;if(args==0){args='';}
else if(args==1){args=" 1 arg ";}
else{args=" "+args+" args ";}
methods.push("- "+prop+"(<span style='font-size:8pt'>"+args+"</span>)");}
else if(value===null){fields.push("- "+propertyName+" = <span style='font-size:8pt'>null</span>");}
else if(value===undefined){fields.push("- "+propertyName+" = <span style='font-size:8pt'>undefined</span>");}
else if(type=='object'){if(objectName!=null){var path=(parseInt(prop)==prop)?'['+prop+']':'.'+prop;propertyName='<a href="javascript:'+selfRef+'(\''+objectName+path+'\')">'+prop+'</a>';}
var constructor=null;try{constructor=object[prop].constructor.name;}catch(e){};if(constructor==null){constructor='unknown object';}
fields.push("- "+propertyName+" = <span style='font-size:8pt'>["+constructor+(constructor!='Object'?' object':'')+"]</span>");}
else if(type=='string'){fields.push("- "+propertyName+" = <span style='font-size:8pt'>'"+this._escapeHtml(value)+"'</span>");}
else{fields.push("- "+propertyName+" = <span style='font-size:8pt'>"+value+"</span>");}}
fields=fields.sort().join("\n");methods=methods.sort().join("\n");var titlePath=objectName;if(titlePath){var pathParts=objectName.split(/[\.\[\]]/);var path="";var titlePath="";for(var i=0;i<pathParts.length;i++){var partName=pathParts[i];if(partName.length==0){continue;}
if(parseInt(partName)==partName){partName='['+partName+']';path+=partName;}
else{if(i>0){titlePath+=".";}
path+=(i>0?".":"")+partName;}
titlePath+='<a href="javascript:'+selfRef+'(\''+path+'\')">'+partName+'</a>';}}
var report="<h2>Contents of "+(titlePath||"[object]")+"</h2>\n"
+"<p>class: "+className+"</p>\n"
+"<h3>fields</h3>\n<pre>"+fields+"</pre>\n"
+"<h3>methods</h3>\n<pre>"+methods+"</pre>\n"
+"<h3>string value</h3>\n<pre>"+this._escapeHtml(object.toString())+"</pre>\n";report=report
this.hideSettingsPanel();this.clientCore.createContentPanel(this.pluginName,'scriptObject',report);this.clientCore.openContentPanel(this.pluginName,'scriptObject');}
debugPlugin.prototype._escapeHtml=function(html)
{return html.replace(/&/g,"&amp").replace(/</g,"&lt;").replace(/>/g,"&gt;");}
debugPlugin.prototype.showServerState=function()
{this.hideSettingsPanel();this.clientCore.callPlugin('debug:showServerState');}
debugPlugin.prototype.resetServerState=function()
{this.hideSettingsPanel();this.clientCore.callPlugin('debug:resetServerState')}
debugPlugin.prototype.testPlugin=function()
{var pluginName=prompt('Geef naam van plugin',this.lastPlugin,"Test plugin");if(pluginName==null){return;}
this.lastPlugin=pluginName;this.hideSettingsPanel();this.clientCore.callPlugin(pluginName+":test");}
debugPlugin.prototype.showSettingsPanel=function()
{maxDom.showElement('settingsArea');}
debugPlugin.prototype.hideSettingsPanel=function()
{maxDom.hideElement('settingsArea');}
debugPlugin.prototype.toggleSettingsPanel=function()
{maxDom.toggleElementDisplay('settingsArea');}
debugPlugin.prototype._checkOutputDisplay=function()
{var outputPlugin=this.clientCore.outputdisplayPlugin;if(outputPlugin==null){alert("interne fout in debugPlugin: Er is geen 'outputdisplay' plugin geladen!");return false;}
return true;}
debugPlugin.prototype._getBacklink=function()
{var activePanel=this.clientCore.getActiveContentPanel();if(activePanel==null){return"";}
var coreName=this.clientCore.getObjectName();if(window[coreName]!=this.clientCore){alert("interne fout in debugPlugin: GeoMaxClientCore object heeft geen locale referentie!");return false;}
return"<p><a href=\"javascript:"+coreName+".openContentPanel('"+activePanel.pluginName+"', '"+activePanel.panelType+"')\">terug naar paneel</a></p>";};function googlemapsPlugin(clientCore)
{this.clientCore=clientCore;this.gmap=null;this.pluginGraphicsUrl=this.clientCore.getRootUrl()+"/moduleplugins/"+this.pluginName+"/graphics/";this.mapProxyBaseUrl=this.clientCore.getRootUrl()+"/modulecomponents/mapproxy/?"
this.fallbackLineStyle={lineColor:'#ff0000',lineOpacity:1,width:1,fillColor:0,fillOpacity:0};this.language=language?language:'nl';this.features=new Object();this.tileOverlays=new Object();this.visibility=new Object();this.icons=new Object();this.activeIcons=new Object();this.mapControls=new Object();this.activeFeature={pluginName:null,index:null};this.debugLines=new Array();this.mouseDownCallback=null;if(!this._initializeGMap()){return;}
this.dragDropInitialized=false;this._initializeDragDrop();var myself=this;this.clientCore.addEventListener("checkResize",function(d){myself._checkResize();});this.clientCore.addEventListener("closeInfoWindow",function(d){myself._closeInfoWindow(d);});this.clientCore.addEventListener("createPlacemark",function(d){myself._createPlacemark(d);});this.clientCore.addEventListener("createLineString",function(d){myself._createLineString(d);});this.clientCore.addEventListener("createPolygon",function(d){myself._createPolygon(d);});this.clientCore.addEventListener("createMapControl",function(d){myself._createMapControl(d);});this.clientCore.addEventListener("getExtent",function(d){myself._setExtent(d);});this.clientCore.addEventListener("mapLayerAdded",function(d){myself._mapLayerAdded(d);});this.clientCore.addEventListener("mapLayerRemoved",function(d){myself._mapLayerRemoved(d);});this.clientCore.addEventListener("moveView",function(d){myself._moveView(d);});this.clientCore.addEventListener("moveViewExtent",function(d){myself._moveViewExtent(d);});this.clientCore.addEventListener("openMapControl",function(d){myself._openMapControl(d);});this.clientCore.addEventListener("openInfoWindow",function(d){myself._openInfoWindow(d);});this.clientCore.addEventListener("openNotificationWindow",function(d){myself._openNotificationWindow(d);});this.clientCore.addEventListener("updatePlacemark",function(d){myself._updatePlacemark(d);});this.clientCore.addEventListener("updateResultVisibility",function(d){myself._updateResultVisibility(d);});this.clientCore.addEventListener("updateMapLayerVisibility",function(d){myself._updateMapLayerVisibility(d);});this.clientCore.addEventListener("removeMapControl",function(d){myself._removeMapControl(d);});this.clientCore.addEventListener("removeResult",function(d){myself._removeResult(d);});this.clientCore.addEventListener("removeResultType",function(d){myself._removeResultType(d);});this.clientCore.addEventListener("removePlacemark",function(d){myself._removePlacemark(d);});this.clientCore.addEventListener("setResultActive",function(d){myself._setResultActive(d);});this.clientCore.addEventListener("unload",GUnload);this.setLanguage=function(language){this.language=language;}}
googlemapsPlugin.prototype._initializeGMap=function()
{var mapArea=document.getElementById("mapArea");if(mapArea==null){alert("interne fout in googlemapsPlugin: Element 'mapArea' kan niet gevonden worden.");return false;}
if(typeof(GMap2)=="undefined"){var message;switch(this.language){case'en':message="Error retrieving map from Google Maps.";break;default:message="Het kaartmateriaal van Google Maps kan niet opgevraagd worden.";break;}
if(location.protocol=="https:"){message+="<br/><br/>Het is mogelijk dat dit onderdeel aangemerkt werd als <em>onveilig item</em>. "
+"Het kaartmateriaal vormt echter geen beveiligingsrisico voor de website. "
+'U kunt de <a href="javascript:location.reload()">pagina herladen</a> en op <em>Ja</em> klikken om dit onbeveiligde onderdeel toe te laten.';}
else{message+="<br/><br/>Dit probleem wordt mogelijk veroorzaakt door een interne fout.";}
this._showInitializeError(message);return false;}
if(!GBrowserIsCompatible()){var message='Het is niet mogelijk om het kaartonderdeel met uw huidige webbrowser te bekijken.<br/><br/>'
+'Om dit onderdeel te bekijken kunt u het beste een moderne webbrowser installeren, zoals <a href="http://www.microsoft.com/windows/products/winfamily/ie/default.mspx" target="_blank">Internet Explorer 7</a> of <a href="http://www.getfirefox.com/">Mozilla Firefox 2</a>. '
+'Open daarna met de ge&iuml;nstalleerde webbrowser de website opnieuw.';this._showInitializeError(message);return false;}
var startExtent=this.clientCore.getStartExtent();if(startExtent==null){alert("interne fout in googlemapsPlugin: het beginpunt van de kaart is niet ingesteld met GeoMaxClientCore.setStartExtent");return false}
this.gmap=new GMap2(mapArea);this.gmap.enableDoubleClickZoom();this.gmap.enableContinuousZoom();this.gmap.enableScrollWheelZoom();var myself=this;var geomaxTileLayer=new GTileLayer(new GCopyrightCollection(""),0,19);geomaxTileLayer.getTileUrl=function(t,z){return myself._getGroundMapLayerTileUrl(this,t,z);};var streetTileLayer=G_HYBRID_MAP.getTileLayers()[1];var normalTileLayer=G_NORMAL_MAP.getTileLayers()[0];this.mapTypes=[];var buttonsTexts={nl:{hybrid:"Combinatie",satellite:"Luchtfoto's",street:"Straten",terrain:"Terrein",labels:"Labels weergeven"},en:{hybrid:"Hybrid",satellite:"Satellite",street:"Streets",terrain:"Terrain",labels:"Display labels"}}
var buttons=buttonsTexts[this.language];this.mapTypes['G_HYBRID_MAP']=new GMapType([geomaxTileLayer,streetTileLayer],G_HYBRID_MAP.getProjection(),buttons['hybrid']);this.mapTypes['G_SATELLITE_MAP']=new GMapType([geomaxTileLayer],G_SATELLITE_MAP.getProjection(),buttons['satellite']);this.mapTypes['G_STREET_MAP']=new GMapType(G_NORMAL_MAP.getTileLayers(),G_NORMAL_MAP.getProjection(),buttons['street']);this.mapTypes['G_TERRAIN_MAP']=new GMapType(G_PHYSICAL_MAP.getTileLayers(),G_PHYSICAL_MAP.getProjection(),buttons['terrain']);this.gmap.getMapTypes().length=0;this.gmap.addMapType(this.mapTypes['G_STREET_MAP']);this.gmap.addMapType(this.mapTypes['G_SATELLITE_MAP']);this.gmap.addMapType(this.mapTypes['G_HYBRID_MAP']);this.gmap.addMapType(this.mapTypes['G_TERRAIN_MAP']);var buttons=new GHierarchicalMapTypeControl();buttons.addRelationship(this.mapTypes['G_SATELLITE_MAP'],this.mapTypes['G_HYBRID_MAP'],buttons['labels'],true);this.gmap.addControl(new GLargeMapControl3D());this.gmap.addControl(buttons);this.gmap.addControl(new GScaleControl());var myself=this;GEvent.addListener(this.gmap,"click",function(o,p){myself._mapClicked(o,p)});var _onMouseWheel=function(e){myself._onMouseWheel(e)};GEvent.addDomListener(mapArea,"DOMMouseScroll",_onMouseWheel);mapArea.onmousewheel=_onMouseWheel;var mapLayers=this.clientCore.getMapLayers();for(var i=0;i<mapLayers.length;i++){this._addGTileLayerOverlay(mapLayers[i]);}
this._applyStartExtent();return true;}
googlemapsPlugin.prototype._initializeDragDrop=function()
{if(this.dragDropInitialized){return true;}
if(!this.clientCore.isDragDropLoaded()){this.clientCore.debug("googlemaps: drag-and-drop support code is not loaded");return false;}
var myself=this;this.clientCore.registerDropTarget('mapArea','dragElement',function(dragElement,dropElement,event){myself._elementDropped(dragElement,dropElement,event);});this.dragDropInitialized=true;return true;}
googlemapsPlugin.prototype._showInitializeError=function(message)
{var xhtml='<div class="googlemaps_ErrorDialog" style="width: 350px; margin: 50px auto 0 auto; padding: 1em; line-height: 120%; border: 1px solid #555; background-color: #eee;">'
+'  <h3>De kaart kan niet weergegeven worden</h3>'
+'  <p>'+message+'</p>'
+'</div>';var mapArea=document.getElementById("mapArea");mapArea.innerHTML=xhtml;}
googlemapsPlugin.prototype.getMapObject=function()
{return this.gmap;}
googlemapsPlugin.prototype.setMapType=function(mapType){if(this.mapTypes[mapType]){this.gmap.setMapType(this.mapTypes[mapType]);}else{this.gmap.setMapType(this.mapTypes['G_HYBRID_MAP']);}}
googlemapsPlugin.prototype.getGIconByType=function(pluginName,iconType,customIconUrl,isActive)
{var iconStyle=this.clientCore.getIconStyle(pluginName,iconType);if(iconStyle==null){return G_DEFAULT_ICON;}
var iconSet=(isActive?this.activeIcons:this.icons);var icon=null;if(iconSet[pluginName]==null){iconSet[pluginName]=new Object();}
if(customIconUrl==null||customIconUrl==""){if(iconSet[pluginName][iconType]!=null){icon=iconSet[pluginName][iconType];}
else{icon=this._createGIcon(iconStyle,null,isActive);iconSet[pluginName][iconType]=icon;}}
else{icon=this._createGIcon(iconStyle,customIconUrl,isActive);}
return icon;}
googlemapsPlugin.prototype._getFeaturePoint=function(features)
{var point=null;var points=[];var verteces=[];for(var i=0;i<features.length;i++){var feature=features[i];if(feature.getPoint){points.push(feature.getPoint());}else{verteces.push(feature.getVertex(0));}}
if(points.length){point=points[0];}else{point=feature.getBounds().getCenter();}
return point;}
googlemapsPlugin.prototype._getFeaturePlacemark=function(features)
{for(var i=0;i<features.length;i++){if(features[i].getPoint){return features[i];}}
return features[0];}
googlemapsPlugin.prototype.getPlacemarkPoint=function(pluginName,index)
{if(this.features[pluginName]==null||this.features[pluginName][index]==null){return null;}
var features=this.features[pluginName][index];var point=this._getFeaturePoint(features);return{latitude:point.lat(),longitude:point.lng()};}
googlemapsPlugin.prototype.checkResize=function()
{if(this.gmap!=null){this.gmap.checkResize();}}
googlemapsPlugin.prototype.drawExtent=function(north,west,south,east,color,width,opacity)
{if(typeof(color)=='undefined'){color='#ffffff';}
if(typeof(width)=='undefined'){width=1;}
if(typeof(opacity)=='undefined'){opacity=1;}
var points=[new GLatLng(north,west),new GLatLng(south,west),new GLatLng(south,east),new GLatLng(north,east),new GLatLng(north,west)];var line=new GPolyline(points,color,width,opacity);this.gmap.addOverlay(line);var id=this.debugLines.length;this.debugLines[id]=line;}
googlemapsPlugin.prototype.removeExtents=function()
{for(var i=0;i<this.debugLines.length;i++){this.gmap.removeOverlay(this.debugLines[i]);}
this.debugLines=new Array();}
googlemapsPlugin.prototype._checkResize=function()
{if(this.gmap==null){return;}
this.gmap.checkResize();if(this.gmap.isLoaded()&&!this.clientCore.isLoaded()){this._applyStartExtent();}}
googlemapsPlugin.prototype._mapClicked=function(feature,point)
{if(point==null){if(typeof(feature._pluginName)=='undefined'){this.clientCore.debug("googlemapsPlugin._mapClicked: clicked on an object without _pluginName property, ignoring event.");return;}
point=(feature.getPoint)?feature.getPoint():feature.getVertex(0);this._setResultActive({pluginName:feature._pluginName,index:feature._index});this.clientCore.placemarkClicked(feature._pluginName,feature._index,point.lat(),point.lng());}
else{var pixel=this.gmap.fromLatLngToDivPixel(point);this.clientCore.mapClicked(point.lat(),point.lng(),pixel.x,pixel.y);}}
googlemapsPlugin.prototype._markerMouseOver=function(pluginName,index)
{if(this.features[pluginName]==null||this.features[pluginName][index]==null){return null;}
this.clientCore.debug("googlemapsPlugin._markerMouseOver: a marker was mouse Overed, fireing event. ");var marker=this._getFeaturePlacemark(this.features[pluginName][index]);var point=marker.getPoint();this.clientCore.placemarkMouseOver(pluginName,marker,index,point.lat(),point.lng());}
googlemapsPlugin.prototype._markerMouseOut=function(pluginName,index)
{if(this.features[pluginName]==null||this.features[pluginName][index]==null){return null;}
this.clientCore.debug("googlemapsPlugin._markerMouseOut: a marker was mouse outted, fireing event. ");var marker=this._getFeaturePlacemark(this.features[pluginName][index]);var point=marker.getPoint();this.clientCore.placemarkMouseOut(pluginName,marker,index,point.lat(),point.lng());}
googlemapsPlugin.prototype._markerDragged=function(pluginName,index)
{if(this.features[pluginName]==null||this.features[pluginName][index]==null){return null;}
this.clientCore.debug("googlemapsPlugin._markerDragged: a marker was dragged, fireing identical event as the plotter does.");var marker=this._getFeaturePlacemark(this.features[pluginName][index]);var point=marker.getPoint();var ordinates=[[point.lat(),point.lng()]];var properties={iconType:marker._iconType,lineType:null};this.clientCore.featureUpdated('point',pluginName,index,ordinates,properties,"userDragEvent");}
googlemapsPlugin.prototype._onMouseWheel=function(event)
{if(!this.gmap.scrollWheelZoomEnabled()){return;}
if(event!=null&&event.preventDefault){event.preventDefault();event.stopPropagation();}
else if(window.event){window.event.returnValue=false;window.event.cancelBubble=true;}}
googlemapsPlugin.prototype._closeInfoWindow=function(eventData)
{this.closeInfoWindowExt();}
googlemapsPlugin.prototype.closeInfoWindowExt=function()
{if(this.clientCore.getCustomInfoWindow()){this.gmap.closeExtInfoWindow();}else{this.gmap.closeInfoWindow();}}
googlemapsPlugin.prototype._createPlacemark=function(eventData)
{var icon=this.getGIconByType(eventData.pluginName,eventData.iconType,eventData.customIconUrl,false);var activeIcon=this.getGIconByType(eventData.pluginName,eventData.iconType,eventData.customActiveIconUrl,true);var zIndex=(eventData.index<0?2:0);var options={title:eventData.title,icon:icon,zIndex:zIndex,draggable:eventData.draggable};var point=new GLatLng(eventData.latitude,eventData.longitude);var marker=new maxGMarker(point,options);marker._title=eventData.title;marker._normalIcon=icon;marker._activeIcon=activeIcon;marker._description=eventData.description;marker._pluginName=eventData.pluginName;marker._index=eventData.index;marker._iconType=eventData.iconType;var pluginName=eventData.pluginName;var index=eventData.index;var myself=this;GEvent.addListener(marker,"mouseover",function(){myself._markerMouseOver(pluginName,index);});GEvent.addListener(marker,"mouseout",function(){myself._markerMouseOut(pluginName,index);});if(eventData.draggable){GEvent.addListener(marker,"dragend",function(){myself._markerDragged(pluginName,index);});marker.enableDragging();}
this.gmap.addOverlay(marker);this._registerFeature(eventData.pluginName,eventData.index,marker);}
googlemapsPlugin.prototype._createLineString=function(eventData)
{var lineStyle=this.clientCore.getLineStyle(eventData.pluginName,eventData.lineType);if(lineStyle==null){lineStyle=this.clientCore.getDefaultLineStyle(eventData.pluginName);if(lineStyle==null){lineStyle=this.fallbackLineStyle;}}
var points=this._ordinatesToGLatLng(eventData.ordinates);var polyline=new GPolyline(points,lineStyle.lineColor,lineStyle.width,lineStyle.lineOpacity);polyline._pluginName=eventData.pluginName;polyline._index=eventData.index;polyline._title=eventData.title;polyline._description=eventData.description
this.gmap.addOverlay(polyline);this._registerFeature(eventData.pluginName,eventData.index,polyline);}
googlemapsPlugin.prototype._createPolygon=function(eventData)
{var lineStyle=this.clientCore.getLineStyle(eventData.pluginName,eventData.lineType);if(lineStyle==null){lineStyle=this.clientCore.getDefaultLineStyle(eventData.pluginName);if(lineStyle==null){lineStyle=this.fallbackLineStyle;}}
var points=this._ordinatesToGLatLng(eventData.ordinates);var polyline=new GPolygon(points,lineStyle.lineColor,lineStyle.width,lineStyle.lineOpacity,lineStyle.fillColor,lineStyle.fillOpacity);polyline._pluginName=eventData.pluginName;polyline._index=eventData.index;polyline._title=eventData.title;polyline._description=eventData.description
this.gmap.addOverlay(polyline);this._registerFeature(eventData.pluginName,eventData.index,polyline);}
googlemapsPlugin.prototype._createMapControl=function(eventData)
{var domElementId="googlemaps__"+eventData.pluginName+"__"+eventData.panelType;var anchorPos=null;var offsetX=eventData.offsetLeft;var offsetY=eventData.offsetTop;if(this.mapControls[eventData.pluginName]==null){this.mapControls[eventData.pluginName]=new Object();}
var htmlControl=this.mapControls[eventData.pluginName][eventData.panelType];if(htmlControl!=null){domElementId=htmlControl.domElementId;var domElement=document.getElementById(domElementId);if(domElement!=null){domElement.innerHTML=eventData.html;}
htmlControl.html=eventData.html;return;}
var left=eventData.left;var top=eventData.top;var toLeft=true;var toTop=true;if(isNaN(left)){left=left.substring(0,left.length-1);toLeft=(isNaN(left)||left<60);}
else{offsetX+=left;}
if(isNaN(top)){top=top.substring(0,top.length-1);toTop=(isNaN(top)||top<60);}
else{offsetY+=top;}
if(toLeft){anchorPos=(toTop?G_ANCHOR_TOP_LEFT:G_ANCHOR_BOTTOM_LEFT);}
else{anchorPos=(toTop?G_ANCHOR_TOP_RIGHT:G_ANCHOR_BOTTOM_RIGHT);}
htmlControl=new GControl();htmlControl.containerId=domElementId;htmlControl.html=eventData.html;htmlControl.anchorPos=anchorPos;htmlControl.offsetX=offsetX;htmlControl.offsetY=offsetY;htmlControl.addedToMap=false;htmlControl.initialize=function(map)
{var container=document.createElement("div");container.id=this.containerId;container.className="googlemaps_htmlControl";container.innerHTML=this.html;map.getContainer().appendChild(container);return container;};htmlControl.getDefaultPosition=function()
{return new GControlPosition(this.anchorPos,new GSize(this.offsetX,this.offsetY));};this.mapControls[eventData.pluginName][eventData.panelType]=htmlControl;this.clientCore.debug("googlemapsPlugin._createMapControl: created map control for plugin "+eventData.pluginName);}
googlemapsPlugin.prototype._elementDropped=function(dragElement,dropElement,event)
{this.clientCore.debug("googlemaps: element dropped, mapping event point to latitude/longitude");var draggedPos=maxDomEvent.getPointerPosition(event);var mapPos=maxDom.getElementPosition(dropElement);var relativeX=draggedPos.x-mapPos.x;var relativeY=draggedPos.y-mapPos.y;var dragCorner=maxDom.getElementPosition(dragElement);var dragMeta=this.clientCore.getDraggableMetaProperties(dragElement);if(dragMeta==null){this.clientCore.debug("googlemaps: unable to find meta properties of draggable element, can't correct anchor position");}
else if(dragMeta.dragType!='placemark'){this.clientCore.debug("googlemaps: unknown dragType '"+dragMeta.dragType+"', can't correct anchor position");}
else{var iconStyle=this.clientCore.getIconStyle(dragMeta.pluginName,dragMeta.iconType);if(iconStyle==null){this.clientCore.debug("googlemaps: unable to find icon style of draggable element, can't correct anchor position");}
else{relativeX=relativeX-(draggedPos.x-dragCorner.x)+iconStyle.iconAnchorPxX;relativeY=relativeY-(draggedPos.y-dragCorner.y)+iconStyle.iconAnchorPxY;}}
var containerPos=new GPoint(relativeX,relativeY);var mapPoint=this.gmap.fromContainerPixelToLatLng(containerPos);this.clientCore.elementDropped('googlemaps',mapPoint.lat(),mapPoint.lng(),dragElement.id);}
googlemapsPlugin.prototype._setExtent=function(eventData)
{var extent=this._getGMapExtent();var margin=this.clientCore.getExtentMargin();if(margin.lon>0||margin.lat>0){var deltaLat=extent.north-extent.south;var deltaLon=extent.east-extent.west;var paddingLat=deltaLat*margin.lat;var paddingLon=deltaLon*margin.lon;extent.north-=paddingLat;extent.south+=paddingLat;extent.west+=paddingLon;extent.east-=paddingLon;}
this.clientCore.setExtent(extent.north,extent.west,extent.south,extent.east);}
googlemapsPlugin.prototype._mapLayerAdded=function(eventData)
{if(eventData.layerType=='overlay'){var mapLayer=this.clientCore.getMapLayer(eventData.pluginName,eventData.layerId);this._addGTileLayerOverlay(mapLayer);}
else{if(eventData.isVisible){this.gmap.setMapType(this.gmap.getCurrentMapType());}}}
googlemapsPlugin.prototype._mapLayerRemoved=function(eventData)
{if(eventData.layerType=='overlay'){var mapLayer=this.clientCore.getMapLayer(eventData.pluginName,eventData.layerId);if(!mapLayer)
return;var propertyId=mapLayer.pluginName+":"+mapLayer.layerId;var tileOverlay=this.tileOverlays[propertyId];if(tileOverlay==null){this.clientCore.debug("googlemapsPlugin._mapLayerRemoved: ignoring event, overlay not found");return;}
this.gmap.removeOverlay(tileOverlay);GEvent.clearInstanceListeners(tileOverlay);delete this.tileOverlays[propertyId];}
else{if(eventData.isVisible){this.gmap.setMapType(this.gmap.getCurrentMapType());}}}
googlemapsPlugin.prototype._moveView=function(eventData)
{this.gmap.panTo(new GLatLng(eventData.latitude,eventData.longitude));}
googlemapsPlugin.prototype._moveViewExtent=function(eventData)
{var margin=this.clientCore.getExtentMargin();var paddingLat=0;var paddingLon=0;if(margin.lon>0||margin.lat>0){var deltaLat=eventData.north-eventData.south;var deltaLon=eventData.east-eventData.west;paddingLat=(deltaLat/(1-margin.lat))-deltaLat;paddingLon=(deltaLon/(1-margin.lon))-deltaLon;}
var bounds=new GLatLngBounds(new GLatLng(eventData.south-paddingLat,eventData.west-paddingLon),new GLatLng(eventData.north+paddingLat,eventData.east+paddingLon));var level=this.gmap.getBoundsZoomLevel(bounds);var center=bounds.getCenter();if(Math.abs(level-this.gmap.getZoom())>1||!this.gmap.isLoaded()||!this.clientCore.isLoaded()){this.gmap.setCenter(center,level);}
else{this.gmap.setZoom(level);this.gmap.panTo(center);}}
googlemapsPlugin.prototype._openInfoWindow=function(eventData)
{var marker=eventData.marker;this.openInfoWindowExt(marker,eventData.html,eventData.latitude,eventData.longitude);}
googlemapsPlugin.prototype.openInfoWindowExt=function(marker,html,latitude,longitude)
{if(this.clientCore.getCustomInfoWindow()){var cssStyle=marker._pluginName+"_window";if(typeof(marker.openExtInfoWindow)=="function"){var options={beakOffset:12,paddingX:40,paddingY:40};if(html.startsWith('http://')){options['ajaxUrl']=html;html='Bezig met laden...';}
marker.openExtInfoWindow(this.gmap,cssStyle,html,options);}
else{this.openInfoWindow(html,latitude,longitude);}}else{this.openInfoWindow(html,latitude,longitude);}}
googlemapsPlugin.prototype.openInfoWindow=function(html,latitude,longitude)
{var newPoint=new GLatLng(latitude,longitude);html='<div id="googlemapsPluginInfoWindow" style="overflow: hidden; background-color: #fff">'+html+'</div>';this.gmap.openInfoWindowHtml(newPoint,html);}
googlemapsPlugin.prototype._openNotificationWindow=function(eventData)
{var notificationWindow=document.getElementById('googlemapsPluginNotificationWindow');if(notificationWindow==null){alert("interne fout in googlemapsPlugin._openNotificationWindow: page element not found");return;}
var title=eventData.title;var html=eventData.html;if(title!=null&&title!=''){var title=title.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');html='<h1>'+title+'</h1>'+html;}
notificationWindow.innerHTML=html;maxDom.showElement(notificationWindow);setTimeout("maxDom.hideElement('googlemapsPluginNotificationWindow')",3000);}
googlemapsPlugin.prototype._openMapControl=function(eventData)
{if(this.mapControls[eventData.pluginName]==null||this.mapControls[eventData.pluginName][eventData.panelType]==null){alert("interne fout in googlemapsPlugin._openMapControl: plugin '"+eventData.pluginName+"' heeft geen '"+eventData.panelType+"' control.");return;}
var htmlControl=this.mapControls[eventData.pluginName][eventData.panelType];if(!htmlControl.addedToMap){htmlControl.addedToMap=true;this.gmap.addControl(htmlControl);this.clientCore.debug("googlemapsPlugin._openMapControl: added control to map for plugin "+eventData.pluginName);}}
googlemapsPlugin.prototype._updatePlacemark=function(eventData)
{if(this.features[eventData.pluginName]==null||this.features[eventData.pluginName][eventData.index]==null){this.clientCore.debug("googlemapsPlugin._updatePlacemark: ignoring event, placemark not found");return;}
var marker=this._getFeaturePlacemark(this.features[eventData.pluginName][eventData.index]);if(eventData.title!=null){marker._title=eventData.title;marker.setTitle(eventData.title);}
if(eventData.description!=null){marker._description=eventData.description;}
if(eventData.latitude!=null||eventData.longitude!=null){marker.setPoint(new GLatLng(eventData.latitude,eventData.longitude));}
if(eventData.draggable!=null){if(eventData.draggable){marker.enableDragging();}
else{marker.disableDragging();}}
var iconType=eventData.iconType!=null?eventData.iconType:marker._iconType;var isActive=(this.activeFeature.pluginName==eventData.pluginName&&this.activeFeature.index==eventData.index);if(eventData.iconType!=null||eventData.customIconUrl!=null){marker._normalIcon=this.getGIconByType(eventData.pluginName,iconType,eventData.customIconUrl,false);if(!isActive){marker.setIcon(marker._normalIcon);}}
if(eventData.iconType!=null||eventData.customActiveIconUrl!=null){marker._activeIcon=this.getGIconByType(eventData.pluginName,iconType,eventData.customActiveIconUrl,true);if(isActive){marker.setIcon(marker._activeIcon);}}
var infoWindow=this.gmap.getInfoWindow();if(isActive&&infoWindow!=null&&!infoWindow.isHidden()){var point=marker.getPoint();this.closeInfoWindowExt();if(marker._description.length>0){this.openInfoWindowExt(marker,marker._description,point.lat(),point.lng());}}}
googlemapsPlugin.prototype._updateResultVisibility=function(eventData)
{if(this.features[eventData.pluginName]==null){return;}
var show=eventData.isVisible;var features=this.features[eventData.pluginName];for(var index in features){if(typeof(features[index])=='function'){continue;}
if(show){this._addGOverlay(eventData.pluginName,index);}
else{this._removeGOverlay(eventData.pluginName,index);}
this.visibility[eventData.pluginName][index]=show;}}
googlemapsPlugin.prototype._updateMapLayerVisibility=function(eventData)
{var mapLayer=this.clientCore.getMapLayer(eventData.pluginName,eventData.layerId);if(mapLayer==null){this.clientCore.debug("googlemapsPlugin._updateMapLayerVisibility: ignoring event, overlay not found");return;}
if(mapLayer.layerType=='overlay'){var tileOverlay=this.tileOverlays[mapLayer.pluginName+":"+mapLayer.layerId];if(eventData.isChanged){if(eventData.isVisible){this.gmap.addOverlay(tileOverlay);}
else{this.gmap.removeOverlay(tileOverlay);}}}
else{this.gmap.setMapType(this.gmap.getCurrentMapType());}}
googlemapsPlugin.prototype._setResultActive=function(eventData)
{if(this.features[eventData.pluginName]==null||this.features[eventData.pluginName][eventData.index]==null){this.clientCore.debug("googlemapsPlugin._setResultActive: ignoring event, placemark not found");return;}
var marker=this._getFeaturePlacemark(this.features[eventData.pluginName][eventData.index]);var point=this._getFeaturePoint(this.features[eventData.pluginName][eventData.index]);if(typeof this.features[eventData.pluginName][eventData.index].setIcon!='function'){if(marker._description.length>0){this.openInfoWindowExt(marker,marker._description,point.lat(),point.lng());}
return;}
var isActive=(this.activeFeature.pluginName==eventData.pluginName&&this.activeFeature.index==eventData.index);if(isActive){if(marker._description.length>0){this.openInfoWindowExt(marker,marker._description,point.lat(),point.lng());}}
else{if(marker.setIcon){var prevActive=this.activeFeature;if(prevActive.pluginName!=null){var prevMarker=this.features[prevActive.pluginName][prevActive.index];prevMarker.setIcon(prevMarker._normalIcon);}
marker.setIcon(marker._activeIcon);}
if(marker._description.length>0){this.openInfoWindowExt(marker,marker._description,point.lat(),point.lng());}
this.activeFeature.pluginName=eventData.pluginName;this.activeFeature.index=eventData.index;}}
googlemapsPlugin.prototype._removePlacemark=function(eventData)
{if(this.features[eventData.pluginName]==null||this.features[eventData.pluginName][eventData.index]==null){this.clientCore.debug("googlemapsPlugin._removePlacemark: ignoring event, placemark not found");return;}
this._removeGOverlay(eventData.pluginName,eventData.index);GEvent.clearInstanceListeners(this.features[eventData.pluginName][eventData.index]);this._unregisterFeature(eventData.pluginName,eventData.index);}
googlemapsPlugin.prototype._removeResult=function(eventData)
{if(this.features[eventData.pluginName]==null){return;}
this.clientCore.debug("googlemapsPlugin._removeResult: removing results for plugin '"+eventData.pluginName+"'");var features=this.features[eventData.pluginName];for(var index in features){if(typeof(features[index])=='function'){continue;}
this._removeGOverlay(eventData.pluginName,index);GEvent.clearInstanceListeners(features[index]);}
if(this.activeFeature.pluginName==eventData.pluginName){this.activeFeature.pluginName=null;this.activeFeature.index=null;}
this.features[eventData.pluginName]=new Object();this.visibility[eventData.pluginName]=new Object();if(!eventData.receivingNew){delete this.icons[eventData.pluginName];delete this.activeIcons[eventData.pluginName];}}
googlemapsPlugin.prototype._removeResultType=function(eventData)
{if(this.features[eventData.pluginName]==null){return;}
this.clientCore.debug("googlemapsPlugin._removeResultType: removing results for plugin '"+eventData.pluginName+"'");var features=this.features[eventData.pluginName];for(var index in features){if(typeof(features[index])=='function'){continue;}
if(typeof(features[index])=='undefined'){continue;}
if(features[index]._iconType==eventData.iconType){this._removeGOverlay(eventData.pluginName,index);GEvent.clearInstanceListeners(features[index]);}}}
googlemapsPlugin.prototype._removeMapControl=function(eventData)
{if(this.mapControls[eventData.pluginName]==null||this.mapControls[eventData.pluginName][eventData.panelType]==null){return;}
var htmlControl=this.mapControls[eventData.pluginName][eventData.panelType];if(htmlControl.addedToMap){htmlControl.addedToMap=false;this.gmap.removeControl(htmlControl);delete this.mapControls[eventData.pluginName][eventData.panelType];this.clientCore.debug("googlemapsPlugin._removeMapControl: removed control from map for plugin "+eventData.pluginName);}}
googlemapsPlugin.prototype._applyStartExtent=function()
{var startExtent=this.clientCore.getStartExtent();var eventData={pluginName:this.pluginName,north:startExtent.north,west:startExtent.west,south:startExtent.south,east:startExtent.east,minRange:null,maxRange:null};this._moveViewExtent(eventData);}
googlemapsPlugin.prototype._addGTileLayerOverlay=function(mapLayer)
{var myself=this;var tileLayer=new GTileLayer(new GCopyrightCollection(""),0,19);tileLayer._mapLayer=mapLayer;tileLayer.getTileUrl=function(t,z){return myself._getOverlayMapLayerTileUrl(this,t,z);};tileLayer.isPng=function(){return false;}
tileLayer.getOpacity=function(){return 0.7;}
var tileOverlay=new GTileLayerOverlay(tileLayer);this.tileOverlays[mapLayer.pluginName+":"+mapLayer.layerId]=tileOverlay;if(mapLayer.visible){this.gmap.addOverlay(tileOverlay);}
this.clientCore.debug("googlemapsPlugin._addGTileLayerOverlay: added overlay for "+mapLayer.pluginName+":"+mapLayer.layerId);}
googlemapsPlugin.prototype._createGIcon=function(iconStyle,customIconUrl,isActive)
{var iconUrl;if(customIconUrl==null||customIconUrl==""){iconUrl=(isActive?iconStyle.activeIconUrl:iconStyle.iconUrl);}
else{iconUrl=customIconUrl;}
icon=new GIcon();icon.image=iconUrl;icon.iconSize=new GSize(iconStyle.iconWidth,iconStyle.iconHeight);icon.iconAnchor=new GPoint(iconStyle.iconAnchorPxX,iconStyle.iconAnchorPxY);icon.shadow=iconStyle.shadowUrl;icon.shadowSize=new GSize(iconStyle.shadowWidth,iconStyle.shadowHeight);icon.infoWindowAnchor=new GPoint(0,0);return icon;}
googlemapsPlugin.prototype._addGOverlay=function(pluginName,index)
{var features=this.features[pluginName][index];for(var i=0;i<features.length;i++){this.gmap.addOverlay(features[i]);}
if(this.activeFeature.pluginName==pluginName&&this.activeFeature.index==index&&feature._description.length>0){if(feature.getPoint){var point=feature.getPoint();this.openInfoWindowExt(feature,feature._description,point.lat(),point.lng());}}}
googlemapsPlugin.prototype._getGMapExtent=function()
{var bounds=this.gmap.getBounds();var northEast=bounds.getNorthEast();var southWest=bounds.getSouthWest();return{north:northEast.lat(),west:southWest.lng(),south:southWest.lat(),east:northEast.lng()};}
googlemapsPlugin.prototype._getTileExtent=function(tile,zoom)
{var tileSize=256;var upperLeftPoint=new GPoint((tile.x)*tileSize,(tile.y+1)*tileSize);var lowerRightPoint=new GPoint((tile.x+1)*tileSize,(tile.y)*tileSize);var projection=this.gmap.getCurrentMapType().getProjection();var upperLeft=projection.fromPixelToLatLng(upperLeftPoint,zoom);var lowerRight=projection.fromPixelToLatLng(lowerRightPoint,zoom);var extent={west:upperLeft.lng(),east:lowerRight.lng(),south:upperLeft.lat(),north:lowerRight.lat()};return extent;}
googlemapsPlugin.prototype._getGroundMapLayerTileUrl=function(tileLayer,tile,zoom)
{var tileExtent=this._getTileExtent(tile,zoom);var mapExtent=this._getGMapExtent();var mapLayer=this.clientCore.getMapLayerByExtent(tileExtent,mapExtent,"ground",true);if(mapLayer==null){return G_SATELLITE_MAP.getTileLayers()[0].getTileUrl(tile,zoom);}
else{return this._getMapLayerTileUrl(mapLayer,tileExtent);}}
googlemapsPlugin.prototype._getOverlayMapLayerTileUrl=function(tileLayer,tile,zoom)
{var tileExtent=this._getTileExtent(tile,zoom);var mapExtent=this._getGMapExtent();var mapLayer=tileLayer._mapLayer;if(!this.clientCore.hasMapLayerTileForExtent(mapLayer,tileExtent,mapExtent)){return this.pluginGraphicsUrl+"transparent.gif";}
else{return this._getMapLayerTileUrl(mapLayer,tileExtent);}}
googlemapsPlugin.prototype._getMapLayerTileUrl=function(mapLayer,tileExtent)
{return this.clientCore.getMapLayerTileUrl(mapLayer,tileExtent,256,256);}
googlemapsPlugin.prototype._ordinatesToGLatLng=function(ordinates)
{var points=[];for(var i=0;i<ordinates.length;i++){var latlon=ordinates[i];points.push(new GLatLng(latlon[0],latlon[1]));}
return points;}
googlemapsPlugin.prototype._removeGOverlay=function(pluginName,index)
{if(this.activeFeature.pluginName==pluginName&&this.activeFeature.index==index){var infoWindow=this.gmap.getInfoWindow();if(infoWindow!=null){infoWindow.hide();}}
var features=this.features[pluginName][index];for(var i=0;i<features.length;i++){this.gmap.removeOverlay(features[i]);}}
googlemapsPlugin.prototype._registerFeature=function(pluginName,index,feature)
{if(this.features[pluginName]==null){this.features[pluginName]=new Object();this.visibility[pluginName]=new Object();}
if(this.features[pluginName][index]==null){this.features[pluginName][index]=[];}
this.features[pluginName][index].push(feature);this.visibility[pluginName][index]=true;}
googlemapsPlugin.prototype._unregisterFeature=function(pluginName,index)
{if(this.activeFeature.pluginName==pluginName){this.activeFeature.pluginName=null;this.activeFeature.index=null;}
delete this.features[pluginName][index];delete this.visibility[pluginName][index];};function helpPlugin(clientCore)
{this.clientCore=clientCore;var myself=this;}
helpPlugin.prototype.showHelp=function(what)
{this.clientCore.callPlugin(this.pluginName+':showHelp',what);};function layerPlugin(clientCore)
{this.clientCore=clientCore;this.visibleLayers={};this.allLayers={};var myself=this;this.clientCore.addEventListener("loaded",function(d){myself._loaded(d);});}
layerPlugin.prototype._loaded=function()
{this.visibleLayers=this.serializeLayers();}
layerPlugin.prototype.updateResult=function(layerId,result)
{var elemName="layer_"+layerId+"Result";if($(elemName)){$(elemName).innerHTML=result;}}
layerPlugin.prototype.toggleResultVisible=function(layerId)
{this.visibleLayers[layerId]=!this.visibleLayers[layerId];this.setResultVisible(layerId,this.visibleLayers[layerId]);}
layerPlugin.prototype.setResultVisible=function(layerId,visible,delayed)
{if(typeof layerId=='undefined'){var layerId=null;}
this.visibleLayers[layerId]=visible;if($('layer_'+layerId+'Checkbox')){$('layer_'+layerId+'Checkbox').checked=visible;}
if(!delayed){this.clientCore.getPluginClient('layeritems').updatePluginSearchParams(this.pluginName,this.serializeLayers());}
if($('layerRow'+layerId)){if(visible){$('layerRow'+layerId).addClassName('aktief');}else{$('layerRow'+layerId).removeClassName('aktief');}}}
layerPlugin.prototype.processVisibleLayers=function()
{this.clientCore.getPluginClient('layeritems').updatePluginSearchParams(this.pluginName,this.serializeLayers());}
layerPlugin.prototype.serializeLayers=function()
{retval={};var checkBoxes=$$("#productLegend input[type='checkbox']");if(checkBoxes){checkBoxes.each(function(checkBox){retval[checkBox.value]=checkBox.checked;});}
return retval;};function outputdisplayPlugin(clientCore)
{this.clientCore=clientCore;this.rootPanelId="outputDisplay";this.homePanelId="contentHome";this.activePanel=null;this.previousPanel=null;this.timeoutError=true;if(document.getElementById(this.rootPanelId)==null){alert("interne fout in outputdisplayPlugin<constructor>: panel root element id '"+this.rootPanelId+"' does not exist");return;}
var myself=this;clientCore.addEventListener('createContentPanel',function(d){myself.createContentPanel(d.pluginName,d.panelType,d.html)});clientCore.addEventListener('openContentPanel',function(d){myself.openContentPanel(d.pluginName,d.panelType)});clientCore.addEventListener('showErrorReport',function(d){myself.showErrorReport(d.pluginName,d.message,d.report)});clientCore.addEventListener('removeContentPanel',function(d){myself.removeContentPanel(d.pluginName,d.panelType)});clientCore.addEventListener('loaded',function(d){myself._loaded(d)});clientCore.addEventListener('callPlugin',function(d){myself._callPlugin(d)});var panels=this.getContentPanelList();for(var i=0;i<panels.length;i++){clientCore.addContentPanel(panels[i].pluginName,panels[i].panelType);}}
outputdisplayPlugin.prototype._loaded=function(eventData)
{if(location.host.indexOf('gemgids')==-1&&location.host.indexOf('nukaart')==-1&&location.host.indexOf('nuradar')==-1){var graphicsUrl='moduleplugins/'+this.pluginName+'/graphics';var html='<a href="http://www.max.nl" target="_blank"><img border="0" src="'+graphicsUrl+'/poweredbymax_transparent3.png" width="125" height="25" alt=""></a>';this.clientCore.createMapControl(this.pluginName,'logo',html,'100%','100%',16,20);this.clientCore.openMapControl(this.pluginName,'logo');}
if(this.clientCore.googlemapsPlugin){var gmap=this.clientCore.googlemapsPlugin.getMapObject();gmap.enableScrollWheelZoom();}}
outputdisplayPlugin.prototype.getActivePanel=function()
{return this.activePanel;}
outputdisplayPlugin.prototype.getActivePanelSource=function()
{if(this.activePanel==null){return null;}
return this.getPanelSource(this.activePanel.pluginName,this.activePanel.panelType);}
outputdisplayPlugin.prototype.isActivePanel=function(pluginName,panelType)
{return(this.activePanel!=null)&&(this.activePanel.pluginName==pluginName)&&(this.activePanel.panelType==panelType);}
outputdisplayPlugin.prototype.hasContentPanel=function(pluginName,panelType)
{var domElementId=pluginName+"__"+panelType;var panel=document.getElementById(domElementId);return(panel!=null);}
outputdisplayPlugin.prototype.getPanelSource=function(pluginName,panelType)
{var domElementId=pluginName+"__"+panelType;var panel=document.getElementById(domElementId);if(panel==null){return null;}
return panel.innerHTML;}
outputdisplayPlugin.prototype.openPreviousPanel=function()
{if(this.previousPanel==null){return;}
this.openContentPanel(this.previousPanel.pluginName,this.previousPanel.panelType);}
outputdisplayPlugin.prototype.createContentPanel=function(pluginName,panelType,html)
{var domElementId=pluginName+"__"+panelType;var panel=document.getElementById(domElementId);if(panel==null){panel=this._createPanel(domElementId,html);this.clientCore.addContentPanel(pluginName,panelType);this.clientCore.debug("outputdisplayPlugin.createContentPanel: creating layer '"+panelType+"' for plugin '"+pluginName+"'");}
else{panel.innerHTML=html;this.clientCore.debug("outputdisplayPlugin.createContentPanel: updating layer '"+panelType+"' for plugin '"+pluginName+"'");}}
outputdisplayPlugin.prototype.openContentPanel=function(pluginName,panelType)
{var domElementId=pluginName+"__"+panelType;var panel=document.getElementById(domElementId);if(panel==null){alert("interne fout in outputdisplayPlugin.openContentPanel: plugin '"+pluginName+"' heeft geen '"+panelType+"' paneel.");return false;}
this.clientCore.debug("outputdisplayPlugin.openContentPanel: displaying layer '"+panelType+"' for plugin '"+pluginName+"' and updating GeoMaxClientCore of panel change.");this._openPanel(domElementId);var homePanel=document.getElementById(this.homePanelId);if(homePanel!=null){maxDom.hideElement(homePanel);}
this.previousPanel=this.activePanel;this.activePanel={pluginName:pluginName,panelType:panelType};this.clientCore.setActiveContentPanel(this.activePanel.pluginName,this.activePanel.panelType);return true;}
outputdisplayPlugin.prototype.removeContentPanel=function(pluginName,panelType)
{var domElementId=pluginName+"__"+panelType;var panel=document.getElementById(domElementId);if(panel==null){this.clientCore.debug("outputdisplayPlugin.removeContentPanel: plugin '"+pluginName+"' has no '"+panelType+"' panel to remove.");return false;}
var rootPanel=document.getElementById(this.rootPanelId);if(panel.parentNode==null||panel.parentNode!=rootPanel){alert("interne fout in aanroep naar outputdisplayPlugin.removeContentPanel: element '"+domElementId+"' is not a valid content panel");return false;}
this.clientCore.debug("outputdisplayPlugin.removeContentPanel: removing layer '"+panelType+"' for plugin '"+pluginName+"'");panel.parentNode.removeChild(panel);if(this.activePanel==null||this.isActivePanel(pluginName,panelType)){this.activePanel=null;var homePanel=document.getElementById(this.homePanelId);if(homePanel==null){alert("interne fout in aanroep naar outputdisplayPlugin.removeContentPanel: home panel '"+this.homePanelId+"' does not exist.");return true;}
maxDom.showElement(homePanel);}
return true;}
outputdisplayPlugin.prototype.getContentPanelList=function()
{var panels=new Array();var rootPanel=document.getElementById(this.rootPanelId);var divs=rootPanel.getElementsByTagName('div');for(var i=0;i<divs.length;i++){if(divs[i].className=='contentPanel'){var panelId=divs[i].id;if(panelId.indexOf("__")!=-1){var panelData=panelId.split("__");panels[panels.length]={pluginName:panelData[0],panelType:panelData[1]};}}}
return panels;}
outputdisplayPlugin.prototype.showErrorReport=function(pluginName,message,report)
{var activePanelId=(this.activePanel==null?'contentHome':this.activePanel.pluginName+"__"+this.activePanel.panelType);var onclick="maxDom.hideElement('ajaxErrors'); maxDom.showElement('"+activePanelId+"'); return false";var ajaxErrors=document.getElementById('ajaxErrors');ajaxErrors.innerHTML='<h2>'+message+'</h2>'
+'<p><a href="#" onclick="'+onclick+'">terug naar het vorige scherm</a></p>'
+report;ajaxErrors.style.display='block';maxDom.hideElement(activePanelId);}
outputdisplayPlugin.prototype._callPlugin=function(eventData)
{var errorElement=document.getElementById("ajaxErrors");if(errorElement==null){alert("interne fout in outputdisplayPlugin._callPlugin: DOM element 'ajaxErrors' niet gevonden.");return;}
if(errorElement.style.display=='block'){this.clientCore.debug("outputdisplayPlugin._callPlugin: erasing error output element contents");errorElement.style.display='none';errorElement.innerHTML='';var activePanelId=(this.activePanel==null?'contentHome':this.activePanel.pluginName+"__"+this.activePanel.panelType);maxDom.showElement(activePanelId);}}
outputdisplayPlugin.prototype._createPanel=function(domElementId,html)
{var panel=document.createElement('div');panel.id=domElementId;panel.className="contentPanel";panel.innerHTML=html;panel.style.zIndex=100;panel.style.display='none';document.getElementById(this.rootPanelId).appendChild(panel);return panel;}
outputdisplayPlugin.prototype._openPanel=function(domElementId)
{var rootPanel=document.getElementById(this.rootPanelId);var divs=rootPanel.getElementsByTagName('div');for(var i=0;i<divs.length;i++){if(divs[i].className=='contentPanel'){maxDom.hideElement(divs[i]);}}
maxDom.showElement(domElementId);rootPanel.scrollTop=0;};function overlaydialogPlugin(clientCore)
{this.clientCore=clientCore;var myself=this;clientCore.addEventListener('closeModalDialog',function(d){myself.closeModalDialog(d.pluginName,d.panelType)});clientCore.addEventListener('createModalDialog',function(d){myself.createModalDialog(d.pluginName,d.panelType,d.html,d.width,d.height)});clientCore.addEventListener('openModalDialog',function(d){myself.openModalDialog(d.pluginName,d.panelType)});clientCore.addEventListener('removeModalDialog',function(d){myself.removeModalDialog(d.pluginName,d.panelType)});}
overlaydialogPlugin.prototype.getDialogId=function(pluginName,panelType){return pluginName+"__"+panelType.replace(/[^A-Za-z0-9_]/g,'')+"_dialog";}
overlaydialogPlugin.prototype.closeModalDialog=function(pluginName,panelType)
{var domElementId=this.getDialogId(pluginName,panelType);var dialog=document.getElementById(domElementId);if(dialog==null){alert("interne fout in overlaydialogPlugin.closeModalDialog: plugin '"+pluginName+"' heeft geen '"+panelType+"' dialog.");return false;}
maxDom.hideElement(domElementId);maxDom.hideElement(this.pluginName+"_OverlayBox");var body=document.getElementsByTagName("BODY")[0];var html=document.getElementsByTagName("HTML")[0];body.style.overflow=body._oldOverflow;html.style.overflow=html._oldOverflow;return true;}
overlaydialogPlugin.prototype._initializeOverlay=function()
{var domElementId=this.pluginName+"_OverlayBox";var overlay=document.getElementById(domElementId);if(overlay==null){overlay=document.createElement('div');overlay.id=domElementId;overlay.className="modalDialogOverlay";overlay.style.zIndex=10000;overlay.style.display='none';overlay.style.position='fixed';overlay.style.left=0;overlay.style.top=0;overlay.style.width='100%';overlay.style.height='100%';var body=document.getElementsByTagName("BODY")[0];body.appendChild(overlay);}}
overlaydialogPlugin.prototype.createModalDialog=function(pluginName,panelType,html,width,height)
{var style='';if(width!=null){if(!isNaN(width)){width+='px';}
style+="width: "+width+";";}
if(height!=null){if(!isNaN(height)){height+='px';}
style+="height: "+height+";";}
if(style.length>0){style=' style="'+style+'"';}
this._initializeOverlay();var domElementId=this.getDialogId(pluginName,panelType);var dialog=document.getElementById(domElementId);if(dialog==null){dialog=document.createElement('div');dialog.id=domElementId;dialog.style.zIndex=10001;dialog.style.display='none';dialog.style.position='fixed';dialog.style.left=0;dialog.style.top=0;dialog.style.width='100%';dialog.style.height='100%';if(navigator.appName=="Microsoft Internet Explorer"){dialog.style.position='absolute';dialog.style.height='4000px';}
var body=document.getElementsByTagName("BODY")[0];body.appendChild(dialog);this.clientCore.debug("overlaydialogPlugin.createModalDialog: creating dialog '"+panelType+"' for plugin '"+pluginName+"'");}
else{this.clientCore.debug("overlaydialogPlugin.createModalDialog: updating dialog '"+panelType+"' for plugin '"+pluginName+"'");}
var closeAction=this.clientCore.getObjectName()+".closeModalDialog('"+pluginName+"', '"+panelType+"');";dialog.innerHTML='<div class="modalDialogSpacing">'
+'  <div class="modalDialogPanel">'
+'    <div class="modalDialogCaption"><a href="#" onclick="'+closeAction+'; return false" class="closeButton">sluiten</a></div>'
+'    <div class="modalDialogContent"'+style+'>'+html+'</div>'
+'  </div>'
+'</div>';}
overlaydialogPlugin.prototype.openModalDialog=function(pluginName,panelType)
{var domElementId=this.getDialogId(pluginName,panelType);var panel=document.getElementById(domElementId);if(panel==null){alert("interne fout in overlaydialogPlugin.openModalDialog: plugin '"+pluginName+"' heeft geen '"+panelType+"' dialog.");return false;}
maxDom.showElement(domElementId);maxDom.showElement(this.pluginName+"_OverlayBox");var body=document.getElementsByTagName("BODY")[0];var html=document.getElementsByTagName("HTML")[0];body._oldOverflow=body.style.overflow;html._oldOverflow=html.style.overflow;body.style.overflow='hidden';html.style.overflow='hidden';return true;}
overlaydialogPlugin.prototype.removeModalDialog=function(pluginName,panelType)
{var domElementId=this.getDialogId(pluginName,panelType);var panel=document.getElementById(domElementId);if(panel==null){this.clientCore.debug("overlaydialogPlugin.removeModalDialog: plugin '"+pluginName+"' has no '"+panelType+"' panel to remove.");return;}
this.clientCore.debug("overlaydialogPlugin.removeModalDialog: removing dialog '"+panelType+"' for plugin '"+pluginName+"'");panel.parentNode.removeChild(panel);return true;};function progressoverlayPlugin(clientCore)
{this.clientCore=clientCore;this.showTimeout=null;this.hideTimeout=null;var myself=this;clientCore.addEventListener('callPlugin',function(d){myself.showOverlay()});clientCore.addEventListener('callPluginFinished',function(d){myself.hideOverlay()});}
progressoverlayPlugin.prototype.showOverlay=function(showDirectly,maxVisibleTime)
{if(typeof maxVisibleTime=='undefined'){maxVisibleTime=120000;}
if(this.showTimeout){clearTimeout(this.showTimeout);}
if(showDirectly){this.showTimeout=setTimeout("maxDom.showElement('ajaxProgress')",1);}
else{this.showTimeout=setTimeout("maxDom.showElement('ajaxProgress')",500);}
this.clientCore.debug("progressoverlayPlugin.showOverlay: displaying overlay");if(this.hideTimeout){clearTimeout(this.hideTimeout);}
this.hideTimeout=setTimeout("maxDom.hideElement('ajaxProgress')",500+maxVisibleTime);}
progressoverlayPlugin.prototype.hideOverlay=function()
{clearTimeout(this.showTimeout);clearTimeout(this.hideTimeout);this.showTimeout=null;this.hideTimeout=null;this.hideTimeout=setTimeout("maxDom.hideElement('ajaxProgress')",500);this.clientCore.debug("progressoverlayPlugin.hideOverlay: hiding overlay");};function site_nuradarPlugin(clientCore)
{this.clientCore=clientCore;var myself=this;this._initializeSplitter();this._initializeResizeHandler();this.clientCore.setCustomInfoWindow(true);this.clientCore.addEventListener("updateLoginState",this._updateLoginState.bind(this));}
site_nuradarPlugin.prototype._initializeSplitter=function()
{var mapSplitter=new maxSplitter();mapSplitter.addPane("contentArea",['outputArea','outputDisplay','productArea']);mapSplitter.addPane("viewArea",['mapAreaWrapper','mapArea','timelineArea']);var myself=this;mapSplitter.addResizeListener(function(eventArgs){myself.clientCore.checkResize();});this.splitter2=mapSplitter;}
site_nuradarPlugin.prototype._initializeResizeHandler=function()
{this.resizer=new maxResizeHandler();var splitterHandle=this.splitter2.getHandle().getDomElement();this.resizer.addPanes(["content","viewArea","outputDisplay"]);this.resizer.addPane(splitterHandle);this.resizer.setLastPageElement("footer");var myself=this;this.resizer.addResizeListener(function(eventArgs){myself.clientCore.checkResize();});this.resizer.enableAutoMaximize();}
site_nuradarPlugin.prototype._updateLoginState=function(eventData)
{this.clientCore.callPlugin(this.pluginName+':updateLoginState',eventData);}
site_nuradarPlugin.prototype.toggleFullScreen=function()
{this.fullScreen=!this.fullScreen;var gmap=this.clientCore.googlemapsPlugin.getMapObject();var center=gmap.getCenter();if(this.fullScreen){$('toggleFullScreen').value='Sluit volledig scherm';$$('body').each(function(e){e.addClassName('fullscreen');});$('news_unfold').observe('click',(this.layerToggler=this.toggleLayer.bindAsEventListener(this)));$('timeline_unfold').observe('click',(this.timelineToggler=this.toggleTimeline.bindAsEventListener(this)));if(true||!Prototype.Browser.IE){new Draggable('productArea',{handle:'logo_productarea'});new Draggable('timelineTabContainer',{constraint:'horizontal',handle:'timeline_tab','z-index':5000});$('logo_productarea').setStyle({cursor:'move'});$('timeline_tab').setStyle({cursor:'e-resize'});}}else{$('toggleFullScreen').value='Volledig scherm';$$('body').each(function(e){e.removeClassName('fullscreen');});Event.stopObserving($('news_unfold'),'click',this.layerToggler);Event.stopObserving($('timeline_unfold'),'click',this.timelineToggler);$('timelineTabContainer').setStyle({left:'85px',bottom:'0px',opacity:1.0});}
$('timelineContainer').show();$('publicProducts').show();this.updateToggler($('news_unfold'),true);this.updateToggler($('timeline_unfold'),true);gmap.checkResize();this.resizer.maximize();gmap.setCenter(center);this.clientCore.layeritemsPlugin.refreshItems();}
site_nuradarPlugin.prototype.toggleLayer=function(event)
{this.toggleDiv($('publicProducts'),event);}
site_nuradarPlugin.prototype.toggleTimeline=function(event)
{this.toggleDiv($('timelineContainer'),event);}
site_nuradarPlugin.prototype.toggleDiv=function(div,event)
{if(Prototype.Browser.IE){div.toggle();this.updateToggler(event.target,div.visible());}else{if(div.visible()){Effect.SlideUp(div,{duration:0.5,afterFinish:function(effect){this.updateToggler(event.target,false);}.bind(this)});}else{Effect.SlideDown(div,{duration:0.5,afterFinish:function(effect){this.updateToggler(event.target,true);}.bind(this)});}}}
site_nuradarPlugin.prototype.updateToggler=function(elem,isVisible)
{elem.removeClassName(isVisible?'closed':'open');elem.addClassName(isVisible?'open':'closed');};function timelinePlugin(clientCore)
{this.clientCore=clientCore;this.autoUpdate=true;var myself=this;this.clientCore.addEventListener("loaded",function(d){myself._loaded(d);});this.buienradarStartSlotId=-1;this.buienradarEndSlotId=-1;this.pxLeftMargin=2;this.pxPerDay=11;this.pxPerHour=17;}
timelinePlugin.prototype._initializeSlider=function()
{var myself=this;this.slider=new Control.Slider(['handle1','handle2'],'track',{range:$R(0,664,false),sliderValue:[$F('handle1_value'),$F('handle2_value')],restricted:true,onSlide:function(v){myself.updateTimeline(v)},onChange:function(v){myself.setTimeline(v)}});this.searchParams={};this.searchParams['starttime']=this.convertPixelsToTime($F('handle1_value'));this.searchParams['endtime']=this.convertPixelsToTime($F('handle2_value'));this.clientCore.layeritemsPlugin.setPluginSearchParams(this.pluginName,this.searchParams);}
timelinePlugin.prototype.setTimeSlots=function(timeSlots)
{this.timeSlots=timeSlots;this.minPixels=this.timeSlots[0]['pixels'];this.minTime=this.timeSlots[0]['time'];this.lastSlot=this.timeSlots.length-1;this.maxPixels=this.timeSlots[this.lastSlot]['pixels'];this.maxTime=this.timeSlots[this.lastSlot]['time'];}
timelinePlugin.prototype._loaded=function()
{this._initializeSlider();}
timelinePlugin.prototype.selectTimeSlot=function(timeSlotId)
{var startSlot=this.timeSlots[parseInt(timeSlotId)];var endSlot=this.timeSlots[parseInt(timeSlotId)+1];var startPixels=startSlot['pixels'];var endPixels=endSlot['pixels'];this.autoUpdate=false;this.slider.setValue(startPixels,0);this.slider.setValue(endPixels,1);this.slider.setValue(startPixels,0);this.slider.setValue(endPixels,1);this.autoUpdate=true;this.setTimeline([startPixels,endPixels]);}
timelinePlugin.prototype.updateTimeline=function(v)
{this.displayActiveTime(v[0],v[1]);}
timelinePlugin.prototype.setTimeline=function(v)
{this.displayActiveTime(v[0],v[1]);var startSlotId=this.getTimeSlotByPixels(v[0]);var startSlot=this.timeSlots[startSlotId];var endSlotId=this.getTimeSlotByPixels(v[1]);var endSlot=this.timeSlots[endSlotId];$('handle1_value').value=startSlot['pixels'];$('handle2_value').value=endSlot['pixels'];if(this.autoUpdate&&((this.searchParams['starttime']!=startSlot['time'])||(this.searchParams['endtime']!=endSlot['time']))){this.searchParams['starttime']=startSlot['time'];this.searchParams['endtime']=endSlot['time'];GeoMaxClientCore1.getPluginClient('layeritems').updatePluginSearchParams(this.pluginName,this.searchParams);}}
timelinePlugin.prototype.setTime=function(startTime,endTime){var startPixels=this.convertTimeToPixels(startTime);var endPixels=this.convertTimeToPixels(endTime);this.autoUpdate=false;this.displayActiveTime(startPixels,endPixels);this.slider.setValue(startPixels,0);this.slider.setValue(endPixels,1);this.slider.setValue(startPixels,0);this.slider.setValue(endPixels,1);$('handle1_value').value=startPixels;$('handle2_value').value=endPixels;this.searchParams['starttime']=startTime;this.searchParams['endtime']=endTime;GeoMaxClientCore1.getPluginClient('layeritems').setPluginSearchParams(this.pluginName,this.searchParams);this.autoUpdate=true;}
timelinePlugin.prototype.displayActiveTime=function(startPixels,endPixels)
{var startSlotId=this.getTimeSlotByPixels(startPixels);var endSlotId=this.getTimeSlotByPixels(endPixels);if(endSlotId==0){endSlotId=this.lastSlot;}
this.displayActiveSlots(startSlotId,endSlotId);}
timelinePlugin.prototype.displayActiveSlots=function(startSlotId,endSlotId)
{for(var i=0;i<52;i++){var bar=$("bar_"+i);if(bar){if(i>=this.buienradarStartSlotId&&i<this.buienradarEndSlotId){if(i>=startSlotId&&i<endSlotId){bar.className="buivakactive";}
else{bar.className="buivak";}}
else{if(i>=startSlotId&&i<endSlotId){bar.className="active";}
else{bar.className="barvak";}}}}
var buienradarbalkje=$('buienradarbalkje');var buienradaricoontje=$('buienradaricoontje');if(this.buienradarStartSlotId>=0){var startPosX=this.pxPerDay*Math.min(28,this.buienradarStartSlotId);if(this.buienradarStartSlotId>=28)
startPosX+=this.pxPerHour*(this.buienradarStartSlotId-28);var endPosX=this.pxPerDay*Math.min(28,this.buienradarEndSlotId);if(this.buienradarEndSlotId>=28)
endPosX+=this.pxPerHour*(this.buienradarEndSlotId-28);buienradarbalkje.style.left=(startPosX+2)+'px';buienradarbalkje.style.width=(endPosX-startPosX+1)+'px';buienradarbalkje.style.display='block';buienradaricoontje.style.left=(startPosX-5)+'px';buienradaricoontje.style.display='block';}
else{buienradarbalkje.style.display='none';buienradaricoontje.style.display='none';}}
timelinePlugin.prototype.getTimeSlotByPixels=function(pixels)
{if(pixels<this.minPixels){return 0;}else if(pixels>=this.maxPixels){return this.lastSlot;}
for(i=0;i<this.timeSlots.length-1;i++)
{var width=this.timeSlots[i+1]['pixels']-this.timeSlots[i]['pixels'];var middle=this.timeSlots[i]['pixels']-(width/2);if((pixels>=middle)&&(pixels<middle+width)){return i;}}
return this.lastSlot;}
timelinePlugin.prototype.getTimeSlotByTime=function(time)
{if(time<this.minTime){return 0;}else if(time>=this.maxTime){return this.lastSlot;}
for(i=0;i<this.timeSlots.length-1;i++)
{if((time>=this.timeSlots[i]['time'])&&(time<this.timeSlots[i+1]['time'])){return i;}}
return this.lastSlot;}
timelinePlugin.prototype.convertPixelsToTime=function(pixels)
{var timeSlotId=this.getTimeSlotByPixels(pixels);return this.timeSlots[timeSlotId]['time'];}
timelinePlugin.prototype.convertTimeToPixels=function(time)
{var timeSlotId=this.getTimeSlotByTime(time);return this.timeSlots[timeSlotId]['pixels'];}
timelinePlugin.prototype.setBuienradar=function(startTime,endTime)
{if(startTime==-1&&endTime==-1){var startSlotId=-1;var endSlotId=-1;}
else{var startSlotId=this.getTimeSlotByTime(startTime);var endSlotId=this.getTimeSlotByTime(endTime)+1;if(startSlotId<28)
startSlotId=28;if(endSlotId>51)
endSlotId=51;if(startSlotId==endSlotId){startSlotId=-1;endSlotId=-1;}}
this.buienradarStartSlotId=startSlotId;this.buienradarEndSlotId=endSlotId;this.displayActiveSlots(this.getTimeSlotByPixels($F('handle1_value')),this.getTimeSlotByPixels($F('handle2_value')));}
timelinePlugin.prototype.updateResultCount=function(arResults,selectedLayers)
{var maxHour=0;var maxDay=0;var results=new Array();var handle1=this.getTimeSlotByPixels($F('handle1_value'));var handle2=this.getTimeSlotByPixels($F('handle2_value'));for(var time in arResults){var daytotal=0;if((parseInt(time))>24){for(var j=1;j<=5;j++){daytotal+=arResults[time][j];}
if(daytotal>maxDay){maxDay=daytotal;}
var timeslot=this.getTimeSlotByTime(parseInt(time));results[timeslot]=arResults[time];}
else{for(var j=1;j<5;j++){if(arResults[time][j]>maxHour){maxHour=arResults[time][j];}}
results[parseInt(time)+28]=arResults[time];}}
if(maxHour==0){maxHour=1;}
if(maxDay==0){maxDay=1;}
if(typeof selectedLayers=='undefined'){var searchParameters=GeoMaxClientCore1.getPluginClient('layeritems').getSearchParameters();var selectedLayers=new Array();if(layers=searchParameters['layer']){for(layerid in layers){if(layers[layerid]){selectedLayers.push(layerid)}}}}else{selectedLayers=$A(selectedLayers);}
if(selectedLayers.include(18)){selectedLayers.push(4);}
for(var i=0;i<52;i++){var perc=0;var total=0;var ballonLines=0;if(i>=this.buienradarStartSlotId&&i<this.buienradarEndSlotId){if(i<handle1||i+1>handle2){$('bar_'+i).className='buivak';}
else{$('bar_'+i).className='buivakactive';}}
else{if(i<handle1||i+1>handle2){$('bar_'+i).className='barvak';}
else{$('bar_'+i).className='active';}}
if(results[i]!=undefined){for(var j=1;j<=4;j++){if(selectedLayers.include(j)){$('bar_'+i+'_item_layer'+j).show();$('bar_'+i+'_aantal_layer'+j).innerHTML=results[i][j];++ballonLines;}else{$('bar_'+i+'_item_layer'+j).hide();$('bar_'+i+'_aantal_layer'+j).innerHTML='-';}
if(i<28){total+=results[i][j];}
else{layerperc=Math.round((results[i][j]/maxHour)*100);$('bar_'+i+'_percentage_layer'+j).style.height=layerperc+'%';perc+=layerperc;}}
if(i<28){perc=Math.round((total/maxDay)*100);$('bar_'+i+'_percentage').style.height=perc+'%';}}
if(perc>0){$('bar_'+i+'_ballon').style.display="block";$('day_'+i+'_middle').style.height=(15*ballonLines)+'px';}
else{$('bar_'+i+'_ballon').style.display="none";}}}
timelinePlugin.prototype.plaatsBijDag=function(imgSrc,time)
{var timeSlotId=this.getTimeSlotByTime(time);if(timeSlotId>=this.lastSlot)
return;if(timeSlotId>=28)
timeSlotId=31;var posX=this.pxPerDay*Math.min(28,timeSlotId);if(timeSlotId>=28)
posX+=this.pxPerHour*(timeSlotId-28);var newImg=$(document.createElement('img'));newImg.src=imgSrc;newImg.style.position='absolute';newImg.style.top='6px';newImg.style.left=(this.pxLeftMargin+posX)+'px';$('timelineArea').appendChild(newImg);};function userprefsPlugin(clientCore)
{this.clientCore=clientCore;this.Geocoder=new GClientGeocoder();var myself=this;this.clientCore.addEventListener("updateLoginState",function(d){myself._updateLoginState(d);});}
userprefsPlugin.prototype._updateLoginState=function(eventData)
{this.clientCore.callPlugin(this.pluginName+':updateLoginState',eventData);}
userprefsPlugin.prototype.showUserPrefs=function()
{this.clientCore.callPlugin(this.pluginName+':showUserPrefs');}
userprefsPlugin.prototype.showSavePreference=function()
{this.clientCore.callPlugin(this.pluginName+':showSavePreference');}
userprefsPlugin.prototype.selectPreference=function(preference_id)
{this.clientCore.closeInfoWindow();var searchParams=this.clientCore.layeritemsPlugin.getSearchParameters();this.clientCore.callPlugin("layeritems:selectPreference",preference_id,this.pluginName,searchParams['timeline']);}
userprefsPlugin.prototype.setActivePreference=function(preference_id)
{var area=$('userprefsArea');area.select('.mijn_nieuws_tab_actief').invoke('removeClassName','mijn_nieuws_tab_actief');$('mijn_nieuws_pref_'+preference_id).addClassName('mijn_nieuws_tab_actief');if(preference_id!='nieuw'){var tab=$('mijn_nieuws_pref_nieuw');if(tab!=null){tab.innerHTML='<a href="#" onclick="GeoMaxClientCore1.userprefsPlugin.setActivePreference(\'nieuw\'); GeoMaxClientCore1.userprefsPlugin.startNewPreference(); return false;">Nieuwe kaart</a>';}}}
userprefsPlugin.prototype.startNewPreference=function()
{var tab=$('mijn_nieuws_pref_nieuw');tab.innerHTML='<input class="bewaar_kaart_button" type="button" onclick="GeoMaxClientCore1.userprefsPlugin.showSavePreference()"  />';}
userprefsPlugin.prototype.doRemovePreference=function(preference_name,preference_id)
{if(confirm("Weet u zeker dat u de kaart '"+preference_name+"' wilt verwijderen?")){this.clientCore.callPlugin(this.pluginName+":doRemovePreference",preference_id);}
return false;}
userprefsPlugin.prototype.doRemoveTab=function(preference_name,preference_id)
{if(confirm("Weet u zeker dat u de kaart '"+preference_name+"' wilt verwijderen?")){this.clientCore.callPlugin(this.pluginName+":doRemoveTab",preference_id);}
return false;}
userprefsPlugin.prototype.doSelectPreference=function()
{this.prefs={};var radioFields=$$("#preferredPreference input[type='radio']");var checked;if(radioFields){checked=radioFields.find(function(radio){return radio.checked;});}
this.prefs['preferred_preference']=checked?$F(checked):0;this.clientCore.callPlugin(this.pluginName+':doSelectPreference',this.prefs);this.closeUserPreferences();}
userprefsPlugin.prototype.doSaveUserPrefs=function(form)
{formValues=Form.serialize(form,true);if(typeof formValues.new_preference_name!='undefined'){formValues.new_preference_name=formValues.new_preference_name.strip();if(formValues.new_preference_name==''){alert('U moet een naam invullen om een kaart op te kunnen slaan');return;}
formValues.search_params=this.clientCore.layeritemsPlugin.getSearchParameters();}
this.clientCore.callPlugin(this.pluginName+":doSaveUserPrefs",formValues);}
userprefsPlugin.prototype.userPrefsSaved=function()
{this.closeUserPreferences();}
userprefsPlugin.prototype.closeUserPreferences=function()
{this.clientCore.callPlugin(this.pluginName+':endSaveUserPrefs');this.clientCore.closeModalDialog(this.pluginName,'userprefs');};function zoekschermPlugin(clientCore)
{this.clientCore=clientCore;var myself=this;this._initializeAutocompleter();this.clientCore.addEventListener("updateLoginState",function(d){myself._updateLoginState(d);});}
zoekschermPlugin.prototype._updateLoginState=function(eventData)
{this.clientCore.callPlugin(this.pluginName+':updateLoginState',eventData);}
zoekschermPlugin.prototype.searchItems=function(form)
{if(!form.keywords.value){alert("Geef a.u.b. een woord op waar u naar wilt zoeken.");return;}
var words=this._getAutocompleteWords();var found=false;for(key in words){if(words[key]==form.keywords.value){found=true;}}
if(!found){words[words.length]=form.keywords.value;maxCookie.setCookieObject("zoekscherm",words);}
this.clientCore.getPluginClient('layeritems').updatePluginSearchParams(this.pluginName,form.keywords.value);return(false);}
zoekschermPlugin.prototype.setSearchParams=function(keywords)
{this.setKeywords(keywords);this.clientCore.getPluginClient('layeritems').setPluginSearchParams(this.pluginName,keywords);}
zoekschermPlugin.prototype.searchPlace=function()
{var formValues=$('zoekSchermForm').serialize(true);var keywords=formValues['keywords'];if(!keywords){alert("Geef a.u.b. een plaats op waar u naar wilt zoeken.");return;}
var searchString=keywords+",Nederland";var geocoder=new GClientGeocoder();geocoder.getLocations(searchString,this.foundLocation.bind(this));}
zoekschermPlugin.prototype.foundLocation=function(result)
{switch(result.Status.code)
{case G_GEO_SUCCESS:var placemarks=result.Placemark;var placemark=placemarks[0];var latlon=placemark.Point.coordinates;var zoomLevel=Math.min(8+(placemark.AddressDetails.Accuracy),15);var gmap=this.clientCore.googlemapsPlugin.getMapObject();var center=new GLatLng(latlon[1],latlon[0]);gmap.setCenter(center,zoomLevel);this.clientCore.getPluginClient('layeritems').refreshItems();break;default:alert("plaats niet gevonden");return}}
zoekschermPlugin.prototype.gotoPlace=function(place)
{var precisions={1:{omschrijving:'provincie',zoomlevel:9},2:{omschrijving:'gemeente',zoomlevel:12},3:{omschrijving:'plaats',zoomlevel:14}};var gmap=this.clientCore.googlemapsPlugin.getMapObject();var center=new GLatLng(place['point'][1],place['point'][0]);var zoomLevel=precisions[place['location_precision']]['zoomlevel']||12;gmap.setCenter(center,zoomLevel);var keywords=$F('keywords');keywords=keywords.replace(place['search'],'');$('keywords').value=keywords;this.clientCore.getPluginClient('layeritems').updatePluginSearchParams(this.pluginName,keywords);}
zoekschermPlugin.prototype.unsetSearchPlaces=function()
{if($('zoekwoordPlaatsen')){$('zoekwoordPlaatsen').hide().update('');}}
zoekschermPlugin.prototype.setSearch=function(keywords,count,totalcount)
{$("keywords").value=keywords;$("zoekschermStatus").show();$("zoekResultsText").innerHTML="<strong>"+count+"</strong> "
+(count==1?"resultaat":"resultaten")+" op deze kaart";$("totalResultCount").innerHTML='<a href="#" onclick="GeoMaxClientCore1.getPluginClient(\'zoekscherm\').showNederland();">'+
totalcount+(totalcount==1?" resultaat":" resultaten")+" in heel Nederland</a>";$("zoekwoordText").innerHTML="Je hebt gezocht op: "+keywords;}
zoekschermPlugin.prototype.resetSearch=function(update)
{this.setKeywords("zoek");if($("zoekschermStatus")){$("zoekschermStatus").hide();}
if(update){this.clientCore.getPluginClient('layeritems').updatePluginSearchParams(this.pluginName,"");}else{this.clientCore.getPluginClient('layeritems').setPluginSearchParams(this.pluginName,"");}
return(false);}
zoekschermPlugin.prototype.setKeywords=function(keywords)
{$("keywords").value=keywords;maxDomForm.initializeLabelFields('zoekSchermForm');}
zoekschermPlugin.prototype.showNederland=function()
{this.clientCore.callPlugin(this.pluginName+':showNederland');}
zoekschermPlugin.prototype.resetAutocompleteWords=function()
{maxCookie.deleteCookie("zoekscherm");}
zoekschermPlugin.prototype._getAutocompleteWords=function()
{var words=maxCookie.getCookieObject("zoekscherm");if(words==null){words=new Object();}
var i=0;var arWords=Array();for(key in words){arWords[i]=words[key];i++;}
return arWords;}
zoekschermPlugin.prototype._initializeAutocompleter=function()
{var myself=this;new Ajax.Autocompleter('keywords','keywords_list','/moduleplugins/'+this.pluginName+'/autocompleter.php',{'callback':this.autocompleterParameters.bind(this),'method':'get','duration':0.1});}
zoekschermPlugin.prototype.autocompleterParameters=function(element,entry){var words=this._getAutocompleteWords();var params={search:$F(element),'history':words.join(',')};return $H(params).toQueryString();}
zoekschermPlugin.prototype.saveTheme=function()
{this.clientCore.callPlugin(this.pluginName+':saveTheme',$F("keywords"));}
zoekschermPlugin.prototype.showThemes=function()
{this.clientCore.callPlugin(this.pluginName+':showThemes');}
zoekschermPlugin.prototype.doDeleteTheme=function(themeid)
{this.clientCore.callPlugin(this.pluginName+':doDeleteTheme',themeid);};function loginPlugin(clientCore)
{this.clientCore=clientCore;var myself=this;this.clientCore.addEventListener("loginRequired",function(d){myself._loginRequired(d);});this.clientCore.addEventListener("loaded",function(d){myself._loaded(d);});}
loginPlugin.prototype._loginRequired=function(eventdata)
{this.clientCore.callPlugin(this.pluginName+":loginRequired",eventdata);}
loginPlugin.prototype._loaded=function(eventdata)
{var username;var password;if((username=maxCookie.getCookie('login_username'))&&(password=maxCookie.getCookie('login_password'))){this.clientCore.callPlugin(this.pluginName+":doAutoLogin",username,password);}
else{this.clientCore.layeritemsPlugin.loadStartup();}}
loginPlugin.prototype.showLogin=function()
{this.clientCore.callPlugin(this.pluginName+":showForm","LOGIN");}
loginPlugin.prototype.setLoggedInNoUpdate=function(toggle,userName)
{this.clientCore.loginState={isLoggedIn:toggle,userName:userName,addressId:0}}
loginPlugin.prototype.setBeheerder=function(toggle)
{if(toggle){$$('body').each(function(e){e.addClassName('beheerder');});}
else{$$('body').each(function(e){e.removeClassName('beheerder');});}}
loginPlugin.prototype.showRegistratie=function()
{this.clientCore.callPlugin(this.pluginName+":showForm","REGISTRATIE");}
loginPlugin.prototype.showWachtwoordVergeten=function()
{this.clientCore.callPlugin(this.pluginName+":showForm","WACHTWOORDVERGETEN");}
loginPlugin.prototype.doReset=function(username,password1,password2,key)
{this.clientCore.callPlugin(this.pluginName+":doReset",username,password1,password2,key);};function containsDOM(container,containee){var isParent=false;do{if((isParent=container==containee))
break;containee=containee.parentNode;}
while(containee!=null);return isParent;}
function checkMouseEnter(element,evt){if(element.contains&&evt.fromElement){return!element.contains(evt.fromElement);}
else if(evt.relatedTarget){return!containsDOM(element,evt.relatedTarget);}}
function checkMouseLeave(element,evt){if(element.contains&&evt.toElement){return!element.contains(evt.toElement);}
else if(evt.relatedTarget){return!containsDOM(element,evt.relatedTarget);}}
function layeritemsPlugin(clientCore)
{this.clientCore=clientCore;this.autoRefresh=true;this.zoomLevel=null;this.minZoomLevel=5;this.searchParams=Object();this.tooltips=new Array();this.ajax_delay_timer=null;this.hasOpenTooltip=false;this.hasOpenInfoWindow=false;var myself=this;this.clientCore.addEventListener("loaded",function(d){myself._loaded();});this.clientCore.addEventListener("updateLoginState",function(d){myself._updateLoginState(d);});this.clientCore.addEventListener("placemarkMouseOver",function(e){myself._placemarkMouseOver(e);});this.clientCore.addEventListener("placemarkMouseOut",function(e){myself._placemarkMouseOut(e);});this.clientCore.addEventListener("placemarkClicked",function(e){myself._placemarkClicked(e);});this.clientCore.addEventListener("moveView",function(e){myself._hideAllTooltips();});this.clientCore.addEventListener("moveViewExtent",function(e){myself._hideAllTooltips();});this.clientCore.addEventListener("openContentPanel",function(e){myself._hideAllTooltips();});this.clientCore.addEventListener("openModalDialog",function(e){myself._hideAllTooltips();});this.clientCore.addEventListener("openInfoWindow",function(e){myself._hideAllTooltips();});this.clientCore.addEventListener("openNotificationWindow",function(e){myself._hideAllTooltips();});this.editFormMap=null;this.editFormMarker=null;this.editFormMapClickHandler=null;this.editFormGeocoder=new GClientGeocoder();this._voorstellen_lijst=new Array();this._handleEditMapClick=function(o,p){myself._editFormMapClicked(o,p);};this._handleGeocoderResult=function(p){myself._editFormGeocoderResult(p);};this._handleEditMarkerDragged=function(p){myself._editFormMarkerDragged();};this._handleEditFormZoomEnd=function(o,n){myself._editFormZoomEnd(o,n);};this.precisions={0:{'description':'land','zoomLevel':5},1:{'description':'provincie','zoomLevel':8},2:{'description':'gemeente','zoomLevel':10},3:{'description':'wijk','zoomLevel':12},4:{'description':'buurt','zoomLevel':13},99:{'description':'exact','zoomLevel':14}};this.previousHash=document.location.hash;new PeriodicalExecuter(function(pe){myself.searchFromHash();},1);}
layeritemsPlugin.prototype._updateLoginState=function(eventData)
{this.clientCore.callPlugin(this.pluginName+':updateLoginState',eventData,this.searchParams,this.getHashParameters());}
layeritemsPlugin.prototype.updateLayers=function()
{var mogelijke_layers=['1','2','3','4','5','7','8','9','12','13','14','18','19','20'];for(var index=0;index<mogelijke_layers.length;++index){var layer_id=mogelijke_layers[index];if(typeof(this.searchParams.layer)!='undefined'){this.clientCore.layerPlugin.setResultVisible(layer_id,this.searchParams.layer[layer_id],true);}
else{this.clientCore.layerPlugin.setResultVisible(layer_id,false,true);}}}
layeritemsPlugin.prototype._loaded=function()
{this.clientCore.timelinePlugin._loaded();if(this.clientCore.googlemapsPlugin==null){this.clientCore.debug("layerItems._loaded: googlemaps plugin is niet geladen!");return;}
var gmap=this.clientCore.googlemapsPlugin.getMapObject();var myself=this;GEvent.addListener(gmap,"extinfowindowopen",function(){myself._extinfowindowopen();})
GEvent.addListener(gmap,"extinfowindowclose",function(){myself._extinfowindowclose();})
this.dragEndHandler=GEvent.addListener(gmap,"dragend",function(){myself._dragEnd();})
this.zoomEndHandler=GEvent.addListener(gmap,"zoomend",function(o,n){myself._zoomEnd(o,n);})
this.enableMapZoom();}
layeritemsPlugin.prototype.loadStartup=function()
{var searchParams=this.getSearchParameters();var hashSearchParameters=this.getHashParameters();if(hashSearchParameters&&typeof hashSearchParameters.layeritems!='undefined'&&!hashSearchParameters.layeritems.zoomlevel){var gmap=this.clientCore.googlemapsPlugin.getMapObject();hashSearchParameters.layeritems.zoomlevel=gmap.getBoundsZoomLevel(new GLatLngBounds(new GLatLng(hashSearchParameters.layeritems.extent.south,hashSearchParameters.layeritems.extent.west),new GLatLng(hashSearchParameters.layeritems.extent.north,hashSearchParameters.layeritems.extent.east)));}
this.clientCore.callPlugin("layeritems:loadStartup",searchParams.timeline,hashSearchParameters);}
layeritemsPlugin.prototype.searchFromHash=function()
{if(this.previousHash!=document.location.hash){this.previousHash=document.location.hash;this.decodeHash();}}
layeritemsPlugin.prototype.requestQpon=function(form)
{var telnr=form.msisdn.value.replace(/[- ]/g,'').replace(/^\+316/,'06');if(telnr.search(/^06[0-9]{8}$/)==-1){alert('De door u opgegeven waarde wordt niet herkend als een mobiel nummer');return;}
var btn=$('qpon_submit_button');if(btn)
btn.disable();this.clientCore.callPlugin(this.pluginName+':requestQpon',form.shop_id.value,form.coupon_id.value,telnr,form.phone_sp.value);}
layeritemsPlugin.prototype.qponResult=function(success)
{if(success){alert('Uw Q-pon is aangevraagd. U ontvangt binnen enkele minuten een SMS bericht.');}
else{var btn=$('qpon_submit_button');if(btn)
btn.enable();alert('Er is een probleem opgetreden bij het aanvragen van uw Q-pon. Probeert u het later nog eens.');}}
layeritemsPlugin.prototype.getHashParameters=function()
{var retval=null;if(document.location.hash.length>0){var hash=document.location.hash.substr(1);var params=hash.split('&');retval={};for(i=0;i<params.length;i++){var pair=params[i].split('=');if(pair.length==2){var paramName=pair[0];var paramValue=pair[1];if(paramValue=='undefined')
continue;switch(paramName){case'layers':{var layers=paramValue.split(',');var selectedLayers={};for(j=0;j<layers.length;j++){var layerId=layers[j];if(layerId==''){continue;}
selectedLayers[layerId]=true;}
retval['layer']=selectedLayers;break;}
case'south':{if(!retval['layeritems']){retval['layeritems']={extent:{},zoomlevel:0};}
retval['layeritems']['extent']['south']=paramValue;break;}
case'west':{if(!retval['layeritems']){retval['layeritems']={extent:{},zoomlevel:0};}
retval['layeritems']['extent']['west']=paramValue;break;}
case'east':{if(!retval['layeritems']){retval['layeritems']={extent:{},zoomlevel:0};}
retval['layeritems']['extent']['east']=paramValue;break;}
case'north':{if(!retval['layeritems']){retval['layeritems']={extent:{},zoomlevel:0};}
retval['layeritems']['extent']['north']=paramValue;break;}
case'zoomlevel':{if(!retval['layeritems']){retval['layeritems']={extent:{},zoomlevel:0};}
retval['layeritems']['zoomlevel']=paramValue;break;}
case'starttime':{if(!retval['timeline']){retval['timeline']={};}
retval['timeline']['starttime']=paramValue;break;}
case'endtime':{if(!retval['timeline']){retval['timeline']={};}
retval['timeline']['endtime']=paramValue;break;}
case'buienradar':{retval['buienradar']={active:(paramValue=='1'?true:false)};break;}
case'zoekscherm':{retval['zoekscherm']=decodeURI(paramValue);break;}
case'newsid':{retval['newsid']=paramValue;break;}}}}}
return retval;}
layeritemsPlugin.prototype.mergeSearchParameters=function(newSearchParams)
{var keys=['layer','layeritems','zoekscherm','newsid','buienradar','timeline'];for(i=0;i<keys.length;i++){if(newSearchParams[keys[i]]){this.searchParams[keys[i]]=newSearchParams[keys[i]];}}}
layeritemsPlugin.prototype.encodeSearchParameters=function()
{var searchParameters=this.getSearchParameters();var hash='';var layers;if(layers=searchParameters['layer']){var selectedLayers=new Array();$H(layers).each(function(pair){if(pair.value)
selectedLayers.push(pair.key);});selectedLayers.sort();hash='layers='+selectedLayers.join(',');}else{hash='layers=1,2,3';}
if(buienradar=searchParameters['buienradar']){hash+='&buienradar='+(buienradar['active']?'1':'-1');}
var timeline;if(timeline=searchParameters['timeline']){if(typeof(timeline['starttime'])!='undefined'&&typeof(timeline['endtime'])!='undefined'){hash+='&starttime='+timeline['starttime'];hash+='&endtime='+timeline['endtime'];}}
var zoekscherm;if(zoekscherm=searchParameters['zoekscherm']){hash+='&search='+encodeURI(zoekscherm);}
var extent;if(extent=searchParameters['layeritems']['extent']){hash+='&north='+extent.north;hash+='&south='+extent.south;hash+='&east='+extent.east;hash+='&west='+extent.west;}
hash+='&zoomlevel='+searchParameters['layeritems']['zoomlevel'];return hash;}
layeritemsPlugin.prototype.decodeHash=function()
{if(hash=document.location.hash.substr(1)){this.mergeSearchParameters(this.getHashParameters());var requrl=this.getSearchUrl('hash');this.searchItemsRequest(requrl);}}
layeritemsPlugin.prototype.getSearchUrl=function(plugin_name)
{var newsid=null;if(typeof(this.searchParams.newsid)!='undefined')
newsid=this.searchParams.newsid;var mogelijke_layers=['1','2','3','4','5','7','8','9','12','13','14','18','19','20'];var actieve_layers=[];if(typeof(this.searchParams.layer)!='undefined'){for(var index=0;index<mogelijke_layers.length;++index){var layer_id=mogelijke_layers[index];if(this.searchParams.layer[layer_id]){actieve_layers[actieve_layers.length]=layer_id;}}}
var buienradar_enabled=GeoMaxClientCore1.getPluginClient('buienradar').isActive();var buienradar_gewenst=((typeof(this.searchParams.buienradar)!='undefined')&&this.searchParams.buienradar.active);if(buienradar_enabled==buienradar_gewenst){var buienradar='0';}
else{var buienradar=(buienradar_gewenst?'1':'-1');}
if(!this.searchParams.layeritems.zoomlevel){var gmap=this.clientCore.googlemapsPlugin.getMapObject();this.searchParams.layeritems.zoomlevel=gmap.getBoundsZoomLevel(new GLatLngBounds(new GLatLng(this.searchParams.layeritems.extent.south,this.searchParams.layeritems.extent.west),new GLatLng(this.searchParams.layeritems.extent.north,this.searchParams.layeritems.extent.east)));}
var requrl='/moduleplugins/layeritems/searchItems.php?layers='+actieve_layers.toString()
+'&zoomlevel='+this.searchParams.layeritems.zoomlevel
+'&starttime='+this.searchParams.timeline.starttime
+'&endtime='+this.searchParams.timeline.endtime
+'&north='+this.searchParams.layeritems.extent.north
+'&west='+this.searchParams.layeritems.extent.west
+'&south='+this.searchParams.layeritems.extent.south
+'&east='+this.searchParams.layeritems.extent.east
+'&buienradar='+buienradar
+'&plugin='+plugin_name;if(newsid!=null){requrl+='&newsid='+newsid;delete this.searchParams['newsid'];}
if(typeof(this.searchParams.zoekscherm)!='undefined'){var search=escape(this.searchParams.zoekscherm);search=search.replace(/\+/g,'%2B');search=search.replace(/%20/g,'+');requrl+='&search='+search;}
return requrl;}
layeritemsPlugin.prototype.createBookmark=function()
{document.location.hash=this.encodeSearchParameters();this.previousHash=document.location.hash;}
layeritemsPlugin.prototype.openGeoRSS=function()
{var searchParameters=this.getSearchParameters();var path='/feeds';var layers;if(layers=searchParameters['layer']){var selectedLayers=new Array();$H(layers).each(function(pair){if(pair.value)
selectedLayers.push(pair.key);});selectedLayers.sort();path+='/'+selectedLayers.join(',');}else{path+='/1,2,3';}
var extent;if(extent=searchParameters['layeritems']['extent']){path+='/'+extent.west;path+='-'+extent.east;path+='/'+extent.south;path+='-'+extent.north;}
var zoekscherm;if(zoekscherm=searchParameters['zoekscherm'])
path+='/'+encodeURI(zoekscherm);path+='/geo.rss';window.open(path);}
layeritemsPlugin.prototype.setPluginSearchParams=function(plugin,params)
{this.searchParams[plugin]=params;}
layeritemsPlugin.prototype.setSearchParams=function(params)
{$H(params).each(function(pair){this.searchParams[pair.key]=pair.value;}.bind(this));}
layeritemsPlugin.prototype.getSearchParameters=function()
{return this.searchParams;}
layeritemsPlugin.prototype.updatePluginSearchParams=function(plugin,params)
{this.setPluginSearchParams(plugin,params);this.searchItems(plugin);}
layeritemsPlugin.prototype.searchItems=function(plugin_name)
{if(this.ajax_delay_timer!=null){clearTimeout(this.ajax_delay_timer);this.ajax_delay_timer=null;}
var removeResult=true;this.clientCore.closeInfoWindow();var extent=this.getRealExtent();this.setPluginSearchParams('layeritems',{extent:extent,zoomlevel:this.getZoom()});this.createBookmark();var gmap=this.clientCore.googlemapsPlugin.getMapObject();gmap.savePosition();gmap.returnToSavedPosition();var requrl=this.getSearchUrl(plugin_name);if(plugin_name=='timeline'){this.searchItemsRequest(requrl);}
else{this.ajax_delay_timer=setTimeout("GeoMaxClientCore1.getPluginClient('layeritems').searchItemsRequest('"+requrl+"'); this.ajax_delay_timer = null;",1000);}}
layeritemsPlugin.prototype.searchItemsRequest=function(requrl)
{this.clientCore.fireEvent('callPlugin',{pluginAction:this.pluginName+':searchItems'});new Ajax.Request(requrl,{method:'get',onFailure:function(transport){alert('De opgevraagde gegevens kunnen op dit moment niet opgehaald worden. Onze excuses voor het ongemak.');}});}
layeritemsPlugin.prototype.refreshItems=function()
{this.setPluginSearchParams('layeritems',{extent:this.getRealExtent(),zoomlevel:this.getZoom()});this.clientCore.callPlugin(this.pluginName+':searchItems',this.searchParams,true,'layeritems');}
layeritemsPlugin.prototype.getRealExtent=function()
{var extent=this.clientCore.googlemapsPlugin._getGMapExtent();return extent;}
layeritemsPlugin.prototype.setStartExtent=function(extent)
{this.clientCore.moveViewExtent(this.pluginName,extent['north'],extent['west'],extent['south'],extent['east']);}
layeritemsPlugin.prototype.moveExtentNoUpdate=function(extent)
{var gmap=this.clientCore.googlemapsPlugin.getMapObject();if(this.dragEndHandler){GEvent.removeListener(this.dragEndHandler);}
if(this.zoomEndHandler){GEvent.removeListener(this.zoomEndHandler);}
this.clientCore.moveViewExtent(this.pluginName,extent['north'],extent['west'],extent['south'],extent['east']);var myself=this;if(this.dragEndHandler){this.dragEndHandler=GEvent.addListener(gmap,"dragend",function(){myself._dragEnd();})}
if(this.zoomEndHandler){this.zoomEndHandler=GEvent.addListener(gmap,"zoomend",function(o,n){myself._zoomEnd(o,n);})}}
layeritemsPlugin.prototype.moveExtent=function(north,west,south,east)
{this.clientCore.closeInfoWindow();this.clientCore.moveViewExtent(this.pluginName,north,west,south,east,10,100,10);}
layeritemsPlugin.prototype.getZoom=function()
{if(this.clientCore.googlemapsPlugin==null){this.clientCore.debug("layerItemPlugin: googlemaps plugin is niet geladen!");return;}
var gmap=this.clientCore.googlemapsPlugin.getMapObject();return gmap.getZoom();}
layeritemsPlugin.prototype.removeResult=function()
{}
layeritemsPlugin.prototype._escapeHtml=function(html)
{if(html==null||!isNaN(html)){return html;}
else{return html.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");}}
layeritemsPlugin.prototype._extinfowindowopen=function(eventData)
{this.hasOpenInfoWindow=true;this.disableMapZoom();this.resizeInfoWindow();}
layeritemsPlugin.prototype._extinfowindowclose=function(eventData)
{this.enableMapZoom();this.hasOpenInfoWindow=false;if(this.fotoSlideshowTimer)
clearTimeout(this.fotoSlideshowTimer);if(this.imageReloadTimer)
clearTimeout(this.imageReloadTimer);}
layeritemsPlugin.prototype.resizeInfoWindow=function()
{var gmap=this.clientCore.googlemapsPlugin.getMapObject();if(infoWindow=gmap.getExtInfoWindow()){infoWindow.resize();}}
layeritemsPlugin.prototype.moveInfoWindow=function(point)
{var gmap=this.clientCore.googlemapsPlugin.getMapObject();if(infoWindow=gmap.getInfoWindow()){infoWindow.redraw(true);}}
layeritemsPlugin.prototype.openInfoWindow=function(index,html,latitude,longitude)
{var marker=this.clientCore.googlemapsPlugin.features[this.pluginName][index];this.clientCore.googlemapsPlugin.openInfoWindowExt(marker,html,latitude,longitude);}
layeritemsPlugin.prototype.disableMapZoom=function()
{var gmap=this.clientCore.googlemapsPlugin.getMapObject();gmap.disableScrollWheelZoom();gmap.disableDoubleClickZoom();}
layeritemsPlugin.prototype.enableMapZoom=function()
{var gmap=this.clientCore.googlemapsPlugin.getMapObject();gmap.enableScrollWheelZoom();gmap.enableDoubleClickZoom();}
layeritemsPlugin.prototype._placemarkMouseOver=function(eventData)
{this._hideAllTooltips();if(this.clientCore.googlemapsPlugin==null){this.clientCore.debug("layerItems._loaded: googlemaps plugin is niet geladen!");return;}
var gmap=this.clientCore.googlemapsPlugin.getMapObject();var pluginName=eventData.pluginName;var marker=eventData.marker;var img=document.getElementById('maxGMarker'+marker.id);var myself=this;marker.showTooltip=false;if(this.hasOpenInfoWindow)
return;marker.setIcon(marker._activeIcon);if(marker._iconType.substring(0,7)=='weather')
return;var tooltip=document.getElementById(pluginName+'_'+marker._iconType+'_tooltip');var tooltip_content=document.getElementById(pluginName+'_'+marker._iconType+'_tooltip_content');if((tooltip==null)||(tooltip_content==null)){tooltip=$(document.createElement('div'));tooltip.id=pluginName+'_'+marker._iconType+'_tooltip';$(tooltip).addClassName(pluginName+'_tooltip');if(!this.tooltips.member(tooltip.id)){this.tooltips[this.tooltips.length]=tooltip.id;}
if((marker._iconType=='aggregated')||(marker._iconType=='grouped_small')||(marker._iconType=='grouped_medium')||(marker._iconType=='grouped_large')){var bordertable=$(document.createElement('table')).addClassName('tooltip_bordertable');bordertable.observe('mouseout',function(){return false;});bordertable.cellSpacing=0;var row=document.createElement('tr');row.appendChild($(document.createElement('td')).addClassName('tooltip_bt_topleft').insert('&nbsp;'));row.appendChild($(document.createElement('td')).addClassName('tooltip_bt_top').insert('&nbsp;'));row.appendChild($(document.createElement('td')).addClassName('tooltip_bt_topright').insert('&nbsp;'));bordertable.appendChild(row);row=document.createElement('tr');var bt_left=$(document.createElement('td')).addClassName('tooltip_bt_left');bt_left.appendChild($(document.createElement('div')).addClassName('forceer_hoogte_min38').insert('&nbsp;'));row.appendChild(bt_left);tooltip_content=$(document.createElement('td')).addClassName('tooltip_bt_content');tooltip_content.id=pluginName+'_'+marker._iconType+'_tooltip_content';row.appendChild(tooltip_content);row.appendChild($(document.createElement('td')).addClassName('tooltip_bt_right').insert('&nbsp;'));bordertable.appendChild(row);row=document.createElement('tr');row.appendChild($(document.createElement('td')).addClassName('tooltip_bt_bottomleft').insert('&nbsp;'));row.appendChild($(document.createElement('td')).addClassName('tooltip_bt_bottom').insert('&nbsp;'));row.appendChild($(document.createElement('td')).addClassName('tooltip_bt_bottomright').insert('&nbsp;'));bordertable.appendChild(row);tooltip.appendChild(bordertable);}else{var tooltip_bg=$(document.createElement('div'));$(tooltip_bg).addClassName(pluginName+'_tooltip_bg');tooltip_bg.id=pluginName+'_'+marker._iconType+'_tooltip_bg';tooltip_bg.observe('mouseout',function(){return false;});tooltip.appendChild(tooltip_bg);tooltip_content=document.createElement('div');$(tooltip_content).addClassName(pluginName+'_tooltip_content');tooltip_content.id=pluginName+'_'+marker._iconType+'_tooltip_content';tooltip_bg.appendChild(tooltip_content);}
gmap.getContainer().appendChild(tooltip);}
tooltip.onmouseout=function(event){if(!event)var event=window.event;if(!checkMouseLeave(tooltip,event))
return;tooltip_content.innerHTML="";tooltip.style.display='none';myself.hasOpenTooltip=false;};tooltip.onclick=function(){tooltip_content.innerHTML="";tooltip.style.display='none';myself.hasOpenTooltip=false;try{img.onclick();}catch(exc){try{img.onclick();}catch(exc){return;}}};tooltip.style.position='absolute';tooltip.style.display='block';tooltip_content.innerHTML=marker._title;tooltip.setOpacity(0);var containerPosition=maxDom.getElementPosition(gmap.getContainer(),true);var elementPosition=maxDom.getElementPosition(img,true);var x=elementPosition.x-containerPosition.x;var y=elementPosition.y-containerPosition.y+(img.offsetHeight/2)-(tooltip.offsetHeight/2);var gmap=this.clientCore.googlemapsPlugin.getMapObject();var container=gmap.getContainer();if(x+tooltip.offsetWidth>container.offsetWidth){gmap.panBy(new GSize(0-(x+tooltip.offsetWidth-container.offsetWidth),0));x-=x+tooltip.offsetWidth-container.offsetWidth;}else if(x<0){gmap.panBy(new GSize(0-x,0));x=0;}
if(y+tooltip.offsetHeight>container.offsetHeight){gmap.panBy(new GSize(0,0-(y+tooltip.offsetHeight-container.offsetHeight)));y-=y+tooltip.offsetHeight-container.offsetHeight;}else if(y<0){gmap.panBy(new GSize(0,0-y));y=0;}
tooltip.style.top=y+'px';tooltip.style.left=x+'px';tooltip.setOpacity(1);this.hasOpenTooltip=true;}
layeritemsPlugin.prototype._hideTooltip=function(pluginName,marker)
{return;var tooltip=document.getElementById(pluginName+'_'+marker._iconType+'_tooltip');var tooltip_content=document.getElementById(pluginName+'_'+marker._iconType+'_tooltip_content');if((tooltip==null)||(tooltip_content==null)){return;}
tooltip_content.innerHTML="";tooltip.style.display='none';delete this.hasOpenTooltip;}
layeritemsPlugin.prototype._hideAllTooltips=function()
{this.tooltips.each(function(tooltip_id){var tooltip=$(tooltip_id);var tooltip_content=$(tooltip_id+'_content');if(tooltip&&tooltip_content){tooltip_content.innerHTML="";tooltip.style.display='none';}});delete this.hasOpenTooltip;}
layeritemsPlugin.prototype._placemarkMouseOut=function(eventData)
{if(this.hasOpenTooltip==true){this._hideTooltip(eventData.pluginName,eventData.marker);}
eventData.marker.setIcon(eventData.marker._normalIcon)}
layeritemsPlugin.prototype.backButtonClicked=function(index)
{this.clientCore.setResultActive(this.pluginName,index);}
layeritemsPlugin.prototype._placemarkClicked=function(eventData)
{}
layeritemsPlugin.prototype.closeInfoWindow=function(eventData)
{}
layeritemsPlugin.prototype._zoomEnd=function(oldLevel,newLevel)
{this._hideAllTooltips();this.zoomLevel=newLevel;if(newLevel>this.minZoomLevel&&this.autoRefresh==true){this.searchItems('layeritems');}}
layeritemsPlugin.prototype._dragEnd=function()
{if(this.clientCore.isProcessingResponse()||this.autoRefresh==false){return;}
this.searchItems('layeritems');}
layeritemsPlugin.prototype.showFormTab=function(newTabId,id)
{var tabs=["A","B","C"];for(var i=0;i<tabs.length;i++){var tabId=tabs[i];var isActive=(tabId==newTabId);var button=$(this.pluginName+"_tabButton"+tabId+"_"+id);var content=$(this.pluginName+"_tabContent"+tabId+"_"+id);if(button!=null){button.className=(isActive?"activeTabButton":"tabButton");}
if(content!=null){maxDom.setElementVisible(content,isActive);}
this.resizeInfoWindow()}}
layeritemsPlugin.prototype.initializeEditFormMap=function(id,lon,lat,iconType,precision,opened)
{this.clientCore.callPlugin(this.pluginName+":initializeEditFormMap",id,opened);}
layeritemsPlugin.prototype.toggleRemapForm=function(id)
{if(this.clientCore.isLoggedIn()){$(this.pluginName+'_remapForm_'+id).toggle();if(this.isEditable){if($(this.pluginName+'_remapForm_'+id).visible()){$(this.pluginName+'_remapQuestion_'+id).hide();$(this.pluginName+'_remapBlok_'+id).show();$(this.pluginName+'_ItemMap'+id).style.width='303px';this.enableEditFormMapDragging();this.enableEditFormMapClick();this.updateRemapSuggestion();}else{$(this.pluginName+'_remapQuestion_'+id).show();$(this.pluginName+'_remapBlok_'+id).hide();$(this.pluginName+'_ItemMap'+id).style.width='468px';this.disableEditFormMapDragging();this.disableEditFormMapClick();}}
this.resizeInfoWindow();}else{this.clientCore.loginRequired(this.pluginName,'U moet ingelogd zijn om dit item te kunnen verplaatsen');}}
layeritemsPlugin.prototype.setEditable=function(toggle)
{this.isEditable=toggle;}
layeritemsPlugin.prototype.enableEditFormMapDragging=function()
{this.editFormMapDragHandler=GEvent.addListener(this.editFormMarker,"dragend",this._handleEditMarkerDragged);this.editFormMarker.enableDragging();}
layeritemsPlugin.prototype.disableEditFormMapDragging=function()
{if(this.editFormMapDragHandler!=null){GEvent.removeListener(this.editFormMapDragHandler);}
this.editFormMapDragHandler=null;this.editFormMarker.disableDragging();}
layeritemsPlugin.prototype.enableEditFormMapClick=function()
{this.editFormMapClickHandler=GEvent.addListener(this.editFormMap,"click",this._handleEditMapClick);}
layeritemsPlugin.prototype.disableEditFormMapClick=function()
{if(this.editFormMapClickHandler!=null){GEvent.removeListener(this.editFormMapClickHandler);}
this.editFormMapClickHandler=null;}
layeritemsPlugin.prototype._editFormMarkerChanged=function(latitude,longitude)
{var form=document.getElementById(this.pluginName+"_editForm");this.centerLatitude=latitude;this.centerLongitude=longitude;}
layeritemsPlugin.prototype.setVoorstellen=function(lijst)
{this._voorstellen_lijst=$A(lijst);this.updateRemapSuggestion(-1);}
layeritemsPlugin.prototype.updateRemapSuggestion=function(voorstel)
{if(voorstel!=null)
this._voorstellen_curr=voorstel;var infobox=$(this.pluginName+"_remap_info");if(this._voorstellen_lijst.size()>0){this.enableRemapSuggestionButtons(true);if(infobox){if(this._voorstellen_curr==-1){infobox.innerHTML='geen/'+String(this._voorstellen_lijst.size());}else{infobox.innerHTML=String(this._voorstellen_curr+1)+'/'+String(this._voorstellen_lijst.size());lon=this._voorstellen_lijst[this._voorstellen_curr][0];lat=this._voorstellen_lijst[this._voorstellen_curr][1];point=new GLatLng(lat,lon);this.editFormMap.setCenter(point,this.zoomLevel);this.editFormMarker.setPoint(point);this._editFormMarkerChanged(lat,lon);}}}else{this.enableRemapSuggestionButtons(false);if(infobox)
infobox.innerHTML='geen';}}
layeritemsPlugin.prototype.remapPrevSuggestion=function()
{this._voorstellen_curr-=1;if(this._voorstellen_curr<0)
this._voorstellen_curr=this._voorstellen_lijst.size()-1;this.updateRemapSuggestion();}
layeritemsPlugin.prototype.remapNextSuggestion=function()
{this._voorstellen_curr+=1;if(this._voorstellen_curr>=this._voorstellen_lijst.size())
this._voorstellen_curr=0;this.updateRemapSuggestion();}
layeritemsPlugin.prototype.editFormMarkerUndo=function(id)
{if($F('old_lat')&&$F('old_lon')){point=new GLatLng($F('old_lat'),$F('old_lon'));this.editFormMap.setCenter(point,this.zoomLevel);this.editFormMarker.setPoint(point);this._editFormMarkerChanged($F('old_lat'),$F('old_lon'));}
this.updateRemapSuggestion();this.toggleRemapForm(id);}
layeritemsPlugin.prototype.showEditFormMap=function(id,lon,lat,iconType,precision)
{var mainmap=this.clientCore.googlemapsPlugin.getMapObject();this.centerLatitude=lat;this.centerLongitude=lon;this.zoomLevel=12;if(precision!=null&&this.precisions[precision]){iconType=this.getIconPrecisionType(iconType,precision);this.zoomLevel=this.precisions[precision].zoomLevel;}
var point=new GLatLng(lat,lon);var gicon=this.clientCore.googlemapsPlugin.getGIconByType(this.pluginName,iconType);this.editFormMarker=new maxGMarker(point,{icon:gicon,draggable:true});var gmap=new GMap2($(this.pluginName+"_ItemMap"+id));gmap.addControl(new GSmallMapControl());GEvent.addListener(gmap,"zoomend",this._handleEditFormZoomEnd)
gmap.enableScrollWheelZoom();gmap.setCenter(point,this.zoomLevel);gmap.setMapType(mainmap.getCurrentMapType());this.editFormMap=gmap;this.editFormMap.addOverlay(this.editFormMarker);this.resizeInfoWindow();}
layeritemsPlugin.prototype.getIconPrecisionType=function(iconType,precision)
{if(this.precisions[precision]['description']!='exact'){return iconType;}
if(iconType=="nunieuws"||iconType=="nufoto"||iconType=="nujij"||iconType=="misdaadkaart"){return iconType+"_precise";}
return iconType;}
layeritemsPlugin.prototype._editFormMapClicked=function(overlay,point)
{this.editFormMarker.setPoint(point);if(this.editFormMarker.isRemoved()){this.editFormMap.clearOverlays();this.editFormMap.addOverlay(this.editFormMarker);}
this._editFormMarkerChanged(point.lat(),point.lng());this.updateRemapSuggestion(-1);}
layeritemsPlugin.prototype._editFormMarkerDragged=function()
{var point=this.editFormMarker.getPoint();this._editFormMarkerChanged(point.lat(),point.lng());this.updateRemapSuggestion(-1);}
layeritemsPlugin.prototype._editFormZoomEnd=function(oldLevel,newLevel)
{this.editFormPrecision=this.getPrecision(newLevel);}
layeritemsPlugin.prototype.getPrecision=function(zoomLevel)
{var retval=2;for(i in this.precisions){if(this.precisions[i]['zoomLevel']<=zoomLevel){retval=i;}}
return retval;}
layeritemsPlugin.prototype._editFormGeocoderResult=function(point)
{if(point==null){alert("Geen resultaat gevonden");return;}
this._editFormMapClicked(null,point);this.editFormMap.setCenter(point);}
layeritemsPlugin.prototype._editFormGeocoderResultDetail=function(result)
{switch(result.Status.code)
{case G_GEO_SUCCESS:var placemarks=result.Placemark;var placemark=placemarks[0];var latlon=placemark.Point.coordinates;var zoomLevel=8+(placemark.AddressDetails.Accuracy);this._editFormMapClicked(null,new GLatLng(latlon[1],latlon[0]));this.editFormMap.setCenter(new GLatLng(latlon[1],latlon[0]),zoomLevel);break;default:return}}
layeritemsPlugin.prototype.remapItem=function(form)
{var formValues=maxDomForm.getFormValues(form);formValues['lat']=this.centerLatitude;formValues['lon']=this.centerLongitude;formValues['precision']=this.editFormPrecision;if(($F('old_lat')!=formValues['lat'])||($F('old_lon')!=formValues['lon']))
this.clientCore.callPlugin(this.pluginName+":remapItem",formValues);this.updateRemapSuggestion();this.toggleRemapForm(formValues['id']);}
layeritemsPlugin.prototype.showRemappedItem=function()
{var gmap=this.clientCore.googlemapsPlugin.getMapObject();if(gmap){point=new GLatLng(this.centerLatitude,this.centerLongitude);gmap.panTo(point);this.clientCore.closeInfoWindow();}
this.refreshItems();}
layeritemsPlugin.prototype.checkGeoSubmit=function(form)
{fld=this.pluginName+"searchstring";searchString=$F(fld);if(!searchString){alert("geen adres ingevuld");return false;}
searchString=searchString+", The Netherlands";this.doGeoCode(searchString);return false;}
layeritemsPlugin.prototype.enableRemapSuggestionButtons=function(toggle)
{var button;if(button=$(this.pluginName+"_remap_prev")){button.disabled=!toggle;}
if(button=$(this.pluginName+"_remap_next")){button.disabled=!toggle;}}
layeritemsPlugin.prototype.doGeoCode=function(searchString){var myself=this;this.editFormGeocoder.getLocations(searchString,function(r){myself._editFormGeocoderResultDetail(r)});}
layeritemsPlugin.prototype._disposeEditFormMap=function()
{if(this.editFormMap!=null){if(this.editFormMarker!=null&&!this.editFormMarker.isRemoved()){this.editFormMap.removeOverlay(this.editFormMarker);}
GEvent.clearInstanceListeners(this.editFormMap);this.editFormMap.clearOverlays();this.editFormMap=null;}}
layeritemsPlugin.prototype.showLast5Items=function()
{this.clientCore.callPlugin(this.pluginName+":showLast5Items");}
layeritemsPlugin.prototype.showLast5ItemsDiv=function(html)
{var last5itemsDiv=$(this.pluginName+"_last5itemsDiv");last5itemsDiv.show();last5itemsDiv.innerHTML=html;last5itemsDiv.scrollTop=0;}
layeritemsPlugin.prototype.hideLast5ItemsDiv=function()
{var last5itemsDiv=$(this.pluginName+"_last5itemsDiv");last5itemsDiv.hide();last5itemsDiv.innerHTML="";}
layeritemsPlugin.prototype.showUnplacedItems=function()
{this.clientCore.callPlugin(this.pluginName+":showUnplacedItems");}
layeritemsPlugin.prototype.showItem=function(nr)
{var myself=this;$$('.layeritems_item').each(function(item,i){if(i!=nr){if($(myself.pluginName+"_item_"+i).visible()){$(myself.pluginName+"_item_"+i).hide();$(myself.pluginName+"_anker_"+i).show();}}});$(this.pluginName+"_item_"+nr).show();$(this.pluginName+"_anker_"+nr).hide();}
layeritemsPlugin.prototype.showSendToFriend=function(id)
{this.clientCore.callPlugin(this.pluginName+":showSendToFriend",id);}
layeritemsPlugin.prototype.doSendToFriend=function(id,form)
{editOptions={};editOptions.addDisabledFields=true;var formValues=maxDomForm.getFormValues(form,editOptions);this.clientCore.callPlugin(this.pluginName+":doSendToFriend",id,formValues);}
layeritemsPlugin.prototype.showNewsItem=function(id)
{this.searchParams['newsid']=id;setTimeout("var myself=GeoMaxClientCore1.getPluginClient('layeritems'); myself.searchItems( myself.pluginName );",1000);}
layeritemsPlugin.prototype.openAggrItem=function(url)
{this.bewaarde_aggr_content=$('layeritems_window_contents').innerHTML;this.openItem(url+'&returnlink=1');}
layeritemsPlugin.prototype.openItem=function(url)
{var myself=this;new Ajax.Updater('layeritems_window_contents',url,{onComplete:function(transport){myself.resizeInfoWindow();},evalScripts:true});}
layeritemsPlugin.prototype.RestoreAggrList=function()
{$('layeritems_window_contents').innerHTML=this.bewaarde_aggr_content;this.resizeInfoWindow();}
layeritemsPlugin.prototype.triggerImageReload=function(camId)
{this.imageReloadTimer=setTimeout("GeoMaxClientCore1.getPluginClient('layeritems').reloadImage("+camId+")",8000);}
layeritemsPlugin.prototype.reloadImage=function(camId)
{var camPrepare=$('camPrepare_'+camId);if(camPrepare==null)
return;var theDate=new Date();var url="http://www.vid.nl/ImageCamera/cam_"+camId+"?dummy="+theDate.getTime().toString(10);camPrepare.src=url;}
layeritemsPlugin.prototype.showImage=function(camId)
{var camPrepare=$('camPrepare_'+camId);if(camPrepare==null)
return;var camImage=$('camImage_'+camId);if(camImage==null)
return;camImage.src=camPrepare.src;}
layeritemsPlugin.prototype.fotoInit=function(fotos_totaal,huidige_pagina_nr,huidige_foto_nr,base_url)
{this.fotosTotaal=fotos_totaal;this.fotoBaseUrl=base_url;this.fotoSelect(huidige_pagina_nr,huidige_foto_nr);this.fotoSetLinks();}
layeritemsPlugin.prototype.fotoSetLinks=function()
{var slideshow=$('fotos_diavoorstelling');if(slideshow&&slideshow.checked){$$('.foto_blader_link').each(function(e){e.addClassName('foto_blader_link_inactief');});}else{$$('.foto_blader_link').each(function(e){e.removeClassName('foto_blader_link_inactief');});}}
layeritemsPlugin.prototype.fotoVorige=function()
{this.fotoSelect(this.prev_pagina_nr,this.prev_foto_nr);}
layeritemsPlugin.prototype.fotoVolgende=function()
{this.fotoSelect(this.next_pagina_nr,this.next_foto_nr);}
layeritemsPlugin.prototype.fotoToggleSlideshow=function(enabled)
{this.fotoSetLinks();if(this.fotoSlideshowTimeout){clearTimeout(this.fotoSlideshowTimeout);this.fotoSlideshowTimeout=null;}
if(!enabled)
return;this.fotoSlideshowTimeout=setTimeout("GeoMaxClientCore1.getPluginClient('layeritems').fotoVolgende();",2000);}
layeritemsPlugin.prototype.fotoSelect=function(pagina_nr,foto_nr)
{if(this.fotoSlideshowTimeout){clearTimeout(this.fotoSlideshowTimeout);this.fotoSlideshowTimeout=null;}
this.fotoSetLinks();var hoofdfoto=$('hoofdfoto');if(!hoofdfoto)
return;if(typeof hoofdfoto.pagina_nr!='number'||hoofdfoto.pagina_nr==pagina_nr){hoofdfoto.pagina_nr=pagina_nr;hoofdfoto.foto_nr=foto_nr;hoofdfoto.src=$('foto_'+foto_nr).src.replace('_small','_medium');}else{var slideshow=$('fotos_diavoorstelling');if(slideshow){var slideshow_enabled=slideshow.checked;}else{var slideshow_enabled=false;}
this.openItem(this.fotoBaseUrl+'&pagina='+pagina_nr+'&foto='+foto_nr+'&diavoorstelling='+(slideshow_enabled?'1':'0'));}}
layeritemsPlugin.prototype.fotoLoaded=function(pagina_nr,foto_nr)
{if(this.fotoSlideshowTimeout){clearTimeout(this.fotoSlideshowTimeout);this.fotoSlideshowTimeout=null;}
$$('.minifoto').each(function(e){e.removeClassName('actief');});$('foto_'+foto_nr).addClassName('actief');this.abs_foto_nr=((pagina_nr-1)*9)+foto_nr;if(this.abs_foto_nr>=this.fotosTotaal){this.next_pagina_nr=1;this.next_foto_nr=1;}else{if(foto_nr==9){this.next_pagina_nr=pagina_nr+1;this.next_foto_nr=1;}else{this.next_pagina_nr=pagina_nr;this.next_foto_nr=foto_nr+1;}}
if(foto_nr==1){if(pagina_nr>1){this.prev_pagina_nr=pagina_nr-1;this.prev_foto_nr=9;}else{this.prev_pagina_nr=((this.fotosTotaal-1)/9).floor()+1;this.prev_foto_nr=((this.fotosTotaal-1)%9).floor()+1;}}else{this.prev_pagina_nr=pagina_nr;this.prev_foto_nr=foto_nr-1;}
var slideshow=$('fotos_diavoorstelling');if(slideshow&&slideshow.checked){this.fotoSlideshowTimeout=setTimeout("GeoMaxClientCore1.getPluginClient('layeritems').fotoVolgende();",2000);}}