function calculate_time_zone()
{
	var rightNow = new Date();
	var jan1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);  // jan 1st
	var june1 = new Date(rightNow.getFullYear(), 5, 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
	}
	var i;
	var serverTime = document.getElementById('ctl00_ContentPlaceHolder1_StationTZ').value;
	var offset = serverTime - std_time_offset;
	// check just to avoid error messages
	if (getElementsByClassName(document,"div","time"))
	{
	    var elements = getElementsByClassName(document,"div","time");
		for (i = 0; i < elements.length; i++)
		{
	        var temp = parseTime(elements[i].innerHTML);
	        var hrs = temp.getHours();
	        var mins = temp.getMinutes();
	        hrs += -offset;
    	    temp.setHours(hrs);
    	    hrs = temp.getHours();
    	    
	        var a_p = "";
	        if (hrs < 12)
            {
                a_p = "AM";
            }
            else
            {
                a_p = "PM";
            }
            if (hrs == 0)
            {
                hrs = 12;
            }
            if (hrs > 12)
            {
                hrs = hrs - 12;
            }
               
            if (mins.toString().length == 1)
            {
                mins = "0" + mins;
            }
			elements[i].innerHTML = hrs + ":" + mins + " " + a_p;
		}
	}
}

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

function parseTime(timeString)
{
  if (timeString == '') return null;
  var d = new Date();
  var time = timeString.match(/(\d+)(:(\d\d))?\s*(p?)/i);
  d.setHours( parseInt(time[1],10) + (( parseInt(time[1],10) <= 12 && time[4] ) ? 12 : 0) );
  d.setMinutes( parseInt(time[3],10) || 0 );
  d.setSeconds(0, 0);
  return d;
}

