var h_locale = 0;
var m_locale = 0;

var monthes = {
    0: 'января',
    1: 'февраля',
    2: 'марта',
    3: 'апреля',
    4: 'мая',
    5: 'июня',
    6: 'июля',
    7: 'августа',
    8: 'сентября',
    9: 'октября',
    10: 'ноября',
    11: 'декабря'
}

/* сдвиг времени по UTC. город: [часы, минуты] */
/*var locales = {
    'moscow':      [3, 0],
    'spb':         [3, 0],
    'astrahan':    [3, 0],
    'ekb':         [5, 0],
    'novgorod':    [3, 0],
    'ntagil':      [5, 0],
    'timiryazevo': [6, 0]
}*/

var time_timer = null;

function addHour(){
    var now = new Date(), nowTZ = now.getTimezoneOffset(), winterTZ = new Date(now.getFullYear(), 1, 1).getTimezoneOffset(), summerTZ = new Date(now.getFullYear(), 7, 1).getTimezoneOffset();
    return (winterTZ !== summerTZ) && (nowTZ === summerTZ) ? 1 : 0;
}

function showTime(city){
    var time = new Date();
    
    /* добавляем часы в соответствии с городом */
    if (locales[city]) {
        h_locale = locales[city][0];
        m_locale = locales[city][1];
    }
    else {
        h_locale = 5;
        m_locale = 0;
    }
    
    /* если летнее время, добавляем 1 час */
    var add = addHour();
    
    time.setUTCHours(time.getUTCHours() + h_locale + add);
    time.setUTCMinutes(time.getUTCMinutes() + m_locale);
    
    var hour = ((time.getUTCHours() < 10) ? '0' + time.getUTCHours() : time.getUTCHours());
    var minute = ((time.getUTCMinutes() < 10) ? '0' + time.getUTCMinutes() : time.getUTCMinutes());
    
    var day = time.getUTCDate();
    var month = monthes[time.getUTCMonth()];
    var year = time.getUTCFullYear();
    
    var out = day + ' ' + month + ' ' + year;
    
    /* пишем дату и время в нужные блоки */
    if (document.getElementById('time1'))
        document.getElementById('time1').innerHTML = out;
    if (document.getElementById('time2'))
        document.getElementById('time2').innerHTML = out;
    if (document.getElementById('time3'))
        document.getElementById('time3').innerHTML = out;
    
    /* ставим таймер на минуту для обновления времени */
    time_timer = setTimeout(function(){
        showTime(city);
    }, 60000);
}