/*
**	Clock Display
** 	Credit to Doug Sparling [http://jquery.jclock.js.googlepages.com/]
*/

jQuery.fn.extend({
	'clock': function(offset) {

		var self = {}; var obj = $(this);

		self.weekdays = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
		self.months = ['January','Feburary','March','April','May','June','July','August','September','October','November','December'];

		self.clockTime = '';
		self.clockDay = '';
		self.clockDate = '';

		self.offset = offset;

		self.setUTC = function(offset) {
			var now = new Date();
			var localTime = now.getTime();
		    var localOffset = now.getTimezoneOffset() * 60000;
		    var utc = localTime + localOffset;
		    var utcTime = utc + (3600000 * offset);
		    now = new Date(utcTime);
			return now;
		}

		self.setOutput = function() {
			self.clockTime = obj.find('.time');
			self.clockDay = obj.find('.day');
			self.clockDate = obj.find('.date');
		}

		self.displayClock = function() {
			now = self.setUTC(self.offset);
			
			var date = now.getDate();
			var hours = now.getHours();
			var minutes = now.getMinutes();

			//var suffix = ["th", "st", "nd", "rd"][date % 10 > 3 ? 0 : (date % 100 - date % 10 != 10) * date % 10];
			var timeSuffix	= ["am","pm"][hours >= 12 ? 1 : 0];

			minutes = ["0" + minutes,minutes][minutes >= 10 ? 1 : 0];

			if(self.clockDay.length) {
				// Homepage
				self.clockDate.html(self.months[now.getMonth()] + " " + date + " " + now.getFullYear());
				self.clockDay.html(self.weekdays[now.getDay()]);
			} else {
				self.clockDate.html(self.weekdays[now.getDay()] + ", " +self.months[now.getMonth()] + " " + date + " " + now.getFullYear());				
			}
			
			self.clockTime.html((hours > 12 ? hours-12 : hours) + ":" + minutes).append("<span>" + timeSuffix + "</span>");

			self.trigger();
		}

		self.trigger = function() {
			setTimeout(self.displayClock, 5000);
		}

		self.setOutput();
		self.displayClock();
	}
});
