var ratingsArray = {};
var timerId = 0;

$(document).ready(function() {  
  $(".gameRating .star[score]").live("mouseover", function() { onMouseOverRating($(this)); });
  $(".gameRating .star[score]").live("mouseout", function() { onMouseOutRating($(this)); });
  $(".gameRating .star[score]").live("click", function() { onClickRating($(this)); });
  $(".gameRating .star[score]").css("cursor", "pointer");
});

function onMouseOverRating(btn) {
  var ratingsContainer = $(btn).parent();
  var gameId = ratingsContainer.attr('game_id');
  var btnIndex = ratingsContainer.children().index(btn);
  
  //alert("timerID: "+timerId+" gameID: "+gameId+" ratingsArray: "+ratingsArray);
  
  if(timerId == 0) {
    if(ratingsArray[gameId] == null) {
      ratingsArray[gameId] = ratingsContainer.html();
    }
  } else {
    clearTimeout(timerId);
    timerId = 0;
  }
  
  $(ratingsContainer).children(":lt("+(btnIndex+1)+")").css('background-position','0px -46px');
  $(ratingsContainer).children(":gt("+btnIndex+")").css('background-position','0px 0px');
}

function onMouseOutRating(btn) {
  var ratingsContainer = btn.parent();
  var gameId = ratingsContainer.attr('game_id');
  
  if(timerId == 0)
    timerId = setTimeout('onMouseOutRatingComplete('+gameId+')',10);
}

function onMouseOutRatingComplete(gameId) {
  $(".gameRating[game_id="+gameId+"]").html(ratingsArray[gameId]);
  timerId = 0;
}
function onClickRating(btn) {
  var ratingsContainer = $(btn).parent();
  var rating = btn.attr('score');
  var gameId = ratingsContainer.attr('game_id');
  $.ajax({type:'POST',url:'/ajax.php',data:'action=rate_game&game_id='+gameId+'&rating='+rating});
  $('#ratingFeedbackContainer').html("thanks for rating!");
  ratingsContainer.removeClass('gameRating');
}

function onSearch() {
  document.location.href = "/#search=" + $('#formSearch').val();
}