function isdefined(object, variable)
{
    return (typeof(eval(object)[variable]) != 'undefined');
}

// some variables to save
var currentPosition;
var currentVolume;
var currentItem;  

// these functions are caught by the JavascriptView object of the player.
function sendEvent(typ,prm)
{
	thisMovie("mp3player").sendEvent(typ,prm);
};
function getUpdate(typ,pr1,pr2,pid)
{   
	if(typ == "time") {
		currentPosition = pr1;
	} else if(typ == "volume") {
		currentVolume = pr1;
	} else if(typ == "item") {
		currentItem = pr1;
		setTimeout("getItemData(currentItem)",100);
	} else if(typ == "bandinfo") {
		currentItem = pr1;
		setTimeout("getItemData(currentItem)",100);
	}
	var id = parent.maincontent.document.getElementById(typ);
	id.innerHTML = Math.round(pr1);
}

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

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

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

function getItemData(idx)
{
	var obj = thisMovie("mp3player").itemData(idx);
	var nodes = "";
    if (isdefined(obj, 'author')) {
	    nodes=obj['author'];
	}
	if (isdefined(obj, 'title')) {
	    nodes=nodes+" - "+obj['title'];
	}
	if (isdefined(obj, 'link')) {
	    nodes="<a href=\""+obj['link']+"\" target=\"_blank\">"+nodes+"<\/a>";
	}
	if (parent.maincontent.document.getElementById("bandinfo")) {
        parent.maincontent.document.getElementById("bandinfo").innerHTML = nodes;
    }
}

// This is a javascript handler for the player and is always needed.
function thisMovie(movieName) {
    if(navigator.appName.indexOf("Microsoft") != -1) {
		return parent.player.window[movieName];
	} else {
		return parent.player.document[movieName];
	}
}
	
