function RequestCondition()
{
	this.id = null;
	this.values = null;
};

function XMLRequest()
{
	this.makeRequest = function(conditions)
	{
		var xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n" +
			"<r:Request xmlns:r=\"http://www.dreamntech.com/struts2/2009/request\">\r\n";
		
		var i = 0, j = 0;
		for(; i < conditions.length; i++)
		{
			if(conditions[i].values == null || conditions[i].values.length == 0)
				continue;
			
			xml += "<Condition name=\"" + conditions[i].id + "\">\r\n<Values>\r\n";
			for(j = 0; j < conditions[i].values.length; j++)
				xml += "<Value>" + conditions[i].values[j] + "</Value>\r\n";
			xml += "</Values>\r\n</Condition>\r\n";
		}
		xml += "</r:Request>";
		
		return xml;
	};
	
	this.makeRequestEscape = function(conditions)
	{
		var xml = "&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n" +
			"&lt;r:Request xmlns:r=\"http://www.dreamntech.com/struts2/2009/request\"&gt;\r\n";
		
		var i = 0, j = 0;
		for(; i < conditions.length; i++)
		{
			if(conditions[i].values == null || conditions[i].values.length == 0)
				continue;
			
			xml += "&lt;Condition name=\"" + conditions[i].id + "\"&gt;\r\n&lt;Values&gt;\r\n";
			for(j = 0; j < conditions[i].values.length; j++)
				xml += "&lt;Value&gt;" + conditions[i].values[j] + "&lt;/Value&gt;\r\n";
			xml += "&lt;/Values&gt;\r\n&lt;/Condition&gt;\r\n";
		}
		xml += "&lt;/r:Request&gt;";
		
		return xml;
	};
	
	this.isResponseOK = function(xmlDocument)
	{
		if(xmlDocument == null)
			return false;
		
		var list = xmlDocument.documentElement.getElementsByTagName("Result");
		if(list.length == 0)
			return false;
		else
		{
			var value = list.item(0).getAttribute("type");
			return (value == null || value.length == 0) ? false : (value.toLowerCase() == "ok");
		}
	};
	
	this.getResponseMessage = function(xmlDocument)
	{
		if(xmlDocument == null)
			return "";
		
		var list = xmlDocument.documentElement.getElementsByTagName("Result");
		if(list.length == 0)
			return "";

		var elemMessage = list.item(0);
		var value = "";
		for(var i = 0; i < elemMessage.childNodes.length; i++)
        {
            if(elemMessage.childNodes.item(i).nodeType == 3)
                value += elemMessage.childNodes.item(i).nodeValue;
        }
        return value;
	};
}
