var gSessElmId = 'sessSummary';
var gBaseSummUrl = '';
var summaries = new Array();
var gXOff = 25;
var gYOff = 0;
var gSessionDetailPage;
var gRoomPage;
var gOnModal = false;
var gDBVal;
var gScheduleGridTotalDays = 0;

function loadImages()
{
    i1 = new Image();
    i1.src = '/images/global/winTop1.png';    
    i2 = new Image();
    i2.src = '/images/global/winTop2.png';
    i3 = new Image();
    i3.src = '/images/global/winBody.png';
    i4 = new Image();
    i4.src = '/images/global/winBottom.png';
}
loadImages();

function SessionGridDayTabClick(d) {
    var c;
    
    for (i = 1; i <= gScheduleGridTotalDays; i++)
    {
        if (i != d) {
            c = document.getElementById('SessionGridTableDay' + i);

            if (c != null && typeof (c) != "undefined") {
                c.style.display = 'none';
            }

            c = document.getElementById('SessionGridDayTabLink' + i);
            if (c != null && typeof (c) != "undefined")
                c.className = 'TabDayLbl SessionGridDayTab';
        }
    }

    c = document.getElementById('SessionGridTableDay' + d);
    if (c != null && typeof (c) != "undefined")
        c.style.display = 'block';

    c = document.getElementById('SessionGridDayTabLink' + d);
    if (c != null && typeof (c) != "undefined")
        c.className = 'TabDayLbl SessionGridDayTab SessionGridDayTabActive';
}

function SessionGridTableDayLoaded(d) {
    if (d == 1)
        SessionGridDayTabClick(1);
}

function returnSummaries()
{
    var s = '';
    for (i = 0; i < summaries.length; i++)    
        s = s + " " + summaries[i].sessid;    
    
    return s
}

function getSessionID(cell)
{
    sid = cell.id.split(':');
    return sid[1];
}

function posSumm(x, y)
{
    elm = document.getElementById(gSessElmId);
    ux = x + gXOff;
    uy = y + gYOff;
    elm.style.left = ux + "px";
    elm.style.top = uy + "px";
}

function updateSumm(content)
{
    var cdiv = document.createElement("div");
    cdiv.className = "inner";
    cdiv.innerHTML = content;    
    document.getElementById(gSessElmId).innerHTML = '';
    document.getElementById(gSessElmId).appendChild(cdiv);    
}

function updateSummWithTxt(txt)
{
    document.getElementById(gSessElmId).innerHTML = '';
    
    cdiv = document.createElement("div");
    cdiv.className = "sessionWindowTop1";
    document.getElementById(gSessElmId).appendChild(cdiv);    

    cdiv = document.createElement("div");
    cdiv.className = "sessionWindowTop2";
    document.getElementById(gSessElmId).appendChild(cdiv);

    cdiv = document.createElement("div");
    cdiv.className = "sessionWindowBody";
    cdiv.innerHTML = txt;
    document.getElementById(gSessElmId).appendChild(cdiv);
    
    cdiv = document.createElement("div");
    cdiv.className = "sessionWindowBottom";
    document.getElementById(gSessElmId).appendChild(cdiv);
}

function summInfo(sessid)
{       
    for (i=0; i<summaries.length; i++)
        if (summaries[i].sessid == sessid)
        {
            updateSumm(summaries[i].content);
            return;
        }
    
    var url = gBaseSummUrl + "&session=" + sessid; 
    
    gHttp = createHttp();
    gHttp.open("GET", url, true);
    
    gHttp.onreadystatechange = function()
    {
        if (gHttp.readyState == 4)
        {
            var resp = gHttp.responseText;
        
            if (resp != "")
            {
                arr = resp.substr(0, resp.indexOf('|'));                
                arr = arr.substr(arr.indexOf('>') + 1);                          
                if (arr == sessid)
                {
                    var item = new Object();
                    item.sessid = sessid;
                    item.content = resp;
                    summaries.push(item);

                    updateSumm(item.content);
                    gScheduleMouseMove();
                }
            }
        }
    }   
    
    gHttp.send(null); 
}

function sessCellOver(cell)
{   
    gHttp = null;
    updateSummWithTxt("loading...");
    
    gScheduleMouseMove();
    formatMouseOver(document.getElementById(gSessElmId),cell);    
    
    sid = getSessionID(cell);
    summInfo(sid);
}

function sessCellOut(cell)
{       
    formatMouseOut(document.getElementById(gSessElmId),cell);
    updateSumm("");
}

function sessClick(cell)
{   
    window.location = gSessionDetailPage.replace("{0}", getSessionID(cell));
}

var gScheduleMouseMove = function()
{   
    var elm = document.getElementById(gSessElmId);    
    if (!elm)
        return;

    x = gMouseX;
    y = gMouseY;
    
    setVisibleWin();
    
    h = document.getElementById(gSessElmId).offsetHeight;
    w = document.getElementById(gSessElmId).offsetWidth;
    
    if (gMouseYWin + h > gWinHeight)
        y = y - (gMouseYWin + h - gWinHeight);
        
    if (gMouseXWin + w > gWinWidth)
        x = x - w - (gXOff * 2);
    
    posSumm(x, y);
}

function formatMouseOver(modal,cell)
{    
    modal.style.visibility = 'visible';
    cell.style.textDecoration = 'underline';
    cell.style.cursor = 'pointer';
}

function formatMouseOut(modal,cell)
{
    modal.style.visibility = 'hidden'; 
    cell.style.textDecoration = 'none';
}

function changeRoom(ddl)
{
    window.location = gRoomPage.replace("{0}", ddl.options[ddl.selectedIndex].value);
}

function sessSummaryMouseOver(modal)
{       
    gOnModal = true;
}

function sessSummaryMouseOut(modal)
{    
    gOnModal = false;
}

function ambassadorMouseOver(sender, target, summary) {
    document.getElementById(target).innerHTML = summary;
}

function ambassadorClick(sender, url) {
    window.location = url;
}

function ScheduleTopicsViewSwitch(less, fullID, shortID) {
    var f = document.getElementById(fullID);
    var s = document.getElementById(shortID);

    if (less) {
        if (f)
            f.style.display = 'none';
        if (s)
            s.style.display = 'block';
    }
    else {
        if (f)
            f.style.display = 'block';
        if (s)
            s.style.display = 'none';            
    }
}

function SesscionDescViewSwitch(less, fullID, shortID) {
    var f = document.getElementById(fullID);
    var s = document.getElementById(shortID);

    if (less) {
        if (f)
            f.style.display = 'none';
        if (s)
            s.style.display = 'block';
    }
    else {
        if (f)
            f.style.display = 'block';
        if (s)
            s.style.display = 'none';
    }
}