﻿function enviar() {
	document.nivel.action = document.nivel.ruta.value + document.nivel.select_opcion[document.nivel.select_opcion.selectedIndex].value + '.html';
	document.nivel.submit();
}
function getCasilla(game,solution,sol,celda) {
	if(sol=="no"){
		if (game[celda]!=" ")  
			return game[celda];
		else 
			return "";
	} else {
		return solution[celda];
	}
}
function rellenarTabla(game,solution,sol) {
	if(sol=="yes"){
		document.getElementById('mostrar_solucion').disabled=true;
		document.getElementById('mostrar_solucion').className="boton_desactivado";
		document.getElementById('empezar').disabled=false;
		document.getElementById('empezar').className="boton";
	} else {
		document.getElementById('mostrar_solucion').disabled=false;
		document.getElementById('mostrar_solucion').className="boton";
		document.getElementById('empezar').disabled=true;
		document.getElementById('empezar').className="boton_desactivado";
	}
	var rejilla = document.getElementById('grid');
    
	for (i=0; i<81; i++){
		id=rejilla[i].name.split("c");
		rejilla[i].value = getCasilla(game,solution,sol,id[1]-1);
		if (sol=="yes"){
			if (rejilla[i].className!="numero_sudoku_fijo"){
				rejilla[i].className="numero_sudoku";
			}
		} else {
			if (rejilla[i].value!="" ){
				rejilla[i].className="numero_sudoku_fijo";
				rejilla[i].disabled=true;
			}
		}
	}
}

function validar(celda){
	if (celda.value<"1" || celda.value>"9"){
		celda.value="";
		celda.className="numero_sudoku";
	} else {
		document.getElementById('empezar').disabled=false;
		document.getElementById('empezar').className="boton";
		celda.className="numero_sudoku";		
	}
	id=celda.name.split("c");
	numero=id[1]-1;
	if(document.getElementById("comprobar").disabled==true){
		document.getElementById("comprobar").disabled=false;
		document.getElementById("comprobar").className="boton";
		rejilla = document.getElementById('grid');
		for (var i=0; i<81; i++){
			if (rejilla[i].className!="numero_sudoku_fijo"){
				rejilla[i].className="numero_sudoku";
			}
		}
	}
}

function verificar(solution){
	rejilla = document.getElementById('grid');
	for (var i=0; i<81; i++){
		/*El array de celdas empieza en 0, pero no tiene el mismo orden que las celdas como estn declaradas*/
		id=rejilla[i].name.split("c");
		numero=id[1]-1;
		if ((rejilla[i].value!="")&&(rejilla[i].value!=" ")&&(rejilla[i].className!="numero_sudoku_fijo")){
			if (rejilla[i].value==solution[numero]){
				rejilla[i].className="numero_sudoku";
			} else {
				rejilla[i].className="numero_sudoku_error";
			}
		}
	}
	document.getElementById("comprobar").disabled=true;
	document.getElementById("comprobar").className="boton_desactivado";
}
function compararArray(game,cadena){
	i=0;
	rejilla = document.getElementById('grid');
	id=rejilla[0].name.split("c");
	numero=id[1]-1;
	while((i!=81)&&((rejilla[i].value==game[numero])||((game[numero]==" ")&&(rejilla[i].value=="")))){
		i++;
		id=rejilla[i].name.split("c");
		numero=id[1]-1;
	}
	if (i==81){
		//Los arrays son iguales
		document.getElementById(cadena).disabled=true;
		document.getElementById(cadena).className="boton_desactivado";
		document.getElementById("comprobar").disabled=true;
		document.getElementById("comprobar").className="boton_desactivado";
		if (cadena=="mostrar_solucion"){
			document.getElementById('capa_win').style.display = '';
		}
	} else {
		document.getElementById(cadena).disabled=false;
		document.getElementById(cadena).className="boton";
		document.getElementById('capa_win').style.display = 'none';
	}
}

function mostrar(array){
	var cadena="";
    
	for (var i=0; i<array.length; i++){
		if(array[i]!="" && array[i]!=" ")
			cadena+=array[i]+" ";
		else
			cadena+="X ";
	}
	alert(cadena);
}

//Pinta de azul las casillas indicadas en el array
function ponerAzules(azules){
	var rejilla = document.getElementById('grid');
    
	for (i=0; i<81; i++){
		id=rejilla[i].name.split("c");
		if (azules[id[1]-1]=="si"){
			//rejilla[i].style.backgroundColor = "#c1cee8";
			document.getElementById('td'+i).style.backgroundColor = "#c1cee8";
		} else {
			//rejilla[i].style.backgroundColor = "transparent";
            document.getElementById('td'+i).style.backgroundColor = "white";
		}
	}
}

// Funci n para validar un email.
function validar_mail(email){
	var checkmail = /^([A-Za-zÑñ0-9_\.]+@[A-Za-zÑñ0-9_\.]+\.[A-Za-zÑñ]{2,3})$/;
	if (checkmail.test(email)) {
		document.getElementById('boton_email').disabled=false;
	} else {
		document.getElementById('boton_email').disabled=true;
	}
}