main.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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. version = "1.0.1";
  15. $(document).ready(function(){
  16. /* Login */
  17. $("#password").live("keyup", function() {
  18. if ($(this).val().length>0) $(this).removeClass("error");
  19. });
  20. /* Add Dialog */
  21. $(".button_add").live("click", function() { $("body").append(buildAddModal) });
  22. $("#add_album").live("click", addAlbum);
  23. $("#add_photo").live("click", function() { $("#auswahl").html(""); $("#upload_files").click() });
  24. /* Toolbar Buttons */
  25. $("#button_signout").live("click", function() {
  26. modal = buildModal("Sign Out", "Are you sure you want to leave and log out?", ["Sign out", "Stay here"], ["logout();", ""]);
  27. $("body").append(modal);
  28. });
  29. $("#button_download").live("click", function() {
  30. link = $("#image_view #image").css("background-image").replace(/"/g,"").replace(/url\(|\)$/ig, "");
  31. window.open(link,"_newtab");
  32. });
  33. $("#button_move").live("click", function(e) {
  34. showContextMenuMove(image_view.attr("data-id"), e.pageX, e.pageY);
  35. });
  36. $("#button_trash_album").live("click", function() {
  37. if (content.attr("data-id")=="0") deleteUnsorted();
  38. else deleteAlbum();
  39. });
  40. $("#button_trash").live("click", function() { deletePhoto() });
  41. $("#button_edit_album").live("click", function() { renameAlbum() });
  42. $("#button_edit").live("click", function() { renamePhoto() });
  43. $("#button_info").live("click", function() { showInfobox() });
  44. $("#button_archive").live("click", function() { getAlbumArchive() });
  45. $("#button_sync").live("click", function() { syncFolder() });
  46. /* Rename Album/Photo via Titlebar */
  47. $("#title.editable").live("click", function() {
  48. if (visibleImageview()) renamePhoto(); else renameAlbum();
  49. });
  50. /* Context Menu */
  51. $(".photo").live("contextmenu", function(e) {
  52. e.preventDefault();
  53. showContextMenuPhoto($(this).attr("data-id"), e.pageX, e.pageY);
  54. });
  55. $(".contextmenu_bg").live("click", closeContextMenu);
  56. /* Star/Share Photo */
  57. $("#button_star").live("click", setPhotoStar);
  58. $("#button_share").live("click", function(e) {
  59. if ($("#button_share a.active").length) showContextMenuShare(image_view.attr("data-id"), e.pageX, e.pageY);
  60. else setPhotoPublic(e);
  61. });
  62. $(".copylink").live("click", function() { $(this).select() });
  63. /* Upload */
  64. $("#upload_files").live("change", function() {
  65. closeModal();
  66. handleFiles(this.files);
  67. $("#upload_button").click();
  68. });
  69. /* Search */
  70. $("#search").live("keyup", function() { search($(this).val()) });
  71. /* Nav Forward */
  72. $(".album").live("click", function() { setURL("a" + $(this).attr("data-id")) });
  73. $(".photo").live("click", function() { setURL("a" + content.attr("data-id") + "p" + $(this).attr("data-id")) });
  74. /* Nav Back */
  75. $("#button_back_home").live("click", function() { setURL("") });
  76. $("#button_back").live("click", function() { setURL("a" + content.attr("data-id")) });
  77. /* Close Modal */
  78. $(".message a.close").live("click", closeModal);
  79. /* Image View */
  80. $("#image_view a#previous").live("click", loadPreviousPhoto);
  81. $("#image_view a#next").live("click", loadNextPhoto);
  82. /* Infobox */
  83. $("#infobox_overlay, #infobox .header a").live("click", function() { hideInfobox() });
  84. $("#edit_description").live("click", function() { setPhotoDescription() });
  85. /* Window */
  86. $(window).keydown(key);
  87. $(window).bind("popstate", getURL);
  88. $(window).bind("mouseleave", hideControls);
  89. $(window).bind("mouseenter", showControls);
  90. /* Init */
  91. if ((BrowserDetect.browser=="Explorer")||(BrowserDetect.browser=="Safari"&&BrowserDetect.version<5)||(BrowserDetect.browser=="Chrome"&&BrowserDetect.version<18)||(BrowserDetect.browser=="Firefox"&&BrowserDetect.version<14)) {
  92. 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';"]);
  93. $("body").append(modal);
  94. } else init();
  95. });