
	// some variables to save
	var currentPosition;
	var currentVolume;
	var currentItem;
	var lastItem;
	var currentState = 2;

	// these functions are caught by the JavascriptView object of the player.
	
	function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

	function sendEvent(typ,prm) { thisMovie("player").sendEvent(typ,prm); };
	function getUpdate(typ,pr1,pr2,pid) {
		if(typ == "time") { currentPosition = pr1; }
		else if(typ == "volume") { currentVolume = pr1; }
		else if(typ == "state") {currentState = pr1; 
		
			if (currentState == 2) {
		document.getElementById("playButt-"+currentItem).className = "tinyplayOn";
		document.getElementById("play-"+currentItem).className = "article playing";
		lastItem = currentItem;
			}else{
		document.getElementById("playButt-"+lastItem).className = "tinyplayOff";
		document.getElementById("playButt-"+currentItem).className = "tinyplayOff";
		document.getElementById("play-"+lastItem).className = "article";
		document.getElementById("play-"+currentItem).className = "article";
	}
	}
		else if(typ == "item") { currentItem = pr1; setTimeout("getItemData(currentItem)",100);
		}
		var id = document.getElementById(typ);
		id.innerHTML = typ+ ": "+Math.round(pr1);
		pr2 == undefined ? null: id.innerHTML += ", "+Math.round(pr2);
		if(pid != "null") {
			document.getElementById("pid").innerHTML = "(received from the player with id <i>"+pid+"</i>)";
		}
		

		
	};
	


	
	
	function itemUpdate(epi){
		

		if (currentItem == epi){
				
				sendEvent('playpause');
				
			}else{

		sendEvent('playpause',epi);
		}}

	// These functions are caught by the feeder object of the player.
	function loadFile(obj) { thisMovie("player").loadFile(obj); };
	function addItem(obj,idx) { thisMovie("player").addItem(obj,idx); }
	function removeItem(idx) { thisMovie("player").removeItem(idx); }
	function getItemData(idx) {
		var obj = thisMovie("player").itemData(idx);
		var nodes = "";
		for(var i in obj) { 
			nodes += "<li>"+i+": "+obj[i]+"</li>"; 
		}
		document.getElementById("data").innerHTML = nodes;
	};

	// 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];
			
		}
		

	};