$(window).load(function(){
	
	
	var gmap_container = $("<div></div>");
		gmap_container.attr("id","banner-gmap");
	
	
	/***********************************************************
		Commmunity Banner Icon Functions - Image Swapping
	***********************************************************/
	$("#banner-thumbs a").each(function(){
		$(this).bind('click', function(){
			var src = $(this).find("img").attr('src');
			var bnr = $("#banner").find("img");
			if(src.indexOf('map_thumb') >= 0){
				drawCommunityMap();
			}else{
				gmap_container.remove();
				$("#banner").removeClass("gmap");
				bnr.show();
				bnr.attr({src: src.replace('_thumb','_large'), width: "759", height: "386"});

			}
			setActiveCommunityIcon($(this));
			return false;
		});
	});
	
	/***********************************************************
		Commmunity Banner Icon Functions - Image Swapping
	***********************************************************/
	$("#banner-thumbs a").each(function(){
		$(this).bind('mouseover', function(){
			var src = $(this).find("img").attr('src');
			var bnr = $("#banner").find("img");
			if(src.indexOf('map_thumb') >= 0){
				//drawCommunityMap();
			}else{
				gmap_container.remove();
				$("#banner").removeClass("gmap");
				bnr.show();
				bnr.attr({src: src.replace('_thumb','_large'), width: "759", height: "386"});
			}
			setActiveCommunityIcon($(this));
			return false;
		});
	});
	
	function setActiveCommunityIcon(e){
		$("#banner-thumbs a").each(function(){
			if(e.find("img").attr('src') == $(this).find("img").attr('src')){
				$(this).addClass("active");
			}else{
				$(this).removeClass("active");
			}
		});
	}
	
	$("#view-map-link").click(drawCommunityMap);
	
	
	/***********************************************************
		Google Maps for Communities
	***********************************************************/
	function drawCommunityMap(){
	
		
		$("#banner").find("img").hide();
		$("#banner").append(gmap_container);
		$("#banner").addClass("gmap");
		
		setActiveCommunityIcon($("#view-map-thumb"));
		
		// Add GMAP
		var map = new GMap2(document.getElementById("banner-gmap"));
  			map.setCenter(new GLatLng(community.lat, community.lon), community.zoom);
			map.setUIToDefault();
			map.setMapType(G_HYBRID_MAP);
			
		// load KML overlay :)
		var gx = new GGeoXml(community.kml);
		map.addOverlay(gx);
		
		return false;
	}
	
	
	/***********************************************************
		Community Matrix Functionality
	***********************************************************/

	$("#error").hide();
	$("#quick-finder input").click(highlightCommunities);
	
	var matrix = $("#comparison-matrix td");
	var numcols = $("#comparison-matrix tr:first-child td").length;
	var matrix_columns = new Array();
	for(var i=1; i < numcols; i++){
		matrix_columns.push(matrix.nthCol(i+1));
	}
		
	function highlightCommunities(){
		var numResults = 0;
		for(var i=0; i < numcols-1; i++){
			var rows = matrix_columns[i];
			if(communityHasAllCriteria(rows)){  			// does the community have all criteria?
				rows.each(function(){
					if($(this).hasClass("cmh")) $(this).addClass("header-blue");
					if($(this).parent().hasClass("light-grey")){ // highlight them dark or light, depending on curr style
						$(this).addClass("highlight-dark");
					}else{
						$(this).addClass("highlight");
					}
				});
				numResults ++;
			}else{
				rows.each(function(){
					if($(this).hasClass("cmh")) $(this).removeClass("header-blue");
					if($(this).closest("tr").hasClass("light-grey")){ // remove highlight
						$(this).removeClass("highlight-dark");
					}else{
						$(this).removeClass("highlight");
					}
				});
			}
		}
		if(numResults == 0 && $("#quick-finder input:checked").length > 0 ){
			$("#error").show(); // show error only if user selected criteria AND no results
		}else{
			$("#error").hide();
		}
	}

	function communityHasAllCriteria(cells){
		var checkedCriteria = $("#quick-finder input:checked");
		if(checkedCriteria.length > 0){
			var hasCriteria = true;
			checkedCriteria.each(function(){
			if ((cells.find("img[src*='" + $(this).val() + "']").length == 0) && ((cells.find("li[id='" + $(this).val() + "']").length == 0))) {
					hasCriteria = false;
				}
			});
			return hasCriteria;
		}else{
			return false;
		}
	}
	
	// Matrix header rollover function 
	 $("#comparison-matrix td.cmh a").mouseover(function(){
	 	
		var src = $(this).html().replace(' ','');
			src = "~/media/LiveCarma/media/matrix_banners/matrix_banner_" + src.toLowerCase() + ".ashx";
		
		$("#matrix-banner img").attr('src',src);
	 
	 });

	
	
});
