// Version: 1.07 22/05/08# //dwww: ABQIAAAA6f_8TcfJDKoFOmVnMGXTYhT1i5sibzayzkAtLP9Qtm5ktJknXBQfZ4IXXDXxH54s5KkjJHP0TcwiGg //edwww: ABQIAAAA6f_8TcfJDKoFOmVnMGXTYhS2yuepiIS5uPik8rCPAIzN9fT1ohR4Np4BTH2o7mnRjeI98CE07PScog var sitepath = "http://dwww.cancerresearchuk.org/breastcancer/"; var errMsgFull = "

Sorry, no results were found matching your search, please try again

"; var errMsgInvalid = "

Sorry, no results were found matching your search, please try again

"; var localSearch = new GlocalSearch(); var myXML, myVenues , myGeoUpdateAll; var map; var gmarkers = []; var toDirHtml = []; var fromDirHtml = []; var venuePostcodes = []; var nearbyHtml = []; var defHtml = []; var venueHtml = []; var iCurrentMarker = 0; var venueMarkerManager; var regionMarkerManager; function initBCAMVenueMap(geoLat,geoLng,simpleVenueName,venueName,address,venuePostcode,venueThumb) { map = new GMap2(document.getElementById("map_canvas")); var center = new GLatLng(geoLat,geoLng); map.setCenter(center, 13); var blueIcon = new GIcon(G_DEFAULT_ICON); blueIcon.image = sitepath + "images/pf/mapmarkericon.png"; blueIcon.iconSize = new GSize(35, 35); blueIcon.shadow = sitepath + "images/pf/mapmarkericon_shadow.png"; blueIcon.shadowSize = new GSize(53.0, 35.0); blueIcon.imageMap = [0,0, 34,0, 34,34, 0,34]; markerOptions = { icon:blueIcon }; map.addMapType(G_PHYSICAL_MAP); map.setMapType(G_NORMAL_MAP); map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); var myVenueUrl ="/10k/choose-your-event/" + simpleVenueName + "/"; var pt = new GLatLng(geoLat,geoLng); var myMarker = new GMarker(pt,markerOptions); toDirHtml[iCurrentMarker] = "Directions: To here - "; toDirHtml[iCurrentMarker] += "From here"; toDirHtml[iCurrentMarker] += "
Search Nearby"; toDirHtml[iCurrentMarker] += "

Start address:
"; toDirHtml[iCurrentMarker] += ""; toDirHtml[iCurrentMarker] += "
"; toDirHtml[iCurrentMarker] += ""; toDirHtml[iCurrentMarker] += " << Back"; fromDirHtml[iCurrentMarker] = "Directions: To here - "; fromDirHtml[iCurrentMarker] += "From here"; fromDirHtml[iCurrentMarker] += "
Search Nearby"; fromDirHtml[iCurrentMarker] += "

End address:"; fromDirHtml[iCurrentMarker] += ""; fromDirHtml[iCurrentMarker] += "
"; fromDirHtml[iCurrentMarker] += ""; fromDirHtml[iCurrentMarker] += " << Back"; nearbyHtml[iCurrentMarker] = "Directions: To here - "; nearbyHtml[iCurrentMarker] += "From here"; nearbyHtml[iCurrentMarker] += "

Search nearby:
"; nearbyHtml[iCurrentMarker] += ""; nearbyHtml[iCurrentMarker] += ""; nearbyHtml[iCurrentMarker] += "
"; nearbyHtml[iCurrentMarker] += ""; nearbyHtml[iCurrentMarker] += " << Back"; var venueHtml = "
" + venueName + "
"; venueHtml += address; // venueHtml += ""; venueHtml += "
"; defHtml[iCurrentMarker] = venueHtml; venueHtml += "
Directions: To here - "; venueHtml += "From here
"; venueHtml += "Search Nearby"; venueHtml[iCurrentMarker] = venueHtml; myMarker.value = venueHtml; gmarkers[iCurrentMarker] = myMarker; GEvent.addListener(myMarker,"click", function() { map.openInfoWindowHtml(pt,venueHtml); }); venueMarkerManager = new GMarkerManager(map, { trackMarkers: true } ); venueMarkerManager.addMarker(myMarker,5,15); venueMarkerManager.refresh(); //map.addOverlay(myMarker); } function init10kRegionMap(xmlUrl) { iCurrentMarker = 0; map = new GMap2(document.getElementById("map_canvas")); if (document.getElementById("pagename").value == "South East England") { var center = new GLatLng(51.2894, 0.16479); map.setCenter(center, 7); }else if (document.getElementById("pagename").value == "Wales") { var center = new GLatLng(52.46270,-3.88916); map.setCenter(center, 7); }else if (document.getElementById("pagename").value == "South West England") { var center = new GLatLng(51.02757,-3.37280); map.setCenter(center, 7); }else if (document.getElementById("pagename").value == "The Midlands") { var center = new GLatLng(52.51622,-1.21948); map.setCenter(center, 7); }else if (document.getElementById("pagename").value == "North England") { var center = new GLatLng(54.59116,-2.15332); map.setCenter(center, 7); }else if (document.getElementById("pagename").value == "Scotland") { var center = new GLatLng(56.96893,-4.41650); map.setCenter(center, 6); }else if (document.getElementById("pagename").value == "Northern Ireland") { var center = new GLatLng(54.64205,-6.86645); map.setCenter(center, 7); }else if (document.getElementById("pagename").value == "East Anglia") { var center = new GLatLng(52.54295,0.54931); map.setCenter(center, 7); } map.addMapType(G_PHYSICAL_MAP); map.setMapType(G_PHYSICAL_MAP); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); //map.enableScrollWheelZoom(); regionMarkerManager = new GMarkerManager(map, { trackMarkers: true } ); add10kMarkers(xmlUrl); regionMarkerManager.refresh(); /*GEvent.addListener(map, "moveend", function() { var center = map.getCenter(); document.getElementById("message").innerHTML = "Center: " + center.toString() + " Zooom: " + map.getZoom(); }); GEvent.addListener(map, "zoomend", function() { var center = map.getCenter(); document.getElementById("message").innerHTML = "Center: " + center.toString() + " Zooom: " + map.getZoom(); });*/ } function getHTTPObject() { var xmlhttp; if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } return xmlhttp; } var http = getHTTPObject(); function geoRefresh(venuesXml, updateAll) { myGeoUpdateAll = updateAll; http.open('GET',venuesXml,false); http.setRequestHeader('content-type','text/xml'); http.onreadystatechange = geoRefreshPart2; http.send(null); } function geoRefreshPart2() { if (http.readyState == 4) { document.getElementById('geostart').visible = false; myXML = http.responseXML; myVenues = myXML.getElementsByTagName("venue"); document.getElementById("geooutput").innerHTML = "
"; for(var counter=1;counter"; } ln = getXmlValue("adr2",xmlIndex); if (ln != "") { myAdr += ln + "
"; } ln = getXmlValue("adr3",xmlIndex); if (ln != "") { myAdr += ln + "
"; } ln = getXmlValue("city",xmlIndex); if (ln != "") { myAdr += ln + "
"; } ln = getXmlValue("postcode",xmlIndex); if (ln != "") { myAdr += ln + "
"; } var myVenueUrl = getXmlValue("url",xmlIndex); var myMarker = new GMarker(pt,markerOptions); var venuePostcode = getXmlValue("postcode",xmlIndex); toDirHtml[iCurrentMarker] = "Directions: To here - "; toDirHtml[iCurrentMarker] += "From here"; // toDirHtml[iCurrentMarker] += "
Search Nearby"; toDirHtml[iCurrentMarker] += "

Start address:"; toDirHtml[iCurrentMarker] += ""; toDirHtml[iCurrentMarker] += "
"; toDirHtml[iCurrentMarker] += ""; toDirHtml[iCurrentMarker] += " << Back"; fromDirHtml[iCurrentMarker] = "Directions: To here - "; fromDirHtml[iCurrentMarker] += "From here"; // fromDirHtml[iCurrentMarker] += "
Search Nearby"; fromDirHtml[iCurrentMarker] += "

End address:"; fromDirHtml[iCurrentMarker] += ""; fromDirHtml[iCurrentMarker] += "
"; fromDirHtml[iCurrentMarker] += ""; fromDirHtml[iCurrentMarker] += " << Back"; nearbyHtml[iCurrentMarker] = "Directions: To here - "; nearbyHtml[iCurrentMarker] += "From here"; // nearbyHtml[iCurrentMarker] += "

Search nearby:
"; // nearbyHtml[iCurrentMarker] += ""; // nearbyHtml[iCurrentMarker] += ""; // nearbyHtml[iCurrentMarker] += "
"; // nearbyHtml[iCurrentMarker] += ""; // nearbyHtml[iCurrentMarker] += " << Back"; var venueUrl = myVenueUrl.substring(0,myVenueUrl.indexOf("?view=geoupdate")); var venueHtml = "" if ( getXmlValue("multivenuename",xmlIndex) != '' ) { venueHtml = "" + getXmlValue("venueid",xmlIndex) + "
"; }else{ venueHtml = "" + getXmlValue("venueid",xmlIndex) + "
"; } venueHtml += ""; venueHtml += "
"+myAdr+"
"; if ( getXmlValue("multivenuename",xmlIndex) != '' ) { venueHtml += "Click here for event details
"; }else{ venueHtml += "
Click here for event details
"; } defHtml[iCurrentMarker] = venueHtml; venueHtml += "
Directions: To here - "; venueHtml += "From here
"; // venueHtml += "Search Nearby"; venueHtml[iCurrentMarker] = venueHtml; myMarker.value = venueHtml; gmarkers[iCurrentMarker] = myMarker; GEvent.addListener(myMarker,"click", function() { map.openInfoWindowHtml(pt,venueHtml); }); iCurrentMarker++; return myMarker; } function venueInfoWindow(i) { gmarkers[i].openInfoWindowHtml(gmarkers[i].value); } function directionsToHere(i) { gmarkers[i].openInfoWindowHtml(defHtml[i] + "
" + toDirHtml[i]); } function directionsFromHere(i) { gmarkers[i].openInfoWindowHtml(defHtml[i] + "
" + fromDirHtml[i]); } function getDirections(i) { var saddr = document.getElementById("saddr").value; var daddr = document.getElementById("daddr").value; var url = "http://maps.google.com/maps?saddr=" + saddr + "&daddr=" + daddr; openWindow(url); } function searchNearby(i) { gmarkers[i].openInfoWindowHtml(defHtml[i] + "
" + nearbyHtml[i]); } function execSearchNearby() { var nearby = document.getElementById("nearby").value; var nearbypostcode = document.getElementById("nearbypostcode").value; var url = "http://www.google.com/maps?near=" + nearbypostcode + "&geocode=&q=" + nearby; //+ "&f=l&ie=UTF8&t=p&z=14"; openWindow(url); } function openWindow(url) { window.open(url,'','scrollbars=yes,menubar=yes,height=600,width=800,resizable=yes,toolbar=yes,location=yes,status=yes'); } function add10kMarkers2() { if (http.readyState == 4 || http.readyState == 200 ) { //alert(http.responseXML); myXML = http.responseXML; myVenues = myXML.getElementsByTagName("venue"); for(var counter=0;counter"; } function getXmlValue(fieldName,indx) { try { var myVal = myVenues[indx].getElementsByTagName(fieldName)[0].firstChild.nodeValue; if (myVal != "") { return myVal; }else{ return ""; } } catch(e) { return ""; } } function hasNumbers(t) { return /\d/.test(t); } function getPointFromPostcode(postcode) { var instLocalSearch = new GlocalSearch(); instLocalSearch.setSearchCompleteCallback(null, function() { if (instLocalSearch.results[0]) { var resultLat = instLocalSearch.results[0].lat; var resultLng = instLocalSearch.results[0].lng; var point = new GLatLng(resultLat,resultLng); sendPoint(point); }else{ document.getElementById("errmsg").innerHTML = errMsgInvalid; return false; } }); instLocalSearch.execute(postcode + ", UK"); } function sendPoint(point) { if (point != null) { document.getElementById("ptX").value = point.x; //Longitude: Points on the X axis document.getElementById("ptY").value = point.y; //Latitude: Points on the Y axis if (point.x == 0 && point.y == 0) { document.getElementById("errmsg").innerHTML = errMsgInvalid; return false; }else{ document.venueFind.action = '/breastcancer/events/?view=Search results'; document.venueFind.submit(); } }else{ document.getElementById("errmsg").innerHTML = errMsgInvalid; return false; } } function goPostcode() { if (document.getElementById("postcode").value == null) { document.getElementById("errmsg").innerHTML = errMsgFull; return false; }else if (document.getElementById("postcode").value == "") { document.getElementById("errmsg").innerHTML = errMsgFull; return false; }else if (hasNumbers(document.getElementById("postcode").value) == false) { document.getElementById("errmsg").innerHTML = errMsgFull; return false; }else{ var trimmedPostCode = document.getElementById("postcode").value.replace(/^\s+|\s+$/g, ''); if (trimmedPostCode == "") { document.getElementById("errmsg").innerHTML = errMsgFull; return false; }else{ getPointFromPostcode(document.getElementById("postcode").value); } } return false; } /* This is the end of Google Maps Js File */