var enableDisconnectOnWindowClose = false;

//code to open helpline windows
var client = 0;
var assessor = 1;
var moderator = 2;
var counsellor = 3;
var groupClient = 4;
var facilitator = 5;
var buddyClient = 6;
var buddy = 7;
var counsellingClient = 8;

var consoleWidth = 0;
//var consoleWidth = 20;

var popupSizes = new Array();
var popupHeight = 540;

popupSizes[client] = new Array(584 + consoleWidth, popupHeight);
popupSizes[groupClient] = new Array(584 + consoleWidth, popupHeight);
popupSizes[assessor] = new Array(1000 + consoleWidth, popupHeight);
popupSizes[moderator] = new Array(1000 + consoleWidth, popupHeight);
popupSizes[counsellor] = new Array(784 + consoleWidth, popupHeight);
popupSizes[facilitator] = new Array(784 + consoleWidth, popupHeight);
popupSizes[buddyClient] = new Array(584 + consoleWidth, popupHeight);
popupSizes[buddy] = new Array(784 + consoleWidth, popupHeight);
popupSizes[counsellingClient] = new Array(584 + consoleWidth, popupHeight);


//var talkCount = 0;

var maxX = 100;
var maxY = 100;

var popupX = 0;
var popupY = 0;

var childWindowHandles = new Array();
var childWindowUserIDs = new Array();
var childWindowCount = 0;

function disconnectTalk(userID)
{
//    alert("disconnectTalk " + userID.toString());
    TAS.GamblingTherapy.Services.Helpline.Disconnect(userID);
}

function checkHelplineWindow(userID, windowName)
{
//    alert("checkHelplineWindow " + userID.toString() + ", name = " + windowName);
    var windowStillOpen = false;
    for (var loop=0; loop<childWindowHandles.length; loop++)
    {
        try {
            if (!childWindowHandles[loop].closed)
            {
                if (childWindowHandles[loop].name == windowName)
                {
                    windowStillOpen = true;
                }
            }
        } 
        catch (ex)
        {
            alert("Error accessing child window " + loop.toString());
        }
    }
    if (windowStillOpen == true)
    {
        window.setTimeout("checkHelplineWindow(" + userID.toString() + ",'" + windowName + "')", 5000);
    }
    else
    {
        disconnectTalk(userID);
    }
}

function onUserLoaded(userID, windowName)
{
//    if (enableDisconnectOnWindowClose == true)
//    {
//        var alreadyLoaded = false;
//        for (var loop=0; loop<childWindowHandles.length; loop++)
//        {
//            if (childWindowHandles[loop].name == windowName)
//            {
//                if (childWindowUserIDs[loop] == userID)
//                {
//                    alreadyLoaded = true;
//                }
//                else
//                {
//                    childWindowUserIDs[loop] = userID;
//                }
//            }
//        }
//    //    alert("userLoaded " + userID.toString() + ", name = " + windowName + ", alreadyLoaded = " + alreadyLoaded.toString());
//        if (alreadyLoaded == false)
//        {
//            window.setTimeout("checkHelplineWindow(" + userID.toString() + ",'" + windowName + "')", 5000);
//        }
//    }
}

function launchTalk(userType, eventID, role)
{
    var url = "../en-US/talk2.aspx?Role=" + role;
    if (eventID > 0)
    {
        url += "&EventID=" + eventID.toString();
    }

    var windowName = "talk_" + Math.random().toString().substring(2);
    var newWindow = window.open (url, windowName, "status=1,toolbar=0,location=0,menubar=0,directories=0,resizable=1,scrollbars=0,width=" + popupSizes[userType][0].toString() + ",height=" + popupSizes[userType][1].toString());
    childWindowHandles[childWindowCount] = newWindow;
    childWindowUserIDs[childWindowCount] = -1;
    childWindowCount++;
    newWindow.moveTo(popupX, popupY);

    popupX += 30;
    if (popupX > maxX)
    {
        popupX = 0;
    }
    popupY += 30;
    if (popupY > maxY)
    {
        popupY = 0;
    }
//    talkCount += 1;
}

function changeUrl(newUrl)
{
    window.location = newUrl;
}




if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();

