﻿var webradio;
var programmation = 'Monde';
var streamMonde = 'http://mp3.live.tv-radio.com/rfimonde/all/rfimonde-64k.mp3';
var streamAfrique = 'http://mp3.live.tv-radio.com/rfiafrique/all/rfiafrique-64k.mp3';
var playerFormat;

if (playerFormat != undefined){
switch (playerFormat) {
	case "WMA" :
		streamMonde = 'mms://wmod.streaming.rfi.fr.edgestreams.net/rfi/francais/audio/directs/r001/rfimonde.wsx';
		streamAfrique = 'mms://wmod.streaming.rfi.fr.edgestreams.net/rfi/francais/audio/directs/r001/rfiafrique.wsx';
}
}

var urlPopUp = '/player/popUpMultimedia/popUpMultimedia_R.aspx?rubrique=radiofr&URL=http://www.tv-radio.com/station/rfi/rfi-20k&playerType=direct&format=CHOIX&flux=rfi Monde&bloc=Monde';
var stream = streamMonde;
var refreshTick = 60000;
var urlRoot = '/jDirectEcoute.ashx';
var nbItems = 3;
var format = 'json';

$.include('/widgets/lib/jquery/plugins/misc/jquery.rfi.all.js');
$.include('/widgets/lib/jquery/plugins/misc/jquery.flash.js');

var tabsPanel = {

	setTab: function() {

		function setContent() {
			var editions = webRadio.edition;			
			var tab = $('#' + programmation);
			var listView = '';
			tab.empty();
			$.each(editions,
			function(i) {
				if (i < nbItems) {
					switch (i) {
					case 0:
						listView = 'moyen';
						break;
					case 1:
						listView = 'petit';
						break;
					case 2:
						listView = 'petit';
						break;
					default :
						listView = 'petit';
						break;
				
					}
					var currentliste = tab.createAppend('div', {
						className: 'liste' + ' ' + listView + ' ' + 'simple'
					});
					if (i==1) RFIDom.accesseur.createParagraph(currentliste, 'next', 'Emissions suivantes : ');
					addAccesseurDirect(currentliste, listView, this);
					//if (i==2) RFIDomSpecifique.DirectEcoute.createProgrammationLink(currentliste, 'plus de programmes >>', '#');
				}
			});
			
			$('.playDirect').click(playDirect);
		}

		function success(data) {
			try {
				var jsonObject = JSON.parse(data);
				webRadio = jsonObject.WebRadio;
				setContent();
			} catch(e) {
				//throw (e);
			}

		}

		function getDateParamjdirect () {	
			var d = new Date();
			var sParam = "?date=" + d.getFullYear() +   d.getMonth() +  d.getDay() + d.getHours() + Math.round(d.getMinutes() / 3 ) ;
			return sParam;
		}


		function makeRequest() {
			var url = urlRoot + getDateParamjdirect();
			url += "&programmation=" + programmation;
			url += "&nb=" + nbItems;
			url += "&format=" + format;
			$('#' + programmation).empty();
			$('#' + programmation).html('<div class="loading"><img src="/widgets/lib/jquery/plugins/jcarousel/skins/rfi/loading.gif" width="32px" height="32px" alt="Chargement en cours..." /></div>');
			$.get(url, success);
		}

		// Initialisation
		try {
			makeRequest();
		} catch(e) {
			//throw (e);
		}
	},

	setPlayer: function() {
		$('.player').empty();
		switch (playerFormat) {
			case "WMA" :
				
				var playerContainer='<OBJECT ID="STREAM" CLASSID="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" CODEBASE="http://www.microsoft.com/ntserver/netshow/download/en/nsmp2inf.cab#Version=5,1,51,415"';
				playerContainer+=' type="application/x-oleobject" width="262" height="26" style="width:262px; height:32px;position:relative;left:-23px;top:-1px;clip:rect(0,0,10,10)">';
				playerContainer+='<PARAM NAME="FileName" VALUE="' + stream + '">';
				playerContainer+='<PARAM NAME="AutoStart" VALUE="true">';
				playerContainer+='<param name="ShowControls" value="1">';
				playerContainer+='<param name="ShowStatusBar" value="0">';
				playerContainer+='<PARAM NAME="ShowTracker" VALUE="0">';
				playerContainer+='<PARAM NAME="ShowDisplay" VALUE="0">';
				playerContainer+='<PARAM NAME="ShowPositionControls" VALUE="0">';
				playerContainer+='<embed';
				playerContainer+=' TYPE="application/x-mplayer2"';
				playerContainer+=' PLUGINSPAGE="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/"';
				playerContainer+=' SRC="' + stream + '"';
				playerContainer+=' id="STREAM"';
				playerContainer+=' NAME="STREAM"'; 
				playerContainer+=' WIDTH="260"';
				//playerContainer+=' HEIGHT="32"';
				playerContainer+=' style="width:262px; height:32px;position:relative;clip:rect(0,0,10,10)"';
				playerContainer+=' Autostart="true"';
				playerContainer+=' ShowControls="1"';
				playerContainer+=' ShowStatusBar="0"'; 
				playerContainer+=' ShowTracker="0"'; 
				playerContainer+=' ShowDisplay="0"';
				playerContainer+=' ShowPositionControls="0"';
				playerContainer+='></embed></OBJECT>';
				$('.player').html(playerContainer);
			break;
			default : 
			$('.player').flash({
			src: '/player/popupMultimedia/flash/audio/player.swf',
			width: 240,
			height: 20,
			flashvars: {
				height: 20,
				width: 240,
				file: stream,
				backcolor: '0x000000',
				frontcolor: '0xFFFFFF',
				lightcolor: '0xFFFFFF',
				screencolor: '0xFFFFFF',
				showstop: 'true',
				usefullscreen: 'false',
				autostart: 'true'
			}
		});				
		}
			
		$('.player').css('display', 'block');
	}

}

function playDirect() {
	if ($.query.get('bloc') == '') {		
		fen = window.open(
		urlPopUp + '&direct=' + programmation 
		, 'RFI'
		, 'top=50,left=50,screenx=50,screeny=50,width=850,height=750,directories=no,location=no,menubar=no,resizable=no,scrollbars=no,status=no,titlebar=no,toolbar=no'
	);
		fen.focus();
	} else {
		$('.header').html('Vous écoutez RFI ' + programmation);
		tabsPanel.setPlayer();
	}

}

function componentInit() {
	try {
		// Initialisation des onglets		
		$('#jDirectEcoute > ul').tabs();
		tabsPanel.setTab();
		// Gestion du changement d'onglet
		$('#jDirectEcoute').tabs({
			select: function(e, ui) {
				switch (ui.index) {
				case 0:
					programmation = 'Monde';
					stream = streamMonde;
					urlPopUp = '/player/popUpMultimedia/popUpMultimedia_R.aspx?rubrique=radiofr&URL=http://www.tv-radio.com/station/rfi/rfi-20k&playerType=direct&format=CHOIX&flux=rfi Monde&bloc=Monde';
					break;
				case 1:
					programmation = 'Afrique';
					stream = streamAfrique;
					urlPopUp = '/player/popUpMultimedia/popUpMultimedia_R.aspx?rubrique=radiofr&URL=http://www.tv-radio.com/station/rfi/rfi-20k&playerType=direct&format=CHOIX&flux=rfi Afrique&bloc=Afrique';
					break;
				}
				tabsPanel.setTab();
			}
		});
		var refresh = setInterval(tabsPanel.setTab, refreshTick);
		var bloc = $.query.get('bloc');
		if (bloc != '') {
			$('.header').css('color', '#666262');
			switch (bloc) {
			case 'Monde':
				stream = streamMonde;
				break;
			case 'Afrique':
				stream = streamAfrique;
				$('#jDirectEcoute > ul').tabs('select', 1);
				break;
			}
			$('.header').html('Vous écoutez RFI ' + programmation);
			tabsPanel.setPlayer();
		}

	} catch(e) {
		//throw (e);
	}
}

$('#jDirectEcoute').ready(componentInit);