Countdown Timer for the Random Encounter event on E-Hentai.org

Adds a countdown timer for the Random Encounter event on the E-Hentai front page.

As of 2014-08-04. See the latest version.

// ==UserScript==
// @name            Countdown Timer for the Random Encounter event on E-Hentai.org
// @description     Adds a countdown timer for the Random Encounter event on the E-Hentai front page.
// @include         http://e-hentai.org/
// @version 0.0.1.20140804020516
// @namespace https://greasyfork.org/users/2233
// ==/UserScript==

var wnd = window
var doc = wnd.document
var loc = location
var href = loc.href

if(/^http:\/\/e-hentai\.org\/$/.test(href))
{
    var get_cookie = function(k) {
        var cookies = doc.cookie.split('; ')
        for(var i=cookies.length-1; i>=0; i--) { if(new RegExp(k+'=').test(cookies[i])) { return cookies[i].substring(k.length+1) } }
    }
    var set_cookie = function(k, v) {
        doc.cookie = k + '=' + v + '; expires=Fri, 31 Dec 9999 23:59:59 GMT; domain=.e-hentai.org'
    }

    var re_cnt = get_cookie('re_cnt')
    if(typeof re_cnt == 'undefined') { set_cookie('re_cnt', 0) }

    var timer_box = doc.createElement('DIV')
    timer_box.id = 'countdown_timer'
    timer_box.style.color = '#ff0000'
    doc.getElementById('newshead').appendChild(timer_box)

    var update_timer = function()
    {
        var next_re = parseInt(get_cookie('event')) + 1800
        if(isNaN(next_re)) { alert('The "event" cookie does not exist.'); return }

        var now = Math.floor(new Date().getTime()/1000)
        var diff = next_re - now
        if(diff <= 0) { doc.getElementById('countdown_timer').innerHTML = 're_cnt=' + get_cookie('re_cnt') + '; Ready!' }
        else
        {
            var mm = Math.floor(diff / 60) + ''
            mm = (mm.length >= 2 ? mm : '0' + mm)
            var ss = Math.floor(diff % 60) + ''
            ss = (ss.length >= 2 ? ss : '0' + ss)
            doc.getElementById('countdown_timer').innerHTML = 're_cnt=' + get_cookie('re_cnt') + '; next=' + mm + ':' + ss
            setTimeout(update_timer, 1000)
        }
    }
    addEventListener('load', update_timer, false)

    var hv_lnk = doc.querySelector('#eventpane a')
    if(hv_lnk)
    {
        hv_lnk.addEventListener('click', function() {
            //doc.getElementById('eventpane').style.display = 'block'
            set_cookie('re_cnt', parseInt(get_cookie('re_cnt'))+1)
        }, false)
    }
}