var filas, cuadros, Quedan, x1, x2, y1, y2;
var Ganadas=0, Perdidas=0, Movimientos=0;
var Activo=false;
var Doc=window.document;
var imagenes=new Array("Lapices.jpg","Tijeras.jpg","Gafas.jpg","Grapadora.jpg","Cuaderno.jpg","Quitagrapas.jpg","Disketes.jpg","Manzana.jpg","Melocoton.jpg","Limon.jpg","Naranja.jpg","Vaso.jpg","Frasca.jpg","Botella.jpg","Jarra.jpg","Taza.jpg","Cafetera.jpg","Biberon.jpg","Mando.jpg","Telefono.jpg","Movil.jpg","Gusano.jpg","Pelota.jpg","Tortuga.jpg","Luni1.jpg","Luni2.jpg","Luni3.jpg","Donald.jpg","Galletas.jpg","Libro1.jpg","Libro2.jpg","Libro3.jpg");

function Construye()
{
var i, j, elegido;
var Tama=Doc.getElementById('formulario').Tamano;
var gifs=new Array();
var Contenido="<form action='#' name='form1'><table class='ancha' align='center'>";
Para();
if (Activo)
	Doc.getElementById("Perdidas").innerHTML=++Perdidas;
Libera();
filas=Tama[Tama.selectedIndex].value;
cuadros=filas*filas;
Quedan=cuadros;

gifs=imagenes.slice(0,parseInt(cuadros/2,10));
gifs=gifs.concat(gifs);

for (i=0;i<filas;i++)
	{
	Contenido+="<tr>";
	for (j=0;j<filas;j++)
		{
		elegido=Math.floor(gifs.length*Math.random());
		Contenido+="<td onclick='Revela("+i+","+j+");' class='celda'><img src='"+gifs[elegido] +"' id='foto_"+i+"_"+j+"' class='oculto'><\/td>";
		gifs.splice(elegido,1);
		}
	Contenido+="<\/tr>";
	}
Contenido+="<\/table><\/form>";
Doc.getElementById('cuadro').innerHTML=Contenido;
Movimientos=0;
Arranca();
}

function Revela(x,y)
{
var e, ya_visto;
e=Doc.getElementById("foto_"+x +"_"+y);
if (Activo || e.style.visibility=="visible")
	return;
Activo=true;
e.style.visibility="visible";
if (x1<0)
	{
	x1=x;
	y1=y;
	Activo=false;
	}
else
	{
	ya_visto=Doc.getElementById("foto_"+x1 +"_"+y1);
	Movimientos++;
	if (ya_visto==e)
		return;
	if (ya_visto.src!=e.src)
		{
		x2=x;
		y2=y;
		setTimeout("Oculta()",500);
		}
	else
		{
		Libera();
		Quedan-=2;
		if (Quedan==0)
			{
			Para();
			Doc.getElementById("Ganadas").innerHTML=++Ganadas;
			alert("Lo has conseguido");
			}
		}		
	}
}

function Oculta()
{
Doc.getElementById("foto_"+x1 +"_"+y1).style.visibility="hidden";
Doc.getElementById("foto_"+x2 +"_"+y2).style.visibility="hidden";
Libera();
if (Movimientos>=cuadros*1.5)
	{
	Para();
	Doc.getElementById("Perdidas").innerHTML=++Perdidas;
	Muestra('visible');
	alert("No conseguido en los movimientos esperados.\nPulsa Nueva para empezar otra partida o Reiniciar para volver a intentarlo.");
	}
}

function Libera()
{
x1=x2=y1=y2=-1;
Activo=false;
}

function Limpiar()
{
Para();
Muestra('hidden');
Quedan=cuadros;
Libera();
Movimientos=0;
Arranca();
}

function Muestra(estilo)
{
var i, j;
for (i=0;i<filas;i++)
	for (j=0;j<filas;j++)
		Doc.getElementById("foto_"+i +"_"+j).style.visibility=estilo;
}
