var square = new function(){
var that = this;
var j_index_page;
var j_catelist;
var j_indexlist;
var square_node = new vus.node('square');
var user_node = new vus.node('user');
var index_node = new vus.node('index');
function box_set(j_box,id,logo,title,start_time,end_time,intro,active){
var j_oper;
j_box.attr('boxid',id);
j_box.find('div.logo').css('background-image','url(\'' + logo + '\')');
j_box.find('h5.title').text(title);
j_box.find('p.intro').text(intro);
if(start_time != null){
j_box.find('div.start').text('┌─' + com.get_timestring(start_time));
}
if(end_time != null){
j_box.find('div.end').text('└→' + com.get_timestring(end_time));
}
j_oper = j_box.find('div.oper');
j_oper.empty();
if(active == null){
j_oper.append('開啓');
j_oper.find('button.join').on('click',function(e){
$(this).button('loading');
com.call_backend('core/square/','join_square',function(result){
var data = result.data;
if(com.is_callerr(result)){
if(data == 'Ereject'){
index.add_alert('alert-error','拒絕','加入請求被拒絕');
}else if(data == 'Eno_such_sqid'){
index.add_alert('alert-error','錯誤','方塊不存在');
}else{
index.add_alert('alert-error','錯誤','操作方塊發生錯誤');
}
}else{
box_update(id,logo,title,start_time,end_time,intro,data.active);
}
},id);
});
}else{
if(active== true){
j_oper.append('開啓');
}else{
j_oper.append('開啓');
}
j_oper.find('button.quit').on('click',function(e){
$(this).button('loading');
com.call_backend('core/square/','quit_square',function(result){
var data = result.data;
if(com.is_callerr(result)){
if(data == 'Eno_such_sqid'){
index.add_alert('alert-error','錯誤','方塊不存在');
}else{
index.add_alert('alert-error','錯誤','操作方塊發生錯誤');
}
}else{
box_update(id,logo,title,start_time,end_time,intro,null);
}
},id);
});
}
j_oper.find('a.open').attr('href','/toj/sq/' + id + '/');
}
function box_update(id,logo,title,start_time,end_time,intro,active){
var i;
var boxs;
boxs = j_indexlist.find('[boxid="' + id + '"]');
for(i = 0;i < boxs.length;i++){
box_set($(boxs[i]),id,logo,title,start_time,end_time,intro,active);
}
}
function box_create(id,logo,title,start_time,end_time,intro,active){
var j_box = $('
');
box_set(j_box,id,logo,title,start_time,end_time,intro,active);
return j_box;
}
function catebox_set(j_box,cateid,catename){
j_box.attr('cateid',cateid);
j_box.find('h3.catename').text(catename);
}
function catebox_create(cateid,catename){
var j_box = $('
進行中
等待中
已結束
');
catebox_set(j_box,cateid,catename);
return j_box;
}
function catelist_update(){
var defer = $.Deferred();
com.call_backend('core/square/','list_category',function(result){
var data = result.data;
if(com.is_callerr(result)){
index.add_alert('','警告','方塊目錄發生錯誤');
defer.reject();
}else{
defer.resolve(data);
}
});
return defer.promise();
}
function indexlist_update(catelist,joined){
var i;
var j_catebox;
var cateo;
j_catelist.empty();
j_indexlist.empty();
for(i = 0;i < catelist.length;i++){
cateo = catelist[i];
com.call_backend('core/square/','list_square',function(cateo){return function(result){
var i;
var data = result.data;
var show_list;
var sqo;
var logo;
var start_time;
var end_time;
var j_cate;
var j_box;
var j_run;
var j_pend;
var j_past;
var j_a;
if(com.is_callerr(result)){
index.add_alert('','警告','方塊目錄發生錯誤');
}else{
show_list = new Array();
for(i = 0;i < data.length;i++){
sqo = data[i];
if((joined == false || sqo.active != null) && sqo.hidden == false){
show_list.push(sqo);
}
}
if(show_list.length == 0){
return;
}
j_cate = $('