var isIE = false;
function createObject () {
	if (window.XMLHttpRequest) {
		// code for Mozilla, etc.
		req = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) {
		// code for IE
		req = new ActiveXObject("Microsoft.XMLHTTP");
		isIE = true;
	}
	return req;
}

function createRequest (req, url, target, callbackfunction) {
	var target = eval(document.getElementById(target) );
	target.innerHTML = '&nbsp;<img src="../images/indicator_tiny_red.gif" title="loading..." alt="loading" />'; 
	createSilentRequest  (req, url, callbackfunction);
}

/* other times, you don't need any feedback.. 
* see params above. the only difference here is that there's no feedback indicator.
*/

function createSilentRequest (req, url, callbackfunction) {
	if (req != undefined) {
		req.onreadystatechange = callbackfunction;
		req.open("GET", url, true);		
		if (isIE) 
			req.send();
		else
			req.send(null);		
	}
}

function loadPageContent(req, elementId) {	
	if (req.readyState == 4) { // only if req is "loaded"
		if (req.status == 200) { // only if "OK"
			var target = eval(document.getElementById(elementId) );	
			target.innerHTML = req.responseText			
		} 
		else {
			alert ("Error:\n"+req.statusText);  
		}
	}    
}

function loadPage(sURL, elementId) {
	var url = sURL
	var req = createObject();
	createRequest (req, url, elementId, function() { loadPageContent(req, elementId);} );	
}
