<!--
var RS = 8;
var shrkArr = new Array();var shrkImg = new Array(6);
var numShrks = 10; var boatImg = new Array(2);var sqArr = new Array();
var numBoats = 5; var BOAT = 1; var SHARK=2;var DUMP=3;
var sharksOut = false;var prevId = -1;boatPicked = -1;
var gameover = false;

function initScr()
{
    var str = "";
    for (var i = 0; i < RS; i++)
    {
        for (var j = 0; j < RS; j++)
        {
            var idx = i*RS + j;
            str += ('<div class="sq" id="sq_' + idx + '" onClick="checkSquare(' + idx + ');"></div>');
            sqArr.push(0);
        }
    }
    
    var o = document.getElementById("sharksbrd"); if (o != null) {o.innerHTML = str;}
    
    shrkImg[0] = new Image();shrkImg[0].src = "images/shark_1.png";
    shrkImg[1] = new Image();shrkImg[1].src = "images/shark_2.png";
    shrkImg[2] = new Image();shrkImg[2].src = "images/shark_3.png";
    shrkImg[3] = new Image();shrkImg[3].src = "images/shark_3.png";
    shrkImg[4] = new Image();shrkImg[4].src = "images/shark_2.png";
    shrkImg[5] = new Image();shrkImg[5].src = "images/shark_1.png";
    shrkImg[6] = new Image();shrkImg[6].src = "images/shark_d.png";

    boatImg[0] = new Image();boatImg[0].src = "images/boat.png";
    boatImg[1] = new Image();boatImg[1].src = "images/boat_c.png";
    showBoats();
    setTimeout("showSharks()", 5000);
    showScores();
}

function isSharkDead(id)
{
    var isDead = false;
    for (var k = 0; k < shrkArr.length;k++)
    {
        if (shrkArr[k] == id)
        {
            var o = document.getElementById("sq_" + id); 
            if (o != null) {o.innerHTML = '<img src="' + shrkImg[6].src + '" />';}
            if (sqArr[id] == BOAT) {numBoats--;}
            numShrks--;showScores();isDead = true;sqArr[id]=SHARK;break;
        }
    }
    
    return isDead;
}

function submitfrm()
{
    var f = document.getElementById("sharksbrd");
    var str = numBoats > 0 ? "Congratulations!! You Won." : "Sorry! You Lost.";
    if (f != null) 
    {
        f.innerHTML = "";
        var o = f.appendChild(document.createElement('div'));
        o.innerHTML='<input type="hidden" name="helppage" value="sharkshelp.html" />';
        var o = f.appendChild(document.createElement('div'));
        o.innerHTML='<input type="hidden" name="gamepage" value="sharks.html" />';
        o = f.appendChild(document.createElement('div'));
        o.innerHTML='<input type="hidden" name="msg" value="' + str + '" />';
    }
        
    document.sharks_frm.submit();
}


function showScores()
{
    var o = document.getElementById("lft");  if (o != null) {o.innerHTML = "Sharks:" + numShrks;}
    var o = document.getElementById("rht");  if (o != null) {o.innerHTML = "Boats:" + numBoats;}
    if (numShrks == 0 || numBoats == 0) 
    {
        gameover=true;
        var str = '<div style="float:left;width:200px;padding:6px;">Game Over</div><div id="lbtn"></div><div id="mbtn" onClick="submitfrm();">OK</div><div id="rbtn"></div>';
        var f = document.getElementById("infobrd"); if (f != null) {f.innerHTML = str;}        
    }
}

function checkSquare(id)
{
    if (gameover) {return;}
    if (sharksOut && isSharkDead(id)) {prevId = -1;return;}
    else if (prevId >= 0 && sqArr[id] != BOAT && sqArr[prevId] == BOAT) 
    {
        sqArr[prevId] = 0;sqArr[id] = BOAT;
        var o = document.getElementById("sq_" + prevId); if (o != null) {o.innerHTML = "";}
        o = document.getElementById("sq_" + id); if (o != null) {o.innerHTML = '<img src="' + boatImg[0].src + '" />';}
        prevId = -1;
    }
    else {prevId = id;}
}

function showBoats()
{
    var tmpArr = new Array();
    for (var i = 0; i < numBoats;) 
    {
        var y = getRandom(0, RS*RS-1);
        if (isUnique(y, tmpArr)) {tmpArr.push(y);i++;}
    }
    for (i = 0; i < tmpArr.length; i++)
    {
        var o = document.getElementById("sq_" + tmpArr[i]); if (o != null) {o.innerHTML = '<img src="' + boatImg[0].src + '" />';}        
        sqArr[tmpArr[i]] = BOAT;
    }
}

function clearDump()
{
    var count = 0;
    for (var i = 0; i < RS*RS; i++)
    {
        if (sqArr[i] == DUMP) 
        {
            count++;
            if (count > 2) {sqArr[i]=0;var o = document.getElementById("sq_" + i); if (o != null) {o.innerHTML="";}}
        }
    }
}

function pickABoat()
{
    if (boatPicked >= 0) {boatPicked=-1;return;}
    var tmpArr = new Array();
    for (var i = 0; i < RS*RS; i++)
    {
        if (sqArr[i] == BOAT) {tmpArr.push(i);}
    }
    
    if (tmpArr.length > 0) {boatPicked = tmpArr[getRandom(0,tmpArr.length-1)];}
}

function showSharks()
{
    if (numShrks <= 0) {return;}
    clearDump();
    while (shrkArr.length > 0) {shrkArr.pop();}
    var max = numShrks > 4 ? 4 : numShrks;
    var x = getRandom(1, max);
    if (boatPicked >= 0) {x--;shrkArr.push(boatPicked);boatPicked=-1;}
    for (var i = 0; i < x;) 
    {
        var y = getRandom(0, RS*RS-1);
        if (isUnique(y, shrkArr)) {shrkArr.push(y);i++;}
    }
    if (shrkArr.length > 0) {sharksOut = true;}
    pickABoat();
    setTimeout("displaySharks(" + 0 + ")", 100);    
    setTimeout("showSharks()", getRandom(4000, 8000));
}

function hideSharks()
{
    sharksOut = false;
    for (var k = 0; k < shrkArr.length;k++)
    {
        var o = document.getElementById("sq_" + shrkArr[k]); 
        if (o != null) 
        {
            if (BOAT == sqArr[shrkArr[k]]) {numBoats--;showScores();sqArr[shrkArr[k]]=DUMP;o.innerHTML = '<img src="' + boatImg[1].src + '" />';}
            else if (SHARK == sqArr[shrkArr[k]]) {sqArr[shrkArr[k]]=DUMP;o.innerHTML = '<img src="' + shrkImg[6].src + '" />';}
            else {o.innerHTML = "";}
        }
    }
}

function displaySharks(n)
{
    if (n >= 6) {return hideSharks();}
    for (var k = 0; k < shrkArr.length;k++)
    {
        var o = document.getElementById("sq_" + shrkArr[k]);
        if (o != null) {o.innerHTML = '<img src="' + shrkImg[n].src + '" />';}
    }
    setTimeout("displaySharks(" + (n+1) + ")", 200);    
}

function isUnique(n, arr)
{
    var unq = true;
    for (var k = 0; unq && (k < arr.length); k++) {if (arr[k] == n) {unq = false;}}
    return unq;
}

function getRandom(min,max)
{
    return min + Math.floor(Math.random()*(max-min+1))
}



//-->