var map;var circleOverlay;var lastPoint;var movingTimer;var movingDirection;var circleQuality=40;var lineColour="#FF3399";var lineWidth=2;var lineOpacity=0.7;var fillColour="#ffffff";var fillOpacity=0.5;var schoolsMarkerManager;function drawCircle(B,K,D,A,M,G,E,O){var I=B.distanceFrom(new GLatLng(B.lat()+0.1,B.lng()))/100;var L=B.distanceFrom(new GLatLng(B.lat(),B.lng()+0.1))/100;var N=[];var F=parseInt((360/D),10)||10;for(var J=0;J<=360;J+=F){var H=new GLatLng(B.lat()+(K/I*Math.cos(J*Math.PI/180)),B.lng()+(K/L*Math.sin(J*Math.PI/180)));N.push(H)}E=E||A||"#0055ff";M=M||2;var C=new GPolygon(N,A,M,G,E,O,{clickable:false});return C}function createSchoolMarkers(){var A=new GIcon();A.image="images/buildingicon.gif";A.iconSize=new GSize(32,32);A.iconAnchor=new GPoint(6,20);A.infoWindowAnchor=new GPoint(5,1);GDownloadUrl("getSchoolsXML.php",function(G){var J=GXml.parse(G);var L=J.documentElement.getElementsByTagName("marker");for(var H=0;H<L.length;H++){var D=L[H].getAttribute("name");var E=L[H].getAttribute("address1");var C=L[H].getAttribute("address2");var B=L[H].getAttribute("address3");var M=L[H].getAttribute("town");var K=L[H].getAttribute("county");var I=L[H].getAttribute("postcode");var N=new GLatLng(parseFloat(L[H].getAttribute("lat")),parseFloat(L[H].getAttribute("lon")));var F=new GMarker(N,{icon:A,title:D+", "+M,clickable:false});schoolsMarkerManager.addMarker(F,8)}})}function drawSchools(A){if(!schoolsMarkerManager){schoolsMarkerManager=new MarkerManager(A);createSchoolMarkers()}schoolsMarkerManager.refresh()}function addCircle(A){lastPoint=A;document.getElementsByName("latPos")[0].value=A.lat().toFixed(6);document.getElementsByName("lonPos")[0].value=A.lng().toFixed(6);map.clearOverlays();var B=document.getElementsByName("range")[0].value;circleOverlay=drawCircle(A,B,circleQuality,lineColour,lineWidth,lineOpacity,fillColour,fillOpacity);map.addOverlay(circleOverlay);drawSchools(map)}var allowedBounds=new GLatLngBounds(new GLatLng(49.5,-10),new GLatLng(59,2.6));function checkBounds(){if(allowedBounds.contains(map.getCenter())){return }var G=map.getCenter();var H=G.lng();var F=G.lat();var B=allowedBounds.getNorthEast().lng();var A=allowedBounds.getNorthEast().lat();var E=allowedBounds.getSouthWest().lng();var D=allowedBounds.getSouthWest().lat();if(H<E){H=E}if(H>B){H=B}if(F<D){F=D}if(F>A){F=A}map.setCenter(new GLatLng(F,H))}function createMap(){if(GBrowserIsCompatible()){map=new GMap2(document.getElementById("searchMap"));var A=map.getMapTypes();for(var B=0;B<A.length;B++){A[B].getMinimumResolution=function(){return 5};A[B].getMaximumResolution=function(){return 15}}map.addControl(new GMapTypeControl());map.setCenter(new GLatLng(54.7,-4.1),5);addCircle(new GLatLng(51.503186,-0.126343));GEvent.addListener(map,"move",function(){checkBounds()});GEvent.addListener(map,"click",function(D,C){addCircle(C)})}}function getCityPoint(B){var A;switch(B){case"London":A=new GLatLng(51.503186,-0.126343);break;case"Brighton":A=new GLatLng(50.823289,-0.136986);break;case"Bournemouth":A=new GLatLng(50.72346,-1.88137);break;case"Southampton":A=new GLatLng(50.912125,-1.411743);break;case"Bath":A=new GLatLng(51.382924,-2.358284);break;case"Bristol":A=new GLatLng(51.453579,-2.5811);break;case"Cardiff":A=new GLatLng(51.47561,-3.180885);break;case"Birmingham":A=new GLatLng(52.48278,-1.896515);break;case"Liverpool":A=new GLatLng(53.407485,-2.986908);break;case"Manchester":A=new GLatLng(53.479465,-2.247391);break;case"Leeds":A=new GLatLng(53.789294,-1.544952);break;case"Glasgow":A=new GLatLng(55.858358,-4.250336);break;case"Edinburgh":A=new GLatLng(55.945355,-3.191528);break;case"Newcastle":A=new GLatLng(54.976826,-1.607437);break;case"Oxford":A=new GLatLng(51.753815,-1.259308);break;case"Cambridge":A=new GLatLng(52.203399,0.129433);break;case"Norwich":A=new GLatLng(52.631396,1.28952);break}return A}function gotoCity(B){var A=getCityPoint(B);map.setCenter(A,8);addCircle(A)}function toggleSchools(){if(document.getElementsByName("showSchools")[0].checked===true){drawSchools(map)}else{addCircle(lastPoint)}}function zoomMap(A){if(A=="in"){map.zoomIn()}else{if(A=="out"){map.zoomOut()}else{map.setCenter(new GLatLng(51.503186,-0.126343),A)}}}function adjustByPixels(I,H,E,B,G){var D=268435456;var F=D/Math.PI;function K(L){return Math.round(D+F*L*Math.PI/180)}function J(L){return Math.round(D-F*Math.log((1+Math.sin(L*Math.PI/180))/(1-Math.sin(L*Math.PI/180)))/2)}function C(L){return((Math.round(L)-D)/F)*180/Math.PI}function A(L){return(Math.PI/2-2*Math.atan(Math.exp((Math.round(L)-D)/F)))*180/Math.PI}return{x:C(K(I)+(E<<(21-G))),y:A(J(H)+(B<<(21-G)))}}function panMap(){var C=6;var B=3;var A;switch(movingDirection){case"up":A=adjustByPixels(map.getCenter().lat(),map.getCenter().lng(),B,0,map.getZoom());break;case"down":A=adjustByPixels(map.getCenter().lat(),map.getCenter().lng(),-B,0,map.getZoom());break;case"left":A=adjustByPixels(map.getCenter().lat(),map.getCenter().lng(),0,C,map.getZoom());break;case"right":A=adjustByPixels(map.getCenter().lat(),map.getCenter().lng(),0,-C,map.getZoom());break}map.panTo(new GLatLng(A.x,A.y))}function startPan(A){movingDirection=A;movingTimer=self.setInterval("panMap()",50)}function stopPan(){clearInterval(movingTimer)}function resetMap(){map.setCenter(new GLatLng(54.7,-4.1),5)}function createSchoolMap(C){if(GBrowserIsCompatible()){map=new GMap2(document.getElementById("schoolMap"));map.addControl(new GSmallMapControl());map.addControl(new GMapTypeControl());map.setCenter(new GLatLng(C.Latitude,C.Longitude),15);var A=new GLatLng(parseFloat(C.Latitude),parseFloat(C.Longitude));var B=new GMarker(A,{title:C.Name+", "+C.Town});map.addOverlay(B)}}function updateMarker(E,C,D,B,A,I,H,G){var F='<span class="bold">'+C+"</span><br />"+D+"<br />";if(B.length>0){F=F+B+"<br />"}if(A.length>0){F=F+A+"<br />"}F=F+I+"<br />"+H+"<br />"+G;GEvent.addListener(E,"click",function(){E.openInfoWindowHtml(F)})};