var temp = new Image(), tmp = new Image();
var loc=1,con;
var sn=0,dn=0,cons=0;
var gotit,nl=32,nt=0,npm=0;
var sel="sel.gif"
var pin="pin1.gif"
var bnk="blank.gif"
function exch()
{
   if ((event.button == 1) && (event.srcElement.className == "ball"))
   
   {
       if (gotit == 1)
      {
							if  (document.images[loc].src.search(sel)!=-1)
							document.images[loc].src =pin
							gotit = 0
							dn=parseInt(event.srcElement.name.substr(4,2))
							sn=parseInt(loc.substr(4,2))
							if((document.images[loc].src !=document.images[event.srcElement.name].src) && (document.images[loc].src !=bnk))
							{
							var dsn=dn-sn
							cons=100
							adsn= Math.abs(dsn)

							switch (adsn){

							case 14:
							con=7*adsn/dsn
							if (con>0)
							{
							if ((sn>5) && (sn<13))
							{
							cons=7
							}
							}
							else
							{
							if ((sn>19) && (sn<27))
							{
							cons=-7
							}
							}
							break;

							case 12:
							con=5*adsn/dsn
							if (con>0)
							{
							if ((sn>2) && (sn<6))
							{
							cons=5
							}
							else
							{
							cons=100
							}
							
							
							}
							else
							{
							if ((sn>26) && (sn<30))
							{
							cons=-5
							}
							else
							{
							cons=100
							}
							
							}
							if ((sn>14)&& (sn<18))
							{
							cons=7*adsn/dsn
							}
							if (sn==11)
							{
							cons=100
							}
							break;
							
							
							case 8:
							con=3*adsn/dsn
							if (con>0)
							{
							if ((sn>-1)&&(sn<3))							
						   {
   		       cons=3
  	    }
							if ((sn>21) && (sn<25))
							{
	     cons=5
   		       }
							}
							else
     		     {
							if ((sn>29) && (sn<33))
							{
							cons=-3
							}
							if ((sn>7) && (sn<11))
							{
	     cons=-5
   		       }
							}
							break;
							
							
							case 2:
							con=adsn/dsn
							if (con>0)
							{
							if ((sn==1)||(sn==2)||(sn==5)||(sn==12)||(sn==19)||(sn==26)||(sn==29)||(sn==11)||(sn==18)||(sn==25))
							{
	      cons=100
  	    }
     		      else
    	  {
       		    cons=1
      	}
							}
							else
							{
							if ((sn==3)||(sn==4)||(sn==6)||(sn==13)||(sn==20)||(sn==27)||(sn==30)||(sn==7)||(sn==14)||(sn==21)||(sn==28)||(sn==31))
							{
							cons=100
							}
							else
							{
							cons=-1
							}
							}
							break;
							}

							if ((adsn==14)||(adsn==12)||(adsn==8)||(adsn==2)||(adsn==5))
							{
							if (sn+cons>-1 && sn+cons<33)
							{
							var slpic=(document.images[sn+cons].src)
							var fnd=slpic.search(bnk);
							if ((fnd==-1) && (document.images[sn+cons].src!= document.images[event.srcElement.name].src))
							{
							document.images[event.srcElement.name].src = temp.src
							document.images[loc].src =bnk
							document.images[sn+cons].src=bnk
							nl--;
							}
							} 							
							var csd=check()
							document.form1.msgs.value=nl+" Boxes " + "and "+npm+" Chance(s) are Left";							
							if (npm==0)
							{
							var resmsg=resms=""
							if(nl==1)
							{
							resmsg=" E X C E L E N T "
							resms=" EXCELENT "
							}
							if(nl==2)
							{
							resmsg="            V E R Y  G O O D "
							resms=" VERY GOOD "
							}
							if(nl==3)
							{
							resmsg="                G O O D "
							resms="GOOD "
							}
							if(nl>3)
							{
							resmsg="N E E D  P R A C T I C E"			
							resms="NEED  PRACTICE"			
							}


var d = new Date();
var t = d.getTime();

var ets= d.getHours()*3600+d.getMinutes()*60+d.getSeconds()
var tcs=ets-sts
var score ='<tr><td width="20%">'+player+'</td><td width="20%">'+nl+'</td><td width="20%">'+tcs+'</td><td width="20%">'+resms+'</td></tr>'

// FSO Start
//var fs, a ;
//fs = new ActiveXObject("Scripting.FileSystemObject");
//tfolder =fs.GetSpecialFolder(2);
//var fnm=tfolder+="/Score"
//var f=fs.FileExists(fnm)
//if (f)
//{
//a = fs.OpenTextFile(fnm, 8, false);
//a.write(score);
//a.Close();
//}
//else
//{
//a = fs.CreateTextFile(fnm,true);
//a.write(' <title>Brainvita High Scores</title><body bgcolor="#008080" text="#FFFF00"> <font face="Tahoma"><U> <p align="center"> <font size=+3><font color="#FF0000">B</font><font color="#FF9100">R</font><font color="#DBFF00">A</font><font color="#49FF00">I</font><font color="#00FF47">N</font><font color="#00FFD8">V</font><font color="#0093FF">I</font><font color="#0002FF">T</font><font color="#8E00FF">A</font></font><BR> </br> Scores  </p></U> <table border="1" cellpadding="1" cellspacing="1" width="100%">  <tr> <td width="20%">Name</td>  <td width="20%"> Balls Remaining</td> <td width="20%"> Time Elapsed</td> <td width="20%"> Result </td>  </tr>' );
//a.write(score);
//a.Close();
//}
// FSO End

		var ch=window.confirm("       GAME OVER\n\n       "+nl+" Boxes Left \n\n " + resmsg+ "\n\n Do You Want to Start a New Game?")

							if (ch==1)
							{
							location.reload()
							}
							}
							}        

			    }
     				    }
		       else
   			  {
      			gotit = 1
							loc = event.srcElement.name

							temp.src = document.images[loc].src
							var selpic=temp.src
							var fund=selpic.search(pin);
							if (fund!=-1)
							{
							tmp.src =temp.src 
							document.images[loc].src =sel
							}
      }
   }
   
}

document.onmousedown=exch

function undo(){
if ((cons!=0)&& (dn!=0))
{
document.images[sn].src =pin
document.images[sn+cons].src=pin
document.images[dn].src=bnk
nl++;
cons=dn=0
document.form1.msgs.value=" Undo Successfull"
}
 else
 {
 alert( "Nothing to Undo \n\n          OR \n\n Undo One Level Only")
 }
}

function check(){
tmov=""
npm=0;
nlo=0
for (var k=0;k<33;k++)
{
	if (document.images[k].src.search(pin)!=-1)
	{

			if (k+14<33)
			{
			if ((k>5)&&(k<13))
			{
			if ((document.images[k+14].src.search(bnk)!=-1) && (document.images[k+7].src.search(pin)!=-1))
			{
			++npm;
			}
			}
			}
			
			
			if (k-14>-1)
			{
			if ((k>19) && (k<27))
			{
			if ((document.images[k-14].src.search(bnk)!=-1) && (document.images[k-7].src.search(pin)!=-1))
			{
			++npm;
			}
			}
			}
			
			if (k+12<33 && (k!=11)) 
			{
			if ((k>2) && (k<6))
			{
			if ((document.images[k+12].src.search(bnk)!=-1) && (document.images[k+5].src.search(pin)!=-1))
			{
			++npm;
			}
			}
			else 
			if((k>14) && (k<18))
			{
			if ((document.images[k+12].src.search(bnk)!=-1) && (document.images[k+7].src.search(pin)!=-1))
			{
			++npm;
			}
			}
			}

			if (k-12>-1)
			{
			if ((k>26) && (k<30))
			{
			if ((document.images[k-12].src.search(bnk)!=-1) && (document.images[k-5].src.search(pin)!=-1))
			{
			++npm;
			}
			}
			
			if ((k>14) && (k<18))
			{
			if ((document.images[k-12].src.search(bnk)!=-1) && (document.images[k-7].src.search(pin)!=-1))
			{
			++npm;
			}
			}			
			}
			
			if (k+8<33)
			{
			if ((k>-1)&&(k<3))
			{
			if ((document.images[k+8].src.search(bnk)!=-1) && (document.images[k+3].src.search(pin)!=-1))
			{
			++npm;
			}
			}
			
			
			if((k>21)&&(k<25))
			{
			if ((document.images[k+8].src.search(bnk)!=-1) && (document.images[k+5].src.search(pin)!=-1))
			{
			++npm;
			}
			}
			}
			
			if (k-8>-1)
			{
			if ((k>29) && (k<33))
			{
			if ((document.images[k-8].src.search(bnk)!=-1) && (document.images[k-3].src.search(pin)!=-1))
			{
			++npm;
			}
			}
			}

			if (k+2<33)
			{
			if ((k!=1)&&(k!=2)&&(k!=5)&&(k!=12)&&(k!=19)&&(k!=26)&&(k!=29)&&(k!=11)&&(k!=18)&&(k!=25))
			{
			if ((document.images[k+2].src.search(bnk)!=-1) && (document.images[k+1].src.search(pin)!=-1))
			{
			++npm;
			}
			}
			}
			
			if (k-2>-1)
			{
			if ((k!=3)&&(k!=4)&&(k!=6)&&(k!=13)&&(k!=20)&&(k!=27)&&(k!=30)&&(k!=7)&&(k!=14)&&(k!=21)&&(k!=28)&&(k!=31))
			{
			if ((document.images[k-2].src.search(bnk)!=-1) && (document.images[k-1].src.search(pin)!=-1))
			{
			++npm;
			}
			}
			}
	}
}

return (npm);
}


function help()
{
for (I=1; I<=800; I++){
parent.scroll(1,I)
}
}

function backto()
{
for (I=800;I>=1; I--){
parent.scroll(1,I)
}
}

function shslt() 
{
alert("Function Disable due to Security Reason")
}


function shslt_original(){
var fs, a ;
fs = new ActiveXObject("Scripting.FileSystemObject");
tfolder =fs.GetSpecialFolder(2);
var fnm=tfolder+="/Score"
var f=fs.FileExists(fnm)
if (f)
{
a = fs.OpenTextFile(fnm, 1, false);
f = fs.GetFile(fnm);
var siz=f.size
var txt=a.read(siz);
a.Close();
txt = txt.substring(649,siz);
var x,nol=1;
for (x=1;x<siz-649;x++)
{
if(txt.substring(x,x+4)=="<tr>")
nol++;
}

nol=nol*4
var resy = new Array()
var strg = new Array(),yy=0;
for (x=1;x<=nol;x++)
{
var nf = txt.search('<td width="20%">')+16;
var nl = txt.search("</td>");
var rr= txt.substring(nf,nl)
resy[x]=rr
if(x%4==0)
{
var nlen=resy[x-3].length,nameo=""
if (nlen<10)
{
nameo=resy[x-3]+"\t "
}
else
{
nameo=resy[x-3].substring(0,11)
}
strg[yy] =nameo+"\t "+resy[x-2]+"\t "+resy[x-1]+"\t"+resy[x]
yy++;
}

var spc=nl+3
txt =txt.substring(spc,siz);
}
var indexy= new Array(),y=0;
var bally = new Array()
var selb=selball()

var timey=new Array(),y=0
for (x=3;x<=nol;x=x+4)        
{
timey[y]=parseInt(resy[x])
y++
}
nol=nol/4
var temm=sortball()
var bally = new Array()
var selb=selball()
for (var x=0;x<=nol;x++)
{
for (var y=0;y<=nol;y++)
{
if(bally[y]===bally[y+1])
{
var temp=timx=bidx=0
for (var z=y;z<=nol;z++)
{

if(timey[z]>timey[z+1])
{
temp=indexy[z]
indexy[z]=indexy[z+1]
indexy[z+1]=temp

timx=timey[z]
timey[z]=timey[z+1]
timey[z+1]=timx

bidx=bally[z]
bally[z]=bally[z+1]
bally[z+1]=bidx

}
}
}
}
}

var temm=sortball()



if(nol>10)
{
nol=10
}

var strgr=""
for (x=0;x<nol;x++)
{
strgr=strgr+strg[indexy[x]]+"\n"
}
var head="                           B R A I N V I T A\n                               High Scores\n                               ~~~~~~~~\n\nName\t\tBalls\t Time \tResult \n"
alert(head+strgr)
location.reload()
}
else
{
alert( "Sorry........... \n Please Play the Game First")
}


function sortball()
{
for (var x=0;x<nol;x++)
{
for (var y=0;y<nol;y++)
{
var tem=0,temi=0
if(bally[y]>bally[y+1])
{
tem=bally[y+1]
temi=indexy[y+1]
bally[y+1]=bally[y]
indexy[y+1]=indexy[y]
bally[y]=tem
indexy[y]=temi
}
}
}
}

function selball()
{
var y=0
for (x=2;x<=nol*4;x=x+4)        
{
bally[y]=parseInt(resy[x])
indexy[y]=y
y++;
}
}

}
