124 lines
3.9 KiB
HTML
124 lines
3.9 KiB
HTML
|
<!DOCTYPE HTML>
|
||
|
<html>
|
||
|
|
||
|
<!--
|
||
|
pgn4web javascript chessboard
|
||
|
copyright (C) 2009-2013 Paolo Casaschi
|
||
|
see README file and http://pgn4web.casaschi.net
|
||
|
for credits, license and more details
|
||
|
-->
|
||
|
|
||
|
<head>
|
||
|
|
||
|
<title>pgn4web live broadcast</title>
|
||
|
|
||
|
<link rel="shortcut icon" href="pawn.ico" />
|
||
|
|
||
|
<script src="pgn4web.js" type="text/javascript"></script>
|
||
|
|
||
|
<script type="text/javascript">
|
||
|
"use strict";
|
||
|
|
||
|
var pgnFile;
|
||
|
var pgnFile_default = detectBaseLocation() ?
|
||
|
location.protocol + "//" + location.hostname + location.pathname.replace(/\/[^\/]*$/, "/live/live.pgn") :
|
||
|
"live/live.pgn";
|
||
|
// accepts pgnData as alias for pgnFile for consistency with board.html
|
||
|
if ((pgnFile = gup("pgnData")) === "") {
|
||
|
if ((pgnFile = gup("pgnFile")) === "") {
|
||
|
pgnFile = pgnFile_default;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var demoFlag = false;
|
||
|
var alertFlag = false;
|
||
|
if ((gup("demo") == "true") || (gup("demo") == "t") ||
|
||
|
(gup("refreshDemo") == "true") || (gup("refreshDemo") == "t")) {
|
||
|
demoFlag = true; alertFlag = true;
|
||
|
}
|
||
|
|
||
|
var refreshMinutes;
|
||
|
if ((refreshMinutes = gup("refreshMinutes")) === "") {
|
||
|
refreshMinutes = 1;
|
||
|
} else {
|
||
|
var testMinutes = refreshMinutes + "";
|
||
|
if ((testMinutes.match(/[^0-9\.]/)) || (refreshMinutes === 0)) {
|
||
|
if (alertFlag) {
|
||
|
alert("ERROR: refreshMinutes parameter must be a positive number.\n" +
|
||
|
"Supplied " + testMinutes + "; defaulting to 1.");
|
||
|
}
|
||
|
refreshMinutes = 1;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
SetPgnUrl(pgnFile);
|
||
|
SetShortcutKeysEnabled(true);
|
||
|
SetLiveBroadcast(refreshMinutes, alertFlag, demoFlag, false);
|
||
|
|
||
|
function customFunctionOnPgnTextLoad() {
|
||
|
var resultObject = document.getElementById("results");
|
||
|
if (resultObject) {
|
||
|
var resultString = "";
|
||
|
resultString += fillWithBlanks("white", 15) + " ";
|
||
|
resultString += fillWithBlanks("black", 15) + " ";
|
||
|
resultString += fillWithBlanks("result", 7) + " ";
|
||
|
resultString += "\n \n";
|
||
|
for (var gg = 0; gg < numberOfGames; gg++) {
|
||
|
resultString += fillWithBlanks(gameWhite[gg], 15) + " ";
|
||
|
resultString += fillWithBlanks(gameBlack[gg], 15) + " ";
|
||
|
resultString += fillWithBlanks(gameResult[gg], 7) + " ";
|
||
|
resultString += "\n";
|
||
|
}
|
||
|
resultObject.innerText = resultString;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var blanks = " ";
|
||
|
function fillWithBlanks(str, num) {
|
||
|
if (str.length >= num) { return str.substr(0, num); }
|
||
|
else { return str + blanks.substr(0, num - str.length); }
|
||
|
}
|
||
|
|
||
|
function gup(name) {
|
||
|
|
||
|
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
|
||
|
var regexS = "[\\?&]"+name+"=([^&#]*)";
|
||
|
// commented below to match first occurrence (to avoid users overruling setting)
|
||
|
// regexS = regexS+"(?!.*"+regexS+")"; // matches the LAST occurrence
|
||
|
var regex = new RegExp( regexS, "i" );
|
||
|
var results = regex.exec( window.location.href );
|
||
|
if (results !== null) { return decodeURIComponent(results[1]); }
|
||
|
|
||
|
// allows for short version of the URL parameters, for instance sC matches squareColor
|
||
|
var compact_name = name.charAt(0);
|
||
|
for (var i=1; i<name.length; i++) {
|
||
|
if (name.charAt(i).match(/[A-Z]/)) { compact_name = compact_name + name.charAt(i).toLowerCase(); }
|
||
|
}
|
||
|
name = compact_name;
|
||
|
|
||
|
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
|
||
|
regexS = "[\\?&]"+name+"=([^&#]*)";
|
||
|
// commented below to match first occurrence (to avoid users overruling setting)
|
||
|
// regexS = regexS+"(?!.*"+regexS+")"; // matches the LAST occurrence
|
||
|
regex = new RegExp( regexS, "i" );
|
||
|
|
||
|
results = regex.exec( window.location.href );
|
||
|
if (results !== null) { return decodeURIComponent(results[1]); }
|
||
|
|
||
|
return "";
|
||
|
}
|
||
|
|
||
|
</script>
|
||
|
|
||
|
</head>
|
||
|
|
||
|
<body style="margin:0px; padding:1.75em; font-family:monospace; color:black; font-size:16px;">
|
||
|
|
||
|
<pre id="results" style="font-size:16px;"></pre>
|
||
|
|
||
|
<a id="GameLiveStatus" style="text-decoration:none; color:black;" href="javascript:void(0);" onclick="refreshPgnSource(); this.blur();"></a>
|
||
|
|
||
|
</body>
|
||
|
|
||
|
</html>
|