1/*
2 *  pgn4web javascript chessboard
3 *  copyright (C) 2009-2013 Paolo Casaschi
4 *  see README file and http://pgn4web.casaschi.net
5 *  for credits, license and more details
6 */
7
8"use strict";
9
10if ((typeof(blockChessInformantNAGSymbols) != "boolean") || (!blockChessInformantNAGSymbols)) {
11
12  if (typeof(ii) == "undefined") { var ii; }
13
14  var jsre = new RegExp("chess-informant-NAG-symbols\.js$", "");
15  var FontPath = detectJavascriptLocation(jsre).replace(jsre, "");
16
17  document.write('<link href="' + FontPath + 'pgn4web-font-ChessInformantReader.css" type="text/css" rel="stylesheet" />');
18  document.write('<style type="text/css">.NAGs, .NAGl { font-family: "pgn4web ChessInformantReader"; line-height: 1em; }</style>');
19
20  var Ns = '<span class="NAGs">';
21  var Nl = '<span class="NAGl">';
22  var Ne = '</span>';
23
24  var basicNAGs = /^([\?!+#\s]|<span class="NAGs">[^<]*<.span>)+(\s|$)/;
25
26  if (typeof(NAGstyle) == "undefined") { var NAGstyle; }
27  NAGstyle = 'informantreader';
28
29  NAG[0] = '';
30  NAG[1] = '!';  // 'good move';
31  NAG[2] = '?';  // 'bad move';
32  NAG[3] = '!!'; // 'very good move';
33  NAG[4] = '??'; // 'very bad move';
34  NAG[5] = '!?'; // 'speculative move';
35  NAG[6] = '?!'; // 'questionable move';
36  NAG[7] = NAG[8] = Ns + '&#236;' + Ne; // 'forced move';
37  NAG[9] = '??'; // 'worst move';
38  NAG[10] = NAG[11] = NAG[12] = Ns + '&#61;' + Ne; // 'drawish position';
39  NAG[13] = Ns + '&#213;' + Ne; // 'unclear position';
40  NAG[14] = Ns + '&#162;' + Ne; // 'White has a slight advantage';
41  NAG[15] = Ns + '&#163;' + Ne; // 'Black has a slight advantage';
42  NAG[16] = Ns + '&#165;' + Ne; // 'White has a moderate advantage';
43  NAG[17] = Ns + '&#164;' + Ne; // 'Black has a moderate advantage';
44  NAG[18] = NAG[20] = Ns + '&#43;&#187;' + Ne; // 'White has a decisive advantage';
45  NAG[19] = NAG[21] = Ns + '&#187;&#43;' + Ne; // 'Black has a decisive advantage';
46  NAG[22] = NAG[23] = Ns + '&#194;' + Ne; // 'zugzwang';
47  NAG[24] = NAG[25] = NAG[26] = NAG[27] = NAG[28] = NAG[29] = Ns + '&#193;' + Ne; // 'space advantage';
48  NAG[30] = NAG[31] = NAG[32] = NAG[33] = NAG[34] = NAG[35] = Ns + '&#182;' + Ne; // 'time (development) advantage';
49  NAG[36] = NAG[37] = NAG[38] = NAG[39] = Ns + '&#238;' + Ne; // 'initiative';
50  NAG[40] = NAG[41] = Ns + '&#239;' + Ne; // 'attack';
51  NAG[42] = NAG[43] = ''; // 'insufficient compensation for material deficit';
52  NAG[44] = NAG[45] = NAG[46] = NAG[47] = Ns + '&#167;' + Ne; // 'sufficient compensation for material deficit';
53  NAG[48] = NAG[49] = NAG[50] = NAG[51] = NAG[52] = NAG[53] = Ns + '&#191;' + Ne; // 'center control advantage';
54  for (ii = 54; ii <= 129; ii++) { NAG[ii] = ''; }
55  NAG[130] = NAG[131] = NAG[132] = NAG[133] = NAG[134] = NAG[135] = Ns + '&#124;' + Ne; // 'counterplay';
56  NAG[136] = NAG[137] = NAG[138] = NAG[139] = Ns + '&#176;' + Ne; // 'time control pressure';
57
58  NAG[140] = Nl + '&#197;' + Ne; // 'with the idea';
59  NAG[141] = ''; // 'aimed against';
60  NAG[142] = Nl + '&#196;' + Ne; // 'better is';
61  NAG[143] = ''; // 'worse is';
62  NAG[144] = Nl + '&#61;' + Ne; // 'equivalent is';
63  NAG[145] = 'RR'; // 'editorial comment';
64  NAG[146] = 'N'; // 'novelty';
65  NAG[147] = NAG[244] = Nl + '&#94;' + Ne; // 'weak point';
66  NAG[148] = NAG[245] = Nl + '&#207;' + Ne; // 'endgame';
67  NAG[149] = NAG[239] = Nl + '&nbsp;&nbsp;&#732;&nbsp;' + Ne; // 'file';
68  NAG[150] = NAG[240] = Nl + '&#92;' + Ne; // 'diagonal';
69  NAG[151] = NAG[152] = NAG[246] = Nl + '&#210;' + Ne; // 'bishop pair';
70  NAG[153] = NAG[247] = Nl + '&#211;' + Ne; // 'opposite bishops';
71  NAG[154] = NAG[248] = Nl + '&#212;' + Ne; // 'same bishops';
72  NAG[155] = NAG[156] = NAG[193] = NAG[249] = Nl + '&#217;' + Ne; // 'connected pawns';
73  NAG[157] = NAG[158] = NAG[192] = NAG[250] = Nl + '&#219;' + Ne; // 'isolated pawns';
74  NAG[159] = NAG[160] = NAG[191] = NAG[251] = Nl + '&#218;' + Ne; // 'doubled pawns';
75  NAG[161] = NAG[162] = NAG[252] = Nl + '&#8249;' + Ne; // 'passed pawn';
76  NAG[163] = NAG[164] = NAG[253] = Nl + '&#8250;' + Ne; // 'pawn majority';
77  for (ii = 165; ii <= 189; ii++) { NAG[ii] = ''; }
78  NAG[190] = Nl + '&#223;' + Ne; // 'etc';
79  NAG[194] = ''; // 'hanging pawns';
80  NAG[195] = ''; // 'backward pawns';
81  for (ii = 196; ii <= 200; ii++) { NAG[ii] = ''; }
82  NAG[201] = NAG[220] = NAG[221] = ''; // 'diagram';
83  for (ii = 202; ii <= 219; ii++) { NAG[ii] = ''; }
84  for (ii = 222; ii <= 237; ii++) { NAG[ii] = ''; }
85  NAG[238] = Nl + '&#193;' + Ne; // 'space advantage';
86  NAG[241] = Nl + '&#191;' + Ne; // 'center';
87  NAG[242] = Nl + '&#125;' + Ne; // 'kingside';
88  NAG[243] = Nl + '&#123;' + Ne; // 'queenside';
89  NAG[254] = Nl + '&#8216;' + Ne; // 'with';
90  NAG[255] = Nl + '&#95;' + Ne; // 'without';
91
92}
93
94