﻿function CountTimer(counterID, expireDate, startCountingDate) {
    var ex_tmp = expireDate.split('/');
    var ex_date_new = ex_tmp[1] + '/' + ex_tmp[0] + '/' + ex_tmp[2];
    var st_tmp = startCountingDate.split('/');
    var st_date_new = st_tmp[1] + '/' + st_tmp[0] + '/' + st_tmp[2];

    var tmpDate = Math.abs(new Date(ex_date_new) - new Date(st_date_new));
    var interval;

    this.Start = function () {
        if (new Date(ex_date_new) > new Date(st_date_new)) {
            interval = setInterval(editTimer, 1000);
        } else {
            document.getElementById(counterID).innerHTML = 'CLOSED';
            document.getElementById(counterID).style.color = 'red';
            document.getElementById(counterID).style.fontWeight = 'bold';
        }
    }

    var editTimer = function () {
        //Show time
        document.getElementById(counterID).innerHTML = time(tmpDate);
        document.getElementById(counterID).style.fontWeight = 'bold';

        if (tmpDate > 3600000) {
            document.getElementById(counterID).style.color = 'green';
        } else if ((tmpDate > 600000) && (tmpDate <= 3600000)) {
            document.getElementById(counterID).style.color = '#ff9900';
        } else {
            document.getElementById(counterID).style.color = 'red';
        }

        //Next cycle
        tmpDate = tmpDate - 1000;

        if (tmpDate < 0) {
            clearInterval(interval);
            document.getElementById(counterID).innerHTML = 'CLOSED';
        }
    }
}

function two(x) { return ((x > 9) ? "" : "0") + x }

function time(ms) {
    var sec = Math.floor(ms / 1000)

    var min = Math.floor(sec / 60)
    sec = sec % 60
    t = two(sec)

    var hr = Math.floor(min / 60)
    min = min % 60
    t = two(min) + ":" + t

    var day = Math.floor(hr / 24)
    hr = hr % 24
    t = two(hr) + ":" + t
    t = day + " - " + t

    return t
}
