var pageSize = 6;
$(document).ready(function(){
  assignClassesToPager($('.pagination'));  
});

function assignClassesToPager(pagination)
{
  $(pagination).find(".pages").addClass("left");
  $(pagination).find(".first").addClass("search_btn").addClass("search_first");
  $(pagination).find(".previous").addClass("search_btn").addClass("search_previous");
  $(pagination).find(".next").addClass("search_btn").addClass("search_next");
  $(pagination).find(".last").addClass("search_btn").addClass("search_last");
} 
function showPage(parameters)
{
 $.ajax(
  {
   url: "ShowPage.rails",
   type: 'GET',
   data: parameters,  
    success:
    function(data)
    {
      var response  =  $(data);
      assignClassesToPager($(response).find(".pagination"));  
      $(".synopses").html(response);
    }
  });
  return false;
}

function showMore(teacherId, index, total)
{
 $.ajax(
  {
   url: "ShowTeacherProfile.rails",
   type: 'GET',
   data: {teacher : teacherId},
    success:
    function(data)
    {
      createProfile(data, index, total);     
    }
  });
  return false;
}

function createProfile(data, index, total)
{
  resetProfile();
  var profile = $('<div></div>');
  $(profile).html(data);
  $(profile).find(".profile_index").val(index); 
  $(profile).find(".profile_total").val(total);
  $('#container').after($(profile).html());
 }

function closeProfile()
{
 var index = parseInt($('.profile_index').val());
 var searchParam = $('#pagination').formSerialize();
 var pageToSeek = Math.floor(index / pageSize) + 1;
 resetProfile();
 showPage(searchParam +'&target.Page='+ pageToSeek );  
 return false;
}

function resetProfile()
{
 $('.pop_over_bg').remove();
 $('.pop_over_profile').remove();
}

function getProfile(isSeekingNext, total)
{
  var index =  parseInt($('.profile_index').val());
  index = isSeekingNext ? index + 1: index - 1;
  
  if(index < 0 || index >= total)
  {
    disableLink(index);
    return;
   }
  var target = $('#pagination').formSerialize();
  $.ajax(
  {
   url: "GetProfileAtPosition.rails",
   type: 'GET',
   data: target+'&position='+ index ,
    success:
    function(data)
    {
      createProfile(data, index, total);     
    }
  });
}

function disableLink(index)
{
  if(index < 0)
  {
   $('.pagination .search_previous').removeAttr("href").removeAttr("onclick");
   }
  else
  {
   $('.pagination .search_next').removeAttr("onclick").removeAttr("href");
  }
}

function teacherImageError(img, url)
{
  img.src = url;
}
