
if (!window['$hnj'] || !$hnj.registry.included('/scripts/components/search.js')) { 
$hni.components.searchbox = function(elementId, postUrl) {
    var base = new $hni.components.manager(elementId);
    _postUrl = postUrl;

    return $hnj.extend(
		base,
		{
		    submitSearch: function() {
		        var searchText = $hnj.trim($hnj('input.' + elementId).val());
		        searchText = searchText.replace(/([&])/g, "and");

		        searchText = searchText.replace(/([#%\+\*=\?\\\/:’'\.]+)/g, "");

				//handle quotes for exact match by converting to brackets and dealing with later
		        searchText = searchText.replace(/^["]/, "{");
		        searchText = searchText.replace(/["]$/, "}");
		        searchText = searchText.replace(/["]/g, "");

		        var searchPage = _postUrl.replace("{SearchString}", encodeURIComponent(searchText));
		        window.location = searchPage;
		    },

		    handleKey: function(e) {
		        var eventKey;
		        if (window.event) // IE
		        {
		            eventKey = e.keyCode
		        }
		        else if (e.which) // Netscape/Firefox/Opera
		        {
		            eventKey = e.which
		        }

		        if (eventKey == 13) {
		            this.submitSearch();
		            return false;
		        }
		        return true;
		    }
		});
};
}
if (window['$hnj']) { $hnj.registry.register('/scripts/components/search.js', false); };


