var xmlHttp = null;
var delimItem = ",";
var delimLine = "^^";

function openUrl(url, querys, callback)
{
	if (null == xmlHttp)
		xmlHttp = getXmlHttp();
	
	var random = "&random="+getRandom();
	if (null != querys)
		url += "?"+querys;
	
	url += random;
	
	if (null != callback)
	{
		xmlHttp.onreadystatechange = callback;
		xmlHttp.open("GET", url, true);
		sendXml();
	}
	else
	{
		xmlHttp.open("GET", url, false);
		sendXml();
		
		return xmlHttp.responseText;
	}
}

function getXmlHttp()
{ 
	if (document.all)
		return new ActiveXObject('Microsoft.XMLHTTP');
	
	return new XMLHttpRequest();
}

function closeUrl()
{ 
	if (null != xmlHttp)
		xmlHttp = null;
}

function sendXml()
{ 
	if (document.all)
		xmlHttp.send();
	else
		xmlHttp.send(null);
}

function getRandom()
{
	var t = "" + Math.random();
	
	if (t.length > 0)
		return t.substring(2);
	else
		return "0";
}

function validResult(res)
{
	return null != res && res.length > 0;
}

function getCSVItem(csv, name)
{
	var items = csv.split(delimItem);
	
	var i=0;
	name = TrimString(name);
	for (i=0; i<items.length; ++i)
	{
		var vals = items[i].split('=');
		
		if (TrimString(vals[0]) == name)
			return TrimString(vals[1]);
	}
	
	return null;
}

function getCSVItems(csv)
{
	return csv.split(delimLine);
}

function getCSVSingleItem(item)
{
	return item.split('=');
}

function parseCSV(csv)
{
	return csv.split(delimLine);
}