//<![CDATA[

var gmarkers = [];
var htmls = [];
var i = 0;
var map;
var geocoder = null;
var homeIcon = new GIcon();
var redIcon = new GIcon();
var greenIcon = new GIcon();
var blueIcon = new GIcon();
//var purpleIcon = new GIcon();
var currentMarker;
var currentID;
var highlightCircle;
var pc = null;
var red;
var purple;
var blue;
var green;
var timer = 0;
var homeMarker;
var siteDetails = null;
var circle;
var cColor = "";
var summary;

homeIcon.shadow = "assets/flag.shadow.png";
homeIcon.iconSize = new GSize(32, 32);
homeIcon.shadowSize = new GSize(59, 22);
homeIcon.iconAnchor = new GPoint(9, 22);
homeIcon.infoWindowAnchor = new GPoint(9, 2);
homeIcon.infoShadowAnchor = new GPoint(18, 20);
homeIcon.image = "assets/flag.png";
//homeIcon.printImage = "images/flag.gif";
homeIcon.mozPrintImage = "images/mozflag.gif";

redIcon.shadow = "images/shadow-colourS.png";
redIcon.iconSize = new GSize(15, 26);
redIcon.shadowSize = new GSize(29, 26);
redIcon.iconAnchor = new GPoint(7, 25);
redIcon.infoWindowAnchor = new GPoint(9, 2);
redIcon.infoShadowAnchor = new GPoint(18, 25);
redIcon.image = "images/colour001S.png";
//redIcon.printImage = "images/colour001S.gif";
redIcon.mozPrintImage = "images/mozcolour001S.gif";

greenIcon.shadow = "images/shadow-colourS.png";
greenIcon.iconSize = new GSize(15, 26);
greenIcon.shadowSize = new GSize(29, 26);
greenIcon.iconAnchor = new GPoint(7, 25);
greenIcon.infoWindowAnchor = new GPoint(9, 2);
greenIcon.infoShadowAnchor = new GPoint(18, 25);
greenIcon.image = "images/colour008.png";
//greenIcon.printImage = "images/colour008S.gif";
greenIcon.mozPrintImage = "images/mozcolour008S.gif";

blueIcon.shadow = "images/shadow-colourS.png";
blueIcon.iconSize = new GSize(15, 26);
blueIcon.shadowSize = new GSize(29, 26);
blueIcon.iconAnchor = new GPoint(7, 25);
blueIcon.infoWindowAnchor = new GPoint(9, 2);
blueIcon.infoShadowAnchor = new GPoint(18, 25);
blueIcon.image = "images/colour004S.png";
//blueIcon.printImage = "images/colour004S.gif";
blueIcon.mozPrintImage = "images/mozcolour004S.gif";

//purpleIcon.shadow = "images/shadow-colourS.png";
//purpleIcon.iconSize = new GSize(15, 26);
//purpleIcon.shadowSize = new GSize(29, 26);
//purpleIcon.iconAnchor = new GPoint(7, 25);
//purpleIcon.infoWindowAnchor = new GPoint(9, 2);
//purpleIcon.infoShadowAnchor = new GPoint(18, 25);
//purpleIcon.image = "images/colour002S.png";
////purpleIcon.printImage = "images/colour002S.gif";
//purpleIcon.mozPrintImage = "images/mozcolour002S.gif";

function forEachIn(object, action) {
  for (var property in object) {
    if (Object.prototype.hasOwnProperty.call(object, property))
      action(property, object[property]);
  }
}

function ADictionary(startValues) {
  this.values = startValues || {};
}
ADictionary.prototype.store = function(name, value) {
  this.values[name] = value;
};
ADictionary.prototype.lookup = function(name) {
  return this.values[name];
};
ADictionary.prototype.contains = function(name) {
  return Object.prototype.hasOwnProperty.call(this.values, name) &&
    Object.prototype.propertyIsEnumerable.call(this.values, name);
};
ADictionary.prototype.each = function(action) {
  forEachIn(this.values, action);
};

function onloadDetailsSection() {
	clearTimeout(timer);
	timer=setTimeout("loadDetailsSection()",1000);
}

function onRefreshHandler() {

	clearTimeout(timer);
	timer=setTimeout("refreshMap()",1000);

}

function onPrintImageHandler() {

	clearTimeout(timer);
	timer=setTimeout("loadPrintImage()",500);

}

function loadPrintImage() {
	//document.getElementById("mapimage").src = 'http://localhost/GoogleMap1/MapOnlyCropTest.aspx?width=175&height=175&xoffset=0&yoffset=0&format=jpg&url=' + encodeURIComponent('http://www.web-screenshots.com/get.php?uid=10&t=jpg&cache=0&size=610x460&q=75&lw=2&to=10&url=76.203.175.80/GoogleMap1/report_maponly.aspx?ReportID=D4C7C821-B992-BC8C-4838-FE4DE7EDEB39');
}
function highlightCurrentMarker(){
	var markerPoint = currentMarker.getPoint();

	var polyPoints = Array();
	if (highlightCircle) {
		map.removeOverlay(highlightCircle);
	}

	var mapNormalProj = G_NORMAL_MAP.getProjection();
	var mapZoom = map.getZoom();
	var clickedPixel = mapNormalProj.fromLatLngToPixel(markerPoint, mapZoom);

	var polySmallRadius = 10;

	var polyNumSides = 20;
	var polySideLength = 18;

	for (var a = 0; a<(polyNumSides+1); a++) {
		var aRad = polySideLength*a*(Math.PI/180);
		var polyRadius = polySmallRadius; 
		var pixelX = clickedPixel.x + polyRadius * Math.cos(aRad);
		var pixelY = clickedPixel.y + polyRadius * Math.sin(aRad);
		var polyPixel = new GPoint(pixelX,pixelY);
		var polyPoint = mapNormalProj.fromPixelToLatLng(polyPixel,mapZoom);
		polyPoints.push(polyPoint);
	}
	// Using GPolygon(points,  strokeColor?,  strokeWeight?,  strokeOpacity?,  fillColor?,  fillOpacity?)
	highlightCircle = new GPolygon(polyPoints,"#000000",2,0.0,"#FF0000",.5);
	map.addOverlay(highlightCircle);
}

function subGPoints(a,b) {
        return new GPoint(a.x-b.x, a.y-b.y);
      }      

function getSiteTypeDesc(siteType) {
	var rv = "";
	switch(siteType.toUpperCase()) {
		case "GENERATOR": 
			rv="<p class='green'>Hazardous Waste Generator <a href='javascript:go_anchor(\"faq_content\", \"gen\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "DEFENSE": 
			rv="<p class='red'>Formerly Used Defense Site <a href='javascript:go_anchor(\"faq_content\", \"defense\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "ERNS":
			rv="<p class='green'>Emergency Response Notification Site <a href='javascript:go_anchor(\"faq_content\", \"erns\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "LUST":
			rv="<p class='blue'>Leaking Underground Storage Tank <a href='javascript:go_anchor(\"faq_content\", \"lust\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "AST":
			rv="<p class='green'>Above Ground Tank <a href='javascript:go_anchor(\"faq_content\", \"ust\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "BROWN":
			rv="<p class='red'>Brownfield Site <a href='javascript:go_anchor(\"faq_content\", \"brown\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "CERCLIS":
			rv="<p class='blue'>Superfund Database <a href='javascript:go_anchor(\"faq_content\", \"npl\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "CONTROLS":
			rv="<p class='blue'>Engineering and Institutional Controls <a href='javascript:go_anchor(\"faq_content\", \"eng\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "CORRACTS":
			rv="<p class='red'>Corrective Actions Suggested or Performed <a href='javascript:go_anchor(\"faq_content\", \"gen\");'><img class='qmark' class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "DEED":
			rv="<p class='red'>Deed Restrictions <a href='javascript:go_anchor(\"faq_content\", \"deed\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "EMISSIONS":
			rv="<p class='green'>Low Volume Air Emissions <a href='javascript:go_anchor(\"faq_content\", \"air\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "HAZMAT":
			rv="<p class='green'>Hazardous Materials Data <a href='javascript:go_anchor(\"faq_content\", \"hazmat\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "HAZNET":
			rv="<p class='green'>Hazardouse Materials Transporters <a href='javascript:go_anchor(\"faq_content\", \"haznet\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "NPL":
			rv="<p class='red'>National Priority List <a href='javascript:go_anchor(\"faq_content\", \"npl\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "SLIC":
			rv="<p class='red'>Spill, Leak, Investigation or Cleanup <a href='javascript:go_anchor(\"faq_content\", \"slic\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "SWIS":
			rv="<p class='blue'>Solid Waste Landfill <a href='javascript:go_anchor(\"faq_content\", \"landfill\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "TSD":
			rv="<p class='red'>Treatment, Storage or Disposal <a href='javascript:go_anchor(\"faq_content\", \"gen\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "UST":
			rv="<p class='green'>Underground Storage Tank <a href='javascript:go_anchor(\"faq_content\", \"ust\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "WELLS":
			rv="<p class='green'>Water Well <a href=''><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
		case "SWLF":
			rv="<p class='blue'>Solid Waste Landfill <a href='javascript:go_anchor(\"faq_content\", \"landfill\");'><img class='qmark' src='assets/qmark2.jpg' border=0></a></p>";
			break;
	}
	
	return rv;

}

function storeSummary(distance, listType) {

	var distType;
	var count;
	
	if (distance <= .125) {distType="8";}
	if (distance > .125 && distance <=.25) {distType="4";}
	if (distance > .25 && distance <=.5) {distType="2";}
	count = summary.lookup(listType + "_" + distType);
	if (count) {
		count += 1;
	} else {
		count = 1;
	}
	summary.store(listType + "_" + distType, count);

}

function makeDetail(address, statuses,  sitetypes, sitenames, order, detailType, distance) {
		var headsection = "<H2>xyzzy</H2>";
		var contentsection = "xyzzy";
		//var finaladdress = headsection.replace("xyzzy", "Address") + address;
		var finaladdress = address;
		nDistance = distance * 5280;
		var finalDistance = nDistance.toFixed(0) + " feet away<br />";
		var finalStatus = "";
		if (statuses) {
			var statusesWork = Left(statuses,statuses.length-1);
			var statusLine = statusesWork.split("^");
			var listType = "";
			var listTypeDesc = "";
			var count=0;
			var distType="";
			for (var a = 0; a<statusLine.length; a++) {
				statusDetails = statusLine[a].split("~");
				if (listType != statusDetails[0]) {
					listType = statusDetails[0];
					listTypeDesc = getSiteTypeDesc(statusDetails[0])
					finalStatus += listTypeDesc;
					storeSummary(distance, listType);
				}
				// Increment summary array
				for (var b = 1; b<statusDetails.length; b++) {
					finalStatus += "<p><B>" + statusDetails[b].replace("|",": </b>") + "</p>";
				}
			}	
		} else {
			var listTypes = sitetypes.split("~");
				for (var b = 0; b<listTypes.length; b++) {
					finalStatus += getSiteTypeDesc(listTypes[b]);
					storeSummary(distance, listTypes[b]);
				}
		}
			
		var finalsitenames = headsection.replace("xyzzy", "Site Name/Aliases") + sitenames.replace(/~/g,"<BR />")
		
		//document.getElementById("address").innerHTML = finaladdress + finalsitenames + finalsitetypes

		if (finalStatus.indexOf(":") < 0)  {
			//document.getElementById("details").innerHTML = "No details for this site";
			finalstatus = headsection.replace("xyzzy", "Site Types") + finalStatus;
		} else {
			finalstatus = headsection.replace("xyzzy", "Site Types/Status") + finalStatus;
			//finalstatus = finalstatus.replace(/~/g,"<BR /><B>");
		}
	if (detailType=="popup") {
		var rv = finaladdress + finalDistance + finalsitenames + finalstatus;
	} else {
		var rv =  "<H2>Site " + order + " Details</H2>" + finaladdress + finalDistance + finalsitenames + finalstatus;
	}
	rv = rv.replace(/<p><B><\/p>/g,"")
	return rv;
}

function createMarker(point, address, sitenames, sitetypes, mtype, statuses, ID, order, distance) {
	//var icon = new GIcon(baseIcon);
	//alert("images/colour00" + mtype + ".png");
	//icon.image = "images/colour00" + mtype + ".png";

	//var marker = new GMarker(point, redIcon);
	var xOffset = -3;
	if (order.length > 1) { 
		xOffset = -6; 
	}
	if (mtype.indexOf("1") > -1) {
		//redIcon.label = {"url":"assets/11.png", "anchor":new GPoint(4,4), "size":new GSize(15,15)};
		//var marker = new GMarker(point, redIcon);
		var opts = {
			"icon": redIcon,
			"clickable": true,
			"labelText": order,
			"labelOffset": new GSize(xOffset, -33)
		};
		red++;
	} else if (mtype.indexOf("2") > -1) {
		//var marker = new GMarker(point, blueIcon);
		var opts = {
			"icon": blueIcon,
			"clickable": true,
			"labelText": order,
			"labelOffset": new GSize(xOffset, -33)
		};
		blue++;
	} else if (mtype.indexOf("4") > -1) {
		//var marker = new GMarker(point, greenIcon);
		var opts = {
			"icon": greenIcon,
			"clickable": true,
			"labelText": order,
			"labelOffset": new GSize(xOffset, -33)
		};
		green++;
	} else {	
		//var marker = new GMarker(point, greenIcon);
		var opts = {
			"icon": greenIcon,
			"clickable": true,
			"labelText": order,
			"labelOffset": new GSize(xOffset, -33)
		};
		green++;
	}

	var marker = new LabeledMarker(point, opts);
	
	siteDetails.store(order, makeDetail(address, statuses,  sitetypes, sitenames, order, "detail", distance));
	
	//var marker = new GMarker(point, icon);
	GEvent.addListener(marker, "click", function() {
		//marker.openInfoWindowHtml(html);
		currentMarker = marker;
		currentID = ID;
		highlightCurrentMarker();
		
		var detail = makeDetail(address, statuses,  sitetypes, sitenames, order, "popup", distance)
			
		var TlcLatLng = map.fromContainerPixelToLatLng(new GPoint(0,0),true);
		var TlcDivPixel = map.fromLatLngToDivPixel(TlcLatLng);
		var pointDivPixel = map.fromLatLngToDivPixel(point);
		var pointContainerPixel = subGPoints(pointDivPixel, TlcDivPixel); 

		var x1 = pointContainerPixel.x
		var y1 = pointContainerPixel.y
		//debugger;
		Popups.show(detail, x1, y1, order);
		
	});
	return marker;
}

var bounds; //= new GLatLngBounds();

function fit(){
	map.panTo(bounds.getCenter()); 
	map.setZoom(map.getBoundsZoomLevel(bounds));
}

function drawCircle(center, radius, nodes, liColor, liWidth, liOpa, fillColor, fillOpa)
{
// Esa 2006
	//calculating km/degree
	var latConv = center.distanceFrom(new GLatLng(center.lat()+0.1, center.lng()))/100;
	var lngConv = center.distanceFrom(new GLatLng(center.lat(), center.lng()+0.1))/100;
	bounds = new GLatLngBounds();

	//Loop 
	var points = [];
	var step = parseInt(360/nodes)||10;
	for(var i=0; i<=360; i+=step) {
		var pint = new GLatLng(center.lat() + (radius/latConv * Math.cos(i * Math.PI/180)), center.lng() + (radius/lngConv * Math.sin(i * Math.PI/180)));
		points.push(pint);
		bounds.extend(pint); //this is for fit function
	}
	fillColor = fillColor||liColor||"#0055ff";
	liWidth = liWidth||2;
	circle = new GPolygon(points,liColor,liWidth,liOpa,fillColor,fillOpa);
	map.addOverlay(circle);
	
}


function showAddress(address) {
	if (geocoder) {
		map.clearOverlays();
		bounds = null;
		firstDrop = true;
		geocoder.getLatLng(address,function(point) {
			if (!point) {
				alert(address + " not found");
			} else {
				map.setCenter(point, 15);
				//homePoint = point;
				showAddressMarker(point);
				RefreshMap();
				//onRefreshHandler();
			}
		});
	}
}

function showAddressMarker(homePoint) {
	//debugger;
	homeMarker = new GMarker(homePoint, {icon: homeIcon});
	map.addOverlay(homeMarker);

	GEvent.addListener(homeMarker, "dragstart", function() {
			popup.close();
			//map.closeInfoWindow();
        });
}

function centerHome() {
	map.setCenter(homeMarker().getPoint(), map.getZoom());
}

function moveMapEnd() {

	var bounds = map.getBounds();
	var southWest = bounds.getSouthWest();
	var northEast = bounds.getNorthEast();
	var Lat1 = northEast.lat();
	var Lat2 = southWest.lat();
	var Lng1 = northEast.lng();
	var Lng2 = southWest.lng();

	if (homeMarker) {
		if (homeMarker.getPoint().lng() > Lng2 && homeMarker.getPoint().lng() < Lng1 && homeMarker.getPoint().lat() < Lat1 && homeMarker.getPoint().lat() > Lat2) {
			//document.getElementById("homeicon").style.display="none";
		} else {
			//document.getElementById("homeicon").style.display="inline";
		}
		//var homeMarker = new GMarker(homePoint, {icon: homeIcon, draggable: true});
		//map.addOverlay(homeMarker);
	} else {
		//document.getElementById("homeicon").style.display="none";
	}

}

function loadDetailsSection() {

	var sectionContent = "<table width=100% cellpadding=5><tr>";
	var counter = 0;
	var count;
	var listTypes = new Array("NPL", "CORRACT", "TSD", "DEFENSE", "BROWN", "SLIC", "DEED", "CERCLIS", "CONTROLS", "LUST", "SWLF", "HAZMAT", "ERNS", "GENERATOR", "UST", "AST", "EMISSIONS", "HAZNET");

	alert("Welcome to your MapHazards.com Detailed Risk Assessment. \n\nYou may click on any marker to get more details or read the details below.");
	
	siteDetails.each(function(order, contents) {
		counter += 1;
		sectionContent += "<td valign=top width=25%>" ;
		sectionContent += contents;
		sectionContent += "</td>";
		if (counter == 4) {
			counter = 0;
			sectionContent += "</tr><tr>";
		}
	});
	sectionContent += "</tr></table>"

	if (Prototype.Browser.Gecko) {
		var obj = document.getElementById("details");
		var range = obj.ownerDocument.createRange();

		range.selectNodeContents(obj);
		range.deleteContents();

		range.selectNodeContents(obj);
		range.collapse(true);

		var fragment = range.createContextualFragment(sectionContent);
		obj.appendChild(fragment);
	} else {
		var details = document.getElementById("details")
		details.innerHTML = sectionContent;
	}

	summary.each(function(order, contents) {
		if (document.getElementById(order)) {
			document.getElementById(order).innerHTML = contents;
		}
	});
	
	onPrintImageHandler();

}

function loadDetailsSection_old() {

	var sectionContent = "";
	var counter = 0;
	var count;
	
	siteDetails.each(function(order, contents) {
		counter += 1;
		sectionContent += "<div class='site_details'>" ;
		sectionContent += contents;
		sectionContent += "</div>";
		if (counter == 4) {
			counter = 0;
			sectionContent += "<div style='clear:both;'></div>";
		}
	});

	document.getElementById("details").innerHTML = sectionContent;

	
	
	
	
}

function RefreshMap() {
	if (homeMarker) {
		document.getElementById("loading").style.display="inline";
		//debugger;
		var a1 = $('map').getDimensions().width;
		//a1 = Left(a1, a1.length - 2);
		document.getElementById("loading").style.left = ((a1 / 2) - 55) +  "px";
		//document.getElementById("zoom_in").style.display="none";
		//document.getElementById("timeout").style.display="none";
		//document.getElementById("alot_of_sites").style.display="none";

		// Define the map bounds within to search for sites
		var bounds = map.getBounds();
		var southWest = bounds.getSouthWest();
		var northEast = bounds.getNorthEast();
		var Lat1 = northEast.lat();
		var Lat2 = southWest.lat();
		var Lng1 = northEast.lng();
		var Lng2 = southWest.lng();

		var LatC = homeMarker.getPoint().lat();
		var LngC = homeMarker.getPoint().lng();
		
		//Get the other search options
		// IE does not like this prototype function
		//var filtervals = $("filters").value;
		//var ShowVERYLOW = filtervals.indexOf("verylow")>=0;
		//var ShowLOW = filtervals.indexOf("nlow")>=0;
		//var ShowMEDIUM = filtervals.indexOf("medium")>=0;
		//var ShowHIGH = filtervals.indexOf("high")>=0;
	
		//Build QueryString
		var QS = "DataLoader.aspx";
		QS += "?Lat1=" + Lat1;
		QS += "&Lat2=" + Lat2;
		QS += "&Lng1=" + Lng1;
		QS += "&Lng2=" + Lng2;
		QS += "&LatC=" + LatC;
		QS += "&LngC=" + LngC;		
		QS += "&address=" + address;
		//QS += "&ShowVERYLOW=" + ShowVERYLOW;
		//QS += "&ShowLOW=" + ShowLOW;
		//QS += "&ShowMEDIUM=" + ShowMEDIUM;
		//QS += "&ShowHIGH=" + ShowHIGH;
		//QS += "&key=" + document.getElementById("key").value;
		QS += "&key=" + key;
		//QS += "&ShowVERYLOW=true";
		//QS += "&ShowLOW=true";
		//QS += "&ShowMEDIUM=true";
		//QS += "&ShowHIGH=true";
		if (siteDetails) {
			siteDetails = null;
		}
		siteDetails = new ADictionary();
		summary = new ADictionary();
		GDownloadUrl(QS, function(data, responseCode) {
			var foundID=false;
			red = 0;
			//purple = 0;
			green = 0;
			blue = 0;
			map.clearOverlays();
			
			if (homeMarker) {
				map.addOverlay(homeMarker);
			} 
			
			var xml = GXml.parse(data);
			var masterNode = xml.childNodes.item(0);
			var stats = masterNode.childNodes.item(0);
			var siteCount = stats.getAttribute("sitecount");
			var timeout = stats.getAttribute("timeout");
			if (timeout == "true") {
				document.getElementById("timeout").style.display="inline";
				document.getElementById("timeout").style.left = ((a1 / 2) - 55) +  "px";
			}
			if (siteCount < 250) {
				var markers = masterNode.childNodes.item(1);
				if (markers) {
					if (siteCount > 150) {
						//document.getElementById("alot_of_sites").style.display="inline";
					} else {
						//document.getElementById("alot_of_sites").style.display="none";
					}
					for (var i = 0; i < markers.childNodes.length; i++) {
						var markerNode = markers.childNodes.item(i);
						if (markerNode.nodeName == "marker") {
							var point = new GLatLng(parseFloat(markerNode.getAttribute("lat")), parseFloat(markerNode.getAttribute("lng")));
							var label = markerNode.getAttribute("label");
							var address = markerNode.getAttribute("address");
							var mtype = markerNode.getAttribute("type");
							var sitenames = markerNode.getAttribute("sitenames");
							var sitetypes = markerNode.getAttribute("sitetypes");
							var order = markerNode.getAttribute("order");
							var ID = markerNode.getAttribute("ID");
							var statusXML = markerNode.childNodes.item(0);
							var distance = markerNode.getAttribute("distance");
							var statuses = "";
							if (statusXML) {
								for (var j = 0; j < statusXML.childNodes.length; j++) {
									var statusNode = statusXML.childNodes.item(j);
									statuses += statusNode.getAttribute("ListType") + "~";
									statuses += statusNode.getAttribute("Field1") + "~";
									statuses += statusNode.getAttribute("Field2") + "~";
									statuses += statusNode.getAttribute("Field3") + "^";
								}
							}
							var marker = createMarker(point, address, sitenames, sitetypes, mtype, statuses, ID, order, distance);
							if (ID == currentID) {
								currentMarker = marker;
								currentID = ID;
								if (Popups.isOpen()) {
									highlightCurrentMarker();
								}
								foundID = true;
							}
							map.addOverlay(marker);    
						}
					}
				}
			} else {
				map.clearOverlays();
				document.getElementById("zoom_in").style.display="inline";
			}
			if (foundID == false) {
				currentMarker = null;
				currentID = null;
				Popups.hide();
				//document.getElementById("address").innerHTML = "Click a site to find out more about it.";
				//document.getElementById("details").innerHTML = "&nbsp;";
			}
				
			if (red > 0) { 
				cColor = "#ff0000";
			//} else if (purple > 0) {
			//	cColor = "#ff00ff";
			} else if (blue > 0) {
				cColor = "#0000ff";
			} else {
				cColor = "#00ff00";
			}			
				
			drawCircle(homeMarker.getPoint(), 0.805, 40,cColor,2,1,0,0);
			fit();

			// Get number of marker and popup warning if there are a lot
			document.getElementById("numsites").innerHTML = "Number of Sites: " + siteCount;
			
			document.getElementById("loading").style.display="none";
		});
		onloadDetailsSection();
		
	} else {
		map.clearOverlays();
		document.getElementById("zoom_in").style.display="inline";
	}
	
}

function printReport() {

	window.print();

}

function printIE() {

	if (Prototype.Browser.IE && window.screen.deviceXDPI  == 120) {
		map.removeOverlay(circle);
		drawCircle(new GLatLng(homeMarker.getPoint().lat() - .0018, homeMarker.getPoint().lng() + .0024), 1, 40,cColor,2,1,0,0);
	}

}

function afterPrintIE() {

	if (Prototype.Browser.IE && window.screen.deviceXDPI  == 120) {
		map.removeOverlay(circle);
		drawCircle(homeMarker.getPoint(), 0.805, 40, cColor,2,1,0,0);
	}

}

//]]>