

function prepj() {
hplay=1;
acabou=0;
placar=0;
v = new Array(3);
//u = new Array(4);
//t = new Array(4);
//for (i=0; i<4; i++)
//t[i] = Math.floor (Math.random ()*6);
lin = document.getElementById('cx0');
pronto = new Array (0,0,0);
ispronto = 0;
ld = document.getElementById('ldg');
ld.style.display="none";
posicao=0;
s = new Array(3);
for (i=0; i<3; i++)
s[i] = new Array(2);
_x = 700;
_y = 250;
marginX = 13;
marginY = 5;
body = document.getElementsByTagName("body");
body = body[0];
body.innerHTML += "<div id='ptos'></div>";
owlfr = document.getElementById('ptos');
owlfr.style.background = "black";
owlfr.style.border = "1px solid #808080";
owlfr.style.display = "none";
owlfr.style.font = "12px Verdana";
owlfr.style.color = "white";
owlfr.style.opacity = 75/100;
owlfr.style.filter = "alpha(opacity=75)";
owlfr.style.padding = "2px 5px";
owlfr.style.position = "absolute";
document.onmousemove = function(event) {
posm(event);
owlfr.style.left = _x+"px";
owlfr.style.top = _y+"px";
}
}

function processa(celula, xx,yy){
if (hplay==1){
fechaj();
document.owl.owljogada.value=0;
if ((ispronto==1)||(posicao>2))
desprocessa();
if (posicao>0){
document["c"+s[0][0]+"x"+s[0][1]].src=document["y"+v[0]].src;
document["e0"].src=document["y6"].src;
pronto[0]=0;
if (posicao>1){
document["c"+s[1][0]+"x"+s[1][1]].src=document["y"+v[1]].src;
document["e1"].src=document["y6"].src;
pronto[1]=0;
}
posicao=0;
ispronto=0;
}
document["e"+xx].src = document[celula].src;
v[xx]=yy;
if (yy==6){
document["bt"].src=document["b2"].src;
pronto[xx]=0;
ispronto=0;
pontos=0;
document.owl.owljogada.value=pontos;
}
else
{
pronto[xx]=1;
if (pronto[0]*pronto[1]*pronto[2]==1)
conta();
}}}

function conta(){
jcells = "";
pontos=0;
ipontos=1;
for (wy=0; wy<12; wy++){
for (wx=0; wx<12; wx++){
tcel = "c"+wy+"x"+wx;
tcel1 = "c"+wy+"x"+(wx+1);
tcel2 = "c"+wy+"x"+(wx+2);
ucel = "c"+wy+"x"+wx;
ucel1 = "c"+(wy+1)+"x"+wx;
ucel2 = "c"+(wy+2)+"x"+wx;
if ((x[wy][wx]==v[0])&&(x[wy][wx+1]==v[1])&&(x[wy][wx+2]==v[2])){
document[tcel].src=document["z"+v[0]].src;
document[tcel1].src=document["z"+v[1]].src;
document[tcel2].src=document["z"+v[2]].src;
if (jcells.search(tcel)==-1)
jcells += tcel;
if (jcells.search(tcel1)==-1)
jcells += tcel1;
if (jcells.search(tcel2)==-1)
jcells += tcel2;
pontos+=ipontos;
ipontos++;
}
else if ((x[wy][wx]==v[2])&&(x[wy][wx+1]==v[1])&&(x[wy][wx+2]==v[0])){
document[tcel].src=document["z"+v[2]].src;
document[tcel1].src=document["z"+v[1]].src;
document[tcel2].src=document["z"+v[0]].src;
if (jcells.search(tcel)==-1)
jcells += tcel;
if (jcells.search(tcel1)==-1)
jcells += tcel1;
if (jcells.search(tcel2)==-1)
jcells += tcel2;
pontos+=ipontos;
ipontos++;
}
if ((x[wy][wx]==v[0])&&(x[wy+1][wx]==v[1])&&(x[wy+2][wx]==v[2])){
document[ucel].src=document["z"+v[0]].src;
document[ucel1].src=document["z"+v[1]].src;
document[ucel2].src=document["z"+v[2]].src;
if (jcells.search(ucel)==-1)
jcells += ucel;
if (jcells.search(ucel1)==-1)
jcells += ucel1;
if (jcells.search(ucel2)==-1)
jcells += ucel2;
pontos+=ipontos;
ipontos++;
}
else if ((x[wy][wx]==v[2])&&(x[wy+1][wx]==v[1])&&(x[wy+2][wx]==v[0])){
document[ucel].src=document["z"+v[2]].src;
document[ucel1].src=document["z"+v[1]].src;
document[ucel2].src=document["z"+v[0]].src;
if (jcells.search(ucel)==-1)
jcells += ucel;
if (jcells.search(ucel1)==-1)
jcells += ucel1;
if (jcells.search(ucel2)==-1)
jcells += ucel2;
pontos+=ipontos;
ipontos++;
}}}
//if (pontos>0){
document["bt"].src=document["b3"].src;
ispronto=1;
//}
document.owl.owljogada.value=pontos;
abrej(pontos);
}

function desprocessa(){
while(jcells.length>0){
if (jcells.substr(2,1)=="x"){
qx=parseInt(jcells.substr(1,1));
if (jcells.substr(4,1)=="c")
qy=parseInt(jcells.substr(3,1));
else
qy=parseInt(jcells.substr(3,2));
}
else {
qx=parseInt(jcells.substr(1,2));
if (jcells.substr(5,1)=="c")
qy=parseInt(jcells.substr(4,1));
else
qy=parseInt(jcells.substr(4,2));
}
xcelula = "c"+qx+"x"+qy;
document[xcelula].src = document["y"+x[qx][qy]].src;
jcells = jcells.substr(xcelula.length);
}}


function check(){

fechaj();
document.owl.owljogada.value=0;
if (ispronto==1){
document["bt"].src=document["b2"].src;
while(jcells.length>0){
if (jcells.substr(2,1)=="x"){
qx=parseInt(jcells.substr(1,1));
if (jcells.substr(4,1)=="c")
qy=parseInt(jcells.substr(3,1));
else
qy=parseInt(jcells.substr(3,2));
}
else {
qx=parseInt(jcells.substr(1,2));
if (jcells.substr(5,1)=="c")
qy=parseInt(jcells.substr(4,1));
else
qy=parseInt(jcells.substr(4,2));
}
xcelula = "c"+qx+"x"+qy;
for (ix=qx; ix<=10; ix++){
nc="c"+ix+"x"+qy;
oc="c"+(ix+1)+"x"+qy;
jcells=jcells.replace(oc,nc);
x[ix][qy]=x[ix+1][qy];
if (x[ix][qy]!=9)
document[nc].src = document["y"+x[ix][qy]].src;
else
document[nc].src = document["y7"].src;
}
x[11][qy]=9;
document["c11x"+qy].src = document["y7"].src;
jcells = jcells.substr(xcelula.length);
}
placar+=pontos;
document.owl.owlpontos.value=placar;
ky=11;
while (x[0][ky]==9)
ky--;
ky--;
for (iy=ky; iy>=0; iy--){
if (x[0][iy]==9){
for (jy=iy; jy<=10; jy++){
x[0][jy]=x[0][jy+1];
x[1][jy]=x[1][jy+1];
x[2][jy]=x[2][jy+1];
x[3][jy]=x[3][jy+1];
x[4][jy]=x[4][jy+1];
x[5][jy]=x[5][jy+1];
x[6][jy]=x[6][jy+1];
x[7][jy]=x[7][jy+1];
x[8][jy]=x[8][jy+1];
x[9][jy]=x[9][jy+1];
x[10][jy]=x[10][jy+1];
x[11][jy]=x[11][jy+1];
document["c0x"+jy].src=document["c0x"+(jy+1)].src;
document["c1x"+jy].src=document["c1x"+(jy+1)].src;
document["c2x"+jy].src=document["c2x"+(jy+1)].src;
document["c3x"+jy].src=document["c3x"+(jy+1)].src;
document["c4x"+jy].src=document["c4x"+(jy+1)].src;
document["c5x"+jy].src=document["c5x"+(jy+1)].src;
document["c6x"+jy].src=document["c6x"+(jy+1)].src;
document["c7x"+jy].src=document["c7x"+(jy+1)].src;
document["c8x"+jy].src=document["c8x"+(jy+1)].src;
document["c9x"+jy].src=document["c9x"+(jy+1)].src;
document["c10x"+jy].src=document["c10x"+(jy+1)].src;
document["c11x"+jy].src=document["c11x"+(jy+1)].src;
}
x[0][11]=9;
x[1][11]=9;
x[2][11]=9;
x[3][11]=9;
x[4][11]=9;
x[5][11]=9;
x[6][11]=9;
x[7][11]=9;
x[8][11]=9;
x[9][11]=9;
x[10][11]=9;
x[11][11]=9;
document["c0x11"].src=document["y7"].src;
document["c1x11"].src=document["y7"].src;
document["c2x11"].src=document["y7"].src;
document["c3x11"].src=document["y7"].src;
document["c4x11"].src=document["y7"].src;
document["c5x11"].src=document["y7"].src;
document["c6x11"].src=document["y7"].src;
document["c7x11"].src=document["y7"].src;
document["c8x11"].src=document["y7"].src;
document["c9x11"].src=document["y7"].src;
document["c10x11"].src=document["y7"].src;
document["c11x11"].src=document["y7"].src;
}}
if ((x[0][2]==9)&&(x[2][0]==9)&&(x[2][1]==9))
acabou = 1;
ispronto=0;
pontos=0;
//document.owl.owljogada.value=pontos;
document["e0"].src = document["y6"].src;
document["e1"].src = document["y6"].src;
document["e2"].src = document["y6"].src;
pronto[0]=0;
pronto[1]=0;
pronto[2]=0;
posicao=0;
if (acabou==1) finaliza();
}}

function finaliza(){
hplay=0;
if (placar > clbp)
document.owl.clbp.value = placar;
if ((placar < clwp)||(clwp==0))
document.owl.clwp.value = placar;
clavg=Math.round((clavg*clplays+placar)/(clplays+1));
clplays++;
document.owl.clavg.value = clavg;
document.owl.clplays.value = clplays;
if (placar > owldecimo){
document.owl.action="entertop20.php";
document.owl.owltopmsg.value="Game Over. Congratulations!";
document.owl.owltopmsg2.value="You´ve made it into the all-time TOP 20 List.";
if (owlgo1 = document.getElementById('top20'))
owlgo1.style.display = "block";
}
else if (placar > owlsemana){
document.owl.action="entertop200.php";
document.owl.owltopmsg.value="Game Over. Good Job!";
document.owl.owltopmsg2.value="Your result is a 7-day TOP 200";
if (owlgo1 = document.getElementById('top20'))
owlgo1.style.display = "block";
}
else if (owlgo1 = document.getElementById('gmvr1'))
owlgo1.style.display = "block";
if (owlgo2 = document.getElementById('espaco'))
owlgo2.style.display = "none";
}

function valida_final() 
{
document.owl.submit();
}

function tunprocessa(){
lin.style.display="none";
}

function marca(celula,yy,xx){
if (hplay==1){
fechaj();
document.owl.owljogada.value=0;
if (x[yy][xx]!=9){
if (ispronto==1){ //se já estava pronto, não está mais. Precisa verificar se faz linha com os outros?
//if (jcells.search(celula)!=-1){
//check();
//return;
//}
//else{
posicao=0;
ispronto =0;
pronto[1]=0;
pronto[2]=0;
document["c"+s[0][0]+"x"+s[0][1]].src=document["y"+v[0]].src;
document["c"+s[1][0]+"x"+s[1][1]].src=document["y"+v[1]].src;
document["c"+s[2][0]+"x"+s[2][1]].src=document["y"+v[2]].src;
desprocessa();
pontos=0;
document.owl.owljogada.value=pontos;
}
if (posicao==2){
if ((s[0][0]==yy)&&(s[1][0]==yy)&&((s[0][1]+s[1][1]+xx)%3==0)){ //estão em linha vertical
if (((s[0][1]>s[1][1])&&(xx>s[1][1]))||((s[0][1]<s[1][1])&&(xx<s[1][1]))){ //fora de ordem1
s[2][1]=s[1][1];
s[1][1]=s[0][1];
s[0][1]=xx;
s[2][0]=yy;
v[2]=v[1];
v[1]=v[0];
v[0]=x[yy][xx];
document["e2"].src=document["e1"].src;
document["e1"].src=document["e0"].src;
document["e0"].src=document["y"+x[yy][xx]].src;
} else
{ // em linha vertical, em ordem
v[2]=x[yy][xx];
s[2][0]=yy;
s[2][1]=xx;
document["e2"].src=document["y"+x[yy][xx]].src;
}
pronto[2]=1;
posicao=3;
ispronto=1;
} else if ((s[0][1]==xx)&&(s[1][1]==xx)&&((s[0][0]+s[1][0]+yy)%3==0)){ //estão em linha horizontal
if (((s[0][0]>s[1][0])&&(yy>s[1][0]))||((s[0][0]<s[1][0])&&(yy<s[1][0]))){ //fora de ordem
s[2][0]=s[1][0];
s[1][0]=s[0][0];
s[0][0]=yy;
s[2][1]=xx;
v[2]=v[1];
v[1]=v[0];
v[0]=x[yy][xx];
document["e2"].src=document["e1"].src;
document["e1"].src=document["e0"].src;
document["e0"].src=document["y"+x[yy][xx]].src;
} else
{
v[2]=x[yy][xx];
s[2][0]=yy;
s[2][1]=xx;
document["e2"].src=document["y"+x[yy][xx]].src;
}
pronto[2]=1;
posicao=3;
ispronto=1;
}
else {
document["c"+s[0][0]+"x"+s[0][1]].src=document["y"+v[0]].src;
document["c"+s[1][0]+"x"+s[1][1]].src=document["y"+v[1]].src;
posicao=0;
pronto[1]=0;
pronto[2]=0;
ispronto=0;
}}
if (posicao==1){ //precisa testar se está em linha com um deles?
if (((s[0][0]==yy)&&(Math.abs(s[0][1]-xx)==1))||((s[0][1]==xx)&&(Math.abs(s[0][0]-yy)==1))){ //verifica se 2 estão em linha
document["e1"].src=document[celula].src;
v[1]=x[yy][xx];
s[1][0]=yy;
s[1][1]=xx;
pronto[1]=1;
posicao=2;
}
else {
document["c"+s[0][0]+"x"+s[0][1]].src=document["y"+v[0]].src;
posicao=0;
}}
if (posicao==0){
document["e0"].src=document[celula].src;
document["e1"].src=document["y6"].src;
document["e2"].src=document["y6"].src;
document["bt"].src=document["b2"].src;
v[0]=x[yy][xx];
s[0][0]=yy;
s[0][1]=xx;
pronto[0]=1;
pronto[1]=0;
pronto[2]=0;
posicao=1;
ispronto=0;
}
document[celula].src=document["z"+x[yy][xx]].src;
if (ispronto==1)
conta();
}}}

function fechaj() {

if (owlfr = document.getElementById('ptos'))
owlfr.style.display = "none";
}

function posm(event) {
if (document.all) {
_x = (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
_y = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
_x += (window.event.clientX+marginX);
_y += (window.event.clientY+marginY);
} else {
_x = (event.pageX+marginX);
_y = (event.pageY+marginY);
}}

function abrej(text) {
if (owlfr = document.getElementById('ptos')){
owlfr.innerHTML = text;
owlfr.style.display = "block";
}}

function playagain() {
document.owl.submit();
}
