<!--
function checkForm(f)
{
	var els = f.elements;
	
	for(var x=0;x<els.length;x++)
	{
		var valid = true;
		var elrequired = false;
		var elrequiredif = false;
		var elvalidate = false;
		var elpattern = '';
		var elcondition = '';
		var errmessage = null;
		
		var el=els[x];
		var attrs=el.attributes;

		for(var a=0; a<attrs.length; a++)
		{
			if(attrs[a].name=='requiredif') {
				elrequiredif=true;
				elcondition = attrs[a].value;
			}
			if(attrs[a].name=='required') elrequired=true;
			if(attrs[a].name=='validation') {
				elvalidate = true;
				elpattern = attrs[a].value;
			}
			if(attrs[a].name=='errormessage') errmessage=attrs[a].value;
		}
		if(elrequiredif)
		{
			var kvp = elcondition.split('=');
			eval("var elcond=f."+kvp[0]+";var ellength=f."+kvp[0]+".length;");
			try {
				valid=false;
				elrequired=true;
				for(var er=0; er<ellength;er++)
				{
					eval("if((kvp[1]==f."+kvp[0]+"[er].value) && !f."+kvp[0]+"[er].checked) { elrequired=false;valid=true;}");
				}
			} catch(e) {
				elrequired=false;
			}
		}
		
		if(elrequired)
		{
			switch(el.type)
			{
				case 'radio':
					eval("var options=f."+el.name+".length;");
					valid=false;
					for(var o=0; o<options; o++)
					{
						eval("elopt=f."+el.name+"[o]");
						if(elopt.checked)
							valid=true;
					}
					break;

				case 'checkbox':
					valid=el.checked;
					break;
					
				default:
					if(elvalidate)
					{
						eval('var re='+elpattern);
						valid=re.test(el.value);
					}
					break;
			}
		}
		if(elvalidate && !elrequired && !valid && (el.value==''))
			valid=true;

		if(!valid)
		{
			if(errmessage==null)
				alert('Invalid or Required Input: '+el.name);
			else
				alert(errmessage);
			el.focus();
			return false;
		}
	}
	return true;
}
//-->
