// Calculate Day Light Savings Time
var dst = 0;
var startDST = new Date();
var endDST = new Date();
startDST.setMonth(2);
startDST.setHours(1);
startDST.setDate(31);
var dayDST = startDST.getDay();
startDST.setDate(31-dayDST);
endDST.setMonth(9);
endDST.setHours(0);
endDST.setDate(31);
dayDST = endDST.getDay();
endDST.setDate(31-dayDST);
var currentTime = new Date();
var aT = amsterdamTime(0);
currentTime.setMonth(aT.month);
currentTime.setYear(aT.year);
currentTime.setDate(aT.day);
currentTime.setHours(aT.hr);
if(currentTime >= startDST && currentTime < endDST){
	dst = 1;
}

$(document).ready(function(){
	setAmsterdamTime();
});

function setAmsterdamTime()
{
	d = new amsterdamTime( dst );
	$('#time').text( d.hr+':'+d.min+':'+d.sec );
	setTimeout( "setAmsterdamTime()", 1000);
}

// Calculate Amsterdam local time
function amsterdamTime( dst ) {
	var time = new Date();
	var gmtMS = time.getTime() + (time.getTimezoneOffset() * 60000);
	var gmtTime = new Date(gmtMS);
	var day = gmtTime.getDate();
	var month = gmtTime.getMonth();
	var year = gmtTime.getYear();
	if(year < 1000){
		year += 1900;
	}

	var monthDays = new Array("31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31");
	if (year%4 == 0){
		monthDays = new Array("31", "29", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31");
	}
	if(year%100 == 0 && year%400 != 0){
		monthDays = new Array("31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31");
	}

	var hr = gmtTime.getHours() + 1;
	var min = gmtTime.getMinutes();
	var sec = gmtTime.getSeconds();
	
	if (dst == 1){
		hr -= -1;
	}
	if (hr >= 24){
		hr = hr-24;
		day -= -1;
	}
	if (hr < 10){
		hr = " " + hr;
	}
	if (min < 10){
	min = "0" + min;
	}
	if (sec < 10){
	sec = "0" + sec;
	}
	if (day <= 0){
		if (month == 0){
			month = 11;
			year -= 1;
		} else {
			month = month -1;
		}
		day = monthDays[month];
	}
	if(day > monthDays[month]){
		day = 1;
		if(month == 11){
			month = 0;
			year -= -1;
		} else {
		month -= -1;
		}
	}
	
	return { sec:sec, min:min, hr:hr, day:day, month:month, year:year };
}

