 AJAX = {

	create:		function () {

				var xmlhttp;

				try {
					xmlhttp = new XMLHttpRequest();
					return xmlhttp;
				}

				catch(err1) {
					var ieXmlHttpVersions = new Array();
					ieXmlHttpVersions[ieXmlHttpVersions.length] = "Microsoft.XMLHttp";
					ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.7.0";
					ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.6.0";
					ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.5.0";
					ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.4.0";
					ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp.3.0";
					ieXmlHttpVersions[ieXmlHttpVersions.length] = "MSXML2.XMLHttp";

					for (var i=0; i < ieXmlHttpVersions.length; i++) {
						try {
							xmlhttp = new ActiveXObject(ieXmlHttpVersions[i]);
							return xmlhttp;
						}

						catch (err2) { 
							alert("Your browser does not support AJAX!"); 
							return false;
						}
					}
				}
			},

	callPage:	function (url,resp,method,args){
				var me = this;

				try {
					var ao = this.create();

					ao.onreadystatechange = function() {
						if(ao.readyState==4) {

							if (ao.status==200) {
								me.processIt(resp, ao.responseText);
							}

							if (ao.status==404) {
								alert("page not found");
							}
						}
					}

					if(!method) method="GET";

					if(!args) args=null;

					ao.open(method,url+"?"+Math.random(),true);

					if(method=="POST") ao.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

					ao.send(args);
				}

				catch(ex){
					this.onError(ex);
				}
			},

	processIt:	function (fun, r) {
				var f = new Function ( fun+"(\""+Url.encode(r)+"\");" );
				f();
			}
 }
