function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_controlShockwave(objStr,x,cmdName,frameNum) { //v3.0
  var obj=MM_findObj(objStr);
  if (obj) eval('obj.'+cmdName+'('+((cmdName=='GotoFrame')?frameNum:'')+')');
}

function funestat()
{  MM_showHideLayers('LayerEscon','','hide');MM_controlShockwave('0','','StopPlay');MM_controlShockwave('0','','Rewind');MM_showHideLayers('LayerAplau','','hide');MM_controlShockwave('0','','StopPlay');MM_controlShockwave('0','','Rewind');MM_showHideLayers('LayerEstat','','show');MM_controlShockwave('0','','Play')
};

function funescon()
{  MM_showHideLayers('LayerEstat','','hide');MM_controlShockwave('0','','StopPlay');MM_controlShockwave('0','','Rewind');MM_showHideLayers('LayerAplau','','hide');MM_controlShockwave('0','','StopPlay');MM_controlShockwave('0','','Rewind');MM_showHideLayers('LayerEscon','','show');MM_controlShockwave('0','','Play')
};

function funaplau()
{  MM_showHideLayers('LayerEstat','','hide');MM_controlShockwave('0','','StopPlay');MM_controlShockwave('0','','Rewind');MM_showHideLayers('LayerEscon','','hide');MM_controlShockwave('0','','StopPlay');MM_controlShockwave('0','','Rewind');MM_showHideLayers('LayerAplau','','show');MM_controlShockwave('0','','Play')
};

cuadroamar = new Image(80,80);
cuadroamar.src = "cuadroa.gif";
cruzamar = new Image(80,80);
cruzamar.src = "cruza.gif";
bolaamar = new Image(80,80);
bolaamar.src = "bolaa.gif";
cruzroja = new Image(80,80);
cruzroja.src = "cruzr.gif";
bolaroja = new Image(80,80);
bolaroja.src = "bolar.gif";
sipaloma = new Image(10,20);
sipaloma.src = "palomab.gif";
nopaloma = new Image(10,20);
nopaloma.src = "cuadron.gif";
marcer = new Image(20,40);
marcer.src = "cero.gif";
maruno = new Image(20,40);
maruno.src = "uno.gif";
mardos = new Image(20,40);
mardos.src = "dos.gif";
martre = new Image(20,40);
martre.src = "tres.gif";
marcua = new Image(20,40);
marcua.src = "cuatro.gif";
marcin = new Image(20,40);
marcin.src = "cinco.gif";
marsei = new Image(20,40);
marsei.src = "seis.gif";
marsie = new Image(20,40);
marsie.src = "siete.gif";
maroch = new Image(20,40);
maroch.src = "ocho.gif";
marnue = new Image(20,40);
marnue.src = "nueve.gif";

function esgato(reng,colu)
{  var dueno = gato[reng][colu];
   var indice = 0;
   var sies = true; forma = "R";
   //revisa el renglon
   for (indice=1; indice<=lado; indice=indice+1) {if (gato[reng][indice]!=dueno) {sies=false;};};
   if (sies==false)
   {  sies = true; forma = "C";
      //revisa la columna
	  for (indice=1; indice<=lado; indice=indice+1) {if (gato[indice][colu]!=dueno) {sies=false;};};
   	  if (sies==false)
	  {  sies = true; forma = "D";
	  	  //revisa diagonal
		  for (indice=1; indice<=lado; indice=indice+1) {if (gato[indice][indice]!=dueno) {sies=false;};};
		  if (sies==false)
		  {  sies=true; forma = "T";
			 //revisa transversal
			for (indice=1; indice<=lado; indice=indice+1) {if (gato[indice][4-indice]!=dueno) {sies=false;};};
			if (sies==false) {forma="X";};
		  }
      }
   }
   tiros=tiros+1; if (forma!="X") {yasta=true}; return (forma);
}

function marcador(reng,colu,forma)
{  if (gato[reng][colu]==-1)
   {  //ganó cruz
      if (forma=="R") //un renglón
      {  if (reng==1)
         {document.cuadro11.src=cruzroja.src; document.cuadro12.src=cruzroja.src; document.cuadro13.src=cruzroja.src;}
		 else
		 {  if (reng==2)
		    {document.cuadro21.src=cruzroja.src; document.cuadro22.src=cruzroja.src; document.cuadro23.src=cruzroja.src;}
			else
            {document.cuadro31.src=cruzroja.src; document.cuadro32.src=cruzroja.src; document.cuadro33.src=cruzroja.src;}
		 };
	  }
	  else
	  {  if (forma=="C") //una columna
         {  if (colu==1)
            {document.cuadro11.src=cruzroja.src; document.cuadro21.src=cruzroja.src; document.cuadro31.src=cruzroja.src;}
		    else
		    {  if (colu==2)
		       {document.cuadro12.src=cruzroja.src; document.cuadro22.src=cruzroja.src; document.cuadro32.src=cruzroja.src;}
			   else
               {document.cuadro13.src=cruzroja.src; document.cuadro23.src=cruzroja.src; document.cuadro33.src=cruzroja.src;}
		    };
	     }
		 else
		 {  if (forma=="D") //una diagonal
		    {document.cuadro11.src=cruzroja.src; document.cuadro22.src=cruzroja.src; document.cuadro33.src=cruzroja.src;}
	        else //una transversal
      	   {document.cuadro31.src=cruzroja.src; document.cuadro22.src=cruzroja.src; document.cuadro13.src=cruzroja.src;}
		 }
	  };
	  marccruz=marccruz+1; marcruz();
   }
   else
   {  //ganó bola
      if (forma=="R") //un renglón
      {  if (reng==1)
         {document.cuadro11.src=bolaroja.src; document.cuadro12.src=bolaroja.src; document.cuadro13.src=bolaroja.src;}
		 else
		 {  if (reng==2)
		    {document.cuadro21.src=bolaroja.src; document.cuadro22.src=bolaroja.src; document.cuadro23.src=bolaroja.src;}
			else
            {document.cuadro31.src=bolaroja.src; document.cuadro32.src=bolaroja.src; document.cuadro33.src=bolaroja.src;}
		 };
	  }
	  else
	  {  if (forma=="C") //una columna
         {  if (colu==1)
            {document.cuadro11.src=bolaroja.src; document.cuadro21.src=bolaroja.src; document.cuadro31.src=bolaroja.src;}
		    else
		    {  if (colu==2)
		       {document.cuadro12.src=bolaroja.src; document.cuadro22.src=bolaroja.src; document.cuadro32.src=bolaroja.src;}
			   else
               {document.cuadro13.src=bolaroja.src; document.cuadro23.src=bolaroja.src; document.cuadro33.src=bolaroja.src;}
		    };
	     }
		 else
		 {  if (forma=="D") //una diagonal
		    {document.cuadro11.src=bolaroja.src; document.cuadro22.src=bolaroja.src; document.cuadro33.src=bolaroja.src;}
	        else //una transversal
      	   {document.cuadro31.src=bolaroja.src; document.cuadro22.src=bolaroja.src; document.cuadro13.src=bolaroja.src;}
		 }
	  };
	  marcbola=marcbola+1; marbola();
   };
}
//funciones biro, tira la bola
function biro11()
   {gato[1][1]=1; forma=esgato(1,1);
      if (forma!="X") {marcador(1,1,forma);}
	  else
      {document.cuadro11.src=bolaamar.src;};
	  //el grupo siguiente podria usarse antes de la funcion ESGATO para optimizarla
	  if (gato[0][0]<0) {gato[0][0]=100} else {gato[0][0]=gato[0][0]+1;};
	  if (gato[1][0]<0) {gato[1][0]=100} else {gato[1][0]=gato[1][0]+1;};
	  if (gato[0][1]<0) {gato[0][1]=100} else {gato[0][1]=gato[0][1]+1;};
	}

function biro12()
   {gato[1][2]=1; forma=esgato(1,2);
      if (forma!="X") {marcador(1,2,forma);}
	  else
      {document.cuadro12.src=bolaamar.src;};
	  if (gato[1][0]<0) {gato[1][0]=100} else {gato[1][0]=gato[1][0]+1;};
	  if (gato[0][2]<0) {gato[0][2]=100} else {gato[0][2]=gato[0][2]+1;};
	}

function biro13()
   {gato[1][3]=1; forma=esgato(1,3);
      if (forma!="X") {marcador(1,3,forma);}
	  else
      {document.cuadro13.src=bolaamar.src;};
	  if (gato[4][0]<0) {gato[4][0]=100} else {gato[4][0]=gato[4][0]+1;};
	  if (gato[1][0]<0) {gato[1][0]=100} else {gato[1][0]=gato[1][0]+1;};
	  if (gato[0][3]<0) {gato[0][3]=100} else {gato[0][3]=gato[0][3]+1;};
	}

function biro21()
   {gato[2][1]=1; forma=esgato(2,1);
      if (forma!="X") {marcador(2,1,forma);}
	  else
      {document.cuadro21.src=bolaamar.src;};
	  if (gato[2][0]<0) {gato[2][0]=100} else {gato[2][0]=gato[2][0]+1;};
	  if (gato[0][1]<0) {gato[0][1]=100} else {gato[0][1]=gato[0][1]+1;};
	}

function biro22()
   {gato[2][2]=1; forma=esgato(2,2);
      if (forma!="X") {marcador(2,2,forma);}
	  else
      {document.cuadro22.src=bolaamar.src;};
	  if (gato[0][0]<0) {gato[0][0]=100} else {gato[0][0]=gato[0][0]+1;};
	  if (gato[4][0]<0) {gato[4][0]=100} else {gato[4][0]=gato[4][0]+1;};
	  if (gato[2][0]<0) {gato[2][0]=100} else {gato[2][0]=gato[2][0]+1;};
	  if (gato[0][2]<0) {gato[0][2]=100} else {gato[0][2]=gato[0][2]+1;};
	}

function biro23()
   {gato[2][3]=1; forma=esgato(2,3);
      if (forma!="X") {marcador(2,3,forma);}
	  else
      {document.cuadro23.src=bolaamar.src;};
	  if (gato[2][0]<0) {gato[2][0]=100} else {gato[2][0]=gato[2][0]+1;};
	  if (gato[0][3]<0) {gato[0][3]=100} else {gato[0][3]=gato[0][3]+1;};
	}

function biro31()
   {gato[3][1]=1; forma=esgato(3,1);
      if (forma!="X") {marcador(3,1,forma);}
	  else
      {document.cuadro31.src=bolaamar.src;};
	  if (gato[4][0]<0) {gato[4][0]=100} else {gato[4][0]=gato[4][0]+1;};
	  if (gato[3][0]<0) {gato[3][0]=100} else {gato[3][0]=gato[3][0]+1;};
	  if (gato[0][1]<0) {gato[0][1]=100} else {gato[0][1]=gato[0][1]+1;};
	}

function biro32()
   {gato[3][2]=1; forma=esgato(3,2);
      if (forma!="X") {marcador(3,2,forma);}
	  else
      {document.cuadro32.src=bolaamar.src;};
	  if (gato[3][0]<0) {gato[3][0]=100} else {gato[3][0]=gato[3][0]+1;};
	  if (gato[0][2]<0) {gato[0][2]=100} else {gato[0][2]=gato[0][2]+1;};
	}

function biro33()
   {gato[3][3]=1; forma=esgato(3,3);
      if (forma!="X") {marcador(3,3,forma);}
	  else
      {document.cuadro33.src=bolaamar.src;};
	  if (gato[0][0]<0) {gato[0][0]=100} else {gato[0][0]=gato[0][0]+1;};
	  if (gato[3][0]<0) {gato[3][0]=100} else {gato[3][0]=gato[3][0]+1;};
	  if (gato[0][3]<0) {gato[0][3]=100} else {gato[0][3]=gato[0][3]+1;};
	}

//funciones tiro, tira la cruz
function tiro11()
{if (gato[1][1]==0&&yasta==false)
   {gato[1][1]=-1; forma=esgato(1,1);
      if (forma!="X") {marcador(1,1,forma);}
	  else
      {document.cuadro11.src=cruzamar.src;};
	  if (gato[0][0]>0) {gato[0][0]=100} else {gato[0][0]=gato[0][0]-1;};
	  if (gato[1][0]>0) {gato[1][0]=100} else {gato[1][0]=gato[1][0]-1;};
	  if (gato[0][1]>0) {gato[0][1]=100} else {gato[0][1]=gato[0][1]-1;};
	}
   else
   {alert("¡Tiro inválido! La próxima vez pierde su turno.")}
   if (yasta==false) {miturno();};
}

function tiro12()
{if (gato[1][2]==0&&yasta==false)
   {gato[1][2]=-1; forma=esgato(1,2);
      if (forma!="X") {marcador(1,2,forma);}
	  else
      {document.cuadro12.src=cruzamar.src;};
	  if (gato[1][0]>0) {gato[1][0]=100} else {gato[1][0]=gato[1][0]-1;};
	  if (gato[0][2]>0) {gato[0][2]=100} else {gato[0][2]=gato[0][2]-1;};
	}
   else
   {alert("¡Tiro inválido! La próxima vez pierde su turno.")}
   if (yasta==false) {miturno();};
}

function tiro13()
{if (gato[1][3]==0&&yasta==false)
   {gato[1][3]=-1; forma=esgato(1,3);
      if (forma!="X") {marcador(1,3,forma);}
	  else
      {document.cuadro13.src=cruzamar.src;};
	  if (gato[4][0]>0) {gato[4][0]=100} else {gato[4][0]=gato[4][0]-1;};
	  if (gato[1][0]>0) {gato[1][0]=100} else {gato[1][0]=gato[1][0]-1;};
	  if (gato[0][3]>0) {gato[0][3]=100} else {gato[0][3]=gato[0][3]-1;};
	}
   else
   {alert("¡Tiro inválido! La próxima vez pierde su turno.")}
   if (yasta==false) {miturno();};
}

function tiro21()
{if (gato[2][1]==0&&yasta==false)
   {gato[2][1]=-1; forma=esgato(2,1);
      if (forma!="X") {marcador(2,1,forma);}
	  else
      {document.cuadro21.src=cruzamar.src;};
	  if (gato[2][0]>0) {gato[2][0]=100} else {gato[2][0]=gato[2][0]-1;};
	  if (gato[0][1]>0) {gato[0][1]=100} else {gato[0][1]=gato[0][1]-1;};
	}
   else
   {alert("¡Tiro inválido! La próxima vez pierde su turno.")}
   if (yasta==false) {miturno();};
}

function tiro22()
{if (gato[2][2]==0&&yasta==false)
   {gato[2][2]=-1; forma=esgato(2,2);
      if (forma!="X") {marcador(2,2,forma);}
	  else
      {document.cuadro22.src=cruzamar.src;};
	  if (gato[0][0]>0) {gato[0][0]=100} else {gato[0][0]=gato[0][0]-1;};
	  if (gato[4][0]>0) {gato[4][0]=100} else {gato[4][0]=gato[4][0]-1;};
	  if (gato[2][0]>0) {gato[2][0]=100} else {gato[2][0]=gato[2][0]-1;};
	  if (gato[0][2]>0) {gato[0][2]=100} else {gato[0][2]=gato[0][2]-1;};
	}
   else
   {alert("¡Tiro inválido! La próxima vez pierde su turno.")}
   if (yasta==false) {miturno();};
}

function tiro23()
{if (gato[2][3]==0&&yasta==false)
   {gato[2][3]=-1; forma=esgato(2,3);
      if (forma!="X") {marcador(2,3,forma);}
	  else
      {document.cuadro23.src=cruzamar.src;};
	  if (gato[2][0]>0) {gato[2][0]=100} else {gato[2][0]=gato[2][0]-1;};
	  if (gato[0][3]>0) {gato[0][3]=100} else {gato[0][3]=gato[0][3]-1;};
	}
   else
   {alert("¡Tiro inválido! La próxima vez pierde su turno.")}
   if (yasta==false) {miturno();};
}

function tiro31()
{if (gato[3][1]==0&&yasta==false)
   {gato[3][1]=-1; forma=esgato(3,1);
      if (forma!="X") {marcador(3,1,forma);}
	  else
      {document.cuadro31.src=cruzamar.src;};
	  if (gato[4][0]>0) {gato[4][0]=100} else {gato[4][0]=gato[4][0]-1;};
	  if (gato[3][0]>0) {gato[3][0]=100} else {gato[3][0]=gato[3][0]-1;};
	  if (gato[0][1]>0) {gato[0][1]=100} else {gato[0][1]=gato[0][1]-1;};
	}
   else
   {alert("¡Tiro inválido! La próxima vez pierde su turno.")}
   if (yasta==false) {miturno();};
}

function tiro32()
{if (gato[3][2]==0&&yasta==false)
   {gato[3][2]=-1; forma=esgato(3,2);
      if (forma!="X") {marcador(3,2,forma);}
	  else
      {document.cuadro32.src=cruzamar.src;};
	  if (gato[3][0]>0) {gato[3][0]=100} else {gato[3][0]=gato[3][0]-1;};
	  if (gato[0][2]>0) {gato[0][2]=100} else {gato[0][2]=gato[0][2]-1;};
	}
   else
   {alert("¡Tiro inválido! La próxima vez pierde su turno.")}
   if (yasta==false) {miturno();};
}

function tiro33()
{if (gato[3][3]==0&&yasta==false)
   {gato[3][3]=-1; forma=esgato(3,3);
      if (forma!="X") {marcador(3,3,forma);}
	  else
      {document.cuadro33.src=cruzamar.src;};
	  if (gato[0][0]>0) {gato[0][0]=100} else {gato[0][0]=gato[0][0]-1;};
	  if (gato[3][0]>0) {gato[3][0]=100} else {gato[3][0]=gato[3][0]-1;};
	  if (gato[0][3]>0) {gato[0][3]=100} else {gato[0][3]=gato[0][3]-1;};
	}
   else
   {alert("¡Tiro inválido! La próxima vez pierde su turno.")}
   if (yasta==false) {miturno();};
}

function miturno()
{  if (inicio==true&&dificultad<=0)
   {//esta atacando el invitado y la dificultad es maxima
      if (tiros<=1)
	  {//defensa de apertura, no correr riesgos: ataque de centro se defiende con esquina aleatotia
	     if (gato[2][2]!=0) {esqale();}
		 else
	     {//ataque de esquina se defiende con centro
	        if (gato[1][1]!=0||gato[1][3]!=0||gato[3][1]!=0||gato[3][3]!=0) {biro22();}
	        else
			{  rueda[0][0]="gato[2][2];"; rueda[0][1]="biro22();";
			   if (gato[1][2]!=0)
			   {  rueda[1][0]="gato[1][1];"; rueda[1][1]="biro11();";
	              rueda[2][0]="gato[1][3];"; rueda[2][1]="biro13();";
			   }
			   else
			   {  if (gato[2][1]!=0)
			      {  rueda[1][0]="gato[1][1];"; rueda[1][1]="biro11();";
     	             rueda[2][0]="gato[3][1];"; rueda[2][1]="biro31();";
				  }
			      else
				  { if (gato[2][3]!=0)
				     {  rueda[1][0]="gato[1][3];"; rueda[1][1]="biro13();";
         	            rueda[2][0]="gato[3][3];"; rueda[2][1]="biro33();";
					 }
				     else
					 {  rueda[1][0]="gato[3][1];"; rueda[1][1]="biro31();";
         	            rueda[2][0]="gato[3][3];"; rueda[2][1]="biro33();";
					 };
				  };
			   };
			   var aleato=(Math.round((Math.random())*100000000))%3;
               for (indice=0; indice<=2; indice=indice+1)
	           {rayo=(indice+aleato)%3; celda=eval(rueda[rayo][0]); if (celda==0) {eval(rueda[rayo][1]); break;};};
			};
		 };
	  }
	  else
	  {//cuidado con tiros sesgados, defiende por el costado
	     if (tiros<=3)
         {  if ((gato[1][1]==-1&&gato[3][3]==-1)||(gato[3][1]==-1&&gato[1][3]==-1)) {ladale();}
		    else {mejoti();};
		 }
		 else {mejoti();};
	  };
   }
   else
   {//esta atacando la computadora o la dificultad no es maxima
      if (tiros<=1) {aleator();} //inicia tiro aleatorio
      else  {mejoti();}; //continuacion de apertura(preparacion), elije mejor tiro
   };
}

function aleator()
{     rueda[0][0]="gato[1][1];"; rueda[0][1]="biro11();";
      rueda[1][0]="gato[1][2];"; rueda[1][1]="biro12();";
	  rueda[2][0]="gato[1][3];"; rueda[2][1]="biro13();";
      rueda[3][0]="gato[2][1];"; rueda[3][1]="biro21();";
	  rueda[4][0]="gato[2][2];"; rueda[4][1]="biro22();";
      rueda[5][0]="gato[2][3];"; rueda[5][1]="biro23();";
	  rueda[6][0]="gato[3][1];"; rueda[6][1]="biro31();";
      rueda[7][0]="gato[3][2];"; rueda[7][1]="biro32();";
	  rueda[8][0]="gato[3][3];"; rueda[8][1]="biro33();";
      var aleato=(Math.round((Math.random())*100000000))%9;
	  for (indice=0; indice<=8; indice=indice+1)
	  {rayo=(indice+aleato)%9; celda=eval(rueda[rayo][0]); if (celda==0) {eval(rueda[rayo][1]); break;};};
}

function esqale()
{  if (gato[1][1]!=0&&gato[3][1]!=0&&gato[1][3]!=0&&gato[3][3]!=0) {mejoti();}
    //innecesario si las esquinas están desocupadas
   else
   {  rueda[0][0]="gato[1][1];"; rueda[0][1]="biro11();";
      rueda[1][0]="gato[3][1];"; rueda[1][1]="biro31();";
	  rueda[2][0]="gato[1][3];"; rueda[2][1]="biro13();";
      rueda[3][0]="gato[3][3];"; rueda[3][1]="biro33();";
      var aleato=(Math.round((Math.random())*100000000))%4;
	  for (indice=0; indice<=3; indice=indice+1)
	  {rayo=(indice+aleato)%4; celda=eval(rueda[rayo][0]); if (celda==0) {eval(rueda[rayo][1]); break;};};
   };
}

function ladale()
{  if (gato[2][1]!=0&&gato[1][2]!=0&&gato[3][2]!=0&&gato[2][3]!=0) {mejoti();}
   else
   {  rueda[0][0]="gato[2][1];"; rueda[0][1]="biro21();";
      rueda[1][0]="gato[1][2];"; rueda[1][1]="biro12();";
	  rueda[2][0]="gato[3][2];"; rueda[2][1]="biro32();";
      rueda[3][0]="gato[2][3];"; rueda[3][1]="biro23();";
      var aleato=(Math.round((Math.random())*100000000))%4;
	  for (indice=0; indice<=3; indice=indice+1)
	  {rayo=(indice+aleato)%4; celda=eval(rueda[rayo][0]); if (celda==0) {eval(rueda[rayo][1]); break;};};
   };
}

function mejoti()
{  var sale=false;
//checando posibles CONSOLIDACIONES:
   for (reng=1; reng<=lado; reng=reng+1) //de renglones
   {  if (gato[reng][0]>1&&gato[reng][0]<100)
      {  for (colu=1; colu<=lado; colu=colu+1)
	     {  if (gato[reng][colu]==0) {eval(tirar[reng][colu]); sale=true; break;};};
	  };
	  if (sale==true) break;
   };
   if (sale==false)
   {  for (colu=1; colu<=lado; colu=colu+1) //de columnas
      {  if (gato[0][colu]>1&&gato[0][colu]<100)
         {  for (reng=1; reng<=lado; reng=reng+1)
	        {  if (gato[reng][colu]==0) {eval(tirar[reng][colu]); sale=true; break;};};
	     };
	     if (sale==true) break;
      };
   };
   if (sale==false)
   {  //de diagonal
      if (gato[0][0]>1&&gato[0][0]<100)
      {  for (colu=1; colu<=lado; colu=colu+1)
	     {  if (gato[colu][colu]==0) {eval(tirar[colu][colu]); sale=true; break;};};
	  };
   };
   if (sale==false)
   {  //de transversal
      if (gato[4][0]>1&&gato[4][0]<100)
      {  for (colu=1; colu<=lado; colu=colu+1)
	     {  if (gato[4-colu][colu]==0) {eval(tirar[4-colu][colu]); sale=true; break;};};
	  };
   };
   //checando necesidad de BLOQUEAR CONSOLIDACION
   if (sale==false)
   {  for (reng=1; reng<=lado; reng=reng+1) //de renglones
      {  if (gato[reng][0]<-1)
         {  for (colu=1; colu<=lado; colu=colu+1)
	        {  if (gato[reng][colu]==0) {eval(tirar[reng][colu]); sale=true; break;};};
	     };
	     if (sale==true) break;
      };
   };
   if (sale==false)
   {  for (colu=1; colu<=lado; colu=colu+1) //de columnas
      {  if (gato[0][colu]<-1)
         {  for (reng=1; reng<=lado; reng=reng+1)
	        {  if (gato[reng][colu]==0) {eval(tirar[reng][colu]); sale=true; break;};};
	     };
	     if (sale==true) break;
      };
   };
   if (sale==false)
   {  //de diagonal
      if (gato[0][0]<-1)
      {  for (colu=1; colu<=lado; colu=colu+1)
	     {  if (gato[colu][colu]==0) {eval(tirar[colu][colu]); sale=true; break;};};
	  };
   };
   if (sale==false)
   {  //de transversal
      if (gato[4][0]<-1)
      {  for (colu=1; colu<=lado; colu=colu+1)
	     {  if (gato[4-colu][colu]==0) {eval(tirar[4-colu][colu]); sale=true; break;};};
	  };
   };
   //checando necesidad de BLOQUEAR posible escuadra
   if (sale==false)
   {  for (reng=1; reng<=lado; reng=reng+1) //de renglones vs columnas
      {  if (gato[reng][0]==-1)
         {  for (colu=1; colu<=lado; colu=colu+1)
		    {  if (gato[0][colu]==-1&&gato[reng][colu]==0) {eval(tirar[reng][colu]); sale=true; break;};};
	     };
	     if (sale==true) break;
      };
   };
   if (sale==false)
   {  //de diagonal
      if (gato[0][0]==-1)
      {  //vs renglones
	     for (reng=1; reng<=lado; reng=reng+1)
		 {  if (gato[reng][0]==-1&&gato[reng][reng]==0) {eval(tirar[reng][reng]); sale=true; break;};};
		 if (sale==false)
		 {  //vs columnas
		    for (colu=1; colu<=lado; colu=colu+1)
		    {  if (gato[0][colu]==-1&&gato[colu][colu]==0) {eval(tirar[colu][colu]); sale=true; break;};};
		 };
	  };
   };
   if (sale==false)
   {  //de transversal
      if (gato[4][0]<-1)
      {  //vs renglones
	     for (reng=1; reng<=lado; reng=reng+1)
		 {  if (gato[reng][0]==-1&&gato[4-reng][reng]==0) {eval(tirar[4-reng][reng]); sale=true; break;};};
		 if (sale==false)
		 {  //vs columnas
		    for (colu=1; colu<=lado; colu=colu+1)
		    {  if (gato[0][colu]==-1&&gato[4-colu][colu]==0) {eval(tirar[4-colu][colu]); sale=true; break;};};
		 };
	  };
   };
   //checando posibilidad de armar una escuadra
   if (sale==false)
   {  for (reng=1; reng<=lado; reng=reng+1) //de renglones vs columnas
      {  if (gato[reng][0]==1)
         {  for (colu=1; colu<=lado; colu=colu+1)
		    {  if (gato[0][colu]==1&&gato[reng][colu]==0) {eval(tirar[reng][colu]); sale=true; break;};};
	     };
	     if (sale==true) break;
      };
   };
   if (sale==false)
   {  //de diagonal
      if (gato[0][0]==1)
      {  //vs renglones
	     for (reng=1; reng<=lado; reng=reng+1)
		 {  if (gato[reng][0]==1&&gato[reng][reng]==0) {eval(tirar[reng][reng]); sale=true; break;};};
		 if (sale==false)
		 {  //vs columnas
		    for (colu=1; colu<=lado; colu=colu+1)
		    {  if (gato[0][colu]==1&&gato[colu][colu]==0) {eval(tirar[colu][colu]); sale=true; break;};};
		 };
	  };
   };
   if (sale==false)
   {  //de transversal
      if (gato[4][0]<-1)
      {  //vs renglones
	     for (reng=1; reng<=lado; reng=reng+1)
		 {  if (gato[reng][0]==1&&gato[4-reng][reng]==0) {eval(tirar[4-reng][reng]); sale=true; break;};};
		 if (sale==false)
		 {  //vs columnas
		    for (colu=1; colu<=lado; colu=colu+1)
		    {  if (gato[0][colu]==1&&gato[4-colu][colu]==0) {eval(tirar[4-colu][colu]); sale=true; break;};};
		 };
	  };
   };
   if (sale==false)
   {  //trata de preparar una escuadra(ganar un renglon y una columna)
      for (reng=1; reng<=lado; reng=reng+1)
      {  if (gato[reng][0]==0)
         {  for (colu=1; colu<=lado; colu=colu+1)
	        {  if (gato[0][colu]==0) {eval(tirar[reng][colu]); sale=true; break;};};
	     };
	     if (sale==true) break;
      };
   };
   if (sale==false)
   {  //trata de ganar un renglon si ya tienes una columna
      if (gato[0][1]==1||gato[0][2]==1||gato[0][3]==1) {
      for (reng=1; reng<=lado; reng=reng+1)
      {  if (gato[reng][0]==0)
         {  for (colu=1; colu<=lado; colu=colu+1)
	        {  if (gato[reng][colu]==0) {eval(tirar[reng][colu]); sale=true; break;};};
	     };
	     if (sale==true) break;
      };
   };};
   if (sale==false)
   {  //trata de ganar una columna si ya tienes un renglon
      if (gato[1][0]==1||gato[2][0]==1||gato[3][0]==1) {
      for (colu=1; colu<=lado; colu=colu+1)
      {  if (gato[0][colu]==0)
         {  for (reng=1; reng<=lado; reng=reng+1)
	        {  if (gato[reng][colu]==0) {eval(tirar[reng][colu]); sale=true; break;};};
	     };
	     if (sale==true) break;
      };
   };};
   if (sale==false)
   {  //trata de ganar un renglon, al menos
      for (reng=1; reng<=lado; reng=reng+1)
      {  if (gato[reng][0]==0)
         {  for (colu=1; colu<=lado; colu=colu+1)
	        {  if (gato[reng][colu]==0) {eval(tirar[reng][colu]); sale=true; break;};};
	     };
	     if (sale==true) break;
      };
   };
   if (sale==false)
   {  //trata de ganar una columna, al menos
      for (colu=1; colu<=lado; colu=colu+1)
      {  if (gato[0][colu]==0)
         {  for (reng=1; reng<=lado; reng=reng+1)
	        {  if (gato[reng][colu]==0) {eval(tirar[reng][colu]); sale=true; break;};};
	     };
	     if (sale==true) break;
      };
   };
   if (sale==false) {aleator()};
}

function limpia()
{//detiene pelicula
funestat();
//limpia matriz
for (reng=0; reng<=(lado+1); reng=reng+1) {for (colu=0; colu<=(lado+1); colu=colu+1) {gato[reng][colu]=0;};};
//limpia tabla
document.cuadro11.src=cuadroamar.src; document.cuadro12.src=cuadroamar.src; document.cuadro13.src=cuadroamar.src;
document.cuadro21.src=cuadroamar.src; document.cuadro22.src=cuadroamar.src; document.cuadro23.src=cuadroamar.src;
document.cuadro31.src=cuadroamar.src; document.cuadro32.src=cuadroamar.src; document.cuadro33.src=cuadroamar.src;
if (yasta==false) {marcnadi=marcnadi+1; marnadi();};
yasta=false; tiros=0; if (inicio==false) inicio=true; else {inicio=false; miturno()};
}

function modera()
{  dificultad=1;
   document.palmod.src=sipaloma.src;
   document.palint.src=nopaloma.src;
};

function intole()
{  dificultad=0;
   document.palmod.src=nopaloma.src;
   document.palint.src=sipaloma.src;
};

function marcruz()
{  //pelicula aplaude
   funaplau();
   var cantidad=marccruz;
   var residuo=cantidad%10;
   switch (residuo)
   {  case 0: marcruz4.src=marcer.src; break;
	  case 1: marcruz4.src=maruno.src; break;
      case 2: marcruz4.src=mardos.src; break;
      case 3: marcruz4.src=martre.src; break;
      case 4: marcruz4.src=marcua.src; break;
	  case 5: marcruz4.src=marcin.src; break;
	  case 6: marcruz4.src=marsei.src; break;
      case 7: marcruz4.src=marsie.src; break;
      case 8: marcruz4.src=maroch.src; break;
	  case 9: marcruz4.src=marnue.src; break;
   };
   cantidad=Math.floor(cantidad/10)
   residuo=cantidad%10;
   switch (residuo)
   {  case 0: marcruz3.src=marcer.src; break;
	  case 1: marcruz3.src=maruno.src; break;
      case 2: marcruz3.src=mardos.src; break;
      case 3: marcruz3.src=martre.src; break;
      case 4: marcruz3.src=marcua.src; break;
	  case 5: marcruz3.src=marcin.src; break;
	  case 6: marcruz3.src=marsei.src; break;
      case 7: marcruz3.src=marsie.src; break;
      case 8: marcruz3.src=maroch.src; break;
	  case 9: marcruz3.src=marnue.src; break;
   };
   cantidad=Math.floor(cantidad/10)
   residuo=cantidad%10;
   switch (residuo)
   {  case 0: marcruz2.src=marcer.src; break;
	  case 1: marcruz2.src=maruno.src; break;
      case 2: marcruz2.src=mardos.src; break;
      case 3: marcruz2.src=martre.src; break;
      case 4: marcruz2.src=marcua.src; break;
	  case 5: marcruz2.src=marcin.src; break;
	  case 6: marcruz2.src=marsei.src; break;
      case 7: marcruz2.src=marsie.src; break;
      case 8: marcruz2.src=maroch.src; break;
	  case 9: marcruz2.src=marnue.src; break;
   };
   cantidad=Math.floor(cantidad/10)
   residuo=cantidad%10;
   switch (residuo)
   {  case 0: marcruz1.src=marcer.src; break;
	  case 1: marcruz1.src=maruno.src; break;
      case 2: marcruz1.src=mardos.src; break;
      case 3: marcruz1.src=martre.src; break;
      case 4: marcruz1.src=marcua.src; break;
	  case 5: marcruz1.src=marcin.src; break;
	  case 6: marcruz1.src=marsei.src; break;
      case 7: marcruz1.src=marsie.src; break;
      case 8: marcruz1.src=maroch.src; break;
	  case 9: marcruz1.src=marnue.src; break;
   };
};

function marbola()
{  //pelicula esconde
   funescon();
   var cantidad=marcbola;
   var residuo=cantidad%10;
   switch (residuo)
   {  case 0: marbola4.src=marcer.src; break;
	  case 1: marbola4.src=maruno.src; break;
      case 2: marbola4.src=mardos.src; break;
      case 3: marbola4.src=martre.src; break;
      case 4: marbola4.src=marcua.src; break;
	  case 5: marbola4.src=marcin.src; break;
	  case 6: marbola4.src=marsei.src; break;
      case 7: marbola4.src=marsie.src; break;
      case 8: marbola4.src=maroch.src; break;
	  case 9: marbola4.src=marnue.src; break;
   };
   cantidad=Math.floor(cantidad/10)
   residuo=cantidad%10;
   switch (residuo)
   {  case 0: marbola3.src=marcer.src; break;
	  case 1: marbola3.src=maruno.src; break;
      case 2: marbola3.src=mardos.src; break;
      case 3: marbola3.src=martre.src; break;
      case 4: marbola3.src=marcua.src; break;
	  case 5: marbola3.src=marcin.src; break;
	  case 6: marbola3.src=marsei.src; break;
      case 7: marbola3.src=marsie.src; break;
      case 8: marbola3.src=maroch.src; break;
	  case 9: marbola3.src=marnue.src; break;
   };
   cantidad=Math.floor(cantidad/10)
   residuo=cantidad%10;
   switch (residuo)
   {  case 0: marbola2.src=marcer.src; break;
	  case 1: marbola2.src=maruno.src; break;
      case 2: marbola2.src=mardos.src; break;
      case 3: marbola2.src=martre.src; break;
      case 4: marbola2.src=marcua.src; break;
	  case 5: marbola2.src=marcin.src; break;
	  case 6: marbola2.src=marsei.src; break;
      case 7: marbola2.src=marsie.src; break;
      case 8: marbola2.src=maroch.src; break;
	  case 9: marbola2.src=marnue.src; break;
   };
   cantidad=Math.floor(cantidad/10)
   residuo=cantidad%10;
   switch (residuo)
   {  case 0: marbola1.src=marcer.src; break;
	  case 1: marbola1.src=maruno.src; break;
      case 2: marbola1.src=mardos.src; break;
      case 3: marbola1.src=martre.src; break;
      case 4: marbola1.src=marcua.src; break;
	  case 5: marbola1.src=marcin.src; break;
	  case 6: marbola1.src=marsei.src; break;
      case 7: marbola1.src=marsie.src; break;
      case 8: marbola1.src=maroch.src; break;
	  case 9: marbola1.src=marnue.src; break;
   };
};

function marnadi()
{  var cantidad=marcnadi;
   var residuo=cantidad%10;
   switch (residuo)
   {  case 0: marnadi4.src=marcer.src; break;
	  case 1: marnadi4.src=maruno.src; break;
      case 2: marnadi4.src=mardos.src; break;
      case 3: marnadi4.src=martre.src; break;
      case 4: marnadi4.src=marcua.src; break;
	  case 5: marnadi4.src=marcin.src; break;
	  case 6: marnadi4.src=marsei.src; break;
      case 7: marnadi4.src=marsie.src; break;
      case 8: marnadi4.src=maroch.src; break;
	  case 9: marnadi4.src=marnue.src; break;
   };
   cantidad=Math.floor(cantidad/10)
   residuo=cantidad%10;
   switch (residuo)
   {  case 0: marnadi3.src=marcer.src; break;
	  case 1: marnadi3.src=maruno.src; break;
      case 2: marnadi3.src=mardos.src; break;
      case 3: marnadi3.src=martre.src; break;
      case 4: marnadi3.src=marcua.src; break;
	  case 5: marnadi3.src=marcin.src; break;
	  case 6: marnadi3.src=marsei.src; break;
      case 7: marnadi3.src=marsie.src; break;
      case 8: marnadi3.src=maroch.src; break;
	  case 9: marnadi3.src=marnue.src; break;
   };
   cantidad=Math.floor(cantidad/10)
   residuo=cantidad%10;
   switch (residuo)
   {  case 0: marnadi2.src=marcer.src; break;
	  case 1: marnadi2.src=maruno.src; break;
      case 2: marnadi2.src=mardos.src; break;
      case 3: marnadi2.src=martre.src; break;
      case 4: marnadi2.src=marcua.src; break;
	  case 5: marnadi2.src=marcin.src; break;
	  case 6: marnadi2.src=marsei.src; break;
      case 7: marnadi2.src=marsie.src; break;
      case 8: marnadi2.src=maroch.src; break;
	  case 9: marnadi2.src=marnue.src; break;
   };
   cantidad=Math.floor(cantidad/10)
   residuo=cantidad%10;
   switch (residuo)
   {  case 0: marnadi1.src=marcer.src; break;
	  case 1: marnadi1.src=maruno.src; break;
      case 2: marnadi1.src=mardos.src; break;
      case 3: marnadi1.src=martre.src; break;
      case 4: marnadi1.src=marcua.src; break;
	  case 5: marnadi1.src=marcin.src; break;
	  case 6: marnadi1.src=marsei.src; break;
      case 7: marnadi1.src=marsie.src; break;
      case 8: marnadi1.src=maroch.src; break;
	  case 9: marnadi1.src=marnue.src; break;
   };
};

function genmarcruz()
{      document.write("<tr>");
       document.write("<td ALIGN=center VALIGN=middle WIDTH=20 HEIGHT=40>" +
       '<A HREF="#"><IMG SRC="cruzr.gif" WIDTH=20 HEIGHT=40 ALIGN=middle></A>' + "</td>");
       for (indice=1; indice<=4; indice=indice+1)
       {   document.write("<td ALIGN=center VALIGN=middle WIDTH=20 HEIGHT=40>" +
      '<A HREF="#"><IMG NAME="marcruz' + indice + '" SRC="cero.gif" WIDTH=20 HEIGHT=40 ALIGN=middle></A>' + "</td>");
       }
       document.write("</tr>");
};

function genmarbola()
{      document.write("<tr>");
       document.write("<td ALIGN=center VALIGN=middle WIDTH=20 HEIGHT=40>" +
       '<A HREF="#"><IMG SRC="bolar.gif" WIDTH=20 HEIGHT=40 ALIGN=middle></A>' + "</td>");
       for (indice=1; indice<=4; indice=indice+1)
       {   document.write("<td ALIGN=center VALIGN=middle WIDTH=20 HEIGHT=40>" +
       '<A HREF="#"><IMG NAME="marbola' + indice + '" SRC="cero.gif" WIDTH=20 HEIGHT=40 ALIGN=middle></A>' + "</td>");
       }
       document.write("</tr>"); 
};

function genmarnadi()
{       document.write("<tr>");
	document.write("<td ALIGN=center VALIGN=middle WIDTH=20 HEIGHT=40>" +
        '<A HREF="#"><IMG SRC="empate.gif" WIDTH=20 HEIGHT=40 ALIGN=middle></A>' + "</td>");
        for (indice=1; indice<=4; indice=indice+1)
        {   document.write("<td ALIGN=center VALIGN=middle WIDTH=20 HEIGHT=40>" +
             '<A HREF="#"><IMG NAME="marnadi' + indice + '" SRC="cero.gif" WIDTH=20 HEIGHT=40 ALIGN=middle></A>' +          "</td>");
        }
       document.write("</tr>");
};

function gentabgato(lado)
{	//genera tabla del gato
       for (reng=1; reng<=lado; reng=reng+1)
       {  document.write("<tr>");
          for (colu=1; colu<=lado; colu=colu+1)
          {   document.write("<td ALIGN=center VALIGN=middle WIDTH=90 HEIGHT=90>" +
               '<A HREF="#" ONCLICK="tiro' + reng + colu + '()"><IMG NAME="cuadro' + reng + colu + '" SRC="cuadroa.gif" ALT="tire" WIDTH=80 HEIGHT=80 ALIGN=middle></A>' + "</td>");
          }
          document.write("</tr>");
       }
};
