﻿var CurrentMessageID = 0;
var MessageClicked = 0;
var CurrentOnlineUsers = 0;
var TotalRounds = 0;
// Mins
var MaxActiveTime = 30;
function RefreshMessenger()
{
    // If the max active time has been exceeded we don't refresh
    if ((TotalRounds * Refresh) <  (MaxActiveTime * 60 * 1000))
    {
        // We check the id of the current message being displayed, if its not zero this means
        // we should not do any check untill the user clicks on this message to open it
        // in which event this variable is set back to zero.
        if (CurrentMessageID == 0)
        {
            var UserNameAJAX = new JeeranRemoteScripting();
            UserNameAJAX.SetRequestMethod("Get");
            UserNameAJAX.SetRequestURL(AjaxRefreshURL);
            UserNameAJAX.SetData("");
            UserNameAJAX.SetRequestAsynch(true);	
            UserNameAJAX.InitializeRequester();
            UserNameAJAX.SendRequest();

            UserNameAJAX.OnLoaded = function() {
                var ResultXML = UserNameAJAX.GetXML();
                
                var MessageType;
                var MessageText;
                var MessageID;
                var MessageSender;

                var Messages = ResultXML.getElementsByTagName("Messages");
                var OnlineUsers = ResultXML.getElementsByTagName("OnlineCount")[0].childNodes[0].nodeValue;
				
                if (Messages.length > 0)
                {
                        MessageText = ResultXML.getElementsByTagName("MessageText")[0].childNodes[0].nodeValue;
                        MessageType = ResultXML.getElementsByTagName("MessageType")[0].childNodes[0].nodeValue;
                        MessageID = ResultXML.getElementsByTagName("MessageID")[0].childNodes[0].nodeValue;
                        MessageSender = ResultXML.getElementsByTagName("MessageSender")[0].childNodes[0].nodeValue;

                        if (MessageClicked != MessageID)
                        {
                            switch(MessageType) {
                                case '0':
                                    //document.getElementById('MessengerLogo').src='http//www.jeeran.com/im/messenger/msg_notify.gif';
                                    document.getElementById('p1').innerHTML = '<img id=\'imgNotify\' src=\'http://www.jeeran.com/im/messenger/msg_blink.gif\' />' + ' ' + NewMessage;
                                    //document.getElementById('LaunchIMC').href = "javascript:openBrWindow('"+MessengerURL+"','IMC','width=350,height=400,scrollbars=no')";
                                    CurrentMessageID = MessageID;
                                    break;

                                case '2':
                                    //document.getElementById('MessengerLogo').src='/im/messenger/chat_notify.gif';
                                    document.getElementById('p1').innerHTML = '<img id=\'imgNotify\' src=\'http://www.jeeran.com/im/messenger/chat_blink.gif\' />' + ' ' + ChatRequest;
                                    //document.getElementById('LaunchIMC').href = "javascript:openBrWindow('"+MessengerURL+"','IMC','width=350,height=400,scrollbars=no')";
                                    CurrentMessageID = MessageID;
                                    break;
                            }
                        }
                        else {
                            // Set the current number of users to zero to force the messenger panel to updateo n the next call
                            CurrentOnlineUsers = 0;
                        }                        
                }
                else {
                    
                    if (CurrentOnlineUsers != OnlineUsers)
                    {
                        CurrentOnlineUsers = OnlineUsers;
                        //document.getElementById('MessengerLogo').src='/im/messenger/logo_t.gif';
                        document.getElementById('p1').innerHTML = 'Messenger (' + OnlineUsers + ')';
                        //document.getElementById('LaunchIMC').href = "javascript:openBrWindow('"+MessengerURL+"','IMC','width=350,height=400,scrollbars=no')";
                    }
                }

                TotalRounds += 1;
                UserNameAJAX = null;
            }

            //This listens to the requester object Failure event
	        UserNameAJAX.OnFailure = function() {
		        //Dispose the object
		        UserNameAJAX = null;
	        }
        }
    }
    window.setTimeout("RefreshMessenger()", Refresh);
}