var month = '0'; 
var day = '+1';   
var dow = 0;
var hour = 14;
var toHour = hour;
var tz = 1;
var lab = 'cd';

function start()
{
	displayCountdown(setCountdown(month,day,hour,tz),lab);
}

loaded(lab,start);

var pageLoaded = 0;
window.onload = function() { pageLoaded = 1; }

function loaded(i,f)
{
	if (document.getElementById && document.getElementById(i) != null)
	{
		f();
	} else if (!pageLoaded)
	{
		setTimeout('loaded(\''+i+'\','+f+')',100);
	}
}

function setCountdown(month,day,hour,tz)
{
	var m = month;
	if (month=='*') m = 0;
	var c = setC(m,day,hour,tz);
	if (month == '*' && c < 0)  c = setC('*',day,hour,tz);
	return c;
}

function setC(month,day,hour,tz)
{
	var toDate = new Date();
	var fromDate = new Date();

	if (fromDate.getHours() > toHour || (fromDate.getHours() == toHour && fromDate.getMinutes() > 0))
	{
		toDate.setDate(toDate.getDate()+1);
	}

	// next day, if holiday
	if (toDate.getYear() == 111 && toDate.getMonth() == 5 && toDate.getDate() == 24)
	{
		toDate.setDate(27);
	}

	if (toDate.getYear() == 111 && toDate.getMonth() == 11 && toDate.getDate() == 25)
	{
		toDate.setDate(26);
	}

	if (toDate.getYear() == 2011 && toDate.getMonth() == 12 && toDate.getDate() == 26) toDate.setDate(toDate.getDate()+1);

	if (month == '*')
	{
		toDate.setMonth(toDate.getMonth() + 1);
	} else if (month > 0)
	{
		if (month <= toDate.getMonth())
		{
			toDate.setYear(toDate.getYear() + 1);
		}
		toDate.setMonth(month-1);
	}

	if (fromDate.getDay() == 5 && (fromDate.getHours() > toHour || (fromDate.getHours() == toHour && fromDate.getMinutes() > 0)))
	{
		toDate.setDate(toDate.getDate() + 2);
	}

	if (fromDate.getDay() == 6)
	{
		toDate.setDate(toDate.getDate() + 1);
	}

	if ((fromDate.getDay() == 6 || fromDate.getDay() == 0) && fromDate.getHours() < toHour)
	{
		toDate.setDate(toDate.getDate() + 1);
	}

	toDate.setHours(hour);
	toDate.setMinutes(0-(tz*60));
	toDate.setSeconds(0);

	// alert(fromDate.getDate() + 'd ' + fromDate.getHours() + 'h ' + fromDate.getMinutes()); 
	// alert(toDate.getDate() + 'd ' + toDate.getHours() + 'h ' + toDate.getMinutes()); 

	fromDate.setMinutes(fromDate.getMinutes() + fromDate.getTimezoneOffset());
	var diffDate = new Date(0);
	diffDate.setMilliseconds(toDate - fromDate);
	return Math.floor(diffDate.valueOf()/1000);
}

function displayCountdown(countdn,cd) 
{
	if (countdn < 0) document.getElementById(cd).innerHTML = "-"; else 
	{
		var secs = countdn % 60; 
		if (secs < 10) secs = '0'+secs;
		var countdn1 = (countdn - secs) / 60;
		var mins = countdn1 % 60; 
		if (mins < 10) mins = '0'+mins;
		countdn1 = (countdn1 - mins) / 60;
		var hours = countdn1 % 24;
		var days = (countdn1 - hours) / 24;

		if (days > 0) hours = hours + (days * 24);
		document.getElementById(cd).innerHTML = +hours+' tim '+mins+' min '+secs+' sek';setTimeout('displayCountdown('+(countdn-1)+',\''+cd+'\');',999);
	}
}

