var countup = 0;
function placevalues() {
var allInputs = document.getElementsByTagName("input");
for (var i =0; i < allInputs.length; i++) {
if (allInputs[i].type=="text") {
if (spos[i]) {
allInputs[i].value = spos[i];
}
//fontSize = "14pt";
}

}
countup = 0; //
}
// 

function showsolution() {
resetgrid();
var allInputs = document.getElementsByTagName("input");
for (var i =0; i < allInputs.length; i++) {
if (allInputs[i].type=="text") {
if (sol[i]) {
allInputs[i].value = sol[i];
}
else {
//
allInputs[i].style.background = "#000000";
var cellbg = document.getElementById("ct"+i);
cellbg.style.background = "#000000";
}
}

}
}
//
function capturekey(evt) {
evt = (evt) ? evt : ((window.event) ? event : null);
if (evt) {
var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if (elem) {

var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);

document.getElementById(elem.id).style.color = "#000";
if (charCode == 88) {
focussedelem = elem.id;
justcell = focussedelem.substring(4,6);
togglevalue = document.getElementById(elem.id).style.background;
if (togglevalue == "#000" || togglevalue == "rgb(0, 0, 0) none repeat scroll 0% 0%") {
document.getElementById(elem.id).style.background = "#ffe";
document.getElementById(elem.id).value = "";
var cellbg = document.getElementById("ct"+justcell);
cellbg.style.background = "#ffe";
//
togglevalue.value = "";
}
else {
document.getElementById(elem.id).style.background = "#000";
document.getElementById(elem.id).value = "";
var cellbg = document.getElementById("ct"+justcell);
cellbg.style.background = "#000";

}
}
}
}
}

function resetgrid() {
var allcells = document.getElementsByTagName("td");
for (var i =0; i < allcells.length; i++) {
if (allcells[i].id.indexOf("ct") == 0) {
allcells[i].style.background = "#ffe";
}
}
var allInputs = document.getElementsByTagName("input");
for (var i =0; i < allInputs.length; i++) {
if (allInputs[i].type=="text") {
allInputs[i].style.background = "#ffe";
allInputs[i].value = "";
placevalues();
}
}
}

var wronganswer = 0;
function checksolution() {

var allInputs = document.getElementsByTagName("input");
for (var i =0; i < allInputs.length; i++) {
if (allInputs[i].type=="text") {
if (sol[i]) {
if (allInputs[i].value == sol[i]) {
allInputs[i].style.color = "#000";
}
else {
if (allInputs[i].value) {
allInputs[i].style.color = "#f00";
}
wronganswer += "mistake";
}
}
}
}
if (wronganswer !=0) {
alert ("Your solution is not correct. This may be because you have not yet finished the puzzle. Any mistakes you have made have been shown in red on the grid.");
wronganswer = 0;
}
else {
alert ("Congratulations, you got the answer right!");
}
}