2012-07-19 07:44:44 +00:00
|
|
|
var galleryAPI = function(){
|
|
|
|
g = this;
|
2012-07-25 08:20:07 +00:00
|
|
|
this.urlVars = rcom.getUrlVars();
|
|
|
|
this.albumArea = $("#orbit_gallery");
|
|
|
|
this.loadArea = "";
|
2012-07-19 07:44:44 +00:00
|
|
|
this.initialize = function(){
|
|
|
|
$(document).ready(function(){
|
2012-07-25 08:20:07 +00:00
|
|
|
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";
|
|
|
|
}
|
2012-07-19 07:44:44 +00:00
|
|
|
})
|
|
|
|
var bindHandlers = function(){
|
|
|
|
$("#gallery_panel a.btn").click(function(){
|
2012-07-25 08:20:07 +00:00
|
|
|
switch ($(this).attr("href")){
|
|
|
|
case "categories":
|
|
|
|
g.initializeCategories();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
$("select#category_filter").change(function(){
|
|
|
|
var val = $(this).val();
|
|
|
|
window.location = "orbit_gallery?cat="+val;
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
2012-07-19 07:44:44 +00:00
|
|
|
|
2012-07-25 08:20:07 +00:00
|
|
|
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 = $("<li class='hide'>"+lang.en+" <a href='"+response.id+"' class='btn delete' onclick='return false;'>Delete</a></li>");
|
|
|
|
dom.find("ul#category_list").append($li);
|
|
|
|
$li.show('slide');
|
|
|
|
$li.find("a.delete").click(function(){
|
|
|
|
deleteCategory($(this));
|
|
|
|
})
|
|
|
|
dom.find("input[type=text]").val("");
|
|
|
|
}
|
2012-07-19 07:44:44 +00:00
|
|
|
})
|
2012-07-25 08:20:07 +00:00
|
|
|
})
|
|
|
|
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();
|
|
|
|
})
|
2012-07-19 07:44:44 +00:00
|
|
|
})
|
2012-07-25 08:20:07 +00:00
|
|
|
|
|
|
|
})
|
|
|
|
}
|
|
|
|
this.loadAlbums = function(id){
|
|
|
|
var headbtn = $('<a class="rgui bt-add rgbt" title="Add Album" href="albums" onclick="return false;"><span>Add Album</span></a>');
|
|
|
|
headbtn.click(function(){g.makeNewAlbum();})
|
|
|
|
g.albumArea.find(".rghead .rgfn").html(headbtn);
|
|
|
|
g.albumArea.find("#imgholder").empty();
|
|
|
|
var $addsign = $('<div class="rgalbum"><a id="global_add" class="rgui bt-addnew" href="add" onclick="return false;">Add Album</a></div>');
|
|
|
|
$addsign.find("a").click(function(){g.makeNewAlbum();})
|
|
|
|
$.getJSON("get_albums",{cid:id},function(albums){
|
|
|
|
$.each(albums,function(i,album){
|
|
|
|
var $img = $("<div class='rgalbum'><a title='"+album.description+"' href='?album="+album._id+"'><img src='../../../assets/gallery/default.jpg' width='120px' height='90px'/></a><span class='albumname'>"+album.name+"</span></div>");
|
|
|
|
g.albumArea.find("#imgholder").append($img);
|
|
|
|
})
|
|
|
|
g.albumArea.find("#imgholder").append($addsign);
|
|
|
|
})
|
|
|
|
}
|
|
|
|
this.loadImages = function(id){
|
|
|
|
//<iframe id="upload_panel" width="100%" scrolling="no" height="300" frameborder="0" src="upload_panel.html?id=16">
|
|
|
|
|
|
|
|
var headarea = $('<a class="rgui bt-back rgbt" title="Back to Albums" href="orbit_gallery"><span>Back to Album</span></a>');
|
|
|
|
headarea.append($('<a class="rgui bt-add rgbt" title="Add Images" href="images" onclick="return false;"><span>Add Images</span></a>'));
|
|
|
|
var uploadpanel = $('<div id="upload_panel_holder" style="display:none; margin: 16px 0 50px 0;"><div class="rgfn"><a class="rgui bt-cls rgbt" title="Close" href="" onclick="return false;"><span id="album_name_span">Close Panel</span></a></div></div>');
|
|
|
|
var frame = $('<iframe id="upload_panel" width="100%" scrolling="no" height="300" frameborder="0" src="upload_panel"></iframe>');
|
|
|
|
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;
|
|
|
|
}
|
2012-07-19 07:44:44 +00:00
|
|
|
}
|
2012-07-25 08:20:07 +00:00
|
|
|
g.albumArea.find(".rghead .rgfn").html(headarea);
|
|
|
|
g.albumArea.find(".rghead .rgfn").append(uploadpanel);
|
|
|
|
g.albumArea.find("#imgholder").empty();
|
|
|
|
var $addsign = $('<div class="rgalbum"><a id="global_add" class="rgui bt-addnew" href="add" onclick="return false;">Add Album</a></div>');
|
|
|
|
$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 = $("<div class='rgalbum'><a title='"+image.description+"' href='?theater="+image._id+"'><img src='"+thumb+"'/></a></div>");
|
|
|
|
g.albumArea.find("#imgholder").append($img);
|
|
|
|
})
|
|
|
|
g.albumArea.find("#imgholder").append($addsign);
|
|
|
|
})
|
|
|
|
g.albumArea.find("#imgholder").append($addsign);
|
|
|
|
|
|
|
|
}
|
|
|
|
this.loadTheater = function(id){
|
|
|
|
var head = $('<a href="" class="rgui bt-back rgbt" title="Back"><span id="album_name_span">Back to photos</span></a></div><div class="rgtitle">Gallery</div>');
|
|
|
|
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);
|
|
|
|
})
|
2012-07-19 07:44:44 +00:00
|
|
|
}
|
2012-07-25 08:20:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|