
function id2name(s) { return s.substring(1,s.length); }

function change_radio(f,disable,n)
{
  var nm=id2name(f.id);
  var on=false;

  f.style.color=disable?"#808080":"black";
  if (nm=="UEG115D") document.formular.SIZE.disabled=disable;
  
  for (c=0;c<n;c++) {
  	var r=eval(document.getElementsByName(nm)[c]);
  	if (disable) {
  		r.setAttribute("disabled","disabled");
  		r.checked=false;
  	}	
  	 else {
  	  if (r.checked) on=true;
  	  r.removeAttribute("disabled");
  	}
  }	
  
  f.style.fontWeight=disable||on?"normal":"bold";
  return on;
}

function c1_missing(n) 
{
 switch (n) {
   case "UEG115D": case "THROMD1": case "LDHD": return true;
   default: return false;
 }
}

function upd_f()
{
  var ALTERD=document.formular.ALTERD[1].checked,
     _ALTERD=document.formular.ALTERD[0].checked;
  
  var C1=document.formular.C1[1].checked;
  var d=0,on;
  factor_ok=0;
  u=0;
  
		  
  for (var c=0;c<document.getElementsByTagName("tr").length;c++) {
	var f=eval(document.getElementsByTagName("tr")[c]);
	var n=id2name(f.id);

	if (((n=="APGGTD")||(n=="ECSD")||(n=="KMBD")||(n=="LEUKOD3")||c1_missing(n))&&(ALTERD||_ALTERD))	
	  change_radio(f, (!ALTERD&&!C1&& (n=="LDHD"))||
			  ( ALTERD&&!C1&& (n=="APGGTD"))||
			  (!ALTERD&& C1&&((n=="ECSD")||(n=="KMBD")||(n=="LEUKOD3")||c1_missing(n)))||
			  ( ALTERD&& C1&& ((n=="APGGTD")||c1_missing(n))),
		       3);
	if (n) {
	 if (n!="ALTERD") u|=document.getElementsByName(n)[2].checked<<d;
	
	 if (document.getElementsByName(n)[0].disabled) on=true; 
	  else {
	   on=false;
	   for (var e=0;e<3;e++) {
	    if ((n=="ALTERD")&&(e==2)) break;
	    if (document.getElementsByName(n)[e].checked) on=true;
	   }
	  }  
	 
	 factor_ok|=on<<d;
	 d++;
	}
   }
  
 uinfo();
}

function upd_c()
{
 var C1=document.formular.C1[1].checked;
 var d=0;
 c1_ok=0;
 
 for (var c=0;c<document.getElementsByTagName("table").length;c++) {
 	var f=eval(document.getElementsByTagName("table")[c]);
 	var n=id2name(f.id);
 	
 	if ((n!="LEUKOPENIA")&&(n!="THROMBOPENIA")&&(n!="ANAEMIA")) continue;
 	
 	c1_ok|=change_radio(f,!C1,6)<<d;
 	d++;
 	
 	if (!C1) sm_update("S"+n,true);
 }

 document.getElementById("C1INFO").firstChild.nodeValue=C1?"Models with cycle 1 information will be presented":
							   "Models without cycle 1 information will be presented";

 upd_m(); //ruft update auf		   
 }

function update()
{
 var C1=document.formular.C1[1].checked;
 
 if ( regimen_ok && model_ok && (!C1||(C1&&(c1_ok==7))) && (factor_ok==4095) ) 
  document.formular.sub.removeAttribute("disabled");
   else document.formular.sub.setAttribute("disabled","disabled");
}

function upd_m()
{
  model_ok=document.formular.SLEUKOPENIA.checked||document.formular.STHROMBOPENIA.checked||document.formular.SANAEMIA.checked;
  update(); 
}

function uinfo()
{
 document.getElementById("UNKNOWN").firstChild.nodeValue=u?
 	"In case of unknown parameters a best and worst scenario will be calculated":"\u00a0";
}

function upd_u(unknown,id)
{
 var b=1<<id;
 	
 if (unknown) u|=b; else u&=~b;
 uinfo();
}

function upd_uf(f,unknown,id) 
{
 var b=1<<id;
 
 if (f=="ALTERD") { upd_f(); upd_new("_ALTERD"); } else upd_u(unknown,id);
 
 if (factor_ok&b) return;
 factor_ok|=b;
 upd_new("_"+f);
}

function number(event)
{
 c=document.all?event.keyCode:event.which;
 if ((c<32)||((c>=48)&&(c<=58))) return true;
 return false;
}

function number2(event)
{
 c=document.all?event.keyCode:event.which;
 if ((c<32)||(c==46)||((c>=48)&&(c<=58))) return true;
 return false;
}

function brocca()
{
  var b=(document.formular.SIZE.value-100)*1.15;
  var r1=eval(document.formular.UEG115D[0]);
  var r2=eval(document.formular.UEG115D[1]);
  var rl=eval(document.getElementById("LLUEG115D").firstChild);
  
  if (b>0) {
  	r1.nextSibling.nodeValue="weight<"+b.toFixed(2)+" kg";
  	r2.nextSibling.nodeValue="weight>="+b.toFixed(2)+" kg";
  	
	rl.nodeValue=((document.formular.SIZE.value<142)||
		      (document.formular.SIZE.value>202))?"???":"\u00a0";
  } else {
     r1.nextSibling.nodeValue="weight<? check body size!";
     r2.nextSibling.nodeValue="weight>=? check body size!";
     rl.nodeValue="\u00a0";
  }
}

function area()
{
  var b=2/document.formular.AREA.value;
  var rl=eval(document.getElementById("LLVINCRD").firstChild);
  
  if (b<1000) {
   if (b<=1.05) document.formular.VINCRD[0].checked=true;
    else document.formular.VINCRD[1].checked=true;
    rl.nodeValue=((document.formular.AREA.value<1.3)||
		  (document.formular.AREA.value>2.6))?"???":"\u00a0";
   upd_uf("VINCRD",0,11);
  } else rl.nodeValue="\u00a0";
}

function httm_init(_do)
{
  regimen_ok=_do;
  model_ok=true;

  upd_f();
  upd_c();
  brocca();
}

function sm_update(s,on)
{
 var r=eval(document.getElementsByName(s)[0]);
 if (on){
  r.removeAttribute("disabled");
  r.nextSibling.style.color="black";
 } else {
  r.setAttribute("disabled","disabled");
  r.nextSibling.style.color="#808080";
 }
}

function smodels(s)
{
   var s2="S"+id2name(s);
   var rm=eval(document.getElementsByName(id2name(s))[5]);
   
   sm_update(s2,!rm.checked);
   document.getElementsByName(s2)[0].checked=!rm.checked;
   upd_m();        //ruft update() auf;
}

function upd_new(s)
{
  switch (s) {
  	case "TREGIMEN"	    :	if (regimen_ok) return; regimen_ok=true; break;
  	case "_LEUKOPENIA"  :	smodels(s); if (c1_ok&1) return; c1_ok|=1; break;
  	case "_THROMBOPENIA":	smodels(s); if (c1_ok&2) return; c1_ok|=2; break;
  	case "_ANAEMIA"	    :	smodels(s); if (c1_ok&4) return; c1_ok|=4; break;
  }
 
 document.getElementById(s).style.fontWeight="normal";
 update();
}
