var map=null;var Icon=null;var side_bar_html="";var side_bar_html2="";var gmarkers=[];var htmls=[];var i=0;var geocoder=null;var bubbleHtml;function gup(name)
{name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^&#]*)";var regex=new RegExp(regexS);var results=regex.exec(window.location.href);if(results==null)
return"";else{var param=results[1];param=param.replace(/\+/g," ");param=decodeURIComponent(param);return param;}}
function load(){if(GBrowserIsCompatible()){Icon=new GIcon(G_DEFAULT_ICON);Icon.iconSize=new GSize(29,29);Icon.shadowSize=new GSize(0,0);Icon.iconAnchor=new GPoint(29,14);Icon.image="img/marker.gif";geocoder=new GClientGeocoder();geocoder.setBaseCountryCode('nz');createMap();var search_param=gup('search');if(search_param!=''&&search_param!='Type+your+address')
foo(search_param);}
else{alert("Sorry, the Google Maps API is not compatible with this browser");}}
function createMarker(point,name,html,linktopage){var marker=new GMarker(point,Icon);var bubbleHtml='<div style="font-size: 95%"><h4>'+name+'</h4>'+html+'<a href="'+linktopage+'"><b>Learn more &rsaquo;</b></a>'+'</div>';GEvent.addListener(marker,"click",function(){marker.openInfoWindowHtml(bubbleHtml);});GEvent.addListener(marker,"mouseover",function(){marker.setImage("img/marker_a.gif");});GEvent.addListener(marker,"mouseout",function(){marker.setImage("img/marker.gif");});gmarkers[i]=marker;bubbleHtml+="<br /><span style=\"font-size: 8pt; color: #6C8912;\">Zoom: <a href=\"javascript:myinzoom()\" style=\"color: #000000;\">In</a> - <a href=\"javascript:myoutzoom()\" style=\"color: #000000;\">Out</a></span></div>";htmls[i]=bubbleHtml;var themarkertext='<a href="javascript:myclick('+i+')" onmouseover="gmarkers['+i+'].setImage(\'img/marker_a.gif\')" onmouseout="gmarkers['+i+'].setImage(\'img/marker.gif\')">'+name+'</a><br />';side_bar_html+=themarkertext;gmarkers[i].sidebarhtml=themarkertext;i++;return marker;}
function myinzoom(){map.setZoom(16);}
function myoutzoom(){map.setZoom(10);}
function myclick(i){gmarkers[i].openInfoWindowHtml(htmls[i]);map.setZoom(14);}
function refreshMap(){map=null;Icon=null;side_bar_html="";gmarkers=[];htmls=[];i=0;geocoder=null;load();}
function zoomAuckland(){map.setCenter(new GLatLng(-36.857385,174.765735),11);}
function createMap(){map=new GMap2(document.getElementById("map"));map.addControl(new GSmallMapControl());map.addControl(new GMapTypeControl());map.setCenter(new GLatLng(-36.847385,174.765735),11);getData();}
function foo(myfoo){if(geocoder){geocoder.getLatLng(myfoo,function(point){if(!point){alert(myfoo+" not found");}else{tmpgmarkers=gmarkers.slice();for(var i=0;i<tmpgmarkers.length;i++){tmpgmarkers[i].dist=tmpgmarkers[i].getPoint().distanceFrom(point);}
tmpgmarkers.sort(function(a,b){return(a.dist-b.dist)});map.setZoom(13);map.panTo(tmpgmarkers[0].getPoint());document.getElementById("side_bar").innerHTML="Search results for: <h4> "+myfoo+"</h4>In order, nearest first.<hr>";for(var j=0;j<tmpgmarkers.length;j++){document.getElementById("side_bar").innerHTML+=tmpgmarkers[j].sidebarhtml;}}});}}
function getData(){GDownloadUrl("locationslist.xml",function(data){var xmlDoc=GXml.parse(data);var markers=xmlDoc.documentElement.getElementsByTagName("marker");var infowindows=xmlDoc.documentElement.getElementsByTagName("infowindow");side_bar_html2="";for(var i=0;i<markers.length;i++){var lat=parseFloat(markers[i].getAttribute("lat"));var lng=parseFloat(markers[i].getAttribute("lng"));var point=new GLatLng(lat,lng);var html=GXml.value(markers[i].getElementsByTagName("infowindow")[0]);var label=markers[i].getAttribute("label");var linktopage=markers[i].getAttribute("link");var sPath=window.location.pathname;var sPage=sPath.substring(sPath.lastIndexOf('/')+1);if(linktopage!=sPage)
side_bar_html2+='<a href="'+linktopage+'">'+label+'</a><br />';else{map.setCenter(new GLatLng(lat,lng),14);side_bar_html2+='<b>'+label+'</b><br />';}
var marker=createMarker(point,label,html,linktopage);map.addOverlay(marker);}
var sidebar1=document.getElementById("side_bar");var sidebar2=document.getElementById("location-list");if(sidebar1)sidebar1.innerHTML=side_bar_html;if(sidebar2)sidebar2.innerHTML=side_bar_html2;});}
function getData2(){var request=GXmlHttp.create();request.open("GET","locationslist.xml",true);request.onreadystatechange=function(){if(request.readyState==4){var xmlDoc=GXml.parse(request.responseText);var markers=xmlDoc.documentElement.getElementsByTagName("marker");var infowindows=xmlDoc.documentElement.getElementsByTagName("infowindow");side_bar_html2="";for(var i=0;i<markers.length;i++){var lat=parseFloat(markers[i].getAttribute("lat"));var lng=parseFloat(markers[i].getAttribute("lng"));var point=new GLatLng(lat,lng);var html=infowindows[i].textContent;var label=markers[i].getAttribute("label");var linktopage=markers[i].getAttribute("link");var sPath=window.location.pathname;var sPage=sPath.substring(sPath.lastIndexOf('/')+1);if(linktopage!=sPage)
side_bar_html2+='<a href="'+linktopage+'">'+label+'</a><br />';else{map.setCenter(new GLatLng(lat,lng),14);side_bar_html2+='<b>'+label+'</b><br />';}
var marker=createMarker(point,label,html,linktopage);map.addOverlay(marker);}
var sidebar1=document.getElementById("side_bar");var sidebar2=document.getElementById("location-list");if(sidebar1)sidebar1.innerHTML=side_bar_html;if(sidebar2)sidebar2.innerHTML=side_bar_html2;}}
request.send(null);}