﻿
var http_request;

/*	
AjaxRequest()
Written by Andrew Delicata, January 2010.
Performs an ajax call to a webservice/feed and sends the response to the specifed delegate function
*/
function AjaxRequest(FeedUrl, ParameterCollection, DelegateFunction) {
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
	}
	window.status = 'Loading AJAX request.....';
	var url = FeedUrl;
	var i = 0;
	for (param in ParameterCollection) {
		url += ((i == 0) ? '?' : '&') + param + '=' + ParameterCollection[param];
		i++;
	}
	http_request.onreadystatechange = function() {
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				DelegateFunction(http_request.responseXML);
				window.status = 'AJAX request completed successfully.';
			} else {
				//  AJAX error occured
				window.status = 'An AJAX error occurred.';
			}
		}
	}
	http_request.open('GET', url, true);
	http_request.send(null);
}