// script by Josh Fraser (http://www.onlineaspect.com)

function calculate_time_zone(update_div) {
   var rightNow = new Date();
   var jan1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);  // jan 1st
   var june1 = new Date(rightNow.getFullYear(), 6, 1, 0, 0, 0, 0); // june 1st
   var temp = jan1.toGMTString();
   var jan2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
   temp = june1.toGMTString();
   var june2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
   var std_time_offset = (jan1 - jan2) / (1000 * 60 * 60);
   var daylight_time_offset = (june1 - june2) / (1000 * 60 * 60);
   var dst;
   if (std_time_offset == daylight_time_offset) {
		dst = "0"; // daylight savings time is NOT observed
   } else {
   		// positive is southern, negative is northern hemisphere
		var hemisphere = std_time_offset - daylight_time_offset;
		if (hemisphere >= 0)
			std_time_offset = daylight_time_offset;
		dst = "1"; // daylight savings time is observed
   }
   
   //Add 100/-100 to the timezone value registered to indicate that daylight savings time is used
   //E.g. -105.00 is gmt -5 where daylight savings time is used, -5.00 is gmt -5 where not
   if(dst == "1")
   {
	   if(std_time_offset >= 0) offset_dst_merge = std_time_offset + 50;
	   else offset_dst_merge = std_time_offset - 50;
   }
   else offset_dst_merge = std_time_offset;
   update_div.set('value', offset_dst_merge);
}