﻿
/*Server傳入 holiday='no' or 'XX假日', servertime='2007/6/16 13:29:54';*/
var holiday = "";
var holiday_tomorrow ="";
var servertime="";
var strNextTradeDay="";

var timerID = null;
var timerRunning = false;
//取得server端時間
var server_now;
var serverLong;
//建立client端時間
var client_now;
var objNextTradeDay; //下個交易時間
//onload時載入
function startclock()
{

    /*Server傳入的值*/
    servertime =$('hiddenServerTime').value;  //servertime ="2007/06/30 23:59:55
    holiday =$('hiddenHoliday').value;
    strNextTradeDay = $('hiddenNextTradeDate').value ;
    objNextTradeDay = new Date(strNextTradeDay);
    //holiday_tomorrow = document.all.hiddenHoliday_Tomorrow.value ;
    
//    holiday = "端午節";//    holiday="no";
    timerID = null;
    timerRunning = false;
    //取得server端時間
    server_now = new Date(servertime);
    serverLong = server_now.getTime();
    
    
    showtime();
}

function showtime(){
//alert(holiday)
       var client_now = new Date(serverLong);
       var year = client_now.getFullYear();  //今天:年
       var month = client_now.getMonth()+1;    //今天:月
       var day = client_now.getDate();        //今天:日
       var hour = client_now.getHours();      ///今天:時
       var minute = client_now.getMinutes();   //今天:分
       var second = client_now.getSeconds();    //今天:秒
       var open_time = new Date( year + "/" + month +"/" + day + " 08:45:00") ;  //開盤
       var close_time = new Date( year+ "/" + month + "/" + day + " 13:45:00");  //收盤
//       var changeDay_time =new Date( year+ "/" + month + "/" + day + " 23:59:59"); 
       var market="";
       serverLong +=1000;
       var diffHours=0, diffMinutes=0,diffSecond=0;  //差異時分秒
//       if(day!= server_now.getDate() ){
//            holiday = holiday_tomorrow;
//       }
       
       //開盤前
       if((hour==8 && minute<45) || hour<8 ){
            
            if(holiday=="no"){ //有開盤
                var open_diff = Math.abs(client_now -open_time)/1000;
                diffHours =  Math.floor(open_diff / 3600);
                diffMinutes = Math.floor(open_diff /60) % 60 ;
                diffSecond = open_diff % 60;
                var leave_open_time = "<strong>" + addZero(diffHours) + "</strong>時<strong>" + addZero(diffMinutes) + "</strong>分<strong>" + addZero(diffSecond) + "</strong>秒";
                market = " 距台股開盤尚有" + leave_open_time +"";
            }else{
                var open_diff=Math.abs(client_now-objNextTradeDay)/1000;
                diffHours =  Math.floor(open_diff / 3600);
                diffMinutes = Math.floor(open_diff /60) % 60 ;
                diffSecond = open_diff % 60;
                var leave_open_time = "<strong>" + addZero(diffHours) + "</strong>時<strong>" + addZero(diffMinutes) + "</strong>分<strong>" + addZero(diffSecond) + "</strong>秒";
                market = " 距台股開盤尚有" + leave_open_time +"";
            } 
       }else if((hour==13 && minute>=45) || (hour>13))   {//13:45~23:59 收盤
               var open_diff_next = Math.abs(client_now-objNextTradeDay) /1000; //13:45之後，到下個交易日開盤的時間
               diffHours =  Math.floor(open_diff_next / 3600);
               diffMinutes = Math.floor(open_diff_next /60) % 60 ;
               diffSecond = open_diff_next % 60;
               var leave_open_time = "<strong>" + addZero(diffHours) + "</strong>時<strong>" + addZero(diffMinutes) + "</strong>分<strong>" + addZero(diffSecond) + "</strong>秒";
               market = " 距台股開盤尚有" + leave_open_time +"";
       }
       else {  //盤中時間
            if(holiday=="no"){
                 var close_diff = Math.abs(close_time -client_now) /1000;
                 diffHours =  Math.floor(close_diff / 3600);
                 diffMinutes = Math.floor(close_diff /60) % 60 ;
                 diffSecond = close_diff % 60;
                 var leave_close_time = "<strong>" + addZero(diffHours) + "</strong>時<strong>" + addZero(diffMinutes) + "</strong>分<strong>" + addZero(diffSecond) + "</strong>秒";
                 market = " 距台股收盤尚" + leave_close_time + "";
            }else{//假日
                 var close_diff = Math.abs(client_now-objNextTradeDay)/1000;
                 diffHours =  Math.floor(close_diff / 3600);
                 diffMinutes = Math.floor(close_diff /60) % 60 ;
                 diffSecond = close_diff % 60;
                 var leave_close_time = "<strong>" + addZero(diffHours) + "</strong>時<strong>" + addZero(diffMinutes) + "</strong>分<strong>" + addZero(diffSecond) + "</strong>秒";
                 market = " 距台股開盤尚" + leave_close_time + "";
            }
            
        }


       var dateValue = client_now.getFullYear() + '年' + addZero(client_now.getMonth() +1) + '月' + addZero(client_now.getDate() ) + '日  ';
      // dateValue += addZero(client_now.getHours()) + ":" + addZero(client_now.getMinutes())  +  ":"  + addZero(client_now.getSeconds());
       $('currenttime').innerHTML = dateValue + market;
       timerID = setTimeout("showtime()",1000);
       timerRunning = true;
}
function addZero(number){
    if(number<10)
        return "0" + number;
    else
        return number;
}
