/*
Class: XML
Базовые функции работы с XML.

> var L = XML.list(doc,'item');

*/
var XML = {};

/*
Method: XML.toList
Преобразовывает коллекцию, полученную с помощью getElementsByTagName в список.

Parameters:
	s - Колекция
*/
XML.toList = function(s){
	var out = new Array();
	for(var i=0;i<s.length;i++){
		var e = {};
		for(var j=0;j<s[i].childNodes.length;j++){
			if (s[i].childNodes[j].nodeType != 1) continue;
			e[s[i].childNodes[j].nodeName] = s[i].childNodes[j].firstChild.nodeValue;
		}
		out.push(e);
	}
	return out;
}

/*
Method: XML.node
Возвращает значение ноды из документа по имени (тагу). Если она не одна,
то значени первой ноды.

Parameters:
	doc - Документ
	name - Имя ноды
*/

XML.node = function(d,name){
	var e = XML.toList(d.getElementsByTagName(name));
	return  (e.length == 0 ? {} : e[0]);
}

/*
Method: XML.list
Достает ноды с именем name в виде списка из документа.

Parameters:
	doc - Документ
	name - Имя ноды
*/
XML.list = function(d,name){
	return XML.toList(d.getElementsByTagName(name));
}
