﻿/*-------------------------------------------------------------------
 General stuff
-------------------------------------------------------------------*/
function gid(name) {
	return document.getElementById(name);
}
/*-------------------------------------------------------------------
Player 4 javascript API
-------------------------------------------------------------------*/
function CreatePlayer() {

    var flashvars = {};
        flashvars.autostart = "true";
        flashvars.repeat = "list";
        flashvars.javascriptid = "playerID";
    var params = {};
        params.wmode = "opaque";
        params.allowfullscreen = "true";
        params.allowscriptaccess = "always";
    var attributes = {};
        attributes.id = "playerID";
        attributes.name = "playerID";

        swfobject.embedSWF(g_FlashPlayer, "playerholder", "320", "260", "10.0.0", "flash/swfobject/expressInstall.swf", flashvars, params, attributes);

    try
    {
        window["playerID"]=document.forms["form1"]["playerID"];
    }
    catch (err)
    {
    }
};
function loadFile(obj) {
    //printTrace('Loadfile: ' + obj);
	player.sendEvent('LOAD', obj);
//    if (GetConfigValue("item") != 0) { 
//        thisMovie('playerID').sendEvent('ITEM',0);  
//        thisMovie('playerID').sendEvent("LOAD",obj);
//    }	
};
function GoToPostRolls() {
	var i = GetConfigValue("item");
	player.sendEvent('ITEM', i + 1);
    //thisMovie('playerID').sendEvent('ITEM',0);  
    //    thisMovie('playerID').sendEvent("LOAD",obj);
};
function addListeners() {
	if (player) {
		player.addModelListener("STATE", "stateListener");
		player.addViewListener("STOP", "stopListener");
		player.addModelListener("META", "metaListener");
		player.addViewListener("PLAY", "playListener");
	} else {
		setTimeout("addListeners()",100);
	}	
};
function thisMovie(movieName) {
	if(navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName];
	} else {
		return document[movieName];
	}
};
function stateListener(obj) {
	////printTrace("stateListener:"+obj.newstate+"|"+obj.oldstate);	
	PlayStateChanged(obj.newstate, obj.oldstate);			   
};
function stopListener() {
	////printTrace("stopListener");
	PlayStateChanged("STOPPED", "PLAYING");	
};
function playListener(playing) {
	////printTrace("playListener");
	g_ignorepause = false;
};
function metaListener(obj) {
	if (obj.StreamTitle) {
		HandleStreamTitle(obj.StreamTitle);
	}
	if (obj.videodatarate) {
		////printTrace("DEACTIVATING");	
		DeactivateOverlays();
	}
};

var tracing = true;
//function printTrace(str) {
//    //if model state change then send to PlayStateChange function
//   	
//	if (g_debug == true) {
//   	
//   	    if (str.indexOf("MODEL: TIME") >= 0)
//        {
//   	    }
//   	    else {
//			var tim = "";
//			var now = new Date(Digital);					
//			var hours=now.getHours()
//			var minutes=now.getMinutes()
//			var seconds=now.getSeconds()
//			var dn="AM" 
//			if (hours>12){
//			dn="PM"
//			hours=hours-12
//			}
//			if (hours==0)
//			hours=12
//			if (minutes<=9)
//			minutes="0"+minutes
//			if (seconds<=9)
//			seconds="0"+seconds
//			tim = hours+":"+minutes+":"+seconds+" "+dn;
//					
//            var itm = gid('tracecode');
//            var txt = itm.innerHTML + tim + " - " + str + '<br/>';
//            itm.innerHTML = txt;
//            itm.scrollTop = itm.scrollHeight;
//        }
//	}
//};


function clearTrace() {
	gid('tracecode').innerHTML = '';
}

function toggleTrace() {
	if (tracing == true) { 
		tracing = false;
	} else { 
		tracing = true;
		var itm = gid('tracecode');
		itm.innerHTML = '';
	}
};
var configobj;
var playlistobj;
function printConfig() {
	tracing = false; 
	var cfg = thisMovie('playerID').getConfig();
	configobj = cfg;
	printData(cfg);
}
function printPlaylist() {
	tracing = false;
	var ply = thisMovie('playerID').getPlaylist();
	playlistobj = ply;
	var txt = "";
	for(var i=0; i<ply.length; i++) {
		txt += i+":\r\n";
		for(var itm in ply[i]) {
			txt += "-> "+itm+": "+ply[i][itm]+"<br/>";
		}
	}
	var itm = gid('tracecode');
	itm.innerHTML = txt;
}
function GetPlaylistObject() {
    return thisMovie('playerID').getPlaylist();
}
function GetPlaylistValue(PlaylistObject, PlyI, ValueName) {
    return PlaylistObject[PlyI][ValueName];
}
function GetConfigValue(itm) {
    var cfg = player.getConfig();
    return cfg[itm];
}
function printData(cfg) { 
	var txt = "";
	for(var itm in cfg) {
		txt += itm+": "+cfg[itm]+"<br/>";
	}
	var itm = gid('tracecode');
	itm.innerHTML = txt;
}
function playerReady(obj) {
	player = document.getElementById(obj.id);
	//printTrace("PLAYER READY (id:"+obj['id']+",version:"+obj['version']+",client:"+obj['client']+')');
	addListeners();
	PlayerIsReady();
	pFirstReady = false;
};
function submitSend() {
	var typ = gid('eventtype').value;
	var prm = gid('eventdata').value;
	thisMovie('playerID').sendEvent(typ,prm);
	return false;
};
function submitSubs() {
	var sbs = gid('subscription').value;
	var evt = sbs.substr(1);
	var typ = sbs.substr(0,1);
	if(typ == 'm') {
		thisMovie('playerID').addModelListener(evt,'tracer.trace');
	} else if (typ== 'c') {
		thisMovie('playerID').addControllerListener(evt,'tracer.trace');
	} else if (typ == 'v') {
		thisMovie('playerID').addViewListener(evt,'tracer.trace');
	}
	return false;
};
var tracer = new Object();
tracer.trace = function(cfg) {
	var txt = "";
	for(var itm in cfg) {
		txt += itm+": "+cfg[itm]+"\r\n";
	}
	alert(txt);
}