﻿function SubmitFormIfEnterKey__doPostBack(targetButtonName, causesValidation, targetValidationGroup)
{
	// In this function, specify "window." prefix for
	//  all ASP.NET JScript functions and classes,
	//  or they may not resolve in Firefox!
	if (causesValidation == true)
	{
		var validationResult = true;
		if (typeof (window.Page_ClientValidate) == "function")
		{
			validationResult = window.Page_ClientValidate(targetValidationGroup);
		}

		if (validationResult)
		{
			if (typeof (window.WebForm_DoPostBackWithOptions) == "function")
			{
				window.WebForm_DoPostBackWithOptions(new window.WebForm_PostBackOptions(targetButtonName, "", false, targetValidationGroup, "", false, true));
			}
			else
			{
				window.__doPostBack(targetButtonName, "");
			}
		}
	}
	else
	{
		window.__doPostBack(targetButtonName, "");
	}
}

function SubmitFormIfEnterKey(e, targetButtonName, causesValidation, validationGroup)
{
	if ( document.all ) {
		if ( window.event && window.event.keyCode == 13 ) {
			window.event.cancelBubble = true;
			window.event.returnValue = false;
			window.event.keyCode = 40;
			SubmitFormIfEnterKey__doPostBack(targetButtonName, causesValidation, validationGroup);
			return false;
		} else {
			return true;
		}
	} else {
		if ( e && e.which == 13 ) {
			e.preventDefault();
			e.stopPropagation();
			SubmitFormIfEnterKey__doPostBack(targetButtonName, causesValidation, validationGroup);
			return false;
		} else {
			return true;
		}
	}
}
