	function getXMLValue(operation, tagName, number) {
		if (number==null) number=0;
		if (   !operation 
			|| !operation.getElementsByTagName(tagName) 
			|| !operation.getElementsByTagName(tagName)[number] 
			|| !operation.getElementsByTagName(tagName)[number].childNodes[0] 
			|| !operation.getElementsByTagName(tagName)[number].childNodes[0].nodeValue) return '';
			
		return operation.getElementsByTagName(tagName)[number].childNodes[0].nodeValue;
	}

	function getArrayOfValues(operation, parentName, tagName) {
		if (   !operation 
			|| !operation.getElementsByTagName(parentName) 
			|| !operation.getElementsByTagName(parentName)[0]) return '';
		var a = operation.getElementsByTagName(parentName)[0];
		if (!a) d('Wrong XML!');
		var ar = new Array();
		var list = a.getElementsByTagName(tagName);
    	for (var i = 0; i<list.length; i++) {
    		var c = list[i];
//			d(c.childNodes.length);
			if (c.childNodes.length>0)
				ar.push(c.childNodes[0].nodeValue);    		
		}
		return ar;
	}
	
	function getArrayOfNodes(operation, parentName, tagName) {
//		dO(arguments);
//		dO(operation);
//		dO(operation.getElementsByTagName(parentName));
		if (   !operation 
			|| !operation.getElementsByTagName(parentName) 
			|| !operation.getElementsByTagName(parentName)[0]) return '';
		var a = operation.getElementsByTagName(parentName)[0];
		if (!a) d('Wrong XML!');
		var ar = new Array();
		var list = a.getElementsByTagName(tagName);
    	for (var i = 0; i<list.length; i++) {
    		var c = list[i];
			ar.push(c);    		
		}
		return ar;
	}	