var m_PersonnalMessageDIV;
var m_PersonnalMessagePopupDIV;
var m_PersonnalMessagePopupContentDIV;
var m_PersonnalMessageUserIdentifiant = "";
var m_PersonnalMessageControl = "";
var m_PersonnalMessageTimer = 15000;
var m_PersonnalMessageRetries = 0;

function InitPersonnalMessage(DestinationDivName, UserIdentifiant, Control, PersonnalMessageTimer)
{
    m_PersonnalMessageDIV = document.getElementById(DestinationDivName);
    m_PersonnalMessagePopupDIV = document.getElementById(DestinationDivName + "Popup");
    m_PersonnalMessagePopupContentDIV = document.getElementById(DestinationDivName + "PopupContent");
    m_PersonnalMessageUserIdentifiant = UserIdentifiant;
    m_PersonnalMessageControl = Control;
    m_PersonnalMessageTimer = PersonnalMessageTimer;
}

function StartPersonnalMessage()
{
    if (typeof(FrontUtils) != "undefined")
    {
        m_PersonnalMessageRetries = 0;
        FrontUtils.GetPersonnalMessage(m_PersonnalMessageUserIdentifiant, m_PersonnalMessageControl, OnPersonnalMessageReceived, OnPersonnalMessageTimeout, OnPersonnalMessageError);
    }
    else
    {
        if (m_PersonnalMessageRetries < 10)
        {
            m_PersonnalMessageRetries++;
            setTimeout("StartPersonnalMessage()", 1000 * m_PersonnalMessageRetries);
        }
        else
        {
            //trop de tentatives
            m_PersonnalMessageDIV.innerHTML = "Merci d'actualiser la page.";
        }
    }
}

function OnPersonnalMessageReceived(result)
{
    //mise à jour du div
    m_PersonnalMessageDIV.innerHTML = "";
    if (result != null && result.length > 0)
    {
        //result.forEach(RenderPersonnalMessage);
        for (var i=0; i<result.length; i++) RenderPersonnalMessage(result[i]);
    }
    else
        m_PersonnalMessageDIV.innerHTML += "Aucun message";
    setTimeout("StartPersonnalMessage()", m_PersonnalMessageTimer);
}

function OnPersonnalMessageError(result)
{
    m_PersonnalMessageDIV.innerHTML = "Bienvenue !";
    setTimeout("StartPersonnalMessage()", m_PersonnalMessageTimer);
}

function OnPersonnalMessageTimeout(result)
{
    m_PersonnalMessageDIV.innerHTML = "Bienvenue !";
    setTimeout("StartPersonnalMessage()", m_PersonnalMessageTimer);
}

function OpenChat(url, nom)
{
    window.open(url, nom, "scrollbars=no, menubar=no, resizable=0, height=495, width=395");
}

function RenderPersonnalMessage(personnalMessage)
{
    if (personnalMessage == null) return;
    
    var str = "";
    
    switch(personnalMessage.MessageType)
    {
        case 0 : //TEXT
            str += "<span>" + personnalMessage.MessageText + "</span>";
            break;
        case 1 : //IMG
            str += "<img src=\"" + personnalMessage.MessageParameter + "\" Title=\"" + personnalMessage.MessageText + "\"/>";
            break;            
        case 2 : //LINK
            str += "<a href=\"" + personnalMessage.MessageParameter + "\" Title=\"" + personnalMessage.MessageText + "\">" + personnalMessage.MessageText + "</a>";
            break;
        case 3 : //LINK_IN_TARGET_BLANK
            str += "<a href=\"" + personnalMessage.MessageParameter + "\" Title=\"" + personnalMessage.MessageText + "\" target=\"_blank\">" + personnalMessage.MessageText + "</a>";
            break;
        default :
            str += "<span>" + personnalMessage.MessageText + "</span>";
    }
    
    if (str == "") str = "&nbsp;";
    
    m_PersonnalMessageDIV.innerHTML += str;
    
    if (str != "&nbsp;" && personnalMessage.DisplayMessageInPopup && m_PersonnalMessagePopupDIV != null)
    {
        m_PersonnalMessagePopupContentDIV.innerHTML = str;
        m_PersonnalMessagePopupDIV.style.display = '';
        setTimeout("ClosePopup();", 60000);
    }
}

function ClosePopup()
{
    m_PersonnalMessagePopupDIV.style.display = 'none';
}