/*
* Copyright (c) 2010 Sonic Electronix.
* Duplication or modification is prohibited.
*/

var deal_time;
var deal_target_time;

function init_daily_deal() {
	// Get the time
	deal_target_time = new Date();
	
	// Friday after 8 AM
	if(deal_target_time.getDay() == 5 && deal_target_time.getHours() >= 8)
	{
		// Set target to Monday (72 hours after now)
		deal_target_time = new Date(deal_target_time.getTime() + 259200000);
	}
	// Saturday
	else if(deal_target_time.getDay() == 6)
	{
		// Set target to Monday (48 hours after now)
		deal_target_time = new Date(deal_target_time.getTime() + 172800000);
	}
	// Sunday
	else if(deal_target_time.getDay() == 0)
	{
		// Set target to Monday (24 hours after now)
		deal_target_time = new Date(deal_target_time.getTime() + 86400000);
	}
	// Monday through Friday before 8 AM
	else
	{
		// Before 8 AM
		if(deal_target_time.getHours() < 8)
		{
			// Nothing
		}
		else
		{
			// Set target to 24 hours after now
			deal_target_time = new Date(deal_target_time.getTime() + 86400000);	
		}
	}

	// Set target to 8 AM on whatever target date was established above
	deal_target_time = new Date(
		deal_target_time.getFullYear(),
		deal_target_time.getMonth(),
		deal_target_time.getDate(),
		8, 0, 0, 0
	);

	// Get timer parts
	var timer_parts = $('daily_deal_timer');
	
	if(timer_parts)
	{
		timer_parts = timer_parts.getElementsByTagName('span');

		// Set pointers to time elements
		deal_time = {};
		deal_time.h = timer_parts[0];
		deal_time.m = timer_parts[1];
		deal_time.s = timer_parts[2];

		// Set interval to update timer
		dealTimerIntervalHandle = setInterval(update_deal_time, 1000);

		// Show the timer
		$('daily_deal_timer').style.display = 'block';
	}
};

var dealTimerIntervalHandle = null;
function update_deal_time()
{
	// Get current numeric times
	var h = deal_time.h.innerHTML; if(h.charAt(0) == '0') h = h.substr(1);
	var m = deal_time.m.innerHTML; if(m.charAt(0) == '0') m = m.substr(1);
	var s = deal_time.s.innerHTML; if(s.charAt(0) == '0') s = s.substr(1);

	// Subtract a second
	--s;
	if(s < 0)
	{
		s = 59;
		--m;
		if(m < 0)
		{
			m = 59;
			--h;
			if(h < 0)
			{
				// Reached 0
				h = m = s = 0;
				
				// Cancel the timer update interval
				clearInterval(dealTimerIntervalHandle);
			}
		}
	}
	
	// Pad the new timer
	h = (h < 10 ? '0' + String(h) : String(h));
	m = (m < 10 ? '0' + String(m) : String(m));
	s = (s < 10 ? '0' + String(s) : String(s));
	
	// Update display
	deal_time.h.innerHTML = h;
	deal_time.m.innerHTML = m;
	deal_time.s.innerHTML = s;
}

(function($)
{
	// DOM ready
	$(function()
	{
		init_daily_deal();
	});
})(jQuery);
