var localTimeStart = new Date();var outputTime = new Array(1);function timeSource(index){   //var x=new Date(timeNow(index).getUTCFullYear(),timeNow(index).getUTCMonth(),timeNow(index).getUTCDate(),timeNow(index).getUTCHours(),timeNow(index).getUTCMinutes(),timeNow(index).getUTCSeconds());   var x = timeNow(index);      		x.setTime(x.getTime()+daylightSaving(index));	      return x;}function timeNow(index){		var difLocalTime = new Date() - localTimeStart;	var minutes = dateFromServer["minute"] + timeDescr[index]["offsetGMT"];	   return new Date(dateFromServer["year"], dateFromServer["month"],dateFromServer["day"],dateFromServer["hour"] ,minutes,dateFromServer["second"],difLocalTime);   }function daylightSaving(index){	var timeDescrElem = timeDescr[index];		if ((timeDescrElem["dlsStartMonth"] < timeDescrElem["dlsEndMonth"]) || timeDescrElem["dlsObserve"] == false ) {			// northern hemisphere   		dailightSaving =  ((timeDescrElem["dlsObserve"]) && (timeNow(index).getTime()>findDay(index, timeDescrElem["dlsStartDay"], timeDescrElem["dlsStartMonth"], timeDescrElem["dlsStartHour"], timeDescrElem["dlsStartWeekOfMonth"]).getTime())&&(timeNow(index).getTime()<findDay(index, timeDescrElem["dlsEndDay"], timeDescrElem["dlsEndMonth"], timeDescrElem["dlsEndHour"], timeDescrElem["dlsEndWeekOfMonth"]).getTime()))?3600000:0;	} else {			// southern hemisphere	     dailightSaving =  ((timeDescrElem["dlsObserve"]) && (timeNow(index).getTime()<findDay(index, timeDescrElem["dlsStartDay"], timeDescrElem["dlsStartMonth"], timeDescrElem["dlsStartHour"], timeDescrElem["dlsStartWeekOfMonth"]).getTime())&&(timeNow(index).getTime()>findDay(index, timeDescrElem["dlsEndDay"], timeDescrElem["dlsEndMonth"], timeDescrElem["dlsEndHour"], timeDescrElem["dlsEndWeekOfMonth"]).getTime()))?0:3600000;	   			}    return dailightSaving;}function findDay(index, d,m,h,p){   var week=(p<0)?7*(p+1):7*(p-1),nm=(p<0)?m+1:m,x=new Date(timeNow(index).getUTCFullYear(),nm,1,h,0,0),dOff=0;   if(p<0){      x.setTime(x.getTime()-86400000);   }      if(x.getDay()!=d){      dOff=(x.getDay()<d)?(d-x.getDay()):0-(x.getDay()-d);      }      if(p<0&&dOff>0){         week-=7;      }      if(p>0&&dOff<0){         week+=7;      }      x.setTime(x.getTime()+((dOff+week)*86400000));    return x;}function leadingZero(x){   return (x>9)?x:'0'+x;}function fixYear2(x){   x=(x<500)?x+1900:x;   return String(x).substring(2,4)}function displayTime(){   if(fr==0){   	      fr=1;      document.writeln('<div id = "ShowWorldClock" class = "WorldClock"></div>');   }   for (i=0; i<timeDescr.length; i++) {   	    outputTime[i] = getOutputTime(i);   }   document.getElementById('ShowWorldClock').innerHTML=formatClocks();   setTimeout('displayTime()',1000);}var fr=0;function getOutputTime(index) {	return timeSource(index).getHours()+':'+leadingZero(timeSource(index).getMinutes())+':'+leadingZero(timeSource(index).getSeconds())}function formatClocks() {	ret="";	for (i=0; i< outputTime.length;i++) {	  if(i<(outputTime.length-1)){		ret = ret + "<span>" + timeDescr[i]["locName"] + ":" + "</span>";		ret = ret + "<span>" + "\t" + outputTime[i] + "&nbsp;|&nbsp;" + "</span>";	  }	  else{		ret = ret + "<span>" + timeDescr[i]["locName"] + ":" + "</span>";		ret = ret + "<span>" + "\t" + outputTime[i] + "</span>";	  }	}	return ret;}