﻿var id;

function playVideo(playerID, mediaID) {
    clearVideo();

    document.getElementById(playerID).innerHTML = "<br /><br /><img src='/Images/ajaxloader.gif' alt='Loading' title='Loading' /><br /><br />";

    id = playerID;

    getMediaDetails(mediaID);
}

function playWMV(id, wmvFile, width, height) {
    var w = width;
    var h = height + 21;

    var elm = document.getElementById(id);
    var src = "/Scripts/wmvplayer/wmvplayer.xaml";
    var cfg = {
        file: wmvFile,
        width: w,
        height: h,
        backcolor: "00416f",
        frontcolor: "ffffff",
        lightcolor: "000000",
        screencolor: "000000",
        autostart: "true",
        bufferlength: "20"
    };
    var ply = new jeroenwijering.Player(elm, src, cfg);
}

function playFLV(id, flvFile, width, height) {
    var w = width;
    var h = height + 20;

    var params = {
        allowscriptaccess: "always",
        allowfullscreen: "true"
    };
    
    var attributes = {};
    
    var flashvars = {
        file: flvFile,
        backcolor: "00416f",
        frontcolor: "ffffff",
        lightcolor: "000000",
        screencolor: "000000",
        autostart: "true",
        bufferlength: "30"
    };

    swfobject.embedSWF("/Scripts/flvplayer/player-licensed.swf", id, w, h, "9.0.0", "/Scripts/swfobject/expressInstall.swf", flashvars, params, attributes);
}

function clearVideo() {
    var divs = document.getElementsByTagName("div");
    for (i = 0; i < divs.length; i++) {
        var playerID = divs[i].id;
        if (playerID.indexOf("video_") > -1)
            divs[i].innerHTML = "";
    }

    var container = document.getElementById("video_container");
    if (container != null) {
        container.innerHTML = "<div id=\"player\" class=\"center\"></div>";
    }

    var videoTitle = document.getElementById("videoTitle");
    if (videoTitle != null) {
        videoTitle.style.display = "none";
    }
    var videoDetails = document.getElementById("videoDetails");
    if (videoDetails != null) {
        videoDetails.style.display = "none";
    }
}

function getMediaDetails(mediaID) {
    $.ajax({
        type: "POST",
        url: "/Services.aspx/GetMediaDetails",
        data: '{ mediaID: "' + mediaID + '" }',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            var media = data.d;
            $("#videoTitle").css("display", "block").html(media.Title);
            $("#videoDetails").css("display", "block");
            $("#videoDescription").html(media.Description);
            var date = media.Date;
            var parsedDate = new Date(parseInt(date.substr(6)));
            $("#videoDate").html(parsedDate.toLocaleDateString());
            var url = window.location.href.toString();
            url = url.substring(0, url.indexOf("/", 8));
            var deepLink = url + "/Video/" + media.Key + "/";
            $("#videoDeepLink").attr("href", deepLink).html(deepLink);
            var file = "/Media/" + media.MediaID + media.FileExtension;
            switch (media.FileExtension) {
                case ".wmv":
                    playWMV(id, file, media.Width, media.Height);
                    break;
                case ".flv":
                    playFLV(id, file, media.Width, media.Height);
                    break;
            }
            if (media.YouTubeId != null && media.YouTubeId != "") {
                playYouTube(id, media.YouTubeId);
            }
            insertMediaStats(media.MediaID);
        }
    });
}

function playYouTube(id, youTubeId) {
    var src = "http://www.youtube.com/embed/" + youTubeId + "?rel=0";
    var iframe = $(document.createElement("iframe")).attr("width", 662).attr("height", 400).attr("src", src).attr("frameborder", 0);
    var div = $("#" + id);
    div.html(iframe);
}

function insertMediaStats(mediaID) {
    $.ajax({
        type: "POST",
        url: "/Services.aspx/InsertMediaStats",
        data: '{ mediaID: "' + mediaID + '", action: "Play" }',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
        }
    });
}
