
function counter(znacznik, daysImageWidth)
{
    var teraz = (new Date()).getTime();
    if (teraz/1000 > znacznik) {
        $("#counter").addClass("counter-reversed");
    }
    var roznica = Math.abs((znacznik * 1000) - teraz);
    var dni_a = (roznica / (24 * 60 * 60 * 1000));
    var dni = Math.floor(dni_a);
    var godziny_a = (dni_a - dni) * 24;
    var godziny = Math.floor(godziny_a);
    var minuty_a = (godziny_a - godziny) * 60;
    var minuty = Math.floor(minuty_a);
    var sekundy_a = (minuty_a - minuty) * 60;
    var sekundy = Math.floor(sekundy_a);

    daysHundreads = $("#counter > div.days > div.hundreads");
    daysTens = $("#counter > div.days > div.tens");
    daysOnes = $("#counter > div.days > div.ones");
    daysLabel = $("#counter > div.days > div.label");

    daysOnes.css({"background-position": "-" + (dni % 10) * daysImageWidth + "px 0"});
    if (dni >= 10) {
        daysTens.css({"background-position": "-" + (((dni % 100) - (dni % 10)) / 10) * daysImageWidth + "px 0"});
        if (dni >= 100) {
            daysHundreads.css({"background-position": "-" + (((dni - (dni % 100))) / 100) * daysImageWidth + "px 0"});
        } else {
            daysHundreads.css({"background": "0 999px"});
        }
    } else {
        daysTens.css({"background": "0 999px"});
        daysHundreads.css({"background": "0 999px"});
    }

    if (dni != 1) daysLabel.css({"background-position": "top right"});


    function update(value, tens, ones, label) {
        var imageWidth = tens.width();
        var labelWidth = label.width();

        ones.css({"background-position": "-" + (value % 10) * imageWidth + "px 0"});
        if (value >= 10) {
            tens.css({"background-position": "-" + ((value - (value % 10)) / 10) * imageWidth + "px 0"});
        } else {
            tens.css({"background-position": "999px"});
        }

        if (value == 1) {
            label.css({"background-position": "0 0"});
        } else if(2 <= (value % 10) && (value % 10) <= 4 && (value < 11 || value > 14)) {
            label.css({"background-position": "-" + labelWidth + "px 0"});
        } else {
            label.css({"background-position": "-" + 2 * labelWidth + "px 0"});
        }
    }

    hourTens = $("#counter > div.hours > div.tens");
    hourOnes = $("#counter > div.hours > div.ones");
    hourLabel = $("#counter > div.hours > div.label");

    update(godziny, hourTens, hourOnes, hourLabel);

    minutesTens = $("#counter > div.minutes> div.tens");
    minutesOnes = $("#counter > div.minutes > div.ones");
    minutesLabel = $("#counter > div.minutes > div.label");

    update(minuty, minutesTens, minutesOnes, minutesLabel);

    secondsTens = $("#counter > div.seconds> div.tens");
    secondsOnes = $("#counter > div.seconds > div.ones");
    secondsLabel = $("#counter > div.seconds > div.label");

    update(sekundy, secondsTens, secondsOnes, secondsLabel);

}
