﻿// javascript for NetwalkerPanel control
//debugger;
var timerAdminPanel;
var clientID="";
counter=0;

function showTopicDiv()
{
    document.getElementById("TopicDiv").style.display="block";
}

function hideTopicDiv()
{
    document.getElementById("TopicDiv").style.display="none";
}

function startAdminPanel()
{
    clientID=document.getElementById("ClientID").value;
    var curNetwalkerID=document.getElementById(clientID+"_curNetwalkertID")    
    Fryshuset.Chat.TheCafe.Business.NetwalkerPanel.DisplayUsers(curNetwalkerID.value,processListUser);
    Fryshuset.Chat.TheCafe.Business.NetwalkerPanel.PublicTopic(processTopic)
    timerAdminPanel=window.setTimeout("startAdminPanel()",5000);
}

function hideShowNetwalkerPanel()
{
    clientID=document.getElementById("ClientID").value;
    var curNetwalkerID=document.getElementById(clientID+"_curNetwalkertID")
    if(curNetwalkerID)
    {
        var netid=curNetwalkerID.value;
        document.getElementById("netid").innerHTML="NetwalkerID="+netid;
        if(netid>0)
        {
            document.getElementById("divNetwalkerPanel").style.display="block";
        }
        else
        {
             document.getElementById("divNetwalkerPanel").style.display="none";
        }        
    }
}

function processListUser(result)
{
    var listPrivateChatUser=document.getElementById(clientID+"_listPrivateChatUser")
    listPrivateChatUser.innerHTML = result;
}

function processTopic(result)
{
    var arrResult=result.split("###");
    var PublicTopic = document.getElementById(clientID+"_lblTopic");
    var TopicNetwalker = document.getElementById(clientID+"_lblTopicNetwalker");
    TopicNetwalker.innerHTML=arrResult[0];
    PublicTopic.innerHTML = arrResult[1];            
}

function ChangeTopic()
{
     var curNetwalkerID=document.getElementById(clientID+"_curNetwalkertID").value;
     var Topic = document.getElementById(clientID+"_ChatTopic").value;
     var timeSpan = document.getElementById(clientID+"_txtTime").value;
     Fryshuset.Chat.TheCafe.Business.NetwalkerPanel.ChangeTopic(curNetwalkerID,Topic,timeSpan, counter, processChangeTopic);
}

function processChangeTopic(result)
{
    if(result=="success")
    {
        CancelTopic();
    }
    else if(result=="Waiting")
    {
        document.getElementById(clientID+"_lblResult").style.display="block";
        document.getElementById(clientID+"_lblResult").innerHTML="Topic will activate in "+ (30-counter) + " sec.";
        counter = counter + 1;
        window.setTimeout("ChangeTopic()",2000);
    }
    else if(result==="Ignore")
    {
        document.getElementById(clientID+"_lblResult").style.display="block";
        document.getElementById(clientID+"_lblResult").innerHTML="Netwalker Ignore to change the Topic !";
        counter = 0;
    }
    else
    {
        document.getElementById(clientID+"_lblResult").style.display="block";
        document.getElementById(clientID+"_lblResult").innerHTML=result;
        counter=counter+2;
        window.setTimeout("ChangeTopic()",2000);
    }   
}
function CancelTopic()
{
    document.getElementById(clientID+"_lblResult").style.display="none";
    document.getElementById(clientID+"_ChatTopic").value="";
    hideTopicDiv();
}
function StartDiscussion()
{
    counter=0;
    var curNetwalkerID=document.getElementById(clientID+"_curNetwalkertID").value;
    var Topic = document.getElementById(clientID+"_ChatTopic").value;
    var timeSpan = document.getElementById(clientID+"_txtTime").value;
    var userName = document.getElementById(clientID+"_lblUserName").innerHTML;
    //alert("netId="+curNetwalkerID+",userName="+userName+",Topic="+Topic+",Timespan="+timeSpan);
    Fryshuset.Chat.TheCafe.Business.NetwalkerPanel.StartDiscussion(curNetwalkerID,userName,Topic,eval(timeSpan), processStartDiscussion,onErrorFunction);
}
function onErrorFunction(result)
{
    //alert(result);
    if(result.trim().length!=0)
    {
        var inlinewin=dhtmlwindow.open("broadcastbox", "inline",result, "Alert", "width=300px,height=300px,left=350px,top=150px,resize=1,scrolling=0", "recal");
    }
}

function processStartDiscussion(result)
{
    if(result=="Waiting")
    {
       document.getElementById(clientID+"_lblResult").innerHTML="Another Netwalker is Requesting";
    }
    else if(result=="success")
    {
       CancelTopic();
    }
    else
    {
        document.getElementById(clientID+"_lblResult").style.display="block";
        document.getElementById(clientID+"_lblResult").innerHTML=result;
        counter = counter + 1;
        ChangeTopic();
    }
}
function SignOut()
{
    if(confirm("Are you Sure to SignOut?"))
    {
        curNetwalkerID=document.getElementById(clientID+"_curNetwalkertID").value;
        Fryshuset.Chat.TheCafe.Business.NetwalkerPanel.SignOut(curNetwalkerID,processSignOut);
        document.getElementById(clientID+"_curNetwalkertID").value=0;       
    }
}
function SignOut2()
{
    //return confirm("Are you Sure to SignOut?");
    return true;
}
function processSignOut(st)
{
    if(st=="success")
    {
        clearAllTimer();
        window.location="http://server/fryshuset11sep/startpage.aspx";
        
    }
}

function errorCallback()
{
    
}

function openBlackListWindow()
{
    var curNetwalkerID=document.getElementById(clientID+"_curNetwalkertID").value;
    var blkList=window.open("../Fryshuset_Chat/BlackList.aspx?NID="+curNetwalkerID,"BlackList","toolbar=no,menubar=no,statusbar=no,location=no,scrollbars=no,resizable=no,width=800,height=600");
}

function WhoIsInReception() {
    Fryshuset.Chat.TheCafe.Business.NetwalkerPanel.WhoIsInReception(WhoIsInReception_Callback);    
}
function WhoIsInReception_Callback(id) {
    var msg; 
    curNetwalkerID = document.getElementById(clientID + "_curNetwalkertID").value;
    if (id == 0) 
    {
        msg = "Reception is Empty.";
        var status = document.getElementById(clientID + "_lblOnlineReceptionStatus");
        status.innerHTML = msg;
        var sitButton = document.getElementById(clientID + "_btnSitInReception");
        var leaveButton = document.getElementById(clientID + "_btnLeaveReception");
        sitButton.disabled = false;
        leaveButton.disabled = true;
        
        // Fix for FF & Safari, disabled button did not grayed out
        leaveButton.style.color = '#a0a0a0';
        sitButton.style.color = '#ffffff';
    }
    else if (id != 0 && id == curNetwalkerID)
    {
        msg = "<strong>You</strong> " + " are sitting in the Reception.";
        var status = document.getElementById(clientID + "_lblOnlineReceptionStatus");
        status.innerHTML = msg;
        var sitButton = document.getElementById(clientID + "_btnSitInReception");
        var leaveButton = document.getElementById(clientID + "_btnLeaveReception");
        sitButton.disabled = true;
        leaveButton.disabled = false;

        // Fix for FF & Safari, disabled button did not grayed out
        leaveButton.style.color = '#ffffff';
        sitButton.style.color = '#a0a0a0';  
    }
    else if (id != 0 && id != curNetwalkerID) 
    {
        Fryshuset.Chat.TheCafe.Business.NetwalkerPanel.GetNetwalkerNameByID(id,GetNetwalkerNameByID_Callback); 
    } 
}
function GetNetwalkerNameByID_Callback(username) {
    var status = document.getElementById(clientID + "_lblOnlineReceptionStatus");
    status.innerHTML = "<strong>" + username + "</strong> " + " is sitting in the Reception.";
    var sitButton = document.getElementById(clientID + "_btnSitInReception");
    var leaveButton = document.getElementById(clientID + "_btnLeaveReception");
    sitButton.disabled = true;
    leaveButton.disabled = true;

    // Fix for FF & Safari, disabled button did not grayed out
    leaveButton.style.color = '#a0a0a0';
    sitButton.style.color = '#a0a0a0';  
}
function SitInReception() {
    curNetwalkerID = document.getElementById(clientID + "_curNetwalkertID").value;
    Fryshuset.Chat.TheCafe.Business.NetwalkerPanel.SitInReception(curNetwalkerID, SitInReception_Callback);
}
function SitInReception_Callback(response) {
    if (response == true) {
        var status = document.getElementById(clientID + "_lblOnlineReceptionStatus");      
        status.innerHTML = WhoIsInReception();   
    }
    else
        alert('Could not get seat for online at reception...');

}
function LeaveReception() {
    curNetwalkerID = document.getElementById(clientID + "_curNetwalkertID").value;
    Fryshuset.Chat.TheCafe.Business.NetwalkerPanel.LeaveReception(curNetwalkerID,LeaveReception_Callback);
}
function LeaveReception_Callback(response){
    if (response == true) {
        var status = document.getElementById(clientID + "_lblOnlineReceptionStatus");     
        status.innerHTML = WhoIsInReception();       
    }
    else
        alert('Could not leave seat for online at reception...');
}