/**
 * GMT-time clock
 * Copyright (C) 2008 Axis
 * @version:  01.01.01 Alpha
 * @modified: 2008-02-18
 */
//alert(1);
var gmt_time = {
    delta_tm : 0,

    hour   : null,
    minute : null,
    second : null,

    timer : null,

    init : function (date, hour, minute, second, winWr)
    {
        this.winWr = typeof(winWr) != "undefined" ? winWr : _wrapper;

        var gm_date = new Date(date.substr(0,4), date.substr(5,2) - 1, date.substr(8,2), hour, minute, second);
        var local_date = new Date();
        this.delta_tm = gm_date.getTime() - local_date.getTime();

        this.winWr.setOnloadListener(this);
    },

    onload  : function(evtWr)
    {
        var winWr, cn;
        winWr = this.winWr;
        winWr.removeOnloadListener(this);

        cn = winWr.getElement(this.config.clock_id).elm.childNodes;
        this.hour = winWr.getElmWrapper(cn[0]);
        this.minute = winWr.getElmWrapper(cn[2]);
        this.second = winWr.getElmWrapper(cn[4]);

        this.timer = winWr.setInterval(1000,this,"onTimer");
    },
    onTimer : function()
    {
        var dt = new Date();
        dt.setTime(dt.getTime() + this.delta_tm);
        this.writeTime("hour",   dt.getHours());
        this.writeTime("minute", dt.getMinutes());
        this.writeTime("second", dt.getSeconds());
    },
    writeTime : function(key, val)
    {
        this[key].write(val < 10 ? "0" + val : val);
    },
    config : {
        "clock_id" : "e_clock"
    }

};