﻿var m_wmpObj;

function WMPError()
{
    try
    {
        var errorCount = m_wmpObj.error.errorCount;
        if (m_wmpObj)
        {
            for (var i = 0; i < errorCount; i++)
            {
                var errorCode = m_wmpObj.error.item(i).errorCode;
                var errorMessage = m_wmpObj.error.item(i).errorDescription;

                TvinciPlayerAddToLog("WindowMediaPlayer Error - '" + errorCode + "': '" + errorMessage + "'");
            }

            m_wmpObj.error.clearErrorQueue();

        }
        else
        {
            TvinciPlayerAddToLog("WindowMediaPlayer Error - failed to extract wmp object");
        }
    }
    catch (e)
    {
        TvinciPlayerAddToLog("WindowMediaPlayer Error - error occured while trying to parse the wmp error.");
    }
}

function WMPMediaError(obj)
{
    try
    {
        if (obj.Error)
        {
            var errorCode = obj.Error.errorCode;
            TvinciPlayerAddToLog("WindowMediaPlayer MediaError - " + errorCode);
        }
        else
        {
            TvinciPlayerAddToLog("WindowMediaPlayer MediaError - raised with obj.Error is undefined");
        }
    }
    catch (e)
    {
        TvinciPlayerAddToLog("WindowMediaPlayer MediaError - error occured while trying to parse the wmp error.");
    }
}

function CheckWMP()
{
    var str = "";
    var browser = navigator.appName;

    if (browser == "Microsoft Internet Explorer")
    {
        // Check if windows media player is installed
        var acx = ActiveXObject("CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6");
        if (acx == null)
            document.getElementById("WMPInstallRequired").style.display = "block";

    }
    else if (browser == "Netscape")
    {
        if (navigator.plugins["Microsoft® Windows Media Player Firefox Plugin"] == null)
            document.getElementById("WMPInstallRequired").style.display = "block";
    }
    else
    {
        return;
    }
}

function WMPInit()
{
    var browser = navigator.appName;
    if (browser == "Microsoft Internet Explorer")
    {
        m_wmpObj = document.getElementById("WMPObjIE");

        // Only in IE needs to attach to events specially
        if (!window.addEventListener)
        {
            m_wmpObj.attachEvent("Error", WMPError);
            m_wmpObj.attachEvent("MediaError", WMPMediaError);

            TvinciPlayerAddToLog("Global - attached to wmp error callbacks");
        }
        else
        {
            TvinciPlayerAddToLog("Global - cannot attach to wmp error callbacks");
        }
    }
    else if (browser == "Netscape")
    {
        m_wmpObj = document.getElementById("WMPObjFF");
        m_wmpObj.uiMode = 'none';
    }

    // Create swf interface if needed
    if (typeof createInterface == 'function')
    {
        createInterface();
    }
}


// firefox support
function onError()
{
    WMPError();
}

function onMediaError(obj)
{
    WMPMediaError(obj);
}