var xhrs = new Array();


function getelem(name) {
	if (document.all) {
		return document.all[name];
	}
	else {
		return document.getElementById(name);
	}
}

function $(name) {
	if (document.all) {
		return document.all[name];
	}
	else {
		return document.getElementById(name);
	}
}

function doClassName(e,cn,add) {
	var t = e.className;
	var pos = t.indexOf(cn);
	if (pos>=0) {
		if (pos == 0) {
		}
	}

	if (add) {
		if (pos < 0) {
			t += ' ' + cn;
		}
	}
	else {
		t = t.replace(cn,'');
	}
	e.className = t;
}


function emptyCallback() {
}

function getXHR() {
	if (xhrs.length > 0) {
		return xhrs.pop();
	}
	else {
		if (window.XMLHttpRequest) {
			return new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			return new ActiveXObject("Msxml2.XMLHTTP");
		}
	}
	return null;
}

function releaseXHR(xhr) {
	xhr.onreadystatechange = emptyCallback;
	xhrs.push(xhr);
}

function sendAsyncRequest(url, cb) {
	var xhr = getXHR();
	xhr.open('get', url);
	xhr.onreadystatechange = function() {
			if (xhr.readyState == 4) {
				var response = xhr.responseText;
//alert(response);
				var result = response ? eval('('+response+')'):'';

				if (result.error) {
					//setStatusLine("Error: "+result.error);
					//clearStatusLine(1000);
				}
				else {
					cb(result);
				}
				releaseXHR(xhr);
			}
		};
	xhr.send(null);
}

function setCookie(name, value, days) {
	var expire = new Date();
	if (!days) days=1;
	expire.setTime(expire.getTime() + 3600000*24*days);
	document.cookie = name + "=" + escape(value) + ";expires="+expire.toGMTString();
}

function getCookie(name, defaultValue) {
	if (document.cookie.length > 0) {
		var pos1 = document.cookie.indexOf(name + "=");
  	if (pos1 != -1) { 
    	pos1 += name.length+1; 
    	var pos2 = document.cookie.indexOf(";", pos1);
			if (pos2 == -1) pos2 = document.cookie.length;
			return unescape(document.cookie.substring(pos1,pos2));
		}
	}
	return defaultValue;
}

