var Msecond    = 1000;
var Mminute    = 60 * Msecond;
var Mhour      = 60 * Mminute;
var Mday       = 24 * Mhour;

function set_countdown_updater (end_time_string, update_element_id)
{
    var end_time = new Date(end_time_string);

    var updater = function ()
    {
        var update_element = document.getElementById(update_element_id);

        var time_left_milliseconds = end_time - serverdate;

        //console.log(serverdate, currenttime, end_time, end_time_seconds);

        var days    = Math.floor(time_left_milliseconds / Mday);
        time_left_milliseconds  -= days * Mday;
        var hours   = Math.floor(time_left_milliseconds / Mhour);
        time_left_milliseconds  -= hours * Mhour;
        var minutes = Math.floor(time_left_milliseconds / Mminute);
        time_left_milliseconds  -= minutes * Mminute;
        var seconds = Math.floor(time_left_milliseconds / Msecond);
        time_left_milliseconds  -= seconds * Msecond;
        var miliseconds = time_left_milliseconds;

        var result = ''; //days+'d '+hours+'h '+minutes+'m '+seconds+'s';
        if(seconds > 0 || minutes > 0 || hours > 0 || days > 0)
            result = seconds+'s'+result;
        if(minutes > 0 || hours > 0 || days > 0)
            result = minutes+'m '+result;
        if(hours > 0 || days > 0)
            result = hours+'h '+result;
        if(days > 0)
            result = days+'d '+result;

        if(days == 0 && hours == 0 && (minutes > 0 || seconds > 0))
            result = '<span class="endingsoonText">'+result+'</span>';

        update_element.innerHTML = result;
    }

    happens_every_second.push(updater);
}

