﻿registerNamespace("UpTheArse");

UpTheArse.SpursClock = function(p_el, p_args, p_namespace) {
	UpTheArse.SpursClock.initializeBase(this, arguments);
	
	var timer;

	this.initialize = function(p_objScope) {
		UpTheArse.SpursClock.getBaseMethod(this,
			"initialize", "Web.Bindings.Base").call(this, p_objScope);

		var lastSecs = 0;
		
		function displayTime() {
			var tSecs = ((86400 * 365) * 6) + ((86400 * 366) * 2) + (86400 * 258);
			var nNow = new Date() / 1000;

			// tNow is the time in seconds from 17/4/1961 16:45:00 (BST)
			var tNow = tSecs + nNow - 56700	// #seconds from 17/4/1961 to 31/12/1969
							// plus #seconds from 1/1/1970
							// minus #seconds for 15:45 (it was BST in 1961!)

			var Days = Math.floor(tNow/86400);
			var Hours = Math.floor((tNow - (Days * 86400))/3600);
			var Mins = Math.floor((tNow - (Days * 86400) - (Hours * 3600))/60);
			var Secs = Math.floor(tNow - (Days * 86400) - (Hours * 3600) - (Mins * 60));

			// this uses the new W3C DOM object model
		        var dNode = document.getElementById("spursDays");
		        dNode.childNodes[0].nodeValue = Days;

		        var hNode = document.getElementById("spursHours");
		        hNode.childNodes[0].nodeValue = Hours;

		        var mNode = document.getElementById("spursMins");
		        mNode.childNodes[0].nodeValue = Mins;

		        var sNode = document.getElementById("spursSecs");
		        sNode.childNodes[0].nodeValue = Secs;

			//	p_el.innerHTML =  new Date(now).toLocaleTimeString();
		}

   		timer = setInterval(displayTime,100);
		displayTime();
	};
	UpTheArse.SpursClock.registerBaseMethod(this, "initialize");
	
	this.dispose = function(p_blnUnload) {
		UpTheArse.SpursClock.getBaseMethod(this,
			"dispose", "Web.Bindings.Base").call(this, p_blnUnload);
		clearInterval(timer);
		timer = null;
	};
	UpTheArse.SpursClock.registerBaseMethod(this, "dispose");
	

};
UpTheArse.SpursClock.registerClass("SampleNamespace.SampleGadget",
	"Web.Bindings.Base");
