%# encoding: utf-8 %> 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 if(typeof g.urlVars['edit']!= "undefined"){ g.editAlbum(g.urlVars['edit']); g.loadArea = "edit"; }else{ g.loadAlbums("all"); g.loadArea = "albums"; } }) var bindHandlers = function(){ $("#filter .filter_btns a").click(function(){ if(!$(this).hasClass("active")){ $(this).addClass("active"); if(typeof g.urlVars['cat'] == "undefined") window.location = "orbit_gallery?" + $(this).attr("href"); else window.location = window.location.href +"&"+ $(this).attr("href"); }else{ $(this).removeClass("active"); var loc = window.location.href; var url = loc.replace($(this).attr("href")+"&",""); if(url == loc) url = loc.replace($(this).attr("href"),""); if(url.charAt(url.length-1)=="&" || url.charAt(url.length-1)=="?") url = url.substr(0,url.length-1); window.location = url; } }) } } 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 : { "en" : dom.find("#name_en").val(), "zh_tw" : dom.find("#name_zh_tw").val() }, albumdesc : { "en" : dom.find("#desc_en").val(), "zh_tw" : dom.find("#desc_zh_tw").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.deleteAlbum = function(id){ if(confirm("<%= I18n.t('gallery.del_album?') %>")){ $.post("delete_album",{aid:id},function(){ window.location = "orbit_gallery"; }) } } this.loadAlbums = function(id){ var headbtn = $('" href="albums" onclick="return false;"><%= I18n.t("gallery.add_album") %>'); headbtn.click(function(){g.makeNewAlbum();}) g.albumArea.find(".rghead .rgfn").html(headbtn); g.albumArea.find("#imgholder").empty(); var $addsign = $('
'); $addsign.find("a").click(function(){g.makeNewAlbum();}) if(id!="all"){ var ids = []; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++){ hash = hashes[i].split('='); ids.push(hash[1]); var href = "cat="+hash[1]; $("#filter .filter_btns a[href='"+href+"']").addClass("active"); } }else{ var ids = "all"; } $.getJSON("get_albums",{cid:ids},function(categories){ $.each(categories,function(x,category){ $.each(category,function(i,album){ if(album.cover == "default") var $img = $(""); else var $img = $(""); g.albumArea.find("#imgholder").append($img); }) }) g.albumArea.find("#imgholder").append($addsign); }) } this.loadImages = function(id){ //