﻿var asdDateTimeCheckerT0=null,asdDateTimeCheckerList=[];
function asdDateTimeChecker()
{
	var k,d,l,tNow=new Date();
	tNow=tNow.getTime();
	try
	{
		if(typeof(window["asdDateTimeList"])!="undefined")
		{
			for(k=0;k<window["asdDateTimeList"].length;k++)
			{
				if(d=window["asdDateTimeList"][k])
				{
					if(l=document.getElementById(d[0]))
					{
						new asdDateTimeRenderer(l,d[1]);
						window["asdDateTimeList"][k]=null;
						if(!asdDateTimeCheckerT0)
							asdDateTimeCheckerT0=tNow;
					}
				}
			}
		}
	}
	catch(e) { }
	if((!asdDateTimeCheckerT0)||((tNow-asdDateTimeCheckerT0)<5000))
		setTimeout("asdDateTimeChecker()",30);
}
setTimeout("asdDateTimeChecker();",30);
function asdDateTimeRenderer(L,p)
{
	this.Params=p?p:{};
	this.CurText="";
	this.hTimer=null;
	this.Lay=L;
	asdDateTimeCheckerList[this.Index=asdDateTimeCheckerList.length]=this;
	this.Update();
	this.Start();
}
asdDateTimeRenderer.prototype=
{
	DateFormats:
	{
		FullWithWeekday:0,
		FullWithoutWeekday:1,
		TreeLettersWithWeekday:2,
		TreeLettersWithoutWeekday:3,
		Numbers:4,
		None:5
	},
	TimeFormats:
	{
		WithSeconds:0,
		WithoutSeconds:1,
		None:2
	},
	WeekDays:["Domenica","Luned&igrave;","Marted&igrave;","Mercoled&igrave;","Gioved&igrave;","Venerd&igrave;","Sabato"],
	Months:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],
	Start:function()
	{
		if(this.hTimer)return;
		this.hTimer=setInterval("asdDateTimeCheckerList["+this.Index+"].Update()",500);
	},
	Stop:function()
	{
		if(!this.hTimer)return;
		clearInterval(this.hTimer);
		this.hTimer=null;
	},
	to2:function(n)
	{
		return ((n<10)?"0":"")+n.toString();
	},
	Update:function()
	{
		var D=new Date(),d,t,dt;
		switch(this.Params.df)
		{
			case this.DateFormats.FullWithoutWeekday:
				d=D.getDate().toString()+" "+this.Months[D.getMonth()]+" "+D.getFullYear().toString();
				break;
			case this.DateFormats.TreeLettersWithWeekday:
				d=this.WeekDays[D.getDay()].substr(0,3)+" "+D.getDate().toString()+" "+this.Months[D.getMonth()].substr(0,3)+" "+D.getFullYear().toString();
				break;
			case this.DateFormats.TreeLettersWithoutWeekday:
				d=D.getDate().toString()+" "+this.Months[D.getMonth()].substr(0,3)+" "+D.getFullYear().toString();
				break;
			case this.DateFormats.Numbers:
				d=this.to2(D.getDate())+"/"+this.to2(D.getMonth()+1)+"/"+D.getFullYear().toString();
				break;
			case this.DateFormats.None:
				d="";
				break;
			default:
				d=this.WeekDays[D.getDay()]+" "+D.getDate().toString()+" "+this.Months[D.getMonth()]+" "+D.getFullYear().toString();
				break;
		}
		switch(this.Params.tf)
		{
			case this.TimeFormats.WithoutSeconds:
				t=this.to2(D.getHours())+":"+this.to2(D.getMinutes());
				break;
			case this.TimeFormats.None:
				t="";
				break;
			default:
				t=this.to2(D.getHours())+":"+this.to2(D.getMinutes())+":"+this.to2(D.getSeconds());
				break;
		}
		if(d.length&&t.length)
			dt=d+this.Params.sep+t;
		else if(d.length)
			dt=d;
		else
			dt=t;
		if(this.Params.lcase)dt=dt.toLowerCase();
		dt=this.Params.bef+dt+this.Params.aft;
		if(this.CurText!=dt)
			this.Lay.innerHTML=this.CurText=dt;
	}
};

