// vim: filetype=javascript
(function()
{
    var DLTTimer = function(countDivId, year, month, day, hour, minute, second, type)
    {
        this.countDiv = document.getElementById(countDivId);
        this.year     = year;
        this.month    = month;
        this.day      = day;
        this.hour     = hour;
        this.minute   = minute;
        this.second   = second;
        this.type   = type;

        this.from = new Date(year, month, day, hour, minute, second);
        //this.from = new Date(2010, 3, 18, 13, 0, 0);
    }

    DLTTimer.prototype = {
        format: {
          'day': '日<br />',
          'hour': '時間',
          'minute': '分<br />',
          'second': '秒'
        },

        setFormat: function(key, value)
        {
          this.format[key] = value;
        },

        stop: function(message)
        {
            this.countDiv.innerHTML = message;
            clearInterval(this.intervalId);
        },
        run : function()
        {
            var local = this;
            this.intervalId = setInterval(function()
            {
                var to = new Date();
                //var to = new Date(2010, 4, 18, 15, 0, 0);
                if (local.type == 'down' && to.getTime() > local.from.getTime()) {
                    local.stop('...約束の時間は過ぎました');
                    return 0;
                }
                else if (local.type == 'up' && to.getTime() < local.from.getTime()){
                    alert(to.getTime());
                    alert(local.from.getTime());
                    local.stop('まだカウント開始していません...！');
                    return 0;
                }

                var ts = Math.floor(to.getTime() / 1000);
                var ts_diff = Math.floor(local.from.getTime() / 1000) - ts;
                if (local.type == 'up') {
                  ts_diff = ts - Math.floor(local.from.getTime() / 1000);
                }

                var d = Math.floor(ts_diff / (24*60*60));
                var h = Math.floor(ts_diff % (24*60*60) / (60*60));
                var m = (Math.floor(ts_diff % (24*60*60) / 60) % 60);
                var s = (Math.floor(ts_diff % (24*60*60)) % 60 % 60);
                var ms = Math.floor((1000 - to.getMilliseconds()) / 100);
                if (local.type == 'up') ms = Math.floor((to.getMilliseconds()) / 100);

                m = m.toString();
                s = s.toString();
                ms = ms.toString();

                //local.countDiv.innerHTML = d.toString() + local.format['day']
                //    + h.toString()
                //    + local.format['hour']
                //    + ('00' + m).substr(m.length, 2)
                //    + local.format['minute']
                //    + ('00' + s).substr(s.length, 2) +'.' + ('0' + ms).substr(ms.length, 1) +''
                //    + local.format['second'];

                local.countDiv.innerHTML = '<div id="dlt-blogparts-count-day">' + d.toString() +'日</div>'
                  + '<div id="dlt-blogparts-count-time">'
                  + h.toString() +':'
                  + ('00' + m.toString()).substr(m.toString().length, 2) +':'
                  + ('00' + s).substr(s.length, 2) +'</div>'
                  + '<div id="dlt-blogparts-count-ms">.' + ('0' + ms).substr(ms.length, 1) +' s</div>';
            }, 100);
        }
    }

    var name = "平成23年度の大学入試センター試験まで";
    var url  = "http://deadlinetimer.com/timer/2049";

        document.write('<style type="text/css">'
        + '.dlt-blogparts-main {width: 180px; line-height: 120%; margin:0; padding:0;}'
        + '.dlt-blogparts-main a {color: #40A1E4; text-decoration: none;} '
        + '.dlt-blogparts-main * {font-size: 16px;color: #000; font-family: "Trebuchet MS", "メイリオ";}'
        + '.dlt-blogparts-main p {margin: 0;}'
        + '.dlt-blogparts-caption {font-size: 10px; text-align:right;}'
        + '.dlt-blogparts-caption a {font-size: 10px; text-decoration: none; padding:0; line-height: 11px;}'
        + '.dlt-blogparts-caption a:hover {text-decoration: underline;}'
        + '.dlt-blogparts-title {font-size: 16px; font-weight: bold; color: #900808; margin-bottom: 5px; text-align: center; letter-spacing: -0.1em;}'
        + '.dlt-blogparts-title a {font-weight: bold; color: #900808;}'
        + '.dlt-blogparts-title a {font-weight: bold; color: #900808;}'
        + '#dlt-blogparts-count-2049 {font-size: 14px; height: 72px; padding: 5px 2px 2px; background: url(http://deadlinetimer.com/images/blogparts-bg.gif) no-repeat;}'
        + '#dlt-blogparts-count-day {font-size: 14px; padding-left: 10px; text-align: left;}'
        + '#dlt-blogparts-count-time {font-weight:bold;letter-spacing: -0.01.em;line-height: 32px; font-size: 40px; text-align: center;}'
        + '#dlt-blogparts-count-ms {font-size: 18px; text-align:right; font-weight: bold; padding-right: 5px;}'
        + '#dlt-blogparts-end {font-size: 25px;line-height: 25px; font-weight: bold; padding-top: 8px;text-align: center;}'
        + '#dlt-blogparts-endcaption {font-size: 10px; font-weight: bold; line-height: 12px; text-align: right;}'
        + '#dlt-blogparts-clear {clear:both;}'
        + '.body .section table.ig_tbl_line {border: none; margin: 0; width: auto;}'
        + 'table.ig_tbl_line {border: none; margin: 0; width: auto;}'
        + '.body .section table.ig_tbl_line td {border: none;}'
        + 'table.ig_tbl_line td {border: none;}'
        + '</style>');
        document.write('<div class="dlt-blogparts-main">'
        + '<p class="dlt-blogparts-title"><a href=" ' + url + '" target="_blank">"平成23年度の大.." まで</a></p>'
        + '<div id="dlt-blogparts-count-2049"></div>'
        + '<div id="dlt-blogparts-count-clear"><p class="dlt-blogparts-caption"><a href="http://deadlinetimer.com/">by deadlinetimer.com</a></p></div>'
        + '</div>');

    //var countDiv = document.getElementById();

    //var from = new Date(2011, 0, 15, 00, 00, 00 );

    var Dlt = new DLTTimer("dlt-blogparts-count-2049", 2011, 0, 15, 00, 00, 00, 'down');
    Dlt.run();
    /*
    var intervalId = setInterval(function()
    {
      var to = new Date();
      if (to.getTime() > from.getTime()) {
        countDiv.innerHTML = '<div id="dlt-blogparts-end">...約束の時間は過ぎました</div><div id="dlt-blogparts-endcaption">2011-01-15 00:00:00</div>';
        clearInterval(intervalId);
        return 0;

      }
      else {
        var ts = Math.floor(to.getTime() / 1000);
        var ts_diff = Math.floor(from.getTime() / 1000) - ts;

        var d = Math.floor(ts_diff / (24*60*60));
        var h = Math.floor(ts_diff % (24*60*60) / (60*60));
        var m = Math.floor(ts_diff % (24*60*60) / 60) % 60;
        var s = (Math.floor(ts_diff % (24*60*60)) % 60 % 60).toString();
        var ms = Math.floor((1000 - to.getMilliseconds()) / 100).toString();
      }

      countDiv.innerHTML = '<div id="dlt-blogparts-count-day">' + d.toString() +'日</div>'
        + '<div id="dlt-blogparts-count-time">'
        + h.toString() +':'
        + ('00' + m.toString()).substr(m.toString().length, 2) +':'
        + ('00' + s).substr(s.length, 2) +'</div>'
        + '<div id="dlt-blogparts-count-ms">.' + ('0' + ms).substr(ms.length, 1) +' s</div>';
    }, 100);
    */

})();
<!-- page was processed in 0.0245 seconds -->

