// suterm01.js
// (c) Andreas Meier
// Sophie-Scholl-Realschule Weiden
// erstellt am 11.11. 2007
// geändert am 11.11. 2007
// alle Rechte liegen beim Autor

var Score = 0; // Startkapital
var Item = 1;
var Aufggleich = 0;
var kAufggleich = 0;
var k=0;
var start=0;
var aufgabenr=0;
var aufgabentyp=0;
var xlos =0;
var geloest =0;
var pruefwert = 0;
var klammerzaehler =0;
var xzaehler =0;
function zufall()
{
// Ermittelt eine Zufallszahl
   var zufallszahl = 0;
 zufallszahl=Math.floor(15*Math.random()+1);  // zwischen 1 und 15
 return zufallszahl;
}

function zufall2()
{
// Ermittelt eine Zufallszahl
   var zufallszahl2 = 0;
 zufallszahl2=Math.floor(4*Math.random()+1);  // zwischen 1 und 4
 return zufallszahl2;
}
function zufall3()
{
// Ermittelt eine Zufallszahl
   var zufallszahl3 = 0;
 zufallszahl3=Math.floor(2*Math.random()+1);  // zwischen 1 und 2
 return zufallszahl3;
}

function suterm1(){

var summenterm1 ="";
t11 = zufall();
vorz = zufall2();

if (vorz < 3) {
t11 = (-1)*t11;
t11s = "- "+String(Math.abs(t11));
}
else t11s = String(t11);

t12 = zufall();
vorz = zufall2();

if (vorz < 3) {
t12 = (-1)*t12;
if (t12 == -1) t12s = "- x";
else t12s = " - "+String(Math.abs(t12))+"x";
}
else
{
if (t12 == 1) t12s = " + x";
else t12s = " + "+String(t12)+"x";
}

summenterm1 = "("+t11s+t12s+")";
return summenterm1;
}


function suterm2(){
var summenterm2 ="";
t21 = zufall();
vorz = zufall2();

if (vorz < 3) {
t21 = (-1)*t21;
if (t21 == -1) t21s = "- x";
else t21s = "- "+String(Math.abs(t21))+"x";
}
else {
if (t21 == 1) t21s = "x";
else t21s = String(t21)+"x";
}

t22 = zufall();
vorz = zufall2();

if (vorz < 3) {
t22 = (-1)*t22;
t22s = " - "+String(Math.abs(t22));
}
else t22s = " + "+String(t22);

summenterm2 = "("+t21s+t22s+")";
return summenterm2;
}

function zeilelesen(eingabezeile)

{
zae2 = String(eingabezeile).replace(/,/g,".").replace(/ /g,"").replace(/²/g,"^2");

do{
i=zae2.search(/\dx/);
if(i==-1)break;
zae2=zae2.substr(0,i+1)+"*"+zae2.substring(i+1,zae2.length);}
while(true);

do{
i=zae2.search(/\d\(/);
if(i==-1)break;
zae2=zae2.substr(0,i+1)+"*"+zae2.substring(i+1,zae2.length);}
while(true);

do{
i=zae2.search(/x\d/);
if(i==-1)break;
zae2=zae2.substr(0,i+1)+"*"+zae2.substring(i+1,zae2.length);}
while(true);

do{
i=zae2.search(/\)\d/);
if(i==-1)break;
zae2=zae2.substr(0,i+1)+"*"+zae2.substring(i+1,zae2.length);}
while(true);

do{
i=zae2.search(/\)\(/);
if(i==-1)break;
zae2=zae2.substr(0,i+1)+"*"+zae2.substring(i+1,zae2.length);}
while(true);

do{
i=zae2.search(/x\(/);
if(i==-1)break;
zae2=zae2.substr(0,i+1)+"*"+zae2.substring(i+1,zae2.length);}
while(true);

}


function Schreibez1()
     {

document.Parameter.z1.value =  "";
document.Parameter.z3.value =  "";
document.Parameter.z2.value =  "";
document.Parameter.z2w.value =  "";
document.Parameter.z3w.value =  "";
document.Parameter.kommentar.value = "";
document.Parameter.Punkte.value=Score;
document.Parameter.Aufgaben.value=Item;
Aufggleich=Item-1;
kAufggleich=Item-1;
var dummy = 0;
var index = 1;
k = 0;
Item++;
aufgabenr++;
term11 = suterm1();
term31 = suterm1();
term21 = suterm2();
term41 = suterm2();

aufgabentyp = zufall2();
aufgabentyp = 1;
if (aufgabentyp ==1) aufgabenterm = term11 + " + "+term21;
if (aufgabentyp ==2) aufgabenterm = term11 + " - "+term21;
if (aufgabentyp ==3) aufgabenterm = term11 + " - "+term21+" + "+term31;
if (aufgabentyp >3 || aufgabentyp <1) aufgabenterm = term21 + " + "+term11+" - "+term41;
loes = "1888";
zeilelesen(aufgabenterm);
lauf = zae2;
do
{i=lauf.search("x");
if(i==-1)break;
lauf = lauf.replace("x",loes);
}
while(true);

pruefwert = eval(lauf);

//        document.Parameter.z1.value = zahlo1;
document.Parameter.z1.value = aufgabenterm;
document.Parameter.z2.focus();

}

function ergproof()
{
text1="";
text2="";
text3="";
text4="";
zf2=0;
zf3=0;

loes = "1888";
xlos = 1888;

if (document.Parameter.z2.value != "")
{
klammertest = document.Parameter.z2.value;
klammerzaehler =0;
do
{
i=klammertest.search(/\)/);
if(i==-1)break;
klammertest = klammertest.replace(")",".");
klammerzaehler++;
}
while(true);


zeilelesen(document.Parameter.z2.value);
ls2 = zae2;

do
{i=ls2.search("x");
if(i==-1)break;
ls2 = ls2.replace("x",loes);
}
while(true);

wl2 = eval(ls2);
}
else
{
wl2 = 0;
document.Parameter.kommentar.value = "Du hast noch keine Eingabe gemacht!";
zf2 =1;
}

if (document.Parameter.z3.value != "")
{

xtest = document.Parameter.z3.value;
xzaehler =0;
do
{i=xtest.search("x");
if(i==-1)break;
xtest = xtest.replace("x","5");
xzaehler++;
}
while(true);


zeilelesen(document.Parameter.z3.value);
ls3 = zae2;

do
{i=ls3.search("x");
if(i==-1)break;
ls3 = ls3.replace("x",loes)
}
while(true);

wl3 = eval(ls3);
}

else
{
document.Parameter.kommentar.value = "";
wl3 = 0;
zf3 =1;
}

// tabelle einlesen Ende
// auswertung

if (Item != Aufggleich)
  {
  if (wl2 == pruefwert & wl3 == pruefwert & xzaehler <=1 & klammerzaehler <1)
   {
    if (aufgabentyp >2) Score = Score + 30;
    else Score = Score + 20;
    text1 ="\n";
    text2 ="Hervorragend!! \n";
    text3 ="Alle Umformungen sind richtig. \n";
    text4 ="Klicke auf >>Neue Terme erstellen<<";
    document.Parameter.Punkte.value=Score;
    Aufggleich=Item ;
    document.Parameter.z2w.value="(r)";
    document.Parameter.z3w.value="(r)";


   }
   else   // nicht beide Zeilen sind richtig
   {


    if (wl2 == pruefwert)
    {

    text1="\n";
    if (klammerzaehler >0)
    {
    text1="Du hast die Klammern nicht aufgelöst!\n";
    Score= Score-5;if (Score < 0) Score =0;
    }

    text2="Umformung in Zeile 1 richtig\n";
    document.Parameter.z2w.value="(r)";
     document.Parameter.Punkte.value=Score;}
    else
    {

    if (klammerzaehler >0) text1="Du hast die Klammern nicht aufgelöst!\n";


      text2="Umformung in Zeile 1 falsch\n";
      Score= Score-10;if (Score < 0) Score =0;
      document.Parameter.Punkte.value=Score;
      document.Parameter.z2w.value="(f)";
 if (zf2 ==1){
  document.Parameter.z2w.value="";
  text3 = "";
  }

    }
 if (wl3 == pruefwert)
 {

 text3="\n";
if (xzaehler >1) {
      text3="Du musst die x zusammenfassen!\n";
      Score= Score-5;if (Score < 0) Score =0;}
 text4="Umformungszeile 2 (richtig)\n";
 document.Parameter.Punkte.value=Score;
    document.Parameter.z3w.value="(r)";
 }
 else
 {
if (xzaehler >1) text3="Du musst die x zusammenfassen!\n";
    Score= Score-10;if (Score < 0) Score =0;
    text4="Umformung in Zeile 2 falsch\n";
    document.Parameter.z3w.value="(f)";
 if (zf3 ==1){
  document.Parameter.z3w.value="";
  text4 = ""; Score= Score+10;if (Score < 0) Score =0;
  }
 }

}
}
 else
{
text1 ="";
text2 ="\nNicht schummeln!! \n";
text3 ="Du hast doch diese Aufgabe bereits gelöst.\n";
text4="Dafür ziehe ich dir 10 Punkte ab!";
Score= Score-10;if (Score < 0) Score =0;

}
text = text1+text2+text3+text4;
document.Parameter.kommentar.value = text;
document.Parameter.Punkte.value=Score;
}

function auswerten() {

var punkte = Score;
if (punkte < 1) punkte = 1;
// Zurücksetzen der Punkte auf Ausgangswert

Score = 0; // Startkapital
Item = 1;
Aufggleich = 0;
kAufggleich = 0;
k=0;
start=0;

text ="";

text1 ="";
text2 ="Deine Punkte werden nun übertragen. \n";
text3 ="Damit werden sie hier gelöscht. \n";
text4="Du beginnst also wieder bei 10 Punkten.";
text5="";
text = text1+text2+text3+text4+text5;
document.Parameter.kommentar.value = text;
document.Parameter.Punkte.value=Score;

/* Achtung muss für jede Datei manuell angepasst werden */
/*                     Anfang                           */
var aufgabenart="Summenterme addieren - Level 1";
var datnam= "highsqlpost84ww.php";
uebertrag = "<form name = 'eingabe' action ='../../../Mathematik/"+datnam+"' method ='post'>";
auswertung(aufgabenart,punkte,uebertrag);
/*                     Ende                           */
}

