/*
 * countdown.js
 * Countdown handling functions
 *
 * @author Jack Weinert (lieblinx/CodeMonkz)
 */

// DP_ShowCountdown ------------------------------------------------------------
// Actualise and display the countdown.
// This function will retrigger itself automaticly.
// ------------------------------------------------------------ DP_ShowCountdown
function DP_ShowCountdown()
{
	var countdownContainer = HTML.GetElementByID("dp_countdown");
	if (countdownContainer)
	{
		var countdownEndtime = HTML.GetSubElementByID(countdownContainer,"dp_countdown_endtime");
		var countdownFormat = HTML.GetSubElementByID(countdownContainer,"dp_countdown_format");
		var countdownDisplay = HTML.GetSubElementByID(countdownContainer,"dp_countdown_display");
		if (	(countdownEndtime) && (countdownFormat) && (countdownDisplay)	)
		{
			var format = countdownFormat.innerHTML;
			
			var curDate = new Date();
			var curTime = curDate.getTime();
			var endTime = parseInt(countdownEndtime.innerHTML);
			var timeDiff = (endTime - (curTime / 1000));
			
			if (timeDiff > 0)
			{
				if (format.indexOf('[DD]') != -1)
				{
					var dayCount = Math.floor(timeDiff / (60 * 60 * 24));
					timeDiff -= dayCount * (60 * 60 * 24);
					format = format.replace('[DD]',String(dayCount));
				}
				
				if (format.indexOf('[HH]') != -1)
				{
					var hourCount = Math.floor(timeDiff / (60 * 60));
					timeDiff -= hourCount * (60 * 60);
					format = format.replace('[HH]',String(hourCount));
				}
				
				if (format.indexOf('[MM]') != -1)
				{
					var minCount = Math.floor(timeDiff / 60);
					timeDiff -= minCount * 60;
					format = format.replace('[MM]',String(minCount));
				}
				
				if (format.indexOf('[SS]') != -1)
				{
					timeDiff = Math.floor(timeDiff);
					format = format.replace('[SS]',String(timeDiff));
				}
			}
			else
			{
				format = '';
			}
			
			countdownDisplay.innerHTML = format;
		}
	}
	
	setTimeout('DP_ShowCountdown()',1000);
}

// initial trigger the countdown refresh
DP_ShowCountdown();

