function TFormSection(pvHtmlElId, pvSingleSubmit, pvSubmitId, pvOnBeforeSubmit)
{
	this.htmlel = getEl(pvHtmlElId);
	this.singlesubmit = pvSingleSubmit;
	this.submitbutton = null;
	this.onbeforesubmit = pvOnBeforeSubmit;
	this.submitdone = false;
	this.keycode = 0;

	var lvInputs = this.htmlel.getElementsByTagName("input");
	var lvSection = this;

	for (var i = 0; i < lvInputs.length; i++)
	{
		var lvField = lvInputs[i];
		var lvType = lvField.type.toLowerCase();
		if ((lvType == "text") || (lvType == "password"))
		{
			attachEvt(lvField, "keypress", function(event) { return lvSection.keyPress(event); });
		}
		else if (lvType == "submit" && this.submitbutton == null)
		{
			if (pvSubmitId == "" || lvField.id == pvSubmitId)
			{
				this.submitbutton = lvField;
				attachEvt(this.submitbutton, "click", function(event) { return lvSection.submit(event); lvSection.submit(event); });
			}
		}
	}
}

TFormSection.prototype.keyPress = function(evt)
{
	if (evt.keyCode == 13)
	{
		if (this.submitbutton == null) { document.forms[0].submit(); }
		else { this.submitbutton.click(); }
		return preventDefault(evt);
	}
	else { return true; }
}

TFormSection.prototype.submit = function(evt)
{
	var lvResult = false;

	if (!this.submitdone)
	{
		lvResult = (this.onbeforesubmit == null) ? true : this.onbeforesubmit();
		if (lvResult) { this.submitdone = this.singlesubmit; }
	}

	if (lvResult) { return true; }
	else { return preventDefault(evt); }
}