state=new Array( 0,1,2,3,4,5,6,7,8 );
names=new Array( "img/pz1.png", "img/pz2.png", "img/pz3.png", "img/pz4.png", "img/pz5.png", "img/pz6.png", "img/pz7.png", "img/pz8.png", "img/pz9.png" );
//names=new Array( "img/p1.png", "img/p2.png", "img/p3.png", "img/p4.png", "img/p5.png", "img/p6.png", "img/p7.png", "img/p8.png", "img/p9.png" );
numba=new Array( "1", "2", "3", "4", "5", "6", "7", "8", "x" );
butpix=new Array("img/buttonUP.png","img/buttonDOWN.png");
emptypos=8;
ready=1;

/* ok vector:
			8 7654 3210
			1 8421 8421
			-----------
1: 2,4			0 0000 1010 = 00a
2: 1,3,5		0 0001 0101 = 015
3: 2,6			0 0010 0010 = 022
4: 1,5,7		0 0101 0001 = 051
5: 2,4,6,8		0 1010 1010 = 0aa
6: 3,5,9		1 0001 0100 = 114
7: 4,8			0 1000 1000 = 088
8: 5,7,9		1 0101 0000 = 150
9: 6,8			0 1010 0000 = 0a0
*/
ok=new Array( 0xa,0x15,0x22,0x51,0xaa,0x114,0x88,0x150,0xa0 );

function init()
{
  document.noform.output.value="Sorted";
  for(i=0;i<9;i++) state[i]=i;
  emptypos=8;
  ready=1;
}

function mio(n)
{
  document.getElementById('mix').src=butpix[n];
}

function mixit()
{
  n=Math.floor(Math.random()*250)+120;
  for(i=0;i<n;i++)
  {
    d=Math.floor(Math.random()*8);
    clk(d);
  }
}

function clk(n)
{
  if(state[n]==8) return;
  if((ok[n]&(1<<emptypos))==0) return;
  ep=emptypos+1;
  //pic=eval("document.k"+ep);
  objid='k'+ep;
  document.getElementById(objid).src=names[state[n]];
  document.getElementById(objid).alt=numba[state[n]];
  //pic.src=names[state[n]];
  state[emptypos]=state[n];
  n2=n+1;
  //pic=eval("document.k"+n2);
  objid='k'+n2;
  document.getElementById(objid).src=names[8];
  document.getElementById(objid).alt=numba[8];
  //pic.src=names[8];
  state[n]=8;
  emptypos=n;
  ready=0;
  if(state[0]==0&&state[1]==1&&state[2]==2&&state[3]==3&&state[4]==4&&state[5]==5&&state[6]==6&&state[7]==7) ready=1;
  //if(ready==0) document.noform.output.value="Mixed";
  //else document.noform.output.value="Sorted";
}
