function handleFlashLoad(){
	var flashMovie = $("#musicplayer")[0];
	try{
		flashMovie.load2('/media/xml/trh_default_playlist.xml');
	} catch(error){
		alert('load2 external interface does not exist.');
	}
	//the flash player should call handleXMLLoad after the xml file is completely loaded then we will start our play logic etc.
}

function handleXMLLoad(){
	var flashMovie = $("#musicplayer")[0];
	params={
		pollInterval:1000,
		outputChannel:'channel_two',
		inputChannel:'channel_one',
		onUpdate:function(obj){
			if (obj != null){
				var flashMovie = $('#musicplayer')[0];
				switch (obj.command){
					case 'play':
						try {
							flashMovie.play2();
						} catch (error){
							alert('MAIN PAGE:play2 external interface is erroring out');
						}
					break;
					case 'pause':
						try {
							flashMovie.pause2();
						} catch (error){
							alert('MAIN PAGE:pause2 external interface is erroring out');
						}
					break;
					case 'trackUpdate':
						try {
							/*if(typeof(console)!='undefined'){
								console.debug('trackUpdate is being called');
							}*/
							flashMovie.play2(obj.trackURL.toString());
						} catch (error){
							alert('MAIN PAGE:play2 with url external interface is erroring out');
						}
					break;
					case 'recordPopupStatus':
						//alert('record popup status');
						setPopupStatus(obj.popupStatus);
						if (obj.popupStatus=='dead'){
							var flashMovie = $("#musicplayer")[0];
							flashMovie.setToggleState('play');
						}
					break;
					default:
						return false;
					break;
				}				
			}
		}
	};
	$.remoteObject.start(params);
	command_obj={
		command:"getCurrentTrack"
	};
	$.remoteObject.send(command_obj);
	popupStatus=getPopupStatus();
	
	if (popupStatus=='undefined' || popupStatus==null){
		loadpopunder();
	} else if(popupStatus=='dead'){
		var flashMovie = $("#musicplayer")[0];
		flashMovie.setToggleState('play');
	}
}

function handleTrackUpdate (trackURL){
	//alert('track update');
	preparePopup();
	command_obj={
		command:"trackUpdate",
		trackURL:trackURL
	};
	$.remoteObject.send(command_obj);
}

function handlePlay (trackURL){
	if(!preparePopup()){
		command_obj={
			command:"trackUpdate",
			trackURL:trackURL
		};
	}else {
		command_obj={
			command:"play"
		};
	}
	$.remoteObject.send(command_obj);
}

function handlePause (trackURL){
	if(!preparePopup()){
		command_obj={
			command:"trackUpdate",
			trackURL:trackURL
		};
	}else {
		command_obj={
			command:"pause"
		};
	}
	$.remoteObject.send(command_obj);
}

function setPopupStatus(popupStatus){
	$.cookie('popupStatus',popupStatus, {path:'/'});
}

function getPopupStatus(){
	popupStatus=$.cookie('popupStatus');
	return popupStatus;
}

function preparePopup(){
	popupStatus=getPopupStatus();
	if (popupStatus=='dead' || popupStatus=='undefined' || popupStatus==null){
		loadpopunder();
		return false; // not already loaded
	}
	return true;//already open
}

function loadpopunder(){
	win2=window.open('/music_player_under.php',"TRHMusicPlayer",'resizeable=1,width=490,height=187,location=0,scrollbars=0,toolbar=0');
}