// gemischtadd.js
// erstellt am 06. September 2006
// erstellt am 06. September 2006
// Autor: Andreas Meier, Weiden i.d.OPf.
// alle Rechte liegen beim Autor

var hn = 0;
var hn1 = 0;
var ausgtext2="";
var ausgtext1="";
var nenn1=0;
var nenn2=0;
var geloest = 0;
var score = 0;

function reset()
{
document.Parameter.ganz1.value =  "";
document.Parameter.ganz2.value =  "";
document.Parameter.n1.value =  "";
document.Parameter.n2.value =  "";
document.Parameter.z1.value =  "";
document.Parameter.z2.value =  "";
document.Parameter.minus.value ="-";
document.Parameter.Pruefergebnis2.value = "";
document.Parameter.zzz1.value =  "";
document.Parameter.nnn1.value =  "";
document.Parameter.ganze.value =  "";
document.Parameter.Pruefergebnis3.value = "";
}

function zufall(min, max, ohne) {
  var zufallszahl;
  do {
  zufallszahl = Math.round(min + Math.random() * (max - min));
  } while (zufallszahl == ohne);
  return zufallszahl;
}


function ggt(a,b){
while (a!=b){
if (a>b)a=a-b;
else b = b-a;
}
return a;
}

function Schreibez1()
     {
geloest = 0;
reset();
document.Parameter.Punktestand.value = String(score) + " Punkte";
zaehler1 = zufall(4,35);
nenner1 = zufall(4,35,zaehler1);
if (zaehler1 > nenner1){dummy = zaehler1; zaehler1 = nenner1;nenner1 = dummy;}
nat1 = zufall(1,9);
nat2 = zufall(1,8);
if (nat2 > nat1) {dummy = nat1; nat1 = nat2; nat2 = dummy;}
if (nat2 == nat1) nat1++;
kuerze = ggt(zaehler1,nenner1);
zaehler1 = zaehler1/kuerze;
nenner1 = nenner1/kuerze;
zaehler2 = zufall(1,nenner1-1);
nenner2 = nenner1;
if (zaehler2 == zaehler1) zaehler1--;
if (zaehler1 <=0){nenner1 = 7; nenner2 = 7; zaehler1 = 5; zaehler2 = 6;}
kuerze2 = ggt(zaehler2,nenner2);
if (kuerze2 > 1 ) zaehler2 = nenner2 -1;
if (zaehler1 == zaehler2) zaehler1 = 1;

if (nenner1 <= 2) {nenner1 = 7; nenner2 = 7; zaehler1 = 5; zaehler2 = 6;}
if (nenner1 == zaehler1+zaehler2) {nenner1 = 7; nenner2 = 7; zaehler1 = 5; zaehler2 = 6;}


natdiv= nat1 + nat2;
if ((zaehler1+zaehler2)>nenner1) {
ganzezahl = natdiv+1;
zaehlererg=zaehler1+zaehler2-nenner1;
}
else {
ganzezahl = natdiv;
zaehlererg=zaehler1+zaehler2;
}

//var x = zaehlererg % nenner1;

//if (x == 0){
//zaehler1=nenner1+1;
//zaehlererg=zaehler1-zaehler2;}
//if (nenner1==2 && nenner2==2){
//nenner1 = 7; nenner2 = 7; zaehler1 = 6; zaehler2 = 3;}

//if(zaehler1-zaehler2 == nenner1) zaehler1 = zaehler1++;

//zaehlererg=zaehler1-zaehler2;
//ganzezahl = Math.floor(zaehlererg/nenner1);

document.Parameter.ganz1.value =  nat1;
document.Parameter.z1.value = zaehler1;
document.Parameter.n1.value = nenner1;
document.Parameter.minus.value ="+";
document.Parameter.ganz2.value =  nat2;
document.Parameter.z2.value = zaehler2;
document.Parameter.n2.value = nenner2;
document.Parameter.ganze.focus();
}

function ergproof()
{
ausgtext2="Überprüfe noch einmal!";
ausgtext1="";
kuerzeerg = ggt(zaehlererg,nenner2);
gekzaehler = zaehlererg/kuerzeerg;
geknenner = nenner2/kuerzeerg;
if (geloest == 0){

if (document.Parameter.zzz1.value !=""){var zze1 = eval(document.Parameter.zzz1.value);}
else zze1 =0;

if (document.Parameter.nnn1.value !=""){var nne1 = eval(document.Parameter.nnn1.value);}
else nne1 =0;

if (document.Parameter.ganze.value !=""){var ganze1 = eval(document.Parameter.ganze.value);}
else ganze1 =0;



if (ganze1 == ganzezahl && nenner2 == nne1 && zaehlererg == zze1 && kuerzeerg >1)
{
 ausgtext2 = "Das Ergebnis ist richtig, jedoch: Kürzen möglich!";
}

kurzgabe = ggt(nne1,zze1);

if (ganze1 == ganzezahl && 0 == ganzezahl && zaehlererg/nenner2 == zze1/nne1 && kurzgabe > 1)
{
 ausgtext2 = "Das Ergebnis ist richtig, jedoch: Kürzen möglich!";
}


if (ganze1 == ganzezahl && ganzezahl>=1 && zaehlererg/nenner2 == zze1/nne1 && kurzgabe > 1)
{
 ausgtext2 = "Das Ergebnis ist richtig, jedoch: Kürzen möglich!";
}


if (zze1 == gekzaehler && nne1 == geknenner && ganze1 == ganzezahl)
{
ausgtext2 = "Alles ist richtig! Kompliment!"; geloest = 1; score = score +25;
}

//if (ganzezahl >=1){
//sonderfall = zaehlererg-(ganzezahl*nenner2);
//if (sonderfall!=0){
//schau = ggt(sonderfall,nenner2);}
//else schau = 1;
//sonderzaehler = sonderfall/schau;
//sondernenner = nenner2/schau;

//if (zze1 == sonderzaehler && nne1 == sondernenner && ganze1 == ganzezahl)
//{
//ausgtext2 = "Alles ist richtig! Kompliment!"; geloest = 1; score = score +25;
//}

//if (ganzezahl >1 && Math.round (sonderzaehler/sondernenner)==sonderzaehler/sondernenner){
//if (zze1 == 0 && nne1 == 0 && ganze1 == ganzezahl)
//{
//ausgtext2 = "Ausgezeichnet! Alles richtig."; score = score+ 20;
//}
//}


//}

if (zze1 >= nne1 && ganze1 == 0 && nenner2 == nne1 && zaehlererg == zze1)
{

ausgtext2 = "Das Ergebnis ist richtig, aber Ganze sind möglich.";
}

if (zze1 != gekzaehler && nne1 == geknenner && ganze1 == ganzezahl)
{
 ausgtext2 ="Der Zähler beim Ergebnis ist falsch.";score = score -10; if (score<0 ) score =0;
}


if (zze1 == gekzaehler && nne1 != geknenner && ganze1 == ganzezahl)
{
ausgtext2 = "Der Nenner beim Ergebnis ist falsch.";score = score -10; if (score<0 ) score =0;
}

if (zze1 == gekzaehler && nne1 == geknenner && ganze1 != ganzezahl && zze1/nne1 == gekzaehler/geknenner)
{
ausgtext2 = "Der Bruch stimmt, aber die Ganzen sind falsch.";score = score -10; if (score<0 ) score =0;
}

if (zze1 == gekzaehler && nne1 == geknenner && ganze1 != ganzezahl && zze1/nne1 != gekzaehler/geknenner)
{
ausgtext2 = "Das Ganzes ist falsch oder fehlt.";
}

if (zze1 == !gekzaehler && nne1 == geknenner && ganze1 == ganzezahl)
{
ausgtext2 = "Der Zähler beim Ergebnis ist falsch.";score = score -10; if (score<0 ) score =0;
}

if (ganze1 != ganzezahl)
{
 ausgtext2 = "Ganze sind falsch!";score = score -10; if (score<0 ) score =0;
}



if (ganzezahl >1 && Math.round (zaehlererg/nenner1)==zaehlererg/nenner1){
if (zze1 == 0 && nne1 == 0 && ganze1 == ganzezahl)
{
ausgtext2 = "Ausgezeichnet! Alles richtig."; score = score+ 20;
}
}

}

else {
ausgtext2 = "10 Punkte Abzug wegen Betrugsversuch!";
ausgtext1 = "Die Aufgabe war schon geloest.";
score = score -10; if (score<0 ) score =0;
}
document.Parameter.Pruefergebnis3.value = ausgtext2;
document.Parameter.Pruefergebnis2.value = ausgtext1;
document.Parameter.Punktestand.value = String(score) + " Punkte";

}

function auswerten() {

var punkte = score;

// Zurücksetzen der Punkte auf Ausgangswert

score = 0; // Startkapital

document.Parameter.Pruefergebnis3.value = "Deine Punkte werden nun übetragen.";
document.Parameter.Pruefergebnis2.value = "Damit werden sie hier gelöscht!";
document.Parameter.Punktestand.value = String(score) + " Punkte";

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

