function InlineAlerter(formHandle, documentHandle, ve)
{
	this._formHandle = formHandle;
	this._documentHandle = documentHandle;
	this._ve = ve;
}
InlineAlerter.prototype =
{
	report : function()
	{
		var o;
		var fieldStyle, message, messageStyle;
		function apply(o,s)
		{
			o.className=o.className.replace(/ ?(manerror|valerror)/,"");
			s&&(o.className+=(o.className?" ":"")+s);
		}

		var m = this._ve.getMandatoryErrors();
		var v = this._ve.getValidationErrors();
		var f;
		var fields = this._ve.getFieldsForRules();
		for (var i = 0; i < fields.length; i++)
		{
			o = this._formHandle.elements[fields[i]];
			var f = fields[i];
			if (m[f])
				fieldStyle = "manerror", message = "Please complete this field", messageStyle = "manerrorinline";
			else if (v[f])
				fieldStyle = "valerror", message = v[f].messages.join(""), messageStyle = "valerrorinline";
			else
				fieldStyle = "", message="", messageStyle = "noerrorinline";

			if (o.type)
				apply(o, fieldStyle);
			else
				for(var j = 0; j < o.length; apply(o[j++], fieldStyle));

			if (o = this._documentHandle.getElementById(f+"Error")) o.innerHTML=message,o.className=messageStyle;
		}
	},
	toString : function() { return("To be implemented"); }
};

