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]) {
if (spos[i] == 'b') {
allInputs[i].style.color = "#fff";
allInputs[i].style.background = "#999";
}
else if(spos[i] == 'z') {
allInputs[i].value = "0";
allInputs[i].style.color = "#fff";
allInputs[i].style.background = "#999";
}
else {
allInputs[i].value = spos[i];
allInputs[i].style.color = "#fff";
allInputs[i].style.background = "#999";
}
}
}
}
countup = 0;
}
function showsolution() {
var allInputs = document.getElementsByTagName("input");
for (var i =0; i < allInputs.length; i++) {
if (allInputs[i].type=="text") {
if (sol[i]) {
if (sol[i] == 'b') {
allInputs[i].style.color = "#fff";
allInputs[i].style.background = "#999";
}
else if(sol[i] == 'z') {
allInputs[i].value = "0";
allInputs[i].style.color = "#fff";
allInputs[i].style.background = "#999";
}
else if(sol[i] == 'l') {
var cellbg = document.getElementById("ct"+i);
cellbg.style.background = 'url("http://www.saidwhat.co.uk/test/light.gif") 15 5 no-repeat';
document.getElementById("cell"+i).style.filter = "alpha(opacity=10)";
document.getElementById("cell"+i).value = "";
}
else {
allInputs[i].value = sol[i];
allInputs[i].style.color = "#fff";
allInputs[i].style.background = "#999";
}
}
else {
var cellbg = document.getElementById("ct"+i);
document.getElementById("cell"+i).style.filter = "alpha(opacity=10)";
document.getElementById("cell"+i).value = "";
cellbg.style.background = "#ffff00";
}
}
}
countup = 0; 
}
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);
//alert (charCode);
if (charCode == 76) {

if (document.getElementById(elem.id).style.background == "#ff0") {
document.getElementById(elem.id).style.background = "#fff";
document.getElementById(elem.id).value = "";
}
else {
document.getElementById(elem.id).style.background = "#ff0";
document.getElementById(elem.id).value = "";
}
}
if (charCode == 88) {
focussedelem = elem.id;
document.getElementById(elem.id).style.color = "#000";
}
if (charCode == 79) {
focussedelem = elem.id;
justcell = focussedelem.substring(4,6);
var cellbg = document.getElementById("ct"+justcell);

if (document.getElementById(elem.id).style.filter == "alpha(opacity=10)") {
document.getElementById(elem.id).style.filter = "none";
document.getElementById(elem.id).value = "";
cellbg.style.background = "none";
}
else {
cellbg.style.background = 'url("http://www.saidwhat.co.uk/test/light.gif") 15 5 no-repeat';
document.getElementById(elem.id).style.filter = "alpha(opacity=10)";
document.getElementById(elem.id).value = "";
}
}
}
}
}
function resetgrid() {
var allInputs = document.getElementsByTagName("input");
for (var i =0; i < allInputs.length; i++) {
if (allInputs[i].type=="text") {
allInputs[i].value = ""; 
allInputs[i].style.background = "#fff";
allInputs[i].style.filter = "none"; 
var cellbg = document.getElementById("ct"+i);
cellbg.style.background = "none";
}
}
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 (sol[i] == 'b') {
}
else if(sol[i] == 'z') {
}
else if(sol[i] == 'l') {
var cellbg = document.getElementById("ct"+i);
if (document.getElementById("cell"+i).style.filter == "alpha(opacity=10)") {
}
else {
wronganswer += "mistake";
}
}
else {
}
}
else {
var cellbg = document.getElementById("ct"+i);
if (cellbg.style.background && cellbg.style.background!="#ffffff" && cellbg.style.background!="#ffff00"  && cellbg.style.background!="none transparent scroll repeat 0% 0%" ) {
wronganswer += "mistake";
}
else {
}
}
}
}
if (wronganswer !=0) {
alert ("Your solution is not correct. This may be because you have not yet finished the puzzle, or your lights are not place correctly.");
wronganswer = 0;
}
else {
alert ("Congratulations, you got the answer right!");
}
}