function initRequiredForms ()
{
	for (var i = 0; i < document.forms.length; i ++)
	{
		var form = document.forms[i];

		var labels = form.getElementsByTagName("label");
		
		form.requiredInputs = [];
		
		for (var j = 0; j < labels.length; j ++)
		{
			var label = labels[j];
			var input = document.getElementById(label.htmlFor);
			if ((!input) || (input.title != "required")) continue;
			form.requiredInputs.push([input, label]);
			label.innerHTML += "*";
			label.initial = label.innerHTML;
		}
	
		form.onsubmit = function ()
		{
			var valid = true;
			for (var k = this.requiredInputs.length - 1; k >= 0; k --)
			{
				var label = this.requiredInputs[k][1], input = this.requiredInputs[k][0]; 
				if (input.value == "") 
				{
					label.style.color = "red";
					if (label.title)
					{
						label.innerHTML = label.title;
					}
					valid = false;
					input.focus();
				}
				else
				{
					label.style.color = "";
					label.innerHTML = label.initial;
				}
			}
								
			return valid;
		}
	}
}

window.onload = initRequiredForms;