//showif init
	elems = document.getElementsByTagName("div");
	for(i=0;i<elems.length;i++) {
		if ((si=elems[i].getAttribute("showif"))!=null) {
			blocks.push(elems[i]);
			conds.push(si);
		}
	}
	redisplay();
//end init

function redisplay() {
	for (i=0;i<blocks.length;i++) {
		now=eval(conds[i])?"block":"none";
		if (blocks[i].style.display!=now) blocks[i].style.display=now; //don't know if it's faster to check or not...
	}
}

function rev_rbutton(cname,val,me) {
	controls[cname]=val;
	redisplay();
	spans=me.parentNode.getElementsByTagName("span");
	btnbase='_btn_base'+controls[cname+'_sch']
	btnhi=btnbase+' _btn_hi'+controls[cname+'_sch']
	for (i=0;i<spans.length;i++) {
		if (spans[i].className==btnhi) spans[i].className=btnbase;
	}
	me.className=btnhi;
}

function rev_cbox(cname,me) {
	controls[cname]=me.checked?"yes":"no";
	redisplay();
}

blocks = [];
conds= [];
controls=new Object();
//for each control, controls.xxx="yyy";

