function preview() {
	if (document.all) {
		m = document.all('comment_preview');
		if (m.style.display == 'none') {
			m.style.display = 'block';
		} else if (m.style.display == 'block') {
			m.style.display = 'none';
		}
	}
	else if (document.getElementById) {
		m = document.getElementById('comment_preview');
		if (m.style.display == 'none') {
			m.style.display = 'block';
		} else if (m.style.display == 'block') {
			m.style.display = 'none';
		}
	}
}
String.prototype.zf = function(l) { return '0'.string(l - this.length) + this; }
Number.prototype.zf = function(l) { return this.toString().zf(l); }
String.prototype.string = function(l) { var s = '', i = 0; while (i++ < l) { s += this; } return s; }

var gsMonthNames = new Array(
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
);
var gsDayNames = new Array(
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday'
);
Date.prototype.format = function(f)
{
    if (!this.valueOf())
        return ' ';

    var d = this;

    return f.replace(/(yyyy|MMMM|MMM|MM|mm|dddd|ddd|dd|hh|HH|ss|a\/p)/gi,
        function($1)
        {
            switch ($1)
            {
            case 'yyyy': return d.getFullYear();
            case 'MMMM': return gsMonthNames[d.getMonth()];
            case 'MMM':  return gsMonthNames[d.getMonth()].substr(0, 3);
            case 'MM':   return (d.getMonth() + 1).zf(2);
            case 'dddd': return gsDayNames[d.getDay()];
            case 'ddd':  return gsDayNames[d.getDay()].substr(0, 3);
            case 'dd':   return d.getDate().zf(2);
            case 'hh':   return ((h = d.getHours() % 12) ? h : 12).zf(2);
            case 'HH':   return d.getHours().zf(2);
            case 'mm':   return d.getMinutes().zf(2);
            case 'ss':   return d.getSeconds().zf(2);
            case 'a/p':  return d.getHours() < 12 ? 'a' : 'p';
            }
        }
    );
}
function commentHtml(val){
	if(val){
		var html = '';
		for(var i=0;i<val.length;i++){
			html += "<div class='message'>\n";
			if(val[i].comment.is_permitted){
				if(val[i].comment.url != '' && val[i].comment.url != null){
					html += "<div class='message_title'><a href='"+val[i].comment.url+"' target='_blank'>"+val[i].comment.author+"</a></div>\n";
				}else{
					html += "<div class='message_title'>"+val[i].comment.author+"</div>\n";
				}
			}
			if(val[i].comment.is_permitted){
				html += "<div class='message_txt'>"+val[i].convertedBody+"</div>\n";
			}else{
				html += "<div class='message_txt'><b>管理者の承認待ちです。</b><br>※blog管理者の設定により、管理者が承認するまでコメントは表示されません。</div>\n";
			}
			html += "<div class=\"blog_report\">[ <a href=\"javascript:void(0);\" onClick=\"comment_notify('"+val[i].comment.blog_id+"','"+val[i].comment.entry_id+"','"+val[i].comment.comment_id+"');\" rel=\"nofollow\">このコメントを通報する</a> ]</div>";
			var temp = new Date(new Number(val[i].datetimeString));
			html += "<div class='message_date'>"+temp.format('MMM dd [ddd], yyyy, HH:mm')+"</div>\n";
			html += "</div>\n";
		}
		html += "<img src='http://www.yaplog.jp/img/common/gccolor/blank.gif' width='0' height='0' alt=''>";
		document.getElementById("comment_list").innerHTML = html;
	}
}

var currentPage = 0;
var memberIdVar = '';
var entryIdVar = 0;
var pageSize = 20;
var maxIndices = 5;

function commentPaging(totalCount){
	//paging
	var start = currentPage - maxIndices;
	var end = currentPage + maxIndices;
	var totalPageCount = parseInt(totalCount/pageSize) + ((totalCount%pageSize>0)?1:0);
	if(start < 0) start = 0;
	if(end > totalPageCount) end = totalPageCount;
	if(start>end) end = start;

	var pagingHtml = "<div class='page_comment-box'>";
	if(totalCount > 0 ){
		pagingHtml += "<ul><li>PAGE</li>";
		for(var i=start ; i<end ; i++){
			if(currentPage == i) pagingHtml += "<li>"+new Number(currentPage+1)+"</li>";
			else{
				pagingHtml += "<li><a href=\"javascript:pagingCommentList('"+memberIdVar+"','"+entryIdVar+"',"+i+");\">"+(i+1)+"</a></li>";
			}
		}
		pagingHtml += "</ul>";
		if(currentPage == 0){
			pagingHtml += "&laquo; 前の20件へ";
		}else{
			pagingHtml += "<a href=\"javascript:pagingCommentList('"+memberIdVar+"','"+entryIdVar+"',"+(currentPage-1)+");\">&laquo; 前の20件へ</a>";
		}
		if(currentPage < totalPageCount-1){
			pagingHtml += "&nbsp;&nbsp;<a href=\"javascript:pagingCommentList('"+memberIdVar+"','"+entryIdVar+"',"+(currentPage+1)+");\">次の20件へ &raquo;</a>";
		}else{
			pagingHtml += "&nbsp;&nbsp;次の20件へ &raquo;";
		}
	}
	pagingHtml += "</div>"
	document.getElementById("comment_paging").innerHTML = pagingHtml;
}
function pagingCommentList(memberId,entryId,pageNum){
	if(pageNum != 0){
		var tmp = document.getElementById("_log").src;
		document.getElementById("_log").src = "http://static.yaplog.jp/static/img/common/spacer.gif";
		document.getElementById("_log").src = tmp;
		document.getElementById("author").focus();
	}
	memberIdVar = memberId;
	entryIdVar = entryId;
	currentPage = pageNum;
	CommentTbManager.totalCommentCount(memberIdVar,entryIdVar,commentPaging);
	CommentTbManager.getCommentList(memberIdVar,entryIdVar,currentPage,pageSize,commentHtml);
}
