///////////////////////////////////////////////////////////
// "Live Clock Advanced" script - Version 1.0
//
// - Dynamic Drive (http://www.dynamicdrive.com)
// - Website Abstraction (http://www.wsabstract.com)
// ========================================================
// INSTALLATION STEPS:
// 1. Add 'onload' event to <body> tag; <body onLoad="show_clock()">
// 2. Place script callout where desired;
//    <script language="javascript" src="scripts/clockdata.js"></script>
// 3. Configure this "js" file as desired.
// ========================================================
// Both "Advanced" and "Lite" versions are free.
///////////////////////////////////////////////////////////

/////////////// CONFIGURATION /////////////////////////////

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

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

	// Set the clock's font color:
	var myfont_color = "#006699";
	
	// Set the clock's background color:
	var myback_color = "#7ECFE2";

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

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

	// 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 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 MonthsOfYear = new Array(12);
		MonthsOfYear[0] = "1";
		MonthsOfYear[1] = "2";
		MonthsOfYear[2] = "3";
		MonthsOfYear[3] = "4";
		MonthsOfYear[4] = "5";
		MonthsOfYear[5] = "6";
		MonthsOfYear[6] = "7";
		MonthsOfYear[7] = "8";
		MonthsOfYear[8] = "9";
		MonthsOfYear[9] = "10";
		MonthsOfYear[10] = "11";
		MonthsOfYear[11] = "12";

// 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; background-color:'+myback_color+'"></span>'); }
	else if (document.layers) { document.write('<ilayer bgColor="'+myback_color+'" id="ClockPosNS" visibility="hide"><layer width="'+mywidth+'" id="LiveClockNS"></layer></ilayer>'); }
	else { old = "true"; show_clock(); }

// The main part of the script:
	function show_clock() {
		if (old == "die") { return; }


// The zero_padding function adds a leading zero to the
// date of the month if it is less than two digits long.
	function zero_padding (str) {
		while (str.toString().length < 2) {
			str = '0' + str;
		}
		
	return str;
}
	
	//show clock in NS 4
		if (ns4)
                document.ClockPosNS.visibility="show"
	// Get all our date variables:
		var Digital = new Date();
		var day = Digital.getDay();
		var mday = zero_padding(Digital.getDate() );
		
	//  zero_padding function added to above for consistent
	//  length formatting of the date of the month.
	
		var month = Digital.getMonth();
		var year = Digital.getFullYear().toString().substring(0);
		
	//	.getFullYear().toString().substring(2);   Added to above.
	//	
	//	This will instead take the full year, 2007, and then cast
	//	it into a String so that string methods can be performed
	//	on it. This is followed by substring(2) which will take
	//	the string from the 3rd character onwards. The position is
	//	counted from zero.	
	
		var hours = Digital.getHours();
		var minutes = Digital.getMinutes();
		var seconds = Digital.getSeconds();

	// 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 += '<font style="color:'+myfont_color+'; font-family:'+myfont_face+'; font-size:'+myfont_size+'pt;">';
		myclock += mypre_text;
		myclock += hours+':'+minutes;
		if ((myupdate < 2) || (myupdate == 0)) { myclock += ':'+seconds; }
		myclock += ' '+dn+'<br />';
		if (DisplayDate) { myclock += MonthsOfYear[month]+'/'+mday+'/'+year; }
		myclock += '</font>';

		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]); }
}
