main.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /**
  2. * @name main.js
  3. * @author Philipp Maurer
  4. * @author Tobias Reich
  5. * @copyright 2012 by Philipp Maurer, Tobias Reich
  6. */
  7. var header = $("header"),
  8. headerTitle = $("#title"),
  9. content = $("#content"),
  10. image_view = $("#image_view"),
  11. loading = $("#loading"),
  12. infobox = $("#infobox"),
  13. api_path = "php/api.php";
  14. $(document).ready(function(){
  15. /* Login */
  16. $("#password").live("keyup", function() {
  17. if ($(this).val().length>0) $(this).removeClass("error");
  18. });
  19. /* Add Dialog */
  20. $(".button_add").live("click", function() { $("body").append(buildAddModal) });
  21. $("#add_album").live("click", addAlbum);
  22. $("#add_photo").live("click", function() { $("#auswahl").html(""); $("#upload_files").click() });
  23. /* Toolbar Buttons */
  24. $("#button_signout").live("click", function() {
  25. modal = buildModal("Sign Out", "Are you sure you want to leave and log out?", ["Sign out", "Stay here"], ["logout();", ""]);
  26. $("body").append(modal);
  27. });
  28. $("#button_download").live("click", function() {
  29. link = $("#image_view #image").css("background-image").replace(/"/g,"").replace(/url\(|\)$/ig, "");
  30. window.open(link,"_newtab");
  31. });
  32. $("#button_move").live("click", function(e) {
  33. showContextMenuMove(image_view.attr("data-id"), e.pageX, e.pageY);
  34. });
  35. $("#button_trash_album").live("click", function() {
  36. if (content.attr("data-id")=="0") deleteUnsorted();
  37. else deleteAlbum();
  38. });
  39. $("#button_trash").live("click", function() { deletePhoto() });
  40. $("#button_edit_album").live("click", function() { renameAlbum() });
  41. $("#button_edit").live("click", function() { renamePhoto() });
  42. $("#button_info").live("click", function() { showInfobox() });
  43. $("#button_archive").live("click", function() { getAlbumArchive() });
  44. /* Rename Album/Photo via Titlebar */
  45. $("#title.editable").live("click", function() {
  46. if (visibleImageview()) renamePhoto(); else renameAlbum();
  47. });
  48. /* Context Menu */
  49. $(".photo").live("contextmenu", function(e) {
  50. e.preventDefault();
  51. showContextMenuPhoto($(this).attr("data-id"), e.pageX, e.pageY);
  52. });
  53. $(".contextmenu_bg").live("click", closeContextMenu);
  54. /* Star/Share Photo */
  55. $("#button_star").live("click", setPhotoStar);
  56. $("#button_share").live("click", function(e) {
  57. if ($("#button_share a.active").length) showContextMenuShare(image_view.attr("data-id"), e.pageX, e.pageY);
  58. else setPhotoPublic(e);
  59. });
  60. $(".copylink").live("click", function() { $(this).select() });
  61. /* Upload */
  62. $("#upload_files").live("change", function() {
  63. closeModal();
  64. handleFiles(this.files);
  65. $("#upload_button").click();
  66. });
  67. /* Search */
  68. $("#search").live("keyup", function() { search($(this).val()) });
  69. /* Nav Forward */
  70. $(".album").live("click", function() { setURL("a" + $(this).attr("data-id")) });
  71. $(".photo").live("click", function() { setURL("a" + content.attr("data-id") + "p" + $(this).attr("data-id")) });
  72. /* Nav Back */
  73. $("#button_back_home").live("click", function() { setURL("") });
  74. $("#button_back").live("click", function() { setURL("a" + content.attr("data-id")) });
  75. /* Close Modal */
  76. $(".message a.close").live("click", closeModal);
  77. /* Image View */
  78. $("#image_view a#previous").live("click", loadPreviousPhoto);
  79. $("#image_view a#next").live("click", loadNextPhoto);
  80. /* Infobox */
  81. $("#infobox_overlay, #infobox .header a").live("click", function() { hideInfobox() });
  82. $("#edit_description").live("click", function() { setPhotoDescription() });
  83. /* Window */
  84. $(window).keydown(key);
  85. $(window).bind("popstate", getURL);
  86. $(window).bind("mouseleave", hideControls);
  87. $(window).bind("mouseenter", showControls);
  88. /* Init */
  89. if ((BrowserDetect.browser=="Explorer")||(BrowserDetect.browser=="Safari"&&BrowserDetect.version<5)||(BrowserDetect.browser=="Chrome"&&BrowserDetect.version<18)||(BrowserDetect.browser=="Firefox"&&BrowserDetect.version<14)) {
  90. modal = buildModal("Browser not supported", "You are currently using an outdated or unsupported Browser. This site might not work properly. Please consider to update your Browser!", ["Leave"], ["location.href = 'http://browsehappy.com';"]);
  91. $("body").append(modal);
  92. } else init();
  93. });