// AJAX Utilities

var AjaxUtil = new Object();

AjaxUtil.MakeRequest = function (url,CallBack) {

        var httpRequest;

        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            httpRequest = new XMLHttpRequest();
            if (httpRequest.overrideMimeType) {
                httpRequest.overrideMimeType('text/plain');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!httpRequest) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
        }

        httpRequest.onreadystatechange = function() { AjaxUtil.ProcessRequest (httpRequest, CallBack); };
        httpRequest.open('GET', url, true);
        httpRequest.send(null);

}

AjaxUtil.ProcessRequest = function (httpRequest, CallBack) {

        //xmlhttp ready state constants
	    var RS_LOADING = 1;
	    var RS_LOADED = 2;
	    var RS_RECEIVING = 3;
	    var RS_COMPLETE = 4;

	    //http status constants
	    var HS_FOUND = 200;
	    var HS_NOT_FOUND = 404;

        if (httpRequest.readyState == RS_COMPLETE) { //page is ready, response has come back

		    if (httpRequest.status == HS_FOUND) { //http success code

				CallBack(httpRequest);

		    }
		    else {
		        alert("Unable to Process Request");
		    }
        }
}

AjaxUtil.TrackClick = function(pageName){
  AjaxUtil.MakeRequest('/Resources/TrackClick.aspx?pn='+encodeURI(pageName), function(){});
}