function errorManager()
{
	var m_errorMessage = new Array();
	var m_fieldName = new Array();
	var m_fieldCount = 0;
	var m_form = null;
	this.global = true;
	this.eachField = true;	
	this.asError = false;
	this.write = write;
	this.raise = raise;
	this.clear = clear;
	this.setForm = setForm;		
	
	function setForm(frm)
	{
		m_form = frm	
	}
	
	function raise(fieldName, CurrentError)
	{			
			m_fieldName[m_fieldCount] = fieldName;
			m_errorMessage[m_fieldCount] = CurrentError;			
			m_fieldCount++;
			this.asError = true;			
	}			
	
	function write()
	{		
		var errorContainer = null;
		var errorMessage = "";
		if (this.global)
		{
			errorContainer = document.createElement("SPAN");
			errorContainer.setAttribute("id", "resumeError");	
			errorContainer.setAttribute("class", "globalError");
			
			m_form.insertBefore(errorContainer, m_form.firstChild);
			
			errorContainer = document.getElementById("resumeError")
			errorMessage = MSG_ERROR_FOUND + "<UL>";			
			
			for (i = 0; i < m_fieldCount; i++)
			{				
				errorMessage += "<LI>" + m_errorMessage[i] + "</LI>";
			}
			
			errorMessage += "</UL>";			
			errorContainer.innerHTML += errorMessage
			
		}
		if (this.eachField)
		{
				for (i = 0; i < m_fieldName.length; i++)
				{
						errorContainer = document.createElement("SPAN")
						errorContainer.setAttribute("id", m_fieldName[i].id + "Error");
						errorContainer.setAttribute("class", "fieldError");
												
						if (!document.getElementById(m_fieldName[i].id + "Error"))
						{
							m_fieldName[i].parentNode.insertBefore(errorContainer, m_fieldName[i].nextSibling);
						}
										
						errorContainer = document.getElementById(m_fieldName[i].id + "Error")
						errorContainer.innerHTML += "<BR/>" + m_errorMessage[i];
				}
		}
	}		
	
	function clearLabel()
	{		
		for (i = 0; i < m_fieldName.length;i++)
		{
			if (m_fieldName[i].nextSibling && m_fieldName[i].nextSibling.id.indexOf("Error") >= 0)
				m_fieldName[i].parentNode.removeChild(m_fieldName[i].nextSibling);
		}		
		
		if (m_form.hasChildNodes() && m_form.firstChild.id.indexOf("Error") > 0)
		{
			m_form.removeChild(m_form.firstChild);
		}
	}
	
	function clear()
	{		
		if (this.asError)
			clearLabel();
		m_fieldName = new Array();
		m_errorMessage = new Array();
		m_fieldCount = 0;	
		this.asError = false;		
	}
}