function ajax(obj)
{
	var url = "ajax.jsp";
	var and = "?";
	for (var attr in obj)
	{
		url += and + attr + "=" + encodeURIComponent(obj[attr]);
		and = "&";
	}
	return eval("new Object(" + httpGet(url) + ")");
}
function colorTable(tbl,r)
{
	var rn = isNaN(r) ? 0 : r;
	for (var j=0;j<tbl.rows.length;j++)
	{
		var tr = tbl.rows[j];
		if (tr.style.display != "none")
		{
			tr.className = "tr" + (rn%2);
			rn++;
		}
	}
}
function filterArticles(selectBoxId)
{
	wait(true);
	try
	{
		var sb = get(selectBoxId);
		var filterValue = getValue(selectBoxId+"Filter").toUpperCase();
		if (filterValue=="" || filterValue.charAt(0)=="*")
			filterValue="*";//select all	
		var selVal = Number(sb.selectedIndex > -1 ? sb.options[sb.selectedIndex].value : -33);
		for (var i=sb.childNodes.length-1;i>=0;i--)
		{//clear select box
			if (sb.childNodes[i].nodeName=="OPTGROUP")
				sb.removeChild(sb.childNodes[i]);
			else if (sb.childNodes[i].nodeName=="OPTION" && sb.childNodes[i].value!=0)
				sb.removeChild(sb.childNodes[i]);
		}	
		var curGrp=null;
		for (var i=0;i<_articles.length;i++)
		{//fill select box with matches
			var art = _articles[i];
			if (sb.priceList>0 && sb.priceList != art.l)
				continue;
			if (Number(art.i)==selVal 
			|| (filterValue=="*" || -1 < art.d.toUpperCase().indexOf(filterValue)))
			{
				if (curGrp == null || (art.c + "-" + art.g) != curGrp.label)
				{
					curGrp = document.createElement("OPTGROUP");
					curGrp.label = art.c + "-" + art.g;
					curGrp.style.fontWeight="bold";
					sb.appendChild(curGrp);
				}
				var opt = document.createElement("OPTION");
				opt.innerHTML = (art.u==1 ? "[base]" : art.d);
				opt.value = art.i;
				curGrp.appendChild(opt);
				if (Number(art.i)==selVal)
					opt.selected=true;
			}	
		}
		wait(false);
	}
	catch (e)
	{
		wait(false);
		alert("Filtering failed: " + e);
	}
}
function filterArticlesChange(id)
{
	setValue(id,getValueNum(id + "_sb"));
}
function filterArticlesOpen(id)
{
	hide(id + "_closed");
	show(id + "_opened");
	filterArticles(id + "_sb");
	return false;
}
function getLastInsert()
{
	var li = httpGet(url(getDocBase() + "AppletServer","function",8));
	return li > "" ? eval("new Object(" + li + ");") : null;
}
function pleaseWait()
{
	wait(true);
}
function stopWaiting()
{
	wait(false);
}
