var map;
var nz_maptype;
var navloaded;
var menubtndiv;
var menuswfdiv;
var helpdiv;
var navdiv;
var serpdiv;
var mkh;
var Z1;
var firstdiv;
var huddiv;
var hudbgdiv;
var hudcoordsdiv;
var chOn = 0;
var openWin;
var openWin2;
var openWinContent1;
var openWinContent2;
var sWinContent1;
var nz_stayOpen = 0;
var nz_usrMarkersOn;
var smarker;
var nz_schMkrs = [];
var sinfo = "This is a search marker - it shows <br />the location of your most recent search.";
var MKType = 'loc';
var nz_swlat;
var nz_swlng;
var nz_nelat;
var nz_nelng;
var nz_lastLat = 41.29032;
var nz_lastLng = 174.66768;
var LastZm;
var nz_thisSWLat;
var nz_thisSWLng;
var nz_thisNELat;
var nz_thisNELng;
var nz_thisLatHeight;
var nz_thisLngWidth ;
var nz_LatDiff;
var nz_LngDiff;
var startzoom;
var nz_panos = [];
var mm;
var gmarkers6 = [];      
var gmarkers7 = [];      
var gmarkers8 = [];      
var gmarkers9 = [];
var gmarkers10 = [];
var gmarkers11 = [];
var gmarkers12 = [];
var gmarkers13 = [];
var gmarkers14 = [];
var gmarkers15 = [];
var gmarkers16 = [];
var pmarkersA = [];
var icon15 = new GIcon();
icon15.image = "http://www.3dnewzealand.com/images/icons/loc15.png";
icon15.shadow = "";
icon15.iconSize = new GSize(15, 25);
icon15.shadowSize = new GSize(0, 0);
icon15.iconAnchor = new GPoint(7, 25);
icon15.infoWindowAnchor = new GPoint(6, 10);
var icon12 = new GIcon();
icon12.image = "http://www.3dnewzealand.com/images/icons/loc12.png";
icon12.shadow = "";
icon12.iconSize = new GSize(12, 20);
icon12.shadowSize = new GSize(0, 0);
icon12.iconAnchor = new GPoint(6, 20);
icon12.infoWindowAnchor = new GPoint(5, 8);
var iconpano = new GIcon();
iconpano.image = "http://www.3dnewzealand.com/images/icons/arrowdn18.png";
iconpano.shadow = "";
iconpano.iconSize = new GSize(18, 18);
iconpano.shadowSize = new GSize(0, 0);
iconpano.iconAnchor = new GPoint(9, 18);
iconpano.infoWindowAnchor = new GPoint(9, 5);
var iconsearch = new GIcon();
iconsearch.image = "http://www.3dnewzealand.com/images/icons/iconsearch.png";
iconsearch.shadow = "";
iconsearch.iconSize = new GSize(12, 20);
iconsearch.shadowSize = new GSize(0, 0);
iconsearch.iconAnchor = new GPoint(6, 20);
iconsearch.infoWindowAnchor = new GPoint(6, 5); 
var nz_markersOn = 1;
var nz_labelsOn = 0;
var nz_mw;
var nz_mh;
var qsParm = new Array();
qs();
function qs() {
var query = window.location.search.substring(1);
var parms = query.split('&');
for (var i=0; i<parms.length; i++) {
var pos = parms[i].indexOf('=');
if (pos > 0) {
var key = parms[i].substring(0,pos);
var val = parms[i].substring(pos+1);
qsParm[key] = val;
}
}
}
function load() {
firstdiv = document.getElementById("firstdiv");
nz_togglediv = document.getElementById("togglediv");
huddiv = document.getElementById("hud");
hudbgdiv = document.getElementById("hudbg");
hudcoordsdiv = document.getElementById("hudcoords");
serpdiv = document.getElementById("serp");
if (GBrowserIsCompatible()) {
nz_windim();
if (qsParm['mt'] == "map") {
map = new GMap2(document.getElementById("map"),{mapTypes:[G_NORMAL_MAP, G_SATELLITE_MAP, G_HYBRID_MAP]});
nz_maptype = "map";
} else if (qsParm['mt'] == "hybrid") {
map = new GMap2(document.getElementById("map"),{mapTypes:[G_HYBRID_MAP, G_NORMAL_MAP, G_SATELLITE_MAP]});
nz_maptype = "hybrid";
} else {
map = new GMap2(document.getElementById("map"),{mapTypes:[G_SATELLITE_MAP, G_NORMAL_MAP, G_HYBRID_MAP]});
nz_maptype = "sat";
}
map.enableDoubleClickZoom();
map.addControl(new GOverviewMapControl());
_mPreferMetric = true;
map.addControl(new GScaleControl());
if (qsParm['co']) {
var nz_latlong = qsParm['co'].split(",");
} else {
var nz_latlong = nz_coord.split(", ");
}
if (qsParm['zm']) {
startzoom = Number(qsParm['zm']);
} else {
startzoom = nz_loc_zoom;
}
nz_loc_lat = nz_latlong[0];
nz_loc_long = nz_latlong[1];
map.setCenter(new GLatLng(nz_loc_lat, nz_loc_long), startzoom);
if (qsParm['mkr']) {
var nt = qsParm['mkr'].replace(/_/g," ");
createSMkr(nz_loc_lat, nz_loc_long, nt);
}
geocoder = new GClientGeocoder();
GEvent.addListener(map, "moveend", function() {
if(map.getZoom() < 2) { 
map.setZoom(2);
}
updateNC();
//limitZoom();
nz_getBounds();
if (nz_LngDiff > (nz_thisLngWidth/2) || nz_LatDiff > (nz_thisLatHeight/2) || LastZm != map.getZoom()) {
if (openWin != '' && openWin != null) {openWin2 = openWin;} else {openWin2 = '';}
map.clearOverlays();
if (nz_markersOn == 1) {
nz_getmarkers('no');
if (nz_usrMarkersOn == 1) {
createSMkr();
}
}
if (openWin2 != '' && openWin2 != null && LastZm != map.getZoom()) {
openWin = openWin2;
if (MKType == 'search') {
openWin.openInfoWindowHtml(sWinContent1, {maxWidth:280});
} else {
openWin.openInfoWindowTabsHtml([new GInfoWindowTab('Navigation',openWinContent1), new GInfoWindowTab('Info',openWinContent2)], {maxWidth:280});
}
nz_stayOpen = 0;
}
}
LastZm = map.getZoom();
});
GEvent.addListener(map, "zoomend", function() {
toggleWelcome('off');
});
    
GDownloadUrl("/cgi-bin/map.cgi", function (doc) {
var xmlDoc = GXml.parse(doc);
var markers = xmlDoc.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var mk_type = markers[i].getAttribute("type");
var lat = parseFloat(markers[i].getAttribute("lat"));
var lng = parseFloat(markers[i].getAttribute("lng"));
var nz_zl = parseFloat(markers[i].getAttribute("zl"));
var nz_opzm = parseFloat(markers[i].getAttribute("zo"));
var point = new GLatLng(lat,lng);
var nz_label = markers[i].getAttribute("label");
var ib = markers[i].getAttribute("ib");
var nz_url = markers[i].getAttribute("url");
var popn = parseFloat(markers[i].getAttribute("popn"));
var panos = parseFloat(markers[i].getAttribute("panos"));
var nz_pano = markers[i].getAttribute("pano");
var popn;
var panos;
var nz_pano;
if (mk_type == "loc") {
var marker = createMarker(mk_type,point,nz_zl,nz_label,nz_pano,popn,ib,nz_url,nz_opzm,panos);
map.addOverlay(marker);
}
}
});
nz_makeMenu();
nz_writemenu();
nz_writehelp();
document.nz_searchform.nz_sregion.value = nz_schregion;
} else {
alert("The map cannot be displayed as your browser is not compatible with Google Maps API.");
}
}
//]]>
window.onresize= nz_rs;
function nz_rs() {
getmappos("location");
nz_windim();
if (chOn == 1) {
toggleHUD();
}
}
function nz_windim() {
var bw_x,bw_y;
if (self.innerHeight) {
bw_x = self.innerWidth;
bw_y = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) {
bw_x = document.documentElement.clientWidth;
bw_y = document.documentElement.clientHeight;
} else if (document.body) {
bw_x = document.body.clientWidth;
bw_y = document.body.clientHeight;
}
var nz_map = document.getElementById("map");
if (bw_y <= 700) {
var newh = bw_y;
} else {
var newh = 700;
}
newh = newh - 100;
nz_map.style.height = newh+'px';
nz_mh = newh;
}
function toggleLoc(loc_title, loc_file){
getmappos("location");
var Z1 = document.getElementById("location");
Z1.style.height = nz_mh+'px';
if (Z1.style.visibility=="hidden") {
Z1.style.visibility="visible";
Z1.style.display="block";
Z1.innerHTML = '<div style="padding: 18px 0px 0px 0px; margin: 0px;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="720" height="360" id="panorama" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="/auxfiles/panorama.swf?nz_file='+loc_file+'&nz_title='+loc_title+'" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="/auxfiles/panorama.swf?nz_file='+loc_file+'&nz_title='+loc_title+'" quality="high" bgcolor="#ffffff" width="720" height="360" name="panorama" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object></div>';
}
else {
Z1.style.visibility="hidden";
Z1.style.display="none";
Z1.innerHTML = "";
}
}
function getmappos(whichdiv) {
var element = document.getElementById("map");
this.x=-1;
this.y=-1;
this.w=0;
this.h=0;
if (element==document){
this.x=element.body.scrollLeft;
this.y=element.body.scrollTop;
this.w=element.body.clientWidth;
this.h=element.body.clientHeight;
} else if (element!=null){
var e=element;
var left=e.offsetLeft;
while ((e=e.offsetParent)!=null) {
left+=e.offsetLeft;
}
var e=element;
var top=e.offsetTop;
while((e=e.offsetParent)!=null) {
top+=e.offsetTop;
}
this.x=left;
this.y=top;
this.w=element.offsetWidth;
this.h=element.offsetHeight;
}
var targetdiv = document.getElementById(whichdiv);
targetdiv.style.left = this.x + 'px';
targetdiv.style.top = this.y + 'px';
}
function nz_toggleMarkers(onnoff) {
if (onnoff == "on") {
turnMarkersOn();
} else if (onnoff == "off") {
turnMarkersOff();
} else {
if (nz_markersOn != 1) {
turnMarkersOn();
} else {
turnMarkersOff();
}
}
}
function turnMarkersOn() {
nz_getmarkers();
nz_markersOn = 1;
if (navloaded == true) {
thisMovie("navcontrols").togBtn("markers", "on");
}
}
function turnMarkersOff() {
var proceed = false;
if (nz_usrMarkersOn == 1) {
var uminput = confirm("NOTE: This will also delete your search marker (the blue one).");
if (uminput == true) { 
proceed = true;
}
} else {
proceed = true;
}
if (proceed == true) {
map.clearOverlays();
nz_markersOn = 0;  
nz_usrMarkersOn = 0;
thisMovie("navcontrols").togBtn("markers", "off");
if (nz_labelsOn == 1) {
nz_labelsOn = 0;
thisMovie("navcontrols").togBtn("labels", "off");
}
}
}
function nz_toggleLabels() {
map.clearOverlays();
if (nz_labelsOn == 1) {
nz_labelsOn = 0;
thisMovie("navcontrols").togBtn("labels", "off");
} else {
nz_labelsOn = 1;
thisMovie("navcontrols").togBtn("labels", "on");
if (nz_markersOn != 1) {
nz_markersOn = 1;
thisMovie("navcontrols").togBtn("markers", "on");
}
}
nz_getmarkers('no');
}
function toggleHUD() {
if (chOn == 1) {
chOn = 0;
huddiv.style.display = "none";
thisMovie("navcontrols").togBtn("hud", "off");
} else {
chOn = 1;
var ms1 = map.getSize().toString();
var ms2 = ms1.split("(");
var ms3 = ms2[1].split(",");
var ms4 = ms3[0];
huddiv.style.visibility = "visible";
hudbgdiv.style.visibility = "visible";
if(typeof(hudbgdiv.style.filter)=='string'){hudbgdiv.style.filter='alpha(opacity:'+20+')';}
if(typeof(hudbgdiv.style.KHTMLOpacity)=='string'){hudbgdiv.style.KHTMLOpacity=0.2;}
if(typeof(hudbgdiv.style.MozOpacity)=='string'){hudbgdiv.style.MozOpacity=0.2;}
if(typeof(hudbgdiv.style.opacity)=='string'){hudbgdiv.style.opacity=0.2;}
huddiv.style.top = (nz_mh/2)-30+'px';
huddiv.style.left = (ms4/2)-60+'px';
huddiv.style.display = "block";
thisMovie("navcontrols").togBtn("hud", "on");
}
}
function nz_dosearch() {
var f = document.nz_searchform;
f.address.value = f.nz_saddy.value + " " + f.nz_sregion.value + " " + f.nz_scountry.value;
if (f.nz_saddy.value < 2) {
alert('Please enter a location in the search form');
} else {
showAddress(f.address.value);
}
return false;
}
function showAddress(address) {
if (geocoder) {
geocoder.getLocations(address, addAddressToMap);
}
}
function addAddressToMap(response) {
if (!response || response.Status.code != 200) {
alert("Sorry, we were unable to find that location");
} else {
var ser = '<div style="float:right;text-align:right;margin:0px;padding:0px;"><img src="/images/buttons/btn_close2.gif" alt="Close this window" title="Close this window" width="50" height="18" vspace="0" hspace="0" onClick="nz_toggleSerp();" style="cursor:pointer;" /></div><b>Search Result</b><br />';
var plgth = response.Placemark.length;
if (plgth == 1) {
ser += "<i>1 location found:</i><br /><br />";
} else if (plgth < 10) {
ser += "<i>" + plgth + " possible matches:</i><br /><br />";
} else {
ser += "<i>First " + plgth + " matches found:</i><br /><br />";
}
for (var i = 0; i < response.Placemark.length; i++) {
place = response.Placemark[i];
point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
var nz_serpaddy = place.address.split(", New Zealand");
var nz_serpaddy1 = nz_serpaddy[0];
var nz_serpaddy2 = nz_serpaddy1.split(",");
ser += '<span style="margin-bottom:6px;cursor:pointer;color:#003399;" onClick="map.closeInfoWindow();map.setCenter(new GLatLng'+point+', 14);createSMkr('+place.Point.coordinates[1]+', '+place.Point.coordinates[0]+', \''+nz_serpaddy2[0]+'\');">'+nz_serpaddy1+'</span><br />';
}
if (plgth >= 10) {
ser += '<br />If the place you\'re searching for is not listed, try again and include the region and/or city.';
}
serpdiv.innerHTML = ser;
nz_toggleSerp('on');
}
}
function showAddress2(point) {
if (!point) {
alert(address + " not found");
} else {
if (nz_schMkrs[0] != null) {removeSMkr();}
var tmpzoom = map.getZoom();
map.setCenter(point);
if(tmpzoom < 5) { 
map.setZoom(5);
}
if(tmpzoom > 17) { 
map.setZoom(17);
}
var addy2 = address.split('New Zealand');
var navtab = '<b>'+addy2[0]+'</b>';
var usrmarker = new GMarker(point, {title:addy2[0], icon:iconsearch});
smarker = usrmarker;
map.addOverlay(usrmarker);
nz_toggleMarkers('on');
if (map.getZoom() < 14) {
navinfotab = '<br /><span onClick="map.closeInfoWindow();map.setCenter(new GLatLng'+point+', 14);" style="cursor:pointer;color: #0033ff">Go There</span>';
} else {
navinfotab = '<br />To zoom in, use the "<b>+</b>" button or double-click the map.<br />To zoom out, use the "<b>-</b>" button or double-right-click the map.';
}
usrmarker.openInfoWindowHtml(navtab+navinfotab);
GEvent.addListener(usrmarker, "click", function() {
if (map.getZoom() < 14) {
usrmarker.openInfoWindowHtml(navtab+'<br /><span onClick="map.setCenter(new GLatLng'+point+', 14);map.closeInfoWindow();" style="cursor:pointer;color: #0033ff">Go There</span>');
} else {
usrmarker.openInfoWindowHtml(navtab+'<br />To zoom in, use the "<b>+</b>" button or double-click the map.<br />To zoom out, use the "<b>-</b>" button or double-right-click the map.');
}
});
nz_schMkrs[0] = point;
nz_schMkrs[1] = addy2[0];
nz_usrMarkersOn = 1;
}
}
function createSMkr(p1, p2, title) {
if (!p1) {
point = nz_schMkrs[0];
title = nz_schMkrs[1];
} else {
point = new GLatLng(p1, p2);
nz_schMkrs[0] = point;
nz_schMkrs[1] = title;
}
nz_usrMarkersOn = 1;
smarker = new GMarker(nz_schMkrs[0], {title:nz_schMkrs[1], icon:iconsearch});
GEvent.addListener(smarker, "click", function() {
var navtab = '<div style="color:#990000;font-size:15px;font-weight:bold;margin: 0px 0px 10px 0px;padding: 0px;">'+nz_schMkrs[1]+'</div><div><span onClick="map.zoomIn();" style="cursor:pointer;color:#0033ff;margin-right:8px;"><img src="/images/buttons/btn_zoomin_16x14.gif" align="absmiddle" width="16" height="14" alt="Zoom In" title="Zoom In"> Zoom In</span<span onClick="map.zoomOut();" style="cursor:pointer;color: #0033ff;margin-right:8px;"><img src="/images/buttons/btn_zoomout_16x14.gif" align="absmiddle" width="16" height="14" alt="Zoom Out" title="Zoom Out"> Zoom Out</span></div><br /><span onClick="removeSMkr();" style="cursor:pointer;color: #0033ff;"> Delete This Marker</span>';
sWinContent1 = navtab;
smarker.openInfoWindowHtml(sWinContent1, {maxWidth:280});
openWin = smarker;
});
GEvent.addListener(smarker, "infowindowopen", function() {
MKType = 'search';
});
GEvent.addListener(smarker, "infowindowclose", function() {
openWin = '';
});
map.addOverlay(smarker);
if ((openWin2 != '' && openWin2 != null) || p1) {
var navtab = '<div style="color:#990000;font-size:15px;font-weight:bold;margin: 0px 0px 10px 0px;padding: 0px;">'+title+'</div><div><span onClick="map.zoomIn();" style="cursor:pointer;color:#0033ff;margin-right:8px;"><img src="/images/buttons/btn_zoomin_16x14.gif" align="absmiddle" width="16" height="14" alt="Zoom In" title="Zoom In"> Zoom In</span<span onClick="map.zoomOut();" style="cursor:pointer;color: #0033ff;margin-right:8px;"><img src="/images/buttons/btn_zoomout_16x14.gif" align="absmiddle" width="16" height="14" alt="Zoom Out" title="Zoom Out"> Zoom Out</span></div><br /><span onClick="removeSMkr();" style="cursor:pointer;color: #0033ff;">   Delete This Marker</span>';
sWinContent1 = navtab;
smarker.openInfoWindowHtml(sWinContent1, {maxWidth:280});
openWin = smarker;
}
nz_toggleMarkers('on');
nz_usrMarkersOn = 1;
}
function removeSMkr() {
map.closeInfoWindow();
smarker.hide();
nz_schMkrs[0] = null;
nz_schMkrs[1] = null;
nz_usrMarkersOn = 0;
}
function nz_toggleSerp(onoff) {
serpdiv = document.getElementById("serp");
if (serpdiv.style.visibility == "hidden" || onoff == 'on') {
serpdiv.style.visibility = "visible";
serpdiv.style.display = "block";
} else if (serpdiv.style.visibility == "visible" || onoff == 'off') {
serpdiv.style.visibility = "hidden";
serpdiv.style.display = "none";
}
}
function roundNumber(rnum, rlength) {
if (rnum > 8191 && rnum < 10485) {
rnum = rnum-5000;
var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
newnumber = newnumber+5000;
} else {
var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
}
return newnumber;
}
function nz_makeMenu() {
var map = document.getElementById("map");
menubtndiv = document.getElementById("menubtndiv");
var menuswfdiv = document.getElementById("menuswfdiv");
var helpdiv = document.getElementById("helpdiv");
var navdiv = document.getElementById("navdiv");
var huddiv = document.getElementById("hud");
var serpdiv = document.getElementById("serp");
var clinkdiv = document.getElementById("clinkdiv");
var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(0,0));
pos.apply(menubtndiv);
map.appendChild(menubtndiv);
menubtndiv.style.display = "block";
var posmenuswf = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(0,20));
posmenuswf.apply(menuswfdiv);
map.appendChild(menuswfdiv);
menuswfdiv.style.display = "block";
var poshelpdiv = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(0,20));
poshelpdiv.apply(helpdiv);
map.appendChild(helpdiv);
helpdiv.style.display = "block";
var posnav = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(2,0));
posnav.apply(navdiv);
map.appendChild(navdiv);
navdiv.style.display = "block";
var hudpos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(0,0));
hudpos.apply(huddiv);
map.appendChild(huddiv);
var serppos = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(0,0));
serppos.apply(serpdiv);
map.appendChild(serpdiv);
var clinkpos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(0,20));
clinkpos.apply(clinkdiv);
map.appendChild(clinkdiv);
}
function nz_nav(dir, amount) {
amount = 100;
if (dir == 'sat') { 
if (map.getCurrentMapType() != G_SATELLITE_MAP) {
map.setMapType(G_SATELLITE_MAP);
}
else {
alert('The map is already in \'Satellite\' mode.\n\nClick the \'Map\' or \'Hybrid\' buttons for different map types.');
}
}
if (dir == 'map') { 
if (map.getCurrentMapType() != G_NORMAL_MAP) {
map.setMapType(G_NORMAL_MAP);
}
else {
alert('The map is already in \'Map\' mode.\n\nClick the \'Satellite\' or \'Hybrid\' buttons for different map types.');
}
}
if (dir == 'hybrid') { 
if (map.getCurrentMapType() != G_HYBRID_MAP) {
map.setMapType(G_HYBRID_MAP);
}
else {
alert('The map is already in \'Hybrid\' mode.\n\nClick the \'Satellite\' or \'Map\' buttons for different map types.');
}
}
if (dir == 'left') { map.panBy(new GSize(100, 0)); }
else if (dir == 'up') { map.panBy(new GSize(0, 100)); }
else if (dir == 'right') { map.panBy(new GSize(-100, 0)); }
else if (dir == 'down') { map.panBy(new GSize(0, -100)); }
else if (dir == 'in') { map.zoomIn(false,true); }
else if (dir == 'out') { map.zoomOut(false,true); }
else if (dir == 'reset') { map.setCenter(new GLatLng(nz_loc_lat, nz_loc_long), startzoom); }
else if (Number(dir) >1 && Number(dir) < 20) {
map.setZoom(Number(dir));
}
}
function toggleMenu() {
firstdiv.style.visibility = "hidden";
firstdiv.style.display = "none";
var menuswfdiv = document.getElementById("menuswfdiv");
if (menuswfdiv.style.visibility == "hidden") {
menuswfdiv.style.visibility = "visible";
var helpdiv = document.getElementById("helpdiv");
helpdiv.style.visibility = "hidden";
} else {
menuswfdiv.style.visibility = "hidden";
}
}
function nz_writemenu() {
var menubtndiv = document.getElementById("menubtndiv");
var menuswfdiv = document.getElementById("menuswfdiv");
var navdiv = document.getElementById("navdiv");
menubtndiv.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="172" height="20" id="menubtns"><param name="wmode" value="transparent"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="/auxfiles/menubtns.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="/auxfiles/menubtns.swf" quality="high" bgcolor="#ffffff" width="172" height="20" name="menubtns" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent" /></embed></object>';
menuswfdiv.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" name="menuTree" width="220" height="'+360+'" id="menuTree"><param name="wmode" value="transparent"><param name="movie" value="/auxfiles/menu.swf" /><param name="allowScriptAccess" value="sameDomain" /><param name="quality" value="high" /><embed src="/auxfiles/menu.swf" name="menuTree" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="220" height="'+360+'" wmode="transparent" /></embed></object>';
navdiv.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="navcontrols" width="120" height="250" align="middle"><param name="wmode" value="transparent"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="/auxfiles/navcontrols.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="/auxfiles/navcontrols.swf" quality="high" bgcolor="#ffffff" width="120" height="250" id="navcontrols" name="navcontrols" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent" /></embed></object>';
}
function nz_writehelp() {
var helpdiv = document.getElementById("helpdiv");
helpdiv.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="400" height="200" id="help" align="middle"><param name="wmode" value="transparent"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="/auxfiles/help.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#999999" /><embed src="/auxfiles/help.swf" quality="high" bgcolor="#999999" width="400" height="200" name="/auxfiles/help" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent" /></embed></object>';
}
function nz_togglehelp(onoff) {
firstdiv.style.visibility = "hidden";
firstdiv.style.display = "none";
var helpdiv = document.getElementById("helpdiv");
if (helpdiv.style.visibility == "hidden" || onoff == 'on') {
var menuswfdiv = document.getElementById("menuswfdiv");
menuswfdiv.style.visibility = "hidden";
helpdiv.style.visibility = "visible";
helpdiv.style.display = "block";
} else if (helpdiv.style.visibility == "visible" || onoff == 'off') {
helpdiv.style.visibility = "hidden";
helpdiv.style.display = "none";
}
}
function toggleWelcome(onoff) {
firstdiv.style.visibility = "hidden";
firstdiv.style.display = "none";
}
function thisMovie(movieName) {
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}
function updateNC() {
var nz_coords = (map.getCenter()).toString().replace('(', '');
nz_coords = nz_coords.replace(')', '');
var nz_coords_array = nz_coords.split(', ');
var nz_coord_lat = roundNumber(nz_coords_array[0], 5);
var nz_coord_lon = roundNumber(nz_coords_array[1], 5);
var nz_coord_lat2 = roundNumber(nz_coords_array[0], 2);
var nz_coord_lon2 = roundNumber(nz_coords_array[1], 2);
hudcoordsdiv.innerHTML = 'Latitude:  '+nz_coord_lat+'<br />Longitude: '+nz_coord_lon;
if (navloaded == true) {
thisMovie("navcontrols").setSlider(nz_coord_lat2,nz_coord_lon2,map.getZoom());
}
}
function jsFunc(str) {
navloaded = true;
updateNC();
nz_getmarkers();
thisMovie("navcontrols").setMaptype(nz_maptype);
}
//function limitZoom() {
//var rectBounds = new GLatLngBounds(new GLatLng(-41.39535, 174.59232), new GLatLng(-41.10251, 174.96861));
//if(!(rectBounds.contains(map.getCenter())) && map.getZoom() > 18) {
//map.setZoom(18);
//}
//}
function nz_getBounds() {
var nz_bnd1 = map.getBounds().toString();
var nz_bnd2 = nz_bnd1.split("), (");
var nz_bnd_sw1 = nz_bnd2[0].split("((");
var nz_bnd_sw2 = nz_bnd_sw1[1].split(", ");
nz_swlat = nz_bnd_sw2[0];
nz_swlng = nz_bnd_sw2[1];
var nz_bnd_ne1 = nz_bnd2[1].split("))");
var nz_bnd_ne2 = nz_bnd_ne1[0].split(", ");
nz_nelat = nz_bnd_ne2[0];
nz_nelng = nz_bnd_ne2[1];
nz_thisSWLat = Math.abs(nz_swlat);
nz_thisSWLng = Math.abs(nz_swlng);
nz_thisNELat = Math.abs(nz_nelat);
nz_thisNELng = Math.abs(nz_nelng);
nz_thisLatHeight = nz_thisSWLat - nz_thisNELat;
nz_thisLngWidth = nz_thisNELng - nz_thisSWLng;
nz_LatDiff = Math.abs(nz_thisSWLat - nz_lastLat);
nz_LngDiff = Math.abs(nz_thisSWLng - nz_lastLng);
swlatM = nz_swlat - (nz_thisLatHeight/2);
swlngM = nz_swlng - nz_thisLngWidth;
nelatM = Number(nz_nelat) + Number(nz_thisLatHeight)/2;
nelngM = Number(nz_nelng) + Number(nz_thisLngWidth);
}
function nz_getmarkers(bounds) {
if (bounds != 'no') {
nz_getBounds();
}
var z = map.getZoom();
var gdurl = '/cgi-bin/map.cgi?z='+z+'&swlat='+swlatM+'&swlng='+swlngM+'&nelat='+nelatM+'&nelng=' +nelngM;
GDownloadUrl(gdurl, function (doc) {
var xmlDoc = GXml.parse(doc);
var markers = xmlDoc.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var mk_type = markers[i].getAttribute("type");
var lat = parseFloat(markers[i].getAttribute("lat"));
var lng = parseFloat(markers[i].getAttribute("lng"));
var nz_zl = parseFloat(markers[i].getAttribute("zl"));
var nz_opzm = parseFloat(markers[i].getAttribute("zo"));
var point = new GLatLng(lat,lng);
var nz_label = markers[i].getAttribute("label");
var ib = markers[i].getAttribute("ib");
var nz_url = markers[i].getAttribute("url");
var popn = parseFloat(markers[i].getAttribute("popn"));
var panos = parseFloat(markers[i].getAttribute("panos"));
var nz_pano = markers[i].getAttribute("pano");
var popn;
var panos;
var nz_pano;
if (mk_type == "loc") {
var marker = createMarker(mk_type,point,nz_zl,nz_label,nz_pano,popn,ib,nz_url,nz_opzm,panos);
map.addOverlay(marker);
}
}
});
nz_lastLat = Math.abs(nz_swlat);
nz_lastLng = Math.abs(nz_swlng);
}
function createMarker(mk_type,point,nz_zl,nz_label,nz_pano,popn,ib,nz_url,nz_opzm,panos) {
if (mk_type == "loc") {
licon = icon12;
var marker = new GMarker(point, {title:nz_label, icon:licon});
if (nz_labelsOn == 1) {
var ll = nz_label.length;
if (ll > 18) { var nz_elb = nz_label.substring(0,15)+'...'; }
else { var nz_elb = nz_label; }
var ll2 = nz_elb.length;
if (ll2 > 10) { var xos = -28; }
else if (ll2 > 7) { var xos = -20; }
else { var xos = -16; }
var label = new ELabel(point, nz_elb, "elabel", new GSize(xos,-20), 75);
map.addOverlay(label);
}
GEvent.addListener(marker, "click", function() {
var navtab = '<div style="color:#990000;font-size:15px;font-weight:bold;margin: 0px 0px 10px 0px;padding: 0px;">'+nz_label+'</div>';
if (!nz_opzm) {
nz_opzm = 13;
}
if (map.getZoom() < nz_opzm-1) {
navtab += '<span onClick="map.closeInfoWindow();map.setCenter(new GLatLng'+point+', '+nz_opzm+');" style="cursor:pointer;color: #0033ff;"><img src="/images/buttons/list-icon1.gif" width="8" height="7"> Go There</span>';
} else {
navtab += '<span onClick="map.zoomIn();" style="cursor:pointer;color:#0033ff;margin-right:8px;"><img src="/images/buttons/btn_zoomin_16x14.gif" align="absmiddle" width="16" height="14" alt="Zoom In" title="Zoom In"> Zoom In</span<span onClick="map.zoomOut();" style="cursor:pointer;color: #0033ff;margin-right:8px;"><img src="/images/buttons/btn_zoomout_16x14.gif" align="absmiddle" width="16" height="14" alt="Zoom Out" title="Zoom Out"> Zoom Out</span>';
if (nz_pano != "" && nz_pano != null) {
navtab += '<span onClick="toggleLoc(\''+nz_label+'\', \''+nz_pano+'\');" style="cursor:pointer;color: #0033ff;"><img src="/images/buttons/btn_pano_25x14.gif" align="absmiddle" width="25" height="14" alt="360º Panorama" title="360º Panorama"> Panorama</span>';
}
}
navtab += '</div>';
var infotab = '<div style="height:72px;margin:0px;padding:0px;overflow:auto;overflow-x: none;overflow-y: scroll; font-size: 11px;">';
if (ib != "" && ib != null) {
infotab += ib;
}
if (popn > 0) {
infotab += '<br />Population: '+popn;
}
if (nz_url != "" && nz_url != null) {
var nz_urls = nz_url.split(", ");
for (var i = 0; i < nz_urls.length; i++) {
if (nz_urls[i].length > 40) { var nz_atxt = nz_urls[i].substring(0,37)+'...'; }
else { var nz_atxt = nz_urls[i]; }
infotab += '<br /><a href="http://'+nz_urls[i]+'" target="_blank" style="text-decoration:none;">'+nz_atxt+'</a>';
}
}
if (infotab == "") {
infotab += 'No information is currently available for '+nz_label+'.';
}
infotab += '</div>';
nz_stayOpen = 1;
marker.openInfoWindowTabsHtml([new GInfoWindowTab('Navigation',navtab), new GInfoWindowTab('Info',infotab)], {maxWidth:280});
openWinContent1 = navtab;
openWinContent2 = infotab;
});
GEvent.addListener(marker, "infowindowopen", function() {
openWin = marker;
MKType = 'loc';
});
GEvent.addListener(marker, "infowindowclose", function(){
openWin = '';
});
} else if (mk_type == "pano") {
var marker = new GMarker(point, {title:nz_label, icon:iconpano});
GEvent.addListener(marker, "click", function() {
toggleLoc(nz_label,nz_pano);
});
}
return marker;
}
function nz_toggleclink(onoff) {
firstdiv.style.visibility = "hidden";
firstdiv.style.display = "none";
var clinkdiv = document.getElementById("clinkdiv");
if (clinkdiv.style.visibility == "hidden" || onoff == 'on') {
clinkdiv.style.visibility = "visible";
clinkdiv.style.display = "block";
} else if (clinkdiv.style.visibility == "visible" || onoff == 'off') {
clinkdiv.style.visibility = "hidden";
clinkdiv.style.display = "none";
}
}
function clink() {
var linkurl = "http://www.3dnewzealand.com/map.html?";
var clink_co = map.getCenter().toString().replace(/\(/,"");
var clink_co = clink_co.replace(/\)/,"");
var clink_co = clink_co.replace(/, /,",");
var clink1 = roundNumber(Number(clink_co.substring(0, clink_co.indexOf(","))), 5);
var clink2 = roundNumber(Number(clink_co.substring(1+clink_co.indexOf(","))), 5);
linkurl += "co="+clink1+","+clink2;
linkurl += "&zm="+map.getZoom();
if (map.getCurrentMapType() == G_NORMAL_MAP) {
linkurl += "&mt=map";
} else if (map.getCurrentMapType() == G_HYBRID_MAP) {
linkurl += "&mt=hybrid";
}
var mkr = document.clinkform.mkrtxt.value;
if (mkr.length>0) {
var mkr1 = mkr.replace(/ /g,"_");
var mkr2 = mkr1.replace(/\&/g,"and");
linkurl += "&mkr="+mkr2;
}
document.clinkform.linktxt.value = linkurl;
}
