var galleryAPI = function(){ g = this; this.urlVars = rcom.getUrlVars(); this.albumArea = $("#orbit_gallery"); this.loadArea = ""; this.initialize = function(){ $(document).ready(function(){ bindHandlers(); if(typeof g.urlVars['cat']!= "undefined"){ g.loadAlbums(g.urlVars['cat']); g.loadArea = "albums"; }else if(typeof g.urlVars['album']!= "undefined"){ g.loadImages(g.urlVars['album']); g.loadArea = "images"; }else if(typeof g.urlVars['theater']!= "undefined"){ g.loadTheater(g.urlVars['theater']); g.loadArea = "theater"; }else{ g.loadAlbums("all"); g.loadArea = "albums"; } }) var bindHandlers = function(){ $("#gallery_panel a.btn").click(function(){ switch ($(this).attr("href")){ case "categories": g.initializeCategories(); break; } }); $("select#category_filter").change(function(){ var val = $(this).val(); window.location = "orbit_gallery?cat="+val; }) } } this.initializeCategories = function(){ var deleteCategory = function(a){ var cid = a.attr("href"); $.post("gallery_category_delete",{id:cid},function(response){ if(response.success) a.parent().hide("slide",function(){a.parent().remove();}) }) } $.get("categorylist",function(html){ rcom.modalWindow({loadHtml:html,width:"400","closeBtn":false},function(dom){ dom.find("ul#category_list a.delete").click(function(){ var a = $(this); deleteCategory(a); }) dom.find("#category_save_btn").click(function(){ var lang = { "en" : dom.find("#category_name_en").val(), "zh_tw" : dom.find("#category_name_zh_tw").val() }; $.post("gallery_category_save",{"category":lang},function(response){ if(response.success){ var $li = $("
  • "+lang.en+" Delete
  • "); dom.find("ul#category_list").append($li); $li.show('slide'); $li.find("a.delete").click(function(){ deleteCategory($(this)); }) dom.find("input[type=text]").val(""); } }) }) dom.find("#category_close_btn").click(function(){ rcom.modalWindowClose(); }) }); }) } this.makeNewAlbum = function(){ $.get("add_album",function(html){ rcom.modalWindow({loadHtml:html,width:400,"closeBtn":false},function(dom){ dom.find("#album_name_save_btn").click(function(){ var options ={ cid : dom.find("select#category_list").val(), albumname : dom.find("#name_en").val(), albumdesc : dom.find("#desc_en").val() } if(options.cid){ $.post("create_album",options,function(response){ if(g.loadArea == "albums") g.loadAlbums("all"); rcom.modalWindowClose(); }) } }) dom.find("#album_name_close_btn").click(function(){ rcom.modalWindowClose(); }) }) }) } this.loadAlbums = function(id){ var headbtn = $('Add Album'); headbtn.click(function(){g.makeNewAlbum();}) g.albumArea.find(".rghead .rgfn").html(headbtn); g.albumArea.find("#imgholder").empty(); var $addsign = $('
    Add Album
    '); $addsign.find("a").click(function(){g.makeNewAlbum();}) $.getJSON("get_albums",{cid:id},function(albums){ $.each(albums,function(i,album){ var $img = $("
    "+album.name+"
    "); g.albumArea.find("#imgholder").append($img); }) g.albumArea.find("#imgholder").append($addsign); }) } this.loadImages = function(id){ //'); headarea.find("a.bt-add").click(function(){ showUploadPanel(); }) uploadpanel.find("a.bt-cls").click(function(){ uploadpanel.hide("slide"); frame.remove(); g.loadImages(id); panelopen = false; }) var panelopen = false; var showUploadPanel = function(){ if(!panelopen){ uploadpanel.prepend(frame); uploadpanel.show("slide"); panelopen = true; } } g.albumArea.find(".rghead .rgfn").html(headarea); g.albumArea.find(".rghead .rgfn").append(uploadpanel); g.albumArea.find("#imgholder").empty(); var $addsign = $('
    Add Album
    '); $addsign.find("a").click(function(){showUploadPanel();}) $.getJSON("get_images",{aid:id},function(images){ $.each(images,function(i,image){ var thumb = image.file.thumb.url; var $img = $("
    "); g.albumArea.find("#imgholder").append($img); }) g.albumArea.find("#imgholder").append($addsign); }) g.albumArea.find("#imgholder").append($addsign); } this.loadTheater = function(id){ var head = $('Back to photos
    Gallery
    '); g.albumArea.find("#imgholder").load("theater?pic="+id,function(theater){ var albumid = $(theater).find("#main_pic").attr("data-content"); head.attr("href","orbit_gallery?album="+albumid); g.albumArea.find(".rghead .rgfn").html(head); }) } }