		var Ajax = function() {
		}
		
		Ajax.prototype.getXmlHttpRequest = function() {
			var xmlhttp = false;
		
			if (window.XMLHttpRequest) {
				xmlhttp = new XMLHttpRequest();
			} else {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
				
			return xmlhttp;
		}
		
		Ajax.prototype.callByAjax = function(url, callbackHandler) {
			try {
				var xmlhttp = this.getXmlHttpRequest();
				xmlhttp.open("GET", url , true);
				xmlhttp.onreadystatechange = function() {
					if (xmlhttp.readyState == 4) {
						if (xmlhttp.status == 200) {
							var data = xmlhttp.responseText;
							callbackHandler(data);
						} else {
							alert("Ajax request failed("+xmlhttp.status+")");
						}
					}
				}
				xmlhttp.send(null);
			} catch (e) {
				alert(e.message);
			}
			return false;
		}
		
		Ajax.prototype.callByAjaxWithId = function(url, callbackHandler, id) {
			try {
				var xmlhttp = this.getXmlHttpRequest();
				xmlhttp.open("GET", url , true);
				xmlhttp.onreadystatechange = function() {
					if (xmlhttp.readyState == 4) {
						if (xmlhttp.status == 200) {
							var data = xmlhttp.responseText;					
							callbackHandler(data, id);
						} else {
							alert("Ajax request failed("+xmlhttp.status+")");
						}
					}
				}
				xmlhttp.send(null);
			} catch (e) {
				alert(e.message);
			}
			return false;
		}
		
		Ajax.prototype.callByAjaxWithIdToPost = function(url, callbackHandler, id, params) {
			try {
				var xmlhttp = this.getXmlHttpRequest();			
				xmlhttp.onreadystatechange = function() {
					if (xmlhttp.readyState == 4) {
						if (xmlhttp.status == 200) {
							var data = xmlhttp.responseText;
							callbackHandler(data, id);
						} else {					
							alert("Ajax request failed("+xmlhttp.status+")");
						}
					}
				}
				xmlhttp.open("POST", url , true);
				xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlhttp.send(params);	
			} catch (e) {
				alert(e.message);
			}
			return false;
		}

