<!--
var ObjID;
var XMLSection;
var temp_table;
var glob_bw = new lib_bwcheck();

function lib_bwcheck() // 10x a lot 2 Dia4
{
	this.ver=navigator.appVersion;
	this.agent=navigator.userAgent;
	this.dom=document.getElementById?1:0;
	this.opera5=this.agent.indexOf("Opera 5")>-1;
	this.opera = this.agent.indexOf("Opera")>-1;
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
	this.ie7=(this.ver.indexOf("MSIE 7")>-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6||this.ie7;
	this.mac=this.agent.indexOf("Mac")>-1;
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5);
	return this;
}

function get_element(id)
	{
		if (glob_bw.ie5 || glob_bw.ie6 || glob_bw.ie7)
		{
			return document.all[id];
		}
		else
		{
			return document.getElementById(id);
		}
	}

function SetAttrs(elem, attr, val) // 10x a lot 2 Dia4
{
	//	вспомогательная функция - установщик атрибутов
	//	вход: элемент, название атрибута, значение атрибута
	
	var f = 1;
	if (glob_bw.ie5 || glob_bw.ie6 || glob_bw.ie7)
	{
		if (attr == 'class')
		{
			attr = 'className';
		}
		if (attr == 'style')
		{
			f = 0;
			elem.style.cssText = val;
		}
		if (attr.indexOf("on") == 0)
		{
			f = 0;
			elem.attachEvent(attr, new Function(val));
		}
	}
	if (glob_bw.opera)
	{
		if (attr == 'selected')
		{
			f = 0;
			elem.setAttribute('defaultSelected', 1);
		}
	}
	if (f)
	{
		elem.setAttribute(attr, val);
	}
	return 1;
}

function ParseXML(XMLNode, HTMLParentNode)
{
	for(var i = 0; i < XMLNode.childNodes.length; i++)
	{
		switch(XMLNode.childNodes[i].nodeType)
		{
			case 1: // если элемент
				var NewHTMLElement = document.createElement(XMLNode.childNodes[i].nodeName);
				if (XMLNode.childNodes[i].attributes.length > 0)
				{
					for(var j = 0; j < XMLNode.childNodes[i].attributes.length; j++)
					{
						SetAttrs(NewHTMLElement, XMLNode.childNodes[i].attributes[j].nodeName, XMLNode.childNodes[i].attributes[j].nodeValue);
					}
				}
				HTMLParentNode.appendChild(NewHTMLElement);
				ParseXML(XMLNode.childNodes[i], NewHTMLElement);
				break;
			case 3: // если текстовая нода
				var NewHTMLElement = document.createTextNode(XMLNode.childNodes[i].nodeValue);
				HTMLParentNode.appendChild(NewHTMLElement);
		}
	}
}

function loadXMLDoc(url, param1, param2)
{
	//get_element('loading').style.visibility = 'visible'; // Показать индикатор подгрузки данных
	
	ObjID = param2;
	XMLSection = param1;
	
	if (window.XMLHttpRequest) // для "родного" XMLHttpRequest
	{
		XMLObject = new XMLHttpRequest();
		XMLObject.onreadystatechange = processXMLObjectChange;
		XMLObject.open("GET", url, true);
		XMLObject.send(null);
	}
	else if (window.ActiveXObject) // для версии с ActiveX
	{
		XMLObject = new ActiveXObject("Microsoft.XMLHTTP");
		if (XMLObject) 
		{
			XMLObject.onreadystatechange = processXMLObjectChange;
			XMLObject.open("GET", url, true);
			XMLObject.send();
		}
	}
}

function processXMLObjectChange()
{
	if (XMLObject.readyState == 4) // только при состоянии "complete"
	{
		if (XMLObject.status == 200) // для статуса "OK"
		{
			// здесь идут всякие штуки с полученным ответом
			while (get_element(ObjID).childNodes.length > 0)
			{
				get_element(ObjID).removeChild(get_element(ObjID).firstChild);
			}
			
			ParseXML(XMLObject.responseXML.getElementsByTagName(XMLSection)[0], get_element(ObjID));
			
			//get_element('loading').style.visibility = 'hidden'; // Спрятать индикатор подгрузки данных
			
			return true;
		}
		else
		{
			alert("Не удалось получить данные:\n" + XMLObject.statusText);
			//get_element('loading').style.visibility = 'hidden'; // Спрятать индикатор подгрузки данных
		}
	}
}

//-->
