var blank_pos = 16, zug=0, pos = new Array();
var msie4up = (document.all) ? 1 : 0;   // MSIE4 or up
//var ns4b = (document.layers) ? 1 : 0;	// Netscape4.x

/*
pos[1]=1;  pos[5]=5;  pos[9] = 9;  pos[13]=13;
pos[2]=2;  pos[6]=6;  pos[10]=10;  pos[14]=14;
pos[3]=3;  pos[7]=7;  pos[11]=11;  pos[15]=15;
pos[4]=4;  pos[8]=8;  pos[12]=12;
*/

pos[1]= 7;  pos[5]=12;  pos[9] = 8;  pos[13]= 3;
pos[2]=10;  pos[6]= 2;  pos[10]= 5;  pos[14]=11;
pos[3]=14;  pos[7]=13;  pos[11]= 4;  pos[15]=15;
pos[4]= 9;  pos[8]= 1;  pos[12]= 6;

for (i=1; i<16; i++) { document.images["pic" + i ].src = "puzzle" + pos[i] + ".jpg" }
document.onkeydown = keyDown;

function move(nr) {
   if        (blank_pos+4 == nr) { keyDown(38);   // rauf
   } else if (blank_pos-4 == nr) { keyDown(40);   // runter
   } else if (blank_pos+1 == nr) { keyDown(37);   // links
   } else if (blank_pos-1 == nr) { keyDown(39); } // rechts
}//move

function keyDown(ieKey) {
   if (! ieKey) {ieKey = event.keyCode}
   if (ieKey == 38) {  // auf
      if (blank_pos < 13) {
		 document.images["pic" + blank_pos ].src = "puzzle" + pos[(blank_pos+4)] + ".jpg";
		 document.images["pic" + (blank_pos+4) ].src = "../farblos.gif";
         pos[blank_pos] = pos[(blank_pos+4)];
         blank_pos += 4; zug++;
      }//if
   } else if (ieKey == 40) { // ab
      if (blank_pos > 4) {
		 document.images["pic" + blank_pos ].src = "puzzle" + pos[(blank_pos-4)] + ".jpg";
		 document.images["pic" + (blank_pos-4) ].src = "../farblos.gif";
         pos[blank_pos] = pos[(blank_pos-4)];
         blank_pos -=4; zug++;
      }//if
   } else if (ieKey == 37) { //links
      if (blank_pos%4 > 0) {
		 document.images["pic" + blank_pos ].src = "puzzle" + pos[blank_pos+1] + ".jpg";
		 document.images["pic" + (blank_pos+1) ].src = "../farblos.gif";
         pos[blank_pos] = pos[blank_pos+1];
         blank_pos++; zug++;
      }//if
   } else if (ieKey == 39) { // rechts
      if ((blank_pos+3) %4 > 0) {
		 document.images["pic" + blank_pos ].src = "puzzle" + pos[(blank_pos-1)] + ".jpg";
		 document.images["pic" + (blank_pos-1) ].src = "../farblos.gif";
         pos[blank_pos] = pos[(blank_pos-1)];
         blank_pos--; zug++;
      }//if
   } else { return }//if else -> keine erlaubte Bewegung (auf,ab,li,re)
   
   if (msie4up) { header.innerText = ("Bluatschink-Puzzle: Zug: " + zug) }
   
   A = 0;
   for (i=1; i<16; i++) { // Reihenfolge prüfen, verlassen mit A=0 -> alle OK
      if (pos[i] != i) { A++; break; }
   }//for
   if (!A && blank_pos) { // alle OK, nur eine Meldung
	  document.images["pic16"].src = "puzzle16.jpg";
	  // if (msie4up) { header.innerText = ("Bluatschink-Puzzle: Score: " + (200-zug)) }
	  blank_pos = 0;  // 0 sperrt Spiel und Meldung
      if (confirm("Gratuliere, Du hast es in " + zug + " Zügen geschafft!\n\nHighscore speichren?")) {
         document.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n" +
         "<HTML>\n<HEAD>\n<TITLE>Spieler Eingabe-Formular</TITLE>\n</HEAD>\n<BODY TEXT=\"#DCDCDC\" BGCOLOR=\"#000080\">" +
		 "<H1>Punktestand in der Highscore-Liste speichern</H1>" +
		 "Gratuliere, du hast das Bluatschink-Puzzle in " + zug + " Z&uuml;gen geschafft.<BR>" +
		 "Bitte trage deinen Namen und deine E-Mail-Adresse f&uuml;r die Highscore-Liste ein.<BR>&nbsp;<BR>" +
         "<FORM NAME=\"Userformular\" ACTION=\"../cgi-bin/puzzle.pl\" METHOD=\"post\">\n" + // onSubmit=\"javascript:window.close()\">\n" +
         "<TABLE CELLPADDING=0 CELLSPACING=0>\n" +
         "<TR>\n<TD WIDTH=100>Name:</TD>\n<TD><INPUT SIZE=30 NAME=\"name\"></TD></TR>\n" +
         "<TR>\n<TD WIDTH=100>E-Mail:</TD>\n<TD><INPUT SIZE=30 NAME=\"mail\"></TD></TR>\n" +
         "<TR>\n<TD WIDTH=100>Z&uuml;ge:</TD>\n<TD>" + zug + "\n<INPUT TYPE=\"hidden\" NAME=\"score\" VALUE=\"" + zug + "\"></TD></TR>\n" +
	     "</TABLE>\n" +
         "<P>\n<INPUT TYPE=\"Submit\" VALUE=\"Senden\">\n" +
         "</FORM>" +
		 "<P>&nbsp;</P>&nbsp;" +
		 "<A HREF=\"puzzle.htm\" STYLE=\"color:white\">Zur&uuml;ck zum Spiel</A> ohne Eintrag </P>" +
         "</BODY>\n</HTML>");//popup.document.write
		 
		 document.Userformular.name.focus();
		 
		 //ShowPopup();
	     // window.name = "BluatschinkMain";
		 
		 // location.reload();
      }//if
   }//if
}//keyDown

function ShowPopup() {
  var popupURL = "userform.htm";
  var popup = window.open(popupURL,"Spielerformular",'left=15,top=15,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=400,height=250');
  if( navigator.appName.substring(0,8) == "Netscape" ) {
     popup.location = popupURL;
  }//if
  popup.document.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n" +
     "<HTML>\n<HEAD>\n<TITLE>Spieler Eingabe-Formular</TITLE>\n</HEAD>\n<BODY TEXT=\"#DCDCDC\" BGCOLOR=\"#000080\">" +
	 "<FORM NAME=\"Userformular\" ACTION=\"../cgi-bin/puzzle.pl\" METHOD=\"post\">\n" + // onSubmit=\"javascript:window.close()\">\n" +
     "<TABLE CELLPADDING=0 CELLSPACING=0>\n" +
	 "<TR>\n<TD WIDTH=150>Name:</TD>\n<TD><INPUT SIZE=30 NAME=\"name\"></TD></TR>\n" +
     "<TR>\n<TD WIDTH=150>E-Mail:</TD>\n<TD><INPUT SIZE=30 NAME=\"mail\"></TD></TR>\n" +
     "<TR>\n<TD WIDTH=150>Z&uuml;ge:</TD>\n<TD>" + zug + "\n<INPUT TYPE=\"hidden\" NAME=\"score\" VALUE=\"" + zug + "\"></TD></TR>\n" +
	 "</TABLE>\n" +
	 "<P>\n<INPUT TYPE=\"Submit\" VALUE=\"Senden\">\n" +
     "</FORM>" +
     "</BODY>\n</HTML>");//popup.document.write

}//ShowPopup
