﻿//every external Javascript file that is being referenced from ScriptManager must have a call to Sys.Application.
if (typeof (Sys) !== "undefined") Sys.Application.notifyScriptLoaded();

var mediaPlayer = null;
var playerConfig = "";
var PlayerId = "dvPlayer";

function load_video(VideoId) {
    wsVideo.GetmediaPlayerConfig(PlayerId, VideoId, OnSucceededWithContext);
}

function ChangePlaylist2(baseURL, fileprefix, filepostfix, no_of_items) 
{     
    playerConfig.playlist = [];     
    var video_filename;     
    for(i=0; i < no_of_items; i++)     
    {         
        video_filename = fileprefix + i +filepostfix;         
        playerConfig.playlist[i] = {baseUrl: baseURL, url: video_filename};     
    }
    createPlayer();     
    // reload player with new playlist     
    mediaPlayer.play();
    // start the newly loaded clip sequence
}

function createPlayer() 
{
    if (mediaPlayer != null) 
    {
        mediaPlayer._dump;
        if (mediaPlayer.isPlaying()) {
            mediaPlayer.stop();
        }
        if (mediaPlayer.isLoaded()) 
        {
            mediaPlayer.unload();
        }
    }
    mediaPlayer = eval(playerConfig);   
}    


// This is the callback function invoked if the Web service succeeded
function OnSucceededWithContext(result, userContext, methodName) {
    switch (methodName.toLowerCase()) {
        case "GetmediaPlayerConfig".toLowerCase():
            playerConfig = result;
            createPlayer();
            break;
        case "GetplayList".toLowerCase():
            mediaPlayer.getClip(0).update(result); 
            // reload player with new playlist
            createPlayer();
            // start the newly loaded clip sequence 
            mediaPlayer.play();                    
            break;            
    }
}

// This is the failed callback function.
function OnFailed(error) {
    var StackTrace = error.get_stackTrace();
    var Message = error.get_message();
    var StatusCode = error.get_statusCode();
    var ExceptionType = error.get_exceptionType();
    var TimedOut = error.get_timedOut();

    switch (ExceptionType.toLowerCase()) {
        case "system.applicationexception":
            alert(Message);
            break;
        default:
            // Display the error.    
            $get("_ctl0_ContentMain_dvContents").innerHTML =
            //    "Stack Trace: " +  StackTrace + "<br/>" +
                "Service Error: " + Message + "<br/>" +
                "Status Code: " + StatusCode + "<br/>" +
                "Exception Type: " + ExceptionType + "<br/>" +
                "Timedout: " + TimedOut;
            break;
    }
}


