};
var loadPage_request = null;
afterLoad = function(html, textStatus, XMLHttpRequest) {
+ $('#loading-page').addClass('fade');
loadPage_request = null;
if (textStatus == "error") {
doLog('Sorry! And error occur when loading page content','error');
};
$(window).on("popstate", function(e) {
- if (e.originalEvent.state !== null) {loadPage(location.href, false);}
+ loadPage(location.href, false);
});
loadPage = function(href, push_state) {
if (loadPage_request !== null) {
loadPage_request.abort();
}
+ $('#loading-page').remove();
+ $('<div id="loading-page"></div>').prependTo($('#All'));
loadPage_request = $.ajax({
url: href,
success: afterLoad,
window.open(href, '_blank');
return false;
}
- if (href.match('\.(pdf|odt|ods|doc|xls|docx|xlsx|rtf|rss|atom)$')) {
+ if (href.match('\.(pdf|odt|ods|doc|xls|docx|xlsx|rtf|zip|rss|atom)$')) {
/* open files */
window.location = href;
return false;
/****************************************************/
var timer = null;
- var refresh_onair_interval = 25000;
var ticker_interval = null;
- /*
- //TODO: mini icon version for player, (playpause only)
- $('#togglePlayer').on('click',function(e) {
- e.preventDefault();
- if($(this).is('.icon-double-angle-left')){
- $("#player").fadeOut('fast',function(){
- $("#player-container").toggleClass('minimized');
- $('#togglePlayer').toggleClass('icon-double-angle-left icon-double-angle-right');
- });
- }else{
- $("#player").fadeIn('fast',function(){
- $("#player-container").toggleClass('minimized');
- $('#togglePlayer').toggleClass('icon-double-angle-left icon-double-angle-right');
- });
- }
- return false;
- });
- */
$('#WhatsOnAir').on('load',function(){
var WhatsOnAir = $(this);
- $('#RefreshWhatsOnAir').addClass('spinning');
$.getJSON('/onair.json', function(onair) {
- setTimeout(function() { $('#RefreshWhatsOnAir').removeClass('spinning'); }, 5000);
var onairContainer = $('<span>');
if(onair.data.episode || onair.data.emission) {
if(onair.data.emission){
$('<a>',{href:onair.data.episode.url,html:onair.data.episode.title}).appendTo(onairContainer).ajaxifyClick();
}
} else if (onair.data.nonstop) {
- onairContainer = $('<span>' + onair.data.nonstop.title + '</span>');
+ if (onair.data.nonstop.url) {
+ onairContainer = $('<a href="' + onair.data.nonstop.url + '">' + onair.data.nonstop.title + '</a>');
+ } else {
+ onairContainer = $('<span>' + onair.data.nonstop.title + '</span>');
+ }
if (onair.data.track_title) {
$('<span> - </span>').appendTo(onairContainer);
$('<span class="nonstop-track-title">' + onair.data.track_title + '</span>').appendTo(onairContainer);
}
});
});
- $('#RefreshWhatsOnAir').on('activate',function(e){
- $('#WhatsOnAir').trigger('load');
- timer = setInterval( "$('#WhatsOnAir').trigger('load');", refresh_onair_interval);
- }).on('deactivate',function(e){
- $(this).removeClass('spinning');
- $('#WhatsOnAir').removeClass('active');
- clearInterval(timer);
- }).on('click',function(e){
- $(this).toggleClass('active');
- if($(this).is('.active')){
- $(this).trigger('deactivate');
- }else{
- $(this).trigger('activate');
- }
- return false;
- }).trigger('activate');
+ $('#WhatsOnAir').trigger('load');
+ var refresh_onair_interval = 25000;
+ setInterval("$('#WhatsOnAir').trigger('load');", refresh_onair_interval);
$("#DirectStreamPanikControler").on('click',function(e) {
e.preventDefault();
var stream = $('#DirectStreamPanik').get(0);
$('#DirectStreamPanik').on('play',function(){
$('audio:not(#DirectStreamPanik)').each(function(){this.pause();});
$('#streamSymbol').removeClass('icon-volume-up').addClass('icon-pause');
- $('#RefreshWhatsOnAir').trigger('activate');
}).on('pause',function(){
//$('audio:not(#DirectStreamPanik)').each(function(){this.pause();});
$('#streamSymbol').addClass('icon-volume-up').removeClass('icon-pause');
topPosition = $('#mainHeader > div').offset().top + $('#mainHeader > div').height();
$(window).bind('scroll load',function (event) {
//$('#player-container').removeClass('fixed');
- var y = $(this).scrollTop() + 40;
+ var y = $(this).scrollTop() + 60;
if (topPosition!== 0 && y >= topPosition) {
$('#player-container').addClass('fixed').removeClass('normal');
} else {
activeTab.trigger('load');
});
$('[data-player-action]').on('click',function(){
- var audio = $('#'+$(this).attr('data-player-audio'));
+ var audio = $('audio[data-sound-id=' + $(this).attr('data-sound-id') + ']');
var sound_id = audio.data('sound-id');
if($(this).attr('data-player-action') == "registerAudio"){
- $localList.playlist("registerAudio",audio,doLog(audio.attr('title')+' has been added to your playlist.','ok'));
+ $localList.playlist("registerAudio",audio);
}else if($(this).attr('data-player-action') == "playAudio"){
- $localList.playlist("registerAudio",audio,doLog(audio.attr('title')+' will play soon.','ok'));
- $localList.playlist("playSoundId", sound_id);
- if ($(this).parent().find('.icon-pause').length) {
- $(this).hide();
- $(this).parent().find('.icon-pause').show();
+ if ($(this).hasClass('icon-play-sign')) {
+ $localList.playlist("registerAudio",audio);
+ $localList.playlist("playSoundId", sound_id);
+ if ($(this).parent().find('.icon-pause').length) {
+ $(this).hide();
+ $(this).parent().find('.icon-pause').show();
+ }
+ } else {
+ $localList.playlist('pauseSounds');
}
}else if ($(this).attr('data-player-action') == "pauseSounds") {
if ($(this).parent().find('.icon-play-sign').length) {
}
});
$('[data-player-control]').each(function(){
- var audio = $('#'+$(this).attr('data-player-audio'));
+ var audio = $('audio[data-sound-id=' + $(this).attr('data-sound-id') + ']');
$localList.playlist("bindControl",$(this).attr('data-player-control'),audio,$(this));
});
return false;
});
- if ($('input#id_q').val() == '') {
- $('input#id_q').focus();
+ if ($('#search-form.big input#id_q').val() == '') {
+ $('#search-form.big input#id_q').focus();
}
$('#ticker li:not(:first)');
if (matching_audio.length == 0) return;
matching_audio = matching_audio[0];
if (matching_audio.paused || matching_audio.ended) {
- /* ignore */
+ $(this).parents('.sound').find('.icon-play-sign').click();
return;
}
/* try to set time */
return false;
});
+ if ($('.sound + .content .text ').length) {
+ var text_content = $('.sound + .content .text')[0];
+ text_content.innerHTML = text_content.innerHTML.replace(
+ /[0-9][0-9]+:[0-9][0-9]/g,
+ function(x) { return '<span class="timestamp">' + x + "</span>"; });
+ $(text_content).find('span.timestamp').on('click', function() {
+ var $waveform = $('div.waveform').first();
+ var sound_id = $waveform.prev().data('sound-id');
+ var total_duration = parseFloat($waveform.data('duration'));
+ var nb_ticks = $waveform.find('span').length;
+ var timestamp = $(this).text().split(':');
+ var timestamp_position = timestamp[0] * 60 + timestamp[1] * 1;
+ var tick_idx = parseInt(nb_ticks * timestamp_position / total_duration);
+ // play, then set rough position
+ $('.episode.detail .icon-play-sign').first().trigger('click');
+ var matching_audio = $('audio[data-sound-id=' + sound_id + ']');
+ matching_audio[0].currentTime = timestamp_position;
+ });
+ }
+
if (document.cookie.indexOf('panikdb=on') != -1) {
panikdb_path = null;
if (window.location.pathname.indexOf('/emissions/') == 0) {
/* CHAT */
if ($('#chat').length) {
- $('#player').hide();
+ $('#player').addClass('on-chat-page');
var moderator = ($('#panikdb').length > 0);
var $msg = $('input#msg');
var $send = $('button#send');
$('.nick button').on('click', function() {
window.localStorage['pa-nick'] = $('.nick input').val();
var nick = window.localStorage['pa-nick'];
+ $('.commands .prompt').text(nick + '>');
connection = new Strophe.Connection("/http-bind");
connection.connect('im.panik', null, function(status, error) {
});
} else {
- $('#player').show();
+ $('#player').removeClass('on-chat-page');
}
}
init();
var konami = new Konami('/party');
+ $(document).on('panik:play', function(ev, data) {
+ var $page_audio_controls = $('#Main').find('div.audio[data-sound-id="' + data.sound_id + '"]');
+ $page_audio_controls.find('.icon-play-sign').removeClass('icon-play-sign').addClass('icon-pause');
+ });
+
+ $(document).on('panik:pause', function(ev, data) {
+ var $page_audio_controls = $('#Main').find('div.audio[data-sound-id="' + data.sound_id + '"]');
+ $page_audio_controls.find('.icon-pause').removeClass('icon-pause').addClass('icon-play-sign');
+ });
+
+
$(document).on('panik:timeupdate', function(ev, data) {
+ var $page_audio_controls = $('#Main').find('div.audio[data-sound-id="' + data.sound_id + '"]');
+ $page_audio_controls.find('.icon-play-sign').removeClass('icon-play-sign').addClass('icon-pause');
$waveform = $('#Main div.waveform[data-sound-id="' + data.sound_id + '"]');
var elems = $waveform.find('span');
var total_elems = elems.length;