///<reference path="/Web/Js/TESCO.js" />
///<reference path="/Web/Js/system/event.js" />
///<reference path="/Web/Js/system/event.manager.js" />
///<reference path="/Web/Js/system/exception.js" />
///<reference path="/Web/Js/system/DOM.node.js" />
///<reference path="/Web/Js/UI/position.js" />
///<reference path="inputs.js" />
///<reference path="dialogue.js" />

TESCO.$("sites.retail.UI").SearchWidget = (function() {

    var NODE = TESCO.system.DOM.node;
    var EVENT = TESCO.system.event;

    //  constructor
    function _constructor(input) {
        var LOCALE = TESCO.locale;

        var _form = document.getElementById("fSearch");

        EVENT.attach(_form, "submit",
		    function(e) {
		        if ((input.value.trim() === "") || (input.value === LOCALE.searchWidget.searchText)) {
		            e.stopEvent();
		            TESCO.sites.retail.UI.Dialogue.Static.show(LOCALE.dialogue.searchError());
		        }
		    }
		);
		
        EVENT.attach(input, "focus",
		    function() {
                NODE.addClassName(input, "focus");
		    }
		);
		
		EVENT.attach(input, "blur",
		    function() {
		        NODE.removeClassName(input, "focus");
		    }
		);

        new TESCO.sites.retail.UI.inputs.PlaceHolder(input, LOCALE.searchWidget.searchText);
        return this;
    }

    _constructor.prototype.NAME = "TESCO.sites.retail.UI.SearchWidget";

    return _constructor;
})();
