<!--
var playsym = new Array('&nbsp;', 'X', 'O');
var placls = new Array("", "redcls", "blucls");
var moves = new Array(0,0,0,0,0,0,0,0,0,0); 
var player = 1;var computer=true;var togturn;
var yourturn = true;var gameover=false;
var scrArr = new Array(0, 0, 0);
var winstr = new Array("123", "456", "789", "147", "258", "369", "159", "357");
var tGames=1;

function startGame(n) {tGames=n;initScr();}
function initScr()
{
    toggleplay(0);showwhowon(0);
    gameover = false;
    for(var i = 0; i <10; i++) {moves[i] = 0;}
    var tblstr = "";
    for (var i = 1; i < 4; i++)
    {
        for (var j = 1; j < 4; j++)
        {
            var sq = (i-1)*3 + j;
            tblstr += ('<div onclick="playsqr(' + sq + ');" id="sq' + sq + '"></div>');
        }
    }
    var tobj = document.getElementById("tictacbrd");
    if (tobj != null) {tobj.innerHTML = tblstr;}
    
    if (!yourturn) {getmove();togturn=true} else {togturn=false;}
}


function playsqr(sq)
{
    if (!yourturn || gameover) {return;}
    else if (moves[sq] != 0) {showwhowon(3);return;}
    yourturn = false;
    moves[sq] = player;
    var dobj = document.getElementById("sq" + sq);
    if (dobj != null) {dobj.innerHTML = '<span class="' + placls[player] + '">' + playsym[player] + '</span>';}
    var done = checkgame(player);
    sendmove(player, sq, done);
}

function sendmove(pnum, sq, done)
{
    if (!done)
    {
        getmove();
    }
}

function getsmartmove()
{
    var posstr = "";
    for (i = 1; i <= 9; i++) {if (moves[i] == 0) {posstr += i;}}
    if (posstr.length == 0) {return -1;} /* draw */
    /* return some random at the beginning */
    if (posstr.length >= 8) 
    {
        sq = Math.floor(Math.random()*9+1);
        while (moves[sq] != 0) {sq = Math.floor(Math.random()*9+1);}
        return sq;
    }
    
    /* try a smart move */
    if (posstr.length <= 5)
    {
        for (i = 0; i < winstr.length; i++)
        {
            var sq1 = parseInt(winstr[i].charAt(0));var sq2 = parseInt(winstr[i].charAt(1));var sq3 = parseInt(winstr[i].charAt(2));
            if (moves[sq1] == 2 && moves[sq2] == 2) {if (moves[sq3] == 0) {return sq3;}}
            if (moves[sq2] == 2 && moves[sq3] == 2) {if (moves[sq1] == 0) {return sq1;}}
            if (moves[sq1] == 2 && moves[sq3] == 2) {if (moves[sq2] == 0) {return sq2;}}
        }
    }

    /* try to block opponents game */
    for (i = 0; i < winstr.length; i++)
    {
        var sq1 = parseInt(winstr[i].charAt(0));var sq2 = parseInt(winstr[i].charAt(1));var sq3 = parseInt(winstr[i].charAt(2));
        if (moves[sq1] == 1 && moves[sq2] == 1) {if (moves[sq3] == 0) {return sq3;}}
        if (moves[sq2] == 1 && moves[sq3] == 1) {if (moves[sq1] == 0) {return sq1;}}
        if (moves[sq1] == 1 && moves[sq3] == 1) {if (moves[sq2] == 0) {return sq2;}}
    }

    /* try a good move */
    for (i = 0; i < winstr.length; i++)
    {
        var sq1 = parseInt(winstr[i].charAt(0));var sq2 = parseInt(winstr[i].charAt(1));var sq3 = parseInt(winstr[i].charAt(2));
        if ((moves[sq1]%2 == 0) && (moves[sq2]%2 == 0) && (moves[sq3]%2 == 0))
        {
            if (moves[sq1] == 0) {return sq1;}
            else if (moves[sq2] == 0) {return sq2;}
            else if (moves[sq3] == 0) {return sq3;}
        }
    }

    var len = posstr.length;
    sq = Math.floor(Math.random()*len+1)-1;
    sq = parseInt(posstr.charAt(sq));
    while (moves[sq] != 0) {sq = Math.floor(Math.random()*len+1)-1;sq = parseInt(posstr.charAt(sq));}
    return sq;
}

function getmove()
{
    if (computer) 
    {
        var sq = getsmartmove();
        if (sq == -1)
        {
            showwhowon(4);
        }
        else
        {
            showopntmove(sq);
        }
    }
    else
    {
        getopntmove();
    }
}

function getopntmove()
{
}

function showopntmove(sq)
{
    var oppnt = player == 1 ? 2 : 1;
    moves[sq] = oppnt;
    var dobj = document.getElementById("sq" + sq);
    if (dobj != null) {dobj.innerHTML = '<span class="' + placls[oppnt] + '">' + playsym[oppnt] + '</span>';}
    if (!checkgame(oppnt)) {yourturn = true;}
}

function checkgame(n)
{
    gameover = false;
    for (i = 0; i < winstr.length; i++)
    {
        var pstr = winstr[i];
        var sq1 = parseInt(pstr.charAt(0)); var sq2 = parseInt(pstr.charAt(1)); var sq3 = parseInt(pstr.charAt(2));
        if (moves[sq1] == n && moves[sq2] == n && moves[sq3] == n)
        {
            gameover = true;
            showwhowon(n);
            break;
        }
    }
    
    if (!gameover)
    {
        gameover = true;
        for (i = 1; i <= 9 && gameover; i++) {if (moves[i] == 0) {gameover=false;}}
        if (gameover) {showwhowon(4);}
    }
    
    if (gameover)
    {
        toggleplay(1);yourturn = togturn;
    }
    
    return gameover;
}

function showwhowon(n)
{
    var str = "";
    switch(n)
    {
        case 1: str = "You won the game.";scrArr[1]++;break;
        case 2: str = "Computer won the game.";scrArr[2]++;break;
        case 3: str = "Sorry! Try again.";break;
        case 4: str = "Sorry! It is a draw.";scrArr[0]++;break;
    }
    var tobj = document.getElementById("txtbrd");
    if (tobj != null) {tobj.innerHTML = str;}
}

function toggleplay(n)
{
    var str = "";
    if (n == 1) {str = '<div style="padding-left:100px;"><div id="lbtn"></div><div id="mbtn" onClick="initScr();">Play</div><div id="rbtn"></div></div>';}
    if (scrArr[0]+scrArr[1]+scrArr[2] >= tGames) {str = '<div style="padding-left:100px;"><div id="lbtn"></div><div id="mbtn" onClick="submitfrm();">Score</div><div id="rbtn"></div></div>';}
    var tobj = document.getElementById("scrbrd");
    if (tobj != null) {tobj.innerHTML = str;}
}

function submitfrm()
{
    var str = "";
    if (scrArr[1] == scrArr[2]) {str = "It is a draw - you won " + scrArr[1] + " games.";}
    else if (scrArr[1] > scrArr[2]) {str = "You won by " + scrArr[1] + " to " + scrArr[2] + " games.";}
    else if (scrArr[1] < scrArr[2]) {str = "Computer won by " + scrArr[2] + " to " + scrArr[1] + " games.";}
    var f = document.getElementById("tictacbrd");
    if (f != null) 
    {
        f.innerHTML = "";
        var o = f.appendChild(document.createElement('div'));
        o.innerHTML='<input type="hidden" name="helppage" value="tictachelp.html" />';
        var o = f.appendChild(document.createElement('div'));
        o.innerHTML='<input type="hidden" name="gamepage" value="tictac.html" />';
        o = f.appendChild(document.createElement('div'));
        o.innerHTML='<input type="hidden" name="msg" value="' + str + '" />';
    }
        
    document.tictac_frm.submit();
}

//-->
