// funding form validation

$(document).ready(function(){
	$("#org_name input").focus();
	form_id = "funding";
	
	// form validation
	function validate(){
		var valid = true;
		var missing = [];
		// required fields
		var req = [
			{field:"org_name", label:"organization name"},
			{field:"address", label: "address"},
			{field: "city", label: "city"},
			{field: "state", label: "state"},
			{field: "zipcode", label: "ZIP Code"},
			{field: "phone", label: "phone number"},
			{field: "email", label: "email address"},
			{field: "org_id", label: "organization tax id #"},
			{field: "contact_name", label: "contact name"},
			{field: "signature", label: "signature"},
			{field: "date", label: "today's date"},
		];
		$(req).each(function(k,v){
			var d = $("#" + v.field + " input").val();
			//$.log("%s = %s",d,v.field);
			if(d == ""){
				valid = false;
				//$.log("missing %s",v.label);
				missing.push(v.label);
			}
		});
		//$.log("missing fields: %o",missing);
		if (missing.length) {
			msg = "Please enter " + missing.join(", ");
			alert(msg);
			return false;
		} else {
			return true;
		}
	}
	
	// highlight missing required fields
	$("form fieldset.required input, form fieldset.required textarea")
		.keypress(function(){
			$(this).parent().removeClass("required");
		})
		.each(function(){
			if($(this).val()){
				$(this).parent().removeClass("required");
			}
		})
	;
		
	// form submit
	$("form input#submitButton").click(function(){
		if (validate()) {
			if (confirm("Are you sure you want to submit this application?")) {
				$.log("submitting %s", form_id);
				$("form#" + form_id).submit();
				$(this).attr("disabled", "disabled");
			}
		} else {
			$(this).removeAttr("disabled");
		}
	})
});

