﻿var glblServerList = new Array();

function addServer(ip){
    glblServerList[glblServerList.length] = ip;
}

function findVideo(filenames, spentTime, gid, hash){
    try{
        document.getElementById('divLecturePlayer').style.display = '';
        if(glblServerList.length > 0){
            var videoSrc = "";
            videoSrc += filenames.length + ",";
            for (var i = 0; i < filenames.length; i++)
            {
                videoSrc += filenames[i] + ",";
            }
            videoSrc += spentTime + "," + gid + "," + hash + ",";
            for(var i = 0; i < glblServerList.length; i++){
                videoSrc += "http://" + glblServerList[i] + "/media/," + glblServerList[i] + ","
            }
            videoSrc += "http://magic.education2020.com/media/,Education2020 Hosted"
            writeLowPlayer('divLecturePlayer', videoSrc);
        }
    }catch(err){
        alert("findVideo();\n" + err.message);
    }
}

/*
Brian Duncan
This file works around the internet explorer issues which force a user to click ok before 
loading active X content in a web page.
This issue is caused by a patent lawsuit between Microsoft and Eolas.  See links for more info
http://developer.apple.com/internet/ieembedfix.html
http://www.jgtemplates.com/learn/fp/a007.asp
*/

function writeQuicktime (height, width, idName, src, autoplayval, kioskmodeval, showcontrollerval ) {
    document.write("<object height='" + height + "' width='" + width + "' classid='clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B'\n");
    document.write("codebase='http://www.apple.com/qtactivex/qtplugin.cab' id='" + idName + "'>\n");
    document.write("<param name='src' value='" + src + "' />\n");
    document.write("<param name='autoplay' value='" + autoplayval + "' />\n");
    document.write("<param name='kioskmode' value='" + kioskmodeval + "' />\n");
    document.write("<param name='controller' value='" + showcontrollerval + "' />\n");
    document.write("<param name='wmode' value='" + "opaque" + "' />\n");
    document.write("<embed height='" + height + "' width='" + width + "' type='video/quicktime'\n");
    document.write("pluginspage='http://www.apple.com/quicktime/download/'\n");
    document.write("src='" + src + "' \n");
    document.write("autoplay='" + autoplayval + "' enablejavascript='true' ");
    document.write("kioskmode='" + kioskmodeval + "' controller='" + showcontrollerval + "'\n");
    document.write("name='" + idName + "' />\n");
    document.write("</object>");
}

function writeFlash(movieSrc)
{
    document.write("<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'\n");
    document.write("codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'\n");
    document.write("width='790' height='500' id='player'>\n");
    document.write("<param name='allowScriptAccess' value='sameDomain' />\n");
    document.write("<param name='movie' value='../flash/player.swf?" + movieSrc + "' />\n");
    document.write("<param name='quality' value='high' />\n");
    document.write("<param name='bgcolor' value='#ffffff' />\n");
    document.write("<param name='wmode' value='" + "opaque" + "' />\n");
    document.write("<embed src='../flash/player.swf?" + movieSrc + "' quality='high' bgcolor='#ffffff'\n");
    document.write("width='790' height='500' name='player' \n");
    document.write("allowscriptaccess='sameDomain' type='application/x-shockwave-flash'\n");
    document.write("pluginspage='http://www.macromedia.com/go/getflashplayer' />\n");
    document.write("</object>");
}

function writeLowPlayer(pDivName, pMovieSrc)
{
    pMovieSrc = FilenameToLower(pMovieSrc);
    var Vplayer = '';
    Vplayer += "<object style='margin:0 auto;' classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' \n"; //
    Vplayer += "codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0'\n";
    Vplayer += "width='800' height='600' id='Player'>\n";
    Vplayer += "<param name='allowScriptAccess' value='sameDomain' />\n";
    Vplayer += "<param name='movie' value='../VidPlayer/LecturePlayer_4_0_30_0.swf?" + pMovieSrc + "' />\n";
    Vplayer += "<param name='quality' value='high' />\n";
    Vplayer += "<param name='bgcolor' value='#ffffff' />\n";
    Vplayer += "<param name='autoplay' value ='false' />\n";
    Vplayer += "<param name='wmode' value='transparent' />\n";
    Vplayer += "<param name='menu' value='false' />\n";
    Vplayer += "<embed src='../VidPlayer/LecturePlayer_4_0_30_0.swf?" + pMovieSrc + "' quality='high' bgcolor='#ffffff'\n";
    Vplayer += "width='800' height='600' name='Player' autoplay='false' wmode='transparent' menu='false' \n";
    Vplayer += "allowscriptaccess='sameDomain' type='application/x-shockwave-flash'\n";
    Vplayer += "pluginspage='http://www.macromedia.com/go/getflashplayer' />\n";
    Vplayer += "</object>";
    
    if(window.Player) window.Player = null;
    document.getElementById(pDivName).innerHTML = null;
    document.getElementById(pDivName).innerHTML = Vplayer; 
    window.Player = document.forms[0].Player;
}

function writeTransitionPlayer(pDivName, pMovieSrc)
{
    pMovieSrc = FilenameToLower(pMovieSrc);
    var Vplayer = '';
    Vplayer += "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'\n";
    Vplayer += "codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0'\n";
    Vplayer += "width='720' height='480' id='trans'>\n";
    Vplayer += "<param name='allowScriptAccess' value='sameDomain' />\n";
    Vplayer += "<param name='movie' value='../VidPlayer/TransPlayer.swf?" + pMovieSrc + "' />\n";
    Vplayer += "<param name='quality' value='high' />\n";
    Vplayer += "<param name='bgcolor' value='#ffffff' />\n";
    Vplayer += "<param name='autoplay' value='true' />\n";
    Vplayer += "<param name='wmode' value='transparent' />\n";
    Vplayer += "<param name='menu' value='false' />\n";
    Vplayer += "<embed src='../VidPlayer/TransPlayer.swf?" + pMovieSrc + "' quality='high' wmode='transparent' bgcolor='#ffffff'\n";
    Vplayer += "width='720' height='480' name='trans' autoplay='true' menu='false' \n";
    Vplayer += "allowscriptaccess='sameDomain' type='application/x-shockwave-flash'\n";
    Vplayer += "pluginspage='http://www.macromedia.com/go/getflashplayer' />\n";
    Vplayer += "</object>";
    
    if(window.trans) window.trans = null;
    document.getElementById(pDivName).innerHTML = null;
    document.getElementById(pDivName).innerHTML = Vplayer;
    window.trans = document.forms[0].trans;
}

function writeTransitionPlayerFolderUp(pDivName, pMovieSrc)
{
    pMovieSrc = FilenameToLower(pMovieSrc);
    var Vplayer = '';
    Vplayer += "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'\n";
    Vplayer += "codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0'\n";
    Vplayer += "width='720' height='480' id='trans'>\n";
    Vplayer += "<param name='allowScriptAccess' value='sameDomain' />\n";
    Vplayer += "<param name='movie' value='./VidPlayer/TransPlayer.swf?" + pMovieSrc + "' />\n";
    Vplayer += "<param name='quality' value='high' />\n";
    Vplayer += "<param name='bgcolor' value='#ffffff' />\n";
    Vplayer += "<param name='autoplay' value='true' />\n";
    Vplayer += "<param name='wmode' value='transparent' />\n";
    Vplayer += "<param name='menu' value='false' />\n";
    Vplayer += "<embed src='./VidPlayer/TransPlayer.swf?" + pMovieSrc + "' quality='high' wmode='transparent' bgcolor='#ffffff'\n";
    Vplayer += "width='720' height='480' name='trans' autoplay='true' menu='false' \n";
    Vplayer += "allowscriptaccess='sameDomain' type='application/x-shockwave-flash'\n";
    Vplayer += "pluginspage='http://www.macromedia.com/go/getflashplayer' />\n";
    Vplayer += "</object>";
    
    if(window.trans) window.trans = null;
    document.getElementById(pDivName).innerHTML = null;
    document.getElementById(pDivName).innerHTML = Vplayer;
    window.trans = document.forms[0].trans;
    
}

function writeLoadingPlayer(pDivName)
{
    var Vplayer = '';
    Vplayer += "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'\n";
    Vplayer += "codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0'\n";
    Vplayer += "width='200' height='200' id='loading'>\n";
    Vplayer += "<param name='allowScriptAccess' value='sameDomain' />\n";
    Vplayer += "<param name='movie' value='VidPlayer/LoadingPlayer.swf' />\n";
    Vplayer += "<param name='quality' value='high' />\n";
    Vplayer += "<param name='bgcolor' value='#000000' />\n";
    Vplayer += "<param name='autoplay' value='true' />\n";
    Vplayer += "<param name='wmode' value='opaque' />\n";
    Vplayer += "<param name='menu' value='false' />\n";
    Vplayer += "<embed src='VidPlayer/LoadingPlayer.swf' quality='high' wmode='opaque' bgcolor='#000000'\n";
    Vplayer += "width='200' height='200' name='loading' autoplay='true' menu='false' \n";
    Vplayer += "allowscriptaccess='sameDomain' type='application/x-shockwave-flash'\n";
    Vplayer += "pluginspage='http://www.macromedia.com/go/getflashplayer' />\n";
    Vplayer += "</object>";
    
    if(window.loading) window.loading = null;
    document.getElementById(pDivName).innerHTML = null;
    document.getElementById(pDivName).innerHTML = Vplayer;
    window.loading = document.forms[0].loading;
}

function writePDAOrganizer(pDivName)
{
    var Vplayer = '';
    Vplayer += "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'\n";
    Vplayer += "codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0'\n";
    Vplayer += "width='99' height='90' id='pda'>\n";
    Vplayer += "<param name='allowScriptAccess' value='sameDomain' />\n";
    Vplayer += "<param name='movie' value='../VidPlayer/PDAOrganizer.swf' />\n";
    Vplayer += "<param name='quality' value='high' />\n";
    Vplayer += "<param name='bgcolor' value='#FFFFFF' />\n";
    Vplayer += "<param name='autoplay' value='true' />\n";
    Vplayer += "<param name='wmode' value='transparent' />\n";
    Vplayer += "<param name='menu' value='false' />\n";
    Vplayer += "<embed src='../VidPlayer/PDAOrganizer.swf' quality='high' wmode='transparent' bgcolor='#FFFFFF'\n";
    Vplayer += "width='99' height='90' name='pda' autoplay='true' menu='false' \n";
    Vplayer += "allowscriptaccess='sameDomain' type='application/x-shockwave-flash'\n";
    Vplayer += "pluginspage='http://www.macromedia.com/go/getflashplayer' />\n";
    Vplayer += "</object>";
    
    if(window.pda) window.pda = null;
    document.getElementById(pDivName).innerHTML = null;
    document.getElementById(pDivName).innerHTML = Vplayer;
    window.pda = document.forms[0].pda;
}

function writeUboostRewards(pDivName)
{
    var Vplayer = '';
    Vplayer += "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'\n";
    Vplayer += "codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0'\n";
    Vplayer += "width='99' height='90' id='uboost'>\n";
    Vplayer += "<param name='allowScriptAccess' value='sameDomain' />\n";
    Vplayer += "<param name='movie' value='../VidPlayer/rewardsHologram.swf' />\n";
    Vplayer += "<param name='quality' value='high' />\n";
    Vplayer += "<param name='bgcolor' value='#FFFFFF' />\n";
    Vplayer += "<param name='autoplay' value='true' />\n";
    Vplayer += "<param name='wmode' value='transparent' />\n";
    Vplayer += "<param name='menu' value='false' />\n";
    Vplayer += "<embed src='../VidPlayer/rewardsHologram.swf' quality='high' wmode='transparent' bgcolor='#FFFFFF'\n";
    Vplayer += "width='99' height='90' name='uboost' autoplay='true' menu='false' \n";
    Vplayer += "allowscriptaccess='sameDomain' type='application/x-shockwave-flash'\n";
    Vplayer += "pluginspage='http://www.macromedia.com/go/getflashplayer' />\n";
    Vplayer += "</object>";
    
    if(window.uboost) window.uboost = null;
    document.getElementById(pDivName).innerHTML = null;
    document.getElementById(pDivName).innerHTML = Vplayer;
    window.uboost = document.forms[0].uboost;
}

var glblVideoComplete = false;

function VidEnd()
{
    glblVideoComplete = true;
    try{
        var inputs = document.getElementsByTagName('input');
        for(x = 0; x < inputs.length; x++)
        {
            if(inputs[x].id.indexOf('btnExit') >= 0)
            {
                inputs[x].src = "../images/DefaultSkin/General/exit_green.png";
            }
            if(inputs[x].id.indexOf('txttime') >= 0)
            {
                inputs[x].value = '99999';
            }
        }
    }catch(ex){
        alert("Video was unable to completely finish");
    }
}


function getEndTime()
{
    throw "Depreciated";
    var inputs = document.getElementsByTagName('input');
    for(x = 0; x < inputs.length; x++)
    {
        if(inputs[x].id.indexOf('txttime') >= 0)
        {
            if(inputs[x].value != "99999")
            {
                if(thisMovie("Player"))
                {
                    if(typeof thisMovie("Player").getCurrentTime == "function")
                    {
                        thisMovie("Player").getCurrentTime();
                    }
                }
            }
            break;
        }
    }
}

//Creator: Thomas Hayden
//CreationDate: 10/11/08
//Description: Sets just the filename of a url to lower so that it will work with linux servers.
function FilenameToLower(source){
    try{
        if(source.lastIndexOf("/") >= 0){
            source = source.substr(0, source.lastIndexOf("/") + 1) + source.substr(source.lastIndexOf("/") + 1).toLowerCase();
        }
    }catch(ex){
        //An exception isn't a problem here, just return the original value if something goes wrong.
    }
    return source;
}

function TransitionHasEnded()
{
    thisMovie("Player").StartVideo();
}

function BringToFront(selID){
    selDiv = document.getElementById(selID);
    selDiv.style.zIndex = getNextHighestZindex(document);
}

function getNextHighestZindex(obj){  
    var highestIndex = 0;  
    var currentIndex = 0;  
    var elArray = Array();  
    
    if(obj){ elArray = obj.getElementsByTagName('div'); }else{ elArray = document.getElementsByTagName('div'); }  
    
    for(var i=0; i < elArray.length; i++){  
        if (elArray[i].style){  
            currentIndex = parseFloat(elArray[i].style.zIndex);  
        }
        else if(window.getComputedStyle){  
            currentIndex = parseFloat(document.defaultView.getComputedStyle(elArray[i],null).getPropertyValue('z-index'));  
        }  
        if(!isNaN(currentIndex) && currentIndex > highestIndex){ highestIndex = currentIndex; }  
    }
      
    return(highestIndex+1);  
}

receiveReq = getXmlHttpRequestObject();

function getXmlHttpRequestObject() {

	var xmlHttp=null;

	try{     // Firefox, Opera 8.0+, Safari    
        xmlHttp = new XMLHttpRequest(); 
    }   
    catch (e){   // Internet Explorer   
         
        try{
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");      
        }
        catch (e) {
             
            try{
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");        
            }
            catch (e)  { 
                document.getElementById('p_status').innerHTML = 'Status: Cound not create XmlHttpRequest Object.  Consider upgrading your browser.';
            }
        }
    }
    return xmlHttp;
}

// Communication between controler and silverlight
var jsReady = false;
var timer = 0;
function isReady() 
{
    return jsReady;
}

function pageInit() 
{
    jsReady = true;
}

function thisMovie(movieName) 
{
    return document[movieName];
}

function setPosition()
{
    //Depreciated
}

function positionVideo()
{
    try{
        var divENotes = document.getElementById("eNotes");
        if(divENotes){
            divENotes.style.left = ((width() / 2) - parseInt(divENotes.style.width) + 389) + 'px';
            divENotes.style.top = (510) + 'px';
        }
    }catch(ex){
        alert(ex.message);
    }
}

function sendToActionScript(value) 
{
    thisMovie("Player").sendToActionScript(value);
}

function sendToJavaScript(value) 
{
        
}

function getTime()
{
    thisMovie("Player").getCurrentTime();
}

var glblVideoThreshold = 1;
var glblVideoUpdateTimeOnCooldown = false;

function resetVideoUpdateTimeOnCoolDown()
{
    glblVideoUpdateTimeOnCooldown = false;
}

function curTime(time, hash)
{
    var inputs = document.getElementsByTagName('input');
    var txtTime = null;
    var txtHash = null;
    for(x=0; x<inputs.length; x++)
    {
        if(inputs[x].id.indexOf('txttime') >= 0)
        {
            txtTime = inputs[x];
        }
        if(inputs[x].id.indexOf('txtHash') >= 0)
        {
            txtHash = inputs[x];
        }
    }
    
    if(txtTime && txtHash && txtTime.value != "99999" && txtTime.value < time){
        txtTime.value = time;
        txtHash.value = hash;
        
        if(time == 99999)
        {
            glblBlnVideoComplete = true;
            for(x = 0; x < inputs.length; x++)
            {
                if(inputs[x].id.indexOf('btnExit') >= 0)
                {
                    inputs[x].src = "../images/DefaultSkin/General/exit_green.png";
                }
            }
        }
        
        if(glblVideoUpdateTimeOnCooldown == false){
            glblVideoUpdateTimeOnCooldown = true;
            setTimeout("resetVideoUpdateTimeOnCoolDown()", 30000);
            CallUpdateTime();
        }
    }
}

function logServer(server)
{
    var inputs = document.getElementsByTagName('input');
    for(x=0; x<inputs.length; x++)
    {
        if(inputs[x].id.indexOf('txtServer') >= 0)
        {
            inputs[x].value = server;
            CallUpdateServer();
            break;
        }
    }
}

function ConvertToTimeSpan(timeinseconds)
{
    if (timeinseconds<0) {
       return ("00:00:00");
    }
    else
    if (timeinseconds<60) {
       return ("00:00:" + Math.floor(timeinseconds));
    } 
    else
    if (timeinseconds<3600)
    {  
       var mins = Math.floor(timeinseconds / 60);
       var seconds = Math.floor(timeinseconds - (mins * 60));
       return ("00:" + mins + ":" + seconds);
    }
    else
    {
       var hrs = Math.floor(timeinseconds / 3600);
       var mins = timeinseconds - (hrs * 3600)
       var seconds = Math.floor(timeinseconds - (hrs * 3600) -  (mins * 60));
       return (hrs + ":" + mins + ":" + seconds);
    }
}