var DADA_baseComment = function(comm_u){
	return {
		'doblk': function(params, rmobj){
			function failed(txt){
				alert(txt);
			}
			function happy(o){
				if(o.responseText){
					try{
						eval ( "var info = " + o.responseText);
					}catch(e){
						failed(o.responseText);
					}
					if(info.status == 'ok'){
						alert(info.message);
						$tgl($C('blk_' + info.user_id), 'inline');
						$tgl($C('ublk_' + info.user_id), 'inline');
					}else if(info.status == 'failed'){
						failed(info.message)
					}
				}
			}
			var url = "/profile/userblock/json/"; 
			var callback = { success:happy,failure: void(0), timeout: Organizer.timeOutTime }; 
			var request = Organizer.connect.asyncRequest('POST', url, callback, params); 
		},
		
		'doit': function(params, rmobj){
			function failed(txt){
				alert(txt);
			}
			function happy(o){
				if(o.responseText){
					try{
						eval ( "var info = " + o.responseText);
					}catch(e){
						failed(o.responseText);
					}
					if(info.status == 'ok'){
						if(info.did == 'del'){
							var onComplete = function(){ 
								Organizer.remove($('comment_' + info.cid));
							};
							if($('comment_' + info.cid)){
								try {
									var anim = new YAHOO.util.Anim($(rmobj), { 	opacity: { to: 0 } }, 0.4, YAHOO.util.Easing.easeOut);
									anim.onComplete.subscribe(onComplete);
									anim.animate();
								}catch(e){
									onComplete();
								}
							}
						}else{
							$tgl('appr_comment_' + info.cid, 'inline')
							$tgl('rm_comment_' + info.cid, 'inline')
						}
					}else if(info.status == 'failed'){
						failed(info.message)
					}
				}
			}
			var url = comm_u || "/sets/commentsappr/json/"; 
			var callback = { success:happy,failure: void(0), timeout: Organizer.timeOutTime }; 
			var request = Organizer.connect.asyncRequest('POST', url, callback, params); 
		}
	}
};

var UserSetComment = function(){
	var undo = [];
	return {
		'undo': function(e, obj){
			var cid = undo.pop();
			if(cid){
				var p = "cid=" + cid + "&act=y";
				DADA_baseComment().doit(p, obj);
			}
		},
		'pop': function(e, cid, obj){
			var p = "cid=" + cid + "&act=n";
			undo.push(cid);
			DADA_baseComment().doit(p, obj);
		},
		'del': function(e, cid, obj){
			var p = "cid=" + cid + "&act=del";
			undo.push(cid);
			DADA_baseComment().doit(p, obj);
		},
		'appr': function(e, cid, obj){
			var p = "cid=" + cid + "&act=y";
			DADA_baseComment().doit(p, obj);
		},
		'block': function(e, uid, obj){
			var p = "b=" + uid;
			DADA_baseComment().doblk(p, obj);
		},
		'unblock': function(e, uid, obj){
			var p = "ub=" + uid;
			DADA_baseComment().doblk(p, obj);
		}
	};
}();

var UserPostComment = function(){
	return {
		'del': function(e, cid, obj){
			var p = "cid=" + cid + "&act=del";
			DADA_baseComment("/studio/commenttiddle/").doit(p, obj);
		},
		'appr': function(e, cid, obj){
			var p = "cid=" + cid + "&act=y";
			DADA_baseComment("/studio/commenttiddle/").doit(p, obj);
		}
	};
}();


