var now=new Date().valueOf();

function timer_clock( timedelay ) {

	//var atoms = timedelay.split(":");
	//delay = ((parseInt(atoms[0]) * 60) + parseInt(atoms[1])) *1000 ;
    delay = parseInt(timedelay);
    if( ! timer_clock.baseline ) {
        timer_clock.baseline = now + parseInt(delay);
    }
	var tick = timer_clock.baseline - new Date().valueOf();
	var tickDate = new Date(tick);
	var new_value;

	if( tick > 0 ) {
        if (tickDate.toTimeString) {
            timer_clock.timerid = setTimeout("timer_clock('" + timedelay + "')", 1000 );
            //alert(tickDate.toTimeString());
            new_value = tickDate.toTimeString().substr(3,5);
	    }
    }
	else {
        clearTimeout(timer_clock.timerid);
        new_value = "0:00";
	}
    if(document.getElementsByName){
        timers = document.getElementsByName("Timer");
        for( var i = 0; i < timers.length ; i++) {
            timers[i].value = new_value ; 
	    }
	} 
}


function timer_display(endtime, label, format) {

    delay = endtime - (new Date().valueOf())

    if (endtime == 0) return;

    if (delay <= 0) {
        //clearTimeout(timer_display.timerid);
        delay = 0;
    }
    else {
        timer_display.timerid = setTimeout("timer_display(" + endtime + ", '" + label + "', " + format + ")", 1000 );
        //alert(label + ":" + timer_display.timerid);
    }

    displayDelay = format_delay(format, delay);
    //alert(label + ":" + displayDelay);
    if (document.getElementById(label)) {
        //document.getElementById(label).value = displayDelay;
        document.getElementById(label).innerHTML = displayDelay;
    }
}

function format_delay(format, delay) {

    if (format == 1) {
        delayDay = parseInt(delay/(1000 * 60 * 60 * 24), 10);
        delay = delay%(1000 * 60 * 60 * 24);
        
        delayHour = parseInt(delay/(1000 * 60 * 60), 10);
        delay = delay%(1000 * 60 * 60);
    
        delayMin = parseInt(delay/(1000 * 60), 10);
        delay = delay%(1000 * 60);
    
        delaySecs = parseInt(delay/(1000), 10);
        delay = delay%(1000);

        return delayDay + " days " + delayHour + " hrs " + delayMin + " mins " + ((delaySecs < 10) ? "0" + delaySecs : delaySecs) + " secs"
    
    }
    else if (format == 2) {

        delayHour = parseInt(delay/(1000 * 60 * 60), 10);
        delay = delay%(1000 * 60 * 60);
    
        delayMin = parseInt(delay/(1000 * 60), 10);
        delay = delay%(1000 * 60);
    
        delaySecs = parseInt(delay/(1000), 10);
        delay = delay%(1000);

        return delayHour + ":" + delayMin + ":" + ((delaySecs < 10) ? "0" + delaySecs : delaySecs)
    }

}