// Javascript-Teil fuer Alte Haasen in der Grube

 var zmax=14;
 var xmax=6;
 var kmax=30;
 var staerke=1;
 var smax=5;
 var aktiv=false;
 var dran=0;
 var vcount=0;
 var p1,p2,p3,p4;
 var f=new Array(zmax);
 var f0=new Array(zmax);
 var f1=new Array(zmax);
 var f2=new Array(zmax);
 var f3=new Array(zmax);
 var f4=new Array(zmax);
 var f5=new Array(zmax);
 var f6=new Array(zmax);
 var fakt=new Array(zmax);

function hilfe() 
{ var win2=window.open("hilfe.htm","Hilfsfenster","width=592,height=320,scrollbars=yes,resizeable=yes,location=no"); }

function messie(temp)
{ temp='<center><font face="verdana,arial,helvetica" size=2 color="#ffee00"><b>'+temp+'</b></font></center>'; 
  if (document.layers) with(document.messies.document) { open(); write(temp); close(); }
  else if (document.all) document.all.messies.innerHTML=temp;
  else if(document.getElementById) document.getElementById('messies').innerHTML=temp;
}

function gegner()
{ staerke++; if (staerke>=smax) staerke=1;
  document.images['staerke'].src='bergm_'+staerke+'.gif';
}

function anzeigen()
{ var i;
  var temp;
  for (i=0; i<zmax; i++) { temp='g'+i; document.images[temp].src='b'+f[i]+'.gif'; }
}
    
function neu()
{ var i,j,k;
  for (i=0; i<zmax; i++) f[i]=0;
  for (i=0; i<kmax; i++)
  { j=Math.floor(zmax*Math.random());
    if (j==0) j=1;
    if (j==7) j=8;
    f[j]++;
  }
  for (i=0; i<zmax; i++) f0[i]=f[i];
  anzeigen();
  dran=0;
  vcount=0;
  messie('Bitte w&auml;hlen Sie Ihre Lore');
  aktiv=true;
} 

function alt()
{ var i;
  for (i=0; i<zmax; i++) f[i]=f0[i];
  anzeigen();
  dran=0;
  vcount=0;
  messie('Bitte w&auml;hlen Sie Ihre Lore');
  aktiv=true;
}


function waehlen(nr)
{ var i,flag;
  if (f[nr]>0)
  { flag=0;
    for (i=0; i<zmax; i++) fakt[i]=f[i];
    verteilen(dran,nr);
    for (i=0; i<zmax; i++) f[i]=fakt[i];
    anzeigen();
    aktiv=false;
    dran=1; 
    messie('Kumpel &uuml;berlegt...');
    setTimeout("setzen()",1000); 
  }
  else alert('diese Lore ist leer!');
}

function checkende() { var ok=0; for (var i=1; i<7; i++) ok=ok+f[i]+f[i+7]; if (ok==0) return true; else return false; } 


function vorschlag()
{ var temp;
  vcount++;
  if (vcount>3)
  { temp='Jetzt m&uuml;ssen Sie aber selbst&auml;ndig weiterspielen!';
  }
  else
  { for (var i=0; i<zmax; i++) f4[i]=f[i];
    temp=tiefe4(0);
    temp='Probieren Sie doch mal Lore '+temp+' *** ';
  }
  messie(temp); 
}

// ------------- Compizuege ------------------------

function setzen()
{ var i,j,nr,flag;
  if (checkende()) messie("...das war's"); else
  { if (dran==1)
    { if (staerke==1)      { for (i=0; i<zmax; i++) f1[i]=f[i]; nr=tiefe1(dran); } 
      else if (staerke==2) { for (i=0; i<zmax; i++) f2[i]=f[i]; nr=tiefe2(dran); }
      else if (staerke==3) { for (i=0; i<zmax; i++) f4[i]=f[i]; nr=tiefe4(dran); }
      else if (staerke==4) { for (i=0; i<zmax; i++) f6[i]=f[i]; nr=tiefe6(dran); }
      else { for (i=0; i<zmax; i++) f1[i]=f[i]; nr=tiefe1(dran); }
      if (nr<0) { messie(' Kumpel muss aussetzen...'); dran=0; } else
      { flag=0;
        for (i=0; i<zmax; i++) fakt[i]=f[i];
        verteilen(dran,nr);
        for (i=0; i<zmax; i++) f[i]=fakt[i];
        anzeigen();
      }      
    }
    j=0; for (i=1; i<7; i++) j=j+f[i];
    if (j>0) { aktiv=true; dran=0; } else { dran=1; messie('Sie muessen aussetzen'); setTimeout("setzen()",1000);  }
  }
  if (dran==0) messie(' ... bitte Lore w&auml;hlen');
}

function verteilen(dran,index)
{ var i,j,k,max;
  max=fakt[index];
  k=index;
  for (i=0; i<max; i++)
  { k++;
    if (k==7) if (dran==1) k++;
    if (k>=zmax) { k=0; if (dran==0) k++; } 
    fakt[k]++;  
  }
  fakt[index]=0;
  if ((dran==0) && (k>7)) { while ((k>7) && ((fakt[k]==2) || (fakt[k]==3))) { fakt[7]=fakt[7]+fakt[k]; fakt[k]=0; k--; } }
  if ((dran==1) && (k<7)) { while ((k>0) && ((fakt[k]==2) || (fakt[k]==3))) { fakt[0]=fakt[0]+fakt[k]; fakt[k]=0; k--; } } 
}
  
function tiefe1(dran)
{ var i,ind,j,k;
  var pmax=-9999; 
  var p=f1[7]-f1[0]; if (dran==1) p=-p;
  var sel=-1;
  for (i=1; i<7; i++) 
  { for (j=0; j<zmax; j++) fakt[j]=f1[j];
    if (dran==0) ind=i; else ind=i+7;
    if (f1[ind]>0)
    { verteilen(dran,ind);
      p=fakt[7]-fakt[0]; if (dran==1) p=-p;
      if ((pmax<=p) || (sel<0)) { sel=ind; pmax=p; } 
    } 
  } 
  p1=pmax; 
  return sel;
}

// --- bis hier ok fuer beide seiten

function tiefe2(dran)
{ var i,ind,j,k,p,gegner;
  var pmax=-9999; 
  var sel=-1;
  for (i=1; i<7; i++) 
  { if (dran==0) ind=i; else ind=i+7;
    if (f2[ind]>0)
    { for (j=0; j<zmax; j++) fakt[j]=f2[j]; verteilen(dran,ind);  
      dran=(dran+1)%2; 
      for (j=0; j<zmax; j++) f1[j]=fakt[j]; gegner=tiefe1(dran); 
      dran=(dran+1)%2;
      if (gegner>0) p=-p1; else { p=f1[7]-f1[0]; if (dran==1) p=-p; }
      if ((pmax<=p) || (sel<0)) { sel=ind; pmax=p; } 
    }
  } 
  p2=pmax;
  return sel;
}

function tiefe3(dran)
{ var i,ind,j,k,p,gegner;
  var pmax=-9999; 
  var sel=-1;
  for (i=1; i<7; i++) 
  { if (dran==0) ind=i; else ind=i+7;
    if (f3[ind]>0)
    { for (j=0; j<zmax; j++) fakt[j]=f3[j]; verteilen(dran,ind);  
      dran=(dran+1)%2; 
      for (j=0; j<zmax; j++) f2[j]=fakt[j]; gegner=tiefe2(dran); 
      dran=(dran+1)%2;
      if (gegner>0) p=-p2; else { p=f2[7]-f2[0]; if (dran==1) p=-p; }
      if ((pmax<=p) || (sel<0)) { sel=ind; pmax=p; } 
    }
  } 
  p3=pmax;
  return sel;
}

function tiefe4(dran)
{ var i,ind,j,k,p,gegner;
  var pmax=-9999; 
  var sel=-1;
  for (i=1; i<7; i++) 
  { if (dran==0) ind=i; else ind=i+7;
    if (f4[ind]>0)
    { for (j=0; j<zmax; j++) fakt[j]=f4[j]; verteilen(dran,ind);  
      dran=(dran+1)%2; 
      for (j=0; j<zmax; j++) f3[j]=fakt[j]; gegner=tiefe3(dran); 
      dran=(dran+1)%2;
      if (gegner>0) p=-p3; else { p=f3[7]-f3[0]; if (dran==1) p=-p; }
      if ((pmax<=p) || (sel<0)) { sel=ind; pmax=p; } 
    }
  } 
  p4=pmax;
  return sel;
}

function tiefe5(dran)
{ var i,ind,j,k,p,gegner;
  var pmax=-9999; 
  var sel=-1;
  for (i=1; i<7; i++) 
  { if (dran==0) ind=i; else ind=i+7;
    if (f5[ind]>0)
    { for (j=0; j<zmax; j++) fakt[j]=f5[j]; verteilen(dran,ind);  
      dran=(dran+1)%2; 
      for (j=0; j<zmax; j++) f4[j]=fakt[j]; gegner=tiefe4(dran); 
      dran=(dran+1)%2;
      if (gegner>0) p=-p4; else { p=f4[7]-f4[0]; if (dran==1) p=-p; }
      if ((pmax<=p) || (sel<0)) { sel=ind; pmax=p; } 
    }
  } 
  p5=pmax;
  return sel;
}

function tiefe6(dran)
{ var i,ind,j,k,p,gegner;
  var pmax=-9999; 
  var sel=-1;
  for (i=1; i<7; i++) 
  { if (dran==0) ind=i; else ind=i+7;
    if (f6[ind]>0)
    { for (j=0; j<zmax; j++) fakt[j]=f6[j]; verteilen(dran,ind);  
      dran=(dran+1)%2; 
      for (j=0; j<zmax; j++) f5[j]=fakt[j]; gegner=tiefe5(dran); 
      dran=(dran+1)%2;
      if (gegner>0) p=-p5; else { p=f5[7]-f5[0]; if (dran==1) p=-p; }
      if ((pmax<=p) || (sel<0)) { sel=ind; pmax=p; } 
    }
  } 
  p6=pmax;
  return sel;
}

