var Tablero=new Array(9);var PSB=new Array(9);var Tablero_save=new Array(9);var CF=new Array(9);var CC=new Array(9);var Cuantas_Cuadro=new Array(9);var Contador=new Array(9);var Quedan=9*9;var Esta_Salvado=false;var Nivel="normal";var Actual=0;var Solucion;var ventana=null;var Doc=window.document;var IE=document.all?true:false;if(window.addEventListener)window.addEventListener("mousemove",Persigue,false);else if(window.attachEvent)window.attachEvent("mousemove",Persigue);else window.onmousemove=Persigue;for(i=0;i<9;i++){Tablero[i]=new Array(9);Tablero_save[i]=new Array(9);PSB[i]=new Array(9);for(j=0;j<9;j++)PSB[i][j]=new Array(9)}function Inicializa_Tablero(){var i,j,k;Doc.getElementById('Crono').innerHTML=" ";Doc.getElementById('buffer').innerHTML="";Doc.getElementById('buffer').style.visibility='hidden';Nivel=Doc.formulario.nivel[Doc.formulario.nivel.selectedIndex].value;for(i=0;i<9;i++){for(j=0;j<9;j++){Tablero[i][j]=0;for(k=0;k<9;k++)PSB[i][j][k]=k+1;Doc.getElementById("caja"+i+j).disabled=false;Doc.getElementById("CAyuda"+i+j).disabled=false}CF[i]=9;CC[i]=9;Cuantas_Cuadro[i]=9;Contador[i]=0;Doc.getElementById('Apa'+i).style.background="#00CC00"}Doc.Tablero_Juego.reset();Doc.Tablero_Contador.reset();Doc.Tablero_Ayuda.reset();Esta_Salvado=false;Quedan=81;Doc.getElementById("Solucion").disabled=true;Doc.getElementById('Resolver').disabled=true;Solucion=""}function Posiciona_en_Tablero(x,y,Numero){var i,j;var ELM=Doc.getElementById('caja'+x+y);var X=x-x%3;var Y=y-y%3;Tablero[x][y]=Numero;Quedan--;ELM.value=Numero;ELM.style.color="";ELM.disabled=true;Solucion+=(81-Quedan)+" : ("+(x+1)+","+(y+1)+") &#8594; "+Numero+"<br>";Numero--;for(i=0;i<9;i++){PSB[i][y][Numero]=0;PSB[x][i][Numero]=0;PSB[x][y][i]=0}for(i=X;i<=X+2;i++)for(j=Y;j<=Y+2;j++)PSB[i][j][Numero]=0;PSB[x][y][Numero]=Numero+1;CF[x]--;CC[y]--;Cuantas_Cuadro[X+parseInt(Y/3)]--;Contador[Numero]++;Doc.getElementById('quedan').innerHTML="Quedan: "+Quedan;Doc.getElementById('Apa'+(Numero)).value=Contador[Numero];if(Contador[Numero]==9)Doc.getElementById('Apa'+(Numero)).style.background="#CC0000";return(Quedan>0)}function Busca_Trios_Fila(x){var i,j,k,l,n;var cp1,cp2,cp3;for(i=0;i<7;i++)if(Tablero[x][i]==0){cp1=CPO(x,i);if(cp1.length<4)for(j=i+1;j<8;j++)if(Tablero[x][j]==0){cp2=CPO(x,j);if(cp2.length<4)for(n=j+1;n<9;n++)if(Tablero[x][n]==0){cp3=CPO(x,n);if(cp3.length<4){cp3=Union(cp1,cp2,cp3);if(cp3.length==3){for(k=0;k<9;k++)if((k!=i)&&(k!=j)&&(k!=n))for(l=0;l<cp3.length;l++)PSB[x][k][cp3[l]-1]=0;j=9;n=9}}}}}}function Busca_Trios_Columna(y){var i,j,k,l,n;var cp1,cp2,cp3;for(i=0;i<7;i++)if(Tablero[i][y]==0){cp1=CPO(i,y);if(cp1.length<4)for(j=i+1;j<8;j++)if(Tablero[j][y]==0){cp2=CPO(j,y);if(cp2.length<4)for(n=j+1;n<9;n++)if(Tablero[n][y]==0){cp3=CPO(n,y);if(cp3.length<4){cp3=Union(cp1,cp2,cp3);if(cp3.length==3){for(k=0;k<9;k++)if((k!=i)&&(k!=j)&&(k!=n))for(l=0;l<cp3.length;l++)PSB[k][y][cp3[l]-1]=0;j=9;n=9}}}}}}function Busca_Trios_Cuadro(x,y){var i,j,k,l,m,n,o,a,b;var X=x-x%3;var Y=y-y%3;var cp1,cp2,cp3;for(i=X;i<=X+2;i++)for(j=Y;j<=Y+2;j++)if(Tablero[i][j]==0){cp1=CPO(i,j);if(cp1.length<4)for(k=i;k<=X+2;k++)for(l=Y;l<=Y+2;l++)if((3*i+j<3*k+l)&&Tablero[k][l]==0){cp2=CPO(k,l);if(cp2.length<4){for(a=k;a<=X+2;a++)for(b=Y;b<=Y+2;b++)if((3*k+l<3*a+b)&&Tablero[a][b]==0){cp3=CPO(a,b);if(cp3.length<4){cp3=Union(cp1,cp2,cp3);if(cp3.length==3){for(m=X;m<=X+2;m++)for(n=Y;n<=Y+2;n++)if(((m!=i)||(n!=j))&&((m!=k)||(n!=l))&&((m!=a)||(n!=b)))for(o=0;o<cp3.length;o++)PSB[m][n][cp3[o]-1]=0;l=9;k=9;a=9;b=9}}}}}}}function Busca_Parejas_Fila(x){var i,j,k,l;var cp1,cp2;for(i=0;i<8;i++)if(Tablero[x][i]==0){cp1=CPO(x,i);if(cp1.length==2)for(j=i+1;j<9;j++)if(Tablero[x][j]==0){cp2=CPO(x,j);if(cp2.length==2)if(cp1.join('')==cp2.join('')){for(k=0;k<9;k++)if((k!=i)&&(k!=j))for(l=0;l<cp1.length;l++)PSB[x][k][cp1[l]-1]=0;j=9}}}}function Busca_Parejas_Columna(y){var i,j,k,l;var cp1,cp2;for(i=0;i<8;i++)if(Tablero[i][y]==0){cp1=CPO(i,y);if(cp1.length==2)for(j=i+1;j<9;j++)if(Tablero[j][y]==0){cp2=CPO(j,y);if(cp2.length==2)if(cp1.join('')==cp2.join('')){for(k=0;k<9;k++)if((k!=i)&&(k!=j))for(l=0;l<cp1.length;l++)PSB[k][y][cp1[l]-1]=0;j=9}}}}function Busca_Parejas_Cuadro(x,y){var i,j,k,l,m,n,o;var X=x-x%3;var Y=y-y%3;var cp1,cp2;for(i=X;i<=X+2;i++)for(j=Y;j<=Y+2;j++)if(Tablero[i][j]==0){cp1=CPO(i,j);if(cp1.length==2)for(k=i;k<=X+2;k++)for(l=Y;l<=Y+2;l++)if(3*i+j<3*k+l&&Tablero[k][l]==0){cp2=CPO(k,l);if(cp2.length==2)if(cp1.join('')==cp2.join('')){for(m=X;m<=X+2;m++)for(n=Y;n<=Y+2;n++)if(((m!=i)||(n!=j))&&((m!=k)||(n!=l)))for(o=0;o<cp1.length;o++)PSB[m][n][cp1[o]-1]=0;l=9;k=9}}}}function Posible_en_Fila(x,y){var i,j,k,l;var Cuantas=new Array(3);var X=x-x%3;var Y=y-y%3;for(k=0;k<9;k++){for(i=0;i<=2;i++)Cuantas[i]=0;for(i=X;i<=X+2;i++)if(CF[i]>0)for(j=Y;j<=Y+2;j++)if(Tablero[i][j]==0&&PSB[i][j][k]>0)Cuantas[i-X]=1;if((Cuantas[0]+Cuantas[1]+Cuantas[2])==1){for(i=0;i<=2;i++)if(Cuantas[i]==1)l=X+i;for(j=0;j<9;j++)if((Tablero[l][j]==0)&&((j<Y)||(j>Y+2)))PSB[l][j][k]=0}}}function Posible_en_Columna(x,y){var i,j,k,l;var Cuantas=new Array(3);var X=x-x%3;var Y=y-y%3;for(k=0;k<9;k++){for(i=0;i<=2;i++)Cuantas[i]=0;for(i=Y;i<=Y+2;i++)if(CC[i]>0)for(j=X;j<=X+2;j++)if(Tablero[j][i]==0&&PSB[j][i][k]>0)Cuantas[i-Y]=1;if((Cuantas[0]+Cuantas[1]+Cuantas[2])==1){for(i=0;i<=2;i++)if(Cuantas[i]==1)l=Y+i;for(i=0;i<9;i++)if((Tablero[i][l]==0)&&((i<X)||(i>X+2)))PSB[i][l][k]=0}}}function Resuelve_Todo(){var i,j,k,l,a,b;var HAL=true;var cp;Doc.getElementById('buffer').innerHTML="";Doc.getElementById('buffer').style.visibility='hidden';while(HAL==true){HAL=false;for(i=0;i<9;i+=3)for(j=0;j<9;j+=3){Posible_en_Fila(i,j);Posible_en_Columna(i,j)}for(i=0;i<9;i++)if(CF[i]>0){if(CF[i]>3)Busca_Trios_Fila(i);if(CF[i]>2)Busca_Parejas_Fila(i);for(j=0;j<9;j++)if(CC[j]>0){if(CC[j]>3)Busca_Trios_Columna(j);if(CC[j]>2)Busca_Parejas_Columna(j);if(Tablero[i][j]==0){cp=CPO(i,j);if(cp.length==1)HAL=Posiciona_en_Tablero(i,j,cp[0]);l=k;k=3*parseInt(i/3)+parseInt(j/3);if(k!=l){if(Cuantas_Cuadro[k]>3)Busca_Trios_Cuadro(i,j);if(Cuantas_Cuadro[k]>2)Busca_Parejas_Cuadro(i,j)}HAL=(HAL||Muestra_Unicos(i,j));if(Quedan==0){Doc.getElementById("Solucion").disabled=false;return}}}}if(HAL==false&&Quedan>0)HAL=XWing()||YWing()}if(Quedan>0){for(i=0;i<9;i++)for(j=0;j<9;j++)if(CPO(i,j).length==0)return;var tmp=new Array(9);for(i=0;i<9;i++){tmp[i]=new Array(9);for(j=0;j<9;j++)tmp[i][j]=Tablero[i][j]}i=j=0;cp=CPO(i,j);while(Tablero[i][j]>0&&cp.length!=2){j++;i+=parseInt(j/9);j=j%9;cp=CPO(i,j)}for(k=0;k<cp.length;k++){Posiciona_en_Tablero(i,j,cp[k]);Resuelve_Todo();if(Quedan==0)return;else{Reinicia();for(a=0;a<9;a++)for(b=0;b<9;b++)if(Tablero[a][b]==0&&tmp[a][b]>0)Posiciona_en_Tablero(a,b,tmp[a][b]);for(l=0;l<=k;l++)PSB[i][j][cp[l]-1]=0;HAL=XWing()||YWing()}}}}function XWing(){var i,j,k,l,hay=0;var columnas=new Array();var tmp=new Array();for(k=0;k<9;k++)if(Contador[k]<8){for(i=0;i<9;i++)if(CF[i]>1){for(j=0;j<9;j++)if(Tablero[i][j]==0&&PSB[i][j][k]>0)tmp.push(j);if(tmp.length==2)columnas[columnas.length]=new Array(i,tmp[0],tmp[1]);tmp.splice(0,tmp.length);}if(columnas.length>=2){for(i=0;i<columnas.length-1;i++)for(j=1;j<columnas.length;j++)if(i!=j)if(columnas[i][1]==columnas[j][1]&&columnas[i][2]==columnas[j][2]){for(l=0;l<9;l++){if(Tablero[columnas[i][0]][l]==0&&l!=columnas[i][1]&&l!=columnas[i][2]){hay+=PSB[columnas[i][0]][l][k];PSB[columnas[i][0]][l][k]=0}if(Tablero[columnas[j][0]][l]==0&&l!=columnas[j][1]&&l!=columnas[j][2]){hay+=PSB[columnas[j][0]][l][k];PSB[columnas[j][0]][l][k]=0}if(Tablero[l][columnas[i][1]]==0&&l!=columnas[i][0]&&l!=columnas[j][0]){hay+=PSB[l][columnas[i][1]][k];PSB[l][columnas[i][1]][k]=0}if(Tablero[l][columnas[i][2]]==0&&l!=columnas[i][0]&&l!=columnas[j][0]){hay+=PSB[l][columnas[i][2]][k];PSB[l][columnas[i][2]][k]=0}}}}columnas.splice(0,columnas.length)}return(hay>0?true:false)}function YWing(){var i,j,k,l,hay=0;var filas=new Array();var tmp=new Array();for(k=0;k<9;k++)if(Contador[k]<8){for(j=0;j<9;j++)if(CC[j]>1){for(i=0;i<9;i++)if(Tablero[i][j]==0&&PSB[i][j][k]>0)tmp.push(i);if(tmp.length==2)filas[filas.length]=new Array(j,tmp[0],tmp[1]);tmp.splice(0,tmp.length);}if(filas.length>=2){for(i=0;i<filas.length-1;i++)for(j=1;j<filas.length;j++)if(i!=j)if(filas[i][1]==filas[j][1]&&filas[i][2]==filas[j][2]){for(l=0;l<9;l++){if(Tablero[l][filas[i][0]]==0&&l!=filas[i][1]&&l!=filas[i][2]){hay+=PSB[l][filas[i][0]][k];PSB[l][filas[i][0]][k]=0}if(Tablero[l][filas[j][0]]==0&&l!=filas[j][1]&&l!=filas[j][2]){hay+=PSB[l][filas[j][0]][k];PSB[l][filas[j][0]][k]=0}if(Tablero[filas[i][1]][l]==0&&l!=filas[i][0]&&l!=filas[j][0]){hay+=PSB[filas[i][1]][l][k];PSB[filas[i][1]][l][k]=0}if(Tablero[filas[i][2]][l]==0&&l!=filas[i][0]&&l!=filas[j][0]){hay+=PSB[filas[i][2]][l][k];PSB[filas[i][2]][l][k]=0}}}}filas.splice(0,filas.length)}return(hay>0?true:false)}function Chequea(){var i,j;var ELM;var HAL=false;for(i=0;i<9;i++)for(j=0;j<9;j++){ELM=Doc.getElementById('caja'+i+j);if((ELM.value>0)&&(PSB[i][j][ELM.value-1]==0))HAL=Marca_Color(ELM,"red")}(HAL==true?alert("Los elementos marcados en rojo no son posibles."):window.status="Todo parece ir correctamente");return HAL}function Prepara(){var i,j,k,l,n;var ELM,valor;var anterior=new Array(9);var Tabla_Errores=new Array();if(Chequea())return;for(i=0;i<9;i++){anterior[i]=new Array(9);for(j=0;j<9;j++)anterior[i][j]=Tablero[i][j]}for(i=0;i<9;i++)for(j=0;j<9;j++)if(Tablero[i][j]==0){valor=Doc.getElementById('caja'+i+j).value;if(valor>0){if(PSB[i][j][valor-1]>0)Posiciona_en_Tablero(i,j,valor);else{for(k=0;k<9;k++)for(l=0;l<9;l++){ELM=Doc.getElementById('caja'+k+l);if(anterior[k][l]==0&&ELM.value!='')Tabla_Errores.push(ELM,ELM.value)}Inicializa_Tablero();for(k=0;k<9;k++)for(l=0;l<9;l++)if(anterior[k][l]>0)Posiciona_en_Tablero(k,l,anterior[k][l]);if(Doc.getElementById('VPosibles').checked==true)Panel_Lateral();for(k=0;k<Tabla_Errores.length;k=k+2){Tabla_Errores[k].value=Tabla_Errores[k+1];Marca_Color(Tabla_Errores[k],"red")}alert("Hay errores en las posiciones marcadas en rojo.");return false}}}if(Esta_Salvado==false){Salva();Solucion+="<h2>Soluci&oacute;n<\/h2>";Doc.getElementById('Resolver').disabled=false}if(Doc.getElementById('VPosibles').checked==true)Panel_Lateral();Posiciona_en_Primero();return true}function Genera_Cuadro(){var i,j,p=0;var pat,texto;var letra=new Array('a','b','c','d','e','f','g','h','i');var numeros=new Array(1,2,3,4,5,6,7,8,9);var cuadro=eval(Doc.formulario.nivel[Doc.formulario.nivel.selectedIndex].value);Actual=(Actual+1)%(4*cuadro.length);texto=Procesa(cuadro[Actual%cuadro.length],Math.floor(Actual/cuadro.length));if(ventana)ventana.close();for(i=0;i<9;i++){j=Math.floor(numeros.length*Math.random());pat=eval("/"+letra[i]+"/gi");texto=texto.replace(pat,numeros[j]);numeros.splice(j,1)}pat=texto.split('');Inicializa_Tablero();for(i=0;i<9;i++)for(j=0;j<9;j++,p++){if(pat[p]>0)Posiciona_en_Tablero(i,j,pat[p]);Tablero_save[i][j]=Tablero[i][j];}Esta_Salvado=true;if(Doc.getElementById('VPosibles').checked==true)Panel_Lateral();Posiciona_en_Primero();Guardar_Cookie("NSudoku",Actual);Doc.getElementById('Resolver').disabled=false;Solucion+="<h2>Soluci&oacute;n<\/h2>"}function Procesa(tab,V){var i,j;var resul="",cad;if(V==0)return tab;cad=tab.split('');if(V==2)return cad.reverse().join('');if(V==1)for(i=8;i>=0;i--)for(j=0;j<9;j++)resul+=cad[9*i+j];else for(i=0;i<9;i++)for(j=8;j>=0;j--)resul+=cad[9*i+j];return resul}function Salva(){var i;for(i=0;i<9;i++)Tablero_save[i]=Tablero[i].slice();Esta_Salvado=true}function Reinicia(){var i,j;Inicializa_Tablero();for(i=0;i<9;i++)for(j=0;j<9;j++)if(Tablero_save[i][j]>0)Posiciona_en_Tablero(i,j,Tablero_save[i][j]);Esta_Salvado=true;Doc.getElementById('Resolver').disabled=false;if(Doc.getElementById('VPosibles').checked==true)Panel_Lateral();Posiciona_en_Primero();Solucion+="<h2>Soluci&oacute;n<\/h2>"}function Posiciona_en_Primero(){var i,j;for(i=0;i<9;i++)for(j=0;j<9;j++)if(Tablero[i][j]==0){Doc.getElementById('caja'+i+j).focus();return}}function CPO(x,y){var i,posibles=new Array();for(i=0;i<9;i++)if(PSB[x][y][i]>0)posibles.push(i+1);return posibles}function Muestra_Unicos(x,y){var i,j,k,retorno;var p1,p2;var X=x-x%3;var Y=y-y%3;var hay_alguno=false;for(k=0;k<9;k++){for(i=X;i<=X+2;i++){retorno=0;for(j=0;j<9;j++)if((Tablero[i][j]==0)&&(PSB[i][j][k]>0)){retorno++;p2=j}if(retorno==1)hay_alguno=(hay_alguno||Posiciona_en_Tablero(i,p2,k+1))}for(j=Y;j<=Y+2;j++){retorno=0;for(i=0;i<9;i++)if((Tablero[i][j]==0)&&(PSB[i][j][k]>0)){retorno++;p1=i}if(retorno==1)hay_alguno=(hay_alguno||Posiciona_en_Tablero(p1,j,k+1))}retorno=0;for(i=X;i<=X+2;i++)for(j=Y;j<=Y+2;j++)if((Tablero[i][j]==0)&&(PSB[i][j][k]>0)){retorno++;p1=i;p2=j}if(retorno==1)hay_alguno=(hay_alguno||Posiciona_en_Tablero(p1,p2,k+1));if(Quedan==0)return false}return hay_alguno}function Muestra_Ayuda(obj,x,y){obj.title=((Doc.formulario.Ayuda.checked==true)?CPO(x,y):'')}function marca(objeto,x,y){if(Doc.formulario.Ayuda.checked==true)objeto.style.color=((PSB[x][y][parseInt(objeto.value)-1]>0)?'#008877':'#FF0000');else objeto.style.color='#0000CC';for(var i=0;i<81;i++)if(isNaN(parseInt(Doc.Tablero_Juego.elements[i].value)))return;var Estado=Esta_Salvado;Esta_Salvado=true;if(Prepara()==true){Doc.getElementById('buffer').innerHTML="";Doc.getElementById('buffer').style.visibility='hidden';alert("Lo has conseguido. Tiempo empleado: "+timeNow());Para()}Esta_Salvado=Estado}function Marca_Color(objeto,color){objeto.disabled=false;objeto.style.color=color;objeto.focus();objeto.select();return true}function Union(){var i,j,tmp=Union.arguments[0].toString();var resultado=Union.arguments[0];for(i=1;i<Union.arguments.length;i++)for(j=0;j<Union.arguments[i].length;j++)if(tmp.indexOf(Union.arguments[i][j])<0){resultado=resultado.concat(Union.arguments[i][j]);tmp+=Union.arguments[i][j]}return resultado.sort()}function Construye_Tabla(){var i,j;var texto="<center><form name='Tablero_Juego'><table class='Tablero'><tr><td colspan=4><div class='marcador' id='Crono'>0:00:00</div><hr></td><td colspan=5><DIV class='marcador' id=quedan>Quedan: </DIV><hr></td></tr>";for(i=0;i<9;i++){texto+="<tr>";for(j=0;j<9;j++)texto+=Pon_Tabla(i,j)+"<input class='campo' onmouseover='Muestra_Ayuda(this,"+i+","+j+");' type='text' size='1' maxlength='1' name='caja"+i+j+"' id='caja"+i+j+"' onclick='Copia(this,"+i+","+j+");' onchange='marca(this,"+i+","+j+");' onkeyDown='RecogerTecla(event, \"Tablero_Juego\","+i+","+j+");'></td>";texto+="</tr>"}texto+="</table></form></center>";Construye_Tabla_Blanca();Doc.getElementById('capa').innerHTML=texto;Construye_Contador();Inicializa_Tablero();Doc.getElementById('Resolver').disabled=true;Actual=(isNaN(eval(GetCookie("NSudoku")))?Math.floor(16*Math.random()):parseInt(GetCookie("NSudoku")))}function Guardar_Tablero(){Guardar_Cookie("Tablero",Tablero);var miarray=GetCookie("Tablero").split(',');alert((miarray.length>1)?"Tablero Guardado.":"No se ha podido guardar el tablero. Revisa la configuracion de cookies de tu navegador.")}function Leer_Tablero(){var i,j;var miarray=GetCookie("Tablero").split(',');if(miarray.length>1){Para();for(i=0;i<9;i++)for(j=0;j<9;j++)Tablero_save[i][j]=miarray[9*i+j];Reinicia();Arranca()}else alert("No hay ningun tablero guardado")}function Construye_Tabla_Blanca(){var i,j;var texto="<center><form id='Tablero_Ayuda' name='Tablero_Ayuda'><table class='Tablero'><tr><td colspan=9 class='celda'><DIV class='marcador' id=notas>Notas</DIV><hr>";for(i=0;i<9;i++){texto+="<tr>";for(j=0;j<9;j++)texto+=Pon_Tabla(i,j)+"<input class='Minicampo' type='text' maxlength='7' id='CAyuda"+i+j+"' name='CAyuda"+i+j+"' onClick='Anade(this,"+i+","+j+");' onkeyDown='RecogerTecla(event, \"Tablero_Ayuda\","+i+","+j+");'><\/td>";texto+="</tr>"}texto+="</table></form></center>";Doc.getElementById('capa2').innerHTML=texto}function Pon_Tabla(x,y){if(y%3==0)return((x%3==0)?"<td class='celda grueso-lateral grueso-superior'>":"<td class='celda grueso-lateral'>");else return((x%3==0)?"<td class='celda grueso-superior'>":"<td class='celda'>")}function Construye_Contador(){var texto="<center><form id='Tablero_Contador' name='Tablero_Contador'><table class='Tablero'><tr><td colspan=2 class='celda'><DIV class='marcador' id=Cont>Cont.</DIV><hr>";for(var i=0;i<9;i++)texto=texto+"<tr><td class='celda campo' width='28'>"+(i+1)+"</td><td class='celda'><input class='campo' type='text' size='1' id='Apa"+i+"' disabled value='0'></td></tr>";texto=texto+"</table></form></center>";Doc.getElementById('capa3').innerHTML=texto}function Muestra_Solucion(){ventana=window.open('','Solucion','width=350,height=500,resizable=yes,toolbar=no,scrollbars=yes');var docu=ventana.document;docu.write("<html><head><link rel=\"stylesheet\" type=\"text\/css\" href=\"Sudoku.css\"\/><title>Soluci&oacute;n</title></head><body>");docu.write("<h1>Soluci&oacute;n paso a paso</h1><p>Hay que tener en cuenta que el programa va haciendo pasadas por el tablero, por lo que no coincidira totalmente con lo que har&iacute;amos nosotros.</p>");docu.write("<h2>Tablero Original</h2><center><p><b><u>Movimiento (Fila,Columna) &#8594; N&uacute;mero</u></b></p>");docu.write(Solucion);docu.write("<p>&nbsp;</p><input type='button' value='Cerrar' onclick='self.close();' class='boton'></center></body></html>");docu.close()}function Panel_Lateral(){var i,j,ELM;for(i=0;i<9;i++)for(j=0;j<9;j++){ELM=Doc.getElementById('CAyuda'+i+j);if(Tablero[i][j]==0){ELM.value=CPO(i,j).join('');ELM.style.fontSize="";ELM.style.fontWeight="";ELM.style.textAlign="";ELM.disabled=false}else{ELM.value=Tablero[i][j];ELM.style.fontSize="18px";ELM.style.fontWeight="bold";ELM.style.textAlign="center";ELM.disabled=true}}}function Imprimir(){var Vent_Impr,i;Vent_Impr=window.open('','Impresion','width=100,height=100,resizable=no,toolbar=no,scrollbars=no');var docu=Vent_Impr.document;docu.writeln("<html><head><link rel=\"stylesheet\" type=\"text\/css\" href=\"Sudoku.css\"\/><title>Sudokus on-line (P�gina de Jagar)</title></head><body>");docu.writeln("<h1>SUDOKU</h1><center><b>Nivel: </b>",Nivel);docu.writeln(Doc.getElementById('capa').innerHTML);docu.writeln("<HR><br>");docu.writeln(Doc.getElementById('capa2').innerHTML);docu.writeln("<h2>",unescape(document.URL),"</h2></center></body></html>");docu.close();if(confirm("�Deseas Imprimir el tablero actual?")){for(i=0;i<Doc.Tablero_Juego.length;i++){docu.Tablero_Juego.elements[i].disabled=false;docu.Tablero_Juego.elements[i].value=Doc.Tablero_Juego.elements[i].value;docu.Tablero_Ayuda.elements[i].disabled=false}Vent_Impr.print()}Vent_Impr.close();window.focus()}function RecogerTecla(evt,nombre,x,y){var ELM;var tabla=Doc.forms[nombre].elements;var punto=9*x+y;do{switch(evt.keyCode){case 13:case 39:punto++;break;case 37:punto--;break;case 38:punto-=9;break;case 40:punto+=9;break;default:return}ELM=tabla[(81+punto)%81]}while(ELM.disabled==true);ELM.focus();ELM.select()}function Construye_Fuente(){var i;var texto="<center><table class='Tablero' title='Selecciona aqui para poner numeros con el raton'><tr><td><div class='campo' onclick=\"Pon_Buffer('','hidden');\"> </div></td></tr>";for(i=0;i<10;i++)texto+="<tr><td><div class='campo' onclick=\"Pon_Buffer(this.innerHTML,'visible');\"'>"+(i==0?'B':i)+"</div></td></tr>";texto+="</table></center>";Doc.getElementById('fuente').innerHTML=texto}function Persigue(evt){if(IE){Doc.getElementById("buffer").style.left=event.clientX+Doc.body.scrollLeft+15+"px";Doc.getElementById("buffer").style.top=event.clientY+Doc.body.scrollTop+5+"px"}else{Doc.getElementById("buffer").style.left=evt.pageX+15+"px";Doc.getElementById("buffer").style.top=evt.pageY+5+"px"}}function Copia(obj,x,y){var buf=Doc.getElementById("buffer").innerHTML;if(!isNaN(buf)&&buf!='')obj.value=buf;else if(buf=='B')obj.value='';marca(obj,x,y)}function Anade(obj,x,y){var buf=Doc.getElementById("buffer").innerHTML;if(!isNaN(buf)&&buf!=''&&obj.value.indexOf(buf)<0)obj.value+=buf;else if(buf=='B')obj.value=''}function Pon_Buffer(cad,estilo){Doc.getElementById('buffer').innerHTML=cad;Doc.getElementById('buffer').style.visibility=estilo}
