// This Code is Copyright 1999 by Meikel Weber
// Usage of this code is not allowed unless
// one has written Permission of Meikel.com

var loaded = 0;
var CurEPD = "";
var WhiteName = "";
var BlackName = "";
if (document.images) {
    var Image1 = new Image;
    var Image2 = new Image;
    var Image3 = new Image;
    var Image4 = new Image;
    var Image5 = new Image;
    var Image6 = new Image;
    var Image7 = new Image;
    var Image8 = new Image;
    var Image9 = new Image;
    var Image10 = new Image;
    var Image11 = new Image;
    var Image12 = new Image;
    var Image13 = new Image;
    var Image14 = new Image;
    var Image15 = new Image;
    var Image16 = new Image;
    var Image17 = new Image;
    var Image18 = new Image;
    var Image19 = new Image;
    var Image20 = new Image;
    var Image21 = new Image;
    var Image22 = new Image;
    var Image23 = new Image;
    var Image24 = new Image;
    var Image25 = new Image;
    var Image26 = new Image;
}
LoadAllImages();

function setimage(win, imgID, piece, pcback) {
  var img = "imgsmall/";
  if (piece == "p") {
    img += "wp";
  } else if (piece == "n") {
    img += "wn";
  } else if (piece == "b") {
    img += "wb";
  } else if (piece == "r") {
    img += "wr";
  } else if (piece == "q") {
    img += "wq";
  } else if (piece == "k") {
    img += "wk";
  } else if (piece == "P") {
    img += "bp";
  } else if (piece == "N") {
    img += "bn";
  } else if (piece == "B") {
    img += "bb";
  } else if (piece == "R") {
    img += "br";
  } else if (piece == "Q") {
    img += "bq";
  } else if (piece == "K") {
    img += "bk";
  } else  {
    img += "ef";
  }
  if (pcback == 0) {
    img += "w.gif";
  } else {
    img += "b.gif";
  }  
  win.document[imgID].src = img;
};

function ShowPos (EPD, MoveString) {  
 if (document.images) {
    CurEPD = EPD;
    if (loaded == 0) {
      CreateWindow();
      loaded = 1;
    } else if (win.closed) {
      CreateWindow();
    }  
    DispEPD();
    win.document.MOVE.MOVE.value=MoveString;
    win.focus();
  }
};

function DispEPD() {
  var EPDPos = 0;  
  var pcback = 0;
  var CharPos = 0;
  var imgID  = "";  
  var CChar = "";
  var EmptyFields = 0;
  for (var iField=0; iField <= 63; iField+=1) {    
    if (iField % 8 == 0) {
      pcback = 1 - pcback;
    }
    imgID = "i"
    imgID += iField;
    if (EmptyFields > 0) {
      setimage (win, imgID, "1", pcback);
      EmptyFields--;
    } else {
      CChar = CurEPD.charAt (EPDPos);
      EmptyFields = 0;
      if (CChar == "2") {
        EmptyFields = 1;
        setimage (win, imgID, "1", pcback);
      } else if (CChar == "3") {
        EmptyFields = 2;
        setimage (win, imgID, "1", pcback);
      } else if (CChar == "4") {
        EmptyFields = 3;
        setimage (win, imgID, "1", pcback);
      } else if (CChar == "5") {
        EmptyFields = 4;
        setimage (win, imgID, "1", pcback);
      } else if (CChar == "6") {
        EmptyFields = 5;
        setimage (win, imgID, "1", pcback);
      } else if (CChar == "7") {
        EmptyFields = 6;
        setimage (win, imgID, "1", pcback);
      } else if (CChar == "8") {
        EmptyFields = 7;
        setimage (win, imgID, "1", pcback);
      } else if (CChar == "9") {
        EmptyFields = 8;
        setimage (win, imgID, "1", pcback);
      } else {      
        setimage (win, imgID, CurEPD.charAt(EPDPos), pcback);
      }  
      EPDPos++;  
    }  
    pcback = 1 - pcback;
  }  
};


function CreateWindow() { 
  var lastLetter = 9;
  win = window.open("", "WIN",
  "resizable=yes,status=no,toolbar=no,location=no,menu=no,scrollbars=yes,width=260,height=360");
  win.document.close();
  win.document.open("text/html", "replace");
  win.document.write();
  win.document.write ("<HTML><HEAD><TITLE>Current Position</TITLE></HEAD>");
  win.document.writeln ("<BODY><FONT FACE='Arial,Helvetica,sans seriv'>");
  win.document.writeln ("<CENTER>" + BlackName + "</CENTER>");
  win.document.write ("<TABLE BORDER=3 CELLSPACING=0 CELLPADDING=0><TR><TD>");
  win.document.write ("<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>");
  var CurID = 7;
  for (var iField = 0; iField <= 63; iField+=1) {
    if (iField % 8 == 0) {
      win.document.write ("<TR>");
    }
    win.document.write ("<TD><IMG SRC='imgsmall/efb.gif' NAME='i", CurID, "' WIDTH=25 HEIGHT=25>");
    CurID += 8;
    win.document.write ("</TD>");
    if (iField % 8 == 7) {
      win.document.write ("</TR>");
      CurID -= 65;
    }
  }
  win.document.write ("</TABLE>");
  win.document.writeln("</TD></TR></TABLE>");
  win.document.writeln ("<CENTER>" + WhiteName + "</CENTER>");
  win.document.write ('<FORM NAME="MOVE"><HR><CENTER>Position after:<BR><INPUT NAME="MOVE" TYPE="TEXT" WIDTH="20"></CENTER></FORM>');
  win.document.writeln("</FONT></BODY></HTML>");
  win.document.close();  
};

function LoadAllImages() {
  if (document.images) {
    Image1.src = "imgsmall/efw.gif";
    Image2.src = "imgsmall/efb.gif";
    Image3.src = "imgsmall/wpw.gif";
    Image4.src = "imgsmall/wpb.gif";
    Image5.src = "imgsmall/bpw.gif";
    Image6.src = "imgsmall/bpb.gif";
    Image7.src = "imgsmall/wnw.gif";
    Image8.src = "imgsmall/wnb.gif";
    Image9.src = "imgsmall/bnw.gif";
    Image10.src = "imgsmall/bnb.gif";
    Image11.src = "imgsmall/wbw.gif";
    Image12.src = "imgsmall/wbb.gif";
    Image13.src = "imgsmall/bbw.gif";
    Image14.src = "imgsmall/bbb.gif";
    Image15.src = "imgsmall/wrw.gif";
    Image16.src = "imgsmall/wrb.gif";
    Image17.src = "imgsmall/brw.gif";
    Image18.src = "imgsmall/brb.gif";
    Image19.src = "imgsmall/wqw.gif";
    Image20.src = "imgsmall/wqb.gif";
    Image21.src = "imgsmall/bqw.gif";
    Image22.src = "imgsmall/bqb.gif";
    Image23.src = "imgsmall/wkw.gif";
    Image24.src = "imgsmall/wkb.gif";
    Image25.src = "imgsmall/bkw.gif";
    Image26.src = "imgsmall/bkb.gif";
  }
}

function SetWhite (name) {
  WhiteName = name;
}

function SetBlack (name) {
  BlackName = name;
}