dojo.require("dojo.fx");
dojo.require("dojo.html");
dojo.require("dojox.av.FLAudio");

var divMessaggiNuovi, divChatMsg, divChatStatus, divChatWaiting, titleOrig, titleCurrent=0, a1, a2, a3, a4, a5, a6, a7, a8, Timer, soundLoader, soundLoaded=false;
var initDJ, blinkMN, blinkCW, stopBlinkCW, updateMN;
function initDJ()
{
	if ( typeof(divMessaggiNuovi=dojo.byId("DivNuoviMessaggi"))=="object" && typeof(divChatMsg=dojo.byId("DivChatMsg"))=="object" && typeof(divChatStatus=dojo.byId("DivChatStatus"))=="object" )
	{
		dojo.place("<div id=\"DivChatWaiting\" align=\"center\" class=\"ChatWaiting\"></div>", divChatStatus);
		divChatWaiting=dojo.byId("DivChatWaiting");
		titleOrig=dojo.doc.title;
		a1=dojo.animateProperty({
			node: divMessaggiNuovi, delay: 500, duration: 400,
			properties:{
				opacity: { end: 0 }, fontSize: { end: 9, unit:"px"}
			}
		});
		a2=dojo.animateProperty({
			node: divMessaggiNuovi, delay: 100, duration: 200,
			properties:{
				opacity: { end: 1 }, fontSize: { end: 13, unit:"px"}
			}
		});
		a3=dojo.animateProperty({
			node: divChatMsg, delay: 500, duration: 400,
			properties:{
				opacity: { end: 0 }, fontSize: { end: 9, unit:"px"}
			}
		});
		a4=dojo.animateProperty({
			node: divChatMsg, delay: 100, duration: 200,
			properties:{
				opacity: { end: 1 }, fontSize: { end: 13, unit:"px"}
			}
		});
		a5=dojo.animateProperty({
			node: divChatStatus, delay: 100, duration: 400,
			properties:{
				opacity: { end: 1 }
			}
		});
		a6=dojo.animateProperty({
			node: divChatStatus, delay: 100, duration: 800,
			properties:{
				opacity: { end: 0 }
			}
		});
		a7=dojo.animateProperty({
			node: divChatWaiting, delay: 100, duration: 200,
			properties:{
				opacity: { end: 0 }
			}
		});
		a8=dojo.animateProperty({
			node: divChatWaiting, delay: 100, duration: 100,
			properties:{
				opacity: { end: 1 }
			}
		});
		updateMN();
		window.setInterval(blinkMN, 2000);
		window.setInterval(updateMN, 30000);
		if ( soundON )
		{
			soundLoader=new dojox.av.FLAudio({initialVolume:.5, initialPan:0, autoPlay:false, isDebug:false, statusInterval:3000});
			soundLoader.onAllLoaded=function(){
					soundLoaded=true;
				}
			soundLoader.load({url:"http://"+HTTPhost+"/html/sound/new_waiting_01.mp3", id:'001'});
			soundLoader.load({url:"http://"+HTTPhost+"/html/sound/new_message_01.mp3", id:'002'});
		}
	}
	delete initDJ;
}
function blinkMN()
{
	if ( N["NM"]>0 )
	{
		dojo.fx.chain([a1, a2]).play();
		if ( titleCurrent )
		{
			if ( N["NM"]>1 )
			{
				dojo.doc.title=N["NM"]+" nuovi messaggi";
			}
			else
			{
				dojo.doc.title="1 nuovo messaggio";
			}
			titleCurrent=0;
		}
		else
		{
			dojo.doc.title=titleOrig;
			titleCurrent=1;
		}
	}
	else
	{
		dojo.html.set(divMessaggiNuovi, "");
		if ( dojo.doc.title!=titleOrig )
		{
			dojo.doc.title=titleOrig;
		}
	}
	if ( N["CM"]>0 )
	{
		dojo.fx.chain([a3, a4]).play();
	}
	else
	{
		dojo.html.set(divChatMsg, "");
	}
}
function blinkCW()
{
	dojo.fx.chain([a7, a8]).play();
}
function stopBlinkCW()
{
	window.clearTimeout(Timer);
	a6.play();
	dojo.attr(divChatStatus, "style", {visibility:"hidden"});
	dojo.attr(divChatWaiting, "style", {visibility:"hidden"});
}
function updateMN()
{
	N["NM"]=0;
	N["CW"]=0;
	N["CM"]=0;
	if ( typeof(divMessaggiNuovi)=="object" )
	{
		dojo.xhrGet( {url: "/public/varie/nuovi_messaggi/check.php",
			handleAs: "text",
			load: function(data){
					var i, lines=data.split("\n"), values;
					for (i in lines)
					{
						values=lines[i].split("\t");
						values[1]=parseInt(values[1], 10);
						if ( isNaN(values[1]) )
						{
							N[values[0]]=0;
						}
						else
						{
							N[values[0]]=values[1];
						}
					}
					if ( !N["NM"] )
					{
						dojo.html.set(divMessaggiNuovi, "");
					}
					else if ( N["NM"]==1 )
					{
						dojo.html.set(divMessaggiNuovi, "1 nuovo messaggio<br />in CASSAFORTE !!!");
					}
					else
					{
						dojo.html.set(divMessaggiNuovi, N["NM"]+" nuovi messaggi<br />in CASSAFORTE !!!");
					}
					if ( N["CM"] )
					{
						dojo.html.set(divChatMsg, "Nuovo messaggio<br />in CHAT !!!");
/*
						if ( soundLoaded )
						{
							soundLoader.doPlay({id:'002', position:0, volume:.7, pan:0});
						}
*/
					}
					else
					{
						dojo.html.set(divChatMsg, "");
					}
					if ( N["CW"] )
					{
						dojo.html.set(divChatWaiting, "<b>Hai "+N["CW"]+" nuov"+(N["CW"]>1?"i":"o")+"<br /><span style=\"letter-spacing: 1px;\">INVIT"+(N["CW"]>1?"I":"O")+" !!!</span></b>");
						dojo.attr(divChatStatus, "style", {visibility:"visible"});
						dojo.attr(divChatWaiting, "style", {visibility:"visible"});
						a5.play();
						if ( soundLoaded )
						{
							if ( N["CW"]>preCW )
							{
								soundLoader.doPlay({id:'001', position:0, volume:.7, pan:0});
							}
							preCW=N["CW"];
						}
						Timer=window.setInterval(blinkCW, 1000);
						window.setTimeout(stopBlinkCW, 20000);
					}
				},
			error: function(error){
					dojo.html.set(divMessaggiNuovi, "");
					dojo.html.set(divChatMsg, "");
					dojo.html.set(divChatWaiting, "");
				}
		} );
	}
}
dojo.addOnLoad(initDJ);

