/*-Èäåÿ: Josh Fraser (http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/) */
function tzDetect()
{
var d = new Date();
var y = d.getFullYear();
var jan1  = new Date(y, 0, 1, 0, 0, 0, 0); 
var june1 = new Date(y, 5, 1, 0, 0, 0, 0); 
var jan2  = new Date(Date.UTC(y, 0, 1, 0, 0, 0, 0)); 
var june2 = new Date(Date.UTC(y, 5, 1, 0, 0, 0, 0)); 
var stdOffset = - (jan1 - jan2) / (60 * 1000);
var dstOffset = - (june1 - june2) / (60 * 1000);
return convert(stdOffset) + "," + convert(dstOffset);
}
function convert(value)
{
var abs = Math.abs(value);
var h = Math.floor(abs / 60);
var m = Math.floor(abs % 60);
return ((value >= 0)? "+" : "-") + ((h >= 10)? h : "0" + h) + ":" + ((m >= 10)? m : "0" + m);
}
function dateMskToGmt(y, m, d, h, min, s)
{
var time = 1; 
if (m < 2 || (m == 2 && d < 25) || m > 9)
{
time = 1;
}
else if ((m > 2 && m < 9) || (m == 9 && d < 25))
{
time = 2;
}
else if (m == 2)
{
var date31 = new Date(Date.UTC(y, m, 31, 0, 0, 0, 0));
var day31 = date31.getUTCDay();    
if (d - 25 != day31)
{
time = (d - 25 < day31)? 1 : 2;
}
else
{
time = (h <= 2)? 1 : 2;
}
}
else
{
var date31 = new Date(Date.UTC(y, m, 31, 0, 0, 0, 0));
var day31 = date31.getUTCDay();    
if (d - 25 != day31)
{
time = (d - 25 < day31)? 2 : 1;
}
else
{
time = (h < 2)? 2 : 1;
}
}
var offset = ((time == 1)? 3 : 4) * 60 * 60 * 1000;
return new Date(Date.UTC(y, m, d, h, min, s) - offset);
}

