	function drawGrid(map,func){var tpoint11,tpoint12,tpolyline;var fromN=topLeftN.substr(0,2);var toN=bottomRightN.substr(0,2);for(var N=fromN;N>=toN;N--){gr=OSGridNumberToLatLong(topLeftE,N*10000);tpoint11=new GLatLng(gr.lat,gr.lon);gr=OSGridNumberToLatLong(bottomRightE,N*10000);tpoint12=new GLatLng(gr.lat,gr.lon);tpolyline=new GPolyline([tpoint11,tpoint12],"#FFFFFF",1,1);map.addOverlay(tpolyline);if(func!=null){GEvent.addListener(tpolyline,"click",func)}}var fromE=topLeftE.substr(0,2);var toE=bottomRightE.substr(0,2);for(var E=fromE;E<=toE;E++){gr=OSGridNumberToLatLong(E*10000,topLeftN);tpoint11=new GLatLng(gr.lat,gr.lon);gr=OSGridNumberToLatLong(E*10000,bottomRightN);tpoint12=new GLatLng(gr.lat,gr.lon);tpolyline=new GPolyline([tpoint11,tpoint12],"#FFFFFF",1,1);map.addOverlay(tpolyline);if(func!=null){GEvent.addListener(tpolyline,"click",func)}}}function showBorderOverlay(map,countyBorderOverlay){map.addOverlay(countyBorderOverlay)}function toggleBorderLocation(){if(document.dummyform1.showborder.checked){showBorderOverlay(locationMap,locationCountyBorderOverlay)}else{locationMap.removeOverlay(locationCountyBorderOverlay)}}function toggleBorderSpeciesLoc(){if(document.dummyform2.showborder.checked){showBorderOverlay(speciesLocMap,speciesLocCountyBorderOverlay)}else{speciesLocMap.removeOverlay(speciesLocCountyBorderOverlay)}if(document.dummyform2.showcounts.checked){if(currentLevel>10){speciesLocMap.removeOverlay(icon2kmOverlay)}else{speciesLocMap.removeOverlay(icon10kmOverlay)}toggleCounts()}}function resetCentre(){document.dummyform1.centre.value=siteCentre}function changeCentre(){var centre=document.dummyform1.centre.value.toUpperCase();if(centre.length!=8&&centre.length!=10){alert('The grid reference must be 8 or 10 characters')}else{var gr=OSGridToLatLong(centre);var centrelatlng=new GLatLng(gr.lat,gr.lon);locationMap.setCenter(centrelatlng,currentLevel)}}function showCentre(){var centre=document.dummyform1.centre.value;if(centre.length==8||centre.length==10){var gr=OSGridToLatLong(centre);var centrelatlng=new GLatLng(gr.lat,gr.lon);showGridRef(centrelatlng)}}function showGridRef(latlng){var pOSGB=new LatLon(latlng.lat()-0.0012,latlng.lng()+0.0006);var myHtml="<br />10 metre OS Grid Reference is: "+LatLongToOSGrid(pOSGB)+'<br />'+"100 metre OS Grid Reference is: "+LatLongToOSGrid(pOSGB).substring(0,5)+LatLongToOSGrid(pOSGB).substring(6,9);locationMap.openInfoWindow(latlng,myHtml)}function speciesLocationInit(){document.dummyform2.showborder.checked=true;document.dummyform2.showcounts.checked=true;if(GBrowserIsCompatible()){speciesLocMap=new GMap2(document.getElementById("map_specieslocation"));var gr=OSGridToLatLong(siteCentre);var centrelatlng=new GLatLng(gr.lat,gr.lon);speciesLocMap.setCenter(centrelatlng,siteZoom+1);speciesLocMap.setMapType(G_PHYSICAL_MAP);speciesLocMap.setUIToDefault();var func=function(overlay,latlng){if(latlng){showSpecies(latlng)}};var func1=function(latlng){if(latlng){showSpecies(latlng)}};GEvent.addListener(speciesLocMap,"click",func);GEvent.addListener(speciesLocMap,"zoomend",function(oldlevel,newlevel){currentLevel=newlevel;if(newlevel>10){if(oldlevel<=10){speciesLocMap.removeOverlay(icon10kmOverlay);show2kmOverlay()}}else{if(oldlevel>10){speciesLocMap.removeOverlay(icon2kmOverlay);show10kmOverlay()}}});drawGrid(speciesLocMap,func1);setupSpeciesCountOverlays()}}function show2kmOverlay(){speciesLocMap.addOverlay(icon2kmOverlay)}function show10kmOverlay(){speciesLocMap.addOverlay(icon10kmOverlay)}function toggleCounts(){if(document.dummyform2.showcounts.checked){if(currentLevel>10){show2kmOverlay()}else{show10kmOverlay()}}else{if(currentLevel>10){speciesLocMap.removeOverlay(icon2kmOverlay)}else{speciesLocMap.removeOverlay(icon10kmOverlay)}}}function mapInit(plotOverlay,zoomLevel){if(GBrowserIsCompatible()){normalMap=new GMap2(document.getElementById("map_canvas"));var gr=OSGridToLatLong(siteCentre);var centrelatlng=new GLatLng(gr.lat,gr.lon);normalMap.setCenter(centrelatlng,siteZoom);normalMap.setMapType(G_PHYSICAL_MAP);normalMap.setUIToDefault();drawGrid(normalMap,null);normalCountyBorderOverlay=new GGroundOverlay(plotOverlay,boundaries);showBorderOverlay(normalMap,normalCountyBorderOverlay)}}function loadDetailMarkers(plotXML){var batch=[];var icon1=new GIcon();icon1.image="images/5x5Icon1.png";icon1.iconAnchor=new GPoint(5,5);icon1.infoWindowAnchor=new GPoint(5,0);icon1.iconSize=new GSize(5,5);var icon2=new GIcon();icon2.image="images/5x5Icon2.png";icon2.iconAnchor=new GPoint(5,5);icon2.infoWindowAnchor=new GPoint(5,0);icon2.iconSize=new GSize(5,5);var icon3=new GIcon();icon3.image="images/5x5Icon3.png";icon3.iconAnchor=new GPoint(5,5);icon3.infoWindowAnchor=new GPoint(5,0);icon3.iconSize=new GSize(5,5);var yearCat;var Xpos;var Ypos;var gr;var point;var root=plotXML.getElementsByTagName('root').item(0);for(var iNode=0;iNode<root.childNodes.length;iNode++){yearCat=plotXML.getElementsByTagName("yearcat")[iNode].childNodes[0].nodeValue;Xpos=parseInt(plotXML.getElementsByTagName("Xpos")[iNode].childNodes[0].nodeValue);Ypos=parseInt(plotXML.getElementsByTagName("Ypos")[iNode].childNodes[0].nodeValue);gr=OSGridNumberToLatLong(Xpos,Ypos);point=new GLatLng(gr.lat,gr.lon-0.001);if(yearCat==1){batch.push(new GMarker(point,{icon:icon1}))}else if(yearCat==2){batch.push(new GMarker(point,{icon:icon2}))}else if(yearCat==3){batch.push(new GMarker(point,{icon:icon3}))}}var mgr=new MarkerManager(detailedMap);mgr.addMarkers(batch,3);mgr.refresh()}
