var req;

function loadXMLDoc(url) 
{
	// Ветка для объекта XMLHttpRequest 
    if (window.XMLHttpRequest) 
	{
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);	
    } 
	// Ветка для объекта ActiveX IE/Windows
	else if (window.ActiveXObject) 
	{
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) 
		{
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}

function processReqChange() 
{
    if (req.readyState == 4) 
	{
        if (req.status == 200) 
		{
			response = req.responseXML.documentElement;
			
			if (navigator.appName.indexOf("Explorer")!=-1)
			{
				for (m = 0; m < response.getElementsByTagName('method').length; m++)
				{
					method = response.getElementsByTagName('method').item(m);
					methodName = method.getAttribute('funct');
					tmpar = new Array();
					Node = method.childNodes;
					for (var i=0; i<Node.length; i++) 
					{
						tmpar[i] = '\'' + Node.item(i).getAttribute('value') + '\'';
					}
				}
			}
			else
			{
				for (m = 0; m < response.getElementsByTagName('method').length; m++)
				{
					method = response.getElementsByTagName('method')[m];
					methodName = method.attributes['funct'].nodeValue;
					tmpar = new Array();
					tmp = 0;
					for (var i = 0; i< method.childNodes.length; i++)
					{
						if (method.childNodes[i].nodeName != '#text')
						{
							tmpar[tmp] ='\'' +  method.childNodes[i].attributes['value'].nodeValue + '\'';
							tmp++;
						}
					}
				}
			}
			result = tmpar.join();
			eval(methodName + '('+ result +')');
        } 
		else 
		{
            alert("There was a problem retrieving the XML data:\n" + req.statusText);
		}
    }
}



