var statsRefreshTimer;
var statsRefreshLock = false;

function InitializeStatsRefresh(interval)
{
    statsRefreshTimer = setInterval("StatsRefresh()", interval);
    StatsRefresh();
}


function StatsRefresh()
{
    if (statsRefreshLock == true) return;
    statsRefreshLock = true;

    AspNetDating.Services.StatsRefresh.UpdateStats(OnStatsRefreshSucceeded, OnStatsRefreshError);
}

function OnStatsRefreshSucceeded(result)
{
    try
    {
        if (result == null)
            return;

        if (result.isLoggedIn) {

            
            var incomingMessagesCount = $get("IncomingMessagesCount");
            var incomingChatsCount = $get("IncomingChatsCount");
            var addMeToFavoritesCount = $get("AddMeToFavoritesCount");
            var viewedMyProfileCount = $get("ViewedMyProfileCount");
            var outgoingMessagesCount  = $get("OutgoingMessagesCount")
            var outgoingChatsCount = $get("OutgoingChatsCount");
            var favoritesCount = $get("FavoritesCount");
            var profileViewedCount = $get("ProfileViewedCount");
            var blockedCount = $get("BlockedCount");

            var newMessages = $get("NewMessages");
            var newMessagesCount = $get("NewMessagesCount");

            if (incomingMessagesCount != null && incomingChatsCount != null && addMeToFavoritesCount != null &&
               viewedMyProfileCount != null && outgoingMessagesCount != null && outgoingChatsCount != null &&
               favoritesCount != null && profileViewedCount != null && blockedCount != null && newMessages != null && newMessagesCount !=null) {

                incomingMessagesCount.innerHTML = result.IncomingMessagesCount;
                incomingChatsCount.innerHTML = result.IncomingChatsCount;
                addMeToFavoritesCount.innerHTML = result.AddMeToFavoritesCount;
                viewedMyProfileCount.innerHTML = result.ViewedMyProfileCount;
                outgoingMessagesCount.innerHTML = result.OutgoingMessagesCount;
                outgoingChatsCount.innerHTML = result.OutgoingChatsCount;
                favoritesCount.innerHTML = result.FavoritesCount;
                profileViewedCount.innerHTML = result.ProfileViewedCount;
                blockedCount.innerHTML = result.BlockedCount;

                if (result.NewMessagesCount > 0) {
                    newMessages.style.display = "block";
                    newMessagesCount.innerHTML = "(" + result.NewMessagesCount + ")";
                }
                else {
                    newMessages.style.display = "none";
                    newMessagesCount.innerHTML = "";
                }
                
            }
        }
        
        $get("OnlineUsersCount").innerHTML = result.OnlineUsers;
                
    }
    finally
    {
        statsRefreshLock = false;
    }
}



function OnStatsRefreshError()
{
    // Do nuthin'
}
