﻿class_EndecaKeywordSearch = function(){}
class_EndecaKeywordSearch.prototype =
{
	doSearch : function(textBoxId, searchOn, matchMode)
	{
		if (typeof(textBoxId) != 'undefined' && textBoxId != null && textBoxId != "")
		{
			var textBox = $get(textBoxId);
			if (typeof(textBox) != 'undefined' && textBox != null)
			{
				var keyword = textBox.value;
				if (keyword != null && keyword != "")
				{
					if (typeof(Uri) != "undefined")
					{
						var uri = Uri.resolveUrl(document.location);
						uri.setQueryValue("Ntt", keyword);
						uri.setQueryValue("Ntk", searchOn);
						uri.setQueryValue("Ntx", matchMode);
						document.location = uri.toString();
					}
					else
					{
						var currentUri = decodeURI(document.URL);

						currentUri = this._addParameter(currentUri, "Ntt", keyword);
						currentUri = this._addParameter(currentUri, "Ntk", searchOn);
						currentUri = this._addParameter(currentUri, "Ntx", matchMode);
						
						document.location = encodeURI(currentUri);
					}
				}
			}
		}
		return false;
	},
	_removeParameter : function(url, parameter)
	{
		var regex = new RegExp("[&,?]" + parameter + "=[^&]*");
		return url.toString().replace(regex, "");
	},
	_addParameter : function(url, key, value)
	{
		if (url.indexOf("?") == -1)
		{
			return this._removeParameter(url, key) + "?" + key + "=" + value;
		}
		else
		{
			return this._removeParameter(url, key) + "&" + key + "=" + value;
		}
	}
}
var EndecaKeywordSearch = new class_EndecaKeywordSearch();
