///////////////////////////////////////
// AJAX Basic Framework
// Author: Stephan Mitchev
// Date: 10/25/2006
///////////////////////////////////////

	function getHttpRequestHandle() {
		if(window.XMLHttpRequest) {
			try {
				return new XMLHttpRequest();
			} catch(e) {
				return false;
			}
		// branch for IE/Windows ActiveX version
		} else if(window.ActiveXObject) {
			try {
				return new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				try {
					return new ActiveXObject("Microsoft.XMLHTTP");
				} catch(e) {
					return false;
				}
			}
		}
	}
	
	
	
	function loadModule(url, elementName) {
		var r = getHttpRequestHandle();
		r.onreadystatechange = function() {renderElement(r, document.getElementById(elementName)) };
		//r.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2005 00:00:00 GMT");
		r.open("GET", url, true);
		r.send(null);				
	}
	
	function renderElement(r, e) {
		if (r.readyState == 4) {
			if (r.status == 200) {
				res = r.responseText;
				start = res.indexOf("<!-- AJAX_START -->") + 19;
				end = res.indexOf("<!-- AJAX_END -->");
				e.innerHTML = r.responseText.substring(start, end);
			} else {
				e.innerHTML = "There was a problem retrieving the information:<br />" + r.statusText;
			}
		}
	}
