﻿jQuery(window).bind("load", function() { omniVideoOnLoad(); });

function omniVideoOnLoad () {
	s.Media.autoTrack = false;
	s.Media.playerName = "PopOverPlayer";
	s.eVar7 = s.pageName;  // sourcepage
	s.Media.trackVars = "events,pageName,eVar6,eVar7";
	s.Media.trackEvents = "event6";
}

var ViewedStartAutoVideos = new Array();
var ViewedEndAutoVideos = new Array();
function mediaEventHandler(mediaName, eventName, eventArgs, isSilverlight) {
    var playerType = isSilverlight ? "slv" : "wmp";
    var mediaMode = "regular"; 
    var playlist = slidingModalContainer.data.currentVideoName.indexOf("7");
    var trackView = true;
    if (typeof (slidingModalContainer) != undefined) {
        mediaMode = slidingModalContainer.data.playMode;
        if (mediaMode == "autoplay") {
            // CHECK FOR PREVIOUS VIEW
            switch (eventName) {
                case "Started":
                    for (var i = 0; i < ViewedStartAutoVideos.length; i++) {
                        if (ViewedStartAutoVideos[i] == mediaName) {
                            trackView = false;
                            break;
                        }
                    }
                    if (trackView) {
                        ViewedStartAutoVideos[i] = mediaName;
                    }
                    break;
                case "Paused":
                    // ONLY TRACK PAUSES ON FIRST RUN AUTO VIDEOS
                    for (var i = 0; i < ViewedStartAutoVideos.length; i++) {
                        if (ViewedStartAutoVideos[i] == mediaName) {
                            trackView = false;
                            break;
                        }
                    }
                    break;
                case "Ended":

                    for (var i = 0; i < ViewedEndAutoVideos.length; i++) {
                        if (ViewedEndAutoVideos[i] == mediaName) {
                            trackView = false;
                            break;
                        }
                    }
                    if (trackView) {
                        ViewedEndAutoVideos[i] = mediaName;
                    }
                    break;
            }
        }
    }
    if (trackView) {
        switch (eventName) {
            case "Started":
                CallOmnitureForVideoStart(mediaName, mediaMode, eventArgs, playerType);
                if (playlist >0) {
                    globaltracking.trackatlasonclick('http://view.atdmt.com/jaction/mrtwxp_FY10Win7StaVid7SecDemoCon_1');
                }
                else {
                    globaltracking.trackatlasonclick('http://view.atdmt.com/jaction/mrtwxp_FY10Win7StaVidFeatureVideoCon_1');
                }
                break;
            case "Paused":
                CallOmnitureForVideoStart(mediaName, eventArgs);
                break;
            case "Ended":
                CallOmnitureForVideoEnd(mediaName, mediaMode, playerType);
                if (playlist > 0) {
                    globaltracking.trackatlasonclick('http://view.atdmt.com/jaction/mrtwxp_FY10Win7EndVid7SecDemoFnl_1');
                }
                else {
                    globaltracking.trackatlasonclick('http://view.atdmt.com/jaction/mrtwxp_FY10Win7EndVidFeatureVideoFnl_1');
                }
                break;
            default:
                break;
        }
    }
    switch (eventName) {
        case "Ended":
            slidingModalContainer.videoEndReached();
    }

}

function CallOmnitureForVideoStart(mediaName, videoMode, mediaLength, playerType) {

    var oldpagename = s.pageName;
    var url = window.location.toString();
    url = url.toLowerCase();
    // remember the previous pagename   
    // NEW PER DOCUMENT
    s.eVar6 = mediaName;
    s.eVar7 = s.pageName;
    s.eVar8 = playerType;  
    s.eVar9= videoMode;
    _oldOmniPage = s.pageName;
    s.pageName+=":  start video: " + mediaName;
     
    s.events = "event5";
    try { s.t(); } catch (err) { }     //make tracking call
    s.pageName = oldpagename;          // restore pagename after tracking call
    s.events = s.eVar6 = s.eVar7 = s.eVar8 = s.eVar9 = "";

    s.Media.open(mediaName, mediaLength, "PopOverPlayer");
    s.Media.play(mediaName, mediaLength);
}
function CallOmnitureVideoPause(mediaName, mediaOffset) {

    s.Media.stop(mediaName, mediaOffset);
}
function CallOmnitureForVideoEnd(mediaName,videoMode, mediaLength, playerType)
{
    var oldpagename = s.pageName;
    var url = window.location.toString();
    url = url.toLowerCase();

    s.Media.close(mediaName);

    s.eVar6 = mediaName;
    s.eVar7 = s.pageName;
    s.eVar8 = playerType;  // where video type corresponds to “slv” or “wmp”
    s.eVar9= videoMode;
    _oldOmniPage = s.pageName;
    s.pageName += ":  complete video: " + mediaName;
    s.events="event6";

    try { s.t(); } catch (err) { }     //make tracking call
    s.pageName = oldpagename;          // restore pagename after tracking call
    s.events= s.eVar6=s.eVar7=s.eVar8=s.eVar9="";
}

function silverlightEvent(mediaName, eventName, eventArg) {
	if (eventName == 'SocialMediaLinkClicked') shareClickHandler(eventArg);
	else mediaEventHandler(mediaName, eventName, eventArg, true);
}

function wmpEvent(newState) {
	var videoPos = Math.round(player.Wmp.getCurrentPosition());
	var videoLength = Math.round(player.Wmp.getDuration());
	var currentMediaName = player.Data.getCurrentMediaName();
	switch (newState) {
		case 1:
			var fireEvent = player.Wmp._isVideoStarted;
			player.Wmp._isVideoStarted = false;
			if (fireEvent) {
				// stopped code here
			}
			break;
		case 2:
			// paused code here
			mediaEventHandler(currentMediaName, 'Paused', videoLength, false);
			break;
		case 3:
			// playing code here
			if (!player.Wmp._isVideoStarted) {
				player.Wmp._isVideoStarted = true;
				// started code here
				mediaEventHandler(currentMediaName, 'Started', videoLength, false);
			}
			break;
		case 8:
			this._isVideoStarted = false;
			// ended code here
			mediaEventHandler(currentMediaName, 'Ended', videoLength, false);
			break;
	}
}