﻿swfobject.registerObject("myFlashContent", "9.0.0");

var stat;
function playerstats() {
    this.elapsed = 0;
    this.elapsed_previous = 0;
    this.remaining = 0;
    this.duration = 0;
    this.position = 0;
    this.title = "";
    this.mediaID = -1;
    this.uid = "";
    this.completed = false;
    this.started = false;
    this.advertID = -1;
}

var player;
function playerReadyCallback(obj) {
    try {
        player = document.getElementById(obj['id']);
        player.addModelListener("STATE", "stateTracker");
        player.addModelListener("TIME", "timeTracker");
        stat = new playerstats();
        stat.title = vidTitle;
        stat.mediaID = vidTitle;
        stat.uid = vidUserId;
    } catch (Error) {

    }
}

function stateTracker(obj) {
    try {
        if (obj.newstate == 'PLAYING') {
            stat.started = true;
        } else if (obj.newstate == "COMPLETED" && stat.started) {
            stat.completed = true;
        }
    } catch (Error) {

    }
}

function timeTracker(obj) {
    try {
        if (stat.started && obj.position > 0) {
            stat.elapsed_previous = stat.position;
            stat.position = Math.floor(obj.position);
            stat.elapsed = stat.position;
            stat.remaining = obj.duration - obj.position;
        }
        stat.duration = obj.duration;
    } catch (Error) {

    }
}

function logStats() {
    try {
    	debugText("Entered logStats()");
	    if (stat != 'undefined' && stat.mediaID != -1 && stat.started) {
	        try {
	            var jsonStats = '{"elapsed":' + stat.elapsed + ',"elapsed_previous":' + stat.elapsed_previous + ',"remaining":' + stat.remaining + ',"duration":' + stat.duration + ',"position":' + stat.position + ',"title":"' + stat.title + '","mediaID":"' + stat.mediaID + '","uid":"' + stat.uid + '","completed":' + stat.completed + ',"started":' + stat.started + ',"advertID":"' + stat.advertID + '"}';
	            debugText(jsonStats);
	            Stats.SaveStats(jsonStats);
	            debugText("Finished Saving");
	        } catch (Error) {
	        }
	    } else {
	        debugText("Not Saved: " + stat.mediaID + ", " + stat.started);
	    }
    } catch (Error) {

    }
}

function debugText(text) {
    //alert(text);
}

$(window).unload(function() { logStats(); });
