var resultCount = 0;
var markers = [];

function addMap(index, element) {
	var geocoder = new GClientGeocoder();
	var resultRow = this;

	var point = null;	
	var lat = jQuery('span.lat', resultRow).text();
	var lon = jQuery('span.lon', resultRow).text();
	if (lat && lon) {
	    point = {};
	    point.y = lat;
	    point.x = lon;
	}

	var marker = {};
	if (point != null) {
	    marker = createMarker(resultRow, point);
	    markers[index] = marker;
	}
	
	if (index == resultCount - 1) {
	    createBigMap(markers);
	}	

    /*		
	geocoder.getLatLng(
		jQuery('.Location', this).text(),
		function(point) {
			if(point != null) {
				var marker = createMarker(resultRow, point);
				markers[index] = marker;		
			}			
			
			if(index == resultCount - 1) {
				createBigMap(markers);
			}
		}
	);
	*/
}

function createBigMap(markers) {
	jQuery('#SearchResultsGrid').prepend('<div id="bigMapContainer"><a href="javascript: void(0);" id="bigMapCloseButton"><img style="vertical-align: top; margin: 0; display: inline;" src="/DesktopModules/TR-PropertySearch/images/close_map.png" /></a><div id="bigMap"></div></div>');
	jQuery('#SearchResultsGrid').prepend('<a href="javascript: void(0);" id="bigMapOpenButton"><img style="vertical-align: top; margin: 10px 0; display: inline;" alt="Map" src="/DesktopModules/TR-PropertySearch/images/view_map.jpg"></a>');

	
	jQuery('#bigMap').gMap({	
		markers: markers,
		controls: ["GLargeMapControl", "GMapTypeControl"],
		scrollwheel: false,
		zoom: 12
	});
	
	jQuery('#bigMapContainer').css('left', 'inherit').hide();
	
	jQuery('#bigMapOpenButton, #bigMapCloseButton').click(function() {
		jQuery('#bigMapContainer').slideToggle();
	});
}

function createMarker(resultRow, point) {
	var marker = {};
	marker.latitude = point.y;
	marker.longitude = point.x;
	marker.html = getBalloonHtml(resultRow);
	marker.popup = false; // true
	
	return marker;
}

function wireUpMap(resultRow, marker) {
	jQuery('.map', resultRow).gMap({
		markers: [marker],
		controls: ["GLargeMapControl", "GMapTypeControl"],
		scrollwheel: false,
		zoom: 14
	});
	
	jQuery('.map', resultRow).hide();

	marker.popup = false;
	
	jQuery('.mapButton', resultRow).click(function() {
		jQuery('.map', resultRow).slideToggle();
	});
}

function getBalloonHtml(resultRow) {
	var html = "<div class='property'>"
	
	html += "<div class='clear'><span class='Price'>" + jQuery('span.Price', resultRow).html() + "</span></div>";
	html += "<div class='clear'><span class='Location'>" + jQuery('span.Location', resultRow).html() + "</span></div>";
	
	html += "<div class='clear'>&nbsp;</div>";
	
	html += "<div class='clear'>";
	html += "<span class='Bedrooms'>" + jQuery('span.Bedrooms', resultRow).html() + "</span>";
	html += "<span class='Bathrooms'>" + jQuery('span.Bathrooms', resultRow).html() + "</span>";
	html += "</div>";
	
	html += "<div class='clear'>";
	html += jQuery('span.SquareFt', resultRow).html() + " square feet";
	html += "</div>";
	
	html += "<div class='clear'>&nbsp;</div>";
	
	html += "<div class='clear'>" + jQuery('div.Description', resultRow).html() + "</div>";
	
	html += "<div class='clear'>&nbsp;</div>";
	
	html += "<div class='clear'><a href='" + jQuery('#PropertyActionButtons img[alt="Property Details"]', resultRow).closest('a').attr('href') + "'>View more details</a></div>";
	
	html += "</div>";
	
	return html;
}

