	var Post = new Object();
	Post.Send = function(form,contentdiv,imagedir,padding,loadingimage) {
		if (!padding) { var padding = "11px 11px 0 11px"; }
		var formhandle = document.getElementById(form);
		var query = Post.buildQuery(formhandle);
		Ajax.Request(formhandle.method, formhandle.action, query, Post.OnResponse,contentdiv,imagedir,padding,loadingimage);
		return false;
	}

	Post.OnResponse = function(xml) {
		//var results = document.createElement('div'); 
		//document.getElementsByTagName('body')[0].appendChild(results);
		//results.innerHTML = xml.firstChild.nodeValue; 
		document.getElementById(contentdiv).innerHTML = xml.responseText; 
	}

	Post.buildQuery = function(form) {
		var query = "";
		for(var i=0; i<form.elements.length; i++) {
			var key = form.elements[i].name;
			var value = Post.getElementValue(form.elements[i]);
			if(key && value) {
				query += key +"="+ value +"&";
			}
		}
		return query;
	}

	Post.getElementValue = function(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':
					if(formElement.checked == true) { return formElement.value; } else { return 0; }
			//case 'checkbox': return formElement.checked;
		
			default: return formElement.value;
		}
	}
	
	var Ajax = new Object();
	Ajax.isUpdating = true;
	
	Ajax.Request = function(method, url, query, callback,contentdiv,imagedir,padding,loadingimage) {
		if (!loadingimage) { loadingimage = 'loading2.gif'; }
		document.getElementById(contentdiv).innerHTML = '<div style="padding:' + padding + '; text-align:center;"><img src="' + imagedir + '/' +  loadingimage + '" width="32" height="32" /></div>';
		this.isUpdating = true;
		this.callbackMethod = callback;
		pagerequest = (window.XMLHttpRequest)? new XMLHttpRequest(): new ActiveXObject("MSXML2.XMLHTTP"); 
		pagerequest.onreadystatechange = function() { Ajax.checkReadyState(contentdiv); };
		
		if(method.toLowerCase() == 'get') url = url+"?"+query;
		pagerequest.open(method, url, true);
		pagerequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;  charset=utf-8");
		pagerequest.send(query);
	}
	
	Ajax.checkReadyState = function(contentdiv) {
		switch(pagerequest.readyState) {
			case 1: break;
			case 2: break;
			case 3: break;
			case 4:
				this.isUpdating = false;
				var ajaxresults;
				if (pagerequest.status == 200) {
					ajaxresults = pagerequest.responseText;
				} else if (pagerequest.status == 404) {
					ajaxresults = "The target script was not found.  (Error 404)";
				} else if (pagerequest.status == 500) {
					ajaxresults = "This page returned a script error. (Error 500)";
				} else {
					ajaxresults = "An unknown error occurred.";
				}
				document.getElementById(contentdiv).innerHTML = ajaxresults;
		}
	}