// Copyright (c) Microsoft Corporation.  All rights reserved.
// Windows Media Player 9 Series SDK Embedded Player Sample

// Modified by Jasem Al-Shamlan info@i.com.kw

var g_bPaused = false; // To track pause button state;

// Check for JScript errors.
onerror = ShowError;

// Display JScript errors.
function ShowError (msg,url,linenumber)
{
   // alert(msg + " at line " + linenumber);
}

// Initialized states.
function wmp_init()
{
    document.player.uiMode = "none";
    aspnetForm.elements.btnPause.disabled = true;
    aspnetForm.elements.btnStop.disabled = true;

    // Request Media Libary access rights, if none exists.
    /*
    if( player.settings.mediaAccessRights == "none" )
    {
        // Request access rights.
        player.settings.requestMediaAccessRights( "read" );
    }
    */
}

// Play a known video file from Media Library.
function Play ()
{
    document.player.URL = "wmp/seattle.wmv";
}

// Pause the player.
function PauseMe ()
{
    if( g_bPaused == true )
    {
        document.player.controls.play();
        g_bPaused = false;
        aspnetForm.elements.btnPause.value = "Pause";
    }
    else
    {  
        document.player.controls.pause();
        g_bPaused = true;
        aspnetForm.elements.btnPause.value = "Resume";
    }
}

// Stop the player.
function StopMe ()
{
    document.player.controls.stop();
}

function document.player::StatusChange()
{
    // Display status. This requires Windows Media player 9 Series or later.
    document.all.divStatus.innerHTML = "Status: " + document.player.status;
}

function document.player::PlayStateChange(NewState)
{
 // Test for the current state.
 // If playing, display the name of the current media.

 switch (NewState)
 {
    case 1:
    document.all.divState.innerHTML = "Playstate: Stopped";

    // Toggle the button states.
    aspnetForm.elements.btnPause.disabled = true;
    aspnetForm.elements.btnPause.value = "Pause";
    aspnetForm.elements.btnStop.disabled = true;

    break;

    case 2:
    document.all.divState.innerHTML = "Playstate: Paused";
    break;

    case 3:
    document.all.divState.innerHTML = "Playstate: Playing";
    //divName.innerHTML = "Media name: " + player.currentMedia.name;

    // Toggle the button states.
    aspnetForm.elements.btnPause.disabled = false;
    aspnetForm.elements.btnStop.disabled = false;

    break;

    case 6:
    document.all.divState.innerHTML = "Playstate: Buffering";
    break;

    case 7:
    document.all.divState.innerHTML = "Playstate: Waiting";
    break;

    case 8:
    document.all.divState.innerHTML = "Playstate: Media Ended";
    break;

    case 9:
    document.all.divState.innerHTML = "Playstate: Transitioning";
    break;

    case 10:
    document.all.divState.innerHTML = "Playstate: Ready";
    break;

    // Other cases go here.

    default:
    document.all.divState.innerHTML = "Playstate: Other";
 }
}


function document.player::Error()
{
    var strError = "";

    // Store the number of errors in the queue.
    var max = document.player.error.errorCount

    // Loop through the list of errors.
    for (var i = 0; i < max; i++)
    {
        // Display the error description for each item.
        strError += "Error: " + document.player.error.item(i).errorDescription + "\n";
    }

    alert( strError ); // Display the error warning.

    // Clear the error queue to prepare for the next group of errors.
    document.player.error.clearErrorQueue();
}
