function call_ajax_form(html, url, form)
{
    if (typeof html != "object") { html = document.getElementById(html); }
    if (typeof form != "object") { form = document.getElementById(form); }

    var xmlhttp = null;

    if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); }
    else if (window.ActiveXObject) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }

    if (xmlhttp == null)
    {
	alert("Your browser does not support XMLHTTP.");
	return;
    }

    var formstring = '';
    for (var i = 0; i < form.length; i++)
    {
	var e = form.elements[i];
	var type = e.type;
	if (type == "radio" && e.checked)
	{
	    formstring = formstring + escape(e.name) + "=" + escape(e.value) + "&";
	}
	if (type == "checkbox" && e.checked)
	{
	    formstring = formstring + escape(e.name) + "=" + escape(e.value) + "&";
	}
	if (type == "hidden" || type == "text")
	{
	    formstring = formstring + escape(e.name) + "=" + escape(e.value) + "&";
	}
	if (type == "select-one")
	{
	    var value = "";
	    for (var j = 0; j < e.length; j++) { if (e.options[j].selected) { value = e.options[j].value; } }
	    formstring = formstring + escape(e.name) + "=" + escape(value) + "&";
	}
    }

    xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { html.innerHTML = xmlhttp.responseText; } }
    xmlhttp.open("POST", url, true);
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlhttp.send(formstring);
}
