var GmtIndex = 0;//当前GMT时区
var cdlist = new Array();
cdlist.push(new Array('EST Time',-5,true));
cdlist.push(new Array('CST Time',-6,true));
cdlist.push(new Array('PST Time',-8,true));
cdlist.push(new Array('London Time',0,false));
cdlist.push(new Array('Warsaw Time',1,false));
cdlist.push(new Array('Sydney Time',10,false));
cdlist.push(new Array('Rio de Janeiro Time',-3,true));
cdlist.push(new Array('Beijing Time',8,false));

function mm(obj,t){
    if (t==1){
        obj.className = 'ch';
    }else{
        obj.className = '';
    }
}
function hidden(es){
    var es = document.getElementById(es);
    es.style.display = 'none';
}

/**
 * 显示时区列表
 * 
 * @param string obj 显示当前时区的标签
 * @param string id 显示时区列表的DIV ID
 * @param boolean notChangexy 是否不指定DIV的位置
 */
function dispEvent(obj,id,notChangexy){
    var es = document.getElementById(id);
    var obj = document.getElementById(obj);
    if (typeof(notChangexy) != 'boolean'){
        var notChangexy = false;
    }
    
    if (es.style.display == ''){
        hidden(id);
        return;
    }
    
    var s = '';
    var sur = '';
    for (var i=0; i<cdlist.length; i++){
        s = '<div style="width:100%;" onmouseover="mm(this,1)" onmouseout="mm(this,0)" ';
        s = s + 'onclick="setClock('+i+')">';
        s = s +cdlist[i][0]+'</div>';
        sur = sur + s;
    }
    es.innerHTML = sur;
    es.style.display = '';
    
    if (!notChangexy){
        var xy = getXY(obj);
        xy.top += obj.offsetHeight+2;
        es.style.left = xy.left;
        es.style.top = xy.top;
        if (typeof(es.textContent)!='undefined'){
            es.style.left = xy.left+'px';
            es.style.top = xy.top+'px';
        }
    }
    es.focus();
    return false;
}
function getXY(obj){
    var vleft = obj.offsetLeft;
    var vtop = obj.offsetTop;
    while (obj = obj.offsetParent){
        vleft += obj.offsetLeft;
        vtop += obj.offsetTop;
        
    }
    return {left:vleft,top:vtop};
}

function setClock(i){
    hidden('cdtext');
    
    var old_gmt = cdlist[GmtIndex][1];
    if (cdlist[GmtIndex][2])
    {
        if (clock_months>3 && clock_months<11)
    	{
    	    old_gmt=old_gmt+1;
    	}
    }
    var GMT = parseInt(cdlist[i][1]);
    if (cdlist[i][2])
    {
        if (clock_months>3 && clock_months<11)
    	{
    	    GMT=GMT+1;
    	}
    }

    if (GMT != old_gmt){
        //当时区变换后，时区值不同时，更新时间
        clock_hrs = (clock_hrs - old_gmt) + GMT;
        var temDate = new Date(clock_years,clock_months-1,clock_days,clock_hrs,clock_min,clock_sec);
        clock_years = temDate.getFullYear();
        clock_months= temDate.getMonth()+1;
        clock_days  = temDate.getDate();
        clock_hrs = temDate.getHours();
        clock_min = temDate.getMinutes();
        clock_sec = temDate.getSeconds();
        monthname = clock_month[clock_months];
    }
    GmtIndex = i;
    
    var obj = document.getElementById('cdlab');
    var s = cdlist[i][1];
    if (s>0){
        s = '+'+s;
    }else{
        if (s==0){
            s = '';
        }
    }
    if (s!='') s = '('+s+')';
    obj.innerHTML = cdlist[i][0]+' GMT'+s;
}

var clock_month = new Array("","Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
var clock_day = new Array("",31,28,31,30,31,30,31,31,30,31,30,31);



var clock_years = clock_arrDate[0];
var clock_months= clock_arrDate[1];
var clock_days  = clock_arrDate[2];
var clock_hrs = clock_arrDate[3];
var clock_min = clock_arrDate[4];
var clock_sec = clock_arrDate[5];
var clock_datecol = "-";
var clock_timecol = ":";

var monthname = clock_month[clock_months];

function THINPIGServerTime()
{
  var addMonth=false;

  //second
  clock_arrDate[5]+=1;
  clock_sec = clock_arrDate[5];
  if (clock_sec==60)
  {
      clock_arrDate[5]=0;
      clock_sec=0;

      //mintue
	  clock_arrDate[4]+=1;
	  clock_min = clock_arrDate[4];
	  if (clock_min==60)
	  {
	       clock_arrDate[4]=0;
		   clock_min = 0;

           //hour
		   clock_arrDate[3]+=1;
		   clock_hrs = clock_arrDate[3];

		   if (clock_hrs==24)
		   {
		       clock_arrDate[3]=0;
			   clock_hrs=0;

			   //day
			   clock_arrDate[2]+=1;
			   clock_days = clock_arrDate[2];
			   if (clock_days>clock_day[clock_months])
			   {
			       if (clock_months==2)
			       {
				       if (clock_years%4==0 && clock_years%400!=0)
				       {
					       if ((clock_days+1)>clock_day[clock_months])
					       {
						       clock_arrDate[2]=1;
							   clock_days=1;
							   addMonth =true;
					       }
				       }
			       }else{
				       clock_arrDate[2]=1;
					   clock_days=1;
					   addMonth =true;
				   }

				   if (addMonth==true)
				   {
				       clock_arrDate[1]+=1;
					   clock_months = clock_arrDate[1];
					   if (clock_months>12)
					   {
					       clock_months=1;
						   addDate[1]=1;

						   //year
						   clock_arrDate[0]+=1;
						   years = clock_arrDate[0];
					   }

					   monthname = clock_month[clock_months];
				   }
			   }
		   }

	  }
  }
    
    document.getElementById("clock").innerHTML = monthname + clock_datecol + clock_days+'';
    if (clock_hrs<12){
      document.getElementById("time").innerHTML =   n2s(clock_hrs) + clock_timecol + n2s(clock_min) + clock_timecol + n2s(clock_sec) + "AM";
    }else{
      hrs = clock_hrs-12;
      document.getElementById("time").innerHTML =   n2s(hrs) + clock_timecol + n2s(clock_min) + clock_timecol + n2s(clock_sec) + "PM";
    }
}
function n2s(n){
    n = n + '';
    if (n.length<2){
        n = '0' + n;
    }
    return n;
}
setInterval("THINPIGServerTime()", 1000);
