// some variables to save
	var currentPosition;
	var currentRemaining;
	var currentVolume;
	var currentItem;
	var currentState;
	var currentLoad;
	var currentXsize;
	var currentYsize;


// this function is caught by the JavascriptView object of the player.
	function sendEvent(typ,prm) { thisMovie("playlist").sendEvent(typ,prm); };


// these functions is called by the JavascriptView object of the player.
	function getUpdate(typ,pr1,pr2,pid) { 
		if(typ == "time") { currentPosition = secs2hms(pr1); pr2 == undefined ? null: currentRemaining = secs2hms(pr2); }
		else if(typ == "volume") { currentVolume = pr1; } 
		else if(typ == "item") { currentItem = pr1; setTimeout("getItemData(currentItem)",100);}
		else if(typ == "state") { currentState = pr1; }
		else if(typ == "load") { currentLoad = pr1; }
		else if(typ == "size") { currentXsize = "X=" + pr1; pr2 == undefined ? null: currentYsize = "Y=" + Math.round(pr2); } 

		var tmp = document.getElementById("pid"); if ((tmp)&&(pid != "null")) { tmp.innerHTML = "(received from the player with the id: <i><b>"+pid+"</b></i>)"; } 
		
		var tmp = document.getElementById("time"); if (tmp) { tmp.innerHTML = "Time:&nbsp;" + currentPosition + "&nbsp;/&nbsp;<b></b> " + currentRemaining; } 
		var tmp = document.getElementById("volume"); if (tmp) { tmp.innerHTML = "The Volume-" + currentVolume; } 
		var tmp = document.getElementById("item"); if (tmp) { tmp.innerHTML = "The Item-" + currentItem; } 
		var tmp = document.getElementById("state"); if (tmp) { tmp.innerHTML = "The State-" + currentState; } 
		var tmp = document.getElementById("load"); if (tmp) { tmp.innerHTML = "&nbsp;Loaded:&nbsp;" + currentLoad + "&nbsp;%" }
		var tmp = document.getElementById("size"); if (tmp) { tmp.innerHTML = "The Size-" + currentXsize + ", " + currentYsize; } 
	};

	function getItemData(idx) {
		var obj = thisMovie("playlist").itemData(idx);
		var tmp = document.getElementById("file"); if (tmp) { tmp.innerHTML = "File Name: " + obj["file"]; } 
		var tmp = document.getElementById("title"); if (tmp) { tmp.innerHTML ="" +  obj["title"]; } 
		var tmp = document.getElementById("link"); if (tmp) { tmp.innerHTML = "The Link- " + obj["link"]; } 
		var tmp = document.getElementById("type"); if (tmp) { tmp.innerHTML = "The Type- " + obj["type"]; } 
		var tmp = document.getElementById("id"); if (tmp) { tmp.innerHTML = "The Id- " + obj["id"]; } 
		var tmp = document.getElementById("image"); if (tmp) { tmp.innerHTML = "The Image-> " + obj["image"]; } 
		var tmp = document.getElementById("author"); if (tmp) { tmp.innerHTML = "" + obj["author"]; } 
		var tmp = document.getElementById("captions"); if (tmp) { tmp.innerHTML = "The Captions- " + obj["captions"]; } 
		var tmp = document.getElementById("audio"); if (tmp) { tmp.innerHTML = "The Audio- " + obj["audio"]; } 
		var tmp = document.getElementById("start"); if (tmp) { tmp.innerHTML = "The Start- " + obj["start"]; }  
		var tmp = document.getElementById("category"); if (tmp) { tmp.innerHTML = "The Category- " + obj["category"]; } 
		var tmp = document.getElementById("info"); if (tmp) { tmp.innerHTML = "" + obj["info"]; } 
		var tmp = document.getElementById("latitude"); if (tmp) { tmp.innerHTML = "The Latitude- " + obj["latitude"]; } 
		var tmp = document.getElementById("longitude"); if (tmp) { tmp.innerHTML = "The Longitude- " + obj["longitude"]; } 
		var tmp = document.getElementById("city"); if (tmp) { tmp.innerHTML = "The City- " + obj["city"]; } 
		var tmp = document.getElementById("date"); if (tmp) { tmp.innerHTML = "The Date- " + obj["date"]; }  
	};


// These functions are caught by the feeder object of the player.
	function loadFile(obj) { thisMovie("playlist").loadFile(obj); };

	function addItem(obj,idx) { thisMovie("playlist").addItem(obj,idx); }

	function removeItem(idx) { thisMovie("playlist").removeItem(idx); }


// This is a javascript handler for the player and is always needed.
	function thisMovie(movieName) {
	    if(navigator.appName.indexOf("Microsoft") != -1) {
			return window[movieName];
		} else {
			return document[movieName];
		}
	};
	
	function secs2hms(secs) {
var iHours = Math.floor(secs/3600);
var iMinutes = Math.floor((secs/60) - (iHours*60));
var iSeconds = Math.floor(secs % 60);

if (iSeconds == 60) { iMinutes++; iSeconds = 0; }
if (iMinutes == 60) { iHours++; iMinutes = 0; }

return(+iHours+':'+iMinutes+':'+iSeconds);
}
