/* ============================================================ */
/* Created June 2010 Carol On HD#12096 */
/* ============================================================ */
/* 
    REQUIRED TO INCLUDE BEFORE THIS FILE ON WEB PAGE:
 <script src="http://maps.google.com/maps/api/js?sensor=false&key=ABQIAAAACDvN8TGEfHfGBXO1xFZaTRSSv2vSJ-SMuGn36ileD8Yi3nXm0BQ27SJzV-6i2lIxh1zUEt-cNMsXOQ" 
		type="text/javascript" ></script> 
    =================================================================

	    //	Number of radius in miles
	    var radiusInMiles = 5; 
	    //	An estimated number of miles per latitude segment [radiusInMiles/milesPerLat]
        var milesPerLat = 69.047;
        // An estimated number of miles per longitude segment [((0.50 * radiusInMiles)/milesPerLng)]
        var milesPerLng = 53;
*/ 

    var centerLatLng;
    var centerLatLngSingle;
    var geocoder;
    var map;
	var infowindow;
	var markers = new Array();
    var resultsArray = new Array();
    var infoArray = new Array();
	var hiddenLatLng;
	
/*  // REMOVED 1/26/2011 Carol On
	function getLatLng(a) {	   
        resetMap();     	
		var latlng;
        var address = a;	
		
		var expdate = new Date (); // pre-set to the current time and date
		expdate.setTime(expdate.getTime() + 1000 * 60 * 60 * 24); // add one day to it 

        geocoder = new google.maps.Geocoder();
        if (geocoder) {
            geocoder.geocode( { 'address': address}, function(results, status) {
                if (status == google.maps.GeocoderStatus.OK) {	
					latlng = results[0].geometry.location;	
					centerLatLng = latlng;					
					latlng = latlng.toString();
					setCookie('latlng', latlng, expdate);    
                } else {
                    alert("Geocode was not successful for the following reason: " + status);
                }
            });			
        }	
    }*/
	
	function markLatLng() {
		// Make sure we have a centerLatLng object defined.
		if (centerLatLng == null) {	return;	}
		
		var cArray = centerLatLng.split(",");
		var clat = parseFloat(cArray[0]);
		var clng = parseFloat(cArray[1]);
		
		var latlng = new google.maps.LatLng(clat, clng);
		var bounds = new google.maps.LatLngBounds();
		if(document.getElementById('map_canvas')) {
			var agdOptions = {
				zoom: 13,
				mapTypeId: google.maps.MapTypeId.ROADMAP,
				center: latlng
			}
			document.getElementById('map_canvas').style.display = 'block';
			map = new google.maps.Map(document.getElementById('map_canvas'), agdOptions);
					
			if (resultsArray.length>0) {
				var infohtml;
				var infohtmlPrev;
				var rlatlngPrev;
				infowindow = new google.maps.InfoWindow();				
				
				for (var i=0; i<resultsArray.length;i++) 
				{   
					document.getElementById('map_canvas').style.visibility="visible";
					var marker;
					var rArray = resultsArray[i].toString().split(",");
					var rlat = parseFloat(rArray[0]);
					var rlng = parseFloat(rArray[1]);
					var rlatlng = new google.maps.LatLng(rlat, rlng);
					var image = rArray[2];
					var rname = rArray[3];									
					infohtml = infoArray[i].toString();		
					
					if (rlatlngPrev == rlatlng) 
					{
						infohtml = infohtmlPrev + infohtml;
					}	
					infohtmlPrev = infohtml;
					rlatlngPrev = rlatlng;				
					
					marker = new google.maps.Marker({
							position: rlatlng,
							map: map,
							icon: image,
							title: 'click for info'
							}); 
					popupDetail(marker,infohtml);						
					
					marker.setMap(map);
					bounds.extend(marker.getPosition());
					
					markers.push(marker);
				} // end for loop
			
			} // end if

			// Center/zoom the map based on the bounds.
			map.fitBounds(bounds);
			map.setCenter(bounds.getCenter());
		} // end map_canvas found
	}

	function popupDetail(newMarker, str) {	
		 google.maps.event.addListener(newMarker, 'click', function(mEvent) { 
		 infowindow.setContent(str);
		 infowindow.open(map,this);	} );																
	 }
	 
		
	function markLatLngSingle(mapcanvas) {
		// Make sure we have a centerLatLng object defined.
		if (centerLatLngSingle == null) {	return;	}

		var cArray = centerLatLngSingle.split(",");
		var clat = parseFloat(cArray[0]);
		var clng = parseFloat(cArray[1]);
		var latlng = new google.maps.LatLng(clat, clng);
		if(document.getElementById(mapcanvas)) {
			var agdOptions = {
				zoom: 15,
				mapTypeId: google.maps.MapTypeId.ROADMAP,
				center: latlng
			}
			map = new google.maps.Map(document.getElementById(mapcanvas), agdOptions);
					
			if (resultsArray.length>0) {
				var infohtml;
				var infohtmlPrev;
				var rlatlngPrev;
				infowindow = new google.maps.InfoWindow();				
				
				for (var i=0; i<resultsArray.length;i++) 
				{   
					document.getElementById(mapcanvas).style.visibility="visible";
					var rArray = resultsArray[i].toString().split(",");
					var rlat = parseFloat(rArray[0]);
					var rlng = parseFloat(rArray[1]);
					var rlatlng = new google.maps.LatLng(rlat, rlng);
					var image = rArray[2];
					var rname = rArray[3];									
					infohtml = infoArray[i].toString();	
					
					var marker = new google.maps.Marker({
							position: rlatlng,
							map: map
							}); 
					
				} // end for loop			
			} // end if  resultsArray
		} // end map_canvas found
	}
	
    function resetMap() {  
        for (var i in resultsArray) {
            resultsArray[i]=null;
        }
        for (var i in infoArray) {
            infoArray[i]=null;
        }
        marker = null;
		infowindow = null;
        resultsArray = [];
		infoArray = [];
        map = null;
        geocoder = null;
		centerLatLngSingle = null;
    //    centerLatLng = null;      
    }
