/***
* global variables
*/
var counter = 0;
var mwSliderObj;
var mediaList;
/***
* load the json data
*/
var nocache;
nocache=0;
nocache = Math.random();

$(function() {
$.ajax( {
url : 'xml/gen/mediawall/mediawall.json?nocache='+nocache,
type :'GET',
dataType :'json',
timeout :10000,
error : function() {
if (console && console.error) { console.error('Erreur de chargement du document XML') };
},
success : function(data) {
mediaList = data;
$('#mwSlider').html(loadMediaWall());
initMwSlider();
initEvents();
latestImageFile = "";//images/stubs/mediaWall_stub.jpg
latestMediaFile = "";
if (hasReqestedFlashVersion) {
$('#mediaWallContent .videoContainer').addClass('flash');
writeInlinePlayer('inlinePlayer', latestImageFile, "");
} else if (Modernizr.video && Modernizr.video.h264){
writeHTML5Player('inlinePlayer', latestImageFile,640,360);
} else {
//location.href="/"+lang+"/flashupgrade.html";
}
},
complete : function(data) {
}
});
});
/***
* show the media wall controls
*/
function showControls(){
$("#mediaWallContent .pager").show();
$("#mediaWallContent .prev").show();
$("#mediaWallContent .next").show();
$("#mediaWallContent .close").hide();
}
/***
* hides the media wall controls
*/
function hideControls(){
$("#mediaWallContent .pager").hide();
$("#mediaWallContent .prev").hide();
$("#mediaWallContent .next").hide();
$("#mediaWallContent .close").show();
}
/***
* bind events to certain page elements
*/
function initEvents(){
$('#mediaWallContent ul li.article').click(function(){
location.href=mediaList[mwSliderObj.getCurrentSlide()].link;
});
$('#mediaWallContent .playBtn').click(function(){
mwSliderObj.stopShow();
hideControls();
playVideo(mediaList[mwSliderObj.getCurrentSlide()]);
});
$('#mediaWallContent .close').click(function(){
stopVideoPlayer();
});

// simple hack for making video disappear if user hovers on menu
$("#nav_e ul").hover(
function(){
if ($('#mediaWallContent .videoContainer').hasClass('flash')) {
$("#inlinePlayer").css('visibility','hidden')
}
},
function(){
if ($('#mediaWallContent .videoContainer').hasClass('flash')) {		 
$("#inlinePlayer").css('visibility','visible')
}
}
);
// simple hack for making video disappear if user hovers on menu
$("#nav_f ul").hover(
function(){
if ($('#mediaWallContent .videoContainer').hasClass('flash')) {
$("#inlinePlayer").css('visibility','hidden')
}
},
function(){
if ($('#mediaWallContent .videoContainer').hasClass('flash')) {		 
$("#inlinePlayer").css('visibility','visible')
}
}
);
}
/***
* Initialize the slider object
*/
function initMwSlider() {
mwSliderObj = $('#mwSlider').bxSlider({
mode:'fade',
infiniteLoop:true,
nextSelector:'#mediaWallContent .next',
prevSelector:'#mediaWallContent .prev',
nextText:"<img src='images/misc/rgr_ms_mwRight.png' width='27' height='30' alt='Next' border='0' />",
prevText:"<img src='images/misc/rgr_ms_mwLeft.png' width='27' height='30' alt='Prev' border='0' />",
pause: 8000,
auto:true,
pager:true,
controls: true,
pagerSelector:'#mediaWallContent .pager',
pagerActiveClass:'active',
wrapperClass: 'bx-mwWrapper'
});
$('#mediaWallContent .pager a').html("");
}
/***
* load the media wall html
* @returns {String}
*/
function loadMediaWall() {
var html="";
for (var i=0; i < mediaList.length; i++){
if (!isVideo(mediaList[i])) {
html+='<li class="slate article" style="background:url(\''+mediaList[i].image_large+'\') no-repeat;">';
} else {
html+='<li class="slate" style="background:url(\''+mediaList[i].image_large+'\') no-repeat;">';
}
html+='	<div class="mediaInfo">';
html+='		<div class="date">';

switch (mediaList[i].month)
{
case 'Janvier':
	$month_class ='month_s';
break;
case 'Février':
	$month_class ='month_s';
break;
case 'Mars':
	$month_class ='month_n';
break;
case 'Avril':
	$month_class ='month_n';
break;
case 'Mai':
	$month_class ='month_n';
break;
case 'Juin':
	$month_class ='month_n';
break;
case 'Juillet':
	$month_class ='month_s';
break;
case 'Août':
	$month_class ='month_n';
break;
case 'Septembre':
	$month_class ='month_s';
break;
case 'Octobre':
	$month_class ='month_s';
break;
case 'Novembre':
	$month_class ='month_s';
break;
case 'Décembre':
	$month_class ='month_s';
break;
default:
	$month_class ='month_s';
break;
}

html+='<div class="'+$month_class+'">'+mediaList[i].month+'</div>';
html+='			<div class="day">'+mediaList[i].day+'</div>';
html+='		</div>';
html+='		<div class="article">';
html+='			<div class="title"><a class="articleLink" href="'+mediaList[i].link+'">'+mediaList[i].headline + getVideoIcon(mediaList[i])+'</a></div>';
html+='			<div class="abstract">'+mediaList[i].abstract+'</div>';
html+='		</div>';
html+='	</div>';
if (isVideo(mediaList[i])) {
html+='<div class="playBtn"></div>';
}
html+='</li>';
}
return html;
}
/***
* gets the html for the video icon
* @param item
* @returns {String}
*/
function getVideoIcon(item) {
if (hasReqestedFlashVersion || (Modernizr.video && Modernizr.video.h264)) {
if (null != item.videoLink && item.videoLink.length > 0) {
return '<img class="icon" src="images/misc/rgr_ms_mwVideoIcon.png" width="15px" height="9" alt="" border="0" />';
} else {
return "";
}
} else {
return "";
}
}
/***
* determines if the item is a video
* @param item
* @returns {Boolean}
*/
function isVideo(item) {
if (hasReqestedFlashVersion || (Modernizr.video && Modernizr.video.h264)) {
if (null != item.videoLink && item.videoLink.length > 0) {
return true;
} else {
return false;
}
} else {
return false;
}
}
/***
* play a video
* @param obj
*/
function playVideo(obj){
$("#mediaWallContent .videoContainer").addClass("active");
if(hasReqestedFlashVersion) {

setNewVideo('inlinePlayer',obj.videoLink);
} else if (Modernizr.video && Modernizr.video.h264) {
setNewVideo5("html5videoPlayer", obj.videoLink);
//setNewVideo5("html5videoPlayer", "http://html5demos.com/assets/dizzy.ogv");
}
$("#mediaWallContent .videoTag .left").html(obj.month + " " + obj.day );//+ ", 2012"
$("#mediaWallContent .videoTag .right").html(obj.headline);
//measureApp('Home','Media Wall','Play',obj.videoLink);
}
/***
* stop the video player
*/
function stopVideoPlayer() {
$("#mediaWallContent .videoContainer").removeClass("active");
if(hasReqestedFlashVersion) {
stopVideo("inlinePlayer");
} else if (Modernizr.video && Modernizr.video.h264) {
stopVideo5("html5videoPlayer");
}
mwSliderObj.startShow();
showControls();
}
