var g_xmlhttp = null;
function CreateHttpRequest() {
	var xmlHttp = null;

	if (window.XMLHttpRequest) {
		xmlHttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		var versions = ['Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0',
				'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0',
				'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'MSXML.XMLHTTP',
				'Microsoft.XMLHTTP'];
		for (var i = 0, nCount = versions.length; i < nCount; i++) {
			try {
				xmlHttp = new ActiveXObject(versions[i]);
			} catch (e) {
				xmlHttp = null;
			}
			if (xmlHttp) {
				break;
			}
		}
	}

	return xmlHttp;
};

function ajax_DownloadUrl(url, callback, usecache, useexist) {
	if (typeof(useexist) == "undefined") {
		useexist = false;
	}

	if (typeof(usecache) == "undefined") {
		usecache = true;
	}

	if (usecache == false) {
		var d = new Date();
		if (url.indexOf("?") >= 0) {
			url += "&";
		} else {
			url += "?";
		}
		url += "__t=" + d.getTime();
	}

	if (g_xmlhttp == null) {
		g_xmlhttp = CreateHttpRequest();
	}

	var xmlhttp = g_xmlhttp;

	if (useexist == false) {
		xmlhttp = CreateHttpRequest();
	} else {
		g_xmlhttp.abort();
	}

	xmlhttp.open("GET", url, true);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			try {
				callback(xmlhttp.responseText, xmlhttp.readyState);
			} catch (e) {
			}
		}
	};
	xmlhttp.send(null);
};

function SetCookie(name,value)
{
	var Days = 360;
	var exp  = new Date();
	exp.setTime(exp.getTime() + Days*24*60*60*1000);
	document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function GetCookie(name)
{
	var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
	 if(arr != null) return unescape(arr[2]); return null;

}							
