function resizeMap(){var windowHeight=document.getElementsByTagName('html')[0].clientHeight;var offset=jQuery("#header").outerHeight();var height=windowHeight- offset-15;if(height>=0){jQuery("#map").height(height);jQuery("#map-article").height(height);checkResize();}}
function checkResize()
{var windowWidth=document.getElementsByTagName('html')[0].clientWidth;jQuery("#map").width(windowWidth- jQuery("#map-article").outerWidth()-24);if(map)
{map.checkResize();}
if(streetview&&panorama){panorama.checkResize();}}
function findWidths(){totwid=jQuery("#info2").width();}
function ShowMeTheMap(mode){if(GBrowserIsCompatible()){var publisher_id="pub-6184784344138109";var opts={googleBarOptions:{style:'new',adsOptions:{client:publisher_id,channel:"7985137346",language:lang}}}
if(streetview){if(jQuery("#sidemap").length==0){mapdiv=jQuery('<div></div>').attr('id','sidemap');if(jQuery("#info5").length!=0){jQuery("#info5").html(mapdiv);}
else{jQuery("#info4").html(mapdiv);}}
mapdiv=document.getElementById("sidemap");map=new GMap2(mapdiv,{backgroundColor:"#FFFFFF"});jQuery("body").addClass("streetview");}
else
{mapdiv=document.getElementById("map");map=new GMap2(mapdiv,opts);}
if(!streetview)
{var adsManagerOptions={maxAdsOnMap:2,style:'adunit',channel:'9675970646'};adsManager=new GAdsManager(map,publisher_id,adsManagerOptions);adsManager.enable();map.enableGoogleBar();}
botRight=new GControlPosition(G_ANCHOR_BOTTOM_RIGHT,new GSize(7,17));if(lat.length>0)
center=new GLatLng(lat,lng);latest=false;if(center)
{if(spn&&!streetview)
{var myllatlng=llatlng.split(",");var myrlatlng=rlatlng.split(",");if(myllatlng.length==2&&myrlatlng.length==2)
{var a=new GLatLng(myllatlng[0],myllatlng[1]);var b=new GLatLng(myrlatlng[0],myrlatlng[1]);var tempbounds=new GLatLngBounds(a,b);map.setCenter(center,map.getBoundsZoomLevel(tempbounds),eval(maptype));}}
else
{map.setCenter(center,z,eval(maptype));}}
else
{center=new GLatLng(46.073231,-39.023437);map.setCenter(center,z,eval(maptype));jQuery("select#tag").val("-1");jQuery("select#tag").change();}
if(geocoder)
{doGeocode();}
if(kmlolay){var kml=new GGeoXml(kmlolay);map.addOverlay(kml);map.setCenter(kml.getDefaultCenter());kml.gotoDefaultViewport(map);}
botRight=new GControlPosition(G_ANCHOR_BOTTOM_RIGHT,new GSize(7,17));if(streetview)
{map.setMapType(G_HYBRID_MAP);map.addControl(new GSmallZoomControl3D());map.addControl(new GMenuMapTypeControl());}
else
{map.addMapType(G_SATELLITE_3D_MAP);map.addControl(new GLargeMapControl3D());map.addControl(new StreetViewControl());map.addControl(new GHierarchicalMapTypeControl());var pos=new GControlPosition(G_ANCHOR_BOTTOM_LEFT,new GSize(14,50));map.addControl(new GScaleControl(),pos);}
new GKeyboardHandler(map);map.enableDoubleClickZoom();map.enableContinuousZoom();map.enableScrollWheelZoom();activateSVOverlay();if(streetview)
doStreetView();}
else
{jQuery("#info2").html("<h1>Sorry, your browser is not compatible with Google Maps</h2>");}}
function doGeocode()
{var latlng=map.getCenter();gc=new GClientGeocoder();gc.getLocations(latlng,function(addresses){if(addresses.Status.code!=200){alert("reverse geocoder failed to find an address for "+ latlng.toUrlValue());}
else{address=addresses.Placemark[0];var myHtml=address.address;map.openInfoWindow(latlng,myHtml);}});}
var newkml;function gsskmlfile(id)
{if(id>0||id==-1)
{if(newkml)
map.removeOverlay(newkml);if(id==-1)
kmlfile=kmllatest;else
kmlfile=kmlfile+ id;jQuery("#spinner").show();newkml=new GGeoXml(kmlfile,function(){map.addOverlay(newkml);map.setCenter(newkml.getDefaultCenter());newkml.gotoDefaultViewport(map);jQuery("#spinner").hide();});}}
function infoshown(){jQuery("#opclose").click(function(){jQuery("#opclose").unbind('click');jQuery("#map").animate({marginLeft:'11px'});checkResize();jQuery("#info").animate({width:'10px'},'normal',null,function(){jQuery("#opclose").addClass("closed");infohidden();checkResize();});});}
function infohidden(){jQuery("#opclose").click(function(){jQuery("#opclose").unbind('click');jQuery("#map").animate({marginLeft:(totwid+ 11)});checkResize();jQuery("#info").animate({width:(totwid+ 11)},'normal',null,function(){jQuery("#opclose").removeClass("closed");infoshown();checkResize();});});}
function getURL()
{var latlng=map.getCenter().toUrlValue();var url=base+"p=&c=&t="+ map.getCurrentMapType().getUrlArg()+"&hl="+ hl+"&ll="+ latlng+"&z="+ map.getZoom();if(panorama)
{pov=panorama.getPOV();url+="&layer=c&cbll="+ marker.getLatLng().toUrlValue()+"&cbp="+ svarrangement+","+ pov.yaw+","+ svtilt+","+ pov.zoom+","+ pov.pitch;}
url+=kmlextra;return url;}
function centreDialog(){url=getURL();jQuery("#linkthis").attr("value",url);jQuery("#linkthis").fadeIn("normal",function(){jQuery("#linkthis").focus();jQuery("#linkthis").select();jQuery("#linkthis").blur(function(){jQuery("#linkthis").fadeOut();});});}
function toggleLatest(){if(!latest){var kml=new GGeoXml("http://www.googlesightseeing.com/layer/ggss-latest.kmz");map.addOverlay(kml);latest=true;}}
function suggestSight(){url=getURL();location.href=suggest_url+ escape(url);}
function doStreetView()
{svclient=new GStreetviewClient();if(cblat&&cblng){latlng=new GLatLng(cblat,cblng);streetViewGuy(latlng);setupPanoArea();}
else if(map){latlng=map.getCenter();setupPanoArea();svclient.getNearestPanorama(map.getCenter(),onResponse);}}
function streetViewGuy(latlng)
{if(marker)
marker.setLatLng(latlng);else{var guyIcon=new GIcon(G_DEFAULT_ICON);guyIcon.image="http://maps.gstatic.com/intl/en_ALL/mapfiles/cb/man_arrow-0.png";guyIcon.shadow='http://maps.gstatic.com/intl/en_ALL/mapfiles/cb/man-pick.png'
guyIcon.transparent="http://maps.gstatic.com/intl/en_ALL/mapfiles/cb/man-pick.png";guyIcon.imageMap=[26,13,30,14,32,28,27,28,28,36,18,35,18,27,16,26,16,20,16,14,19,13,22,8];guyIcon.iconSize=new GSize(49,52);guyIcon.iconAnchor=new GPoint(25,35);guyIcon.infoWindowAnchor=new GPoint(25,5);marker=new GMarker(latlng,{icon:guyIcon,draggable:true});map.addOverlay(marker);lastMarkerLocation=latlng;GEvent.addListener(marker,"dragend",onDragEnd);}}
function ShowMeTheStreetView(){streetview=1;z=map.getZoom();center=map.getCenter();lat=center.lat();lng=center.lng();ShowMeTheMap();}
function activateSVOverlay(){overlayInstance=new GStreetviewOverlay();if(svButton)
GEvent.addListener(overlayInstance,"changed",function(hasSVInView){if(hasSVInView){svButton.style.visibility='visible';}else{svButton.style.visibility='hidden';}});map.addOverlay(overlayInstance);toggleOverlay();}
function toggleOverlay(force){if(overlayInstance.isHidden()||streetview||force)
{myClickListener=GEvent.addListener(map,"click",function(overlay,latlng){svclient.getNearestPanorama(latlng,onResponse);});}
else{overlayInstance.hide();if(marker)
map.removeOverlay(marker);if(myClickListener)
GEvent.removeListener(myClickListener);}}
function onSVInit(loc){messageNode.remove();}
function setupPanoArea()
{contentNode=jQuery("<div></div>").css("width","100%").css("height","100%").attr('id','contentNode');messageNode=jQuery("<div></div>").css("padding-top","200px").attr('id','messageNode');contentNode.html(messageNode);myPOV={yaw:svyaw,pitch:svpitch,zoom:svzoom};panorama=new GStreetviewPanorama(jQuery("#map").get(0),{latlng:latlng,pov:myPOV});GEvent.addListener(panorama,"error",function(errorCode){if(errorCode==FLASH_UNAVAILABLE){messageNode.html('To use Street view you need <a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" target="_blank">Flash Player</a> version 9 or newer.');contentNode.html(messageNode);jQuery("#map").html(contentNode);}
else
{messageNode.html('Click on a blue-highlighted street to activate Street View.');contentNode.html(messageNode);jQuery("#map").html(contentNode);}});GEvent.addListener(panorama,"initialized",onNewLocation);GEvent.addListener(panorama,"yawchanged",onYawChange);GEvent.addListener(panorama,"initialized",onSVInit);}
function openNewPano(location)
{panorama.setLocationAndPOV(location.latlng,location.pov);}
function onYawChange(newYaw){var GUY_NUM_ICONS=16;var GUY_ANGULAR_RES=360/GUY_NUM_ICONS;if(newYaw<0){newYaw+=360;}
guyImageNum=Math.round(newYaw/GUY_ANGULAR_RES)%GUY_NUM_ICONS;guyImageUrl="http://maps.gstatic.com/intl/en_ALL/mapfiles/cb/man_arrow-"+ guyImageNum+".png";marker.setImage(guyImageUrl);}
var lastPoint;function onNewLocation(a){streetViewGuy(a.latlng);}
function onDragEnd(){var latlng=marker.getLatLng();if(panorama){svclient.getNearestPanorama(latlng,onResponse);}}
function onResponse(response){if(response.code!=200){if(lastMarkerLocation)
{streetViewGuy(lastMarkerLocation);}
else
{messageNode.html('Click on a blue-highlighted street to activate Street View.');contentNode.html(messageNode);jQuery("#map").html(contentNode);}}else{jQuery("#contentNode").remove();var latlng=new GLatLng(response.Location.lat,response.Location.lng);streetViewGuy(latlng);lastMarkerLocation=latlng;openNewPano(response.Location);}}
function StreetViewControl(){}
jQuery('#map').bind("loadmap",function()
{findWidths();infoshown();jQuery("select#tag").change(function(){var id=parseInt(this.value);gsskmlfile(id);});resizeMap();ShowMeTheMap();StreetViewControl.prototype=new GControl();StreetViewControl.prototype.initialize=function(map){svButton=document.createElement("div");svButton.setAttribute("class","buttonWrapper");svButton.setAttribute("className","buttonWrapper");var innerDiv=document.createElement('div');innerDiv.setAttribute("class","buttonInner");innerDiv.setAttribute("className","buttonInner");innerDiv.innerHTML='Street View';svButton.appendChild(innerDiv);GEvent.addDomListener(svButton,"click",function(){ShowMeTheStreetView();});map.getContainer().appendChild(svButton);svButton.innerHTML+="";return svButton;}
StreetViewControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(214,7));}
$(this).empty().removeClass("mapready").addClass("maploaded");}).bind("unloadmap",function()
{$(this).empty().removeClass("maploaded").addClass("mapready");});jQuery(window).resize(function(){resizeMap();});
