var current_zone = 6;
var current_pos = 0;
var	switch_delay = 10000;

var	MSK = 3;

var	timer_zones = new Array (MSK, MSK + 2, MSK + 2, MSK +2, MSK + 1, MSK + 1, MSK, MSK, MSK + 3, MSK, MSK - 1, MSK, MSK, MSK + 2, MSK + 3, MSK, MSK, MSK + 2);
/*
1. Ярославль 0
2. радужный +2
3. нижневартовск +2
4. нагань +2
5. ижевск +1
6. ульяновск +1
7. волгоград 0
8. пенза 0
9. томск +3
10 киров 0
11 минск -1
12 москва 0
13 брянск 0
14 Ханты-Мансийск  +2
15 стрежевой +3
16 краснодар 0
17 саратов 0
18 Нефтеюганск +2
*/

var clock_timer = null;
var switch_timer = null;

var timer_images = new Array ();
var zones_images = new Array ();
var prev_min = -1;
var sec_mode = false;


function IsSummerTime()    // проверям, является ли date летним
{
    date = new Date();
    var march = new Date(Date.UTC(date.getUTCFullYear(), 2, 31));  // исходим от 31 марта
    var begin_st = new Date(Date.UTC(date.getUTCFullYear(), 2, 31 - march.getUTCDay())); // и получаем его последнее восресенье.

    var oct = new Date(Date.UTC(date.getUTCFullYear(), 9, 31)); // тоже самое с октябрём
    var end_st = new Date(Date.UTC(date.getUTCFullYear(), 9, 31 - oct.getUTCDay()));

    //       document.write(begin_st+" <br>");
    //        document.write(end_st);

    if ((date >= begin_st) && (date < end_st)) {
        return 1;    // летнее время
    } else {
        return 0;
    }

}


function preload_timer ()
{
 for (var i = 0; i <= 9; i++)
 {
 	var im = new Image ();
	im.src = '/_timer/n' + i + '.gif';
 	timer_images [i] = im;
 };
 for (var i=1; i<=timer_zones.length; i++)
 {
 	var im = new Image ();
	im.src = '/_timer/c'+ i + '.gif';
	zones_images [i-1] = im;
 };
}

function switch_seconds ()
{
	if (sec_mode)
	{
		document.getElementById ('tim_sec').src = '/i/pix.gif';
	}
	else
	{
		document.getElementById ('tim_sec').src = '/_timer/nsplit.gif';
	};
	sec_mode = ! sec_mode;
}

function	out_time ()
{

	var now = new Date ();
	now.setHours(now.getHours() + now.getTimezoneOffset() / 60 + current_zone + IsSummerTime()); // + 1 - летнее время !!
	
	h = now.getHours ();
	m = now.getMinutes ();
	
	if (m != prev_min)
	{
	
	if (h < 10 )
	{
		document.getElementById ('tim1').src = timer_images [ parseInt (0) ].src;
		document.getElementById ('tim2').src = timer_images [ parseInt (h) ].src;
	}
	else
	{
		h1 = ''+h; h2 = ''+h;
		h1 = h1.charAt (0);
		h2 = h2.charAt (1);
		document.getElementById ('tim1').src = timer_images [ parseInt (h1) ].src;
		document.getElementById ('tim2').src = timer_images [ parseInt (h2) ].src;
	};
	
	if (m < 10 )
	{
		document.getElementById ('tim3').src = timer_images [ parseInt (0) ].src;
		document.getElementById ('tim4').src = timer_images [ parseInt (m) ].src;
	}
	else
	{
		m1 = ''+m; m2 = ''+m;
		m1 = m1.charAt (0);
		m2 = m2.charAt (1);
		document.getElementById ('tim3').src = timer_images [ parseInt (m1) ].src;
		document.getElementById ('tim4').src = timer_images [ parseInt (m2) ].src;
	};
	};
	
	switch_seconds ();
}

function	switch_clock ()
{
	current_pos++;
	if (current_pos >= timer_zones.length)
		current_pos = 0;
	current_zone = timer_zones [current_pos];
	document.getElementById ('dtimer').style.backgroundImage = "url(" + zones_images [current_pos].src + ")";
	
}

function prepare_clock ()
{
	current_zone = timer_zones [0];
	preload_timer ();
	out_time ();
	clock_timer = setInterval ('out_time()', 1000);
	switch_timer = setInterval ('switch_clock ()', switch_delay);
}

