﻿/* Identifiers */
var mediaListLinkID = "MediaVideoLink-";
var cutOffSummaryID = "CutOffSummary";

/* Content Holders in MediaCentre Video Display */
var mediaVideoNameHolderID = "MediaLibraryCurrentVideoName";
var mediaVideoHolderID = "MediaLibraryCurrentVideo";
var mediaVideoTranscriptContainerClass = "lower-content-inner-fullwidth-media-box-transcript";
var mediaVideoTranscriptHolderID = "MediaLibraryCurrentVideoTranscript";
var mediaVideoSummaryHolderID = "MediaLibraryCurrentVideoSummary";

var mediaVideoNameHolder = null;
var mediaVideoHolder = null;
var mediaVideoHolderLink = null;
var mediaVideoTranscriptContainer = null;
var mediaVideoTranscriptHolder = null;
var mediaVideoSummaryHolder = null;
var cutOffSummary = null;

/* Content Holders in MediaCentre List */
var mediaListNameHolderID = "VideoList_NameHolder-";
var mediaListNameHolderClass = "VideoList_NameHolder";
var mediaListFullPathHolderID = "VideoList_FullPathHolder-";
var mediaListFullPathHolderClass = "VideoList_FullPathHolder";
var mediaListSummaryHolderID = "VideoList_SummaryHolder-";
var mediaListSummaryHolderClass = "VideoList_SummaryHolder";
var mediaListTranscriptHolderID = "VideoList_TranscriptHolder-";
var mediaListTranscriptHolderClass = "VideoList_TranscriptHolder";
var mediaListSplashImageHolderID = "VideoList_SplashImageHolder-";
var mediaListSplashImageHolderClass = "VideoList_SplashImageHolder";

/* Lists */
var mediaList = null;

$(document).ready(function() {
    GetLists();
    GetHolders();
    ConfigureVideoListEvents();

    if ((mediaList != null) && (mediaList.length >= 1) && (window.location.href.indexOf("vid=") <= 0)) {
        $("div[id=KeyMessagesVideoHolder]").html(CreateKeyMessagesVideo(GetIDFromLink(mediaList[0].id), mediaList[0].getAttribute("href", 2)));
        SetSummary(GetIDFromLink(mediaList[0].id));
        SetTranscript(GetIDFromLink(mediaList[0].id));
    }

    if ((mediaVideoTranscriptHolder != null) && (mediaVideoTranscriptHolder.attr("href") != '') && (mediaVideoTranscriptContainer != null)) {
        mediaVideoTranscriptContainer.show();
    }
    else {
        mediaVideoTranscriptContainer.hide();
    }

    flowplayer("a.flowPlayer", "/includes/flowplayer/flowplayer.commercial-3.2.1.swf", {
        key: '#$769e38ac29145c6b4c2',
        plugins: {
                gatracker: {
                    url: "/includes/flowplayer/flowplayer.analytics-3.2.1.swf",
                    labels: {
                        start: "Start",
                        play: "Play",
                        pause: "Pause",
                        resume: "Resume",
                        seek: "Seek",
                        stop: "Stop",
                        finish: "Finish",
                        mute: "Mute",
                        unmute: "Unmute",
                        fullscreen: "Full Screen",
                        fullscreenexit: "Full Screen Exit"
                    },
                    debug: false,
                    trackingMode: "AS3",
                    googleId: "UA-2001091-1" // your Google Analytics id here
                }
            }
    });
});

function GetLists() {
    mediaList = $("a[id^=" + mediaListLinkID + "]");
}

function GetHolders() {
    mediaVideoNameHolder = $("div[id='" + mediaVideoNameHolderID + "']");
    mediaVideoHolder = $("div[id='" + mediaVideoHolderID + "']");
    mediaVideoHolderLink = $("a[id='" + mediaVideoHolderID + "']");
    mediaVideoTranscriptContainer = $("div." + mediaVideoTranscriptContainerClass);
    mediaVideoTranscriptHolder = $("a[id='" + mediaVideoTranscriptHolderID + "']");
    mediaVideoSummaryHolder = $("div[id='" + mediaVideoSummaryHolderID + "']");
    cutOffSummary = $("input[id='" + cutOffSummaryID + "']");
}

function ConfigureVideoListEvents() {
    if ((mediaList != null) && (mediaList.length >= 1)) {
        for (var i = 0; i < mediaList.length; i++) {
            mediaList[i].onclick = function() {
                if ($f(1) != null) {
                    $f(1).play(this.getAttribute("href", 2));

                    var tempId = null;
                    var tempId = GetIDFromLink(this.id);
                    SetVideoName(tempId);
                    SetSummary(tempId);
                    SetTranscript(tempId);
                }

                else {
                    $f(0).play(this.getAttribute("href", 2));

                    var tempId = null;
                    var tempId = GetIDFromLink(this.id);
                    SetVideoName(tempId);
                    SetSummary(tempId);
                    SetTranscript(tempId);
                }

                // by returning false normal link behaviour is skipped 
                return false;
            }
        }
    }
}

/* Getter & Setters */
function SetVideoName(id) {
    if ((id != null) && (id != '') && (id >= 1)) {
        var listNameHolder = $("input[id='" + mediaListNameHolderID + id + "']");

        if ((listNameHolder != null) && (mediaVideoNameHolder != null)) {
            mediaVideoNameHolder.html(listNameHolder.val());
        }
    }
}

function SetTranscript(id) {
    if ((id != null) && (id != '') && (id >= 1)) {
        var listTranscriptHolder = $("input[id='" + mediaListTranscriptHolderID + id + "']");

        if ((listTranscriptHolder != null) && (mediaVideoTranscriptHolder != null) && (listTranscriptHolder.val() != '')) {
            mediaVideoTranscriptHolder.attr("href", listTranscriptHolder.val());
            mediaVideoTranscriptContainer.show();
        }

        else {
            mediaVideoTranscriptContainer.hide();
        }
    }
}

function SetSummary(id) {
    if ((id != null) && (id != '') && (id >= 1)) {
        var listSummaryHolder = $("input[id='" + mediaListSummaryHolderID + id + "']");
        var summary = listSummaryHolder.val();

        if ((cutOffSummary != null) && (cutOffSummary.length >= 1)) {
            if (cutOffSummary.val() >= 1) {
                summary = listSummaryHolder.val().substring(0, cutOffSummary.val());
            }

            else {
                summary = summary.substring(0, 100);
            }
            summary += "...<a href='/en/News/MediaLibrary/?vid=" + id + "'>...&#62;&#62;</a>"
        }

        else {
            summary = listSummaryHolder.val();
        }
        
        if ((listSummaryHolder != null) && (mediaVideoSummaryHolder != null)) {
            mediaVideoSummaryHolder.html(summary);
        }
    }
}

function SetSplashImage(id) {
    var returnStyle = "";

    if ((id != null) && (id != '') && (id >= 1)) {
        var listSplashImageHolder = $("input[id='" + mediaListSplashImageHolderID + id + "']");
        var summaryImage = listSplashImageHolder.val();

        if ((summaryImage != null) && (summaryImage != '')) {
            returnStyle = "display: block; width: 217px; height: 152px; background-image: url(" + summaryImage + ");";
        }

        else {
            returnStyle = "display: block; width: 217px; height: 152px; background-image: url(/en/ImageLibrary/VideoThumbnails/SmallVideoPlaceholder.gif);";
        }
    }
    
    return returnStyle;
}

function GetIDFromLink(linkId) {
    var returnValue = null;
    
    if ((linkId != null) && (linkId != '')) {
        var parts = linkId.split('-');

        if ((parts[1] != null) && (parts[1] != '')) {
            returnValue = parts[1];
        }
    }

    return returnValue;
}

function CreateKeyMessagesVideo(id, videoPath) {
    var videoCode = "";

    if ((videoPath != null) && (videoPath != '')) {
        videoCode = "<a class='flowPlayer' id='MediaLibraryCurrentVideo' href='" + videoPath + "'";

        var tempStyle = "";
        if ((id != null) && (id != '')) {
            tempStyle = SetSplashImage(id);
        }

        else {
            tempStyle = "display:block;width:217px;height:152px;";
        }
        
        videoCode += " style='" + tempStyle + "'>";
        videoCode += "<img id='SmallPlayButton' src='/images/structural/Video/Play_Small.png' alt='Play Button' class='PlayButtonSmall' />";
        videoCode += "</a>";
    }
    
    return videoCode;
}
