// ============================================================
// ============================================================
// ============================================================
// 01 - Now playing details of each track
// ============================================================
// ============================================================
// ============================================================
// FUNCTIONS  ======================
//Stops all refreshing loops
function RefreshNowPlayingReset(){
    $(document).stopTime("NowPlaying1");
    $(document).stopTime("NowPlaying2");
    $(document).stopTime("NowPlaying3");
    $(document).stopTime("NowPlaying4");
    $(document).stopTime("NowPlaying5");
    $(document).stopTime("NowPlaying6");    		
}
//Start the refreshing loopS of the playlist VIEW tracks "now playing"
function RefreshPlaylistNowPlayingAll(){
    RefreshNowPlayingReset();
    RefreshPlaylistNowPlaying(1,7000,"NowPlaying1");
    RefreshPlaylistNowPlaying(2,7200,"NowPlaying2");
    RefreshPlaylistNowPlaying(3,7300,"NowPlaying3");
    RefreshPlaylistNowPlaying(4,7400,"NowPlaying4");
    RefreshPlaylistNowPlaying(5,7005,"NowPlaying5");
    RefreshPlaylistNowPlaying(6,7600,"NowPlaying6");
}
// Load a stream into player from the playlist	
function StreamInfos(ID , EL , VIEW){
    var ID; 	// Which channel?
    var VIEW; 	// Can be "current" for current playing | leave blank for default use
    var URL = "ifm/track.detail.php"; // 
    var EL = "#"+EL; // <div> where to load the player
    $(EL)
    .load(
	    URL,
	    {ID:ID,VIEW:VIEW},
	    function(){
	    }
    );
}
// Load the track detail panel
function FullDetailTrack(ID){
    //
    var TARGET=$("#full-detail-page");
    //
    var ID;
    var url = ID; // track id 
    var html = '';
    var data ='';
    // get the data from track before searching
    var urlData="http://x.intergalactic.fm//blackhole/track.php?";
    $.getJSON(urlData + url,
	    {
	format: "json"
	    },
	    function(data) {
	    });
	
}
// Reset and Start the Interval to refresh the "now playing" in playlist view
function RefreshPlaylistNowPlaying(IdChannel, interval, intervalName){
    var IdChannel;
    var interval;
    var intervalName;
    // Stop  "now playing" 
    $(document).stopTime("currentPlayingTimer");
    // Stop the "now playing" for the current playing
    $(document).stopTime("NowPlaying"+IdChannel);
    // Start a refresh on the selected stream
    $(document).everyTime(interval, intervalName, function(i) {
	StreamInfos(IdChannel,'track-info-'+IdChannel);
//		debug("refresh=>"+intervalName);
    }, 0);
}
// ============================================================
// ============================================================
// ============================================================
// ============================================================
// ============================================================
// ============================================================
// 02 - Playing channels JS code
// ============================================================
// ============================================================
// ============================================================
// Mp3Playerplugin / 2011 november
// Based on mp3 Player plugin | docs & licence => http://flash-mp3-player.net/players/js/
// Add-ons by www.delicyus.com for intergalactic.fm radio | 2011 | please re-use | no-commercial use
// ============================================================

// READY
$(function() {
    //============================================================
    // BTN STOP html markup
    var btnStopHtml 		= '<a href="#" class="BtnCurrentStop BTN"><span>STOP</span></a>';
    //============================================================
    // this is the DOM of element you want to be the trigger of channel playing
    // Require a rel attribute containing the channel number
//    original => var btnChannelTrigger 	=  $("#player-buttons a.channel-trigger"); // <= change this to change channel trigger elements
    // Play Channel btns parents  
    var btnsChannelParent 	=  $(".playerBtns li"); // <= change this to change name of ul 
    var btnChannelTrigger 	=  $(" a.channel-trigger"); // <= change this to change channel trigger elements
    //============================================================
    // InitVolume  
    // Volume defaut set up 
    function InitVolume(nChannel) {
	//
	// HTML markup of volume bar
	var VolBar=$("#player-controls");
	// Clone HTML markup of volume bar
	var VolBarClone= VolBar.clone();
        // volume defaut setting
        var VolBarDefaut="30";
        // # channel
        var nChannel;
        // Parent of trigger btn 
        var btnChannelParent=$("#btn-play-"+nChannel).parent();
        // Removes existing volume bar
        $(".player-controls-clone").remove();
        // Add Cloned markup of volume bar to parent of trigger btn
        $(btnChannelParent).append(VolBarClone);
        // show volume bar
        VolBarClone.
        addClass("player-controls-clone")
        .css({
    	"position":"absolute"
    	})
        .fadeIn('500', function() {
    		// Reset volume 
    		var el = $(".volumeBar a.set-volume-"+VolBarDefaut);
    		$(".VolumeCurrent").removeClass("VolumeCurrent");
    		el.addClass("VolumeCurrent");
    		volume(VolBarDefaut);
    		// Enable volume btn actions
    		VolumeControls();
        });
    }
    //============================================================ 
    //  controls js/SWF function      	
    function ResetButtons() {
        $(".BtnCurrent").removeClass("BtnCurrent");
        // Reset channels btns
        $(".BtnCurrentStop").remove();
        $('.BtnPlayChannel').show();
        // volume bar
        $(".player-controls-clone").remove();
    }
    function play() {
        document.getElementById("monFlash").SetVariable("player:jsPlay", "");
    }
    function stop() {
        document.getElementById("monFlash").SetVariable("player:jsStop", "");
        ResetButtons();
    }
    function volume(n) {
        document.getElementById("monFlash").SetVariable("player:jsVolume", n);
    }
    // Play # channel nChannel
    function PlayIfm(nChannel) {
        // Stop / load / Play music
        document.getElementById("monFlash").SetVariable("player:jsStop", "");
        document.getElementById("monFlash").SetVariable("player:jsUrl","http://85.17.146.164:80/" + nChannel);
        play();
        // Reset volume default state
        InitVolume(nChannel); 	
    }
    //============================================================
    // Play Channel buttons markup manipulation <= this is applied to any <a> you want to be the trigger of channel playing
    btnChannelTrigger.each(function(index) {
	//Class 
	$(this).addClass("BTN");
	$(this).addClass("BtnPlayChannel");
	// css
	var ChanneClass = $(this).attr('rel');
	$(this).addClass("Channel" +ChanneClass);
	//
	$(this).attr('id', 'btn-play-' + ChanneClass);
    });
    //============================================================
    // Play Channel btns parents markup manipulation
    btnsChannelParent.each(function(index) {
	var index=index+1;
	// add Class 
	$(this).addClass("top-level").addClass("top_level_"+index).addClass("btn_parent");
	// add id
	$(this).attr('id', 'btn-play-container-' + index);
    });
    //============================================================
    // Play channel actions
    function PlayChannelBtn() {
	
	$(".BtnPlayChannel").bind("click", function(e) {
	    e.preventDefault();
	    //Reset play btns
		$('.BtnPlayChannel').show();
		// Get channel #
		var ChannelClass = $(this).attr('rel');
		// Hide PLAY button
		$(this).hide();
		// Displays STOP button
		$(".BtnCurrentStop").remove();
		$(this).after(btnStopHtml);
		$('.BtnCurrentStop').addClass("Channel" + ChannelClass + "Stop");
		// Reset "current" class
		$(".BtnCurrent").removeClass("BtnCurrent");
		$(this).addClass("BtnCurrent");
		// Plays music
		PlayIfm(ChannelClass);
		// STOP channel btn ACTIONS
		$(".BtnCurrentStop").bind("click", function(event) {
		    event.preventDefault();
		    // stop music
			stop();
		    });
	    });
    }
    PlayChannelBtn();
    //============================================================
    // Btns PLAY => CLICK  
    function PlayChannelLink() {
	$(".LinkPlayChannel").bind("click", function(e) {
	    e.preventDefault();
	    	//Reset play btns
		$('.BtnPlayChannel').show();
		// Get current channel #
		var ChannelClass = $(this).attr('rel');
		// current BIG PLAY button
		var parentBtn = $("#btn-play-" + ChannelClass);
		// Hide current Parent PLAY button
		parentBtn.hide();
		// Displays current STOP button
		$(".BtnCurrentStop").remove();
		parentBtn.after(btnStopHtml);
		$('.BtnCurrentStop').addClass("Channel" + ChannelClass + "Stop");
		// Reset "current" class
		$(".BtnCurrent").removeClass("BtnCurrent");
		parentBtn.addClass("BtnCurrent");
		// Plays music of current channel #
		PlayIfm(ChannelClass);
		// STOP channel btn ACTIONS
		$(".BtnCurrentStop").bind("click", function(event) {
		    event.preventDefault();
		    // stop music
		    stop();
		});
	    });
    }
    //============================================================
    // Btns PLAY PARENT => MOUSEOVER
    // To be applied on the parent of the <a> for each channel
//    $(".top-level").find("a.channel-trigger")
    $(".top-level")
    .bind("mouseenter",function() {
	var ChannelId = $(this).find("a").attr('rel');
//	var Parent=$(this).parent();
	// Add HTML markup of the submenu
//	$(Parent)
	$(this)
	.append(
		'<div class="sub_menu ChannelBg'
		+ ChannelId
		+ '">'
		+ '<dl>'
		+ '<dd>'
		+ '<a href="#" class="LinkPlayChannel" rel="'
		+ ChannelId
		+ '">Just play</a>'
		+ '</dd>'
		+ '<dd>'
		+ '<a href="http://radio.intergalacticfm.com/'
		+ ChannelId
		+ '.m3u" class="">Open with&hellip; '
		+ '<span>Itunes, Winamp, WM Player &hellip;</span></a>'
		+ '</dd>' + '</dl>' + '</div>');
	// callback to trigger actions on added ".LinkPlayChannel" btn
	PlayChannelLink();
    })
    .bind("mouseleave ", function() {
	$(".sub_menu").remove();
    });
    //============================================================
    // Volume bar btns control
    function VolumeControls(){
    $(".volumeBar a.set-volume-btn").bind("click", function(event) {
	event.preventDefault();
	var $VolValue = $(this).attr('href');
	volume($VolValue);
	//
	$(".VolumeCurrent").removeClass("VolumeCurrent");
	$(this).addClass("VolumeCurrent");
	});
    }
    VolumeControls();
    // ============================================================
});
// endof READY
//============================================================

