	function more(name)
	{
		var nospaces = name.split(" ").join("_");
		document.getElementById(nospaces + "_div").style.visibility = "visible";
		setText(document.getElementById(nospaces + "_anchor"), 'hide...');
		document.getElementById(nospaces + "_anchor").href= "javascript:less('" + name + "')";
	}
	function more2(id, text)
	{
		document.getElementById(id + "_div").style.visibility = "visible";
		setText(document.getElementById(id + "_anchor"), 'hide...');
		document.getElementById(id + "_anchor").href= "javascript:less2('" + id + "', '" + text + "')";
	}
	function less(name)
	{
		var nospaces = name.split(" ").join("_");
		document.getElementById(nospaces + "_div").style.visibility = "hidden";
		setText(document.getElementById(nospaces + "_anchor"), name);
		document.getElementById(nospaces + "_anchor").href= "javascript:more('" + name + "')";
	}
	function less2(id, text)
	{
		document.getElementById(id + "_div").style.visibility = "hidden";
		setText(document.getElementById(id + "_anchor"), text);
		document.getElementById(id + "_anchor").href= "javascript:more2('" + id + "', '" + text + "')";
	}

function create_query(form)
{
	var query = "/admin/serv?";
	for (i = 0; i < form.elements.length; i++)
	{
		var elem = form.elements[i];
	
		if (elem.type == "checkbox")
		{
			if (elem.checked)
				query += elem.name + "=" + escape(elem.value) + "&";
		}
		else if (elem.type == "radio")
		{
			if (elem.checked)
				query += elem.name + "=" + escape(elem.value) + "&";
		}
		else if (elem.type == "select")
		{
			query += elem.name + "=" + escape(elem.options[elem.selectedIndex]) + "&";
		}
		else
		{
			query += elem.name + "=" + escape(elem.value) + "&";
		}
	}
	return query;
}


function setText(element, text)
{
    if (document.importNode)
    {
		while (element.childNodes[0]) {
	    	element.removeChild(element.childNodes[0]);
		}
	    var el = document.createTextNode(text);
       	element.appendChild(el);
    }
    else 
    {
       element.innerHTML = text;
    }
}



function addXML(element, response)
{
    if (document.importNode)
    {
	    var el = document.importNode(response.responseXML.documentElement, true);
       	element.appendChild(el);
    }
    else 
    {
		var jsindex = response.responseXML.documentElement.xml.indexOf('eval::');
		if (jsindex > -1)
		{
			var js = response.responseXML.documentElement.xml.substring(jsindex+6);
			js = js.substring(0, js.indexOf('::eval'));
			js = js.replace('amp;', '').replace('amp;', '').replace('amp;', '').replace('amp;', '').replace('amp;', '').replace('amp;', '').replace('amp;', '');
			eval (js);
		}
		else
		{
	       element.innerHTML = element.innerHTML + response.responseXML.documentElement.xml;
	    }
    }
}


function setXML(element, response)
{
    if (document.importNode)
    {
		while (element.childNodes[0]) {
	    	element.removeChild(element.childNodes[0]);
		}
	    var el = document.importNode(response.responseXML.documentElement, true);
       	element.appendChild(el);
    }
    else 
    {
		var jsindex = response.responseXML.documentElement.xml.indexOf('eval::');
		if (jsindex > -1)
		{
			var js = response.responseXML.documentElement.xml.substring(jsindex+6);
			js = js.substring(0, js.indexOf('::eval'));
			js = js.replace('amp;', '').replace('amp;', '').replace('amp;', '').replace('amp;', '').replace('amp;', '').replace('amp;', '').replace('amp;', '');
			eval (js);
		}
		else
		{
 		      element.innerHTML = response.responseXML.documentElement.xml;
	    }
    }
}

function setElement(http_request, response) 
{
	if (http_request.readyState == 4) {
    	if (http_request.status == 200 || http_request.status == 0) {
        	var xmldoc = http_request.responseXML.documentElement;
        	//alert(http_request.responseText);
        	response.responseText = http_request.responseText;
        	response.responseXML = http_request.responseXML;//xmldoc.getElementsByTagName('root').length;
        	//response.loaded = true;
        	response.onload();
        	//alert( http_request.responseXML.xml);
			//alert( http_request.responseXML.parseError.reason);
        	//alert(response.response);
			//var root_node = xmldoc.getElementsByTagName('root').item(0);
			//alert(root_node.firstChild.data);
		} else {
			response = null;
			//alert('There was a problem with the request.');
		}
	}
}


function loadXML(response, url)
{
    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
            // See note below about response line
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        return false;
    }
    //response.loaded = false;
    http_request.onreadystatechange = function() { setElement(http_request, response); };
    http_request.open('GET', url, true);
	//http_request.overrideMimeType('text/xml');
    http_request.send(null);
    return true;
}

function Ajax() {}

function insertURL(id, url)
{
	var ajax = new Ajax();
	ajax.onload = function() { addXML(document.getElementById(id), this); }
	var loaded = loadXML(ajax, url);
}

function loadURL(id, url)
{
	var loader = new Ajax();
	var is_loaded = false;
	loader.onload = function() { if (!is_loaded) setXML(document.getElementById(id), this); }
	loadXML(loader, '/ajax/loader.jsp?page=' + escape(url));

	var ajax = new Ajax();
	ajax.onload = function() { setXML(document.getElementById(id), this); is_loaded = true; }
	loadXML(ajax, url);
}

// load without the "...loading..."
function directLoadURL(id, url)
{
	var ajax = new Ajax();
	ajax.onload = function() { setXML(document.getElementById(id), this); }
	var loaded = loadXML(ajax, url);
}