var Clock = {
	Lang: {
		Words: { Day:null, In:null },
		Weekdays: [],
		Months: [],
		AddWeekday: function(day){ Clock.Lang.Weekdays.push(day); },
		AddMonth: function(month){ Clock.Lang.Months.push(month); },
		SetWords: function(Day,In) { Clock.Lang.Words.Day=Day; Clock.Lang.Words.In=In; }
	},
	DateObj:null,
	Now: {
		Year:	null, 
		Month:	null,
		Day:	null,
		Hour:	null,
		Minute:	null,
		Second:	null },
	SetDateObj: function(){
		Clock.DateObj = new Date();
		Clock.DateObj.setFullYear(Clock.Now.Year,Clock.Now.Month,Clock.Now.Day);
		Clock.DateObj.setHours(Clock.Now.Hour,Clock.Now.Minute,Clock.Now.Second);
	},
	UpdateNow: function(Year,Month,Day,Hour,Minute,Second){
		Clock.Now.Year		=	Year;
		Clock.Now.Month		=	Month;
		Clock.Now.Day		=	Day;
		Clock.Now.Hour		=	Hour;
		Clock.Now.Minute	=	Minute;
		Clock.Now.Second	=	Second;
	},
	Add1SecToNow: function(){
		Clock.Now.Second++;
		Clock.SetDateObj();
	},
	AddLeadingZero: function(n){ return (n<10)?'0'+n:n },
	Loop: function(){
		Clock.Add1SecToNow();
		Clock.UpdateUI();
		setTimeout(dojo.hitch(Clock.Loop),1000);
	},
	UpdateUI: function(){
		var date= Clock.Lang.Words.Day + ' ' + Clock.Lang.Weekdays[Clock.DateObj.getDay()] +
				  ', ' +
				  Clock.DateObj.getDate() + ' ' + Clock.Lang.Words.In + Clock.Lang.Months[Clock.DateObj.getMonth()] + ' ' + Clock.DateObj.getYear();
		var time= Clock.DateObj.getHours() + ':' + 
				  Clock.AddLeadingZero(Clock.DateObj.getMinutes()) + 
				  '<span class="sec">:' + Clock.AddLeadingZero(Clock.DateObj.getSeconds()) + '</span>';
		dojo.byId("nowLocalDate").innerHTML = date;
		dojo.byId("nowLocalTime").innerHTML = time;
	}
}