<!--

var RC=12;var pos=0;var tmID = null;var inGame=false;
var wScore=0;var cScore=0;var prevPos=-1;
var dropPos = -1;var eqnStr="";var cAns=0;
var clsArr = new Array("padg", "padr", "pady", "padb", "pado");
var rndClrs = new Array("#98FB98", "#FF69B4","#00FFFF", "#FF00FF", "#F4A460");
var numArr = new Array(5);var pts=1;var gameOver=2;var xPos;

if(document.all){
	document.body.onkeydown = processKey;
}else {
	document.documentElement.onkeydown = processKey;
}

function processKey(e)
{
    if (gameOver == 2) {return;}
    var code=0;var dir=0;
    if (document.all) {e = event;}
    if (e.keyCode) code = e.keyCode; else if (e.which) code = e.which;
    if (inGame == false) {inGame=true;setTimeout("doStop()", 120000);getNextEqn();}
    if (code == 37) dir = -1;
    if (code == 39) dir = 1;
    if (code == 65) {pos=-1;dir=1;}
    else if (code == 83) {pos=0;dir=1;}
    else if (code == 68) {pos=1;dir=1;}
    else if (code == 70) {pos=2;dir=1;}
    else if (code == 71) {pos=3;dir=1;}
    if (dir != 0) {showKey(dir);}
}

function showKey(dir)
{
    pos += dir; if (pos < 0) {pos=0;} else if (pos > 4) {pos=4;}
    var o = document.getElementById("gkey");
    if (o != null) 
    {
        if (dir == 0) {o.innerHTML = "<table border=0 cellspacing=0 cellpadding=0><tr><td class='" + clsArr[pos] + "'>?</td></tr></table>";}
        else {o.innerHTML = "<table border=0 cellspacing=0 cellpadding=0><tr><td class='" + clsArr[pos] + "'>" + numArr[pos] + "</td></tr></table>";}        
    }
    o = document.getElementById("k_"+xPos);
    if (o != null) {o.innerHTML = numArr[xPos];}
    o = document.getElementById("k_"+pos);
    if (o != null) {o.innerHTML = "<div class='kk'>" + numArr[pos] + "</div>";}
    xPos = pos;
}

function sortfunc(a,b) {return a-b;}
function doStop() {gameOver=1;}

function makeNumArr(ans)
{
    var idx=0;numArr[idx]=ans;idx++;
    if (ans < 50)
    {
        var curMin = ans-5;var curMax=ans+5;
        if (curMin < 1) {curMax=curMax+(curMin*-1)+1;curMin=1;}
        while (idx < 5)
        {
            isUnq = true;
            x = getrand(curMin,curMax);
            for (var k = 0; k < idx; k++) {if (x == numArr[k]) {isUnq=false;break;}}
            if (isUnq) {numArr[idx]=x;idx++;}
        }
    }
    else
    {
        var tmpArr = new Array(ans-30, ans-20, ans-10, ans+10, ans+20, ans+30);
        for (var tt=0; tt < 6;tt++)
        {
            var rt1 = getrand(0,5);var rt2 = getrand(0,5);
            if (rt1 != rt2) {t=tmpArr[rt1];tmpArr[rt1]=tmpArr[rt2];tmpArr[rt2]=t;}
        }
        for (;idx < 5; idx++) {numArr[idx]=tmpArr[idx-1];}
    }

    idx = getrand(0,4);
    while (prevPos == idx) {idx = getrand(0,4);}
    prevPos=idx;
    if (idx != 0) {t=numArr[0];numArr[0]=numArr[idx];numArr[idx]=t;}
    for (var i = 0; i < 5; i++)
    {
        var o = document.getElementById("k_" + i);
        if (o != null) {o.innerHTML = numArr[i];}
    }
    showKey(0);
}

function initScr()
{
    cScore=0;wScore=0;dropPos=-1;gameOver=0;
    var tblStr = "<table style='border:1px solid #aaaaaa;' cellspacing=0 cellpadding=0 bgcolor='#aaaaaa'>";
    for (var i = 0; i < RC; i++)
    {
        tblStr += "<tr><td class=dd><div style='height:22px;' id='dd_" + i + "'></div></td></tr>";
    }
    tblStr += "</table>";
    var o = document.getElementById("scrl");
    if (o != null) {o.innerHTML = tblStr;}
    wScore=0;cScore=0;showCS();showWS();
    for (var i = 0; i < 5; i++)
    {
        numArr[i] = "";
    }
    showKey(0);
}

function getNextEqn()
{
    if (tmID != null) {clearInterval(tmID);tmID=null;}
    if (gameOver == 1) {gameOver=2;alert("Game over"); submitform();return;}
    for (i = 0; i < RC; i++)
    {
	var o = document.getElementById("dd_"+i);
	if (o != null) {o.style.background="#ffffff";}
    }
    eqnStr = "";
    switch(op)
    {
        case 1: eqnStr = getAdd();break;
        case 2: eqnStr = getSub();break;
        case 3: eqnStr = getMult();break;
        case 4: eqnStr = getDiv();break;
        case 5: eqnStr = getSqr();break;
    }
    makeNumArr(cAns);
    tmID = setInterval("doDrop()", 600/speed);
}

function getDiv()
{
    var n1 = getrand(min1,max1);
    var n2 = getrand(min2,max2);
    p = n1*n2;cAns=n1; if (p > 50) {pts=2;} else {pts=1;}
    return  p + " &divide; " + n2;
}


function getMult()
{
    var n1 = getrand(min1,max1);
    var n2 = getrand(min2,max2);
    cAns = n1*n2;if (cAns > 50) {pts=2;} else {pts=1;}
    return n1 + " &times; " + n2;
}


function getSub()
{
    var n1 = getrand(min1,max1);
    var n2 = getrand(min2,max2);
    if (n1 < n2) {t=n1;n1=n2;n2=t;}
    cAns = n1-n2;if (n1 > 50) {pts=2;} else {pts=1;}
    return n1 + " - " + n2;
}


function getAdd()
{
    var n1 = getrand(min1,max1);
    var n2 = getrand(min2,max2);
    cAns = n1+n2;if (cAns > 50) {pts=2;} else {pts=1;}
    return n1 + " + " + n2;
}

function getSqr()
{
    var n1 = getrand(min1,max1);
    var n2 = getrand(min2,max2);
    cAns = Math.pow(n1,n2);if (cAns > 50) {pts=2;} else {pts=1;}
    return n1 + "<sup>" + n2 + "</sup>";
}

function showEqnInParent(cans, sans)
{
    if (cans == sans) {ckstr = "&nbsp;&radic;";} else {ckstr="&nbsp;&times;"}
    window.parent.showanswers(eqnStr + " = " + sans, ckstr);
}

function doDrop()
{
    var o = document.getElementById("dd_"+dropPos);
    if (o != null) {/*o.style.background="#ffffff";*/o.innerHTML = "&nbsp;";}
    dropPos++;
    if (dropPos >= RC) {dropPos=-1;showEqnInParent(cAns, numArr[pos]);if (cAns == numArr[pos]){cScore += pts;showCS();} else {wScore++;showWS();};getNextEqn();}
    else
    {
	var o = document.getElementById("dd_"+dropPos);
	if (o != null) {o.innerHTML = eqnStr;o.style.background=rndClrs[getrand(0,4)];}
    }
}

function showCS()
{
	var o = document.getElementById("cscore");
	if (o != null) {o.innerHTML = "<br>" + cScore;}
}

function showWS()
{
	var o = document.getElementById("wscore");
	if (o != null) {o.innerHTML = "<br>" + wScore;}
}

function getrand(min, max)
{
  if (min == max) {return min;}
  rnd = Math.floor(Math.random()*(max-min+1));
  return min + rnd;
}

function submitform()
{
    f = document.getElementById("stuscr");
    o = f.appendChild(document.createElement('div'));
    o.innerHTML="<input type=hidden name=score value=" + cScore + ">";
    o = f.appendChild(document.createElement('div'));
    o.innerHTML="<input type=hidden name=wrong value=" + wScore + ">";
    o = f.appendChild(document.createElement('div'));
    o.innerHTML="<input type=hidden name=name value=\"" + window.parent.document.getElementById("nmplc").innerHTML + "\">";
    document.guitarherofrm.submit();
}

function IsAlphaNum(str) {
  $cstr = new String(str);
  return $cstr.match(/^[a-zA-Z0-9 ]+$/);
}

function setName()
{
  var nm;
  nm=document.guitarherofrm.sname.value;
  if (nm.length > 0)
  {
    if (IsAlphaNum(nm) == null)
    {
      alert("Name should contain only Alpha Numeric characters");
      document.guitarherofrm.sname.focus();
      return false;
    }
    var nm2;
    nm2=window.parent.document.getElementById("nmplc");
    if (nm2 != null) {nm2.innerHTML=nm;}
  }
  return true;
}

function getName()
{
    var nm2=window.parent.document.getElementById("nmplc");
    if (nm2 != null) {
      if (nm2.innerHTML != "Name") {
        document.guitarherofrm.sname.value=nm2.innerHTML;
      }
    }
    document.guitarherofrm.sname.focus();
}


//-->