var mouseY = 0;
var msgDisplayTime = 2000;

function openPlaylistsMsg (msg)
{
  $('playlists-msg-section').set ('html', msg);
  $('playlists-msg-section').setStyles ({opacity:0,display:'block'});
  $('playlists-msg-section').fade('in');
}

function closePlaylistsMsg ()
{
  $('playlists-msg-section').setStyles ({opacity:0,display:'none'});
}

function selectDeselectAllPlaylists (state)
{
  var cb = document.getElementsByName ('ids_playlist[]');

  for (var i = 0; i < cb.length; i++)
    cb[i].checked = state;
}

function displayPlaylistInfosSection (pl)
{
  new Request.HTML ({data: {'id_playlist': pl}, 'update':$('playlist-infos-section')}).post('/ajax/playlist_infos_display.php');
}

function editPlaylistInfosSection (pl)
{
  new Request.HTML ({data: {'id_playlist': pl}, 'update':$('playlist-infos-section')}).post('/ajax/playlist_infos_edit.php');
}

function displayAddPlaylistSection ()
{
  if ($('add-button').value == 'New playlist')
  {
    $('pl-name').value = '';
    $('pl-description').value = '';
    $('add-playlist-section').setStyle('display', 'block');
    $('add-button').value = 'Cancel Add';
  }
  else
  {
    closePlaylistsMsg()
    $('add-playlist-section').setStyle('display', 'none');
    $('add-button').value = 'New playlist';
  }
}

function deletePlaylists ()
{
   new Request ({url:'/ajax/playlist_delete.php', onSuccess: function(msg){
     if (msg)
       alert (msg)
     else
       refreshPlaylists ();
   }}).post($('playlists'));
  $('playlist-programs-section').set ('html', ' ');
}

function refreshPlaylists ()
{
  $('playlists-list-section').load ('/ajax/playlists_list.php');
}

function updatePlaylist (pl)
{
  var name = $('pl-name-edit').value;
  var description = $('pl-description-edit').value;

  new Request ({url: '/ajax/playlist_infos_update.php', data: {'id_playlist':pl ,'name':name, 'description':description}, method: 'post', onSuccess: function(msg){
    if (msg)
    {
      openPlaylistsMsg (msg);
      setTimeout ("closePlaylistsMsg()", msgDisplayTime);
    }
    else
    {
      refreshPlaylists ();
      displayPlaylistInfosSection (pl);
    }
  }}).send ();
}

function addPlaylist ()
{
  var name = $('pl-name').value;
  var description = $('pl-description').value;

  new Request ({url: '/ajax/playlist_add.php', data: {'name':name, 'description':description}, method: 'post', onSuccess: function(msg){
    if (msg)
    {
      openPlaylistsMsg (msg);
      setTimeout ("closePlaylistsMsg()", msgDisplayTime);
    }
    else
    {
      displayAddPlaylistSection ();
      refreshPlaylists ();
    }
  }}).send ();
  displayPlaylistPrograms ();
}

function closeAddPlaylistsCombo ()
{
  var cb = document.getElementsByName ('selection[]');

  for (var i = 0; i < cb.length; i++)
    cb[i].checked = '';

  $('playlists-select').setStyle('display', 'none');
}

function displayPlaylistPrograms (pl)
{
  new Request.HTML ({data: {'id_playlist': pl}, 'update':$('playlist-programs-section')}).post('/ajax/playlist_programs_list.php');
}

function displayAddPlaylistsCombo (prog, email)
{
  var cb = document.getElementsByName ('selection[]');
  var ps = new Array ();

  for (var i = 0, j = 0; i < cb.length; i++)
    if (cb[i].checked) ps[j++] = cb[i].value;

  if (ps.length)
  {
    new Request.HTML ({data: {'ids_program': ps ,'email': email}, 'update':$('playlists-select-content')}).post('/ajax/playlists_select_options.php');
    if (!email)
      $('playlists-select').setStyles ({'top':mouseY-15,'display':'block'});
  }
}

function addToPlaylist (programs, playlist)
{
  new Request ({url: '/ajax/playlist_program_add.php', data: {'ids_program':programs, 'id_playlist':playlist}, method: 'post', onSuccess: function(msg){
    openPlaylistsMsg ((msg)?msg:"Program have been successfully added to playlist");
    closeAddPlaylistsCombo ();
    setTimeout ("closePlaylistsMsg()", msgDisplayTime);
  }}).send ();
}
  
function removeFromPlaylist (program, playlist)
{
  new Request ({url: '/ajax/playlist_program_remove.php', data: {'id_program':program, 'id_playlist':playlist}, method: 'post', onSuccess: function(msg){
    openPlaylistsMsg ((msg)?msg:"Program have been successfully removed from playlist");
    setTimeout ("closePlaylistsMsg()", msgDisplayTime);
    displayPlaylistPrograms (playlist);
    refreshPlaylists ();
  }}).send ();
}

document.addEvent ('domready', function(){

  $(document.body).addEvent('mousemove',function(event){
   mouseY = event.page.y;
  }); 

});

