//Pelin tilaa osoittavat vakiot ja muuttujat
var otettu=0

var pelaaja=1
var siirtaa=2
var hauva=3
var loppui=4
var tila=pelaaja

//globaalit omat objektit
var keksit=new Array()
var Tnappi1,Tnappi2,Tnappi3,Tnappi4
function alusta(){
  //Alustetaan olioita onLoad-tapahtumassa
  for (i=1;i<=21;i++){
    keksit[i]=getElt("keksi"+i)
    moveEltTo(keksit[i],0,0) //Tarpeen, jotta getEltTop yms. toimivat Navigator 6:ssa
  }

  Tnappi1=getElt("nappi1")
  Tnappi2=getElt("nappi2")
  Tnappi3=getElt("nappi3")
  Tnappi4=getElt("nappi4")  
}

function aloita(aloittaja){
  for (i=1;i<=21;i++)
    moveEltTo(keksit[i],0,0)
  otettu=0
  tila=aloittaja
  if (tila==hauva){
    //piilota napit
    setEltVisibility(Tnappi1,'hidden')
    setEltVisibility(Tnappi2,'hidden')
    setEltVisibility(Tnappi3,'hidden')
    setEltVisibility(Tnappi4,'hidden')
    siirra()
  }
  else{
    setEltVisibility(Tnappi1,'visible')
    setEltVisibility(Tnappi2,'visible')
    setEltVisibility(Tnappi3,'visible')
    setEltVisibility(Tnappi4,'visible')
  }
}

function siirra(){
  //Hauvan vuoro
  var lkm
  var jaljella=21-otettu
  for (lkm=1;lkm<=4;lkm++)
    if(Math.round((jaljella-1-lkm)/5)==(jaljella-1-lkm)/5)
      break  
  if (lkm==5)
    lkm=Math.floor(Math.random()*Math.min(4,jaljella)+1)

  for (i=otettu+1;i<=otettu+lkm;i++)
    moveEltBy(keksit[i],0,-2)
  setTimeout('nosta()',10)
  otettu+=lkm
}

function ota(lkm){
  //pelaaja valitsi lkm kappaletta
  if (tila==pelaaja){
    tila=siirtaa
    for (i=otettu+1;i<=otettu+lkm;i++)
      moveEltBy(keksit[i],0,2)
    setTimeout('tiputa()',10)
    otettu+=lkm

    //piilota napit
    setEltVisibility(Tnappi1,'hidden')
    setEltVisibility(Tnappi2,'hidden')
    setEltVisibility(Tnappi3,'hidden')
    setEltVisibility(Tnappi4,'hidden')
  }
}

function tiputa(){
  var tiputettavaa=false
  for (i=1;i<=21;i++)
    if (getEltTop(keksit[i])<48 && getEltTop(keksit[i])>0){
      moveEltBy(keksit[i],0,2)
      tiputettavaa=true}

  if (tiputettavaa)
    setTimeout('tiputa()',10)
  else{
    if (otettu==21)
      nostakaikki()
    else{
      tila=hauva
      siirra()
    }
  }
}

function nosta(){
  var nostettavaa=false
  for (i=1;i<=21;i++)
    if (getEltTop(keksit[i])>-48 && getEltTop(keksit[i])<0){
      moveEltBy(keksit[i],0,-2)
      nostettavaa=true}

  if (nostettavaa)
    setTimeout('nosta()',10)
  else{
    if (otettu==21)
      laskekaikki()
    else{
      //n”yt” napit
      var saaottaa=21-otettu
      if (saaottaa>=1) setEltVisibility(Tnappi1,'visible')
      if (saaottaa>=2) setEltVisibility(Tnappi2,'visible')
      if (saaottaa>=3) setEltVisibility(Tnappi3,'visible')
      if (saaottaa>=4) setEltVisibility(Tnappi4,'visible')
      tila=pelaaja
    }
  }
}

function laskekaikki(){
  //Pelaaja voitti, kaikki lasketaan
  var laskettavaa=false
  for (i=1;i<=21;i++)
  if (getEltTop(keksit[i])<48){
    moveEltBy(keksit[i],0,2)
    laskettavaa=true}
  if (laskettavaa)
    setTimeout('laskekaikki()',10)
  else
    tila=loppui
}

function nostakaikki(){
  //Hauva voitti, kaikki nostetaan
  var nostettavaa=false
  for (i=1;i<=21;i++)
  if (getEltTop(keksit[i])>-48){
    moveEltBy(keksit[i],0,-2)
    nostettavaa=true}
  if (nostettavaa)
    setTimeout('nostakaikki()',10)
  else
    tila=loppui
}