$(document).ready(function () {
	search.init();
});

search = {
	horsePlaceHolderValue : "Horse Name",
    trackPlaceHolderValue : "Track Name",
	jockeyTrainerPlaceHolderValue : "Last Name",

	init : function () {
		// Initialize select box
		$("#searchOptions").selectbox();

		// Attach submit event
		$("#search").submit(
			function () {
				var optionSelected = $("#searchOptions").val();

				// Set values/inputs depending on which option is selected
				if (optionSelected == "horses") {
					// Set the values
					$(this).attr("action", "/premium/eqbHorseSearchResult.cfm");
					$("#searchInput").attr("name", "horse_name");

					// Detach jockeysTrainers inputs
					$("#fname").detach();
					$("#mname").detach();
				}
				else if (optionSelected == "jockeys" || optionSelected == "trainers") {
					// Set the values
					$(this).attr("action", "/premium/eqbPeopleSearch.cfm");
					$("#searchInput").attr("name",  "lname");

					// Pass a search type to indicate that we are only searching for jockeys or trainers, not both
					if (optionSelected == 'jockeys')
						$(this).append('<input type="hidden" name="searchType" value="J" />');
					else if (optionSelected == 'trainers')
						$(this).append('<input type="hidden" name="searchType" value="T" />');

					// Attach jockeysTrainers inputs
					$(this).append("<input type='hidden' value='' name='fname' id='fname'/>");
					$(this).append("<input type='hidden' value='' name='mname' id='mname'/>");
				}
                else if (optionSelected == "tracks") {
					$(this).attr("action", "/premium/eqbTrackSearchResults.cfm");
					$("#searchInput").attr("name",  "name");
				}
				// else values don't get set and the page submits back to itself
			}
		);

		// Attach change event
		$("#searchOptions").change(
			function () {
				search.setSearchInputValue($(this).attr("id"));
			}
		);

		// Attach focus event
		$("#searchInput").focus(
			function () {
				var searchInputValue = jQuery.trim($(this).val());
				// If value equals placeholder, then clear
				if (searchInputValue == search.horsePlaceHolderValue || searchInputValue == search.jockeyTrainerPlaceHolderValue || searchInputValue == search.trackPlaceHolderValue)
					$(this).attr("value", "");
			}
		)

		// Attach blur event
		$("#searchInput").blur(
			function () {
				search.setSearchInputValue($(this).attr("id"));
			}
		);

		// Set search input value for the first time
		search.setSearchInputValue($("#searchInput").attr("id"));
	},

	setSearchInputValue : function (callerId) {
		var searchInputId = $("#searchInput").attr("id");
		// If not search input, or is search input and search input is not blank, then set to placeholder
		if (callerId != searchInputId || (callerId == searchInputId && jQuery.trim($("#searchInput").val()) == "")) {
			var optionSelected = $("#searchOptions").val();

			// Set placeholder depending on which option is selected
			if (optionSelected == "horses")
				$("#searchInput").attr("value", search.horsePlaceHolderValue);
			else if (optionSelected == "jockeys" || optionSelected == "trainers")
				$("#searchInput").attr("value", search.jockeyTrainerPlaceHolderValue);
            else if (optionSelected == "tracks")
				$("#searchInput").attr("value", search.trackPlaceHolderValue);
		}
	}
}
