﻿/** afficher un bloc entite ou le masquer **/
function afficheBloc(id_element, type)
{
	var bloc = document.getElementById(type + '_' + id_element);
	
	var nomclass = "bloc";
	
	if (bloc != null && bloc.className == nomclass)
	{
		bloc.className = nomclass + "_off";
	}
	else
	{
		bloc.className = nomclass;
	}
}

function afficheSimilaires(id_element, type)
{
	var bloc = document.getElementById(type + '_' + id_element);	
	var nomclass = "bloc";	
	var div = document.getElementById('sim_' + id_element);				
	if (bloc != null && bloc.className == nomclass)
	{
		div.innerHTML = '<img src="/communfr/img/loading.gif" alt="Chargement en cours..." />';
		bloc.className = nomclass + "_off";
	}
	else
	{
		bloc.className = nomclass;	
		div.innerHTML = '<img src="/communfr/img/loading.gif" alt="Chargement en cours..." />';
		showSimilaires(id_element);
	}
}

/****
TODO
DOUBLON d'une partie de /scripts/outils.js car la page ne veut 
pas la fonction rechercher () de ce fichier 
mais n'a besoin que de la partie pour afficher le player
****/
var s;
var a2;
var playerAudio_baseFichier = 'http://www.tv-radio.com/ondemand/';

/* ----------------------- START - FONCTIONS PLAYER AUDIO ----------------------- */
function GetUrlPlayerAudio(langue)
{
	var retval = "";
	
	if(langue != '' && langue != null && langue != 'ar' && langue != 'rmfr') {
		retval = '/commun' + langue + '/player/popUpPlayerAudio.asp';
	} else if (langue == 'ar') {
		retval = '/rmar/include/player/player_real_ondemand.asp';
	} else if (langue == 'rmfr') {
		retval = '/rmfr/include/player/player_real_ondemand.asp';
	} else {
		retval = 'http://www.rfi.fr/statiques/popUpPlayerAudio.asp';
	}
			
	return retval;
}

function playerAudio(fichier,urlPageDesc,video,p_s,p_s2,langue)
{
	baseFichier = (fichier.indexOf("http") == 0)?  '' : playerAudio_baseFichier;
	var fen;
	if (langue == 'ar' || langue == 'rmfr')
	{
		if (langue == 'ar'){
			fen = window.open(
				GetUrlPlayerAudio(langue) + '?fichier=' + baseFichier + fichier
				, 'PlayerAudio'
				, 'top=50,right=50,screenx=50,screeny=50,scrollbars=no,width=400,height=150'
			);
		} else {
			fen = window.open(
				GetUrlPlayerAudio(langue) + '?fichier=' + baseFichier + fichier
				, 'PlayerAudio'
				, 'top=50,right=50,screenx=50,screeny=50,scrollbars=no,width=400,height=150'
			);
		}
	} else {
		fen = window.open(
			GetUrlPlayerAudio(langue) + '?fichier=' + baseFichier + fichier + '&urlPageDesc=' + ( urlPageDesc ? urlPageDesc : "" ) + '&video=' + ( video ? video : "" ) + '&s=' +  ( p_s ? p_s : (s ? s : ""))+ '&s2=' + (p_s2 ? p_s2 : ( a2 ? a2 : "" ) )
			, 'PlayerAudio'
			, 'top=50,left=50,screenx=50,screeny=50,scrollbars=no,status=yes,width=198,height=410'
		);
	}
	fen.focus();
}

function rechercher()
{
	var chemin = document.location.href.toLowerCase();
	var form = document.forms["haut-bandeau-fiche-recherche"];
	
	form.action="/communfr/dynamiques/RechercheIntuitionBeta.aspx";
	
	if (chemin.indexOf("/francais/actu/") >= 0 || chemin.indexOf("/actufr/") >= 0
		|| chemin.indexOf("/francais/radio/") >= 0 || chemin.indexOf("/radiofr/") >= 0
		|| chemin.indexOf("/francais/culture/") >= 0 || chemin.indexOf("/culturefr/") >= 0
		|| chemin.indexOf("/francais/science/") >= 0 || chemin.indexOf("/sciencefr/") >= 0
		|| chemin.indexOf("/francais/footafrique/") >= 0 || chemin.indexOf("/footafriquefr/") >= 0
		|| chemin.indexOf("/francais/sport/") >= 0 || chemin.indexOf("/sportfr/") >= 0
		|| chemin.indexOf("/francais/france/") >= 0 || chemin.indexOf("/francefr/") >= 0
		|| chemin == "http://www.rfi.fr/")
	{
		form.action = "/communfr/dynamiques/RechercheIntuition.aspx";
	}
	
	
	document.forms["haut-bandeau-fiche-recherche"].submit();
	return true;
}

// Gestion de la boîte à outils de recherche searchTools
// Dépendance : /widgets/lib/misc-ext/rfiwidgets/utilities.js
var topQueriesList;
var tagsCloudList;
function searchTools_init() {
	// Génération du contenu des différents blocs
	var genericParam = {monitorresize : true};	
	setPanelModuleContent('wordsSectionContainer', 'R&eacute;sultats de votre recherche', genericParam);
	setPanelModuleContent('searchDateFilterContainer', 'la p&eacute;riode', genericParam);		
	setPanelModuleContent('criteriaContainer', 'les crit&egrave;res', genericParam);	
	
	// InfoBulles sur des menu actions de la phrase résumée
	//setToolTipsForDialogMenu();
	
	// Rappel contenu boîte recherche
	/*var searchBox = document.getElementById('haut-bandeau-texte-recherche');
	var qs = new Querystring();			
	var searchRequest = qs.get(QUERYSTRING_RECHERCHE);	
	if (searchRequest != null) {
		var searchWords = searchRequest.split(';');
		var newValue = '';	
		for (i=0; i < searchWords.length; i++) {
			if (i == 0) {
				newValue += decodeURIComponent(searchWords[i]);		
			} else {
				newValue += ' ' + decodeURIComponent(searchWords[i];		
			}
		}
	searchBox.value = newValue
	}*/
	
	// Verification de l'état de l'affichage
	checkInfoDisplay();
}


function setPanelModuleContent(panelName, containerName, param) {						
		try {					
			var module = new YAHOO.widget.Module(panelName, param);
			with (module) {		
				setHeader(getHeader(panelName, containerName));							
				setBody(getContent(panelName));	
				render();
				show;	
			}			
		}	
		catch (e) {
			// Catch erreur récupération de la tagsCloudList
			throw(e);
		}
}

function getLabelSpanforHearderFirst (header, sContainerName, href, sClass) {
	// Création du div conteneur du titre de la section 
	var labelDiv = getDiv('', sClass, sContainerName);		
	header.appendChild(labelDiv);			
}

function getLabelSpanforHearder (header, sPanelName,  sContainerName, href, sClass) {
	// Création du div conteneur du titre de la section en lien
	var labelDiv = getDiv('', sClass, '');		
	var labelLink = getLink(sPanelName + 'Link', href, sClass + 'Link', sContainerName, '')
	labelDiv.appendChild(labelLink);
	header.appendChild(labelDiv);			
}

function getCornerforHeader (header, sClass) {
	// Création du coin gauche pour le header
	var labelDiv = getDiv('', sClass, '');				
	header.appendChild(labelDiv);			
}


function getLinkSpanforHearder (header, sPanelName, href, sClass, commandInit, imgPath) {
	
	// Création du span "conteneur" le lien textuel + l'image
	var linkSpan = getDiv(sPanelName + 'HeaderLink', sClass, commandInit);						
	// Ajout du span "conteneur" au header		
	header.appendChild(linkSpan);					
}

function getHeader(sPanelName, sContainerName) {		
	switch (sPanelName) {
		case 'wordsSectionContainer' :
			var header = getDiv(sPanelName + 'Header', 'searchToolsContainerHeader_first', '');			
			getLabelSpanforHearderFirst(header, '<div class="searchCornerLeft"></div><div class="searchCenter">' + sContainerName + '</div><div class="searchCornerRightLine"></div>',  'javascript:void(0);', 'searchToolsContainerHeaderLabel_first');
			getLinkSpanforHearder(header, sPanelName, 'javascript:bookmarkSearch();', 'searchToolsContainerHeaderLink_first', '<div class="searchCornerLeftLine"></div><div class="searchCenter">' + '<img src="/communfr/img/gray_arrow.jpg" border="0" width="19px" height="18px" alt="Enregistrer votre recherche" /><a href="javascript:bookmarkSearch();">Enregistrer votre recherche</a>' + '</div><div class="searchCornerRight"></div>', '/communfr/img/bookmark_red.gif');
			break;			
		case 'searchDateFilterContainer' :
			var header = getDiv(sPanelName + 'Header', 'searchToolsContainerHeader', '');			
			getCornerforHeader(header, 'cornerLeft');
			getLabelSpanforHearder(header, sPanelName, 'Afficher' + ' ' + sContainerName, 'javascript:toggleDisplayFilter();', 'searchToolsContainerHeaderLabel');			
			getCornerforHeader(header, 'cornerRight');
			break;									
		case 'criteriaContainer' :	
			var header = getDiv(sPanelName + 'Header', 'searchToolsContainerHeader', '');
			getCornerforHeader(header, 'cornerLeft');
			getLabelSpanforHearder(header, sPanelName, 'Afficher' + ' ' + sContainerName,  'javascript:toggleModule(\'criteria\', \'' + sPanelName + '\', \'' + sContainerName + '\');', 'searchToolsContainerHeaderLabel');			
			getCornerforHeader(header, 'cornerRight');
			break;			
	 }	
	return header;
}

function getContent(sPanelName) {
	var content;
	switch (sPanelName) {
		case 'wordsSectionContainer' :			
			content = '';
			break;
		case 'tagsCloudContainer' :									
			content = getDiv('tagsCloud', '', '');
			break;					
		case 'searchDateFilterContainer' :
			// TODO : Génération dynamique searchDateFilter			
			content ='';
			break;	
		case 'criteriaContainer' :	
			// TODO : Génération dynamique du bloc critères								
			content = '';
			break;						
	 }	
	return content;
}


function toggleModule(moduleID, sPanelName, sContainerName) {		
	var module = document.getElementById('moduleID');		
	var link = document.getElementById(sPanelName + 'Link');	
	if (Dom.getStyle(moduleID, 'display') == 'none') {		
		Dom.setStyle(moduleID, 'display','block');	
		link.innerHTML = 'Masquer' + ' ' + sContainerName;		
	}
	else {
		Dom.setStyle(moduleID, 'display','none');			
		link.innerHTML = 'Afficher' + ' ' + sContainerName;		
	}

}

function showCriteriaContainer () {	
	Dom.setStyle('criteria', 'display','block');					
}

function checkInfoDisplay () {
	var qs = new Querystring();			
	var bFilterState = qs.get(QUERYSTRING_FILTER_STATE);	
	var bCriteriaState = qs.get(QUERYSTRING_CRITERIA_STATE);
	var sortBy = qs.get(QUERYSTRING_TYPE_RECHERCHE);
	var docType = qs.get(QUERYSTRING_SORT_BY);
	
	// DateFilter Values	
	if (bFilterState) {		
		var searchDateFilterContainerLink = document.getElementById('searchDateFilterContainerLink');
		searchDateFilterContainerLink.innerHTML = 'Masquer la p&eacute;riode';					
	}
	
	// Criteria bloc
	if (bCriteriaState) {
		
		var criteriaContainerLink = document.getElementById('criteriaContainerLink');
		criteriaContainerLink.innerHTML = 'Masquer les crit&egrave;res';	
		Event.onAvailable('criteria', showCriteriaContainer);
		
		
	}
}

// Gestion des infoBulles sur les searchWords

function setToolTipsForDialogMenu () {		
		// Récupération des liens de classe searchWord
		var aIdlist = new Array();		
		
		//var elements = Dom.getElementsByClassName('searchWord', 'a');
		//for (var i=0; i < elements.length; i++) {			
		//	aIdlist.push(elements[i].id);
		//}	
		
		
		// Récupération des liens de classe searchCommand
		var elements = Dom.getElementsByClassName('searchCommand', 'a');
		for (var i=0; i < elements.length; i++) {			
			aIdlist.push(elements[i].id);
		}
				
		ttShowDialogMenu = new YAHOO.widget.Tooltip("ttShowDialogMenu", { context:aIdlist} );		
}

// Initialisation sur load
//Event.addListener(window, "load", searchTools_init);
Event.addListener(window, "load", setSearchOptionsMenu);
//Event.addListener(window, "load", getSearchTabView);


// Initialisation sur available
Event.onAvailable('searchTools', searchTools_init);
//Event.onAvailable('searchMenuOptions', setSearchOptionsMenu);
Event.onAvailable('searchTabView', getSearchTabView);
Event.onAvailable('searchResultID', checkDisplayContextualContent);
