function Ajax2(page, id, time, type) {
	this.page = page;
	this.id = id;
	this.time = time;
	this.type = type;
	this.data;
	this.callback;

	this.update_ajax = function(url, id, type) {
        var ajobj;
		
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
			ajobj = new XMLHttpRequest();
			if (ajobj.overrideMimeType) {
				ajobj.overrideMimeType('text/'+type);
			}
        }
        else if (window.ActiveXObject) { // IE
			try {
				ajobj = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					ajobj = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {
					ajobj = false;
				}
			}
        }
        if (ajobj) {
			/**
			 * Prevenir pérdida de scope
			 */
			var parent = this;
			ajobj.onreadystatechange = function() {
				if (ajobj.readyState == 4 && ajobj.status == 200) {
					var value;
					if (parent.type == "xml") {
						var xml = Xparse(ajobj.responseText);
						var xml_body = xml.contents[1].contents[1].contents[1];
						var xml_data = xml.contents[1].contents[3].contents;
						parent.data = new Array();
						for (var i=1; i<xml_data.length; i+=2) {
							if (xml_data[i].contents.length) {
								parent.data[xml_data[i].name] = xml_data[i].contents[0].value;
							}
						}
						if (xml_body) {
							value = xml_body.value;
						}
					}
					else {
						value = ajobj.responseText;
					}
					if (id) {
						var odest = document.getElementById(id);
						if (odest) {
							odest.innerHTML = value;
						}
					}
					
					if (typeof(parent.callback) == "function") {
						parent.callback();
					}
				}
			}
			if (this.type == "xml") {
				ajobj.open("GET", url + "&xml=true", true);
			}
			else {
				ajobj.open("GET", url, true);
			}
			ajobj.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
			ajobj.send(null);
        }
	}

	if (!this.type || this.type == "") {
			this.type = "xml";
	}
	this.start = function(cback) {
		if (cback) {
			this.callback = cback;
		}
		this.update_ajax(this.page, this.id, this.type);
		var me = this;
		if (this.time && this.time != "") {
			setInterval(function() {
								 	me.update_ajax(me.page, me.id, me.type);
								 }, this.time);
		}
	}
}


