function
RpcRequests(
	nVersion
) {
	this.m_oXmlUtils = new XmlUtilsIe();
	this.m_arrParams = new Array();
	this.m_arrRequests = new Array();
	this.m_nVersion = nVersion;
	this.m_nRequestCount = 0;
//	this.m_strCommand = strCommand; 
	this.addRequest = RpcRequests_addRequest;
	this.getXml = RpcRequests_getXml;
	this.setCommand = RpcRequests_setCommand;
	this.getCommand = RpcRequests_getCommand;
	this.getVersion = RpcRequests_getVersion;
	this.addRequest = RpcRequests_addRequest;
	this.addRequest1 = RpcRequests_addRequest1;
	this.addRequestParam = RpcRequests_addRequestParam;
	this.addRequestParam1 = RpcRequests_addRequestParam1;
}

function
RpcRequests_getCommand() {
	return this.m_strCommand;
}

function
RpcRequests_getVersion() {
	return this.m_nVersion;
}

function
RpcRequests_getXml() {
//	var oXmlRequest = this.m_oXmlUtils.getXmlObject("<PMP/>");
	var oXmlRequest = this.m_oXmlUtils.getXmlObject("<PMP/>");
	
	var oRoot = oXmlRequest.documentElement;
	/*
		Runs over the requests;
	*/
	for (var strKey in this.m_arrRequests) {

		var oRequestNode = this.m_oXmlUtils.createNode(oXmlRequest, "REQUEST", "");
		oRoot.appendChild(oRequestNode);

		var strCommandName = strKey.split("#")[0];
		var nCommandId = strKey.split("#")[1];

		oRequestNode.appendChild(this.m_oXmlUtils.createNode(oXmlRequest, "METHODNAME", strCommandName));
		oRequestNode.appendChild(this.m_oXmlUtils.createNode(oXmlRequest, "ID", nCommandId));
		oRequestNode.appendChild(this.m_oXmlUtils.createNode(oXmlRequest, "VERSION", this.getVersion()));

		/*
			Add the request params
		*/
		var arrParams = this.m_arrRequests[strKey];
		if (arrParams.length > 0) {
			var oParamsNode = this.m_oXmlUtils.createNode(oXmlRequest, "PARAMS", "");
			oRequestNode.appendChild(oParamsNode);
			for (var i = 0; i < arrParams.length; i++) {
				var oNode = arrParams[i];
				if (oNode != null) {
					oParamsNode.appendChild(oNode);
				}	
			}
		}
	}
	return oXmlRequest
}
function
RpcRequests_addRequest1(
	strCommandName,
	strAttr
) {
	this.m_arrRequests[strCommandName + "#" + strAttr] = new Array();
}

function
RpcRequests_addRequest(
	strCommandName
) {
	this.addRequest1(strCommandName,"");
}


function
RpcRequests_addRequestParam1(
	strCommandName,
	strAttr,
	oXmlParam
) {
	this.m_arrRequests[strCommandName + "#" + strAttr].push(oXmlParam);
}


function
RpcRequests_addRequestParam(
	strCommandName,
	oXmlParam
) {
	this.addRequestParam1(strCommandName,"",oXmlParam);
}

function
RpcRequests_setCommand(
	strCommand
) {
	this.m_strCommand = strCommand;
}

/*function
RpcRequests_addFilterItem(
	strItemName,
	strItemValue,
	strFilterType,
	strFieldType
) {
	
	var strFilterTypeXml = (!strFilterType) ? "" : " FILTERTYPE='" + strFilterType + "'";
	var strFieldTypeXml = (!strFieldType) ? "" : " FIELDTYPE='" + strFieldType + "'";
	
	if (this.m_strFilterXml == "") {
		this.m_strFilterXml += "<FILTER>"
	}
	
	this.m_strFilterXml += (
		"<ITEM" + strFieldTypeXml + strFilterTypeXml + ">" + 
			"<NAME>"  + strItemName + "</NAME>" + 
			"<VALUE>" + strItemValue + "</NAME>" + 
		"</ITEM>"
	);	
}*/