rootname="templates/rosport_sources/images/rosport";
var finishflag = 0;

function pieceObject(imgname, xval, yval ) {
  this.puzzlepiece = new Image(xval,yval);
  this.puzzlepiece.src = imgname;
  return(this);
}

rpiecelist = new Array(16);
rpiecelist[1] = new pieceObject(rootname+'00.jpg', 77,140); 
rpiecelist[2] = new pieceObject(rootname+'10.jpg', 77,140); 
rpiecelist[3] = new pieceObject(rootname+'20.jpg', 77,140); 
rpiecelist[4] = new pieceObject(rootname+'30.jpg', 77,140); 
rpiecelist[5] = new pieceObject(rootname+'01.jpg', 77,140); 
rpiecelist[6] = new pieceObject(rootname+'11.jpg', 77,140); 
rpiecelist[7] = new pieceObject(rootname+'21.jpg', 77,140); 
rpiecelist[8] = new pieceObject(rootname+'31.jpg', 77,140); 
rpiecelist[9] = new pieceObject(rootname+'02.jpg', 77,140); 
rpiecelist[10] = new pieceObject(rootname+'12.jpg', 77,140); 
rpiecelist[11] = new pieceObject(rootname+'22.jpg', 77,140); 
rpiecelist[12] = new pieceObject(rootname+'32.jpg', 77,140); 
rpiecelist[13] = new pieceObject(rootname+'blank.gif', 77,140);
rpiecelist[14] = new pieceObject(rootname+'clear.gif', 200,20);
rpiecelist[15] = new pieceObject(rootname+'incomp.gif', 200,20);
rpiecelist[16] = new pieceObject(rootname+'done.gif', 200,20);

posnames = new Array(12);
posnames[1] = "aa";
posnames[2] = "ba";
posnames[3] = "ca";
posnames[4] = "da";
posnames[5] = "ab";
posnames[6] = "bb";
posnames[7] = "cb";
posnames[8] = "db";
posnames[9] = "ac";
posnames[10] = "bc";
posnames[11] = "cc";
posnames[12] = "dc";

//blankx = 3;
blankx = 0;
blanky = 2;

function wrongPress(picname) {
  
}       

timeoutIDa = 99;

function setupImages()
{       clearTimeout(timeoutIDa);
        document.images[posnames[1]].src = rpiecelist[6].puzzlepiece.src;
//        document.images[posnames[2]].src = rpiecelist[9].puzzlepiece.src;
        document.images[posnames[2]].src = rpiecelist[12].puzzlepiece.src;
        document.images[posnames[3]].src = rpiecelist[3].puzzlepiece.src;
        document.images[posnames[4]].src = rpiecelist[5].puzzlepiece.src;
        document.images[posnames[5]].src = rpiecelist[8].puzzlepiece.src;
        document.images[posnames[6]].src = rpiecelist[10].puzzlepiece.src;
        document.images[posnames[7]].src = rpiecelist[11].puzzlepiece.src;
        document.images[posnames[8]].src = rpiecelist[7].puzzlepiece.src;
        document.images[posnames[9]].src = rpiecelist[13].puzzlepiece.src;
//        document.images[posnames[9]].src = rpiecelist[4].puzzlepiece.src;
        document.images[posnames[10]].src = rpiecelist[1].puzzlepiece.src;
        document.images[posnames[11]].src = rpiecelist[2].puzzlepiece.src;
//        document.images[posnames[12]].src = rpiecelist[13].puzzlepiece.src;
        document.images[posnames[12]].src = rpiecelist[4].puzzlepiece.src;
        document.images['status'].src = rpiecelist[14].puzzlepiece.src;
//        blankx = 3;
        blankx = 0;
  		blanky = 2;
}               

function getX(imgName) {
  if ((imgName=="aa")||(imgName=="ab")||(imgName=="ac")) return(0);
  else if ((imgName=="ba")||(imgName=="bb")||(imgName=="bc")) return(1);
  else if ((imgName=="ca")||(imgName=="cb")||(imgName=="cc")) return(2);
  else return(3);
  return(9);
}

function getY(imgName) {
  if ((imgName=="aa")||(imgName=="ba")||(imgName=="ca")||(imgName=="da")) return(0);
  else if ((imgName=="ab")||(imgName=="bb")||(imgName=="cb")||(imgName=="db")) return(1);
  else return(2);
  return(9);
}


function buttonPress(imgName) {
    posx = getX(imgName);
    posy = getY(imgName);
  if ((posx + 1 == blankx) && (posy == blanky))
  {
    pos1 = posnames[posx + 4*posy + 1 + 1];
    pos2 = posnames[posx + 4*posy + 1];
    document.images[pos1].src = document.images[pos2].src;
    document.images[pos2].src = rpiecelist[13].puzzlepiece.src;
    blankx = blankx - 1; 
 }
  else if ((posx - 1 == blankx) && (posy == blanky))
  {
    pos1 = posnames[posx + 4*posy - 1 + 1];
    pos2 = posnames[posx + 4*posy + 1];
    document.images[pos1].src = document.images[pos2].src;
    document.images[pos2].src = rpiecelist[13].puzzlepiece.src;
    blankx = blankx + 1;
  }
  else if ((posy + 1 == blanky) && (posx == blankx))
  {
    pos1 = posnames[posx + 4*posy + 4 + 1];
    pos2 = posnames[posx + 4*posy + 1];
    document.images[pos1].src = document.images[pos2].src;
    document.images[pos2].src = rpiecelist[13].puzzlepiece.src;
    blanky = blanky - 1;
  }
  else if ((posy - 1 == blanky) && (posx == blankx))
  {
    pos1 = posnames[posx + 4*posy - 4 + 1];
    pos2 = posnames[posx + 4*posy + 1];
    document.images[pos1].src = document.images[pos2].src;
    document.images[pos2].src = rpiecelist[13].puzzlepiece.src;
    blanky = blanky + 1;
  }
  else
    wrongPress(imgName);
  
}

function flashMsgOff() {
  document.images['status'].src=rpiecelist[14].puzzlepiece.src
  timeoutIDa=setTimeout("flashMsgOn()", 200);
}

function flashMsgOn() {
  document.images['status'].src=rpiecelist[16].puzzlepiece.src
  timeoutIDa=setTimeout("flashMsgOff()", 600);
}

function finish() {
  finishflag=1;

  for( x = 1; x < 9; x++)
  {
		if( document.images[posnames[x]].src != rpiecelist[x].puzzlepiece.src ) 
     		finishflag=0;
  }
  for( x = 10; x < 13; x++)
  {
		if( document.images[posnames[x]].src != rpiecelist[x].puzzlepiece.src ) 
     		finishflag=0;
  }


  if (finishflag == 1)
  {
//    document.images[ 'dc' ].src = rpiecelist[12].puzzlepiece.src;   
    document.images[ 'ac' ].src = rpiecelist[9].puzzlepiece.src;

    document.images[ 'status' ].src = rpiecelist[16].puzzlepiece.src;
    blankx = 100;
    timeoutIDa=setTimeout("flashMsgOff()", 500);
  }
  else
  {
    document.images[ 'status' ].src = rpiecelist[15].puzzlepiece.src;
    timeoutIDb=setTimeout("document.images['status'].src=rpiecelist[14].puzzlepiece.src", 1000);
  }
}

function callWinner()
{       
	if (finishflag == 1)
	{	document.winner.youwon.value = "1";
	        document.winner.submit();
	}
}

