<!--

var qstrarr=null;
var posarr=new Array(21);
var pairs=new Array(21);
var ansarr=new Array(21);pairs[1]=21;pairs[2]=22;pairs[3]=23;pairs[4]=0;pairs[5]=25;pairs[6]=25;pairs[7]=26;pairs[8]=27;pairs[9]=0;pairs[10]=29;pairs[11]=29;pairs[12]=0;pairs[13]=31;pairs[14]=32;pairs[15]=33;pairs[16]=33;pairs[17]=0;pairs[18]=35;pairs[19]=36;pairs[20]=21;

function initScr()
{
    curpos=1;
    qstrarr=qstr.split("|");
    posarr[0]=0;
    for (i=1; i <= 20; i++)
    {
        var wmobj=document.getElementById("wm_" + i);
        if (wmobj != null) {wmobj.innerHTML=qstrarr[i];}
        posarr[i]=i;
        ansarr[i]="";
    }
    ansarr[4]="=";ansarr[8]="=";ansarr[10]="=";ansarr[14]="=";
    
    for (i=21; i <= 36; i++)
    {
        var wmobj=document.getElementById("wm_" + i);
        if (wmobj != null) {wmobj.innerHTML="";}
    }
}


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

function rotate(n)
{
    curpos += n;
    if (curpos > 20) {curpos=1;}
    else if (curpos < 1) {curpos=20;}
    var j=curpos;
    var i=1;
    for (; i <= 20 && j <= 20; i++,j++)
    {
        var wmobj=document.getElementById("wm_" + j);
        if (wmobj != null) {wmobj.innerHTML=qstrarr[i];}
        posarr[j]=i;
    }
    
    for (j=1; i <= 20 && j < curpos; i++,j++)
    {
        var wmobj=document.getElementById("wm_" + j);
        if (wmobj != null) {wmobj.innerHTML=qstrarr[i];}
        posarr[j]=i;
    }
}

function push(n)
{   
    if (ansarr[pairs[n]-20] != "")
    {
        alert("Sorry! The tile is not empty.");
        return false;
    }
    else if (qstrarr[posarr[n]] == "")
    {
        alert("Sorry! The tile is empty.");
        return false;
    }
    
    var wmobj=document.getElementById("wm_" + pairs[n]);
    if (wmobj != null) {wmobj.innerHTML=qstrarr[posarr[n]];}
    ansarr[pairs[n]-20]=qstrarr[posarr[n]];
    qstrarr[posarr[n]]="";
    wmobj=document.getElementById("wm_" + n);
    if (wmobj != null) {wmobj.innerHTML=qstrarr[posarr[n]];}
}


function pop(n)
{    
    var pushpos=0;
    for (var i=1; i <= 20 && pushpos == 0; i++)
    {
        if (pairs[i] == n) {pushpos=i;}
    }
    
    if (ansarr[pairs[pushpos]-20] == "")
    {
        alert("Sorry! The tile is empty.");
        return false;
    }
    
    if (qstrarr[posarr[pushpos]] != "")
    {
      if (pushpos == 1) {pushpos=20;}
      else pushpos++;
    }
    
    if (qstrarr[posarr[pushpos]] != "")
    {
        alert("Sorry! The tile is not empty.");
        return false;
    }

    var wmobj=document.getElementById("wm_" + n);
    if (wmobj != null) {wmobj.innerHTML="";}
    qstrarr[posarr[pushpos]]=ansarr[pairs[pushpos]-20];
    ansarr[pairs[pushpos]-20]="";
    wmobj=document.getElementById("wm_" + pushpos);
    if (wmobj != null) {wmobj.innerHTML=qstrarr[posarr[pushpos]];}
}

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

function setName()
{
  var nm;
  nm=document.puzzle4frm.sname.value;
  if (nm.length > 0)
  {
    if (IsAlphaNum(nm) == null)
    {
      alert("Name should contain only Alpha Numeric characters");
      document.puzzle4frm.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.puzzle4frm.sname.value=nm2.innerHTML;
      }
    }
    document.puzzle4frm.sname.focus();
}

function parseeq(x, op, y, ans)
{
if (op == "x") {op="*";}
else if (op == "&divide;") {op="/";}
if ("+-*/".indexOf(op) == -1) {alert("The operators are not in correct place"); return false;}
var instr=x + op + y;
if (parseFloat(eval(instr)) != ans) 
{
instr=instr.replace("*", "x");
instr=instr.replace("/", "&divide;");
instr=instr + "=" + ans;
alert("Sorry! The equation " + instr + " is not correct."); return false; 
}
return true;
}

function chkans()
{
for (var i=1; i <= 16; i++)
{
    if (ansarr[i] == "") {alert("There are empty tiles. Please check.");return false;}
}

if (parseeq(ansarr[1],ansarr[2],ansarr[3], ansarr[5]) == false) {return false;}
if (parseeq(ansarr[5],ansarr[6],ansarr[7], ansarr[9]) == false) {return false;}
if (parseeq(ansarr[13],ansarr[12],ansarr[11], ansarr[9]) == false) {return false;}
if (parseeq(ansarr[1],ansarr[16],ansarr[15], ansarr[13]) == false) {return false;}
score=1;
submitfrm();
}

//-->