var populateForm = function() {
	var szQuickValue = $("#fastFind input[name='szQuickValue']").val();
	if (szQuickValue === origQuickValue) {
		szQuickValue = "";
	}
	var homeslider = document.getElementById("homeslider");
	var searchCriteria = homeslider.getFlexCriteria();
	
	$("#fastFind input").each(function() {
		var inputName = $(this).attr("name");
		if (searchCriteria.hasOwnProperty(inputName)) {
			$(this).val(searchCriteria[inputName]);
		}
	});
	$("#fastFind input[name='szQuickValue']").val(szQuickValue);
};

var origQuickValue = "";
$("document").ready(function() {
	var validateSearchForm = function($form, e) {
		var szQuickValue = $form.find("input[name='szQuickValue']").val();
		var lBedsMin = $form.find("input[name='lBedsMin']").val();
		var dblBathsMin = $form.find("input[name='dblBathsMin']").val();
		var cPriceMin = $form.find("input[name='cPriceMin']").val();
		var cPriceMax = $form.find("input[name='cPriceMax']").val();
		
		var errorMessage = "";
		
		if (szQuickValue == "" || szQuickValue == "City, Zip or MLS#") {
			errorMessage += "Please specify a City, Zip or MLS#<br/>";
		}
		if (cPriceMin != "" && isNaN(cPriceMin)) {
			errorMessage += "Minimum Price must be numeric<br/>";
		}
		if (cPriceMax != "" && isNaN(cPriceMax)) {
			errorMessage += "Maximum Price must be numeric<br/>";
		}
		if (lBedsMin != "" && isNaN(lBedsMin)) {
			errorMessage += "Beds must be numeric<br/>";
		}
		if (dblBathsMin != "" && isNaN(dblBathsMin)) {
			errorMessage += "Baths must be numeric";
		}
		if (errorMessage != "") {
			popSearchMessage(errorMessage);
			e.preventDefault();
		}
	}

	origQuickValue = $("#quickSearchStart").html();
	$("#fastFind input[name='szQuickValue']").val(origQuickValue);
	
	$("#fastFind").bind("submit", function(e) {
		validateSearchForm($(this), e);		
	});
	
	$("#advancedCriteria").bind("submit", function(e) {
		validateSearchForm($(this), e);		
	});
	
	$("#address-search").bind("submit", function(e) {
		var szAddress_StreetName= $(this).find("input[name='szAddress_StreetName']").val();
		if (szAddress_StreetName == "") {
			popSearchMessage("Street Name is required");
			e.preventDefault();
		}		
	});
	
	$("#advanced-search").click(function(e) {
		e.preventDefault();
		$("#advanced-criteria").css({
			"display":"block"
		});
		$("#advanced-criteria").animate({
			"width":"500px"
		}, 1000);
	});

	$("#hide-advanced-search").click(function(e) {
		e.preventDefault();
		$("#advanced-criteria").animate({
			"width":"0px"
		}, 1000, null, function() {
			$("#advanced-criteria").css({
				"display":"none"
			});
		});
	});

	var showChildAreas = function(guiAreaId) {
		var areaList = document.getElementById("areaList");
		areaList.options.length = 0;
		for (var i = 0; i < childAreas.length; i++) {
			if (childAreas[i].attr("class") == guiAreaId) {
				areaList.options[areaList.options.length] = new Option(childAreas[i].attr("name"), childAreas[i].val());
			}
		}
	};
	
	var childAreas = [];
	$("#areaList option").each(function(i) {
		childAreas[i] = $(this);
	});
	
	showChildAreas($("#guiAreaId").val());
	$("#guiAreaId").change(function() {
		showChildAreas($(this).val());
	});

});

var forwardToResults = function(searchCriteria) {
	populateForm();
	var szQuickValue = $("#fastFind input[name='szQuickValue']").val();
	if (szQuickValue == "") {
		popSearchMessage("Please specify Address, Town Zip, MLS#, or Keyword");
	}
	else {
		document.getElementById("fastFind").submit();
	}
};