function isDST(){
	var now = new Date();
	var date1 = new Date(now.getFullYear(), 0, 1, 0, 0, 0, 0);
	var date2 = new Date(now.getFullYear(), 6, 1, 0, 0, 0, 0);
	var temp = date1.toGMTString();
	var date3 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
	var temp = date2.toGMTString();
	var date4 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
	var hoursDiffStdTime = (date1 - date3) / (1000 * 60 * 60);
	var hoursDiffDaylightTime = (date2 - date4) / (1000 * 60 * 60);
	var timeZone = "GMT "+hoursDiffStdTime;
	return !hoursDiffDaylightTime == hoursDiffStdTime;
}
// Pass an id of select box to populate with timezone and pre-select current
function populateTimezoneOptions(id){
	if($defined($(id))){
		var defaults = new Array();
			defaults[-840] = "GMT+14:00";
			defaults[-780] = "GMT+13:00";
			defaults[-720] = "GMT+12:00";
			defaults[-660] = "GMT+11:00";
			defaults[-600] = "GMT+10:00";
			defaults[-540] = "GMT+09:00";
			defaults[-480] = "GMT+08:00";
			defaults[-420] = "GMT+07:00";
			defaults[-360] = "GMT+06:00";
			defaults[-300] = "GMT+05:00";
			defaults[-240] = "GMT+04:00";
			defaults[-180] = "GMT+03:00";
			defaults[-120] = "GMT+02:00";
			defaults[-60] = "GMT+01:00";
			defaults[0] = "GMT+00:00";
			defaults[60] = "GMT-01:00";
			defaults[120] = "GMT-02:00";
			defaults[180] = "GMT-03:00";
			defaults[240] = "US/Eastern";
			defaults[300] = "US/Central";
			defaults[360] = "US/Mountain";
			defaults[420] = "US/Pacific";
			defaults[480] = "US/Alaska";
			defaults[520] = "GMT-09:00";
			defaults[580] = "US/Hawaii";
			defaults[640] = "GMT-11:00";
			defaults[700] = "GMT-12:00";
	
		var tzo = new Date().getTimezoneOffset();
		var offset = tzo >= 240 && tzo <= 580 && !isDST() ? 60 : 0;
		clientTimezone = defaults[new Date().getTimezoneOffset() - offset];
					
		var tz = $(id);
		
		tz.options[0] = new Option('Eastern Time (GMT-4)','US/Eastern');
		tz.options[1] = new Option('Central Time (GMT-5)','US/Central');
		tz.options[2] = new Option('Mountain Time - Arizona (GMT-7)','US/Arizona');
		tz.options[3] = new Option('Mountain Time (GMT-6)','US/Mountain');
		tz.options[4] = new Option('Pacific Time (GMT-7)','US/Pacific');
		tz.options[5] = new Option('Alaska Time (GMT-8)','US/Alaska');
		tz.options[6] = new Option('Hawaii Time (GMT-10)','US/Hawaii');
		
		var optgroup = document.createElement('optgroup');
		optgroup.label = '---------';
		
		for(var i = -12; i < 15; i++){
			var add = '';
			if(i > -1){ add = '+'; }
			if(i < 10 && i > -10){ add = add + '0'; }
			var opt = document.createElement("option");
			opt.value = 'GMT' + add + i + ':00';
			opt.appendChild(document.createTextNode('GMT' + add + i + ':00'));
			optgroup.appendChild(opt);
		}
		
		tz.appendChild(optgroup);
		
		for(var i = 0; i < tz.options.length; i++){
			if(clientTimezone == tz.options[i].value){
				tz.options[i].selected = true;
			}
		}
	}
}