﻿/* js functions for gurutube.net */


function clear_history() {
  $.post('/account/history/clear/',{},function(){
    $('.history-item').remove();
  });
}


function toggle_favorite(video_id) {
  var saving = /Add/i.test($('#link-' + video_id)[0].innerHTML);

  if (saving) {
    var url = '/video/favorites/save/' + video_id + '/';
    $.getJSON(url, function(data) {
      if (data.success) {
        //alert('Your favorite has been saved.');
  
        var a = $('#link-' + video_id);
        // if we're on the video list page
        if (a.size() > 0) {
          a[0].innerHTML = 'Remove from Favorites';
        }
      }
      else if (data.message) {
        alert(data.message);
      }
      else {
        alert('There was an unknown server error.\nYour request may not have been processed properly.');
      }
    });
  }
  else {
    var url = '/video/favorites/unsave/' + video_id + '/';
    $.getJSON(url, function(data) {
      if (data.success) {
        //alert('Your favorite has been saved.');

        // favorites page
        if ($('#favorite-' + video_id).size() > 0) {
          $('#favorite-' + video_id).remove();
          return;
        }
        // another page
        else {
          $('#link-' + video_id)[0].innerHTML = 'Add to Favorites';
        }
      }
      else if (data.message) {
        alert(data.message);
      }
      else {
        alert('There was an unknown server error.\nYour request may not have been processed properly.');
      }
    });
  }
}

function toggle_subscription(genre, value) {
  var saving = /Subscribe/.test($('a#subscribe-' + genre + '-' + value).html());

  if (saving) {
    var url = '/account/subscriptions/add/' + genre + '/' + value + '/';
    $.getJSON(url, function(data) {
      if (data.success) {
        var a = $('a#subscribe-' + genre + '-' + value);
        // if we're on the video list page
        if (a.size() > 0) {
          a[0].innerHTML = 'Drop Subscription';
        }
      }
      else if (data.message) {
        alert(data.message);
      }
      else {
        alert('There was an unknown server error.\nYour request may not have been processed properly.');
      }
    });
  }
  else {
    var url = '/account/subscriptions/drop/' + genre + '/' + value + '/';
    $.getJSON(url, function(data) {
      if (data.success) {
        var a = $('a#subscribe-' + genre + '-' + value);
        // if we're on the video list page
        if (a.size() > 0) {
          a[0].innerHTML = 'Subscribe';
        }
        // if we're on the subscriptions page
        else {
          $('div#subscription-' + genre + '-' + value).remove();
        }
      }
      else if (data.message) {
        alert(data.message);
      }
      else {
        alert('There was an unknown server error.\nYour request may not have been processed properly.');
      }
    });
  }
}


