var id = '';
var __player_current = '';
var __player_prev = '';
var __player_next = '';

/**
*	destination - id of element
* 	id - track id
*	name - name of track to present
*	file - filepath of track
* 	prev & next id of prev and next elements
*/
function urldecode( str ) {
    return decodeURI(str);
}

function playerInit(destination, id, name, file, prev, next, backgroundcolor){
	if( backgroundcolor == '' ){
		backgroundcolor = "#FFFFFF";
	}
	
	__player_current = id;
	__player_prev = prev;
	__player_next = next;

	// insert player to destinaton element
	var oPlayer = new SWFObject("/flash/audioplayer.swf", "trackPlayer", "295", "68", "8", backgroundcolor);
	oPlayer.addParam("wmode","transparent"); 
	if(file!=''){
		oPlayer.addVariable("defTrackUrl", urldecode(file));
	}
	if(name!=''){
		oPlayer.addVariable("defTrackTitle", name);
	}
	
	
	oPlayer.addVariable("defAutoPlay", 1); 
	oPlayer.write(destination);
}

function playerInitNoPlay(destination, id, name, file, prev, next, backgroundcolor){
	if( backgroundcolor == '' ){
		backgroundcolor = "#FFFFFF";
	}
	
	__player_current = id;
	__player_prev = prev;
	__player_next = next;

	// insert player to destinaton element
	var oPlayer = new SWFObject("/flash/audioplayer.swf", "trackPlayer", "295", "68", "8", backgroundcolor);
	oPlayer.addParam("wmode","transparent");
	if(file!=''){
		oPlayer.addVariable("defTrackUrl", urldecode(file));
	}
	if(name!=''){
		oPlayer.addVariable("defTrackTitle", name);
	}
	oPlayer.write(destination);
}


function playerPlaySingleItem(id, name, file, prev, next){
    __player_current = id;
    __player_prev = prev;
    __player_next = next;
    document.getElementById("trackPlayer").playTrack(urldecode(file), name);
}


function playerSetDefaultTrack(aid){
	if(aid==''){
		aid = __player_current;
	}

	url = 'xml/slideshow/setaudio?iid='+ __player_current+'&aid='+aid;

	var response = $.ajax({
		type: "GET",
		url: url.replace('&amp;','&'),
		async: false,
		dataType: 'xml'
	}).responseXML;
	
	status = $("status", response).text();
	callback = $("callback", response).text();
	
	if(status=="session_invalid"){	
		$("#infobox").html(callback).dialog();
		end_session=true;
		login_url='http://';
		login_url+=$("loginurl", response).text();
		$("#infobox").oneTime(2000, "soon", function() {location.href=encodeURI(login_url);});
	} else if(status!='OK'){
		// handle error
		playerShowMsg(callback);
	}
	else{
		if(callback){
   			playerShowMsg(callback);
		}
	}
}

function playerPlayTrack(id){

	url = 'xml/slideshow/audiolist?offset='+id;
	
	var error = '';
	var response = $.ajax({
		type: "GET",
		url: url.replace('&amp;','&'),
		async: false,
		dataType: 'xml',
		cache: false,
		error: function(req, msg){
			error = req;
		}
	}).responseXML;
	
	status = $("status", response).text();
	callback = $("callback", response).text();	
	
	if(status=="session_invalid"){	
		$("#infobox").html(callback).dialog();
		end_session=true;
		login_url='http://';
		login_url+=$("loginurl", response).text();
		$("#infobox").oneTime(2000, "soon", function() {location.href=encodeURI(login_url);});
		return;
	}
	
	//condition added by MC
	//if(status!='OK'){
	//	// handle error
	//	playerShowMsg(callback);
		//error_window("Nie powiodoło się. Spróbuj ponownie.");
	//	return;
	//}

	if(error){
		error_window("Nie powiodoło się. Spróbuj ponownie.");
		return;
	}
	
	if(!($("ItemsList item status", response).text())){
		error_window("Błędna odpowiedź serwera. Spróbuj ponownie.");
		return;
	}
	
	//changed name to "itemstatus" from "status" by MC
	var itemstatus = $("ItemsList item status", response).text();
	
	//empty audio list
	if(itemstatus!='OK'){
		// handle error
		error_window("Nie możesz wybrać podkładu muzycznego, ponieważ nie masz jeszcze żadnych utworów audio.");
		return;
	}
	
	var id = $("ItemsList item id", response).text();
	var title = $("ItemsList item title", response).text();
	var url = $("ItemsList item url", response).text();
	
	var prev = $("ItemsList paging previtem", response).text();
	var next = $("ItemsList paging nextitem", response).text();
	
	__player_current = id;
	if(prev==''){
		// disable prev button
		$("#prevbut").css('color','gray');
	}
	else{
		//eneable prev button
		$("#prevbut").css('color','blue');
		__player_prev = prev;
	}
	if(next==''){
		// disable prev button
		$("#nextbut").css('color','gray');
	}
	else{
		//eneable prev button
		$("#nextbut").css('color','blue');
		__player_next = next;
	}
	
	document.getElementById("trackPlayer").playTrack(urldecode(url), title);
	
}

function playerPlayPrevTrack(){
	playerPlayTrack(__player_prev);
}

function playerPlayNextTrack(){
	playerPlayTrack(__player_next);
}

function error_window(komunikat){
	var i = new Date();
	
	tab_error.push(i.getTime()+" - player: "+komunikat);
	$("#player_error").dialog("destroy");
	$("#player_error").html(komunikat).dialog(
	{ 	modal: true, 
    			overlay: {
        		opacity: 0, 
        		background: "black" 
    		} 
		    } 
		
	);
	$("#player_error").oneTime(2000, "soon", function() {$(this).dialog("destroy");$("#player_error").empty();$("#player_error").attr("title","");});
}


function playerShowMsg(msg){
	error_window(msg);
}

