// Get Auction Ids from tags like:	<input type="hidden" name="AuctionId" value="172881" />
// Send timer updates to tags like:	<span id="AuctionTimeRemaining172881"></span>


$(document).ready( function(){
	AuctionTimerManager.Start();
});

var AuctionTimerManager = {
	
	currentTimeout:null,
	currentTimer : null,
	
	Start : function(){
		
		this.Destroy();
		
		var self = this, 
		auctionIdInputs = $('input[type=hidden][name=AuctionId]'),
		auctionIds = [], i;

		for (i = 0; i < auctionIdInputs.length; i++) {
			auctionIds.push(auctionIdInputs[i].value);
		}

		this.currentTimer = new AuctionTimer(auctionIds, {onUpdate: self.Update });
		this.currentTimeout = this.currentTimer.timeout;
		
		return;
	},
	
	Destroy : function(){
		try{
			clearTimeout(this.currentTimeout);
		}catch(e){}
		
		delete(this.currentTimer);
		
		return;
	},
	
	Update : function(auctionId, timeRemainingInfo){
		if (timeRemainingInfo.timeRemaining <= 0){
			$('#AuctionTimeRemaining' + auctionId).html('Auction Ended');
		} else {
			// Assign the time components and 0 pad them if needed.
			// Note the values are implicitly converted from ints to strings
			var hours = (24 * timeRemainingInfo.days) + timeRemainingInfo.hours;
			if (hours < 10) { hours = '0' + hours; }
	
			var minutes = timeRemainingInfo.minutes;
			if (minutes < 10) { minutes = '0' + minutes; }
	
			var seconds = timeRemainingInfo.seconds;
			if (seconds < 10) { seconds = '0' + seconds; }
	
			var fractionOfSecond = Math.floor(10 * timeRemainingInfo.miliseconds / 1000);
	
			var timeString = minutes + ':' + seconds;
			if (hours != '00') { timeString = hours + ':' + timeString; }
	
			if (timeRemainingInfo.timeRemaining < AuctionTimer.msPerHour) { timeString += '.' + fractionOfSecond; }
	
			$('#AuctionTimeRemaining' + auctionId).html(timeString);
		}
		return;
	}
		
};







