function padout(number){
	return(number<10)?'0'+number:number;
}

if((navigator.appVersion.indexOf('MSIE 3')==-1))
	var fiddle=1;
else
	var fiddle=-1;

function setClock(){
	var time=new Date();

	var arrDaysOfWeek;
	var arrMonthOfYear;

	arrDaysOfWeek=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
	arrMonthOfYear=new Array('January','February','March','April','May','June','July','August','September','October','November','December');

	var strUKTime='GMT';

	if(blBST){
		strUKTime='BST';
	}

	time.setTime(time.getTime()+time.getTimezoneOffset()*60*1000*fiddle+0*60*60*1000+((blBST)?60*60*1000:0));

	document.getElementById('ukdatetime').innerHTML=arrDaysOfWeek[time.getDay()]+', '+time.getDate()+' '+arrMonthOfYear[time.getMonth()]+' '+time.getFullYear()+', '+padout(time.getHours())+':'+padout(time.getMinutes())+':'+padout(time.getSeconds())+' ('+strUKTime+')';
}

var intTimeonServer;
var blBST=false;

//matts code follows
var dNow=new Date();
var strGMT=dNow.toGMTString();
var strLocale=dNow.toLocaleTimeString();

strGMT=strGMT.match(/(\d{1,2})\:\d{1,2}\:\d{1,2}/)[1];
strLocale=strLocale.match(/(\d{1,2})\:\d{1,2}\:\d{1,2}/)[1];

if(strGMT!=strLocale){
	blBST=true
}
//matts code ends

function updateClocks(intTime){
	if(intTime){
		intTimeonServer=intTime
		var time=new Date();
		//var intTimeonClient=time.getTime();
		var intTimeonClient=time.setTime(time.getTime()+time.getTimezoneOffset()*60*1000*fiddle+0*60*60*1000);
		intTimeonClient=(intTimeonClient/1000)-1193702400;
		
		//alert(intTimeonServer-intTimeonClient);
		if(intTimeonServer-intTimeonClient>350){
			blBST=true;
		}
	}
	setClock();
    setTimeout('updateClocks()',500);
}

