var Solucion;var Vent_Sol;var Doc=window.document;var IE=document.all?true:false;if(window.addEventListener)Doc.addEventListener("mousemove",Persigue,false);else if(Doc.attachEvent)Doc.attachEvent("mousemove",Persigue);else Doc.onmousemove=Persigue;function Muestra_Ayuda(obj,x,y){obj.title=(Doc.formulario.Ayuda.checked?Mi_Tablero.Muestra_Ayuda(x,y):'')}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 Marca_Color(objeto,color){objeto.disabled=false;objeto.style.color=color;objeto.focus();objeto.select();return true}function Construye_Tabla(){var i,j;var texto="<center><form name='Tablero_Juego'><table class='Tablero'><tr><td colspan='21' align='center'><div class='marcador' id='Crono'>0:00:00</div><hr></td><\/tr>";for(i=0;i<9;i++){texto+="<tr>";for(j=0;j<9;j++)texto+=Pon_Tabla(i,j);if(i==0)texto+="<td colspan=3 rowspan=6 class='negra grueso-superior'></td>";if(i>=6)for(j=9;j<12;j++)texto+=Pon_Tabla(i,j);for(j=12;j<21;j++)texto+=Pon_Tabla(i,j);texto+="<\/tr>"}for(i=9;i<12;i++){texto+="<tr>";if(i==9)texto+="<td colspan=6 rowspan=3 class='negra'></td>";for(j=6;j<15;j++)texto+=Pon_Tabla(i,j);if(i==9)texto+="<td colspan=6 rowspan=3 class='negra'></td>";texto+="<\/tr>"}for(i=12;i<21;i++){texto+="<tr>";for(j=0;j<9;j++)texto+=Pon_Tabla(i,j);if(i<15)for(j=9;j<12;j++)texto+=Pon_Tabla(i,j);if(i==15)texto+="<td colspan=3 rowspan=6 class='negra'></td>";for(j=12;j<21;j++)texto+=Pon_Tabla(i,j);texto+="<\/tr>"}texto+="<\/table><\/form><\/center>";Doc.getElementById('capa').innerHTML=texto}function Pon_Tabla(x,y){var retorno;var par=x+","+y;var ide="caja"+x+"_"+y;if(y%3==0)retorno=((x%3==0)?"<td class='celda grueso-lateral grueso-superior'>":"<td class='celda grueso-lateral'>");else retorno=((x%3==0)?"<td class='celda grueso-superior'>":"<td class='celda'>");retorno+="<input class='campo' onmouseover='Muestra_Ayuda(this,"+par+");' type='text' size='1' maxlength='1' id='"+ide+"' onkeyDown='RecogerTecla(event,"+par+");' onclick='Copia(this,"+par+");' onchange='Mi_Tablero.marca(this,"+par+");'><\/td>";return retorno}function Imprimir(){var Vent_Impr,i;Vent_Impr=window.open('','Impresion','width=100,height=100,resizable=no,toolbar=no,scrollbars=no');Vent_Impr.document.writeln("<html><head><link rel=\"stylesheet\" type=\"text\/css\" href=\"Sudoku.css\"\/><title>Sudoku Samurai on-line (P&aacute;gina de Jagar)</title></head><body>");Vent_Impr.document.writeln("<h1>SUDOKU SAMURAI</h1><center>");Vent_Impr.document.writeln(Doc.getElementById('capa').innerHTML);Vent_Impr.document.writeln("</center><h2>"+unescape(Doc.URL)+"</h2></body></html>");Vent_Impr.document.close();if(confirm("¿Deseas Imprimir el tablero actual?")){for(i=0;i<Doc.Tablero_Juego.length;i++){Vent_Impr.document.Tablero_Juego.elements[i].disabled=false;Vent_Impr.document.Tablero_Juego.elements[i].value=Doc.Tablero_Juego.elements[i].value}Vent_Impr.print()}Vent_Impr.close();window.focus()}function RecogerTecla(evt,x,y){var elemento;do{switch(evt.keyCode){case 13:case 39:y++;break;case 37:y--;break;case 38:x--;break;case 40:x++;break;default:return}x=(y<0?20+x:(21+x+parseInt(y/21)))%21;y=(21+y)%21;elemento=eval(Doc.getElementById("caja"+x+"_"+y))}while((elemento==null)||(elemento.disabled==true));elemento.select();elemento.focus()}function Muestra_Solucion(){Vent_Sol=window.open('','Solucion','width=350,height=500,resizable=yes,toolbar=no,scrollbars=yes');Vent_Sol.document.write("<html><head><link rel=\"stylesheet\" type=\"text\/css\" href=\"Sudoku.css\"\/><title>Soluci&oacute;n</title></head><body>");Vent_Sol.document.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 coincidir&aacute; totalmente con lo que har&iacute;amos nosotros.</p>");Vent_Sol.document.write("<center><b><u>(Fila,Columna) &#8594; N&uacute;mero</u></b><h2>Tablero Original</h2>");Vent_Sol.document.write(Solucion);Vent_Sol.document.write("<p>&nbsp;</p><input type='button' value='Cerrar' onclick='self.close();' class='boton'></center></body></html>");Vent_Sol.document.close()}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}
