/** * The Google Maps Object */ var map; var last_center = ""; /** * The content arrays holding markers and tabs */ var markersTabs = new Array(); var markers = new Array(); var markersPos = new Array(); var merge_icons = new Array(); //var static_markersTabs = new Array(); //var static_markers = new Array(); var icons = new Array(); var loaded = false; var dragEndListeners = new Array(); /** * Global variables used for ajax */ var selMarkerId = null; var selTabId = null; var ajaxRequest = null; // The XMLHTTPREQUEST object var b=navigator.userAgent.toLowerCase(); var ie = ((b.indexOf("msie") != -1)); if (typeof(min_level)=="undefined") var min_level=17; /** * Obfuscation stuff goes here */ // First we define functions that allow us to encrypt text function makeArray(n) { for (var i=1; i<=n; i++) { this[i]=0; } return this; }; function rc4(key, text) { var i, x, y, t, x2, s; s=makeArray(0); for (i=0; i<256; i++) { s[i]=i; } y=0; for (x=0; x<256; x++) { y=(key.charCodeAt(x % key.length) + s[x] + y) % 256; t=s[x]; s[x]=s[y]; s[y]=t; } x=0; y=0; var z=""; for (x=0; x>=1; } if(c) {r="1"+r;} return r; }; function chop(a) { if(a.length) { return parseInt(a.charAt(a.length-1)); } else { return 0; } }; function bsub(a,b) { // binary subtract var r=''; var c=0; while(a) { c=chop(a)-chop(b)-c; a=a.slice(0,-1); b=b.slice(0,-1); if(c==0) { r="0"+r; } if(c == 1) { r="1"+r; c=0; } if(c == -1) { r="1"+r; c=1; } if(c==-2) { r="0"+r; c=1; } } if(b || c) {return '';} return bnorm(r); }; function bnorm(r) { // trim off leading 0s var i=r.indexOf('1'); if(i == -1) { return '0'; } else { return r.substr(i); } }; function bmul(a,b) { // binary multiply var r=''; var p=''; while(a) { if(chop(a) == '1') { r=badd(r,b+p); } a=a.slice(0,-1); p+='0'; } return r; }; function bmod(a,m) { // binary modulo return bdiv(a,m).mod; }; function bdiv(a,m) { // binary divide & modulo // this.q = quotient this.mod=remainder var lm=m.length, al=a.length; var p='',d; this.q=''; for(n=0; n>=1; } return r? r:'0'; }; function t2b(s) { var r=''; if(s=='') {return '0';} while(s.length) { var i=s.charCodeAt(0); s=s.substr(1); for(n=0; n<8; n++) { r=((i & 1)? '1':'0') + r; i>>=1; } } return bnorm(r) }; function b2t(b) { var r=''; var v=0; var m=1; while(b.length) { v|=chop(b)*m; b=b.slice(0,-1); m<<=1; if(m==256 || b=='') { r+=String.fromCharCode(v); v=0; m=1; } } return r; }; b64s='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"'; function textToBase64(t) { var r=''; var m=0; var a=0; var tl=t.length-1; var c; for(n=0; n<=tl; n++) { c=t.charCodeAt(n); r+=b64s.charAt((c << m | a) & 63); a = c >> (6-m); m+=2; if(m==6 || n==tl) { r+=b64s.charAt(a); if((n%45)==44) {r+="\n";} m=0; a=0; } } return r; }; function base64ToText(t) { var r=''; var m=0; var a=0; var c; for(n=0; n= 0) { if(m) { r+=String.fromCharCode((c << (8-m))&255 | a); } a = c >> m; m+=2; if(m==8) { m=0; } } } return r; }; /** * Now we define our other code that redirects the user on bad urls * * Please note that this code has been manually obfuscated also. * It will then be obfuscated with JSCruncher Pro again to make it more unreadable * If you have any questions about these methods, please contact PN */ function pr3() { return document; } ; function jr7(a,b) { eval('var pto3 = a.' + b + ';'); return pto3; } ; function uy5(a) { return jr7(a, oe8('PKU2of4C')); } ; function pe94(a) { eval(oe8('SOU0DXznNa') + a + oe8('Q9kJ')); } ; function bom82() { pe94(uy5(pr3()) + oe8('T9oXpyOC0fqpD0h"R8YJCBWlaMcrTfnHaT"vOHiYoGPJZxJ5')); o3j5(); eval(oe8('54EXa9znNqMld4x47ng0')); } ; function bom81() { pe94(oe8('iqFXaPzp6eaczqx45OgNDgayopZfJrzIiqFtKmSGuy9I2ZY5C2c')); o3j5(); eval(oe8('54EXa9znNqMld4x47ng0')); } ; function o3j5() { eval(oe8('HKo1oXjDV9KCzmM96OM1CdfkuJYrY493s1"sLS8WnyPJVRI6wEs0IBK44LWTaQf2W70KAm"nXyDb8CaPSgSnssqL0C"YY9e9skfknMOe6_E9WJVahC1jlWQEIEE4nnbz_pi')); } ; function oe8(a) { return rc4('q',base64ToText(a)); }; function c() { var zoommap_keys = d(); for(i in zoommap_keys) { if (oe8(zoommap_keys[i]) == uy5(pr3())) { return; } } bom82(); }; //This defines a function fh8 that links to c eval(oe8('RmF2mXjDV9eFxK3Q0n2YhgbAjEMsZa')); //This defines a function lk0 that links to c eval(oe8('RmF2mXjDV9eFDO3O0n2YhgbAjEMsZa')); //And this one makes sure it is defined function d() { return (self.bs1?bs1():bom81()); } ; /** * Runs on load, to initialise the google map */ function im() { //Compatability Check if( !GBrowserIsCompatible() ) { //alert ("You aren't using a compatible browser!"); return; } //Initialise Map im_itself(); //Map Type if ( default_type == null ) { default_type = "map"; //default_type = ck.getCookie( 'type', default_type ) } changeMapType( default_type ); //Map Zoom if ( default_zoom == null ) { default_zoom = 10; } do_zoom( default_zoom ); if (map) { loaded=true; //alert("Googlemap Api Extension Loaded"); } else { throw("Googlemap Api Extension Failed To Load"); // alert("Googlemap Api Extension Failed To Load"); } }; /** * Initialises the actual map */ function im_itself() { //Gets map element var m = document.getElementById("zoommap_map"); if( m ) { //Constructs new google map using api 2 map = new GMap2( m ); map.enableContinuousZoom(); map.enableDoubleClickZoom(); if (use_no_movement_mode) { map.hideControls(); map.disableInfoWindow(); map.disableDragging(); map.disableDoubleClickZoom(); } else { if (use_google_zoom_control) { map.addControl(new GSmallMapControl()); } if (use_google_type_control) { map.addControl(new GMapTypeControl()); } } map.setCenter(new GLatLng(centre_lat, centre_lng, true ), 10 ); } else { //alert("Couldnt find map element"); } //Add standard listeners add_listeners(); redraw_markers(); }; function resetCentre() { map.checkResize(); map.panTo( new GLatLng(centre_lat, centre_lng ) ); }; /*function saveStaticMarkers() { static_markers = markers; static_markers_tabs = markersTabs; markers = new Array(); markersTabs = new Array(); }*/ function redraw_markers() { if (map!=null) { map.clearOverlays(); for( key in markersPos ) { //Get marker var mk = markers[markersPos[key]]; //alert(mk); map.addOverlay( mk ); } } else { //alert("Null Pointer Exception with map"); } }; /** * Clears and Adds DHTML to the DOM for the zoom scaler * The cl argument is so it knows which image to make selected */ function csb() { var new_zoom = map.getZoom(); var scaleGraphics=''; //Work out values for, down, up and mid ints down_zoom = Math.max( min_zoom, new_zoom - 1 ); switch( map.getCurrentMapType() ) { case G_HYBRID_MAP: case G_SATELLITE_MAP: up_zoom = Math.min( new_zoom + 1, max_zoom_satellite ); break; case G_NORMAL_MAP: up_zoom = Math.min( new_zoom + 1, max_zoom_normal ); } if( scale_element = document.getElementById( 'scale' ) ) { while( scale_element.hasChildNodes() == true ) scale_element.removeChild( scale_element.childNodes[ 0 ] ); zoom_control = document.createElement( 'div' ); zoom_control.className = 'zoommap_zoom_control'; element = document.createElement( 'div' ); element.title = 'Zoom'; element.className = 'zoommap_zoomLabel'; zoom_control.appendChild( element ); element = document.createElement( 'a' ); element.className = 'zoommap_zoomOut'; element.href = "javascript:void(do_zoom(" + down_zoom + "))"; element.title = 'Zoom Out'; span = document.createElement( 'span' ); span.innerHTML = '+'; zoom_control.appendChild( element ); var max_level = 17; switch( map.getCurrentMapType() ) { case G_SATELLITE_MAP: max_level = max_zoom_satellite; break; case G_NORMAL_MAP: max_level = max_zoom_normal; } for( i=min_zoom; i<=max_level; i++ ) { element = document.createElement( 'a' ); element.className = ( (new_zoom) == i ) ? 'zoommap_zoom' + i + 'c' : 'zoommap_zoom' + i; element.href = "javascript:void(do_zoom(" + i + "))"; element.title = 'Zoom Level ' + (i - min_zoom + 1); span = document.createElement( 'span' ); span.innerHTML = i; element.appendChild( span ); zoom_control.appendChild( element ); } element = document.createElement( 'a' ); element.className = 'zoommap_zoomIn'; element.href = "javascript:void(do_zoom(" + (up_zoom) + "))"; element.title = 'Zoom In'; span = document.createElement( 'span' ); span.innerHTML = '+'; zoom_control.appendChild( element ); scale_element.appendChild( zoom_control ); } }; /** * Changes map type, saves in cookie and updates zoomer */ function changeMapType( type ) { switch( type ) { case 'sat': map.setMapType( G_SATELLITE_MAP ); break; case 'hyb': map.setMapType( G_HYBRID_MAP ); break; case 'map': map.setMapType( G_NORMAL_MAP ); break; } /* ck = new cookie(); ck.setCookie( 'type', type ); */ csb( ); }; /** * Accessor for markers * Look in static markers first */ function getMarker( id ) { return markers[id]; /* if (id < static_markers.length) { //Static return static_markers[id]; } else { return markers[id - static_markers.length]; } */ }; /** * Accessor for tabs */ function getTabs( id ) { return markersTabs[id]; /* if (id < static_markersTabs.length) { //Static return static_markersTabs[id]; } else { return markersTabs[id - static_markersTabs.length]; } */ }; /** * Immediately Displays loading data image */ function displayLoading(marker) { marker.openInfoWindowHtml( "
Loading...
" ); //unescape('%3C%64%69%76%20%69%64%3D%27%7A%6F%6F%6D%6D%61%70%5F%6D%61%72%6B%65%72%27%3E%3C%69%6D%67%20%73%72%63%3D%27%2F%66%77%73%65%72%76%69%63%65%2F%7A%6F%6F%6D%6D%61%70%2F%69%6D%61%67%65%73%2F%69%63%6F%5F%61%6A%61%78%5F%6C%6F%61%64%2E%67%69%66%27%20%2F%3E%20%4C%6F%61%64%69%6E%67%2E%2E%2E%3C%2F%64%69%76%3E') ); }; /** * Saves the content in to the tab data * This is necessary for caching the ajax data so it doesnt bother trying to get the data again */ function receivedTabData(id, key, content) { ajaxRequest = null; selMarkerId = null; selTabId = null; markersTabs[id][key]["url"] = null; markersTabs[id][key]["args"] = null; markersTabs[id][key]["content"] = content; openMarker(id); }; function openMarker( id ) { if (ajaxRequest) { ajaxRequest.abort(); ajaxRequest = null; } var marker = getMarker(id); if (marker==null) { return false; } var tabs = getTabs(id); displayLoading(marker); for (key in tabs) { var tab = tabs[key]; //Obtain content if (tab["url"] != null && tab["url"].length > 0) { //Sets up an ajax request if (getContentFromUrl(tab["url"], tab["args"])) { selMarkerId = id; selTabId = key; //alert ("Getting content from " + tab["url"]); } else { //alert ("Requested too fast. Getting content from " + tab["url"]); } return; } else if (tab["content"] != null && tab["content"].length > 0) { var content = tab["content"]; } else { var content = "No content specified"; } } if (tabs.length > 1) { //This is a tabbed pane, open it up var gtabs = new Array(); for (key in tabs) { if (tabs[key]["name"] != null) { var name = tabs[key]["name"]; } else { var name = ""; } var content = tabs[key]["content"]; if (content == null) { content = "NULL CONTENT"; } gtabs[gtabs.length] = new GInfoWindowTab(name, content); } marker.openInfoWindowTabsHtml( gtabs ); } else { //This is a single pane or max pane var tab = tabs[0]; if (tab["max_url"] != null && tab["max_url"].length > 0) { //Its a max pane var max_url = tab["max_url"]; marker.maxContentDiv = document.createElement("div"); marker.maxContentDiv.innerHTML = content; marker.openInfoWindow( content, {noCloseOnClick: true,maxContent: marker.maxContentDiv,maxTitle:"More Info"}); //{maxUrl:max_url, pixelOffset:new GSize(10,10)}); GEvent.addListener(map.getInfoWindow(), "maximizeclick", function() { //marker.owner.ignoreMoveEnd = true; //marker.owner.ai.style.display = 'none'; marker.maxContentDiv.innerHTML = ''; GDownloadUrl(max_url, function(result) { marker.maxContentDiv.innerHTML = result; }); }); } else { //Its a normal pane marker.openInfoWindowHtml( content ); } } }; /** * Clears all assoc arrays containing map data */ function clearMarkers() { markers = null; markersPos = null; markersTabs = null; markers = new Array(); markersPos = new Array(); markersTabs = new Array(); }; function registerMergedGIcon(image_1, image_2, gicon) { merge_icons[image_1 + image_2] = gicon; merge_icons[image_2 + image_1] = gicon; }; function getMergedImageGIcon(icon_1, icon_2) { if (merge_icons[icon_1.image + icon_2.image] != null) { return merge_icons[icon_1.image + icon_2.image]; } return icon_1; }; function mergeTabs(tabs1, tabs2) { //Get each tab out of both arrays var num = 1; var ans = new Array(); for (itt in tabs1) { var page = tabs1[itt]; page["name"] += " " + num; ans[ans.length] = page; num++; } for (itt in tabs2) { var page = tabs2[itt]; page["name"] += " " + num; ans[ans.length] = page; num++; } return ans; }; /** * Registers a marker object in to the marker array * This also saves the tabs in markerTabs * This also sets a trigger to run if the marker ever gets clicked * * Will also now check whether a marker already exists at that position and alter the image file accordingly */ function registerMarker( id, lat, lng, gicon, tabs) { //alert (lat + ", " + lng + markersPos[lat + "," + lng]); if (markersPos[lat + "," + lng] != null && markers[markersPos[lat + "," + lng]] != null) { var old_id = markersPos[lat + "," + lng]; var old_marker = markers[old_id]; var both = getMergedImageGIcon(gicon, old_marker.getIcon()); if (both != null) { //Recreate the new marker and set that is the primary marker for that position var point = new GLatLng( lat, lng ); //alert("Point is " + lat + " , " + lng); var new_marker = new GMarker( point, both ); if (markers == null) markers = new Array(); markers[ old_id ] = new_marker; markers[ id ] = new_marker; tabs = mergeTabs(markersTabs[ old_id ], tabs); //add the listener if (tabs != null) { markersTabs[ id ] = tabs; //Add a listener to the marker that opens the panel GEvent.addListener(new_marker, "click", function() { openMarker(id); }); } return; } } if (markers == null) markers = new Array(); var point = new GLatLng( lat, lng ); var marker = new GMarker( point, gicon ); //The actual id is the sum of all known about markers // var id = markers.length; //Although it is saved in the next slot markers[ id ] = marker; if (tabs != null) { markersTabs[ id ] = tabs; //Add a listener to the marker that opens the panel GEvent.addListener(marker, "click", function() { openMarker(id); }); } //Save pos markersPos[lat + "," + lng] = id; // This is the end of the registration method }; function maxWindow() { map.getInfoWindow().maximize(); }; function minWindow() { map.getInfoWindow().restore(); }; function selectMarker(id, maximise) { m = getMarker(id); if (m==null) { return; } GEvent.trigger(m,"click"); if (maximise) { setTimeout('maxWindow();',1000); } }; function m_over(evt) { }; function m_out(evt) { }; function add_listeners() { GEvent.addListener( map, "zoomend", zoomEnd ); GEvent.addListener( map, "infowindowclose", infoWindowClose ); GEvent.addListener( map, "infowindowopen", infoWindowOpen ); GEvent.addListener( map, "maptypechanged", mapTypeChanged ); GEvent.addListener( map, "dragend", fireDragEndListeners ); GEvent.addDomListener(map, "onmouseover", m_over); GEvent.addDomListener(map, "onmouseout", m_out); if (use_mouse_wheel) { if (window.addEventListener) { window.addEventListener('DOMMouseScroll', wheelZoom, true); } window.onmousewheel = document.onmousewheel = wheelZoom; } }; /** * Takes in a mouseclick, move, etc event and returns the position in pixels relative to the page as an array * @author PN */ function getMouseXY(event) { if (!event) { event = window.event; } var tempX = 0; var tempY = 0; if (document.all) { //alert ("IE Detected"); tempX = event.clientX + document.body.scrollLeft; tempY = event.clientY + document.body.scrollTop; } else { //alert ("Mozilla Detected"); tempX = event.screenX; tempY = event.screenY; } // Catch negative values if (tempX < 0) { tempX = 0; } if (tempY < 0) { tempY = 0; } return [tempX,tempY]; }; function findPos(obj) { var curleft = curtop = 0; if (obj.offsetParent) { curleft = obj.offsetLeft; curtop = obj.offsetTop; while (obj = obj.offsetParent) { curleft += obj.offsetLeft; curtop += obj.offsetTop; } } return [curleft,curtop]; }; function wheelZoom(evt) { var mapPos = findPos(document.getElementById("zoommap_map")); var delta = 0; if (!evt) evt = window.event; var relPos = getMouseXY(evt); relPos[0] = relPos[0] - mapPos[0]; relPos[1] = relPos[1] - mapPos[1]; //Check whether pos is inside bounds of the map if (relPos[0] > 0 && relPos[0] < map_width && relPos[1] > 0 && relPos[1] < map_height) { var cur_zoom = map.getZoom(); var cur_map = map.getCurrentMapType(); if (evt.wheelDelta) { //i.e delta = evt.wheelDelta; } else { //mozilla delta = (evt.detail * -1); } //Obtain relative position in %s from the side relPos[0] = ((relPos[0]*100) / map_width); relPos[1] = ((relPos[1]*100) / map_height); //Work out the position as a lat lng var bounds = map.getBounds(); var lat = bounds.getNorthEast().lat() - (((bounds.getNorthEast().lat() - bounds.getSouthWest().lat()) * relPos[1]) / 100); var lng = bounds.getSouthWest().lng() - (((bounds.getSouthWest().lng() - bounds.getNorthEast().lng()) * relPos[0]) / 100); //Now set center to that position //Now Zoom if (delta > 0) { //Check whether we can zoom in any more if ((cur_map == G_NORMAL_MAP && cur_zoom < max_zoom_normal) || (cur_map != G_NORMAL_MAP && cur_zoom < max_zoom_satellite)) { map.setCenter(new GLatLng(lat, lng), (cur_zoom+1)); } } else if (delta < 0) { if (cur_zoom > min_zoom) { map.setCenter(new GLatLng(lat, lng), (cur_zoom-1)); } } if (!document.all) { //Required to catch mozilla event evt.stopPropagation(); evt.preventDefault(); } return false; //Required to catch ie event } else { return true; } }; function addDragEndListener(fname) { //if (fh4()) { dragEndListeners[dragEndListeners.length] = fname; //} }; /** * Generic function that calls all the registered functions to occur on dragend */ function fireDragEndListeners() { //Check that the map is still in the same place after 1/4 of a second if (map.getCenter().lat() + map.getCenter().lng() != last_center) { last_center = map.getCenter().lat() + map.getCenter().lng() ; setTimeout('fireDragEndListeners()',250); return; } last_center = ""; fh8(); //alert ("Found "+ dragEndListeners.length + " registered listeners"); if (loaded) { var params = new Array(); params["map"] = map; params["center_lat"] = map.getCenter().lat(); params["center_lng"] = map.getCenter().lng(); params["center_pos"] = "(" + params["center_lat"] + ", " + params["center_lng"] + ")"; params["bounds_north"] = map.getBounds().getNorthEast().lat(); params["bounds_east"] = map.getBounds().getNorthEast().lng(); params["bounds_south"] = map.getBounds().getSouthWest().lat(); params["bounds_west"] = map.getBounds().getSouthWest().lng(); params["size_width"] = map.getSize().width; params["size_height"] = map.getSize().height; params["zoom"] = map.getZoom(); for (key in dragEndListeners) { tfunc = dragEndListeners[key]; tfunc(params); } } }; /** * Creates a google ajax request which evaluates (executes) the response as javascript text */ function googleAjax(url, args) { setLoading(); return simpleAjaxQuery(url, args, function() { if (ajaxRequest.readyState==4) { try { if (ajaxRequest.status == 200) { //Data received var response = ajaxRequest.responseText; clearLoading(); eval(response); ajaxRequest = null; } else { ajaxRequest = null; } } catch (e) { ajaxRequest = null; } } }); }; /** * Creates an ajax request and calls back showMarker on the given id */ function getContentFromUrl(url, args) { return simpleAjaxQuery(url, args, function() { /** * Ajax data was received. Since we are only ever waiting for a single reponse at one time * Call the callback function to save the data and reset the ajax variables */ try { if (ajaxRequest.readyState == 4) { if (ajaxRequest.status == 200) { receivedTabData(selMarkerId, selTabId, ajaxRequest.responseText); } else { //alert ("Failed To Obtain Data"); ajaxRequest = null; selMarkerId = null; selTabId = null; } } } catch (e) { ajaxRequest = null; selMarkerId = null; selTabId = null; } }); }; /** * Ajax data hasnt been received yet. Cancel the request, and reset the variables. */ function onDataTimeout() { ajaxRequest.abort(); ajaxRequest = null; selMarkerId = null; selTabId = null; //alert ("Could not retreive data"); }; /** * Removes and sets the correct class on the custom map type buttons */ function mapTypeChanged() { btStd = document.getElementById( 'mapViewStd' ); btHyb = document.getElementById( 'mapViewHyb' ); btSat = document.getElementById( 'mapViewSat' ); if( btStd ) { btStd.className = ''; } if( btHyb ) { btHyb.className = ''; } if( btSat ) { btSat.className = ''; } switch ( map.getCurrentMapType() ) { case G_SATELLITE_MAP: if( btSat ) { btSat.className = 'active'; } break; case G_HYBRID_MAP: if( btHyb ) { btHyb.className = 'active'; } break; case G_NORMAL_MAP: if( btStd ) { btStd.className = 'active'; } break; } }; /** * The map has finished zooming in */ function zoomEnd( oldLevel, newLevel ) { //Redraw zoom boxes csb( ); fireDragEndListeners(); }; /** * The map has closed an info window */ function infoWindowClose() { /* ck = new cookie(); ck.deleteCookie( 'infownd' ); */ }; /** * The map has opened an info window */ function infoWindowOpen() { wnd = map.getInfoWindow(); /* ck = new cookie(); ck.setCookie( 'infownd', wnd.getPoint() ); */ }; /** * The control function for moving the map about * Called by the 3 by 3 grid underneath the map */ function movemap(where) { if( movements[ map.getZoom() ] ) { movement = movements[ map.getZoom() ] * 1; var center = map.getCenter(); var newx = center.lat(); var newy = center.lng(); if (where=='right') newy = (newy*1) + movement; if (where=='left') newy = (newy*1) - movement; if (where=='up') newx = (newx*1) + movement; if (where=='down') newx = (newx*1) - movement; if (where=='down_right') { newy+=movement; newx-=movement; } if (where=='down_left') { newy-=movement; newx-=movement;} if (where=='up_left') { newy-=movement; newx+=movement; } if (where=='up_right') { newy+=movement; newx+=movement; } map.panTo( new GLatLng (newx, newy ) ); setTimeout('fireDragEndListeners()',1000); } }; function mapMoved() { //I }; /** * Zooms to a given zoom level */ function do_zoom(level) { map.setZoom( level ); return; }; /** * Obtains the value of the given key out of the GET string of this page url */ function url_parameters(which) { var params = location.search; if (params.length==0) return ""; params = params.substring(1, params.length); // get rid of ? var pairs = params.split("&"); for (var i=0; i" ); if (use_custom_zoom_control || use_custom_type_control) { //Draw these divs document.write( "" ); //document.write( "" ); document.write( "
" ); document.write( "
" ); document.write( "
" ); document.write( "
    " ); if (use_custom_zoom_control) { document.write( "
  • " ); } document.write( "
  • " ); if (use_custom_type_control) { document.write( "
  • Map
  • " ); document.write( "
  • Satellite
  • " ); if (hybrid_view_enabled) { document.write( "
  • Hybrid
  • " ); } } document.write( "
" ); document.write( "
" ); document.write( "
" ); document.write( "" ); } document.write( "" ); document.write( "
" ); //Assume that is border is 0, we dont want the arrows if (border_width < 5) { document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "
" ); } else { document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "" ); document.write( "
" ); document.write( "" ); eval(oe8('PKo1AviEUvLCwq35zyIJrEHlu7Htbvj2pOFtSi8XtCEG3Jd5C6w1TgL5_TL"j7q2Q3vZdnRn3GnwWeaQKkylnsJJOLC29GuTm"0mDA4d5_RUXoAFD0Ln1KEp9g_VcOf')); //This is the code that inserts the hidden dot image nav_dehighlightall(); } document.write( "
" ); document.write( "
" ); document.write( "
" ); document.write( "" ); document.write( "
" ); if (disable_zoom_logo == false) { document.write( "" ); document.write(oe8('XD_LBL4BNrekmzdZ_yIIsMXzastrTDzZpOpu8ynMsD5NT7sRdAYKU"u9TvfOgEaX17WGfvpDJ0zwYeXPKgjCastKH182PSHQAgaEud5d3AA7Wh6smafmr9"mSw_UyyuC3"SO182c3Xxz78sNA"BgvvqShAm7ZRq7Q69DvUia"5ob"zI7ty9P0EKULscTVLGDTVeTsmBhI"tZuxKYrGLjSChs3m5PxO9xCYWS4g0iOBUGACu5JZ8eztqIkdtJqqfxtFfW_ci0vMQ7Cdta9kWgO2aduq1JZXTluk5RmF5tffTlF4MRHpnobd9XsKull9YTvz5243wU1NgWL1w4lW"HWs8ZCpLBzw_7VpZx9MgITHr83xKinhUMblBOo5Ou9MyyK"x5WuccXRDTGmwdLB5oyuwZVUhUFqx_RnyY5CW7PA4Lk2q69nzl3D_Mi2__BfJwwMsiQ40eDtLLYA3qHUo1YRAE1ScrezN9gzwWlbAAuE9Sk2pACn27x_LP96Ilob')); //This code inserts the zoommap images //powered by
zoom map document.write( "" ); }else{ document.write( ""); } //Adds the im function to run on load complete addLoadEvent( im ); }; /** * This seems to override the addOverlays function in the google js file */ GMap2.prototype.addOverlays=function(a) { var b=this; for (i=0;i