var ajax = {
	url      : false,
	params   : false,
	func     : new Function,
	method   : "POST",
	ovveride : null,

	makeRequest : function() {
		http_request = false;
		if(window.XMLHttpRequest) {
			http_request = new XMLHttpRequest();
			if(http_request.overrideMimeType) {
				switch(this.ovveride) {
					case "text/html":
						http_request.overrideMimeType('text/html');
					break;
					case "text/xml":
					default:
						http_request.overrideMimeType('text/xml');
					break;
				}
			}
		}
		else if(window.ActiveXObject) {
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
		if(!http_request) {
			alert("ERROR: Your Browser do not support AJAX or JavaScript disabled.");
			return false;
		}

		http_request.onreadystatechange = function()
		{
			switch(http_request.readyState)
			{
				case 0: // Uninitialized
				break;
				case 1: // Loading
					document.body.style.cursor = 'wait';
				break;
				case 2: // Loaded
				break;
				case 3: // Interactive
				break;
				case 4: // Done!
					document.body.style.cursor = 'default';

					if(http_request.status == 200) {
						ajax.func();
					} else {
						alert('There was a problem with the request.');
					}
				break;
				default:
				break;
			}
		}
		switch(this.method.toUpperCase()) {
			case "GET":
				http_request.open('GET', this.url, true);
				http_request.send(null);
			break;
			case "POST":
			default:
				http_request.open('POST', this.url, true);
				http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				http_request.setRequestHeader("Content-length", this.params.length);
				http_request.setRequestHeader("Connection", "close");
				http_request.send(this.params);
			break;
		}
	}
}
//----------------------------------------------------------------------------------
function createSelect(xml, name, text, value)
{
	var items   = xml.getElementsByTagName("item");
	var values  = xml.getElementsByTagName(value);
	var options = xml.getElementsByTagName(text);
	var select  = document.createElement("select");
	select.name = name;

	for(var i = 0; i < items.length; i++) {
		select.options[i] = new Option(options[i].childNodes[0].nodeValue, values[i].childNodes[0].nodeValue);
	}

	return select;
}

function getFormData(formName)
{
	var o = document.getElementById(formName);
	var ps = '';
	var formTags = ['input','select','textarea'];
	var formData = new Object;

	for(i = 0; i < formTags.length; i++)
	{
		ct = o.getElementsByTagName(formTags[i]);
		if(ct.length > 0) {
			for(j = 0; j < ct.length; j++) {
				if(ct[j].name != 'undefined' && ct[j].name != '' && ct[j].name != null) {
					if((ct[j].type != 'checkbox' && ct[j].type != 'radio') || ct[j].checked) {
						if(ps.length > 0) { ps += "&"; }
						ps += ct[j].name+"="+ct[j].value;
					}
				}
			}
		}
	}
	formData.action = o.action;
	formData.params = ps;

	return formData;
}