Add estimated ECF grade to ChessTempo statistics page.
// ==UserScript==
// @name ChessTempo ECF Grade Estimate
// @namespace http://xyxyx.org/
// @include http://chesstempo.com/chess-statistics.html*
// @version 3
// @grant none
// @description Add estimated ECF grade to ChessTempo statistics page.
// ==/UserScript==
var regex = new RegExp(/^FIDE Estimated Rating based on ([^:]*): (\d+)/);
var summaryChildren = document.getElementById("summaryTab").childNodes;
function log(message) {
console.log("ChessTempo ECF Grade Estimate: " + message);
}
function fide_to_ecf(fide) {
return Math.round((fide-650)/8);
}
try {
log("Editing page to show ECF grade");
for (var i = 0; i < summaryChildren.length; i++) {
var child = summaryChildren.item(i);
var data = child.data;
if (data) {
var match = regex.exec(data);
if (match && match.length > 2) {
log("Found a match: " + match[0]);
var basis = match[1];
var fide = match[2];
log("FIDE: " + fide);
var ecf = fide_to_ecf(fide);
log ("ECF: " + ecf);
child.data = "Estimated rating based on " + basis + ": " + fide + " FIDE / " + ecf + " ECF";
}
}
}
} catch (e) {
log("Error: " + e);
}