var ajaxHttp;
var ajaxTag;

function AjaxRequest(url, tagname) {
	url=url+'&rand='+Math.random();
	ajaxTag=tagname;

	ajaxHttp=GetAjaxHttpObject();
	if (ajaxHttp==null) {
		alert("Browseren din stotter ikke ajax-http foresporsler");
		return;
	}
	ajaxHttp.onreadystatechange=AjaxResponse;
	ajaxHttp.open("GET", url, true);
	ajaxHttp.send(null);
}

function AjaxResponse() {
	if (ajaxHttp.readyState==4 || ajaxHttp.readyState=="complete") {
		obj=document.getElementById(ajaxTag);
		obj.innerHTML=ajaxHttp.responseText;
	}
}

function GetAjaxHttpObject() {
	var ajaxHttp=null;
	try {
		ajaxHttp=new XMLHttpRequest();
	} catch (e) {
		try {
			ajaxHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			ajaxHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	} 
	return ajaxHttp;
}

// syntax: <.. onclick="AjaxBasic(divid, url)">
function AjaxBasic(tagname, url) {
	obj=GetObj(tagname);
	xml=GetAjaxHttpObject();
	xml.onreadystatechange=function() {
		if (xml.readyState==4 && xml.status==200) {
			obj.innerHTML=xml.responseText;
		}
	}
	xml.open("GET", url, true);
	xml.send();
}

// syntax: <input .. onkeyup="AjaxSearch(divid, url, this.value)">
function AjaxSearch(tagname, url, query) {
	obj = GetObj(tagname);
	if (query.length==0) {
		obj.innerHTML="";
		obj.style.border="0px";
		return;
	}
	xml=GetAjaxHttpObject();
	xml.onreadystatechange=function() {
		if (xml.readyState==4 && xml.status==200) {
			obj.innerHTML=xml.responseText;
			obj.style.border="1px solid #a0a0a0";
		}
	}
	xml.open("GET", url+query, true);
	xml.send();
}

function RoleMenu(show) {
	tag="RoleMenu";
	obj=GetObj(tag);
	if (show=="0") {
		obj.style.display="none";
		return ;;
	} else {
		obj.style.display="block";
		obj.innerHtml="waiting for ajax...";
		url="/bbcommon/ajax.php?ajax=rolemenu&rand="+Math.random();
		AjaxBasic(tag, url);
	}
	//AjaxRequest("/bbcommon/ajax.php?ajax=rolemenu", "RoleMenu");
}
