var onedown;
var twodown;
var threedown;
var fourdown;
var sixdown;
var ninedown;
var tendown;
var twelvedown;
var threeacross;
var fiveacross;
var sixacross;
var sevenacross;
var eightacross;
var elevenacross;
var sixteen2;
var nine3;
var sixteen3;
var five4;
var nine4;
var sixteen4;
var three5;
var four5;
var five5;
var nine5;
var thirteen5;
var fourteen5;
var fifteen5;
var sixteen5;
var seventeen5;
var eighteen5;
var nineteen5;
var five6;
var nine6;
var thirteen6;
var sixteen6;
var two7;
var three7;
var four7;
var five7;
var six7;
var seven7;
var eight7;
var nine7;
var ten7;
var eleven7;
var twelve7;
var thirteen7;
var fourteen7;
var sixteen7;
var two8;
var five8;
var nine8;
var thirteen8;
var sixteen8;
var two9;
var five9;
var nine9;
var thirteen9;
var sixteen9;
var five10;
var nine10;
var thirteen10;
var sixteen10;
var five11;
var nine11;
var thirteen11;
var seven12;
var eight12;
var nine12;
var ten12;
var thirteen12;
var sixteen12;
var nine13;
var thirteen13;
var sixteen13;
var nine14;
var eleven14;
var twelve14;
var thirteen14;
var fourteen14;
var fifteen14;
var sixteen14;
var seventeen14;
var eighteen14;
var nineteen14;
var twenty14;
var thirteen15;
var sixteen15;
var eighteen15;
var five16;
var six16;
var seven16;
var eight16;
var nine16;
var ten16;
var eleven16;
var twelve16;
var thirteen16;
var fourteen16;
var sixteen16;
var eighteen16;
var seven17;
var sixteen17;
var eighteen17;
var seven18;
var sixteen18;
var eighteen18;
var seven19;
var sixteen19;
var eighteen19;
var seven20;
var sixteen20;
var eighteen20;
var eighteen21;
var eighteen22;


function reset() {
	location = "puzzle.html";
}

function checkme() {

	onedown = document.puzzle.onedown.value;
	twodown = document.puzzle.twodown.value;
	threedown = document.puzzle.threedown.value;
	fourdown = document.puzzle.fourdown.value;
	sixdown = document.puzzle.sixdown.value;
	ninedown = document.puzzle.ninedown.value;
	tendown = document.puzzle.tendown.value;
	twelvedown = document.puzzle.twelvedown.value;
	threeacross = document.puzzle.threeacross.value;
	fiveacross = document.puzzle.fiveacross.value;
	sixacross = document.puzzle.sixacross.value;
	sevenacross = document.puzzle.sevenacross.value;
	eightacross = document.puzzle.eightacross.value;
	elevenacross = document.puzzle.elevenacross.value;
	sixteen2 = document.puzzle.sixteen2.value;
	nine3 = document.puzzle.nine3.value;
	sixteen3 = document.puzzle.sixteen3.value;
	five4 = document.puzzle.five4.value;
	nine4 = document.puzzle.nine4.value;
	sixteen4 = document.puzzle.sixteen4.value;
	three5 = document.puzzle.three5.value;
	four5 = document.puzzle.four5.value;
	five5 = document.puzzle.five5.value;
	nine5 = document.puzzle.nine5.value;
	thirteen5 = document.puzzle.thirteen5.value;
	fourteen5 = document.puzzle.fourteen5.value;
	fifteen5 = document.puzzle.fifteen5.value;
	sixteen5 = document.puzzle.sixteen5.value;
	seventeen5 = document.puzzle.seventeen5.value;
	eighteen5 = document.puzzle.eighteen5.value;
	nineteen5 = document.puzzle.nineteen5.value;
	five6 = document.puzzle.five6.value;
	nine6 = document.puzzle.nine6.value;
	thirteen6 = document.puzzle.thirteen6.value;
	sixteen6 = document.puzzle.sixteen6.value;
	two7 = document.puzzle.two7.value;
	three7 = document.puzzle.three7.value;
	four7 = document.puzzle.four7.value;
	five7 = document.puzzle.five7.value;
	six7 = document.puzzle.six7.value;
	seven7 = document.puzzle.seven7.value;
	eight7 = document.puzzle.eight7.value;
	nine7 = document.puzzle.nine7.value;
	ten7 = document.puzzle.ten7.value;
	eleven7 = document.puzzle.eleven7.value;
	twelve7 = document.puzzle.twelve7.value;
	thirteen7 = document.puzzle.thirteen7.value;
	fourteen7 = document.puzzle.fourteen7.value;
	sixteen7 = document.puzzle.sixteen7.value;
	two8 = document.puzzle.two8.value;
	five8 = document.puzzle.five8.value;
	nine8 = document.puzzle.nine8.value;
	thirteen8 = document.puzzle.thirteen8.value;
	sixteen8 = document.puzzle.sixteen8.value;
	two9 = document.puzzle.two9.value;
	five9 = document.puzzle.five9.value;
	nine9 = document.puzzle.nine9.value;
	thirteen9 = document.puzzle.thirteen9.value;
	sixteen9 = document.puzzle.sixteen9.value;
	five10 = document.puzzle.five10.value;
	nine10 = document.puzzle.nine10.value;
	thirteen10 = document.puzzle.thirteen10.value;
	sixteen10 = document.puzzle.sixteen10.value;
	five11 = document.puzzle.five11.value;
	nine11 = document.puzzle.nine11.value;
	thirteen11 = document.puzzle.thirteen11.value;
	seven12 = document.puzzle.seven12.value;
	eight12 = document.puzzle.eight12.value;
	nine12 = document.puzzle.nine12.value;
	ten12 = document.puzzle.ten12.value;
	thirteen12 = document.puzzle.thirteen12.value;
	sixteen12 = document.puzzle.sixteen12.value;
	nine13 = document.puzzle.nine13.value;
	thirteen13 = document.puzzle.thirteen13.value;
	sixteen13 = document.puzzle.sixteen13.value;
	nine14 = document.puzzle.nine14.value;
	eleven14 = document.puzzle.eleven14.value;
	twelve14 = document.puzzle.twelve14.value;
	thirteen14 = document.puzzle.thirteen14.value;
	fourteen14 = document.puzzle.fourteen14.value;
	fifteen14 = document.puzzle.fifteen14.value;
	sixteen14 = document.puzzle.sixteen14.value;
	seventeen14 = document.puzzle.seventeen14.value;
	eighteen14 = document.puzzle.eighteen14.value;
	nineteen14 = document.puzzle.nineteen14.value;
	twenty14 = document.puzzle.twenty14.value;
	thirteen15 = document.puzzle.thirteen15.value;
	sixteen15 = document.puzzle.sixteen15.value;
	eighteen15 = document.puzzle.eighteen15.value;
	five16 = document.puzzle.five16.value;
	six16 = document.puzzle.six16.value;
	seven16 = document.puzzle.seven16.value;
	eight16 = document.puzzle.eight16.value;
	nine16 = document.puzzle.nine16.value;
	ten16 = document.puzzle.ten16.value;
	eleven16 = document.puzzle.eleven16.value;
	twelve16 = document.puzzle.twelve16.value;
	thirteen16 = document.puzzle.thirteen16.value;
	fourteen16 = document.puzzle.fourteen16.value;
	sixteen16 = document.puzzle.sixteen16.value;
	eighteen16 = document.puzzle.eighteen16.value;
	seven17 = document.puzzle.seven17.value;
	sixteen17 = document.puzzle.sixteen17.value;
	eighteen17 = document.puzzle.eighteen17.value;
	seven18 = document.puzzle.seven18.value;
	sixteen18 = document.puzzle.sixteen18.value;
	eighteen18 = document.puzzle.eighteen18.value;
	seven19 = document.puzzle.seven19.value;
	sixteen19 = document.puzzle.sixteen19.value;
	eighteen19 = document.puzzle.eighteen19.value;
	seven20 = document.puzzle.seven20.value;
	sixteen20 = document.puzzle.sixteen20.value;
	eighteen20 = document.puzzle.eighteen20.value;
	eighteen21 = document.puzzle.eighteen21.value;
	eighteen22 = document.puzzle.eighteen22.value;

	if ((five4) && (five5) && (five6) && (five7) && (five8) && (five10) && (five11) &&
		((!onedown) || (onedown.length < 8))) {
		onedown = five4 + five5 + five6 + five7 + five8 + five9 + five10 + five11;
	}
	else if (onedown) {
		document.puzzle.five4.value = five4 = onedown.charAt(0);
		document.puzzle.five5.value = five5 = onedown.charAt(1);
		document.puzzle.five6.value = five6 = onedown.charAt(2);
		document.puzzle.five7.value = five7 = onedown.charAt(3);
		document.puzzle.five8.value = five8 = onedown.charAt(4);
		document.puzzle.five9.value = five9 = onedown.charAt(5);
		document.puzzle.five10.value = five10 = onedown.charAt(6);
		document.puzzle.five11.value = five11 = onedown.charAt(7);
	}

	if ((nine3) && (nine4) && (nine5) && (nine6) && (nine7) && (nine8) && (nine9)  &&
		(nine10) && (nine11) && (nine12) && (nine13) && (nine14) &&
		((!twodown) || (twodown.length < 12))) {
		twodown = nine3 + nine4 + nine5 + nine6 + nine7 + nine8 + nine9 + nine10;
		document.puzzle.twodown.value = twodown = twodown + nine11 + nine12 + nine13 + nine14;
	}
	else if (twodown) {
		document.puzzle.nine3.value = nine3 = twodown.charAt(0);
		document.puzzle.nine4.value = nine4 = twodown.charAt(1);
		document.puzzle.nine5.value = nine5 = twodown.charAt(2);
		document.puzzle.nine6.value = nine6 = twodown.charAt(3);
		document.puzzle.nine7.value = nine7 = twodown.charAt(4);
		document.puzzle.nine8.value = nine8 = twodown.charAt(5);
		document.puzzle.nine9.value = nine9 = twodown.charAt(6);
		document.puzzle.nine10.value = nine10 = twodown.charAt(7);
		document.puzzle.nine11.value = nine11 = twodown.charAt(8);
		document.puzzle.nine12.value = nine12 = twodown.charAt(9);
		document.puzzle.nine13.value = nine13 =  twodown.charAt(10);
		document.puzzle.nine14.value = nine14 = twodown.charAt(11);
	}

	if ((thirteen5) && (thirteen6) && (thirteen7) && (thirteen8) && (thirteen9) &&
		(thirteen10) && (thirteen11) && (thirteen12) && (thirteen13) && (thirteen14) &&
		(thirteen15) && (thirteen16) && ((!threedown) || (threedown.length < 12))) {
		threedown = thirteen5 + thirteen6 + thirteen7 + thirteen8 + thirteen9 + thirteen10;
		threedown = threedown + thirteen11 + thirteen12 + thirteen13 + thirteen14;
		document.puzzle.threedown.value = threedown = threedown + thirteen15 + thirteen16;
	}
	else if (threedown) {
		document.puzzle.thirteen5.value = thirteen5 = threedown.charAt(0);
		document.puzzle.thirteen6.value = thirteen6 = threedown.charAt(1);
		document.puzzle.thirteen7.value = thirteen7 = threedown.charAt(2);
		document.puzzle.thirteen8.value = thirteen8 = threedown.charAt(3);
		document.puzzle.thirteen9.value = thirteen9 = threedown.charAt(4);
		document.puzzle.thirteen10.value = thirteen10 = threedown.charAt(5);
		document.puzzle.thirteen11.value = thirteen11 = threedown.charAt(6);
		document.puzzle.thirteen12.value = thirteen12 = threedown.charAt(7);
		document.puzzle.thirteen13.value = thirteen13 = threedown.charAt(8);
		document.puzzle.thirteen14.value = thirteen14 = threedown.charAt(9);
		document.puzzle.thirteen15.value = thirteen15 = threedown.charAt(10);
		document.puzzle.thirteen16.value = thirteen16 = threedown.charAt(11);
	}


	if ((thirteen5) && (fourteen5) && (fifteen5) && (sixteen5) && (seventeen5) &&
		(eighteen5) && (nineteen5) && ((!threeacross) || (threeacross.length < 7))) {
		threeacross = thirteen5 + fourteen5 + fifteen5 + sixteen5 + seventeen5;
		document.puzzle.threeacross.value = threeacross = threeacross + eighteen5 + nineteen5;
	}
	else if (threeacross) {
		if (thirteen5) {
			if (threeacross.charAt(0) != thirteen5) {
				document.puzzle.thirteen5.value = thirteen5 = "?";
			}
		}
		else {document.puzzle.thirteen5.value = thirteen5 = threeacross.charAt(0); }
		document.puzzle.fourteen5.value = fourteen5 = threeacross.charAt(1);
		document.puzzle.fifteen5.value = fifteen5 =  threeacross.charAt(2);
		document.puzzle.sixteen5.value = sixteen5 = threeacross.charAt(3);
		document.puzzle.seventeen5.value = seventeen5 = threeacross.charAt(4);
		document.puzzle.eighteen5.value = eighteen5 = threeacross.charAt(5);
		document.puzzle.nineteen5.value = nineteen5 = threeacross.charAt(6);
	}

	if ((sixteen2) && (sixteen3) && (sixteen4) && (sixteen5) && (sixteen6) &&
		(sixteen7) && (sixteen8) && (sixteen9) && (sixteen10) &&
		((!fourdown) || (fourdown.length < 9))) {
		fourdown = sixteen2 + sixteen3 + sixteen4 + sixteen5 + sixteen6 + sixteen7 + sixteen8;
		document.puzzle.fourdown.value = fourdown = fourdown + sixteen9 + sixteen10;
	}
	else if (fourdown) {
		document.puzzle.sixteen2.value = sixteen2 = fourdown.charAt(0);
		document.puzzle.sixteen3.value = sixteen3 = fourdown.charAt(1);
		document.puzzle.sixteen4.value = sixteen4 = fourdown.charAt(2);
		if (sixteen5) {
			if (fourdown.charAt(3) != sixteen5) {
				document.puzzle.sixteen5.value = sixteen5 = "?";
			}
		}
		else {document.puzzle.sixteen5.value = sixteen5 = fourdown.charAt(3);}
		document.puzzle.sixteen6.value = sixteen6 = fourdown.charAt(4);
		document.puzzle.sixteen7.value = sixteen7 = fourdown.charAt(5);
		document.puzzle.sixteen8.value = sixteen8 = fourdown.charAt(6);
		document.puzzle.sixteen9.value = sixteen9 = fourdown.charAt(7);
		document.puzzle.sixteen10.value = sixteen10 = fourdown.charAt(8);
	}

	if ((three5) && (four5) && (five5) && ((!fiveacross) || (fiveacross.length < 4))) {
		document.puzzle.fiveacross.value = fiveacross = three5 + four5 + five5;
	}
	else if (fiveacross) {
		document.puzzle.three5.value = three5 = fiveacross.charAt(0);
		document.puzzle.four5.value = four5 = fiveacross.charAt(1);
		if (five5) {
			if (fiveacross.charAt(2) != five5) {document.puzzle.five5.value = five5 = "?";}
		}
		else {document.puzzle.five5.value =  five5 = fiveacross.charAt(2);}
	}

	if ((two7) && (two8) && (two9) && ((!sixdown) || (sixdown.length < 3))) {
		document.puzzle.sixdown.value = sixdown = two7 + two8 + two9;
	}
	else if (sixdown) {
		document.puzzle.two7.value = two7 = sixdown.charAt(0);
		document.puzzle.two8.value = two8 = sixdown.charAt(1);
		document.puzzle.two9.value = two9 = sixdown.charAt(2);
	}

	if ((two7) && (three7) && (four7) && (five7) && (six7) && (seven7) && (eight7) &&
		(nine7) && (ten7) && (eleven7) && (twelve7) && (thirteen7) && (fourteen7) &&
		((!sixacross) || (sixacross.length < 13))) {
		sixacross = two7 + three7 + four7 + five7 + six7 + seven7 + eight7 + nine7 + ten7;
		sixacross = sixacross + eleven7 + twelve7 + thirteen7 + fourteen7;
		document.puzzle.sixacross.value = sixacross;
	}
	else if  (sixacross) {
		if (two7) {
			if (sixacross.charAt(0) != two7) { document.puzzle.two7.value = two7 = "?";}
		}
		else {document.puzzle.two7.value = two7 = sixacross.charAt(0); }
		document.puzzle.three7.value = three7 = sixacross.charAt(1);
		document.puzzle.four7.value = four7 = sixacross.charAt(2);
		document.puzzle.five7.value = five7 = sixacross.charAt(3);
		document.puzzle.six7.value = six7 = sixacross.charAt(4);
		document.puzzle.seven7.value = seven7 = sixacross.charAt(5);
		document.puzzle.eight7.value = eight7 = sixacross.charAt(6);
		document.puzzle.nine7.value = nine7 = sixacross.charAt(7);
		document.puzzle.ten7.value = ten7 = sixacross.charAt(8);
		document.puzzle.eleven7.value = eleven7 = sixacross.charAt(9);
		document.puzzle.twelve7.value = twelve7 = sixacross.charAt(10);
		document.puzzle.thirteen7.value = thirteen7 = sixacross.charAt(11);
		document.puzzle.fourteen7.value = fourteen7 = sixacross.charAt(12);
	}

	if ((seven12) && (eight12) && (nine12) && (ten12) && ((!sevenacross) || 
		(sevenacross.length < 4))) {
		document.puzzle.sevenacross.value = sevenacross = seven12 + eight12 + nine12 + ten12;
	}
	else if (sevenacross) {
		document.puzzle.seven12.value = seven12 = sevenacross.charAt(0);
		document.puzzle.eight12.value = eight12 = sevenacross.charAt(1);
		if (nine12) {
			if (sevenacross.charAt(2) != nine12) {document.puzzle.nine12.value = nine12 = "?";}
		}
		else {document.puzzle.nine12.value = nine12 = sevenacross.charAt(2);}
		document.puzzle.ten12.value = ten12 = sevenacross.charAt(3);
	}

	if ((eleven14) && (twelve14) && (thirteen14) && (fourteen14) && (fifteen14) && (sixteen14) &&
		(seventeen14) && (eighteen14) && (nineteen14) && (twenty14) && ((!eightacross) ||
		(eightacross.length < 10))) {
		eightacross = eleven14 + twelve14 + thirteen14 + fourteen14 + fifteen14 + sixteen14;
		eightacross = eightacross + seventeen14 + eighteen14 + nineteen14 + twenty14;
		document.puzzle.eightacross.value = eightacross;
	}
	else if(eightacross) {
		document.puzzle.eleven14.value = eleven14 = eightacross.charAt(0);
		document.puzzle.twelve14.value = twelve14 = eightacross.charAt(1);
		if (thirteen14) {
			if (eightacross.charAt(2) != thirteen14) {document.puzzle.thirteen14.value = thirteen14 = "?";}
		}
		else {document.puzzle.thirteen14.value = thirteen14 = eightacross.charAt(2);}
		document.puzzle.fourteen14.value = fourteen14 = eightacross.charAt(3);
		document.puzzle.fifteen14.value = fifteen14 = eightacross.charAt(4);
		document.puzzle.sixteen14.value = sixteen14 = eightacross.charAt(5);
		document.puzzle.seventeen14.value = seventeen14 = eightacross.charAt(6);
		document.puzzle.eighteen14.value = eighteen14 = eightacross.charAt(7);
		document.puzzle.nineteen14.value = nineteen14 = eightacross.charAt(8);
		document.puzzle.twenty14.value = twenty14 = eightacross.charAt(9);
	}

	if ((sixteen12) && (sixteen13) && (sixteen14) && (sixteen15) && (sixteen16) && (sixteen17) && 
		(sixteen18) && (sixteen19) && (sixteen20) && ((!ninedown) || (ninedown.length < 9))) {
		ninedown = sixteen12 + sixteen13 + sixteen14 + sixteen15 + sixteen16 + sixteen17 + sixteen18;
		document.puzzle.ninedown.value = ninedown = ninedown + sixteen19 + sixteen20;
	}
	else if (ninedown) {
		document.puzzle.sixteen12.value = sixteen12 = ninedown.charAt(0);
		document.puzzle.sixteen13.value = sixteen13 = ninedown.charAt(1);
		if (sixteen14) {
			if (ninedown.charAt(2) != sixteen14) {document.puzzle.sixteen14.value = sixteen14 = "?";}
		}
		else {document.puzzle.sixteen14.value = sixteen14 = ninedown.charAt(2);}
		document.puzzle.sixteen15.value = sixteen15 = ninedown.charAt(3);
		document.puzzle.sixteen16.value = sixteen16 = ninedown.charAt(4);
		document.puzzle.sixteen17.value = sixteen17 = ninedown.charAt(5);
		document.puzzle.sixteen18.value = sixteen18 = ninedown.charAt(6);
		document.puzzle.sixteen19.value = sixteen19 = ninedown.charAt(7);
		document.puzzle.sixteen20.value = sixteen20 = ninedown.charAt(8);
	}

	if ((eighteen14) && (eighteen15) && (eighteen16) && (eighteen17) && (eighteen18) && 
		(eighteen19) && (eighteen20) && (eighteen21) && (eighteen22) && ((!tendown) ||
		(tendown.length < 9))) {
		tendown = eighteen14 + eighteen15 + eighteen16 + eighteen17 + eighteen18 + eighteen19;
		document.puzzle.tendown.value = tendown = tendown + eighteen20 + eighteen21 + eighteen22;
	}
	else if (tendown) {
		if (eighteen14) {
			if (tendown.charAt(0) != eighteen14) {document.puzzle.eighteen14.value = eighteen14 = "?";}
		}
		else {document.puzzle.eighteen14.value = eighteen14 = tendown.charAt(0);}
		document.puzzle.eighteen15.value = eighteen15 = tendown.charAt(1);
		document.puzzle.eighteen16.value = eighteen16 = tendown.charAt(2);
		document.puzzle.eighteen17.value = eighteen17 = tendown.charAt(3);
		document.puzzle.eighteen18.value = eighteen18 = tendown.charAt(4);
		document.puzzle.eighteen19.value = eighteen19 = tendown.charAt(5);
		document.puzzle.eighteen20.value = eighteen20 = tendown.charAt(6);
		document.puzzle.eighteen21.value = eighteen21 = tendown.charAt(7);
		document.puzzle.eighteen22.value = eighteen22 = tendown.charAt(8);
	}

	if ((five16) && (six16) && (seven16) && (eight16) && (nine16) && (ten16) && (eleven16) &&
		(twelve16) && (thirteen16) && (fourteen16) && ((!elevenacross) || (elevenacross.length < 10))) {
		elevenacross = five16 + six16 + seven16 + eight16 + nine16 + ten16 + eleven16 + twelve16;
		document.puzzle.elevenacross.value = elevenacross = elevenacross + thirteen16 + fourteen16;
	}
	else if (elevenacross) {
		document.puzzle.five16.value = five16 = elevenacross.charAt(0);
		document.puzzle.six16.value = six16 = elevenacross.charAt(1);
		document.puzzle.seven16.value = seven16 = elevenacross.charAt(2)
		document.puzzle.eight16.value = eight16 = elevenacross.charAt(3);
		document.puzzle.nine16.value = nine16 = elevenacross.charAt(4);
		document.puzzle.ten16.value = ten16 = elevenacross.charAt(5);
		document.puzzle.eleven16.value = eleven16 = elevenacross.charAt(6);
		document.puzzle.twelve16.value = twelve16 = elevenacross.charAt(7);
		if (thirteen16) {
			if (elevenacross.charAt(8) != thirteen16) {document.puzzle.thirteen16.value = thirteen16 = "?";}
		}
		else {document.puzzle.thirteen16.value = thirteen16 = elevenacross.charAt(8);}
		document.puzzle.fourteen16.value = fourteen16 = elevenacross.charAt(9);
	}

	if ((seven16) && (seven17) && (seven18) && (seven19) && (seven20) && ((!twelvedown) ||
		(twelvedown.length < 5))) {
		twelvedown = seven16 + seven17 + seven18 + seven19 + seven20;
		document.puzzle.twelvedown.value = twelvedown;
	}
	else if(twelvedown) {
		if (seven16) {
			if (twelvedown.charAt(0) != seven16) {document.puzzle.seven16.value = seven16 = "?";}
		}
		else {document.puzzle.seven16.value = seven16 = twelvedown.charAt(0);}
		document.puzzle.seven17.value = seven17 = twelvedown.charAt(1);
		document.puzzle.seven18.value = seven18 = twelvedown.charAt(2);
		document.puzzle.seven19.value = seven19 = twelvedown.charAt(3);
		document.puzzle.seven20.value = seven20 = twelvedown.charAt(4);
	}
}
