
var gmap_id_debugger="debug";var gmap_id_tileDebugger="tile";var gmap_id_status="status";var gmap_debugger=null;var gmap_tileDebugger=null;var gmap_status=null;function gmap_init_debug(){gmap_debugger=document.getElementById(gmap_id_debugger);if(gmap_enable_debug){gmap_debug_show("DEBUG SETUP COMPLETE",1)}
gmap_status=document.getElementById(gmap_id_status);gmap_status.style.display="block";}
function gmap_debug_show(message,id){var startTag="<p>";var endTag="</p>";switch(id){case 0:startTag="<p class='gmap_debug_error'><strong>ERROR:</strong> ";break;case 1:startTag="<p class='gmap_debug_init'><strong>INIT:</strong> ";break
case 2:startTag="<p class='gmap_debug_event'>EVENT: ";break
case 3:startTag="<p class='gmap_debug_control'>CONTROL: ";break
default:startTag="<p class='gmap_debug'>";break;}
message=startTag+message+endTag;gmap_debugger.innerHTML+=message;}
function gmap_debug_clear(){gmap_debugger.innerHTML="";}
function gmap_init_tileData(){gmap_tileDebugger=document.getElementById(gmap_id_tileDebugger);if(gmap_enable_debug){gmap_debug_show("TILE DEBUG SETUP COMPLETE",1)}}
function gmap_tileDebug_show(message,id){var startTag="<p>";var endTag="</p>";switch(id){case 0:startTag="<p class='gmap_tile_error'><strong>ERROR:</strong> ";break;case 1:startTag="<p class='gmap_tile_display'><strong>TILE SET:</strong> ";break
default:startTag="<p class='gmap_tile'>";break;}
message=startTag+message+endTag;gmap_tileDebugger.innerHTML=message;}
function gmap_tileDebug_clear(){gmap_tileDebugger.innerHTML="";}
function gmap_init_events(){GEvent.addListener(gmap,'load',gmap_ONLOAD);GEvent.addListener(gmap,'movestart',gmap_ONMOVESTART);GEvent.addListener(gmap,'move',gmap_ONMOVE);GEvent.addListener(gmap,'moveend',gmap_ONMOVEEND);GEvent.addListener(gmap,'zoomend',gmap_ONZOOMEND);if(gmap_enable_debug){gmap_debug_show("EVENT SETUP COMPLETE",1)}}
function gmap_ONLOAD(){if(gmap_enable_debug){gmap_debug_show("Setup complete..",2)}}
function gmap_ONMOVESTART(){if(gmap_enable_debug){gmap_debug_show("Started Moving..",2);gmap_getMapMetrics();}}
function gmap_ONMOVE(){}
function gmap_ONMOVEEND(){if(gmap_enable_debug){gmap_debug_show("Finished Moving..",2);gmap_getMapMetrics();}}
function gmap_ONZOOMEND(oldLevel,newLevel){if(gmap_enable_debug){gmap_debug_show("Finished Zooming..",2)}
if(gmap_enable_customControls){gmap_zoomSlider.set(newLevel);}}
var gmap_id_controls="controls";var gmap_id_typeSelector="ctr_mapTypeSelector";var gmap_id_zoomSliderTrack="ctr_slider_track";var gmap_id_zoomSliderHandle="ctr_slider_handle";var gmap_id_zoomOut="ctr_zoom_out";var gmap_id_zoomIn="ctr_zoom_in";var gmap_controls=null;var gmap_typeSelector=null;var gmap_zoomSlider=null;var gmap_zoomOut=null;var gmap_zoomIn=null;function gmap_getBounds(){var bounds=gmap.getBounds();var southWest=bounds.getSouthWest();var northEast=bounds.getNorthEast();var lngDelta=northEast.lng()-southWest.lng();var latDelta=northEast.lat()-southWest.lat();var rectBounds=new GLatLngBounds(new GLatLng(southWest.lat()+latDelta,southWest.lng()+lngDelta),new GLatLng(northEast.lat()-latDelta,northEast.lng()-lngDelta));return rectBounds}
function gmap_setZoom(a){gmap.setZoom(a);if(gmap_enable_debug){gmap_debug_show("Zoom Set : "+gmap.getZoom(),3)}}
function gmap_setZoomIn(a){gmap.setZoom(gmap.getZoom()+a);if(gmap_enable_debug){gmap_debug_show("Zoom Set : "+gmap.getZoom(),3)}}
function gmap_setZoomOut(a){gmap.setZoom(gmap.getZoom()-a);if(gmap_enable_debug){gmap_debug_show("Zoom Set : "+gmap.getZoom(),3)}}
function gmap_setDefaultPosition(){gmap.returnToSavedPosition();if(gmap_enable_debug){gmap_debug_show("Map reset to default position",3)}}
function gmap_setMapType(a){var mapType=null;a=parseFloat(a);switch(a){case 1:mapType=G_NORMAL_MAP;break;case 2:mapType=G_SATELLITE_TYPE;break;case 3:mapType=G_HYBRID_TYPE;break;case 4:var types=gmap.getMapTypes();mapType=types[3];break;default:mapType=G_NORMAL_MAP;break;}
if(gmap_enable_debug){gmap_debug_show("Map Type Set : "+mapType.getName(),3)}
gmap.setMapType(mapType);}
function gmap_move(a){var dir=null;switch(a){case 1:gmap.panDirection(+1,0);break;case 2:gmap.panDirection(+1,+1);break;case 3:gmap.panDirection(0,+1);break;case 4:gmap.panDirection(-1,+1);break;case 5:gmap.panDirection(-1,0);break;case 6:gmap.panDirection(-1,-1);break;case 7:gmap.panDirection(0,-1);break;case 8:gmap.panDirection(+1,-1);break;}
if(gmap_enable_debug){gmap_debug_show("Moved The Map..",3)}}
function gmap_getMapMetrics(){var cPoint=gmap.getCenter();var centreLatLngDisplay="lat : "+cPoint.lat()+" lng : "+cPoint.lng();if(gmap_enable_debug){gmap_debug_show(centreLatLngDisplay,3)}
var bounds=gmap_getBounds();var boundsDisplay="SW : "+bounds.getSouthWest()+" NE : "+bounds.getNorthEast();if(gmap_enable_debug){gmap_debug_show(boundsDisplay,3)}}
function gmap_ONTYPESELECTCHANGE(theElement){document.body.focus();typeId=gmap_typeSelector.value;gmap_setMapType(typeId);}
function gmap_ONZOOMIN(){gmap_setZoomIn(1);}
function gmap_ONZOOMOUT(){gmap_setZoomOut(1);}
function gmap_init_customControls(){gmap_controls=document.getElementById(gmap_id_controls);gmap_controls.style.display="block";gmap_typeSelector=document.getElementById(gmap_id_typeSelector);gmap_typeSelector.onchange=gmap_ONTYPESELECTCHANGE;gmap_zoomSlider=new Slider($(gmap_id_zoomSliderTrack),$(gmap_id_zoomSliderHandle),{onChange:function(pos){gmap_setZoom(pos);},steps:gmap_maxZoom}).set(gmap_initZoom);gmap_zoomIn=document.getElementById(gmap_id_zoomIn);gmap_zoomIn.onclick=gmap_ONZOOMIN;gmap_zoomOut=document.getElementById(gmap_id_zoomOut);gmap_zoomOut.onclick=gmap_ONZOOMOUT;var ctr=document.getElementById("tl");ctr.onclick=function(){gmap_move(2)};var ctr=document.getElementById("t");ctr.onclick=function(){gmap_move(3)};var ctr=document.getElementById("tr");ctr.onclick=function(){gmap_move(4)};var ctr=document.getElementById("ml");ctr.onclick=function(){gmap_move(1)};var ctr=document.getElementById("m");ctr.onclick=function(){gmap_setDefaultPosition()};var ctr=document.getElementById("mr");ctr.onclick=function(){gmap_move(5)};var ctr=document.getElementById("bl");ctr.onclick=function(){gmap_move(8)};var ctr=document.getElementById("b");ctr.onclick=function(){gmap_move(7)};var ctr=document.getElementById("br");ctr.onclick=function(){gmap_move(6)};if(gmap_enable_debug){gmap_debug_show("CUSTOM CONTROL SETUP COMPLETE",1)}}
var gmap=null;function gmap_init(){if(GBrowserIsCompatible()){gmap=new GMap2(document.getElementById(gmap_id_map));gmap.enableDoubleClickZoom();gmap.enableContinuousZoom();gmap.setCenter(new GLatLng(gmap_lat,gmap_lng),gmap_initZoom);gmap.addControl(new GScaleControl());gmap.savePosition();if(gmap_enable_debug){gmap_init_debug();}
if(gmap_enable_events){gmap_init_events();}
if(gmap_enable_customTiles){if(gmap_enable_debug){gmap_init_tileData();}
gmap_init_custom_tiles(gmap_customTileLevels[0],gmap_customTileLevels[1]);}
if(gmap_enable_customControls){gmap_init_customControls();}
if(gmap_enable_debug){gmap_debug_show("MAP SETUP COMPLETE",1)}}else{document.getElementById(mapId).innerHTML='Sorry, your browser is not supported for viewing results on a map.<br /><br />Please use either <a href="http://www.mozilla.com/firefox/" target="_blank">Firefox</a> or <a href="http://www.microsoft.com/windows/ie/ie6/" target="_blank">Internet Explorer</a>.';}}
function onPageLoad(){gmap_init();}
function onPageUnLoad(){GUnload();}
function addLoadEvent(fn){if(!window.loadEvents){window.loadEvents=[];var loadFn=function(){for(var i=0,f;(f=window.loadEvents[i]);i++)f();}
if(window.addEventListener)
window.addEventListener('load',loadFn,false)
else if(window.attachEvent)
window.attachEvent('onload',loadFn);}
window.loadEvents.push(fn);}
function addUnLoadEvent(fn){if(!window.unloadEvents){window.unloadEvents=[];var unloadFn=function(){for(var i=0,f;(f=window.unloadEvents[i]);i++)f();}
if(window.addEventListener)
window.addEventListener('unload',unloadFn,false)
else if(window.attachEvent)
window.attachEvent('onunload',unloadFn);}
window.unloadEvents.push(fn);}
addLoadEvent(onPageLoad);addUnLoadEvent(onPageUnLoad);