
addEvent(window,'load',setRPCHandlers,false);
addEvent(window, 'load', otherHandlers, false);

function otherHandlers()
{
	var sf = document.getElementById("seachfield");
	if (sf)
	{
		sf.style.width = "6em";
		addEvent(sf,'click', function() {document.getElementById("seachfield").style.width="18em";});
	}
}

function setRPCHandlers()
{
	var allLinks = document.getElementsByTagName("a");
	if (allLinks)
	{
		for(var i = 0; i < allLinks.length; i++)
		{
			if (allLinks[i].rel != "")
			{
				addEvent(allLinks[i], 'click', rpcCall, false);
			}
		}
	}
	jeHandler();
	
	
}

var rel = "";
var cache = new Object();

function rpcCall(ev)
{
	var el;
	if (window.event && window.event.srcElement) {el = window.event.srcElement;}
	if (ev && ev.target) {el=ev.target;}
	if (!el) {return;}

	var href = el.href
	pos = href.indexOf("?");
	end = href.length;
	href = "rpc.php" + el.href.slice(pos,end)  + "&fkt=" + el.rel;
	if (cache[href])
	{
		cacheCallBack(el.rel, href);
	} else
	{
		xmlCall(href, "rpcCallBack('"+el.rel+"', '"+href+"')");
	}
	
	if (window.event) {
	window.event.cancelBubble = true;
	window.event.returnValue = false;
	}
	if (ev && ev.stopPropagation && ev.preventDefault) {
		ev.stopPropagation();
		ev.preventDefault();
	}

}

function rpcCallBack(targid, ref)
{
	var targ = document.getElementById(targid);
	if (!targ) return;
	targ.innerHTML = xmlHttp.responseText;
	cache[ref]=xmlHttp.responseText;
	setRPCHandlers();
	
}
function cacheCallBack(targid, ref)
{
	var targ = document.getElementById(targid);
	if (!targ) return;
	targ.innerHTML = cache[ref];
	setRPCHandlers();
}