// skript pro Kostkove sestavy
var kostky=new Array; //aktuální stav na kostkách
var kostky_pom=new Array; //pomocné pole, zejména na třídění
var hodu=50; //počet zbývajících hodů
var vyber_pocet=0; //počet vybraných kostek
var celkem=50; //počet získaných bodů
var zapsane=new Array; //zapsané počty bodů za jednotlivé figury
var j;
for (j=0;j<12;j++) //inicializace pole
  zapsane[j]=0;
for (j=0;j<6;j++) //inicializace pole
  kostky[j]=0;

function novahra() //zacne novou hru
{
  if (confirm("Opravdu začít novou hru?"))
  {
    hodu=50;
    celkem=50;
    vyber_pocet=0;
    for (i=0;i<12;i++)
    {
      zapsane[i]=0;
      document.getElementById("vysl"+i).innerHTML = 0;
      document.getElementById("akt"+i).innerHTML = "&nbsp;&nbsp;";
      document.getElementById("tlac_zapis"+i).style.visibility = "hidden";
    }
    document.getElementById("hodu").innerHTML = hodu;
    document.getElementById("celkem").innerHTML = celkem;
    for (i=0;i<6;i++) //vynulovat kostky
    {
      kostky[i]=0;
      document.getElementById("kostka"+i).src = "../img_games/vrh_kostka0.gif";
      //document.getElementById("vyber"+i).disabled=true; //zakaze vyber kostek
      document.getElementById("kostka"+i).style.borderColor="white";
    }
    document.getElementById("tlac1").disabled=true; //zakaze hod vybranymi, kdyz neni nic zaskrtnuto
    document.getElementById("tlac2").disabled=false; //povoli hod vsemi
  }
}

function vyber(k)
{
  if (kostky[k]>0)
  {
    if (document.getElementById("kostka"+k).style.borderTopColor=="#ffffff" || document.getElementById("kostka"+k).style.borderTopColor=="white" || document.getElementById("kostka"+k).style.borderTopColor=="rgb(255, 255, 255)")
    {
      vyber_pocet++;
      document.getElementById("kostka"+k).style.borderColor="red";
    }
    else
    {
      vyber_pocet--;
      document.getElementById("kostka"+k).style.borderColor="white";
    }
    document.getElementById("tlac1").disabled = (vyber_pocet==0);
  }
}

function generovat_k(vse)
{
  var i;
  for (i=0;i<6;i++)
    if (vse==1 || document.getElementById("kostka"+i).style.borderTopColor=="#ff0000" || document.getElementById("kostka"+i).style.borderTopColor=="red" || document.getElementById("kostka"+i).style.borderTopColor=="rgb(255, 0, 0)")
    {
      kostky[i] = Math.floor(Math.random()*6)+1;
      document.getElementById("kostka"+i).src = '../img_games/vrh_kostka'+kostky[i]+'.gif';
      document.getElementById("kostka"+i).style.borderColor="#ffffff";
    }
    vyber_pocet=0;
}

function seradit_k()
{
  var i,j,k,maxk;
  for (i=0;i<6;i++)
    kostky_pom[i] = kostky[i];
  for (i=0;i<5;i++)
  {
    k=i;
    mink=kostky_pom[i];
    for (j=i+1;j<6;j++)
      if (kostky_pom[j]<mink)
      {
        k=j;
        mink=kostky_pom[j];
      }
    kostky_pom[k]=kostky_pom[i];
    kostky_pom[i]=mink;
  }
}

function testovat_cislo(cislo)
{
  var bodu=0;
  var pocet=0;
  for (i=0;i<6;i++)
    if (kostky_pom[i]==cislo)
      pocet++;
  if (pocet>2)
    bodu=pocet*cislo;
  return bodu;
}

function testovat_pary()
{
  var bodu=0;
  if (kostky_pom[0]==kostky_pom[1] && kostky_pom[1]!=kostky_pom[2] && kostky_pom[2]==kostky_pom[3] && kostky_pom[3]!=kostky_pom[4] && kostky_pom[4]==kostky_pom[5])
  {
    for (i=0;i<6;i++)
      bodu += kostky_pom[i];
  }
  return bodu;
}

function testovat_trojice()
{
  var bodu=0;
  if (kostky_pom[0]==kostky_pom[1] && kostky_pom[1]==kostky_pom[2] && kostky_pom[2]!=kostky_pom[3] && kostky_pom[3]==kostky_pom[4] && kostky_pom[4]==kostky_pom[5])
  {
    for (i=0;i<6;i++)
      bodu += kostky_pom[i];
  }
  return bodu;
}

function testovat_radu()
{
  var bodu=0;
  if (kostky_pom[0]!=kostky_pom[1] && kostky_pom[1]!=kostky_pom[2] && kostky_pom[2]!=kostky_pom[3] && kostky_pom[3]!=kostky_pom[4] && kostky_pom[4]!=kostky_pom[5])
  {
    for (i=0;i<6;i++)
      bodu += kostky_pom[i];
  }
  return bodu;
}

function testovat_pyram()
{
  var bodu=0;
  if (kostky_pom[0]!=kostky_pom[1] && kostky_pom[1]==kostky_pom[2] && kostky_pom[2]!=kostky_pom[3] && kostky_pom[3]==kostky_pom[4] && kostky_pom[4]==kostky_pom[5])
  {
    for (i=0;i<6;i++)
      bodu += kostky_pom[i];
  }
  return bodu;
}

function testovat_pyram2()
{
  var bodu=0;
  if (kostky_pom[0]==kostky_pom[1] && kostky_pom[1]==kostky_pom[2] && kostky_pom[2]!=kostky_pom[3] && kostky_pom[3]==kostky_pom[4] && kostky_pom[4]!=kostky_pom[5])
  {
    for (i=0;i<6;i++)
      bodu += kostky_pom[i];
  }
  return bodu;
}

function testovat_general()
{
  var bodu=0;
  if (kostky_pom[0]==kostky_pom[1] && kostky_pom[1]==kostky_pom[2] && kostky_pom[2]==kostky_pom[3] && kostky_pom[3]==kostky_pom[4] && kostky_pom[4]==kostky_pom[5])
  {
    for (i=0;i<6;i++)
      bodu += kostky_pom[i];
  }
  return bodu;
}

function zapsat(k) //zapisuje hozenou figuru do vysledku
{
  var i;
  var soucet=0;
  zapsane[k]=document.getElementById("akt"+k).innerHTML*1;
  document.getElementById("vysl"+k).innerHTML = zapsane[k];
  for (i=0;i<12;i++)
    soucet+=zapsane[i]*1;
  soucet+=hodu;
  document.getElementById("celkem").innerHTML = soucet;
  celkem=soucet;
  //potlačit tlačítko hodit vybranými, potlačit další tlačítka, vynulovat sloupec aktuálních výsledků
  for (i=0;i<12;i++)
  {
    document.getElementById("tlac_zapis"+i).style.visibility = "hidden";
    document.getElementById("akt"+i).innerHTML = "&nbsp;&nbsp;";
  }  
  for (i=0;i<6;i++) //vynulovat kostky
  {
    kostky[i]=0;
    document.getElementById("kostka"+i).src = "../img_games/vrh_kostka0.gif";
    //document.getElementById("vyber"+i).disabled=true; //zakaze vyber kostek
  }
  document.getElementById("tlac1").disabled=true; //zakaze hod vybranymi, kdyz neni nic zaskrtnuto
}

function hodit_k(param)
{
  var i;
  var pom;
  generovat_k(param);
  hodu--;
  celkem--;
  document.getElementById("celkem").innerHTML = celkem;
  document.getElementById("hodu").innerHTML = hodu;
  if (hodu==0)
    document.getElementById("tlac2").disabled=true; //zakaze hod vybranymi, kdyz neni nic zaskrtnuto
  seradit_k();
  for (i=0;i<6;i++) // kontrola sestav číslicových
  {
    pom = testovat_cislo(i+1);
    document.getElementById("akt"+i).innerHTML = (pom>0 ? pom : "&nbsp;&nbsp;");
    document.getElementById("tlac_zapis"+i).style.visibility = (pom>0 && (zapsane[i]==0) ? "visible" : "hidden");
  }  
  for (i=6;i<12;i++) // kontrola sestav "figur"
  {
    switch(i)
    {
      case 6:
       pom = testovat_pary();
       break;
      case 7:
       pom = testovat_trojice();
       break;
      case 8:
       pom = testovat_radu();
       break;
      case 9:
       pom = testovat_pyram();
       break;
      case 10:
       pom = testovat_pyram2();
       break;
      case 11:
       pom = testovat_general();
       break;
      default:
       pom=0;
    }
    document.getElementById("akt"+i).innerHTML = (pom>0 ? pom : "&nbsp;&nbsp;");
    document.getElementById("tlac_zapis"+i).style.visibility = (pom>0 && (zapsane[i]==0) ? "visible" : "hidden");
  }  
  
  document.getElementById("tlac1").disabled=true; //zakaze hod vybranymi, kdyz neni nic zaskrtnuto
  //for (i=0;i<6;i++)
    //document.getElementById("vyber"+i).disabled=false; //povoli vyber kostek
}


