var req;
function loadXMLDoc(url) {
	req = false;
	// branch for native XMLHttpRequest object
	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			req = new XMLHttpRequest();
		} catch(e) {
			req = false;
		}
	// branch for IE/Windows ActiveX version
	} else if(window.ActiveXObject) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
		  		req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
		  		req = false;
			}
		}
	}
	if(req) {
		req.open("GET", url, false);
		req.send("");
	}
    return req.responseText;
}

function loadXMLDocViaPost(url, query) {
	req = false;
	// branch for native XMLHttpRequest object
	if(window.XMLHttpRequest && !(window.ActiveXObject)) {
		try {
			req = new XMLHttpRequest();
		} catch(e) {
			req = false;
		}
	// branch for IE/Windows ActiveX version
	} else if(window.ActiveXObject) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
		  		req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
		  		req = false;
			}
		}
	}
	if(req) {
		req.open("POST", url, false);
		req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    req.setRequestHeader("Content-length", query.length);
    req.setRequestHeader("Connection", "close");
		req.send("");
	}
  return req.responseText;
}

function buildQuery(form)
{
	var query = "";
	for(var i=0; i<form.elements.length; i++)
	{
		var key = form.elements[i].name;
		var value = getElementValue(form.elements[i]);
		if(key && value)
		{
			query += key +"="+ value +"&";
		}
	}
	return query;
}

function getElementValue(formElement)
{
	if(formElement.length != null) var type = formElement[0].type;
	if((typeof(type) == 'undefined') || (type == 0)) var type = formElement.type;

	switch(type)
	{
		case 'undefined': return;

		case 'radio':
			for(var x=0; x < formElement.length; x++) 
				if(formElement[x].checked == true)
			return formElement[x].value;

		case 'select-multiple':
			var myArray = new Array();
			for(var x=0; x < formElement.length; x++) 
				if(formElement[x].selected == true)
					myArray[myArray.length] = formElement[x].value;
			return myArray;

		case 'checkbox': return formElement.checked;
	
		default: return formElement.value;
	}
}

function stuffDiv(url, div) {
    var result = loadXMLDoc(url);
    document.getElementById(div).innerHTML=result;
}

function formResultIntoDiv(form, divId) {
	var query = buildQuery(form);
	var url = form.action;
	if(url.indexOf('?') > -1)
		url = url.substring(0, url.indexOf('?'));
	url = url + '?' + query; 
	var result = loadXMLDocViaPost(url,query);
	document.getElementById(divId).innerHTML=result;	
}



