/*************
 * Written by Erik Rasmussen (erikwordpresswidgets -at- gmail)
 * http://www.erik-rasmussen.com/blog/2007/04/08/wordpress-countdown-widget/
 **/
var Duration = Class.create();
Duration.prototype =
{
	units:
	{
		day: 'dzień',
		days: 'dni',
		d: ' ',
		hour: 'godzina',
		hours: 'godzin',
		minute: 'minuta',
		minutes: 'minut',
		second: 'sekunda',
		seconds: 'sekund'
	},

	initialize: function(milliseconds, abbreviated)
	{
		this.milliseconds = milliseconds;
		this.abbreviated = abbreviated;
	},

	toString: function()
	{
		var days = Math.floor(this.milliseconds / 86400000);
		var remainder = this.milliseconds - days * 86400000;
		var hours = Math.floor(remainder / 3600000);
		remainder -= hours * 3600000;
		var minutes = Math.floor(remainder / 60000);
		remainder -= minutes * 60000;
		var seconds = Math.floor(remainder / 1000);
		remainder -= seconds * 1000;
		var buffer = [];
		var buffer2 = [];
		var buffer3 = [];

		if (days<0)
		{
			buffer.push('spotkanie już się odbyło')
			return [buffer.join(''),buffer2.join('')];
		}

		if (days > 0)
		{
			buffer.push(days);
			if (this.abbreviated)
				buffer2.push(days > 1 ? this.units.days+"&nbsp;&nbsp;" : this.units.day+" ");
				/*buffer2.push('dni&nbsp;&nbsp;godzin&nbsp;&nbsp;minut&nbsp;&nbsp;sekund');*/
/*
				buffer2.push(days > 1 ? this.units.days : this.units.day);
			    buffer2.push('&nbsp;&nbsp;&nbsp;');
*/
			else
			{
				buffer.push(' ');
				buffer.push(days > 1 ? this.units.days : this.units.day);
			}
		}
		if (this.abbreviated)
		{
			if (buffer.length > 0)
				buffer.push(':  ');
			if (hours < 10)
				buffer.push('0');
			buffer.push(hours);
			buffer.push(' : ');
			if (minutes < 10)
				buffer.push('0');
			buffer.push(minutes);
			buffer.push(' : ');
			if (seconds < 10)
				buffer.push('0');
			buffer.push(seconds);

			buffer2.push(hours = 1 ? this.units.hours+"&nbsp;&nbsp;" : this.units.hour+"&nbsp;");	
			buffer2.push(minutes > 1 ? this.units.minutes+"&nbsp;&nbsp;" : this.units.minute+"&nbsp;");		
			buffer2.push(this.units.seconds);
/*
			buffer2.push(hours > 1 ? this.units.hours : this.units.hour);
			buffer2.push('&nbsp;&nbsp;&nbsp;');
			
			buffer2.push(minutes > 1 ? this.units.minutes : this.units.minute);
			buffer2.push('&nbsp;&nbsp;&nbsp;');
			
			buffer2.push(seconds > 1 ? this.units.seconds : this.units.second);
*/
		}
		else
		{
			var out = function(value, singularUnit, pluralUnit)
			{
				if (value > 0)
				{
					if (buffer.length > 0)
						buffer.push(', ');
					buffer.push(value);
					buffer.push(' ');
					if (value > 1)
						buffer.push(pluralUnit);
					else
						buffer.push(singularUnit);
				}
			}
			out(hours, this.units.hour, this.units.hours);
			out(minutes, this.units.minute, this.units.minutes);
			out(seconds, this.units.second, this.units.seconds);
		}
		return [buffer.join(''),buffer2.join('')];
	}
}
Duration.countdown = function(element, element2, date, abbreviated)
{
	element = $(element);
	element2 = $(element2);
	var refresh = function()
	{
		var milliseconds = date - new Date();
		var duration = new Duration(milliseconds, abbreviated);
		element.innerHTML = duration.toString()[0];
		element2.innerHTML = duration.toString()[1];
		window.setTimeout(refresh, 1000);
	}
	refresh();
}
