var localOffset;

function setLocalOffset(){
	//var timeNow = new Date();
	//var localOffset = timeNow.getTimezoneOffset();
	//localOffset = localOffset *60 *1000;
	// Setup timezone offset. Check if DST is observed here
	// Get time now.
	var timeNow = new Date();
	// Get local time offset frmo GMT in miliseconds
	localOffset = timeNow.getTimezoneOffset() * 60 * 1000;
	var d1 = new Date();
	var d2 = new Date();
	// Set d1 to 1st January - no DST, and d2 to 1 July - DST if present
	d1.setDate(1);
	d1.setMonth(1);
	d2.setDate(1);
	d2.setMonth(7);

	if( d1.getTimezoneOffset() != d2.getTimezoneOffset())
	{
		// DST is observed in this timezone. Check if it is active
		if(d2.getTimezoneOffset() == timeNow.getTimezoneOffset())
		{	
			// DST is active add 1h to get real offset from GMT
			localOffset += 3600000;
		}
	}

	// to correctly choose date we need to chnage localOffset sign
	localOffset *= -1;
	
	return localOffset;
}

function printTimezoneOptionWithLocalOffset(val, name, offset, dft){
	document.write("<option value=\"" + val + "\"");
	
	if (offset == localOffset && dft == true){
		document.write("selected = \"selected\"");
	}
	document.write(">");
	document.write(name);
	var offsetStr = " (";
	if (offset >= 0)
	{
		offsetStr += "+";
		offsetStr += Math.floor(offset / 3600000);
	}
	else
	{
		offsetStr += Math.ceil(offset / 3600000);
	}
	
	offsetStr += ":";
	var q = Math.abs((offset%3600000)/60000);
	offsetStr += q;
	if (q < 10)
	{
		offsetStr += "0";
	}
	offsetStr += ")";
	
	document.write(offsetStr);
    document.write("</option>");
}

function printTimezoneOptionWithTZName(val, name, offset, selected){
	document.write("<option value=\"" + val + "\"");
	
	if (val == selected){
		document.write("selected = \"selected\"");
	}
	document.write(">");
	document.write(name);
	var offsetStr = " (";
	if (offset >= 0)
	{
		offsetStr += "+";
		offsetStr += Math.floor(offset / 3600000);
	}
	else
	{
		offsetStr += Math.ceil(offset / 3600000);
	}
	
	offsetStr += ":";
	var q = Math.abs((offset%3600000)/60000);
	offsetStr += q;
	if (q < 10)
	{
		offsetStr += "0";
	}
	offsetStr += ")";
	
	document.write(offsetStr);
    document.write("</option>");
}
