/*
*	Search Form
*	Provides JS functionality and simple validation for a search form
*	
*	Requires Trapeze jQuery distribution
*	
*	Taylan Pince (tpince at trapeze dot com) - March 24, 2009
*/

$.namespace("trapeze.SearchForm");

trapeze.SearchForm = $.Class.extend({

    selector : "",
    initial : "",

    focus_field : function(evt) {
        if ($(evt.target).val() == this.initial) {
            $(evt.target).val("").removeClass("faded");
        }
    },
    
    blur_field : function(evt) {
        if ($(evt.target).val() == "") {
            $(evt.target).val(this.initial).addClass("faded");
        }
    },
    
    submit_form : function(evt) {
        var query = $(evt.target).find("input[type=text]").val();

        if (query == this.initial || query == "") {
            $(evt.target).find("input[type=text]").focus();

            return false;
        }
    },

    init : function(selector, initial) {
        this.selector = selector;
        this.initial = initial;
        
        $(this.selector).find("input[type=text]").focus(this.focus_field.bind(this)).blur(this.blur_field.bind(this));

        if ($(this.selector).find("input[type=text]").val() == this.initial) {
            $(this.selector).find("input[type=text]").addClass("faded");
        }

        $(this.selector).submit(this.submit_form.bind(this));
    }

});
