/* vim:set tabstop=4 softtabstop=4 shiftwidth=4 expandtab: */
/**
*
* LICENSE: GNU General Public License, version 2 (GPLv2)
* Copyright 2013 Ampache.org
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License v2
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
var current_playlist_item = null;
function play_item(event)
{
op();
current_playlist_item = event.findElement().getStorage().get('playlist_item');
play();
}
function adjust_buttons()
{
if(!current_playlist_item.player.paused) {
$('#play').addClass('inactive');
$('#pause').removeClass('inactive');
$('#stop').removeClass('inactive');
}
else {
$('#play').removeClass('inactive');
$('#pause').addClass('inactive');
$('#stop').addClass('inactive');
}
}
function stop(event)
{
if(current_playlist_item) {
current_playlist_item.player.pause();
current_playlist_item.player.currentTime = 0;
current_playlist_item.element.removeClass('playing');
adjust_buttons();
}
}
function pause(event)
{
if(current_playlist_item) {
current_playlist_item.player.pause();
adjust_buttons();
}
}
function play(event)
{
if(current_playlist_item)
{
var info = $(current_playlist_item.info_url).attr('target', '_new')
$('#title').html(info);
$('#album').text(current_playlist_item.album);
$('#artist').text(current_playlist_item.author);
$('#albumart').html($('').attr('src', current_playlist_item.albumart_url));
$(current_playlist_item.player).attr('preload', 'auto');
current_playlist_item.player.play();
current_playlist_item.element.addClass('playing');
adjust_buttons();
}
}
function next(event)
{
if(current_playlist_item && current_playlist_item.next) {
stop();
var next = current_playlist_item.next;
current_playlist_item = next;
play();
}
}
function previous(event)
{
if(current_playlist_item && current_playlist_item.previous) {
stop();
current_playlist_item = current_playlist_item.previous;
play();
}
}
function seconds_to_string(seconds)
{
return Math.floor(seconds / 60) + ":" + (Math.floor(seconds % 60) < 10 ? '0' : '') + Math.floor(seconds % 60);
}
function timeupdate(event)
{
if(current_playlist_item)
{
$('#progress_text').text(seconds_to_string(current_playlist_item.player.currentTime) + "/" + seconds_to_string(current_playlist_item.time));
if(current_playlist_item.player.currentTime > current_playlist_item.time / 2) {
if(current_playlist_item.next) {
current_playlist_item.next.player.writeAttribute('preload', 'auto');
}
}
//fix for chrome where ended is not thrown properly
if(current_playlist_item.player.currentTime >= current_playlist_item.time) {
ended(event);
}
}
}
function ended(event)
{
next(event);
}
function search(event)
{
var search = new RegExp(".*" + $('#input_search').val() + ".*", "i");
$.each(playlist_items, function (index, item) {
if (!search.test(item.title)) {
item.element.hide();
}
else {
item.element.show();
}
});
}
function clear_search(event)
{
$('#input_search').val('');
search(event);
}
$(document).ready(function() {
var last_item = null, first_item = null;
for(id in playlist_items)
{
var li = $('