﻿function setCuDebug() {
    _cuPlayerSetSize(1, 1)
    document.getElementById("cuDebugDiv").style.display = "block";
    PlaylistExpose();
    plsyerTop = document.getElementById("cuWmvPlayer").style.top;
    document.getElementById("cuWmvPlayer").style.top = "-1000px";
}
function closeCuDebugMode() {
    document.getElementById("cuDebugDiv").style.display = "none";
    _cuPlayerSetSize(videoW, videoH)
    document.getElementById("cuWmvPlayer").style.top = plsyerTop;


}
function PlaylistExpose() {
    var playListHolder = document.getElementById("cuWmvPlayer");
    var display;
    var pl = playListHolder.currentPlaylist;

    //	        pl.setItemInfo("custom playlist attribute", "changed");
    //	        pl.item(0).setItemInfo("new custom attribute", "5");

    display = pl.attributeCount + " Playlist Attributes:\n";

    for (var i = 0; i < pl.attributeCount; ++i) {
        display = display + pl.attributeName(i) + ": ";
        display = display + pl.getItemInfo(pl.attributeName(i)) + "\n";
    }

    for (var j = 0; j < pl.count; ++j) {
        display = display + "\nEntry " + j + "\n"
        display = display + pl.item(j).attributeCount + " Attributes:\n";

        for (var k = 0; k < pl.item(j).attributeCount; ++k) {
            var it = pl.item(j);  // Media object
            display = display + it.getAttributeName(k) + ": ";
            display = display + it.getItemInfo(it.getAttributeName(k)) + "\n";
        }
    }

    document.getElementById("PlayListTextHolder").value = display;
}
function OnContextMenu(altAllow, crtAllow, shiftAllow) {

    pAllow = (altAllow && crtAllow)
    if (shiftAllow && crtAllow && !altAllow) {
        try {
            CastUP.ClientSendStat();
        } catch (e) {
            alert("error Sending Stat:" + e)
        }
    } else if (pAllow || gContextMenuEnabled) {
        gContextMenuEnabled = true;
        try {
            document.getElementById("cuWmvPlayer").enableContextMenu = true;
            alertString = "CastUP player properties enabled";
            if (shiftAllow) {
                setCuDebug();
                alertString += "\n \n  Debug Mode enabled";
            }
            alert(alertString);

        }
        catch (e) {
            alert(e.description);
        }
    }

    return gContextMenuEnabled;
}


function ContentWatchDog() {
    //CheckIfAdd()
    var pPosition = _cuPlayerGetCurrentPosition();
    var pDuration = _cuPlayerGetCurrentDuration();
    var pVolume = _cuVolVar;

    var pState = _cuPlayerGetCurrentPlayState()  //_cuCurrentState;

    try {
        objToolBar.SetVariable("volume_position", pVolume);
        objToolBar.SetVariable("volume_position", pVolume);
        objToolBar.SetVariable("slider_duration_seconds", pDuration);
        if (pState == 3) {
            if (_cuAddFlag) {
                pState = 112;
            }
        }
        if (pState == 2) {
            if (_cuAddFlag) {
                pState = 113;
            }
        }
        objToolBar.SetVariable("slider_position_seconds", pPosition);
        objToolBar.SetVariable("slider_position", pPosition / pDuration * 100);
        objToolBar.SetVariable("current_player_state", pState);
    }
    catch (e) {
        //alert(e)
    }
     setTimeout("ContentWatchDog()", 100);
    
}
function getFlashObject(FlashObject) {
    try {
        if (window.document[FlashObject]) {
            return window.document[FlashObject];
        }
        if (navigator.appName.indexOf("Microsoft Internet") == -1) {
            if (document.embeds && document.embeds(FlashObject)) {
                return document.embeds(movieName);
            }
        }
        else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
        {
            return document.getElementById(FlashObject);
        }
        return -1;
    } catch (e) { return -1; }
}

function ExternalInterfaceCommand(pCommandArgs) {
    //alert(pCommandArgs);
    var pCommand;
    var pArgs;

    var arrCommands = pCommandArgs.split(/,/);
    pCommand = arrCommands[0];
    pArgs = arrCommands[1];

    PlayerCommand(pCommand, pArgs);

    return "OK";
}
function PlayerCommand(pCommand, pArgs) {
    // alert("pCommand: " + pCommand + "\n\npArgs: " + pArgs);
    switch (pCommand) {
        case "button_click":
            switch (pArgs) {
                case "play":
                    _cuPlayerPlay();
                    break;

                case "stop":
                    _cuPlayerStop();
                    break;

                case "pause":
                    _cuPlayerPause();
                    break;

                case "sound_mute":
                    try {
                        _cuPlayerSetMute(true)
                    }
                    catch (e) {

                    }
                    break;

                case "sound_unmute":
                    try {
                        _cuPlayerSetMute(false);
                    }
                    catch (e) { }
                    break;

                case "fullscreen":
                    _cuPlayerFullscreen();
                    break;

                case "fast_forward":
                    _cuPlayerFastForward();
                    break;

                case "rewind":
                    _cuPlayerFastReverse()
                    break;

                case "next":
                    document.getElementById("objPlayer").controls.next();
                    break;

                case "previous":
                    document.getElementById("objPlayer").controls.previous();
                    break;

                case "repeat_on":
                    gLoopState = true;
                    break;

                case "repeat_off":
                    gLoopState = false;
                    break;

                case "shuffle_on":
                    gShuffleState = true;
                    break;

                case "shuffle_off":
                    gShuffleState = false;
                    break;

                case "bookmarks":
                    if (gBookmarksState) {
                        gBookmarksState = false;
                    }
                    else {
                        gBookmarksState = true;
                    }
                    setContentBookmarks(pCastUP_Content_ClipMediaID);
                    break;

                case "help":
                    window.open("http://support.castup.net/wm/player/troubleshoot/");
                    break;
            }
            break;

        case "volume_change":
            var Volume = Number(pArgs);
            if (Volume < 0) Volume = 0;
            if (Volume > 100) Volume = 100;

            try {
                _cuPlayerSetVolume(Volume);
            }
            catch (e) {
            }

            // ----  Save volume in cookie
            try {
                //cookie.player_volume = Volume;
                //cookie.store(1);
            }
            catch (e) {

            }
            // ----  End Save volume in cookie
            break;

        case "slider_position_change":
            try {
                var Position = Number(pArgs) * _cuPlayerGetCurrentDuration() / 100;
                _cuPlayerSetCurrentPosition(Position);
            }
            catch (e) {
            }
            break;

        case "Accessibility_Slider_Position_Change":
            var Position = Number(pArgs);
            _cuPlayerSetCurrentPosition(Position);
            break;
    }
}
window.onbeforeunload = confirmExit;
function confirmExit() {
    //document.getElementById("playerHolder").innerHTML = "";
    _cuPlayerStop();
    //window.location = "";
}
