function processedXMLresponse(XMLdoc)
{
	var doc = XMLdoc;
	this.getStatus = getProcessedXMLresponseStatus;
	this.getResult = getProcessedXMLresponseResult;
	this.getErrors = getProcessedXMLresponseErrors;
	this.isSuccess = getProcessedXMLresponseStatusIsSuccess;
	this.isNotLoggedIn = getProcessedXMLresponseStatusIsNotLoggedIn;
	this.isNotEducator = getProcessedXMLresponseStatusIsNotEducator;
	this.alertErrors = getProcessedXMLresponseAlertErrors;

	function getProcessedXMLresponseStatus()
	{
		return doc.getElementsByTagName("status")[0].firstChild.data;
	}

	function getProcessedXMLresponseResult()
	{
		var result = doc.getElementsByTagName("result");
		if (result.length != 0) {
			if (result[0].firstChild != undefined)
				return result[0].firstChild.data;
			else
				return "";
		} else {
			return null;
		}
	}

	function getProcessedXMLresponseErrors()
	{
		var result = doc.getElementsByTagName("error");
		if(result.length != 0)
		{
			var errors = new Array(result.length);
			for(var i=0; i<errors.length; i++)
			{
				errors[i] = new Error(result[i]);
			}
			return errors;
		}
		else
			return null;
	}

	function getProcessedXMLresponseStatusIsSuccess()
	{
		if(getProcessedXMLresponseStatus()=="success")
			return true;
		else
			return false;
	}
	
	function getProcessedXMLresponseStatusIsNotLoggedIn()
	{
		if(getProcessedXMLresponseStatus()=="notloggedin")
			return true;
		else
			return false;
	}

	function getProcessedXMLresponseStatusIsNotEducator()
	{
		if(getProcessedXMLresponseStatus()=="noteducator")
			return true;
		else
			return false;
	}

	function Error(errorTag)
	{
		var tag = errorTag;
		this.getName = returnName;
		this.getDescription = returnDescription;

		function returnName()
		{
			return tag.getElementsByTagName("name")[0].firstChild.data;
		}

		function returnDescription()
		{
			return tag.getElementsByTagName("description")[0].firstChild.data;
		}
	}
	
	function getProcessedXMLresponseAlertErrors()
	{
		var errors = getProcessedXMLresponseErrors();
		var msg = "";
		if(errors.length<=0)
			return false;
		else
			msg += "Following error" + (errors.length==1?"":"s") + " occured:";
		for(var i=0; i<errors.length; i++)
		{
			msg += "\n(" + (i+1) + ") " + errors[i].getName() + ": " + errors[i].getDescription();
		}
		alert(msg);
		return true;
	}
}