
Modal.ReviewList = Class.create();
Object.extend(Modal.ReviewList, {
	reviewLiTemplate: new Template(
		'#{content}<span class="writer"> by <a href="#{url}" title="#{nick}">#{nick}</a>' +
		'</span><span class="vertical">|</span><span class="time">#{date}</span>'), 
	
	reviewEditTemplate: new Template(
		'<span>\n<a href="#" class="control" onclick="Page.EoFeeling.updateRecommend(\'#{postIndex}\',\'#{serial}\', event);">수정</a>' +
		'|<a href="#" class="control" onclick="Page.EoFeeling.deleteRecommend(\'#{permaLink}\',\'#{postIndex}\',\'#{serial}\', event);">삭제</a></span>'
	) 		
});

	
Object.extend(Modal.ReviewList.prototype, {
	initialize: function(_dialogID) {
		this.dialogID = _dialogID;
		this.dialog = $(this.dialogID);
		
		this.reviewList = $(this.dialog.getElementsByTagName('ul')[0]);
		this.postIndex = (this.dialog.getElementsByTagName('input')[0]).value;
		this.permaLink = (this.dialog.getElementsByTagName('input')[1]).value;
		Modal.addDialog(this);
	},
	
	open: function(isVisibleList) {
		this.requestReviewList(this.postIndex, this.permaLink, this.reviewList);
		this.dialog.show();
	},
	
	close: function() {
		this.dialog.hide();
	},
	
	visible: function(event) {
		return this.dialog.visible();
	}, 	
	
	requestReviewList: function(postIndex, permaLink, ulElm) {
		this.dstElement = ulElm; 
		new Ajax.Request('/exec/eofeeling/get_whole_reviewlist_exec.php', {
			asynchronous: false,
			parameters: {'permaLink': permaLink,post_index : postIndex},
			
			onSuccess: function(response){
				var pbIndex = postIndex;
				var text = response.responseText;
				
				if(text.isJSON()) {
					var html = "";
					var reviews = text.evalJSON()[0];
					
					for(var i=0; i<reviews.length; i++) {
						var review = reviews[i];
						var listHTML = '<li class="main_txt">' 
							+ Modal.ReviewList.reviewLiTemplate.evaluate({
								content: review['recommendation'], 
								url: review['recommend_blogurl'],
								nick: review['recommend_usernick'], 
								date: review['date']
						});
						html = html + listHTML;
						
						if(review['is_mine'] == true) {
							html = html + Modal.ReviewList.reviewEditTemplate.evaluate({
								'permaLink': permaLink,
								'postIndex': pbIndex,
								'serial': review['serial']
							});
						}
						html += '</li>';
					}
					this.dstElement.innerHTML = html;
				}
				this.dstElement = null;
			}.bind(this),
			
			onFailure: function() {
				this.dstElement = null;
			}
		});
	} 
});