GeneralUpdate = new ( Class.create({
    
    initialize : function()
    {
    },
    
    Config : {},
    
    thisClass : this,
    
    IsMidnight : false,
    
    Counter : 0,
    
    Start : function()
    {
        if(GeneralUpdate.IsMidnight)
        {
            GeneralUpdate.Config.NameDay.Refresh();
            GeneralUpdate.Config.Calendar.TodayClick();
            GeneralUpdate.Config.Calendar.Refresh();
        }
        
        if(GeneralUpdate.Counter == 10)
        {
            GeneralUpdate.Config.Weather.Refresh();
            GeneralUpdate.Counter = 0;
        }
        
        var currentDate = new Date();
        var midnight = new Date();
        midnight.setHours(23);
        midnight.setMinutes(59);
        midnight.setSeconds(59);
        
        var offset = midnight.getTime() - currentDate.getTime();
        if(offset < 60000)
        {
            setTimeout(GeneralUpdate.Start, offset + 2000);
            GeneralUpdate.IsMidnight = true;
        }
        else
        {
            setTimeout(GeneralUpdate.Start, 60000);
            GeneralUpdate.IsMidnight = false;
            GeneralUpdate.Counter++;
        }
    }
}))();
