$(function(){ // onReady
		   
   $.preloadImages("images/bkg0.jpg", "images/bkg1.jpg", "images/bkg2.jpg", "images/bkg3.jpg", "images/bkg4.jpg");

	$('#player').data('obj',{ // setting aux variables
		element: null,
		start: true,
		diff: null,
		perc: null,
		so: null,
		player: null,
		duration: null,
		position: null,
		positionPerc: null,
		currentSong: null,
		nextSong: null,
		prevSong: null,
		newstate: false,
		oldstate: null,
		mute: null,
		playing: null,
		songAnimation: null,
		songNameScrollDirection: null,
		radioPopout: null,
		currentVolume: 75,
		currentLoaded: 0
	});
	
	$.getScript("js/jquery-ui-1.7.2/js/jquery-ui-1.7.2.custom.min.js",
	function () {
	$.getScript("js/mediaplayer/swfobject.js",
	function() {
		
		$('#player').data('obj').so = new SWFObject('js/mediaplayer/player.swf','mpl','1','1','9');
		$('#player').data('obj').so.addParam('allowfullscreen','true');
		$('#player').data('obj').so.addParam('allowscriptaccess','always');
		$('#player').data('obj').so.addParam('wmode','transparent');
		$('#player').data('obj').so.addVariable('id','mpl');
		$('#player').data('obj').so.addVariable('dock','false');
		$('#player').data('obj').so.addVariable('icon','false');
		$('#player').data('obj').so.addVariable('controlbar','over');
		$('#player').data('obj').so.addVariable('screencolor','FFB145');
		$('#player').data('obj').so.addVariable('backcolor','FFB145');
		$('#player').data('obj').so.addVariable('frontcolor','FFB145');
		$('#player').data('obj').so.write('player');

		$('#play').click(function(){
			if ($('#player').data('obj').player.getConfig().state == 'PLAYING')
				$('#player').data('obj').player.sendEvent('PLAY', false);
			else
				$('#player').data('obj').player.sendEvent('SEEK', $('#player').data('obj').position);
		});
		
		$('#back').click(function(){
			playSong($('#player').data('obj').prevSong);
		});
		
		$('#next').click(function(){
			playSong($('#player').data('obj').nextSong);
		});
		
		$('#popout').click(function(){
			radioPopout = window.open('/secoes/radiortb/?mini=true', 'radiortbPlayer', 'menubar=no,toolbar=no,location=no,scrollbar=no,status=no,width=480,height=327');
			$('#player').data('obj').player.sendEvent('STOP');
		});

		$('#volumeBar').slider({
			animate: true,
			range: 'min',
			min: 0,
			slide: function (event, ui) {
				$('#player').data('obj').player.sendEvent('VOLUME', ui.value);
			}
		});

		$('#progressBar').slider({
			animate: true,
			range: 'min',
			min: 0,
			value: 0,
			slide: function (event, ui) {
				$('#progress #elapsed', '').html(formatTime(($('#player').data('obj').duration / 100) * ui.value));
				if (ui.value <= $('#player').data('obj').currentLoaded) {
					if ($('#player').data('obj').player.getConfig().state != 'PLAYING')
						$('#player').data('obj').position = ($('#player').data('obj').duration / 100) * ui.value;
					else
						$('#player').data('obj').player.sendEvent('SEEK', ($('#player').data('obj').duration / 100) * ui.value);
				}
			}
		});
		
		$('#channelsScroll', '').slider({
			orientation: 'vertical',
			animate: true,
			value: 100,
			slide: function (event, ui) {
				if ($('#player').data('obj').element != '#channels') {
					$('#player').data('obj').element = '#channels';
					setScrollElement($('#player').data('obj').element);
				}
				scrollElement(ui.value);
			}
		});
		
		$('#playlistScroll', '').slider({
			orientation: 'vertical',
			animate: true,
			value: 100,
			slide: function (event, ui) {
				if ($('#player').data('obj').element != '#playlistHolder') {
					$('#player').data('obj').element = '#playlistHolder';
					setScrollElement($('#player').data('obj').element);
				}
				scrollElement(ui.value);
			}
		});
		
		$('#lyricScroll', '').slider({
			orientation: 'vertical',
			animate: true,
			value: 100,
			slide: function (event, ui) {
				if ($('#player').data('obj').element != '#lyricHolder') {
					$('#player').data('obj').element = '#lyricHolder';
					setScrollElement($('#player').data('obj').element);
				}
				scrollElement(ui.value);
			}
		});
		
		$('#channels, #playlistHolder, #lyricHolder').scrollTop(0);
		
		setHover('#channels');

	}); // getScript
	}); // getScript
}); // onReady
	

// Init player
function playerReady(thePlayer) {
	
	// set variable
	$('#player').data('obj').player = document.getElementById(thePlayer['id']);

	// set Listeners
	$('#player').data('obj').player.addControllerListener('VOLUME', 'volumeListener');
	$('#player').data('obj').player.addModelListener('TIME', 'timeListener');
	$('#player').data('obj').player.addModelListener('STATE', 'stateListener');
	$('#player').data('obj').player.addModelListener('LOADED', 'loadedListener');

	// set volume by cookie
	$('#player').data('obj').player.sendEvent('VOLUME', $('#player').data('obj').player.getConfig().volume);

	// set variables
	$('#player').data('obj').newstate = $('#player').data('obj').player.getConfig().state;

	// disable slider while not playing
	$('#progress #elapsed', '').html(formatTime(0));
	$('#progress #total', '').html(formatTime($('#player').data('obj').duration = $('#player').data('obj').player.getConfig().duration));
	$('#player').data('obj').positionPerc = $('#player').data('obj').duration / 100;
	getPlaylist();
};
	
function volumeListener(obj) {
	$('#player').data('obj').currentVolume = obj.percentage;
	$('#volume #volumeBar', '').slider('option', 'value', $('#player').data('obj').currentVolume);
	$('#volume #total', '').html(obj.percentage); 
}; 

function timeListener(obj) {
	$('#player').data('obj').position = obj.position;
	$('#player').data('obj').duration = obj.duration;
	$('#player').data('obj').positionPerc = (obj.position/obj.duration)*100;
	$('#progress #elapsed', '').html(formatTime($('#player').data('obj').position));
	$('#total', '#progress').html(formatTime($('#player').data('obj').duration));
	$('#progressBar', '#progress').slider('option', 'value', $('#player').data('obj').positionPerc);
};

function loadedListener(obj) {
	$('#player').data('obj').loaded = obj.loaded;
	$('#player').data('obj').total = obj.total;
	$('#player').data('obj').currentLoaded = Math.floor((obj.loaded/obj.total)*100);
	if ($('#player').data('obj').currentLoaded)
		$('.ui-slider', '#progress').css("background-position", (100-$('#player').data('obj').currentLoaded)+"% center");
}

function stateListener(obj) {
	$('#player').data('obj').newstate = obj.newstate;
	$('#player').data('obj').oldstate = obj.oldstate;
	if ($('#player').data('obj').newstate == 'IDLE') {
		$('#progress #progressBar', '').slider('disable');
	} else {
		$('#progress #progressBar', '').slider('enable');
	} 
	if ($('#player').data('obj').newstate == 'PLAYING' || $('#player').data('obj').newstate == 'BUFFERING') {
		$('#ico', '#play').removeClass().addClass('pause');

	} else {
		$('#ico', '#play').removeClass().addClass('play');
	}
	if ($('#player').data('obj').newstate == 'COMPLETED') {
		playSong($('#player').data('obj').nextSong);
	}
};

function resetTime(){
	// reset time

}

function setHover(element) {
	if ($(element).attr('scrollHeight') > $(element).outerHeight()) {
		$(element+'Scroll').show();
	}
	else {
		$(element+'Scroll').hide();
	}			
}

function setScrollElement(element) {
	$('#player').data('obj').diff = $(element).attr('scrollHeight')-$(element).outerHeight();
	$('#player').data('obj').perc = $('#player').data('obj').diff/100;
}

function scrollElement(value) {
	$($('#player').data('obj').element).stop();
	$($('#player').data('obj').element).animate({
		scrollTop: $('#player').data('obj').diff-Math.floor($('#player').data('obj').perc*value)
	}, 1000);
}

function formatTime(time){
	var	hour = Math.floor(time/3660),
		minute = (Math.floor((time/60)%60) < 10 && hour > 0) ? "0"+Math.floor((time/60)%60):Math.floor((time/60)%60),
		second = (Math.floor(time%60) < 10) ? "0"+Math.floor(time%60):Math.floor(time%60);
	return ((hour > 0) ? hour+':':'')+minute+':'+second;
}

function scrollSongName(){
		var toScroll = -($('#songName').outerWidth() - ($('#scrollMask').outerWidth()));
		if ($('#player').data('obj').songNameScrollDirection) {
			toScroll = 5;
			$('#player').data('obj').songNameScrollDirection = false;
		}
		else 
			$('#player').data('obj').songNameScrollDirection = true;
		$('#songName').animate({
			left: toScroll
		}, 5000, '', scrollSongName);
}

/* Playlist functions */
function getPlaylist(radio, id) {
	if (!id) id = 0;
	$('#playlistHolder').html('<p style="margin: 0; padding: 10px; font: bold 12px Trebuchet MS; color: #fff;">Carregando a lista de m&uacute;sicas...</p>');
	$('#radioHolder').removeClass().addClass('bkg'+id);
	$('.item').removeClass('selected');
	$('.item', '#radio'+id).addClass('selected');
	$.ajax({
		type: "POST",
		url: "ajax/getPlaylist.php",
		data: "radio="+radio,
		dataType: "html",
		success: function(obj){
			$('#playlistHolder').html(obj);
			setScrollElement('#playlistHolder');
			$('#playlistHolder').scrollTop(0);
			if (!$('#player').data('obj').start) {
				$('#playlistScroll').slider('option', 'value', 100);
			} else {
				playSong($('#player').data('obj').currentSong);
			}
			if ($('').attr('scrollHeight') > $('').outerHeight())
				$('#radioScroll').show();
			else
				$('#radioScroll').hide();
			$('#player').data('obj').start = false;
		}
	});
}

function playSong(id) {
	if (id) {
		$('#player').data('obj').player.sendEvent('STOP');
		$('#songName').html('Carregando m&uacute;sica...');
		$.ajax({
			type: "POST",
			url: "ajax/getSong.php",
			data: "media_id="+id,
			dataType: "json",
			success: function(obj){
				$('#songName, #lyric .title').html(obj.title);
				$('.item', '#playlistHolder').removeClass('selected');
				$('#item'+id, '#playlistHolder').addClass('selected');
				$('#player').data('obj').currentSong = id;
				$('#player').data('obj').nextSong = $('#next_'+$('#player').data('obj').currentSong).val();
				$('#player').data('obj').prevSong = $('#prev_'+$('#player').data('obj').currentSong).val();
				$('#player').data('obj').player.sendEvent('LOAD', 'http://www.tvratimbum.com.br/midia/'+obj.file);
				$('#player').data('obj').player.sendEvent('PLAY', true);
				$('#songName').stop().css('left', 0);
	//			$('#debug').append(">>> scrollWidth: "+$('#songName').outerWidth()+", outerWidth: "+$('#scrollMask').outerWidth()+"<br>");
				if ($('#songName').outerWidth() > $('#scrollMask').outerWidth())
					$('#player').data('obj').songAnimation = scrollSongName();
			}
		});
		$.ajax({
			type: "POST",
			url: "ajax/getLyrics.php",
			data: "media_id="+id,
			dataType: "html",
			success: function(obj){
				$('#lyricHolder').html(obj);
				setScrollElement('#lyricHolder');
				setHover('#lyric');
				$('#lyricHolder').scrollTop(0);
				$('#lyricScroll').slider('option', 'value', 100);
				if ($('#lyricHolder').attr('scrollHeight') > $('#lyricHolder').outerHeight())
					$('#lyricScroll').show();
				else
					$('#lyricScroll').hide();
			}
		});
	}
}

jQuery.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)
  {
    jQuery("<img>").attr("src", arguments[i]);
  }
}