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); }