
var searchMessage = "Enter Term"; 			// string to prepopulate search input with
var searchInputSelector = ".searchTxt"; // string CSS selector to target search input
var searchSubmitSelector = ".searchBtn"; // string CSS selector to target search submit

$(document).ready(function() {

    prePopulateSearchField();

    // add onfocus event handler to search input
    $(searchInputSelector).focus(function(e) {
        clearSearchField();
    });

    // add onblur event handler to search input
    $(searchInputSelector).blur(function(e) {
        prePopulateSearchField();
    });

    // add onkeypress event handler to search input
    $(searchInputSelector).keypress(function(e) {
        // if [enter] key
        if (e.which == 13) {
            // trigger click event on search button
            $(searchSubmitSelector).click();
            // alert("click: " + buttonId);				// for testing
            // suppress default keypress behaviour
            return false;
        } else {
            // enable default keypress behaviour
            return true;
        }
    });

    // add onclick event handler to search button
    $(searchSubmitSelector).click(function(e) {
        return submitSearchForm();
    });

});

function prePopulateSearchField() {
    if ($(searchInputSelector).val() == "" || $(searchInputSelector).val() == searchMessage) {
        $(searchInputSelector).val(searchMessage);
        $(searchInputSelector).addClass("prePopulated"); 		// CSS class added to input so text is e.g. light grey instead of black
    }
}

function clearSearchField() {
    if ($(searchInputSelector).val() == searchMessage) {
        $(searchInputSelector).val("");
        $(searchInputSelector).removeClass("prePopulated");
    }
}

function submitSearchForm() {
    // do the necessary i.e. call the .net js postback function
    // N.B. js postback function is often not present on initial page load
    // so check this works before and after any other postbacks
    // there is a trick to force it to be written to the initial page
    // alert('submitSearchForm');						// for testing

    if ($(searchInputSelector).val() == searchMessage)
        return false;
    else
        return true;
}
