
function p(doc,t){doc.writeln(p);}
var pr=1==1;

function rzueb(a,b,n,doc)
{
	rmax=4-document.f.rm.selectedIndex;
	rerw=document.f.kf.selectedIndex==0;

doc.open("text/html","replace");
if(n>50)n=50;if(n<2)n=2;
var cr="DEF".charAt(Math.floor(Math.random()*3))+"0123456789ABCDEF".charAt(Math.floor(Math.random()*16));
var cg="DEF".charAt(Math.floor(Math.random()*3))+"0123456789ABCDEF".charAt(Math.floor(Math.random()*16));
var cb="DEF".charAt(Math.floor(Math.random()*3))+"0123456789ABCDEF".charAt(Math.floor(Math.random()*16));
var c=cr+cg+cb;
if(a<1)a=1;if(b<a-10)b=a+10;//if(b<a+n+10){b=a+n+10;alert("Die Obergrenze wurde auf "+b+" korrigiert");}
if(b>3999)b=3999;
if(a>=b)a=Math.floor(b/2);
//if((n%2)==1)n+=1;
parent.frames[0].document.f.a.value=a;parent.frames[0].document.f.b.value=b;parent.frames[0].document.f.n.value=n;
var i,j,z=new Array(n),t,k;
for(i=0;i<n;i++)
{
	k=0;
	do{
		z[i]=Math.floor(Math.random()*(b-a+1)*Math.sqrt((i+10)/(n+10))+a);
		for(j=0;j<i;j++)if((z[i]==z[j])&&(z[i]>0))break;
		if(j==i)break;
		k++;
	}while(k<20);
}
//alert(z);
t='<html><head><title>Übungen für Römische Zahlen</title>\n';
t+='<link rel=stylesheet type="text/css" href="standard1.css">\n';
t+='<style type="text/css">\n';
t+='input{font-family:Verdana;}\n';
t+='h5{font-size:11pt;}\n';
t+='</style>\n';

t+='<script language="JavaScript" type="text/javascript"><!--\n';
t+='var xx=new Array('+z.join(",")+'),pr=1==1;\n';
t+='//--></script>\n';
t+='</head>\n';
t+='<body bgcolor="#FFFAEE" link="#000066" alink="#000066" vlink="#000066" onload="document.f.t0.focus()">\n';
t+='<blockquote><h5>Wandle römische Zahlen in Dezimalzahlen um und umgekehrt</h5>\n';
t+='<form name="f">\n';
t+='<table cellspacing=8 border=0>\n';
for(i=0;i<n;i+=2)
{
t+='<tr><td>'+(i+1)+'.)    </td><td align=right>&nbsp;&nbsp;&nbsp;&nbsp;<font style="font-family:Times New Roman;font-size:11pt">'+dez_roem(z[i])+'</font></td><td> = </td>\n';
t+='<td><input style="border-style:none;background-color:#'+c+'" name="t'+i+'" onchange="parent.frames[0].test(this.value,'+i+',xx)" onkeyup="document.images['+i+'].src=\'leer.gif\'"></td>\n';
t+='<td><img src="leer.gif" height=32 width=32></td></tr>\n';
if(i+1==n)break;
t+='<tr><td>'+(i+2)+'.)    </td><td align=right><font style="font-size:11pt">'+z[i+1]+'</td><td> = </td>\n';
t+='<td><input style="border-style:none;background-color:#'+c+'" name="t'+(i+1)+'" onchange="parent.frames[0].test(this.value,'+(i+1)+',xx)" onkeyup="document.images['+(i+1)+'].src=\'leer.gif\'"></td>\n';
t+='<td><img src="leer.gif" height=32 width=32></td></tr>\n';
}
t+='<tr><td></td></tr>\n';
t+='<tr><td></td><td colspan=3 align=center><input type="button" class="button" onclick="parent.frames[0].testall(xx)" value="Alles überprüfen"></td></tr>\n';
t+='<tr><td></td><td colspan=4 align=center><input type="checkbox" ';
if(pr)t+='checked ';
t+='onclick="parent.frames[0].f.prc.checked=parent.frames[0].pr=this.checked" name="prc"> beim Verlassen des Eingabefeldes sofort prüfen</td></tr>\n';
t+='</table>';
t+='</form></blockquote></body></html>';
doc.writeln(t);
doc.close();

}

function testall(xx)
{
	var i,r=0,j,yy,n,nn=0,f=0;
	rmax=4-document.f.rm.selectedIndex;
	rerw=document.f.kf.selectedIndex==0;
	nn=n=xx.length;
	yy=new Array(xx.length);
	for(i=0;i<n;i++)
	{
		if((i%2)==1)yy[i]=roem_dez(eval("parent.frames[1].document.f.t"+i+".value"));
		else yy[i]=eval("Number(parent.frames[1].document.f.t"+i+".value.replace(/,/,'.'))");
		if(isNaN(yy[i])){yy[i]=-2;}
		else 	eval("parent.frames[1].document.f.t"+i+".value=parent.frames[1].document.f.t"+i+".value.toUpperCase()");
	}
	for(i=0;i<n;i++)
	{
		if(xx[i]==yy[i]){parent.frames[1].document.images[i].src="haken.gif";r++;}
		if((xx[i]!=yy[i])&&((yy[i]>0)||(yy[i]==-1))){parent.frames[1].document.images[i].src="falsch.gif";f++;}
		if(yy[i]==-2){parent.frames[1].document.images[i].src="leer.gif";nn--;}
	}
	if(r==n)
	{
		alert("Klasse, alles richtig!");
		if(confirm("Neue Aufgaben?"))
		{
			var b=parseInt(document.f.b.value)
			document.f.b.value=Math.floor(b*1.5/Math.pow(10,Math.floor(Math.log(b)/Math.log(10))-1))*Math.pow(10,Math.floor(Math.log(b)/Math.log(10))-1);
			rzueb(parseInt(document.f.a.value),parseInt(document.f.b.value),parseInt(document.f.n.value),parent.frames[1].document);
			return;
		}
	}
	else if(f==0){alert("Klasse, alle Eingaben sind bisher richtig!");}
}
function test(x,i,xx)
{
	eval("parent.frames[1].document.f.t"+i+".value=parent.frames[1].document.f.t"+i+".value.toUpperCase()");
	if(!pr)return;
	rmax=4-document.f.rm.selectedIndex;
	rerw=document.f.kf.selectedIndex==0;
	var y,j;
	if((i%2)==1)y=roem_dez(x);
	else y=Number(x.replace(/,/,"."));
	if(isNaN(y))y=-2;
	if(xx[i]==y)parent.frames[1].document.images[i].src="haken.gif";
	if((xx[i]!=y)&&((y>0)||(y==-1)))parent.frames[1].document.images[i].src="falsch.gif";
	if(y==-2)parent.frames[1].document.images[i].src="leer.gif";
}
