	function placeMarker(args){
		var html = [];
		var markerOptions = {};
		var community;
		for(var i=0;i<args.length;i++){
			community = args[i];
			html.push("<div style='width:150px'><strong>" + community.name + "</strong><br />" + community.street + "<br />" + community.city + ", " + community.state + "  " + community.zip + "<br /><a href='../communities/index.php?id=" + community.id + "'>Click to visit this community</a></div>");
			if(community.id == communityID){
				var blueIcon = new GIcon(G_DEFAULT_ICON);
				blueIcon.image = "../assets/images/incidentals/blue-dot.png";
				markerOptions.icon = blueIcon;
			}
			if(inArray(matchingCommunities,community.id)){
				var greenIcon = new GIcon(G_DEFAULT_ICON);
				greenIcon.image = "../assets/images/incidentals/green-dot.png";
				markerOptions.icon = greenIcon;
			}
		}
		html = html.join("<div class='hr'></div>");
		var marker = new GMarker(new GLatLng(community.lat, community.lng), markerOptions);
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(html, { maxWidth : 150 } );
		});
		map.addOverlay(marker);	
	}

	function inArray(array,element){
		for(var i=0;i<array.length;i++){
			if(array[i] == element){
				return true;
			}
		}
		return false;
	}

	function comparePositions(obj1,obj2){
		var sameLat = false;
		var sameLng = false;
		var lat1 = parseFloat(obj1.lat);
		var lat2 = parseFloat(obj2.lat);
		var diff = Math.abs(lat1 - lat2);
		if(diff < 0.005){
			sameLat = true;
		}
		var lng1 = parseFloat(obj1.lng);
		var lng2 = parseFloat(obj2.lng);
		var diff = Math.abs(lng1 - lng2);
		if(diff < 0.005){
			sameLng = true;
		}
		return sameLat && sameLng;
	}
	function placeMarkers(){
		if (GBrowserIsCompatible()) {
	   		map = new GMap2(document.getElementById("map_canvas"));
			map.setUIToDefault();
			var totalLat = 0;
			var totalLng = 0;
			for(var i=0;i<communities.length;i++){
				var community = communities[i];
				totalLat += parseFloat(community.lat);
				totalLng += parseFloat(community.lng);
				var args = [community];
				for(var j=i+1;j<communities.length;j++){
					var comp = communities[j];
					if(comparePositions(comp, community)){
						args.push(comp);
						communities.splice(j, 1);
						break;
					}
				}
				placeMarker(args);		
			}
			var averageLat = totalLat / communities.length;
			var averageLng = totalLng / communities.length;
			map.setCenter(new GLatLng(averageLat, averageLng), 9);			
		}
	}
	function setupTabs(){
		$('.tabs ul.tabNav a').click(function() {
			var curChildIndex = $(this).parent().prevAll().length + 1;
			$(this).parent().parent().children('.current').removeClass('current');
			$(this).parent().addClass('current');
			$(this).parent().parent().next('.tabContainer').children('.current').removeClass('current');
			$(this).parent().parent().next('.tabContainer').children('div:nth-child('+curChildIndex+')').addClass('current');
			return false;								
		});
	}
	function initializePage(){
		placeMarkers();
		setupTabs();
		$("table.sortable").tablesorter();
		//$("a.lb").lightBox({fixedNavigation:true});
	}