window.onload = function () {
    var hash = document.location.hash.substring(1).split(","), options = {};
    for (var i = 0, ii = hash.length; i < ii; i++) {
        options[hash[i].split("=")[0]] = hash[i].split("=")[1];
    }
    var h1 = document.getElementById("h1"),
        h2 = document.getElementById("h2"),
        m1 = document.getElementById("m1"),
        m2 = document.getElementById("m2"),
        gap = document.getElementById("gap"),
        bodys = document.body.style,
        colors = ["#ff0000", "#ff0f00", "#ff1f00", "#ff2e00", "#ff3d00", "#ff4d00", "#ff5c00", "#ff6b00", "#ff7a00", "#ff8a00", "#ff9900", "#ffa800", "#ffb800", "#ffc700", "#ffd600", "#ffe500", "#fff500", "#faff00", "#ebff00", "#dbff00", "#ccff00", "#bdff00", "#adff00", "#9eff00", "#8fff00", "#7fff00", "#70ff00", "#61ff00", "#52ff00", "#42ff00", "#33ff00", "#24ff00", "#14ff00", "#05ff00", "#00ff0a", "#00ff1a", "#00ff29", "#00ff38", "#00ff47", "#00ff57", "#00ff66", "#00ff75", "#00ff85", "#00ff94", "#00ffa3", "#00ffb3", "#00ffc2", "#00ffd1", "#00ffe0", "#00fff0", "#00ffff", "#00f0ff", "#00e0ff", "#00d1ff", "#00c2ff", "#00b2ff", "#00a3ff", "#0094ff", "#0085ff", "#0075ff", "#0066ff", "#0057ff", "#0047ff", "#0038ff", "#0029ff", "#0019ff", "#000aff", "#0500ff", "#1400ff", "#2400ff", "#3300ff", "#4200ff", "#5200ff", "#6100ff", "#7000ff", "#8000ff", "#8f00ff", "#9e00ff", "#ad00ff", "#bd00ff", "#cc00ff", "#db00ff", "#eb00ff", "#fa00ff", "#ff00f5", "#ff00e5", "#ff00d6", "#ff00c7", "#ff00b8", "#ff00a8", "#ff0099", "#ff008a", "#ff007a", "#ff006b", "#ff005c", "#ff004c", "#ff003d", "#ff002e", "#ff001f", "#ff000f"],
        i = 0,
        rainbow = function () {
            bodys.color = colors[i++] || colors[i = 0];
        };
    if (options.color && options.color != "rainbow") {
        bodys.color = options.color;
        rainbow = function () {};
    }
    (function ticker() {
        var dt = new Date(),
            h = dt.getHours(),
            m = dt.getMinutes(),
            s = dt.getSeconds();
        h = h - (options.format == 12 && h > 12 ? 12 : 0);
        h1.className = "digit value-" + (Math.floor(h / 10) || "");
        h2.className = "digit value-" + (h % 10);
        m1.className = "digit value-" + Math.floor(m / 10);
        m2.className = "digit value-" + (m % 10);
        (!options.blink || options.blink == "yes" || options.blink == "true") && (gap.className = (s % 2 == 1) ? "blink": "");
        rainbow();
        setTimeout(ticker, 1000);
    })();
};