var onlineUsers = Array();
var onlineGuests = 0;
var currentOnlineUser = -1;
var onlineUsersTimer;
			
function loadAvatar()
{
	swfobject.embedSWF( 
		base + "/avatar/Avatar26.swf", 
		"onlineNowPic", 
		"1", "1", 
		"9.0.0", 
		false, 
		{"avatar": "default", "setAvatarFunction": "changeAvatar"}, // setAvatarFunction defines the name of the function available to javascript to change avatars 
		{"menu": "false", "scaleMode": "showAll", "wmode": "transparent", "allowScriptAccess": "always" },
		{"class": "avatar", "id": "onlineNowPic"}
	);			
}

function updateOnlineUsers()
{
	if( onlineUsersTimer )
	{
		clearInterval( onlineUsersTimer );
	}
	$.post
	( 
		base + "/events/onlinenow.action",
		{
			rqn: new Date().getTime()
		},
		function( data )
		{
			onlineUsers = data.onlineUsers.reverse();
			onlineGuests = data.guests;
			currentOnlineUser = -1;
			var onlineNow = $("#onlineNow");			
			var user = onlineNow.find( ".user" );			
			if( onlineUsers.length < 3 )
			{			
				user.empty().append( "<span> </span>" );
				onlineNow.fadeOut();
				setTimeout( updateOnlineUsers, 10000 );
			}
			else
			{				
				updateCurrentUser();
				onlineNow.fadeIn();			
				onlineUsersTimer = setInterval( updateCurrentUser, 2000 );
			}
		},
		"json"
	);
}

function updateCurrentUser()
{
	currentOnlineUser++;
	if( currentOnlineUser==onlineUsers.length )
	{
		updateOnlineUsers();
	}
	else
	{
		var onlineNow = $("#onlineNow");
		var user = onlineNow.find( ".user" );
		var avatar = onlineNow.find( ".avatar" );
		var flag = onlineNow.find( ".flag" );
		// var guests = onlineNow.find( ".guests" );			
		var u = onlineUsers[currentOnlineUser];
		var str = u.name.indexOf('@')==-1 ? u.name : "";
		user.empty().append( str );
		try
		{
			avatar[0].changeAvatar( u.avatar );
			avatar.width("30px");
			avatar.height("30px");			
		}
		catch(e)
		{
			// avatar not yet available
		}

		if( u.country=="" || u.country=="--" || u.country=="JE" )
		{
			flag.hide();
		}
		else
		{
			flag.attr( "src", base + "/resource/graphics/flags/" + u.country.toLowerCase() + ".png" ).show();
		}
		
		/*
		if( onlineGuests > 1 )
		{
			guests.text( "and " + onlineGuests + " guests" );
		}
		else
		{
			guests.text( "" );
		}
		*/
	}
}
			
$(document).ready( function() {
	loadAvatar();
	updateOnlineUsers();
});		

