
    // convert all characters to lowercase to simplify testing
    var agt=navigator.userAgent.toLowerCase();
    var appVer = navigator.appVersion.toLowerCase();

    // *** BROWSER VERSION ***

    var is_minor = parseFloat(appVer);
    var is_major = parseInt(is_minor);

   
    var is_safari = ((agt.indexOf('safari')!=-1)&&(agt.indexOf('mac')!=-1))?true:false;

       

	// Set the clock's font face:
	var myfont_face = "Verdana";

	// Set the clock's font size (in point):
	var myfont_size = "11";

	// Set the clock's font color:
	var myfont_color = "#000000";
	
	// Set the clock's background color:
	var myback_color = "#FFFFFF";

	// Set the text to display before the clock:
	var mypre_text = "";

	// Set the width of the clock (in pixels):
	var mywidth = 300;

	// Display the time in 24 or 12 hour time?
	// 0 = 24, 1 = 12
	var my12_hour = 1;

	// How often do you want the clock updated?
	// 0 = Never, 1 = Every Second, 2 = Every Minute
	// If you pick 0 or 2, the seconds will not be displayed
	var myupdate = 1;

	// Display the date?
	// 0 = No, 1 = Yes
	var DisplayDate = 1;

/////////////// END CONFIGURATION /////////////////////////
///////////////////////////////////////////////////////////

// Browser detect code
        var ie4=document.all
        var ns4=document.layers
        var ns6=document.getElementById&&!document.all

// Global varibale definitions:

	var dn = "";
	var mn = "th";
	var old = "";

// The following arrays contain data which is used in the clock's
// date function. Feel free to change values for Days and Months
// if needed (if you wanted abbreviated names for example).
	var DaysOfWeek = new Array(7);
		DaysOfWeek[0] = "Sun";
		DaysOfWeek[1] = "Mon";
		DaysOfWeek[2] = "Tues";
		DaysOfWeek[3] = "Wed";
		DaysOfWeek[4] = "Thurs";
		DaysOfWeek[5] = "Fri";
		DaysOfWeek[6] = "Sat";

	var MonthsOfYear = new Array(12);
		MonthsOfYear[0] = "Jan";
		MonthsOfYear[1] = "Feb";
		MonthsOfYear[2] = "Mar";
		MonthsOfYear[3] = "Apr";
		MonthsOfYear[4] = "May";
		MonthsOfYear[5] = "June";
		MonthsOfYear[6] = "July";
		MonthsOfYear[7] = "Aug";
		MonthsOfYear[8] = "Sept";
		MonthsOfYear[9] = "Oct";
		MonthsOfYear[10] = "Nov";
		MonthsOfYear[11] = "Dec";

// This array controls how often the clock is updated,
// based on your selection in the configuration.
	var ClockUpdate = new Array(3);
		ClockUpdate[0] = 0;
		ClockUpdate[1] = 1000;
		ClockUpdate[2] = 60000;

// For Version 4+ browsers, write the appropriate HTML to the
// page for the clock, otherwise, attempt to write a static
// date to the page.
	if (ie4||ns6) { document.write('<span id="LiveClockIE" style="width:'+mywidth+'px;"></span>'); }
	else if (document.layers) { document.write('<ilayer id="ClockPosNS" visibility="hide"><layer width="'+mywidth+'" id="LiveClockNS"></layer></ilayer>'); }
	else { old = "true"; show_clock(); }


    function getOffset() {
	    function makeArray() {
            this[0] = makeArray.arguments.length;
            for (i = 0; i<makeArray.arguments.length; i++) {
                this[i+1] = makeArray.arguments[i];
            }
        }
    
        var daysofmonth   = new makeArray( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
        var daysofmonthLY = new makeArray( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
        
        function LeapYear(year) {
            if ((year/4)   != Math.floor(year/4))   return false;
            if ((year/100) != Math.floor(year/100)) return true;
            if ((year/400) != Math.floor(year/400)) return false;
            return true;
        }
        
        function NthDay(nth,weekday,month,year) {
            if (nth > 0) return (nth-1)*7 + 1 + (7 + weekday -
            DayOfWeek((nth-1)*7 + 1,month,year))%7;
            if (LeapYear(year)) var days = daysofmonthLY[month];
            else                var days = daysofmonth[month];
            return days - (DayOfWeek(days,month,year) - weekday + 7)%7;
        }
        
        function DayOfWeek(day,month,year) {
            var a = Math.floor((14 - month)/12);
            var y = year - a;
            var m = month + 12*a - 2;
            var d = (day + y + Math.floor(y/4) - Math.floor(y/100) +
            Math.floor(y/400) + Math.floor((31*m)/12)) % 7;
            return d+1;
        }
        
        function y2k(number) {
            return (number < 1000) ? number + 1900 : number;
         }
        
        var today = new Date();
        var year = y2k(today.getYear());
        var DSTstart = new Date(year,4-1,NthDay(1,1,4,year),2,0,0);
        var DSTend   = new Date(year,10-1,NthDay(-1,1,10,year),2,0,0);
        
        function getMS(date) {
            return Date.UTC(y2k(date.getYear()),date.getMonth(),date.getDate(),date.getHours(),date.getMinutes(),date.getSeconds());
        }
        
        var todayMS = getMS(today);
        var DSTstartMS = getMS(DSTstart);
        var DSTendMS = getMS(DSTend);
        
        
        if (todayMS < DSTstartMS || todayMS > DSTendMS) {
            // Daylight Saving within effect
            // we are having the biggest problem here.  I think this changes with apples whim
            if (is_safari) {
                return -5;
            } else {
                return -5;
            }
        } else {
            // Daylght Saving NOT within effect
            return -4;
        }
    }

function gettest() {
	
	function makeArray()    {
    this[0] = makeArray.arguments.length;
    for (i = 0; i<makeArray.arguments.length; i++)
        this[i+1] = makeArray.arguments[i];
	}

	var daysofmonth   = new makeArray( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	var daysofmonthLY = new makeArray( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	
	function LeapYear(year) {
	if ((year/4)   != Math.floor(year/4))   return false;
	if ((year/100) != Math.floor(year/100)) return true;
	if ((year/400) != Math.floor(year/400)) return false;
	return true;
	}
	
	function NthDay(nth,weekday,month,year) {
	if (nth > 0) return (nth-1)*7 + 1 + (7 + weekday -
	DayOfWeek((nth-1)*7 + 1,month,year))%7;
	if (LeapYear(year)) var days = daysofmonthLY[month];
	else                var days = daysofmonth[month];
	return days - (DayOfWeek(days,month,year) - weekday + 7)%7;
	}
	
	function DayOfWeek(day,month,year) {
	var a = Math.floor((14 - month)/12);
	var y = year - a;
	var m = month + 12*a - 2;
	var d = (day + y + Math.floor(y/4) - Math.floor(y/100) +
	Math.floor(y/400) + Math.floor((31*m)/12)) % 7;
	return d+1;
	}
	
	function y2k(number)    { return (number < 1000) ? number + 1900 : number; }
	
	var today = new Date();
	var year = y2k(today.getYear());
	
	var DSTstart = new Date(year,4-1,NthDay(1,1,4,year),2,0,0);
	var DSTend   = new Date(year,10-1,NthDay(-1,1,10,year),2,0,0);
	
	function getMS(date) {
		return Date.UTC(y2k(date.getYear()),date.getMonth(),date.getDate(),date.getHours(),date.getMinutes(),date.getSeconds());
		
	}
	
	var todayMS = getMS(today);
	var DSTstartMS = getMS(DSTstart);
	var DSTendMS = getMS(DSTend);
	
	
	if (todayMS < DSTstartMS || todayMS > DSTendMS) {
		// Daylight Saving within effect
		if (is_safari) {
			return -8;
		} else {
			return -8;
		}
	} else {
		// Daylght Saving NOT within effect
		if (is_safari) {
			return -9;
		} else {
			return -8;		  
		}
	}
	
	//return (new Date(DSTstartMS)) + ' ' + (new Date(todayMS)) + ' ' + (new Date(DSTendMS));
}




// The main part of the script:
	function show_clock() {
		if (old == "die") { return; }
	
	//show clock in NS 4
		if (ns4)
                document.ClockPosNS.visibility="show"
	// Get all our date variables:
	
	
		var TimezoneOffset = getOffset();  // adjust for time zone
		var localTime = new Date()
		var ms = localTime.getTime() 
			 	+ (localTime.getTimezoneOffset() * 60000)
				+ TimezoneOffset * 3600000
		var time =  new Date(ms) 
		var hours = time.getHours() 
		var minutes = time.getMinutes()
		var seconds = time.getSeconds() 
		var day = time.getDay();
		var mday = time.getDate();
		var month = time.getMonth();
		var year = time.getYear();
		

	// Fix the "mn" variable if needed:
		if (mday == 1) { mn = "st"; }
		else if (mday == 2) { mn = "nd"; }
		else if (mday == 3) { mn = "rd"; }
		else if (mday == 21) { mn = "st"; }
		else if (mday == 22) { mn = "nd"; }
		else if (mday == 23) { mn = "rd"; }
		else if (mday == 31) { mn = "st"; }

	// Set up the hours for either 24 or 12 hour display:
		if (my12_hour) {
			dn = "AM";
			if (hours > 12) { dn = "PM"; hours = hours - 12; }
			if (hours == 0) { hours = 12; }
		} else {
			dn = "";
		}
		if (minutes <= 9) { minutes = "0"+minutes; }
		if (seconds <= 9) { seconds = "0"+seconds; }

	// This is the actual HTML of the clock. If you're going to play around
	// with this, be careful to keep all your quotations in tact.
		myclock = '';
		myclock += hours+':'+minutes;
		if ((myupdate < 2) || (myupdate == 0)) { myclock += ':'+seconds; }
		myclock += ' '+dn;
		if (DisplayDate) { myclock += ' '+DaysOfWeek[day]+', '+mday+mn+' '+MonthsOfYear[month]; }
		
				
		if (old == "true") {
			document.write(myclock);
			old = "die";
			return;
		}

	// Write the clock to the layer:
		if (ns4) {
			clockpos = document.ClockPosNS;
			liveclock = clockpos.document.LiveClockNS;
			liveclock.document.write(myclock);
			liveclock.document.close();
		} else if (ie4) {
			LiveClockIE.innerHTML = myclock;
		} else if (ns6){
			document.getElementById("LiveClockIE").innerHTML = myclock;
                }            

	if (myupdate != 0) { setTimeout("show_clock()",ClockUpdate[myupdate]); }
}
