1<!DOCTYPE HTML>
2<html>
3
4<!--
5  pgn4web javascript chessboard
6  copyright (C) 2009-2014 Paolo Casaschi
7  see README file and http://pgn4web.casaschi.net
8  for credits, license and more details
9-->
10
11<head>
12
13<title>chess games</title>
14
15<link href="collection.css" type="text/css" rel="stylesheet" />
16
17<link rel="icon" sizes="16x16" href="pawn.ico" />
18
19<script src="pgn4web.js" type="text/javascript"></script>
20<script src="fonts/chess-informant-NAG-symbols.js" type="text/javascript"></script>
21
22<script src="fide-lookup.js" type="text/javascript"></script>
23
24<script type="text/javascript">
25   "use strict";
26
27   var thisRegExp;
28
29   thisRegExp = /(&|\?)(help|h)=(true|t)(&|$)/i;
30   if (window.location.search.match(thisRegExp) !== null) {
31       alert("pgn4web collection.html parameters" + "\n" +
32             " - pgnFile=filename.pgn" + "\n" +
33             " - title=page title" + "\n" +
34             " - search=search expression" + "\n" +
35             " - help = true");
36   }
37   var pgnFilename = "";
38   thisRegExp = /(&|\?)(pgnFile|pf)=([^&]*)(&|$)/i;
39   if (window.location.search.match(thisRegExp) !== null) {
40       pgnFilename = unescape(window.location.search.match(thisRegExp)[3]);
41   } else {
42       // accepts pgnData as alias for pgnFile for consistency with board.html
43       thisRegExp = /(&|\?)(pgnData|pd)=([^&]*)(&|$)/i;
44       if (window.location.search.match(thisRegExp) !== null) {
45           pgnFilename = unescape(window.location.search.match(thisRegExp)[3]);
46       }
47   }
48   var pgnTitle = "no PGN file loaded";
49   if (pgnFilename !== "") {
50       SetPgnUrl(pgnFilename); // if set, this has precedence over the inline PGN in the HTML file
51       pgnTitle = pgnFilename;
52   }
53   thisRegExp = /(&|\?)(title|t)=([^&]*)(&|$)/i;
54   if (window.location.search.match(thisRegExp) !== null) {
55       pgnTitle = unescape(window.location.search.match(thisRegExp)[3]);
56   }
57   document.title = "chess games: " + pgnTitle;
58   thisRegExp = /(&|\?)(search|s)=([^&]*)(&|$)/i;
59   var pgnSearchTarget;
60   if (window.location.search.match(thisRegExp) !== null) {
61       pgnSearchTarget = unescape(window.location.search.match(thisRegExp)[3]);
62   } else {
63       pgnSearchTarget = "";
64   }
65
66   SetImagePath("images/alpha/36"); // use "" path if images are in the same folder as this javascript file
67   SetImageType("png");
68   SetHighlightOption(false); // true or false
69   SetGameSelectorOptions(" Event         Site          Rd  White            Black            Res  Date", true, 12, 12, 2, 15, 15, 3, 10); // (head, num, chEvent, chSite, chRound, chWhite, chBlack, chResult, chDate);
70   SetCommentsIntoMoveText(true);
71   SetCommentsOnSeparateLines(false);
72   SetAutoplayDelay(1000); // milliseconds
73   SetAutostartAutoplay(false);
74   SetAutoplayNextGame(false); // if set, move to the next game at the end of the current game during autoplay
75   SetInitialGame(1); // number of game to be shown at load, from 1 (default); values (keep the quotes) of "first", "last", "random" are accepted; other string values assumed as PGN search string
76   SetInitialVariation(0); // number for the variation to be shown at load, 0 (default) for main variation
77   SetInitialHalfmove(1, true); // halfmove number to be shown at load, 0 for start position, -1 for random halfmove
78   SetShortcutKeysEnabled(true);
79
80   function customFunctionOnPgnTextLoad() {
81     var theObj = document.getElementById('numGm');
82     if (theObj) { theObj.innerHTML = numberOfGames; }
83     searchPgnGame(pgnSearchTarget);
84   }
85
86   function customFunctionOnPgnGameLoad() {
87     var theObj = document.getElementById('currGm');
88     if (theObj) { theObj.innerHTML = currentGame+1; }
89   }
90
91   // customShortcutKey_Shift_1 defined by fide-lookup.js
92   // customShortcutKey_Shift_2 defined by fide-lookup.js
93
94</script>
95
96</head>
97
98<body>
99
100<!-- paste your PGN below and make sure you dont specify an external source with SetPgnUrl() -->
101<form style="display: none;"><textarea style="display: none;" id="pgnText">
102
103</textarea></form>
104<!-- paste your PGN above and make sure you dont specify an external source with SetPgnUrl() -->
105
106<table class="containerTable">
107
108<tr valign=bottom>
109<td class="containerCell" colspan=2>
110<div style="font-size: 200%; font-weight: bold; text-align: center;">
111<script type="text/javascript">
112document.write(simpleHtmlentities(pgnTitle));
113</script>
114
115</div>
116</td>
117</tr>
118
119<tr valign=bottom>
120<td class="containerCell" colspan=2>
121<div id="GameSelector"></div>
122<div id="GameSearch" style="white-space:nowrap;"></div>
123</td>
124
125</tr>
126
127<tr valign=top>
128
129<td class="containerCell" align="left" width=50%>
130<div id="GameBoard"></div>
131<p></p>
132<div id="GameButtons"></div>
133</td>
134
135<td class="containerCell" width=50% style="text-align: left;">
136
137<table>
138<tr><td class="label">date</td><td><span id="GameDate"></span>&nbsp;</td></tr>
139<tr><td class="label">site</td><td><span style="white-space: nowrap;" id="GameSite"></span>&nbsp;</td></tr>
140<tr><td colspan=2 class="rowSpace"></td></tr>
141<tr><td class="label">event</td><td><span style="white-space: nowrap;" id="GameEvent"></span>&nbsp;</td></tr>
142<tr><td class="label">round</td><td><span id="GameRound"></span>&nbsp;</td></tr>
143<tr><td colspan=2 class="rowSpace"></td></tr>
144<tr><td class="label">white</td><td class="boldItem"><span style="white-space: nowrap;" id="GameWhite"></span>&nbsp;</td></tr>
145<tr><td class="label">black</td><td class="boldItem"><span style="white-space: nowrap;" id="GameBlack"></span>&nbsp;</td></tr>
146<tr><td colspan=2 class="rowSpace"></td></tr>
147<tr><td class="label">result</td><td class="boldItem"><span id="GameResult"></span>&nbsp;</td></tr>
148<tr><td colspan=2 class="rowSpace"></td></tr>
149<tr><td class="label">last</td><td class="move"><span id="GameLastMove"></span>&nbsp; &nbsp;<span id="GameLastVariations"></span></td></tr>
150<tr><td class="label">next</td><td class="move"><span id="GameNextMove"></span>&nbsp; &nbsp;<span id="GameNextVariations"></span></td></tr>
151<!--
152<tr><td class="label">side</td><td><span id="GameSideToMove"></span>&nbsp;</td></tr>
153-->
154<tr><td colspan=2 class="rowSpace"></td></tr>
155<tr><td class="label">game</td><td><span id=currGm>0</span>&nbsp;(<span id=numGm>0</span>)</td></tr>
156<tr><td class="label">archive</td>
157<td>
158<script type="text/javascript">
159  if (pgnFilename) {
160    document.write('<a class="linkItem" href="' + pgnFilename + '">' + pgnFilename + '</a>');
161  }
162</script>
163&nbsp;</td>
164<!--
165<tr><td colspan=2 class="rowSpace"></td></tr>
166<tr><td class="label">Move comment</td><td><span id="GameLastComment"></span>&nbsp;</td></tr>
167-->
168</table>
169
170</td>
171
172</tr>
173
174<tr valign=top>
175<td class="gametextContainerCell" style="text-align: justify;" colspan=2>
176<div class="gametextDiv" id="GameText"></div>
177</td>
178</tr>
179
180</table>
181
182</body>
183
184</html>
185
186
187