var current_zone = 6;
var current_pos = 0;
var	switch_delay = 10000;

var	MSK = 3;

var	timer_zones = new Array (MSK + 2, MSK + 2, MSK +2, MSK + 1, MSK + 1, MSK, MSK + 3, MSK - 1, MSK, MSK, MSK + 2, MSK + 3, MSK, MSK + 2, MSK + 2, MSK, MSK + 2);
/*
1-радужный +2
2-нижневартовск +2
3-нагань +2
4-ижевск +1
5-ульяновск +1
6-пенза 0
7-томск +3
8-минск -1
9-москва 0
10-брянск 0
11-Ханты-Мансийск  +2
12-стрежевой +3
13-краснодар 0
14-орск +2
15-оренбург +2
16-саратов 0
17-Нефтеюганск +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);
}
