﻿function XMLHttp() {
	this.Support = true;
	try {
		this.Object = new XMLHttpRequest();
	} catch (e1) {
		try {
			this.Object = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e2) {
			try {
				this.Object = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e3) {
				this.Support = false;
				return
			}
		}
	}
	this.Create = function(URL) {
		this.Object.open('Get', URL, true);
		var Class = this;
		this.Object.onreadystatechange = function() {
			if (Class.Object.readyState == 4) {
				if (Class.Object.status == 200) {
					if (typeof(Class.ResHandler) != 'undefined') {
					    if (!Class.Object.getResponseHeader("Content-Type")) {
					        Class.CType = 'unknown';
					        Class.ResHandler('');
					    } else {
						    switch (Class.Object.getResponseHeader("Content-Type").split('; ')[0]) {
							    case 'text/html' :
								    Class.CType = 'html';
								    Class.ResHandler(Class.Object.responseText);
							    break;
							    case 'text/plain' :
								    Class.CType = 'text';
								    Class.ResHandler(Class.Object.responseText);
							    break
							    case 'text/xml' :
								    Class.CType = 'xml';
								    Class.ResHandler(Class.Object.responseXML);
							    break;
							    default :
								    Class.CType = 'unknown';
								    Class.ResHandler(Class.Object.responseText);
						    }
					    }
					}
				} else {
//					if (typeof(Class.ErrHandler) != 'undefined') {
//						Class.ErrHandler(Class.Object.status);
//					} else {
//						alert('در دريافت اطلاعات خطا رخ داده است');
//					}
				}
			}
		}
		this.Object.send(null);
	}
}