var Ajax = {
	getXMLHttpRequest: function() {
		var xmlHttpReq = null;
		if (window.XMLHttpRequest) { // Mozilla/Safari
			xmlHttpReq = new XMLHttpRequest();
		} else
		if (window.ActiveXObject) { // IE
			xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
		}
		return xmlHttpReq;
	},
	
	call: function(url, params, callback, method, async) {
		var request = Ajax.getXMLHttpRequest();
		request.open(method, url, async);
		request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		//request.setRequestHeader('Content-Length', params.length);
		request.onreadystatechange = function() {
			if (request.readyState==4 && request.status==200) {
				callback(request);
			}
		};
		request.send(params);
	},
	
	callGET: function(url, params, callback) {
		Ajax.call(url, params, callback, 'GET', true);
	},
	
	callPOST: function(url, params, callback) {
		Ajax.call(url, params, callback, 'POST', true);
	}
};

/*var Page = {
	_onload_hooks: new Array(),
	_onresize_hooks: new Array(),
	_onscroll_hooks: new Array(),

	addOnLoadHook: function(f) {
		Page._onload_hooks[Page._onload_hooks.length] = f;
	},

	addOnResizeHook: function(f) {
		Page._onresize_hooks[Page._onresize_hooks.length] = f;
	},

	addOnScrollHook: function(f) {
		Page._onscroll_hooks[Page._onscroll_hooks.length] = f;
	},

	onload: function() {
		for (var i = 0; i < Page._onload_hooks.length; i++) {
			Page._onload_hooks[i]();
		}
	},

	onresize: function() {
		for (var i = 0; i < Page._onresize_hooks.length; i++) {
			Page._onresize_hooks[i]();
		}
	},

	onscroll: function() {
		for (var i = 0; i < Page._onscroll_hooks.length; i++) {
			Page._onscroll_hooks[i]();
		}
	}
};
window.onload = Page.onload;
window.onresize = Page.onresize;
window.onscroll = Page.onscroll;
*/