<!-- Begin

function delineate(str)
{
    sizeq = str.indexOf("=");
    return(str.substring(sizeq+1,str.length));
}

function autoscramble()
{
    ctr++;
    movetile(grid[choices[empty.cellnum][Math.floor(Math.random()*choices[empty.cellnum].length)]]);
    if (ctr<lim) setTimeout('autoscramble()' ,10);
}

function movetile(i)
{
    if (IDs[i].xeff+blockw==empty.xeff && IDs[i].yeff==empty.yeff)
    { 
        empty.xeff=IDs[i].xeff;
        movework(i, blockw, 0)
    }
    else if (IDs[i].xeff-blockw==empty.xeff && IDs[i].yeff==empty.yeff)
    {
        empty.xeff=IDs[i].xeff;
        movework(i, -blockw, 0)
    }
    else if (IDs[i].yeff+blockh==empty.yeff && IDs[i].xeff==empty.xeff)
    {
        empty.yeff=IDs[i].yeff;
        movework(i, 0, blockh)
    }
    else if (IDs[i].yeff-blockh==empty.yeff && IDs[i].xeff==empty.xeff)
    {
        empty.yeff=IDs[i].yeff;
        movework(i, 0, -blockh)
    }
}

function movework(i,dx,dy)
{
    grid[0]=IDs[i].cellnum;
    IDs[i].cellnum=empty.cellnum;
    empty.cellnum=grid[0];
    grid[0]=grid[empty.cellnum];
    grid[empty.cellnum]=grid[IDs[i].cellnum];
    grid[IDs[i].cellnum]=grid[0];
    IDs[i].xeff+=dx;
    IDs[i].yeff+=dy;
    if (NS4)
    {
        IDs[i].tile.moveBy(dx, dy);
        IDs[i].dummy.moveBy(dx, dy);
    }
    if (NS6)
    {
        // has a bug here
        IDs[i].tile.style.left=(getleft(IDs[i].tile)+dx)+'px';
        IDs[i].tile.style.top=(gettop(IDs[i].tile)+dy)+'px';
        IDs[i].dummy.style.left=IDs[i].xeff+'px';
        IDs[i].dummy.style.top=IDs[i].yeff+'px';
    }
    if (IE4)
    {
        IDs[i].tile.style.left=(getleft(IDs[i].tile)+dx)+'px';
        IDs[i].tile.style.top=(gettop(IDs[i].tile)+dy)+'px';
        IDs[i].dummy.style.left=IDs[i].xeff+'px';
        IDs[i].dummy.style.top=IDs[i].yeff+'px';
    }
}

function getid(id)
{
    if (NS4) return document.cont.document.layers[id];
    if (IE4) return document.all[id];
    if (NS6) return document.getElementById(id);
}

function getleft(whch)
{
    if (NS4) return whch.left;
    if (IE4 || NS6) return parseInt(whch.style.left);
}

function gettop(whch)
{
    if (NS4) return whch.top;
    if (IE4 || NS6) return parseInt(whch.style.top);
}

function tile(r,c)
{
    var i        = (5*r)+c-5;
    this.tile    = getid('l'+i);
    this.dummy   = getid('d'+i);
    this.xeff    = imgclipsX[c-1][0];
    this.yeff    = imgclipsY[r-1][0];
    this.xstart  = this.xeff;
    this.ystart  = this.xeff;
    this.choices = choices[i];
    this.cellnum = i;
    if (NS4)
    {
        this.dummy.captureEvents(Event.CLICK);
        this.dummy.onclick = function() { movetile(i) }
    }
}

function init()
{
    for (r=5;r>=1;r--)
    {
         for (c=5;c>=1;c--)
         {
              if (!(r==locr && c==locc)) IDs[(5*r)+c-5] = new tile( r,c );
         }
    }
    empty.xeff = imgclipsX[locc-1][0];
    empty.yeff = imgclipsY[locr-1][0];
    empty.choices = choices[locr*locc];
    empty.cellnum = locr * locc;
}

function findwhich(num)
{
    for (var j=1; j<25; j++) if(IDs[j].cellnum==num) break;
    return j;
}

// End
