// ************************************************************************************
// SearchBox
// ************************************************************************************
// methods
Competir.Web.UI.Webparts.SearchBox.prototype.isValid = function()
{
	var rv = false;
	var objTxtExpression = this.getChild(this.get_TxtExpressionClientID());
	if (objTxtExpression)
	{
		rv = (objTxtExpression.value.length >= 3 && objTxtExpression.value != this.get_HelpExpression());
	}
	return rv;
};
Competir.Web.UI.Webparts.SearchBox.prototype.search = function()
{
	if (this.isValid())
	{
		if (this.get_SearchPageUrl() != "")
		{
			// values
			var expression = Competir.Web.UI.getFormElementValue(this, this.get_TxtExpressionClientID(), "text");
			var AKClase = Competir.Web.UI.getFormElementValue(this, "cboAKClase", "combo");
			
			// event
			var ea = new Competir.Web.UI.Webparts.SearchBoxEventArgs();
			ea.set_Expression(encodeURI(expression));
			this.raiseEvent("onClientSearch", ea);
			
			// redirect
			if (!ea.get_cancel())
			{
				if (this.get_SearchPageUrl() != "")
				{
					document.location.href = String.format(this.get_SearchPageUrl(), expression, AKClase, this.get_ParentFKs(), this.get_IncludeSolutionTaxonomies());
				}
			}
		}
	}
	else
	{
		var objTxtExpression = this.getChild(this.get_TxtExpressionClientID());
		if (objTxtExpression)
		{
			this.callFromBehavior('blink', [objTxtExpression]);
		}
	}
};

// event delegates
Competir.Web.UI.Webparts.SearchBox.prototype.onTxtExpressionKeyDown = function(event)
{
	if (Competir.Web.UI.getKeyCode(event) == 13)
	{
		Competir.Web.UI.cancelEvent(event);
		this.search();
	}
};
