function addEvent(target, event, func)
{
	if (!target) return false;
	if (typeof target.addEventListener != 'undefined')
	{
		target.addEventListener(event, func, false);
	}
	else if (typeof target.attachEvent != 'undefined')
	{
		target.attachEvent('on' + event, func);
	}
}

function _(text)
{
	if (BBART_GETTEXT[text])
		return (BBART_GETTEXT[text])
	else
		return (text)
}

function getXmlReq() 
{
	if (window.XMLHttpRequest) 
		return new XMLHttpRequest();
	else if(window.ActiveXObject) 
		return new ActiveXObject("Microsoft.XMLHTTP");
	else 
		return false;
}

function ajax(url, callback, postdata, this_object) 
{;
	var xmlReq = getXmlReq();
	if (!xmlReq)
		return false;
	if (xmlReq.readyState == 4 || xmlReq.readyState == 0) 
	{
		if (postdata)
		{
			xmlReq.open("POST", url, true);
			xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		}
		else
		{
			xmlReq.open("GET", url, true);
		}
		xmlReq.onreadystatechange = function() 
		{ 
			if ((xmlReq.readyState == 4) && (xmlReq.status == 200)) 
			{
				callback(xmlReq, this_object);
			}
		}
		xmlReq.send(postdata);
	}
	return xmlReq;
}
