﻿//globals
var scr_videoPlaying = false;
var scr_videoStarted = false;
var scr_videoPos = 0;
var scr_videoDuration = 1;
var hasPageLoaded = false;
var playerBig;

$(document).ready(function()
{
    $("#EndFrameTabsHolder>ul").tabs({
        show: function(event, ui)
        {
            if (hasPageLoaded)
            {
                var trackName = "";
                if (ui.panel.id == "tab-suggestedVideo") trackName = "PostPlayback_Suggested";
                if (ui.panel.id == "tab-shareVideo") trackName = "PostPlayback_Share";
                if (ui.panel.id == "tab-embedVideo")
                {
                    trackName = "PostPlayback_Embed";
                    var videoName = getPage();
                    if (videoName == "parentalcontrols")
                    {
                        videoName = "parentalcontrol";
                    }
                    CallAtlas("mrtwxp_winftpscreeningroomembedurl_" + videoName);
                }
                CallOmniture('', '', trackName);

            }
            else hasPageLoaded = true;

        }
    });
});

function swapEndFrameAd(size)
{
    switch (size)
    {
        case "small":
            $("#EndFrameAdLeft").css("background", "url(" + endCardBottomLeftImageSm + ") no-repeat 0px 0px");
            $("#EndFrameAdLeft").hover(function()
            {
                $(this).css("background-position", "0px -15px");
            }, function()
            {
                $(this).css("background-position", "0px 0px");
            });

            $("#EndFrameAdRight").css("background", "url(" + endCardBottomRightImageSm + ") no-repeat 0px 0px");
            $("#EndFrameAdRight").hover(function()
            {
                $(this).css("background-position", "0px -15px");
            }, function()
            {
                $(this).css("background-position", "0px 0px");
            });
            break;
        case "large":
            $("#EndFrameAdLeft").css("background", "url(" + endCardBottomLeftImage + ") no-repeat 0px 0px");
            $("#EndFrameAdLeft").hover(function()
            {
                $(this).css("background-position", "0px -16px");
            }, function()
            {
                $(this).css("background-position", "0px 0px");
            });

            $("#EndFrameAdRight").css("background", "url(" + endCardBottomRightImage + ") no-repeat 0px 0px");
            $("#EndFrameAdRight").hover(function()
            {
                $(this).css("background-position", "0px -16px");
            }, function()
            {
                $(this).css("background-position", "0px 0px");
            });
            break;
    }
}

function loadVideo(SLObjectID, videoPath)
{
    var plugin = document.getElementById(SLObjectID);

    if (plugin)
    {
        plugin.Content.Page.LoadVideo(videoPath);
    }
}

function playVideo(SLObjectID)
{
    var plugin = document.getElementById(SLObjectID);

    if (plugin)
    {
        plugin.Content.Page.PlayVideo();
    }
}

function pauseVideo(SLObjectID)
{
    var plugin = document.getElementById(SLObjectID);

    if (plugin)
    {
        plugin.Content.Page.PauseVideo();
    }
}

function replayVideo(SLObjectID)
{
    if (jQuery.browser.sl)
    {
        setTimeout("replayVideoExecute('" + SLObjectID + "')", 100);
    } else
    {
        //replay tracking
        var page = getPage();
        if (jQuery.browser.sl) { videoType = "SL"; } else { videoType = "WMV"; }
        CallAtlas("mrtwxp_winftpsr" + page + videoType + "_start");
        CallOmnitureForVideo("event5", "ScreeningRoom_VideoPlay_" + page);
        //start replay
        var plugin = document.getElementById(SLObjectID);
        plugin.controls.play();
    }
}

function replayVideoExecute(SLObjectID)
{

    var plugin = document.getElementById(SLObjectID);

    if (plugin)
    {
        //was causing js error
        var page = getPage();
        if (jQuery.browser.sl) { videoType = "SL"; } else { videoType = "WMV"; }
        CallAtlas("mrtwxp_winftpsr" + page + videoType + "_start");
        CallOmnitureForVideo("event5", "ScreeningRoom_VideoPlay_" + page);

        if ($.browser.msie)
        {
            //plugin.Content.Page.RestartVideo();
            setTimeout("replaySLVideo", 100);
        }
    }
}

function stopVideo(SLObjectID)
{
    var plugin = document.getElementById(SLObjectID);

    if (plugin)
    {
        plugin.Content.Page.StopVideo();
    }
}

function replayPlayerHandler(SLObjectID)
{
    document.getElementById("PlayerHost").style.display = "block";
    document.getElementById("PlayerEndFrameHost").style.display = "none";
    //closeEmbedDialog();
    //closeShareDialog();
    //replayVideo(SLObjectID);
}

function replaySLVideo()
{
    plugin.Content.Page.RestartVideo();
}

function setSLPlayerSize(size)
{
    if (size == "big")
    {
        playerBig = "true";
    }
    else
    {
        playerBig = "false";
    }
}

function ToggleHeight(size)
{
    var sl = document.getElementById("ScreeningRoom");
    if (size == "big")
    {
        sl.height = 547;
        setSLPlayerSize(size);
    }
    else
    {
        sl.height = 307;
        setSLPlayerSize(size);
    }


    if (size == "big")
    {
        $("#PlayerEndFrameHost").removeClass("SmallEndFrame").removeClass("SLSmallEndFrame");
        $("#PlayerEndFrameHost").addClass("LargeEndFrame");

        $("#PlayerHost").removeClass("WMVSize").addClass("SLSize");
        swapEndFrameAd("large");
    } else
    {
        $("#PlayerEndFrameHost").addClass("SmallEndFrame").addClass("SLSmallEndFrame");
        $("#PlayerEndFrameHost").removeClass("LargeEndFrame");

        $("#PlayerHost").removeClass("SLSize").addClass("WMVSize");
        swapEndFrameAd("small");
    }

}

function NewVideo_Click(videoURL)
{
    var height = 0;
    if (playerBig == null)
    {
        if (window.innerHeight)
        {
            height = window.innerHeight - 83;
        }
        else if (document.all)
        {
            height = document.body.clientHeight - 83;
        }
        if (height >= 637) playerBig = true;
        else playerBig = false;
    }

    document.location.href = videoURL + "?playBig=" + playerBig;
}

function VideoEvent(name, event, args)
{
    var page = getPage();
    var mediaType = $.browser.sl ? "sl" : "wmp";
    var CurrentPosition = 0;
    var MediaLength = 0;

    if (args != null && args.length > 1)
    {
        CurrentPosition = Math.round(parseInt(args[0] >= 0 ? args[0] : args["CurrentPosition"]));
        MediaLength = Math.round(parseInt(args[1] >= 0 ? args[1] : args["MediaLength"]));
    }

    if (name == "ScreeningRoom")
    {

        switch (event)
        {
            case "Completed":
                CallAtlas("mrtwxp_winftpsr" + page + videoType + "_end");
                omnitureVideoClose(name, "ScreeningRoom_" + page, mediaType);
                document.getElementById("PlayerHost").style.display = "none";
                document.getElementById("PlayerEndFrameHost").style.display = "block";
                break;
            case "Play":
                if (scr_videoStarted) { omnitureVideoStart(name, "ScreeningRoom_" + page, CurrentPosition); }
                break;
            case "Pause":
                omnitureVideoStop(name, "ScreeningRoom_" + page, CurrentPosition);
                break;
            case "Open":
                omnitureVideoOpen(name, "ScreeningRoom_" + page, MediaLength, mediaType);
                scr_videoStarted = true;
                break;
            case "Share":
                handleSocialBookmark(args[0].toLowerCase());
                break;
            case "SocialBookmark":
                handleSocialBookmark(args[0].toLowerCase());
                break;
            case "Embed":
                var page = getPage();
                CallAtlas("mrtwxp_winftpscreeningroomembedurl_" + page);
                break;
        }
    }
}

function onSilverlightError(sender, args)
{

    var appSource = "";
    if (sender != null && sender != 0)
    {
        appSource = sender.getHost().Source;
    }
    var errorType = args.ErrorType;
    var iErrorCode = args.ErrorCode;

    var errMsg = "Unhandled Error in Silverlight 2 Application " + appSource + "\n";

    errMsg += "Code: " + iErrorCode + "    \n";
    errMsg += "Category: " + errorType + "       \n";
    errMsg += "Message: " + args.ErrorMessage + "     \n";

    if (errorType == "ParserError")
    {
        errMsg += "File: " + args.xamlFile + "     \n";
        errMsg += "Line: " + args.lineNumber + "     \n";
        errMsg += "Position: " + args.charPosition + "     \n";
    }
    else if (errorType == "RuntimeError")
    {
        if (args.lineNumber != 0)
        {
            errMsg += "Line: " + args.lineNumber + "     \n";
            errMsg += "Position: " + args.charPosition + "     \n";
        }
        errMsg += "MethodName: " + args.methodName + "     \n";
    }

    throw new Error(errMsg);
}

var videoType = "";

function insertVideo(ObjectId, loresmediaPath, hiresmediaPath, screenHeight, carouselImage, embedCode)
{

    if ($.browser.sl)
    {
        insertXAP(ObjectId, loresmediaPath, hiresmediaPath, screenHeight, carouselImage, embedCode);
        videoType = "SL";
    } else
    {
        if ($.browser.msie && $.browser.wmp)
        {
            insertWMV(ObjectId, loresmediaPath, hiresmediaPath);
            videoType = "WMV";
        } else
        {
            //embed
            insertXAP(ObjectId, loresmediaPath, hiresmediaPath, screenHeight, carouselImage, embedCode);
            videoType = "SL";
        }
    }

    if (videoType != "")
    {
        var page = getPage();

        CallAtlas("mrtwxp_winftpsr" + page + videoType + "_start");
    }
}



function insertXAP(ObjectID, loresmediaPath, hiresmediaPath, screenHeight, carouselImage, embedCode)
{
    var windowless = true;
    if ($.browser.safari) { windowless = false; }

    if (screenHeight != "")
    {
        if (screenHeight >= 637)
        {
            height = 638;
            embedHeight = 547;
            PlayBig = "true";
            setSLPlayerSize("big");
        } else
        {
            height = 307;
            embedHeight = 307;
            PlayBig = "false";
            setSLPlayerSize("small");
        }
    }
    else
    {
        var PlayBig = playerBig;
        var height = 1;
        var embedHeight = 307;

        var qrStr = window.location.search;
        var spQrStr = qrStr.substring(1);
        var arrQrStr = new Array();
        // splits each of pair
        var arr = spQrStr.split('&');
        var hasQS = false;

        for (var i = 0; i < arr.length; i++)
        {
            // splits each of field-value pair
            var index = arr[i].indexOf('=');
            var key = arr[i].substring(0, index);

            if (key == "playBig")
            {
                PlayBig = arr[i].substring(index + 1);
                hasQS = true;

                if (PlayBig == "false")
                {
                    embedHeight = 307;
                    setSLPlayerSize("small");
                }
                else
                {
                    embedHeight = 547;
                    setSLPlayerSize("big");
                }
                break;
            }
        }

        if (!hasQS)
        {
            if (window.innerHeight)
            {
                height = window.innerHeight - 83;
            }
            else if (document.all)
            {
                height = document.body.clientHeight - 83;
            }
            if (height >= 637)
            {
                embedHeight = 547;
                PlayBig = "true";
                setSLPlayerSize("big");
            }
            else
            {
                embedHeight = 307;
                PlayBig = "false";
                setSLPlayerSize("small");
            }
        }
    }

    $("#PlayerHost")[0].innerHTML = "<object id='" + ObjectID + "' data='data:application/x-silverlight-2,' type='application/x-silverlight-2'" +
                                    "    width='880' height='" + embedHeight + "'>" +
                                    "    <param name='source' value='/windows/framework/subsites/screeningroom/ClientBin/ScreeningRoomPlayer.xap' />" +
                                    "    <param name='onerror' value='onSilverlightError' />" +
                                    "    <param name='background' value='#ffffff' />" +
                                    "    <param name='minRuntimeVersion' value='2.0.31005.0' />" +
                                    "    <param name='windowless' value='" + windowless + "' />" +
                                    "    <param name='initParams' value='LargeVideo=" + hiresmediaPath + ",SmallVideo=" + loresmediaPath + ",PlayBig=" + PlayBig + ",ObjectId=ScreeningRoom,jsEventFunction=VideoEvent,EmbedCode=" + embedCode + "' />" +
                                    "    <span style='display: none;'></span>" +
                                    "    <div style='margin:80px 0px 0px 96px; width:688px; height:386px; background: url(" + carouselImage + ") no-repeat top left;'><a onclick=javascript:CallOmniture('','','Silverlight_Download'); href='http://go.microsoft.com/fwlink/?LinkID=124807' style='text-decoration: none;'>" +
									"    <img style='margin:70px 0px 0px 116px;' src='/windows/framework/subsites/screeningroom/images/no_silverlight.jpg' alt='Get Microsoft Silverlight' style='border-style: none'/>" +
									"    </a></div>" +
                                    "</object>" +
                                    "<iframe style='visibility: hidden; height: 0; width: 0; border: 0px'></iframe>";

    if (embedHeight == "547")
    {
        $("#PlayerEndFrameHost").removeClass("SmallEndFrame").removeClass("SLSmallEndFrame");
        $("#PlayerEndFrameHost").addClass("LargeEndFrame");

        swapEndFrameAd("large");

        $("#PlayerHost").removeClass("WMVSize").addClass("SLSize");
    } else
    {
        $("#PlayerEndFrameHost").addClass("SmallEndFrame").addClass("SLSmallEndFrame");
        $("#PlayerEndFrameHost").removeClass("LargeEndFrame");

        swapEndFrameAd("small");

        $("#PlayerHost").removeClass("SLSize").addClass("WMVSize");
    }

}

function insertWMV(ObjectID, loresmediaPath, hiresmediaPath)
{
    $("#PlayerHost")[0].innerHTML = "<object width='448' height='316' classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' type='application/x-ms-wmp' id='" + ObjectID + "'>" +
                                "<param value='" + loresmediaPath + "' name='url' id='wmv_url' /> " +
                                "<param value='false' name='ShowStatusBar'/> " +
                                "<param value='true' name='windowlessVideo'/> " +
                                "<embed width='448' height='316' stretchToFit='true' autostart=1 " +
                                "showstatusbar='false' showtracker=0 showdisplay=0 showcontrols=0 " +
                                "name='" + ObjectID + "' id='" + ObjectID + "' " +
                                "src='" + loresmediaPath + "' " +
                                "pluginspage='http://www.microsoft.com/Windows/MediaPlayer/' " +
                                "type='application/x-mplayer2' />" +
                                "</object>";

    $("#PlayerHost").css("margin-left", "216px");
    $("#PlayerHost").removeClass("SLSize").addClass("WMVSize");
    $("#PlayerEndFrameHost").removeClass("LargeEndFrame");
    $("#PlayerEndFrameHost").addClass("SmallEndFrame").addClass("WMVSmallEndFrame");

    swapEndFrameAd("small");

    $("#" + ObjectID)[0].attachEvent("PlayStateChange", function(newState)
    {
        scr_videoDuration = Math.round(document.getElementById(ObjectID).currentMedia.duration);
        scr_videoPos = Math.round(document.getElementById(ObjectID).controls.currentPosition);

        switch (newState)
        {
            //case 0: // stopped    
            //break;   
            case 2: // paused
                VideoEvent(ObjectID, "Pause", { "CurrentPosition": scr_videoPos, "MediaLength": scr_videoDuration });
                scr_videoPlaying = false;
                break;
            case 8:   // closed
                scr_videoPlaying = false;
                scr_videoStarted = false;
                VideoEvent(ObjectID, "Completed", { "CurrentPosition": scr_videoPos, "MediaLength": scr_videoDuration });
                break;
            case 1:   // stopped

                if (scr_videoPlaying)
                {

                    VideoEvent(ObjectID, "Pause", { "CurrentPosition": scr_videoPos, "MediaLength": scr_videoDuration });
                    scr_videoPlaying = false;
                }
                scr_videoStarted = false;
                break;
            case 3:   // playing
                if (!scr_videoStarted)
                {
                    scr_videoStarted = true;
                    VideoEvent(ObjectID, "Open", { "CurrentPosition": scr_videoPos, "MediaLength": scr_videoDuration });
                } else
                {
                    if (!scr_videoPlaying)
                    {
                        scr_videoPlaying = true;
                        VideoEvent(ObjectID, "Play", { "CurrentPosition": scr_videoPos, "MediaLength": scr_videoDuration });
                    }
                }
            case 4:   // scan forward
            case 5:   // scan reverse
            case 6:   // skip forward
            case 7:   // skip reverse
                break;
        }
    });


}

function getPage()
{
    var url = window.location.toString();
    var urlArr = url.split("/video/");

    if (urlArr.length == 1)
    {
        return "screeningroomhome";
    } else
    {
        if (urlArr[1].split("/")[0].indexOf("shoe_circus") != -1 || urlArr[1].split("/")[0].indexOf("shoe%5Fcircus") != -1)
        {
            return "shoecircus";
        } else
        {
            return urlArr[1].split("/")[0];
        }
    }
}

function openShareDialog()
{
    closeEmbedDialog();
    $('#sharePopup').show();
    $('#btn-sharePlayer').addClass("Active");

    var page = getPage();
    CallOmniture(null, null, "ScreeningRoom_share_" + page);
}

function closeShareDialog()
{
    $('#sharePopup').hide();
    $('#btn-sharePlayer').removeClass("Active");
}

function openEmbedDialog()
{

    closeShareDialog();
    $('#embedPopup').show();
    $('#btn-embedPlayer').addClass("Active");

    var page = getPage();
    CallAtlas("mrtwxp_winftpscreeningroomembedurlextendedvideo");
}

function closeEmbedDialog()
{
    $('#embedPopup').hide();
    $('#btn-embedPlayer').removeClass("Active");
}