

//------------------------------------------------------------
//--  Time Zone Clock Version 3.9.2                         --
//--  The script uses the server time to display the clocks --
//--  by: Dave Sowers http://joomlacode.org/gf/project/tzclock/
//------------------------------------------------------------
var DispDay=0;var DispSeconds=1;var zonefirst=0;var disp_ampm=0;

var servtime=new Date(servertimestr);var DispHoriz=1;
var z1text="Hong Kong";var z1time=480;var z1dst=0;
var z2text="Sydney";var z2time=600;var z2dst=0;
var z3text="Auckland";var z3time=720;var z3dst="*";
var z4text="Rarotonga";var z4time=-600;var z4dst=0;
var z5text="Los Angeles";var z5time=-420;var z5dst=0;
var z6text="London";var z6time=60;var z6dst=0;
var ampm="";
var d = document;
function did(objID){return d.getElementById(objID);}
Date.prototype.TZoff=new Function("var X, Y, Z; with (this){X = getTimezoneOffset(); Y = Math.abs(X);return LZ(X*-1)  }");
Date.prototype.UStimeStr=new Function("var H;with (this) return PadZero(1+((H=getUTCHours())+11)%12  )+':'+LZ(getUTCMinutes())+':'+LZ(getSeconds())+[' AM',' PM'][+(H>11)]");
Date.prototype.T24timeStr=new Function("var H;with (this) return LZ(getUTCHours())+':'+LZ(getUTCMinutes())+':'+LZ(getSeconds())");
Date.prototype.UStimeStrNS=new Function("var H;with (this) return PadZero(1+((H=getUTCHours())+11)%12)+':'+LZ(getUTCMinutes())+[' AM',' PM'][+(H>11)]");
Date.prototype.T24timeStrNS=new Function("var H;with (this) return LZ(getUTCHours())+':'+LZ(getUTCMinutes())");
function DoWstr(DoWk) {return "SunMonTueWedThuFriSatSun".substr(3*DoWk, 3)}
var spantxt="<span style='color:white; font-size:12px; display:inline; font-weight:bold;padding: 0px 2px 0px 5px;vertical-align:middle; align=left'>";
var spantxt2="<span style='font-family:arial,helvetica,sans-serif;margin: 0px 2px 0px 0px;padding:0px 2px 0px 2px;color:white;font-size:12px;font-weight:bold; background:; vertical-align:middle; width:auto; align=left'>";
var servtime=new Date(servertimestr);
var stsec=servtime.getTime();
var utsecdo=new Date();
var utsec=utsecdo.getTime();
var secdiff=stsec-utsec+(utsecdo.TZoff()*60*1000);
function LZ(x){return (x>=10||x<0?"":"0") + x; }
function PadZero(num){
      if (DispHoriz)
            {return num;}
      else {
            if(num<=9) {return "&nbsp;&nbsp;"+num;}else{ return num;}}            
}
function buildTime(srvtime,texttodisp,timeoffset,dst)
      {
        if(dst=="*"){var dispflag="*";}else {var dispflag="&nbsp;";}
        houris=srvtime.getUTCHours();
        minis =srvtime.getUTCMinutes();
        secondis=srvtime.getUTCSeconds();
        
        yy=Math.abs(parseInt(secdiff/1000));
        adjminadd=yy % 60;
        zz=yy%60;
        yy=(yy-adjminadd)/60;
        if (secdiff<0){yy=yy*(-1);}
        if (secdiff<0){zz=zz*(-1);}
if(did("tzcdebug")){did("tzcdebug").innerHTML="Minutes off(+/-)sign="+yy+"<br/>Seconds off(+/-)sign="+zz;}
        Y = Math.abs(timeoffset);
        minadd = parseInt(Y % 60);
        Y=(Y-minadd)/60;
        if(timeoffset<0){Y=Y*(-1);if(minadd!=0){Y=Y-1;}}
        calcseconds=Math.abs(secondis)+zz;
        calcminutes=Math.abs(minis+minadd)+yy;
       // calcminutes=Math.abs(minis+timeoffset)+yy;
        calchours=houris+Y;
        
with (N = new Date()) {	
	N.setUTCHours(calchours,calcminutes,calcseconds);
	if(DispDay){dayofweek="("+DoWstr(N.getUTCDay())+")";}else{dayofweek="";}

            if(DispHoriz) {
                  if(DispSeconds){
                        if (disp_ampm){return spantxt+texttodisp+"<\/span>&nbsp;"+spantxt2+N.UStimeStr()+dispflag+" "+dayofweek+"<\/span>";}
                        else{return spantxt+texttodisp+"<\/span>&nbsp;"+spantxt2+N.T24timeStr()+dispflag+" "+dayofweek+"<\/span>";}
                  }
                  else{
                        if (disp_ampm){return spantxt+texttodisp+"<\/span>&nbsp;"+spantxt2+N.UStimeStrNS()+dispflag+" "+dayofweek+"<\/span>";}
                        else{return spantxt+texttodisp+"<\/span>&nbsp;"+spantxt2+N.T24timeStrNS()+dispflag+" "+dayofweek+"<\/span>";}
                  }
            }
            else {
                  if(DispSeconds){
                        if (disp_ampm){if(zonefirst) {return texttodisp+" "+N.UStimeStr()+dispflag+"  "+dayofweek;} else{return N.UStimeStr()+dispflag+" "+texttodisp+"  "+dayofweek;}}
                        else{if(zonefirst){return texttodisp+"  "+N.T24timeStr()+dispflag+" "+dayofweek;} else{return N.T24timeStr()+dispflag+" "+texttodisp+"  "+dayofweek; }}
                  }
                  else{
                        if (disp_ampm){if(zonefirst){return texttodisp+" "+N.UStimeStrNS()+" "+dayofweek;}else{return N.UStimeStrNS()+" "+texttodisp+"  "+dayofweek;}}
                        else{if(zonefirst){return texttodisp+" "+N.T24timeStrNS()+dayofweek;}else{return N.T24timeStrNS()+dayofweek+" "+texttodisp;}}
                  }
            }
      }     
}                   
function RunTZclock(){
      var srvtime=new Date();
      var Q=srvtime.getTime();
      RunTZclockTimer=setTimeout('RunTZclock()', 1000-Q%1000);
      if(typeof z1text!="undefined")
            {var time1=buildTime(srvtime,z1text,z1time,z1dst);
            if(did('RC1'))did('RC1').innerHTML=time1;}
      if(typeof z2text!="undefined")
            {var time2=buildTime(srvtime,z2text,z2time,z2dst);
            if(did('RC2'))did('RC2').innerHTML=time2;}
      if(typeof z3text!="undefined")
            {var time3=buildTime(srvtime,z3text,z3time,z3dst);
            if(did('RC3'))did('RC3').innerHTML=time3;}
      if(typeof z4text!="undefined")
            {var time4=buildTime(srvtime,z4text,z4time,z4dst);
            if(did('RC4'))did('RC4').innerHTML=time4;}
      if(typeof z5text!="undefined")
            {var time5=buildTime(srvtime,z5text,z5time,z5dst);
            if(did('RC5'))did('RC5').innerHTML=time5;}
      if(typeof z6text!="undefined")
            {var time6=buildTime(srvtime,z6text,z6time,z6dst);
            if(did('RC6'))did('RC6').innerHTML=time6;}
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != "function") {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}
addLoadEvent(RunTZclock);

