﻿var _previousTime = 0;
var _priorState = "";
var _adPresent = false;
var _isReplayed = false;
var _previousCIEC = ""; // previous current item embed code
var _previousEC = ""; //   previous embed code
var _firstFramePlayed = false; //   previous embed code
var _playComplete = false;
var _videoTitle = "";
var _embedCode = "";
var _videoLink = "";


function getFlashMovie(movieName) {
    if (window.document[movieName]) {
        return window.document[movieName];
    }

    if (navigator.appName.indexOf("Microsoft") == -1) {
        if (document.embeds && document.embeds[movieName])
            return document.embeds[movieName];
        else
            return document[movieName];
    }
    else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
    {
        return document.getElementById(movieName);
    }
}



function receiveOoyalaEvent(playerId, eventName, p) {
    var player = document.getElementById(playerId);
    var identifier = playerId.substring(11);
    var event_catcher = getFlashMovie("eventCatcher" + identifier);

    switch (eventName) {
        case "currentItemEmbedCodeChanged":
            event_catcher.resetEvents(playerId, player.getCurrentItemTitle());
            _priorState = "";
            _firstFramePlayed = false;
            break;

        case "embedCodeChanged":
            event_catcher.resetEvents(playerId, player.getTitle());
            _priorState = "";
            _firstFramePlayed = false;
            //            _videoTitle = arguments[2].title;
            //            _embedCode = arguments[2].embedCode;
            //            _videoLink = arguments[2].promo;
            break;

        case "playComplete":
            _playComplete = true;
            event_catcher.sendPercent_100(playerId);
            event_catcher.sendFinish(playerId);
            break;

        case "apiReady":
            if (jQuery('.hdnRecipeHeroPlayClicked').val() == "1") {
                jQuery('.hdnRecipeHeroPlayClicked').val("0");
                //player.playMovie();
            }
            jQuery('#heroVideoReady').val("1");
            break;

        case "activePanelChanged":
            break;

        case "adStarted":
            _adPresent = true;
            break;

        case "adCompleted":
            _priorState = "";
            _adPresent = false;
            break;

        case "stateChanged":
            if (_adPresent == false) {
                if (p["state"] == "playing") {
                   
                    pauseHero(jQuery(player).parents('.hero_container'));
                    TrackSpotlightVideoPlay();
                    if (jQuery('.hdnHeroPlacement').val() == "Full Column") {
                        FireHomepageWebTrends();
                    }

                    //replay and start decisions
                    if (isReplayed(player) && _playComplete) {
                        event_catcher.resetEvents(playerId, player.getTitle());
                        event_catcher.sendReplay(playerId);
                    } else if (!_firstFramePlayed) {
                        event_catcher.sendStart(playerId);
                        _firstFramePlayed = true;
                        ntptEventTag('ev=videostart&videotitle=' + escape(player.getTitle()));
                    }
                    _playComplete = false;

                    if (_priorState == "paused") {
                        event_catcher.sendPlay(playerId);
                    } else if (_priorState == "seeked") {
                        event_catcher.seek(playerId);
                    }
                    _priorState = "playing";
                } else if (p["state"] == "paused" || p["state"] == "channel") {
                    if (_priorState == "playing") {
                        if (player.getPlayheadTime() != 0) {
                            // if reaches here and the playHeatime is zero it means the play is complete
                            event_catcher.sendPause(playerId);
                        }
                    }
                    _priorState = "paused";
                }
            }
            break;

        case "seeked":
            _priorState = "seeked";
            break;

        case "playheadTimeChanged":
            if (_adPresent == false) {
                if (p.playheadTime >= player.getTotalTime() * 0.75) {
                    event_catcher.sendPercent_75(playerId);
                } else if (p.playheadTime >= player.getTotalTime() * 0.5) {
                    event_catcher.sendPercent_50(playerId);
                } else if (p.playheadTime >= player.getTotalTime() * 0.25) {
                    event_catcher.sendPercent_25(playerId);
                }
            }
            break;
    }
}

function isReplayed(player) {
    var replay = false;

    if (player.getLineup() != null) {
        if (player.getCurrentItemEmbedCode() == _previousCIEC) {
            replay = true;
        }
        _previousCIEC = player.getCurrentItemEmbedCode();
    } else {
        if (player.getEmbedCode() == _previousEC) {
            replay = true;
        }
        _previousEC = player.getEmbedCode();
    }
    return replay;
}


function TrackSpotlightVideoPlay() {
    var axel = Math.random() + "";
    var num = axel * 1000000000000000000;
    var spotpix = new Image();
    spotpix.src = "http://ad.doubleclick.net/activity;src=1869704;type=pills674;cat=pbvid477;ord=" + num;
    MarinTagging('UTM:I||eba_v526||||');
}

function FireHomepageWebTrends() {
    var vid_name = jQuery('.hdnVideoTitle').val();
    dcsMultiTrack('DCS.dcsuri', '/homepage/heroesclicked', 'DCS.dcsqry', 'shcturi=/Homepage_heros/VideoPlay/' + vid_name, 'WT.ti', 'Content Clicked from Homepage Hero Slideshow');
    ntptEventTag('ev=Slideshow_video_bt&videoname=' + vid_name);
}

