function setRating(number) {
  $(".rate_star").each(function() {
    $(this).removeClass('star_on');
    $(this).removeClass('star_off');
    if($(this).attr("rating") <= number) {
      $(this).addClass('star_on');
    } else {
      $(this).addClass('star_off');
    }
  });
}

function rateMovie(srcElement) {
  params = {method: 'rateMovie',
            movieUID: $(srcElement).attr("MovieUID"),
            rating: $(srcElement).attr("rating")
           }
  $.get('/ajax.php', params, function(data) {
    // console.log(data);
  });

  setRating($(srcElement).attr("rating"));
}

function toggleFavourite(srcElement) {
  type = $(srcElement).attr('fav_type');
  current_on = $(srcElement).hasClass('favourite_on');

  if(type == 'movie' || type == 'website' || type == 'gallery' || type == 'story') {
    params = {  method: 'toggleFavourite',
                type: type,
                favUID: $(srcElement).attr("fav_uid"),
                on: !current_on
             }

    $.get('/ajax.php', params, function(data) {
      // console.log(data);
    });

    $(srcElement).removeClass('favourite_on');
    $(srcElement).removeClass('favourite_off');
    if(current_on) {
      $(srcElement).addClass('favourite_off');
    } else {
      $(srcElement).addClass('favourite_on');
    }
  }
}

function deleteFavourite(srcElement) {
  type = $(srcElement).attr('fav_type');

  if(type == 'movie' || type == 'website' || type == 'gallery' || type == 'story') {
    params = {  method: 'deleteFavourite',
                type: type,
                favUID: $(srcElement).attr("fav_uid"),
                on: false
             }

    $.get('/ajax.php', params, function(data) {
      // console.log(data);
    });

    fav_row_class = "favourite_row_" + params['favUID'];
    $('#' + fav_row_class).remove();
  }
}

function validate_non_member_registration() {
  if($('#email_address').val() == "" || $('#password').val() == "" || $('#password_repeat').val() == "") {
    alert('Please enter an email address and password');
    return false;
  } else if(!$("#overtwentyone").is(':checked')) {
    alert('You must confirm that you are over 21');
    return false;
  } else if($('#password').val() != $('#password_repeat').val()) {
    alert('The password fields do not match');
    return false;
  }
  return true;
}

function setMovieFavourites() {
  $.get('/ajax.php?method=getFavourites&type=movie', function(data) {
    $(data).each(function(id) {
      $("[fav_uid=" + data[id] + "]").removeClass('favourite_off');
      $("[fav_uid=" + data[id] + "]").addClass('favourite_on');
    });
  }, 'json');
}

function setGalleryFavourites() {
  $.ajax({
      type: "GET",
      url: '/ajax.php?method=getFavourites&type=gallery',
      success: function(data) {
        $(data).each(function(id) {
          $("[fav_uid=" + data[id] + "]").removeClass('favourite_off');
          $("[fav_uid=" + data[id] + "]").addClass('favourite_on');
        });},
      dataType: 'json'
  });
}

function setWebsiteFavourites() {
  $.get('/ajax.php?method=getFavourites&type=website', function(data) {
    $(data).each(function(id) {
      $("[fav_uid=" + data[id] + "]").removeClass('favourite_off');
      $("[fav_uid=" + data[id] + "]").addClass('favourite_on');
    });
  }, 'json');
}

function setStoryFavourites() {
  $.get('/ajax.php?method=getFavourites&type=story', function(data) {
    $(data).each(function(id) {
      $("[fav_uid=" + data[id] + "]").removeClass('favourite_off');
      $("[fav_uid=" + data[id] + "]").addClass('favourite_on');
    });
  }, 'json');
}

$(document).ready(function() {
  $('.rate_star').click(function() { rateMovie(this); return false; });
  $('.favourite_toggle').click(function() { toggleFavourite(this); return false; });
  $('.delete_favourite').click(function() { deleteFavourite(this); return false; });
  $("form#non_member_registration").bind("submit", function() { return(validate_non_member_registration()); });
  $("a#non_member_register_submit_button").bind("click", function() { $("form#non_member_registration").submit(); return false; });

});


