var timer_dateNow = new Date();
var timer_yearNow = timer_dateNow.getFullYear();
var timer_monthNow = timer_dateNow.getMonth();
var timer_dayNow = timer_dateNow.getDate();

var timer_nowHour = timer_dateNow.getHours();
var timer_nowMinute = timer_dateNow.getMinutes();
var timer_nowSecond = timer_dateNow.getSeconds();

var timer_LeadingZero = true;
var timer_DisplayFormat = "%%M%% : %%S%%";
//timer_DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";
var timer_CountActive = false;
var timer_CountStepper = -1;
var timer_SetTimeOutPeriod = 990; // 1 second
var timer_FinishMessage = "";
var timer_divId = "";
var timerInterval = 0;
var flashingInterval = 0;

function runCountdownTimer(divId, minutes, seconds) {
    timer_divId = divId;
    clearInterval(flashingInterval);
    if (!(parseFloat(minutes) == 0 && parseFloat(seconds) == 0)) {
        timer_CountActive = true;
        if (timer_divId == 'cntdwn') setNormalAlphaCursor(document.getElementById('timer'));
        else if (timer_divId == 'summary_cntdwn') {
            setNormalAlphaCursor(document.getElementById('summary_timer'));
            if (document.getElementById('paymentOperatorEPAY').checked || document.getElementById('paymentOperatorEPAY').checked) {
                if (document.getElementById('payment_btn_id') != undefined)
                    setNormalAlphaCursor(document.getElementById('payment_btn_id'));
            } else {
                if (document.getElementById('payment_btn_id') != undefined)
                    setDisabledAlphaNotAllowedCursor(document.getElementById('payment_btn_id'));
            }
        }
        timer_CountStepper = Math.ceil(timer_CountStepper);
        if (timer_CountStepper == 0)
            timer_CountActive = false;
        timer_SetTimeOutPeriod = (Math.abs(timer_CountStepper) - 1) * 1000 + 990;
        var offset = (parseInt(minutes, 10) * 60 * 1000) + (parseInt((seconds - 1), 10) * 1000);
        //		var offset = (parseInt(0,10) * 60 * 1000) + (parseInt(15,10) * 1000);
        var dnow = new Date();
        var dthen = new Date();
        dthen.setTime(dnow.getTime() + parseFloat(offset));

        if (timer_CountStepper > 0)
            ddiff = new Date(dnow - dthen);
        else
            ddiff = new Date(dthen - dnow);
        gsecs = Math.floor(ddiff.valueOf() / 1000);
        if (gsecs > 10) setDefaultTimerStatus();
        CountBack(gsecs);
    } else {
        clearInterval(timerInterval);
        if (timer_divId == 'cntdwn') setDisabledAlphaCursor(document.getElementById('timer'));
        if (document.getElementById(timer_divId) != undefined)
            document.getElementById(timer_divId).innerHTML = '';
    }
}
;
function calcage(secs, num1, num2) {
    s = ((Math.floor(secs / num1)) % num2).toString();
    if (timer_LeadingZero && s.length < 2)
        s = "0" + s;
    return "<b>" + s + "</b>";
}
;
function setDefaultTimerStatus() {
    document.getElementById('timer_' + timer_divId + '_left_border_id').src = 'images/ticket_timer_left_border.gif';
    document.getElementById('timer_' + timer_divId + '_bg_id').style["backgroundImage"] = 'url(images/ticket_timer_bg.gif)';
    document.getElementById('timer_' + timer_divId + '_right_border_id').src = 'images/ticket_timer_right_border.gif';
    document.getElementById(timer_divId).className = 'ticket-count';
    document.getElementById(timer_divId).style.visibility = 'visible';
}
function flashingTimer() {
    if (document.getElementById('timer_' + timer_divId + '_bg_id').style["backgroundImage"] == 'url(images/ticket_timer_bg.gif)') {
        document.getElementById('timer_' + timer_divId + '_left_border_id').src = 'images/ticket_timer_alert_l_border.gif';
        document.getElementById('timer_' + timer_divId + '_bg_id').style["backgroundImage"] = 'url(images/ticket_timer_alert_bg.gif)';
        document.getElementById('timer_' + timer_divId + '_right_border_id').src = 'images/ticket_timer_alert_r_border.gif';
        document.getElementById(timer_divId).className = 'warning-red';
        document.getElementById(timer_divId).style.visibility = 'visible';
    } else {
        document.getElementById('timer_' + timer_divId + '_left_border_id').src = 'images/ticket_timer_left_border.gif';
        document.getElementById('timer_' + timer_divId + '_bg_id').style["backgroundImage"] = 'url(images/ticket_timer_bg.gif)';
        document.getElementById('timer_' + timer_divId + '_right_border_id').src = 'images/ticket_timer_right_border.gif';
        document.getElementById(timer_divId).style.visibility = 'hidden';
    }
}
;
function CountBack(secs) {
    if (secs <= 0) {
        document.getElementById(timer_divId).style.visibility = 'visible';
        document.getElementById(timer_divId).className = 'ticket-count';
        document.getElementById(timer_divId).innerHTML = timer_FinishMessage;
        clearInterval(flashingInterval);
        clearInterval(timerInterval);
        clearAllLockedSeats();
        hideSummaryTooltip();
        showTicketsAndVehiclesTooltip();
        return;
    } else if (secs <= 10) {
        // flashing timer
        clearInterval(flashingInterval);
        flashingInterval = setInterval("flashingTimer()", 445);
        //end flashing timer
    }
    DisplayStr = timer_DisplayFormat.replace(/%%D%%/g, calcage(secs, 86400, 100000));
    DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs, 3600, 24));
    DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs, 60, 60));
    DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs, 1, 60));

    document.getElementById(timer_divId).innerHTML = DisplayStr;
    if (timer_CountActive) {
        clearInterval(timerInterval);
        timerInterval = setInterval("CountBack(" + (secs + timer_CountStepper) + ")", timer_SetTimeOutPeriod);
    }
}
;