/**
* @copyright 2006 Karsten Nymann Pedersen
* @version 1.00
* @author Karsten Nymann Pedersen
* @license Buyware
* @mail skaktaktik@skak.dk
*/
var pgnNotation = function()
{
  this.sign = new Array();
  this.notation = new Array();

  this.sign[1] = "!"
  this.sign[2] = "?"
  this.sign[3] = "!!"
  this.sign[4] = "??"
  this.sign[5] = "!?"
  this.sign[6] = "?!"
  this.sign[7] = ""; // String.fromCharCode(9633);  ""; //"forced move (all others lose quickly)"
  this.sign[8] = ""; // "singular move (no reasonable alternatives)"
  this.sign[9] = ""; // "worst move"
  this.sign[10] = ""; // "drawish position"
  this.sign[11] = ""; // "equal chances  quiet position"
  this.sign[12] = ""; // "equal chances  active position"
  this.sign[13] = ""; // "unclear position"
  this.sign[14] = ""; // "White has a slight advantage"
  this.sign[15] = ""; // "Black has a slight advantage"
  this.sign[16] = ""; // "White has a moderate advantage"
  this.sign[17] = ""; // "Black has a moderate advantage"
  this.sign[18] = ""; // "White has a decisive advantage"
  this.sign[19] = ""; // "Black has a decisive advantage"
  this.sign[20] = ""; // "White has a crushing advantage (Black should resign)"
  this.sign[21] = ""; // "Black has a crushing advantage (White should resign)"
  this.sign[22] = ""; // "White is in zugzwang"
  this.sign[23] = ""; // "Black is in zugzwang"
  this.sign[24] = ""; // "White has a slight space advantage"
  this.sign[25] = ""; // "Black has a slight space advantage"
  this.sign[26] = ""; // "White has a moderate space advantage"
  this.sign[27] = ""; // "Black has a moderate space advantage"
  this.sign[28] = ""; // "White has a decisive space advantage"
  this.sign[29] = ""; // "Black has a decisive space advantage"
  this.sign[30] = ""; // "White has a slight time (development) advantage"
  this.sign[31] = ""; // "Black has a slight time (development) advantage"
  this.sign[32] = ""; // "White has a moderate time (development) advantage"
  this.sign[33] = ""; // "Black has a moderate time (development) advantage"
  this.sign[34] = ""; // "White has a decisive time (development) advantage"
  this.sign[35] = ""; // "Black has a decisive time (development) advantage"
  this.sign[36] = ""; // "White has the initiative"
  this.sign[37] = ""; // "Black has the initiative"
  this.sign[38] = ""; // "White has a lasting initiative"
  this.sign[39] = ""; // "Black has a lasting initiative"
  this.sign[40] = ""; // "White has the attack"
  this.sign[41] = ""; // "Black has the attack"
  this.sign[42] = ""; // "White has insufficient compensation for material deficit"
  this.sign[43] = ""; // "Black has insufficient compensation for material deficit"
  this.sign[44] = ""; // "White has sufficient compensation for material deficit"
  this.sign[45] = ""; // "Black has sufficient compensation for material deficit"
  this.sign[46] = ""; // "White has more than adequate compensation for material deficit"
  this.sign[47] = ""; // "Black has more than adequate compensation for material deficit"
  this.sign[48] = ""; // "White has a slight center control advantage"
  this.sign[49] = ""; // "Black has a slight center control advantage"
  this.sign[50] = ""; // "White has a moderate center control advantage"
  this.sign[51] = ""; // "Black has a moderate center control advantage"
  this.sign[52] = ""; // "White has a decisive center control advantage"
  this.sign[53] = ""; // "Black has a decisive center control advantage"
  this.sign[54] = ""; // "White has a slight kingside control advantage"
  this.sign[55] = ""; // "Black has a slight kingside control advantage"
  this.sign[56] = ""; // "White has a moderate kingside control advantage"
  this.sign[57] = ""; // "Black has a moderate kingside control advantage"
  this.sign[58] = ""; // "White has a decisive kingside control advantage"
  this.sign[59] = ""; // "Black has a decisive kingside control advantage"
  this.sign[60] = ""; // "White has a slight queenside control advantage"
  this.sign[61] = ""; // "Black has a slight queenside control advantage"
  this.sign[62] = ""; // "White has a moderate queenside control advantage"
  this.sign[63] = ""; // "Black has a moderate queenside control advantage"
  this.sign[64] = ""; // "White has a decisive queenside control advantage"
  this.sign[65] = ""; // "Black has a decisive queenside control advantage"
  this.sign[66] = ""; // "White has a vulnerable first rank"
  this.sign[67] = ""; // "Black has a vulnerable first rank"
  this.sign[68] = ""; // "White has a well protected first rank"
  this.sign[69] = ""; // "Black has a well protected first rank"
  this.sign[70] = ""; // "White has a poorly protected king"
  this.sign[71] = ""; // "Black has a poorly protected king"
  this.sign[72] = ""; // "White has a well protected king"
  this.sign[73] = ""; // "Black has a well protected king"
  this.sign[74] = ""; // "White has a poorly placed king"
  this.sign[75] = ""; // "Black has a poorly placed king"
  this.sign[76] = ""; // "White has a well placed king"
  this.sign[77] = ""; // "Black has a well placed king"
  this.sign[78] = ""; // "White has a very weak pawn structure"
  this.sign[79] = ""; // "Black has a very weak pawn structure"
  this.sign[80] = ""; // "White has a moderately weak pawn structure"
  this.sign[81] = ""; // "Black has a moderately weak pawn structure"
  this.sign[82] = ""; // "White has a moderately strong pawn structure"
  this.sign[83] = ""; // "Black has a moderately strong pawn structure"
  this.sign[84] = ""; // "White has a very strong pawn structure"
  this.sign[85] = ""; // "Black has a very strong pawn structure"
  this.sign[86] = ""; // "White has poor knight placement"
  this.sign[87] = ""; // "Black has poor knight placement"
  this.sign[88] = ""; // "White has good knight placement"
  this.sign[89] = ""; // "Black has good knight placement"
  this.sign[90] = ""; // "White has poor bishop placement"
  this.sign[91] = ""; // "Black has poor bishop placement"
  this.sign[92] = ""; // "White has good bishop placement"
  this.sign[93] = ""; // "Black has good bishop placement"
  this.sign[94] = ""; // "White has poor rook placement"
  this.sign[95] = ""; // "Black has poor rook placement"
  this.sign[96] = ""; // "White has good rook placement"
  this.sign[97] = ""; // "Black has good rook placement"
  this.sign[98] = ""; // "White has poor queen placement"
  this.sign[99] = ""; // "Black has poor queen placement"
  this.sign[100] = ""; // "White has good queen placement"
  this.sign[101] = ""; // "Black has good queen placement"
  this.sign[102] = ""; // "White has poor piece coordination"
  this.sign[103] = ""; // "Black has poor piece coordination"
  this.sign[104] = ""; // "White has good piece coordination"
  this.sign[105] = ""; // "Black has good piece coordination"
  this.sign[106] = ""; // "White has played the opening very poorly"
  this.sign[107] = ""; // "Black has played the opening very poorly"
  this.sign[108] = ""; // "White has played the opening poorly"
  this.sign[109] = ""; // "Black has played the opening poorly"
  this.sign[110] = ""; // "White has played the opening well"
  this.sign[111] = ""; // "Black has played the opening well"
  this.sign[112] = ""; // "White has played the opening very well"
  this.sign[113] = ""; // "Black has played the opening very well"
  this.sign[114] = ""; // "White has played the middlegame very poorly"
  this.sign[115] = ""; // "Black has played the middlegame very poorly"
  this.sign[116] = ""; // "White has played the middlegame poorly"
  this.sign[117] = ""; // "Black has played the middlegame poorly"
  this.sign[118] = ""; // "White has played the middlegame well"
  this.sign[119] = ""; // "Black has played the middlegame well"
  this.sign[120] = ""; // "White has played the middlegame very well"
  this.sign[121] = ""; // "Black has played the middlegame very well"
  this.sign[122] = ""; // "White has played the ending very poorly"
  this.sign[123] = ""; // "Black has played the ending very poorly"
  this.sign[124] = ""; // "White has played the ending poorly"
  this.sign[125] = ""; // "Black has played the ending poorly"
  this.sign[126] = ""; // "White has played the ending well"
  this.sign[127] = ""; // "Black has played the ending well"
  this.sign[128] = ""; // "White has played the ending very well"
  this.sign[129] = ""; // "Black has played the ending very well"
  this.sign[130] = ""; // "White has slight counterplay"
  this.sign[131] = ""; // "Black has slight counterplay"
  this.sign[132] = ""; // "White has moderate counterplay"
  this.sign[133] = ""; // "Black has moderate counterplay"
  this.sign[134] = ""; // "White has decisive counterplay"
  this.sign[135] = ""; // "Black has decisive counterplay"
  this.sign[136] = ""; // "White has moderate time control pressure"
  this.sign[137] = ""; // "Black has moderate time control pressure"
  this.sign[138] = ""; // "White has severe time control pressure"
  this.sign[139] = ""; // "Black has severe time control pressure"
  this.sign[145] = "€"; // "Program feature"

  this.notation[1] = "Godt træk.";
  this.notation[2] = "Dårligt træk.";
  this.notation[3] = "Meget godt træk.";
  this.notation[4] = "Meget dårlig træk.";
  this.notation[5] = "Et interessant træk, men muligvis ikke det bedste.";
  this.notation[6] = "Et tvivlsomt træk, men måske ikke så let at gendrive.";
  this.notation[7] = "Et tvunget træk.";
  this.notation[8] = "Eneste træk.";
  this.notation[9] = "Det værste træk.";
  this.notation[10] = "Remis stilling.";
  this.notation[11] = "Stillingen er lige eller udlignet.";
  this.notation[12] = "Stillingen er er lige med aktiv spil.";
  this.notation[13] = "Uklar stilling.";
  this.notation[14] = "Hvid har en lille fordel.";
  this.notation[15] = "Sort har en lille fordel.";
  this.notation[16] = "Hvid fordel.";
  this.notation[17] = "Sort fordel.";
  this.notation[18] = "Hvid har afgørende fordel.";
  this.notation[19] = "Sort har afgørende fordel.";
  this.notation[20] = "Hvid har helt afgørende fordel (Sort bør opgive).";
  this.notation[21] = "Sort har helt afgørende fordel (Hvid bør opgive).";
  this.notation[22] = "Hvid er i træktvang.";
  this.notation[23] = "Sort er i træktvang.";
  this.notation[24] = "White has a slight space advantage.";
  this.notation[25] = "Black has a slight space advantage.";
  this.notation[26] = "White has a moderate space advantage.";
  this.notation[27] = "Black has a moderate space advantage.";
  this.notation[28] = "White has a decisive space advantage.";
  this.notation[29] = "Black has a decisive space advantage.";
  this.notation[30] = "White has a slight time (development) advantage.";
  this.notation[31] = "Black has a slight time (development) advantage.";
  this.notation[32] = "White has a moderate time (development) advantage.";
  this.notation[33] = "Black has a moderate time (development) advantage.";
  this.notation[34] = "White has a decisive time (development) advantage.";
  this.notation[35] = "Black has a decisive time (development) advantage.";
  this.notation[36] = "hvid har initiativet.";
  this.notation[37] = "sort har initiativet.";
  this.notation[38] = "White has a lasting initiative.";
  this.notation[39] = "Black has a lasting initiative.";
  this.notation[40] = "White has the attack.";
  this.notation[41] = "Black has the attack.";
  this.notation[42] = "White has insufficient compensation for material deficit.";
  this.notation[43] = "Black has insufficient compensation for material deficit.";
  this.notation[44] = "White has sufficient compensation for material deficit.";
  this.notation[45] = "Black has sufficient compensation for material deficit.";
  this.notation[46] = "White has more than adequate compensation for material deficit.";
  this.notation[47] = "Black has more than adequate compensation for material deficit.";
  this.notation[48] = "White has a slight center control advantage.";
  this.notation[49] = "Black has a slight center control advantage.";
  this.notation[50] = "White has a moderate center control advantage.";
  this.notation[51] = "Black has a moderate center control advantage.";
  this.notation[52] = "White has a decisive center control advantage.";
  this.notation[53] = "Black has a decisive center control advantage.";
  this.notation[54] = "White has a slight kingside control advantage.";
  this.notation[55] = "Black has a slight kingside control advantage.";
  this.notation[56] = "White has a moderate kingside control advantage.";
  this.notation[57] = "Black has a moderate kingside control advantage.";
  this.notation[58] = "White has a decisive kingside control advantage.";
  this.notation[59] = "Black has a decisive kingside control advantage.";
  this.notation[60] = "White has a slight queenside control advantage.";
  this.notation[61] = "Black has a slight queenside control advantage.";
  this.notation[62] = "White has a moderate queenside control advantage.";
  this.notation[63] = "Black has a moderate queenside control advantage.";
  this.notation[64] = "White has a decisive queenside control advantage.";
  this.notation[65] = "Black has a decisive queenside control advantage.";
  this.notation[66] = "White has a vulnerable first rank.";
  this.notation[67] = "Black has a vulnerable first rank.";
  this.notation[68] = "White has a well protected first rank.";
  this.notation[69] = "Black has a well protected first rank.";
  this.notation[70] = "White has a poorly protected king.";
  this.notation[71] = "Black has a poorly protected king.";
  this.notation[72] = "White has a well protected king.";
  this.notation[73] = "Black has a well protected king.";
  this.notation[74] = "White has a poorly placed king.";
  this.notation[75] = "Black has a poorly placed king.";
  this.notation[76] = "White has a well placed king.";
  this.notation[77] = "Black has a well placed king.";
  this.notation[78] = "White has a very weak pawn structure.";
  this.notation[79] = "Black has a very weak pawn structure.";
  this.notation[80] = "White has a moderately weak pawn structure.";
  this.notation[81] = "Black has a moderately weak pawn structure.";
  this.notation[82] = "White has a moderately strong pawn structure.";
  this.notation[83] = "Black has a moderately strong pawn structure.";
  this.notation[84] = "White has a very strong pawn structure.";
  this.notation[85] = "Black has a very strong pawn structure.";
  this.notation[86] = "White has poor knight placement.";
  this.notation[87] = "Black has poor knight placement.";
  this.notation[88] = "White has good knight placement.";
  this.notation[89] = "Black has good knight placement.";
  this.notation[90] = "White has poor bishop placement.";
  this.notation[91] = "Black has poor bishop placement.";
  this.notation[92] = "White has good bishop placement.";
  this.notation[93] = "Black has good bishop placement.";
  this.notation[94] = "White has poor rook placement.";
  this.notation[95] = "Black has poor rook placement.";
  this.notation[96] = "White has good rook placement.";
  this.notation[97] = "Black has good rook placement.";
  this.notation[98] = "White has poor queen placement.";
  this.notation[99] = "Black has poor queen placement.";
  this.notation[100] = "White has good queen placement.";
  this.notation[101] = "Black has good queen placement.";
  this.notation[102] = "White has poor piece coordination.";
  this.notation[103] = "Black has poor piece coordination.";
  this.notation[104] = "White has good piece coordination.";
  this.notation[105] = "Black has good piece coordination.";
  this.notation[106] = "White has played the opening very poorly.";
  this.notation[107] = "Black has played the opening very poorly.";
  this.notation[108] = "White has played the opening poorly.";
  this.notation[109] = "Black has played the opening poorly.";
  this.notation[110] = "White has played the opening well.";
  this.notation[111] = "Black has played the opening well.";
  this.notation[112] = "White has played the opening very well.";
  this.notation[113] = "Black has played the opening very well.";
  this.notation[114] = "White has played the middlegame very poorly.";
  this.notation[115] = "Black has played the middlegame very poorly.";
  this.notation[116] = "White has played the middlegame poorly.";
  this.notation[117] = "Black has played the middlegame poorly.";
  this.notation[118] = "White has played the middlegame well.";
  this.notation[119] = "Black has played the middlegame well.";
  this.notation[120] = "White has played the middlegame very well.";
  this.notation[121] = "Black has played the middlegame very well.";
  this.notation[122] = "White has played the ending very poorly.";
  this.notation[123] = "Black has played the ending very poorly.";
  this.notation[124] = "White has played the ending poorly.";
  this.notation[125] = "Black has played the ending poorly.";
  this.notation[126] = "White has played the ending well.";
  this.notation[127] = "Black has played the ending well.";
  this.notation[128] = "White has played the ending very well.";
  this.notation[129] = "Black has played the ending very well.";
  this.notation[130] = "White has slight counterplay.";
  this.notation[131] = "Black has slight counterplay.";
  this.notation[132] = "White has moderate counterplay.";
  this.notation[133] = "Black has moderate counterplay.";
  this.notation[134] = "White has decisive counterplay.";
  this.notation[135] = "Black has decisive counterplay.";
  this.notation[136] = "White has moderate time control pressure.";
  this.notation[137] = "Black has moderate time control pressure.";
  this.notation[138] = "White has severe time control pressure.";
  this.notation[139] = "Black has severe time control pressure.";
}
