function wise_time() {
var today = new Date();
var UTCdiff = 0;
var day  = today.getDate();
var hour = today.getHours();
var year  = today.getYear();
if (year < 2000) year = year + 1900; 
var month = today.getMonth();
var monthname = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
var hourUTC = today.getUTCHours();
var diff = hour - hourUTC;
var hourdifference = Math.abs(diff);
var minute = today.getMinutes();
var mins = minute;
var minuteUTC = today.getUTCMinutes();
var minutedifference;
var second = today.getSeconds();
var timezone;
var daysuffix;
var date;
var time;
var bststart = new Array();
var bstend = new Array();
var dststart = new Array();
var dstend = new Array();
var utcnow;
var iyear;
var imonth;
var iday;
var ihour;
var imin;
var isec;
var now = new Date();

iyear = today.getYear();
if (iyear < 2000) iyear = iyear + 1900; 
imonth = today.getMonth() + 1;
iday = today.getDate();
ihour = today.getHours();
imin = today.getMinutes();
isec = today.getSeconds();

utcnow = Date.UTC(2007, 04, 01, 01, 0, 0);
//alert(utcnow + " " + iyear + " " + imonth + " " + iday);
utcnow = Date.UTC(iyear, imonth, iday, ihour, imin, isec);
//alert(utcnow + " " + iyear + " " + imonth + " " + iday);

bststart[0] = Date.UTC(2006, 03, 26, 1, 0, 0, 0);
bststart[1] = Date.UTC(2007, 03, 25, 1, 0, 0, 0);
bststart[2] = Date.UTC(2008, 03, 30, 1, 0, 0, 0);
bststart[3] = Date.UTC(2009, 03, 29, 1, 0, 0, 0);
bststart[4] = Date.UTC(2010, 03, 28, 1, 0, 0, 0);
bststart[5] = Date.UTC(2011, 03, 27, 1, 0, 0, 0);
bststart[6] = Date.UTC(2012, 03, 25, 1, 0, 0, 0);
bststart[7] = Date.UTC(2013, 03, 31, 1, 0, 0, 0);
bststart[8] = Date.UTC(2014, 03, 30, 1, 0, 0, 0);
bststart[9] = Date.UTC(2015, 03, 29, 1, 0, 0, 0);
							 
bstend[0] = Date.UTC(2006, 10, 29, 1, 0, 0, 0);
bstend[1] = Date.UTC(2007, 10, 27, 1, 0, 0, 0);
bstend[2] = Date.UTC(2008, 10, 26, 1, 0, 0, 0);
bstend[3] = Date.UTC(2009, 10, 25, 1, 0, 0, 0);
bstend[4] = Date.UTC(2010, 10, 31, 1, 0, 0, 0);
bstend[5] = Date.UTC(2011, 10, 30, 1, 0, 0, 0);
bstend[6] = Date.UTC(2012, 10, 28, 1, 0, 0, 0);
bstend[7] = Date.UTC(2013, 10, 27, 1, 0, 0, 0);
bstend[8] = Date.UTC(2014, 10, 26, 1, 0, 0, 0);
bstend[9] = Date.UTC(2015, 10, 25, 1, 0, 0, 0);
							 
dststart[0] = Date.UTC(2006, 3, 26, 2, 0, 0, 0);
dststart[1] = Date.UTC(2007, 3, 11, 2, 0, 0, 0);
dststart[2] = Date.UTC(2008, 3, 9, 2, 0, 0, 0);
dststart[3] = Date.UTC(2009, 3, 8, 2, 0, 0, 0);
dststart[4] = Date.UTC(2010, 3, 14, 2, 0, 0, 0);
dststart[5] = Date.UTC(2011, 3, 14, 2, 0, 0, 0);
dststart[6] = Date.UTC(2012, 3, 11, 2, 0, 0, 0);
dststart[7] = Date.UTC(2013, 3, 10, 2, 0, 0, 0);
dststart[8] = Date.UTC(2014, 3, 9, 2, 0, 0, 0);
dststart[9] = Date.UTC(2015, 3, 8, 2, 0, 0, 0);
							 
dstend[0] = Date.UTC(2006, 11, 28, 2, 0, 0, 0);
dstend[1] = Date.UTC(2007, 11, 4, 2, 0, 0, 0);
dstend[2] = Date.UTC(2008, 11, 2, 2, 0, 0, 0);
dstend[3] = Date.UTC(2009, 11, 1, 2, 0, 0, 0);
dstend[4] = Date.UTC(2010, 11, 7, 2, 0, 0, 0);
dstend[5] = Date.UTC(2011, 11, 6, 2, 0, 0, 0);
dstend[6] = Date.UTC(2012, 11, 4, 2, 0, 0, 0);
dstend[7] = Date.UTC(2013, 11, 3, 2, 0, 0, 0);
dstend[8] = Date.UTC(2014, 11, 2, 2, 0, 0, 0);
dstend[9] = Date.UTC(2015, 11, 1, 2, 0, 0, 0);
						   
UTCdiff = 0;
var bstnow = false;
var dstnow = false;
for (i=0; i<10; i++) {
//	alert(i + "\n" + utcnow + "\n" + bststart[i] + "\n" + bstend[i]);
	if (utcnow >= bststart[i]) {
//		alert(">=");
		if (utcnow <= bstend[i]) {
//			alert("<=");
			bstnow = true;
		}
	}
	if (utcnow >= dststart[i]) {
		if (utcnow <= dstend[i]) {
			dstnow = true;
		}
	} 
}
//if (bstnow) {alert("BST");} else { alert("not BST");}
//if (dstnow) {alert("DST");} else { echo("not DST");}

var USdiff = 5;
var sydneydiff=10;
var durbandiff=2
hour = hourUTC;
if (bstnow) {
	hour = hourUTC + 1;
} else {
	if (dstnow) {
		USdiff = 4;
	}
}
var london_hour = hour;
var london_mins = minuteUTC;

var newyork_hour = london_hour - USdiff;
if (newyork_hour < 0) {newyork_hour = newyork_hour + 24;}

var sydney_hour=london_hour + sydneydiff;
if (sydney_hour >24) {sydney_hour = sydney_hour - 24;}

var durban_hour=london_hour + durbandiff;
if(durban_hour>=0 && durban_hour<=9)
{
	durban_hour="0" + durban_hour;	
}
if (durban_hour >24) {durban_hour = sydney_hour - 24;}


var dubai_hour = hour + 3;
if (dubai_hour > 23) {dubai_hour = dubai_hour - 24;}

var beijing_hour = hour + 7;
if (beijing_hour > 23) {beijing_hour = beijing_hour - 24;}


var mumbai_hour = hourUTC + 5;
var mumbai_minute = london_mins + 30;
if (mumbai_minute >= 60) {
	mumbai_minute = mumbai_minute - 60;
	mumbai_hour = mumbai_hour + 1;
	if (mumbai_minute <= 9)  {
		mumbai_minute = "0" + mumbai_minute;
	}
}
if (mumbai_hour > 23) {mumbai_hour = mumbai_hour - 24;}

if (london_mins <= 9) london_mins = "0" + london_mins;

sydney_hour=sydney_hour + ":" + london_mins;
durban_hour=durban_hour + ":" + london_mins;

if(newyork_hour>=0 && newyork_hour<=9)
{
	newyork_hour="0" + newyork_hour;
}

if(london_hour>=0 && london_hour<=9)
{
	london_hour="0" + london_hour;
}

if(dubai_hour>=0 && dubai_hour<=9)
{
	dubai_hour="0" + dubai_hour;
}

if(mumbai_hour>=0 && mumbai_hour<=9)
{
	mumbai_hour="0" + mumbai_hour;
}

if(beijing_hour>=0 && beijing_hour<=9)
{
	beijing_hour="0" + beijing_hour;
}

newyork_time	= newyork_hour + ":" + london_mins;
london_time	= london_hour  + ":" + london_mins;
dubai_time	= dubai_hour   + ":" + london_mins;
mumbai_time	= mumbai_hour  + ":" + mumbai_minute;
beijing_time	= beijing_hour + ":" + london_mins;

/*
document.clock.display_date.value = date;
*/
	if(isec>=0 && isec<=9)
	{
		document.getElementById("display_sydney_time").innerHTML = sydney_hour + ":" + "0" + isec;
		document.getElementById("display_durban_time").innerHTML = durban_hour + ":" + "0" + isec;
		document.getElementById("display_newyork_time").innerHTML = newyork_time + ":" + "0" + isec;
		document.getElementById("display_london_time").innerHTML  = london_time  + ":" + "0" + isec;
		document.getElementById("display_dubai_time").innerHTML   = dubai_time   + ":" + "0" + isec;
		document.getElementById("display_mumbai_time").innerHTML  = mumbai_time  + ":" + "0" + isec;
		document.getElementById("display_beijing_time").innerHTML = beijing_time + ":" + "0" + isec;
	
	}
	else
	{
		document.getElementById("display_sydney_time").innerHTML = sydney_hour + ":" + isec;
		document.getElementById("display_durban_time").innerHTML = durban_hour + ":" + isec;
		document.getElementById("display_newyork_time").innerHTML = newyork_time + ":" + isec;
		document.getElementById("display_london_time").innerHTML  = london_time  + ":" + isec;
		document.getElementById("display_dubai_time").innerHTML   = dubai_time   + ":" + isec;
		document.getElementById("display_mumbai_time").innerHTML  = mumbai_time  + ":" + isec;
		document.getElementById("display_beijing_time").innerHTML = beijing_time + ":" + isec;
	}
window.setTimeout("wise_time();", 1000);
}

/*
 * Cross-browser get current date function, added by Kevin B Robbins
 */
// GET DATE
function getCalendarDate()
{
var months = new Array(13);
months[0] = "January";
months[1] = "February";
months[2] = "March";
months[3] = "April";
months[4] = "May";
months[5] = "June";
months[6] = "July";
months[7] = "August";
months[8] = "September";
months[9] = "October";
months[10] = "November";
months[11] = "December";
var now = new Date();
var monthnumber = now.getMonth();
var monthname = months[monthnumber];
var monthday = now.getDate();
var year = now.getYear();
if(year < 2000) { year = year + 1900; }
var dateString = year;
return dateString;
}

// function getCalendarDate()

function getClockTime()
{
var now = new Date();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
var ap = "AM";
if (hour > 11) { ap = "PM"; }
if (hour > 12) { hour = hour - 12; }
if (hour == 0) { hour = 12; }
if (hour < 10) { hour = "0" + hour; }
if (minute < 10) { minute = "0" + minute; }
if (second < 10) { second = "0" + second; }
var timeString = hour +
':' +
minute +
':' +
second +
" " +
ap;
return timeString;
}