var EL_AS_IMG;

var PHOTOS_PER_PAGE = 20;
var PHOTOS_SKIP = 0;
var ALBUM_ID = 0;

var initAlbumsValues = function() {
  if ($("#photos_per_page_value").is("input")) {
    PHOTOS_PER_PAGE = parseInt($("#photos_per_page_value").val());
  }
  if ($("#photos_skip_value").is("input")) {
    PHOTOS_SKIP = parseInt($("#photos_skip_value").val());
  }
  
  EL_AS_IMG = $("#as_img");
}

var initAlbumId = function() {
  ALBUM_ID = $("#album_id_value").is("input")
    ? parseInt($("#album_id_value").val())
    : 0;
}

var initAlbumsScreen = function() {
  //hideAlbumsScreen();
  //$("#albums_screen_wrap").css("display", "block");

}

var showAlbumsScreen = function() {
  
  $("#albums_screen_wrap").fadeTo(1, 0, function() {
    $("#albums_screen").fadeTo(1, 0, function() {
      $("#albums_screen_wrap").css("display", "block");
      $("#albums_screen").css("display", "block");

      $("#albums_screen_wrap").fadeTo(300, 0.3);
      $("#albums_screen").fadeTo(300, 1);
    
    });
  });
  
  
}

var hideAlbumsScreen = function() {
  $("#albums_screen").fadeTo(200, 0, function() {
    $("#albums_screen_wrap").fadeTo(50, 0, function() {
      $("#albums_screen_wrap").css("display", "none");
      $("#albums_screen").css("display", "none");
    });
  });
  
}

var initPgnPhotosButtons = function() {
  
  $("#pgn_prev_photos").click(function() {
   
    var rType = "GET";
    var rUrl =
      CONTEXT_PATH +
      "x/albums/view/" +
      ALBUM_ID + "/" +
      LC_CODE + "/" +
      parseInt(PHOTOS_SKIP + PHOTOS_PER_PAGE);
    var rData = "";
    var rSuccess = setContent;
    var rError = setContent;
    
    $.ajax({
      type: rType,
      url: rUrl,
      data: rData,
      success: function(rawResponse) {
        setContent(rawResponse);
        PHOTOS_SKIP += PHOTOS_PER_PAGE;
        initPgnPhotosButtons();
        initPhotosLinks();
        initBackToAlbumsLink();
        window.location.hash = "album-" + ALBUM_ID + "-skip-" + PHOTOS_SKIP;
      }
    });
    
    return false;
  });
  
  $("#pgn_next_photos").click(function() {
  
    var rType = "GET";
    var rUrl =
      CONTEXT_PATH +
      "x/albums/view/" +
      ALBUM_ID + "/" +      
      LC_CODE + "/" +
      parseInt(PHOTOS_SKIP - PHOTOS_PER_PAGE);
    var rData = "";
    var rSuccess = setContent;
    var rError = setContent;
    
    $.ajax({
      type: rType,
      url: rUrl,
      data: rData,
      success: function(rawResponse) {
        PHOTOS_SKIP -= PHOTOS_PER_PAGE;
        setContent(rawResponse);
        initPgnPhotosButtons();
        initPhotosLinks();
        initBackToAlbumsLink();
        window.location.hash = "album-" + ALBUM_ID + "-skip-" + PHOTOS_SKIP;
      }
    });
    
    return false;
  });
}

var initAlbumsLinks = function() {

  $("#x_old_wrap").find(".album_link, .album_link_img").click(function() {
    var id = parseInt($(this).attr("id").split("_")[2]); 
    loadAlbum(id);
    return false;
    
  });
}

var loadAlbum = function(id) {
  var rType = "GET";
  var rUrl =
    CONTEXT_PATH +
    "x/albums/view/" +
    id + "/" +
    LC_CODE + "/0/";
  var rData = "";
  var rSuccess = setContent;
  var rError = setContent;
  
  $.ajax({
    type: rType,
    url: rUrl,
    data: rData,
    success: function(rawResponse) {
      setContent(rawResponse);
      initAlbumsValues();
      initBackToAlbumsLink();
      initPhotosLinks();
      initPgnPhotosButtons();
      initAlbumId();
      window.location.hash = "album-" + id;
    }
  });
}

var setPhoto = function(a) {
  var img = a.find("img").eq(0);
  var src = img.attr("src");

  var imgname = src.substring(src.lastIndexOf("/"));
  var pathto = src.substring(0, src.lastIndexOf("/"));
  pathto = pathto.substring(0, pathto.lastIndexOf("/"));
 
  EL_AS_IMG.attr("src", pathto + imgname);
  EL_AS_IMG.removeClass();
  EL_AS_IMG.addClass(img.parent().attr("id"));
}

var initPhotosLinks = function() {

  $("#as_close").click(hideAlbumsScreen);

  $("#x_old_wrap").find(".photo_link").each(function() {
    $(this).removeAttr("target");
  }).click(function() {
   
    setPhoto($(this));    
    showAlbumsScreen();
        
    return false;
  });
  
  $("#as_prev").click(function() {
  
    var prevPhotoLink = null;
  
    var prevPhotoLink = $("#" + $("#as_img").attr("class").toString())
        /*.parent()*/.prev()/*.find("a")*/.eq(0);
       
    if (prevPhotoLink.attr("id") == undefined || prevPhotoLink.attr("id")
        .substring(0, prevPhotoLink.attr("id").lastIndexOf("_")) != "photo_link") {
      prevPhotoLink = $("#x_old_wrap").find(".photo_link:last").eq(0);
    }

    setPhoto(prevPhotoLink);
  });
   
  $("#as_next").unbind("click").click(function() {
   
    var nextPhotoLink = null;
  
    var nextPhotoLink = $("#" + $("#as_img").attr("class").toString())
        /*.parent()*/.next()/*.find("a")*/.eq(0);
        
                
    if (nextPhotoLink.attr("id") == undefined || nextPhotoLink.attr("id")
        .substring(0, nextPhotoLink.attr("id").lastIndexOf("_")) != "photo_link") {
      nextPhotoLink = $("#x_old_wrap").find(".photo_link:first").eq(0);
    }
    
    setPhoto(nextPhotoLink);
  });
}

var initBackToAlbumsLink = function() {
  $("#back_to_albums_link").click(function() {
    
    var rType = "GET";
    var rUrl =
      CONTEXT_PATH +
      "x/albums/" +
      LC_CODE + "/";
    var rData = "";
    var rSuccess = setContent;
    var rError = setContent;
    
    $.ajax({
      type: rType,
      url: rUrl,
      data: rData,
      success: function(rawResponse) {
        setContent(rawResponse);
        initAlbumsValues();
        //initPgnButtons();
        initAlbumsLinks();
        window.location.hash = "albums";
      }
    });
    
    return false;    
  });
}

var initAlbumsLink = function() {
  $("#page_link_albums").click(function() {
    
    var rType = "GET";
    var rUrl =
      CONTEXT_PATH +
      "x/albums/" +
      LC_CODE;
    var rData = "";
    var rSuccess = setContent;
    var rError = setContent;
    
    $.ajax({
      type: rType,
      url: rUrl,
      data: rData,
      success: function(rawResponse) {
        setContent(rawResponse);
        initAlbumsValues();
        //initPgnButtons();
        initAlbumsLinks();
        activateAlbumsMenuItem();
        setModuleKey("albums");
        window.location.hash = "albums";
      }
    });
    
    return false;    
  });
}

var initAlbums = function() {
  initAlbumsValues();
  initBackToAlbumsLink();
  initPgnPhotosButtons();
  initPhotosLinks();
  initAlbumsLinks();
  initAlbumsLink();
  initAlbumId();
}

var activateAlbumsMenuItem = function() {
  deactivatePageMenuItem();
  $("#page_link_albums").addClass("page_link_selected");
}

