$(document).ready(pageLoaded);

function pageLoaded () {
  
  //Items
    controller = $("body").attr("id")
    editing = false;
    position = parseInt(location.hash.charAt(1) || 0);

    if(controller == "pages") $("#featured_item").load("/featured_items/", startFading);
    if(controller == "portfolio_items" || "downloads_controller")
    {
      setupScrolling();
      $("#position_items").click(toggleEdit);
      $(".thumbnail a").click(goToItem);
    }
  
  
}

function startFading () {
  image = 0;
  height = 441;
  max = $("#item_images img").size();
  setInterval(fadeNewImage, 6000);
  
}

function fadeNewImage () {
  image = (image+1) % max ;
  var old = $("#item_images")
  var i = $("#item_images").clone()
  i.css({"top":-height*image+"px", "display":"none"})
  i.appendTo("#featured_item").fadeIn(1500, function(){old.remove()})
}

function setupScrolling () {
  items = $("#thumbnail_container ul li").size()
  width = 104;
  position = position || 0;
  max = Math.floor(items/8);
  container = $("#thumbnail_container ul")
  container.data("original_width", container.width())
  container.css({"width":items*width+"px"})
  
  
  $(".js").css({"visibility":"visible"})
  $("a.js#left").click(scrollLeft);
  $("a.js#right").click(scrollRight);
    
  scrollThumbnails(0)
}

function removeScrolling(){
  container = $("#thumbnail_container ul")
  container.css({"width":container.data("original_width")})
  $(".js").css({"visibility":"hidden"})
}

function scrollLeft (e) {
  if(position > 0) position -= 1;
  window.location.hash = "#" + position
  scrollThumbnails(800);
  e.preventDefault();
}

function scrollRight (e) {
  if(position  < max) position += 1;
  window.location.hash = "#" + position
  scrollThumbnails(800);
  e.preventDefault();
}

function scrollThumbnails(t) {
  if(position >= 0 && position <= max)
  container.animate({left: -(width*8*position)}, t)
  if(position == max ){
    $("a.js#right").animate({"opacity":0}, t, function(){$("a.js#right").css({"visibility":"hidden"}) })
  } else {
    $("a.js#right").css({"visibility":"visible"})
    $("a.js#right").animate({"opacity":1}, t) 
  }
  if(position == 0 ){
    $("a.js#left").animate({"opacity":0}, t, function(){$("a.js#left").css({"visibility":"hidden"})
      })  
  }else {
    $("a.js#left").css({"visibility":"visible"})
    $("a.js#left").animate({"opacity":1}, t) 
  }
}

function toggleEdit (e) {
  var self = $(this);
  if(editing == false)
  {
    editing = true
    removeScrolling()
    self.data("original_html", self.html())
    self.html("Save")
    
    $("#thumbnail_container ul").sortable({helper:'clone'})
  } 
  else
  {
    editing = false
    $("#thumbnail_container ul").sortable("destroy")
    setupScrolling()
    self.html(self.data("original_html"))
    sendPositions()
  }
}

function goToItem (e) {
  location = $(this).attr("href") + "#" + position
  e.preventDefault()
}

function sendPositions (e) {
  var ids = []
  $("li.thumbnail").each(function(thumb){ ids.push($(this).attr("data-item-id")) })
  $.post("/item_orderings", {"ids":ids})
}