$.telefoonboekMaps={map:null,markerQueue:new Array(),objMarkerQueue:new Array(),streetviewLocation:null,initialize:function(){var mapContainer=document.getElementById('map');if(mapContainer==null){return;}
var myLatlng=new google.maps.LatLng(52.132974,5.291226);var myOptions={zoom:7,center:myLatlng,mapTypeId:google.maps.MapTypeId.ROADMAP,streetViewControl:false,mapTypeControl:false}
$.telefoonboekMaps.map=new google.maps.Map(document.getElementById("map"),myOptions);$.telefoonboekMaps.processQueue();$.telefoonboekMaps.checkStreetview();},loadScript:function(){var script=document.createElement("script");script.type="text/javascript";script.src="http://maps.google.com/maps/api/js?v=3.2&sensor=false&callback=$.telefoonboekMaps.initialize&region=NL";document.body.appendChild(script);},addMarker:function(company,latitude,longitude,html,url,startOpened,zoomLevel){var marker={'lat':latitude,'lng':longitude,'html':html,'url':url,'startOpened':startOpened,'zoomLevel':zoomLevel,'companyName':company}
$.telefoonboekMaps.markerQueue.push(marker);},processQueue:function(){var markerCount=$.telefoonboekMaps.markerQueue.length;if(markerCount==0)
return;var minLatitude=90;var maxLatitude=0;var minLongitude=180;var maxLongitude=-180;var zoom=null;var infowindow=new google.maps.InfoWindow({content:'notset'});for(var i=0;i<markerCount;++i){var addmarker=$.telefoonboekMaps.markerQueue.pop();var myLatlng=new google.maps.LatLng(addmarker.lat,addmarker.lng);if(addmarker.url==null){if(markerCount==1||addmarker.startOpened){infowindow.setPosition(myLatlng);infowindow.content=addmarker.html;infowindow.open($.telefoonboekMaps.map,marker);zoom=addmarker.zoomLevel;$.telefoonboekMaps.streetviewLocation=myLatlng;}}
var marker=new google.maps.Marker({position:myLatlng,map:$.telefoonboekMaps.map,title:addmarker.companyName});marker.setIcon('/images/map_pin.png');marker.setShadow('/images/map_pin_schaduw.png');if(addmarker.url==null){google.maps.event.addListener(marker,'click',(function(marker,addmarker){return function(){infowindow.content=addmarker.html;infowindow.open($.telefoonboekMaps.map,marker);};})(marker,addmarker));}else{google.maps.event.addListener(marker,'click',(function(marker,addmarker){return function(){window.location=addmarker.url;};})(marker,addmarker));}
var minLatitude=Math.min(minLatitude,addmarker.lat);var maxLatitude=Math.max(maxLatitude,addmarker.lat);var minLongitude=Math.min(minLongitude,addmarker.lng);var maxLongitude=Math.max(maxLongitude,addmarker.lng);$.telefoonboekMaps.objMarkerQueue.push(marker);}
$.telefoonboekMaps.objMarkerQueue.reverse();$.telefoonboekMaps.updateCenterAndZoomLevel(minLatitude,maxLatitude,minLongitude,maxLongitude,zoom);},updateCenterAndZoomLevel:function(minLatitude,maxLatitude,minLongitude,maxLongitude,zoomLevel){var centerPoint=new google.maps.LatLng((minLatitude+maxLatitude)/2,(minLongitude+maxLongitude)/2);var minPoint=new google.maps.LatLng(minLatitude,minLongitude);var maxPoint=new google.maps.LatLng(maxLatitude,maxLongitude);if(zoomLevel==null)
zoomLevel=$.telefoonboekMaps.map.fitBounds(new google.maps.LatLngBounds(minPoint,maxPoint));$.telefoonboekMaps.map.panTo(centerPoint);$.telefoonboekMaps.map.setZoom(zoomLevel);},showMarkerInfo:function(index){if(index>=$.telefoonboekMaps.objMarkerQueue.length)
return;var marker=$.telefoonboekMaps.objMarkerQueue[index];if(marker!=null)
google.maps.event.trigger(marker,'click');},checkStreetview:function(){if($('#showstreetview'))
$('#showstreetview').bind('click',function(){$.telefoonboekMaps.EnableStreetview();});if($('#closestreetview'))
$('#closestreetview').bind('click',function(){$.telefoonboekMaps.DisableStreetview();});if($('#closestreetviewup'))
$('#closestreetviewup').bind('click',function(){$.telefoonboekMaps.DisableStreetview();});var url=window.location.toString();var openStreetview=url.indexOf("#streetview");if(openStreetview>=0)
$.telefoonboekMaps.EnableStreetview();},EnableStreetview:function(){var geo=$.telefoonboekMaps.streetviewLocation;var sv=new google.maps.StreetViewService();var panoOptions={position:geo,addressControlOptions:{position:google.maps.ControlPosition.BOTTOM}};$("#mapstreetview").show();var panorama=new google.maps.StreetViewPanorama(document.getElementById("mapstreetview"),panoOptions);sv.getPanoramaByLocation(geo,50,function(result,status){if(status==google.maps.StreetViewStatus.OK){$.telefoonboekMaps.StreetviewInfo(true);}
else
{$.telefoonboekMaps.StreetviewInfo(false);$("#showstreetview").html('<span class="streetviewnotavailable">Geen Streetview aanwezig</span>');$.telefoonboek.urchinTrackerWrapper('/detailpagina/streetview-nietbeschikbaar');}});},DisableStreetview:function(){$.telefoonboekMaps.StreetviewInfo(false);},StreetviewInfo:function(showInfo){if(showInfo==false)
{$("#showstreetview").show();$("#closestreetviewup").hide();$(".streetviewinfo").hide();}
else
{$("#showstreetview").hide();$("#closestreetviewup").show();$(".streetviewinfo").show();}}};$(document).ready(function(){$.telefoonboekMaps.loadScript();});
