﻿var channel = 'Food';
var mirror = "";
var dimensionX = 0;
var dimensionY = 0;
var dimensionZ = 0;
var dimension4 = 0;
var theDowJonesClusteredIndex = "";
var bToggleControllerLight = true;
var informationFeed = new Array();
var xmlDoc2;
var xmlDoc3;
var xmlHttpRequest;
var numInformationItems = 0;
var informationFeedCounter = 0;
var intervalID;
var programmerIntervalID;
var programmerDimensionX = 0;//seconds
var programmerDimensionY = 0;//minutes
var programmerTimeElapsed;
var programmerSecondCounter = 0;
var programmerMinuteCounter = 0;
var initiation = true;
var bRolodexChanged = false;
var informationBlurbCounter = 0;
var bServiceVariablesInitialized = false;

var serviceCounter = 0;
var bToggleServiceVariables = true;
var bSearchMode = false;
var bUserSearchMode = false;
var bToggleBrowseLight = true;

//Load Default Program
var initiatorProgram = new Array();
var thyme;
initiatorProgramSyncHour = new Array();
initiatorProgramSyncMinute = new Array();
initiatorProgramSyncSecond = new Array();
initiatorProgramType = new Array();
initiatorBroadcastDone = new Array();
cognitiveCategory = new Array();

var contactUserName = "";

var initiatorDivInnerHTML = "";

var screenName = "";
var loginName = "";
var loginCounter = 0;

var alternateControlName;
var alternateControl = false;

var searchBrowseCount = 0;
var bPersonalFeed = false;

//input-output
var packet = '';
var alphabet = new Array();
alphabet = new Array();
alphabet.push('a');
alphabet.push('b');
alphabet.push('c');
alphabet.push('d');
alphabet.push('e');
alphabet.push('f');
alphabet.push('g');
alphabet.push('h');
alphabet.push('i');
alphabet.push('j');
alphabet.push('k');
alphabet.push('l');
alphabet.push('m');
alphabet.push('n');
alphabet.push('o');
alphabet.push('p');
alphabet.push('q');
alphabet.push('r');
alphabet.push('s');
alphabet.push('t');
alphabet.push('u');
alphabet.push('v');
alphabet.push('w');
alphabet.push('x');
alphabet.push('y');
alphabet.push('z');
alphabet.push(' ');
alphabet.push('-');
alphabet.push("\'");
alphabet.push(',');
alphabet.push('\"');
alphabet.push('.');
alphabet.push('#');
alphabet.push('$');
alphabet.push('%');
alphabet.push('*');
alphabet.push('(');
alphabet.push(')');
alphabet.push('@');
alphabet.push('0');
alphabet.push('1');
alphabet.push('2');
alphabet.push('3');
alphabet.push('4');
alphabet.push('5');
alphabet.push('6');
alphabet.push('7');
alphabet.push('8');
alphabet.push('9');




function initializeBroadcast() 
{
    alert("initialize broadcast");

    flowplayer("player").stop();
    flowplayer("player").play('http://www.fileden.com/files/2009/8/30/2559714/education.flv');
}



function init() 
{  
    
    xmlDoc3 = new window.XMLHttpRequest();
    xmlDoc3.open("GET", "info.xml", false);
    xmlDoc3.send("");

    var xOb = xmlDoc3.responseXML
    var infoItems = xOb.getElementsByTagName("informationItem");
    numInformationItems = infoItems.length;

    for (var k = 0; k < infoItems.length; k++) 
    {       
        informationFeed.push(infoItems[k].getAttribute("text"));
    }


    //**********************************************************************************
    //return;
    //**********************************************************************************

    //if (window.XMLHttpRequest) {
    //    alert("init xmlhttprequest");
    //    xmlHttpRequest = new XMLHttpRequest();       
    //    packet = 'flush=true&';        
    //    //packet = 'channel=Food&';
    //    transmit();
   // }
    //else 
    //{
    //    alert('activeXObject');
    //    xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");        
    //    packet = 'flush=true&';
    //    transmit();
    //}
    //if (!xmlHttpRequest) 
    //{
     //   alert("internal error");
     //   return;
    //}

}

function startTimer() 
{
    theDowJonesClusteredIndex = document.getElementById("txtTimer");
    dimension4 = Math.round(1000 * Math.random())
    intervalID = setInterval("sync()", 100);

    GetDefiningServiceVariables();
    bToggleServiceVariables = true;    
    bPersonalFeed = true;
}

function sync() 
{
    mirror = "              " + dimensionX + " : " + dimensionY + " : " + dimensionZ + "        " + dimension4;

    theDowJonesClusteredIndex.value = mirror;
    dimensionX++;//100ms interval


    if (dimensionX == 10) //one second has elapsed
    {
        dimensionX = 0;
        dimensionY++;

        //toggle controller light
        if (bToggleControllerLight == true) 
        {
            document.getElementById('imgController').style.display = 'none';
            bToggleControllerLight = false;
        }
        else 
        {
            document.getElementById('imgController').style.display = 'block';
            bToggleControllerLight = true;
        }


        //increment service counter

        if (bSearchMode == false) 
        {
            serviceCounter++;
            if (serviceCounter == 30) 
            {
                serviceCounter = 0;

                if (bToggleServiceVariables == true) 
                {
                    GetGenericServiceVariables();
                    bToggleServiceVariables = false;
                    
                }
                else 
                {
                    GetDefiningServiceVariables();
                    bToggleServiceVariables = true;                    
                }
            }
        }
        else //search mode is on
        {
                                                            
            
            if (bToggleBrowseLight == true) 
            {
                document.getElementById("lblBrowsing").style.display = 'block';
                bToggleBrowseLight = false;
            }
            else 
            {
                document.getElementById("lblBrowsing").style.display = 'none';
                bToggleBrowseLight = true;
            }

            if (bUserSearchMode == false) 
            {
                searchBrowseCount++;
                //alert("count: " + bSearchBrowseCount);
                if (searchBrowseCount == 5) 
                {
                    //alert("seven seconds");
                    searchBrowseCount = 0;
                    ProcessSearchResults();
                }

            }
        }
        



        //increment program counter
        programmerSecondCounter++;




        //if sixtieth second, increment minute counter
        if (programmerSecondCounter == 60) 
        {
            programmerMinuteCounter++;
            programmerSecondCounter = 0;
            
        }



        if (programmerSecondCounter == 5 || programmerSecondCounter == 15 || programmerSecondCounter == 25) 
        {

            if (bUserSearchMode == false) 
            {
                document.getElementById('txtInformationCenter').value = currentInformation[informationBlurbCounter];
                informationBlurbCounter++;

                if (informationBlurbCounter == 3) 
                {
                    currentInformation.pop(2);
                    currentInformation.pop(1);
                    currentInformation.pop(0);
                    informationBlurbCounter = 0;
                }
            }
            else //user info on display
            {
                document.getElementById('txtInformationCenter').value = userInformation[informationBlurbCounter];
                informationBlurbCounter++;

                if (informationBlurbCounter == 3) 
                {                    
                    informationBlurbCounter = 0;
                }
            }
        }




        if (programmerSecondCounter == 35 || programmerSecondCounter == 45 || programmerSecondCounter == 55) 
        {
            if (bUserSearchMode == true) 
            {
                document.getElementById('txtInformationCenter').value = userInformation[informationBlurbCounter];
                informationBlurbCounter++;

                if (informationBlurbCounter == 3) 
                {                    
                    informationBlurbCounter = 0;
                }
            }
            
        }


        
        if (programmerSecondCounter % 10 == 0) //every ten seconds
        {
            //Console 1: Initiator
            for (var k = 0; k < initiatorProgramSyncMinute.length; k++) 
            {
                if ( (initiatorProgramSyncMinute[k] == programmerMinuteCounter) && (initiatorProgramSyncSecond[k] == programmerSecondCounter) )
                {
                    
                    switch (initiatorProgramType[k]) 
                    {
                        case 'flv':
                            document.getElementById('initiatorplayer').style.display = 'block';
                            document.getElementById('ctlImageViewer').style.display = 'none';                                                        
                            flowplayer("initiatorplayer", "flowplayer-3.1.3.swf", {
                                plugins: {
                                    controls: {
                                        backgroundColor: '#000000',
                                        progressColor: '#000000',
                                        sliderGradient: 'none',
                                        durationColor: '#000000',
                                        tooltipTextColor: '#000000',
                                        volumeSliderColor: '#000000',
                                        backgroundGradient: 'none',
                                        tooltipColor: '#000000',
                                        volumeSliderGradient: 'none',
                                        timeColor: '#000000',
                                        bufferGradient: 'none',
                                        borderRadius: '0px',
                                        buttonColor: '#000000',
                                        timeBgColor: '#000000',
                                        buttonOverColor: '#000000',
                                        sliderColor: '#000000',
                                        bufferColor: '#000000',
                                        progressGradient: 'none',
                                        height: 24,
                                        opacity: 0.0
                                    }
                                },
                                clip: { url: initiatorProgram[k], autoplay: true }
                            });

                            break;
                        case 'img':
                            document.getElementById('initiatorplayer').style.display = 'none';
                            document.getElementById('ctlImageViewer').style.display = 'block';
                            //document.getElementById('ctlImageViewer').src = "images/actionItems.jpg";
                            document.getElementById('ctlImageViewer').src = initiatorProgram[k];
                            break;
                        case 'object':
                            break;
                        default:
                            break;
                    }                    
                }
            }
        }                   
    }



    if (dimensionY == 10) 
    {
        dimensionY = 0;
        dimensionZ++;
        dimension4 = Math.round(100 * Math.random());                       
    }
    

    if (dimensionZ == 10) 
    {
        dimensionX = 0;
        dimensionY = 0;
        dimensionZ = 0;
        dimension4 = 0;
    }
}


function loadDefaultBroadcast() 
{
    if (window.XMLHttpRequest) {

        //alert("XMLHttpRequest");
        xmlDoc2 = new window.XMLHttpRequest();
        xmlDoc2.open("GET", "broadcast.xml", false);
        xmlDoc2.send("");
        var xOb = xmlDoc2.responseXML
        var items = xOb.getElementsByTagName("broadcastItem");
        var tokens;

    }
    //// IE 5 and IE 6
    else if (ActiveXObject("Microsoft.XMLDOM")) {

    alert("Msoft xmldom");
        xmlDoc2 = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc2.async = false;
        xmlDoc2.load("broadcast.xml");
        alert("hey!" + xmlDoc);
    } 
    else 
    {
        alert("Error loading document");
    }
}


function loadStartupProgram() 
{
    alert("load startup");
}


function programReceive() 
{
    function receive() 
{
    if (xmlHttpRequest.readyState != 4)
    {
        return;
    }

    if (xmlHttpRequest.status == 200) 
    {       
        alert(xmlHttpRequest.responseText);
        var results = xmlHttpRequest.responseText.split(':');

    }
}


function log() 
{
    alert('log');
    if (bServiceVariablesInitialized == false) 
    {
        initializeGenericServiceVariables();
    }
    
    var s = document.getElementById('txtInput').value;
    alert(s);
    parseCommand(s);

    return;
    packet = '';
    encode();

    transmit();
    document.form1.txtInput.focus();
}


function parseCommand(str) 
{
    alert('parse command');


    switch (str) 
    {
        case 'next':
            next();
            break;
        case 'previous':
            prev();
            break;
        default:
            break;
    }
}

function next() 
{
    //flowplayer('player').stop();
    //flowplayer('player').play('http://www.fileden.com/files/2009/8/30/2559714/education.flv');

    alert(contactID);
}

function prev() 
{
    flowplayer('player').stop();
    flowplayer('player').play('http://www.fileden.com/files/2009/8/30/2559714/ukInternational.flv');
}



function transmit() 
{        
        
        xmlHttpRequest.onreadystatechange = receive;
        xmlHttpRequest.open('POST', 'EventHandler.ashx', true);
        xmlHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        xmlHttpRequest.send(packet);   
}


function receive() 
{
    if (xmlHttpRequest.readyState != 4)
    {
        return;
    }

    if (xmlHttpRequest.status == 200) 
    {       

        if (initiation == true) 
        {            
            initiation = false;
            document.getElementById('txtOutput').value = 'Please enter a screen name';
            return;
        }
        
        packet = '';
        document.getElementById('txtOutput').value = ' ';
        document.form1.txtInput.focus();


        loginCounter++;

        var results = xmlHttpRequest.responseText.split(':');
//        //category = results[1];
        //secCode = results[2];
        //verificationLevel = results[3];
//        var rest = results[4];
//        //broadcastFile = results[5];

        var ctl = results[6];
        


//        if (rest == "true") 
//        {
//            reset();

//        }

        if (ctl == "no-alt") 
        {
            //alert("no alt");
        }
        else 
        {
            if (alternateControl == true) 
            {

                //alert("alt controls is true");
                document.getElementById(alternateControlName).style.display = 'none';    
            }               
            alternateControlName = ctl;
            alternateControl = true;
            document.getElementById('pnlView').style.display = 'none';            
            document.getElementById(ctl).style.display = 'block';
        }

        document.getElementById('txtOutput').value = results[0];
        screenName = results[7];
        //alert("screen name is: " + screenName);
        if (loginCounter == 1) 
        {
            loginName = screenName;
        }
        setGreetingLabel();


        var searchCategory = results[8];
        //alert("search: " + searchCategory);

        if (searchCategory != 'none') 
        {

            if (searchCategory == 'discussion') 
            {
                populateDiscussionList();
            }

            if (searchCategory == 'login') 
            {
                getLoginVariables(loginName);
            }
            else 
            {
                var rez = searchCategory.split('&');
                if (rez.length == 2) 
                {
                    //alert("user contact!");
                    bUserSearchMode = true;
                    bSearchMode = true;
                    var uname = rez[0] + ' ' + rez[1];
                    contactUserName = uname;
                    //alert("Contact User Identity: " + contactUserName);
                    GetUserInfo(uname);
                }
                else 
                {
                    bSearchMode = true;
                    GetSearchServiceVariables(searchCategory);
                }
            }
        }
        
        document.getElementById('txtInput').value = '';
        document.form1.txtInput.focus();                
    }
    
}



function reset() 
{
    alert('reset!');
}









function encode() 
{
    var j, k;
    var data = document.getElementById('txtInput').value.toLowerCase();
    

    var tokens = data.split('');
    var numtokens = tokens.length;
    
    packet = "data=";
    for (j = 0; j < numtokens; j++) 
    {
        var token = tokens[j].toLowerCase();

        for (k = 0; k < alphabet.length; k++) 
        {
            if (token == alphabet[k]) 
            {                               
                switch (k) 
                {
                    case 0:
                        packet += "00.";
                        break;
                    case 1:
                        packet += "01.";
                        break;
                    case 2:
                        packet += "02.";
                        break;
                    case 3:
                        packet += "03.";
                        break;
                    case 4:
                        packet += "04.";
                        break;
                    case 5:
                        packet += "05.";
                        break;
                    case 6:
                        packet += "06.";
                        break;
                    case 7:
                        packet += "07.";
                        break;
                    case 8:
                        packet += "08.";
                        break;
                    case 9:
                        packet += "09.";
                        break;
                    case 10:
                        packet += "0A.";
                        break;
                    case 11:
                        packet += "0B.";
                        break;
                    case 12:
                        packet += "0C.";
                        break;
                    case 13:
                        packet += "0D.";
                        break;
                    case 14:
                        packet += "0E.";
                        break;
                    case 15:
                        packet += "0F.";
                        break;
                    case 16:
                        packet += "10.";
                        break;
                    case 17:
                        packet += "11.";
                        break;
                    case 18:
                        packet += "12.";
                        break;
                    case 19:
                        packet += "13.";
                        break;
                    case 20:
                        packet += "14.";
                        break;
                    case 21:
                        packet += "15.";
                        break;
                    case 22:
                        packet += "16.";
                        break;
                    case 23:
                        packet += "17.";
                        break;
                    case 24:
                        packet += "18.";
                        break;
                    case 25:
                        packet += "19.";
                        break;
                    case 26:
                        packet += "1A.";
                        break;
                    case 27:
                        packet += "1B.";
                        break;
                    case 28:
                        packet += "1C.";
                        break;
                    case 29:
                        packet += "1D.";
                        break;
                    case 30:
                        packet += "1E.";
                        break;
                    case 31:
                        packet += "1F.";
                        break;
                    case 32:
                        packet += "20.";
                        break;
                    case 33:
                        packet += "21.";
                        break;
                    case 34:
                        packet += "22.";
                        break;
                    case 35:
                        packet += "23.";
                        break;
                    case 36:
                        packet += "24.";
                        break;
                    case 37:
                        packet += "25.";
                        break;
                    case 38:
                        packet += "26.";
                        break;
                    case 39:
                        packet += "27.";
                        break;
                    case 40:
                        packet += "28.";
                        break;
                    case 41:
                        packet += "29.";
                        break;
                    case 42:
                        packet += "2A.";
                        break;
                    case 43:
                        packet += "2B.";
                        break;
                    case 44:
                        packet += "2C.";
                        break;
                    case 45:
                        packet += "2D.";
                        break;
                    case 46:
                        packet += "2E.";
                        break;
                    case 47:
                        packet += "2F.";
                        break;
                    case 48:
                        packet += "30.";
                        break;
                    default:
                        break;
                }
            }
        }
    }

    packet += "&";

}




