// fourteen_fifteen.js version 2.002  12-02-2010
// Copyright (c) 2004 RJE-productions and E.R. van Veldhoven. All rights reserved. No part of this script may be published, in any form or by any means, without the prior permission of the author.
var moves=0;
var movestext="";
var fourteen_fifteen_img=new Array();
function fourteen_fifteen_new_img(img_name,img_src,width,height)
{
fourteen_fifteen_img[img_name]=new puzzle_img(img_src+".gif",width,height);
}
function make_board()
{
for (var i=0; i<16; i++)
{
if(i==13) this[i]="tile"+14
else
if(i==14) this[i]="tile"+13
else this[i]="tile"+i
}
return(this);
}
function draw_board()
{
for (var i=0; i<16; i++)
{
if (oldboard[i]!=board[i])
{
document["tile"+i].src=fourteen_fifteen_img[board[i]].img.src;
oldboard[i]=board[i];
}
}
if(document.all)
{
layer=document.all["nrofmoves"];
layer.innerHTML=movestext+": "+moves;
}
else
if(!document.all&&document.getElementById)
{
layer=document.getElementById("nrofmoves");
layer.innerHTML=movestext+": "+moves;
}
}
function move()
{
if (moves<100000) moves++;
}
function tile_click(t)
{
var
i,j,m,n,x,y;
for (i=0; i<16; i++) if (board[i]=="tile15") j=i;
x=j%4;
y=Math.floor(j/4);
if (t>=0)
{
m=t%4;
n=Math.floor(t/4);
}
else
{
m=x;
n=y;
if (t==-1 && n>0) n--
else
if (t==-2 && m>0) m--
else
if (t==-3 && n<3) n++
else
if (t==-4 && m<3) m++
}
if (x==m)
{
if (n<y)
{
for (i=y; i>n; i--) board[4*i+x]=board[4*(i-1)+x];
board[4*n+x]="tile15";
move();
}
else
if (n>y)
{
for (i=y; i<n; i++) board[4*i+x]=board[4*(i+1)+x];
board[4*n+x]="tile15";
move();
}
}
else
if (y==n)
{
if (m<x)
{
for (i=x; i>m; i--) board[4*y+i]=board[4*y+i-1];
board[4*y+m]="tile15";
move();
}
else
if (m>x)
{
for (i=x; i<m; i++) board[4*y+i]=board[4*y+i+1];
board[4*y+m]="tile15";
move();
}
}
if (t>=0) draw_board();
}
function resetclick()
{
moves=0;
delete board;
board=new make_board;
draw_board();
}
for (var i=0; i<16; i++) fourteen_fifteen_new_img("tile"+i,"tile"+(i+1),32,32);
var
board=new make_board;
oldboard=new make_board;

