﻿<!--
var tzone = null;
var clockID = null;
var clockRunning = false;
var x = new Date();
var ltime = x.getTime();
var stime = new Date(); 
stime = stime.getTime();
var diff = stime - ltime;
var btime = ltime;

var lltime = new Date(ltime - diff);
var tzone_date = new Date();
var local_offset = tzone_date.getTimezoneOffset();
local_offset = parseInt(local_offset);
local_offset = local_offset / 60;
var rational_offset = "Wait...";

function simpleFindObj(name, inLayer) 
{
return document[name] || (document.all && document.all[name])
|| (document.getElementById && document.getElementById(name))
|| (document.layers && inLayer && document.layers[inLayer].document[name]);
}

function divWrite(div, input)
{
	var div_x = simpleFindObj(div);
	input = input;
	if (div_x && div_x.innerHTML) 
	{
		div_x.innerHTML = input;
	}
	else if (div_x && div_x.document) 
	{
		div_x.document.writeln(input);
		div_x.document.close();
	}
}

function UTCDateDisplay(utcDate) 
{
	divWrite("utc_date", utcDate);
}

function UTCTimeDisplay(utcTime) 
{
	divWrite("utc_time", utcTime);
}

function LocalDateDisplay(localDate, layer) 
{
	divWrite(layer, localDate);
}

function LocalTimeDisplay(localTime, layer) 
{
	divWrite(layer, localTime);
}

function stop()
{
	if(clockRunning) clearTimeout(clockID);
	clockRunning = false;
}

function makeGMT (day, date, month, year, hour, minute, second)
{

	var AmPm;
	var bah = hour;
	var yoo = hour;

	switch (day)
	{
		case 0 : day = "Sunday";
		break;
		case 1 : day = "Monday";
		break;
		case 2 : day = "Tuesday";
		break;
		case 3 : day = "Wednesday";
		break;
		case 4 : day = "Thursday";
		break;
		case 5 : day = "Friday";
		break;
		case 6 : day = "Saturday";
		break;
	}

	switch (month)
	{
		case 0 : month = "1";
		break;
		case 1 : month = "2";
		break;
		case 2 : month = "3";
		break;
		case 3 : month = "4";
		break;
		case 4 : month = "5";
		break;
		case 5 : month = "6";
		break;
		case 6 : month = "7";
		break;
		case 7 : month = "8";
		break;
		case 8 : month = "9";
		break;
		case 9 : month = "10";
		break;
		case 10 : month = "11";
		break;
		case 11 : month = "12";
		break;
	}

	if (hour < 10)
	{
		hour = ("0" + hour);
	}

	if (minute < 10)
	{
		minute = ("0" + minute);
	}

	if (second < 10)
	{
		second = ("0" + second);
	}

		UTCDateDisplay(year + "/" +  month  + "/" + date + "/" + day);
		UTCTimeDisplay(hour + ":" + minute + ":" + second);
}

function makeLocal(day, date, month, year, hour, minute, second, layerDate, layerTime)
{

	var AmPm;
	var bah = hour;
	var yoo = hour;

	switch (day)
	{
		case 0 : day = "Sunday";
		break;
		case 1 : day = "Monday";
		break;
		case 2 : day = "Tuesday";
		break;
		case 3 : day = "Wednesday";
		break;
		case 4 : day = "Thursday";
		break;
		case 5 : day = "Friday";
		break;
		case 6 : day = "Saturday";
		break;
	}

	switch (month)
	{
		case 0 : month = "1";
		break;
		case 1 : month = "2";
		break;
		case 2 : month = "3";
		break;
		case 3 : month = "4";
		break;
		case 4 : month = "5";
		break;
		case 5 : month = "6";
		break;
		case 6 : month = "7";
		break;
		case 7 : month = "8";
		break;
		case 8 : month = "9";
		break;
		case 9 : month = "10";
		break;
		case 10 : month = "11";
		break;
		case 11 : month = "12";
		break;
	}

	if (hour < 10)
	{
		hour = ("0" + hour);
	}

	if (minute < 10)
	{
		minute = ("0" + minute);
	}

	if (second < 10)
	{
		second = ("0" + second);
	}

	if (bah >= 0 && bah <= 11)
	{
		AmPm = ("Am");
	}
	
	else if (bah >= 12 && bah <= 23)
	{
		AmPm = ("Pm");
	}

	if (bah >= 13)
	{
		bah = (parseInt(bah) - 12);
	}

	if (yoo == 0)
	{
		var spank = 12;
		LocalDateDisplay(year + "Year" + month + "Month" + date + "Day " + day, layerDate);
		LocalTimeDisplay(hour + ":" + minute + ":" + second + " / " + spank + ":" + minute + ":" + second + " " + AmPm, layerTime);

	}
	
	else if (yoo >= 0 && yoo <= 12)
	{
		LocalDateDisplay(year + "Year" + month + "Month" + date + "Day " + day, layerDate);
		LocalTimeDisplay(hour + ":" + minute + ":" + second + " " + "\(" + AmPm + "\)", layerTime);
		
	}
	
	else
	{
		LocalDateDisplay(year + "Year" + month + "Month" + date + "Day " + day, layerDate);
		LocalTimeDisplay(hour + ":" + minute + ":" + second + " / " + bah + ":" + minute + ":" + second + " " + AmPm, layerTime);
	}
}


function OffsetRationalizer(rational_tzone) 
{	
	if (rational_tzone == 0)
	{
		if (local_offset == 0)
		{
			rational_offset = "GMT";		}
	
		else if (local_offset < 0)
		{
			local_offset = local_offset - local_offset - local_offset;
			local_offset = new String(local_offset);
			offset_container = local_offset.split(".");

			if (offset_container[0] < 10)
			{
				offset_container[0] = "0" + offset_container[0];
			}
	
			if (offset_container[1] == undefined)
			{
				offset_container[1] = "00";
			}	
	
			else if (offset_container[1] == 25)
			{
				offset_container[1] = 15;
			}
	
			else if (offset_container[1] == 5)
			{
				offset_container[1] = 30;
			}
			
			else if (offset_container[1] == 75)
			{
				offset_container[1] = 45;
			}

			rational_offset = offset_container[0] + ":" + offset_container[1];
			rational_offset = "GMT+" + rational_offset;
					}

		else if (local_offset > 0)
		{
			local_offset = local_offset - local_offset - local_offset;
			local_offset = new String(local_offset);
			offset_container = local_offset.split(".");
	
			if (offset_container[0] > -10)
			{
				offset_container[0] = offset_container[0] - offset_container[0] - offset_container[0]	;
				offset_container[0] = "0" + offset_container[0];
			}

			else if (offset_container[0] <= -10)
			{
				offset_container[0] = offset_container[0] - offset_container[0] - offset_container[0];
			}

			if (offset_container[1] == undefined)
			{
				offset_container[1] = "00";
			}

			else if (offset_container[1] == 25)
			{
				offset_container[1] = 15;
			}

			else if (offset_container[1] == 5)
			{
				offset_container[1] = 30;
			}
			
			else if (offset_container[1] == 75)
			{
				offset_container[1] = 45;
			}

			rational_offset = offset_container[0] + ":" + offset_container[1];
			
			rational_offset = "GMT-" + rational_offset;
					}
	}
	
	else if (rational_tzone != 0)
	{
		rational_tzone = new String(rational_tzone);
		
		if (local_offset == 0)
		{
			rational_tzone = new String(rational_tzone);
			tzone_container = rational_tzone.split(".");
			
			if (tzone_container[0] == 0)
			{
				tzone_container[0] = "0" + tzone_container[0];
				plus_minus = "+/- ";
			}
			
			else if (tzone_container[0] < 10 && tzone_container[0] > 0)
			{
				tzone_container[0] = "0" + tzone_container[0];
				plus_minus = "+ ";
			}
			
			else if (tzone_container[0] >= 10)
			{
				plus_minus = "+ ";
			}
			
			else if (tzone_container[0] > -10 && tzone_container[0] < 0)
			{
				tzone_container[0] = tzone_container[0] - tzone_container[0] - tzone_container[0];
				tzone_container[0] = "0" + tzone_container[0];
				plus_minus = "- ";
			}

			else if (tzone_container[0] <= -10)
			{
				plus_minus = "- ";
			}
			
			if (tzone_container[1] == undefined)
			{
				tzone_container[1] = "00";
			}
	
			else if (tzone_container[1] == 25)
			{
				tzone_container[1] = 15;
			}
	
			else if (tzone_container[1] == 5)
			{
				tzone_container[1] = 30;
			}
			
			else if (tzone_container[1] == 75)
			{
				tzone_container[1] = 45;
			}

			tzone_container = tzone_container[0] + ":" + tzone_container[1];
		
			rational_offset = " " + plus_minus + tzone_container;
		}
	
		else if (local_offset != 0)
		{
			if (local_offset > 0)
			{
				if (rational_tzone > 0)
				{
					actual_difference = parseFloat(rational_tzone) - parseFloat(-local_offset);
					actual_difference = new String(actual_difference);
				}
				
				else if (rational_tzone < 0)
				{
					actual_difference = parseFloat(rational_tzone) + parseFloat(local_offset);
					actual_difference = new String(actual_difference);
				}
			}
			
			else if (local_offset < 0)
			{
				if (rational_tzone > 0)
				{
					actual_difference = parseFloat(local_offset) + parseFloat(rational_tzone);
					actual_difference = new String(actual_difference);
				}
				
				else if (rational_tzone < 0)
				{
					actual_difference = parseFloat(rational_tzone) - parseFloat(local_offset);
					actual_difference = new String(actual_difference);
				}
			}
			
			actual_difference = actual_difference.split(".");
			
			var match = null;
			
			if (actual_difference[0] == 0)
			{
				actual_difference[0] = "0" + actual_difference[0];
				match = 1;
			}
			
			else if (actual_difference[0] < 10 && actual_difference[0] > 0)
			{
				actual_difference[0] = "0" + actual_difference[0];
				plus_minus = "+ ";
			}
			
			else if (actual_difference[0] >= 10)
			{
				plus_minus = "+ ";
			}
			
			else if (actual_difference[0] > -10 && actual_difference[0] < 0)
			{
				actual_difference[0] = actual_difference[0] - actual_difference[0] - actual_difference[0];
				actual_difference[0] = "0" + actual_difference[0];
				plus_minus = "- ";
			}

			else if (actual_difference[0] <= -10)
			{
				actual_difference[0] = actual_difference[0] - actual_difference[0] - actual_difference[0];
				plus_minus = "- ";
			}
			
			if (actual_difference[1] == undefined)
			{
				actual_difference[1] = "00";
			}
	
			else if (actual_difference[1] == 25)
			{
				actual_difference[1] = 15;
			}
	
			else if (actual_difference[1] == 5)
			{
				actual_difference[1] = 30;
			}
			
			else if (actual_difference[1] == 75)
			{
				actual_difference[1] = 45;
			}

			actual_difference = actual_difference[0] + ":" + actual_difference[1];
			
			if (match == 1)
			{
				rational_offset = "";
			}
			else
			{
				rational_offset = "" + plus_minus + actual_difference;
			}
		}
	}
}



var start_sec = (new Date()).getTime();
var count = 0;

function display() 
{
	if (count > 0)
	{
		new_diff = init_diff + 1000;

	}

	btime = (new Date()).getTime();
	lltime = new Date(btime + diff);

	init_diff = (btime - start_sec);
	if (count > 0)
	{
		overall_diff = new_diff - init_diff;
	}

	var ServerDSTCheck = lltime.getTime();
	var df = tzone;
	var UTCDay = lltime.getUTCDay();
	var UTCDate = lltime.getUTCDate();
	var UTCMonth = lltime.getUTCMonth();
	var UTCYear = lltime.getUTCFullYear();
	var UTCHours = lltime.getUTCHours();
	var UTCMinutes = lltime.getUTCMinutes();
	var aSeconds = lltime.getUTCSeconds();
	makeGMT (UTCDay, UTCDate, UTCMonth, UTCYear, UTCHours, UTCMinutes, aSeconds);
	
	divWrite("your_std_view", rational_offset);

	var lDay = lltime.getDay();
	var lDate = lltime.getDate();
	var lMonth = lltime.getMonth();
	var lYear = lltime.getFullYear();
	var lHours = lltime.getHours();
	var lMinutes = lltime.getMinutes();
	var aSeconds = lltime.getSeconds();
	makeLocal (lDay, lDate, lMonth, lYear, lHours, lMinutes, aSeconds, "local_date", "local_time");

	tzone = df;
	clockID = setTimeout("display()", 1000 - (lltime.getTime()  % 1000));
		
	clockRunning = true;
	
	count = count + 1;
}

function tick() 
{
	stop();
	
	display();
	
	rational_tzone = tzone / 1000 / 60 / 60;
	OffsetRationalizer(rational_tzone);
}
-->