// 评论V4 XML数据EMBEDDED应用接口

// 声明所需变量
var Count = new Object();
Count.c_total 	= 0;
Count.c_show 	= 0;
Count.c_strip 	= 0;
Count.c_nice 	= 0;
Count.c_count	= 0;
Count.c_pages 	= 0;
var Rating 		= new Object();
var CmsgList 	= new Array();
var TopList 	= new Array();
var NiceList 	= new Array();
var PageSize 	= MSGS_PERPAGE;
var ActualPage	= 1;

// 缺页自动重建
function cmnt_rebuild() {
	if ( typeof(News) != "undefined" ) {
		return; // html/htt/cmsg.js
	}
	// not found callback
	if ( typeof(cmnt_notfound) != "undefined" ) {
		cmnt_notfound(); // must defined by outside html page
	}

	var host = V4_HOST;
	if ( typeof(cmnt_host)!="undefined" && cmnt_host!="" ) {
		host = cmnt_host;
	}
	var rebuild_request = host + XML_CGI + TYPE_CMSG_JS +
						  "&channel=" + uri_encode(cmnt_channel) +
						  "&newsid=" + uri_encode(cmnt_newsid) +
						  "&group=" + cmnt_group + "&page=1";
	var rebuild_page = function() {
		load_js( rebuild_request );
	};
	window.setTimeout( rebuild_page, 6000 ); 	
}
// 读取数据
function cmnt_reload( channel, newsid, group ) {
	if ( channel=="" || newsid=="" ) return;
	// adjust page number
	if ( typeof(cmnt_pagesize)!="undefined" && 
		 (cmnt_pagesize==5 || cmnt_pagesize==10 || cmnt_pagesize==20) ) {
		PageSize = cmnt_pagesize;
	}
	if ( typeof(cmnt_page) != "undefined" ) {
		ActualPage = Math.ceil( cmnt_page/(MSGS_PERPAGE/PageSize) );
	}
	// select host
	var host = "";
	if ( typeof(cmnt_host)!="undefined" && cmnt_host!="" ) {
		host = cmnt_host;
	}
	var cmnt_embed_url = cmsglist_embed( channel, newsid, group, ActualPage, host );
	load_js( cmnt_embed_url, cmnt_rebuild );
}
// data loaded callback
function cmnt_callback() {
	// 定义了cmsg_page参数或者cmnt_print()函数时才使用回调模式
	if ( typeof(cmnt_page)=="undefined" && typeof(cmnt_print)=="undefined" ) {
		return;
	}
	// adjust pages
	Count.c_pages = Math.floor( (Count.c_strip+PageSize-1)/PageSize );
	// adjust cmsg array by page number
	if ( typeof(cmnt_page) != "undefined" ) {
		var need_skip = 0;
		var offset = (PageSize*(cmnt_page-1)) % MSGS_PERPAGE;
		var residue = Count.c_strip % MSGS_PERPAGE;
		if ( ActualPage>1 && residue>0 ) need_skip = MSGS_PERPAGE - residue;
		if ( cmnt_page > 1 ) need_skip += offset;
		if ( need_skip>0 && CmsgList.length>need_skip ) {
			CmsgList.reverse();
			CmsgList.length -= need_skip;
			CmsgList.reverse();
		}
		if ( cmnt_page>1 && CmsgList.length>PageSize )
			CmsgList.length = PageSize;
	}
	// invoke callback renderer
	if ( typeof(cmnt_print) != "undefined" ) {
		cmnt_print(); // must defined by outside html page
	}
}
// 显示投票选项列表函数，供显示留言提交FORM用
function show_vote( vote_list ) {
	if ( vote_list==undefined || vote_list==null ) return;
	for ( vote in vote_list )
		document.writeln( "<input type=radio name=vote value="+vote_list[vote]+">"+vote+"&nbsp;" );
}
// 显示页码列表范例
function cmnt_pages() {
	// show pages
	var formated_pages = "当前页码" + cmnt_page;
	if ( Count.c_pages <= 1 ) return; // less than one page
	if ( cmnt_page > 1 ) 
		formated_pages += ( "&nbsp;<a href=# onclick='javascript:cmnt_show(" + parseInt(cmnt_page-1) + ");return false;'>上一页</a>" );
	if ( cmnt_page < Count.c_pages ) 
		formated_pages += ( "&nbsp;<a href=# onclick='javascript:cmnt_show(" + parseInt(cmnt_page+1) + ");return false;'>下一页</a>" );
	return formated_pages;
}
// 翻页函数
function cmnt_show( page ) {
	if ( page < 1 ) page = 1;
	if ( page > Count.c_pages ) page = Count.c_pages;
	// reload js interface
	cmnt_page = page;
	cmnt_reload( cmnt_channel, cmnt_newsid, cmnt_group );
}

// 默认初始第cmnt_page页数据
if ( typeof(_CMNT_EMBED_DISABLE_)=="undefined" || _CMNT_EMBED_DISABLE_==false ) { // DEBUG
	cmnt_reload( cmnt_channel, cmnt_newsid, cmnt_group );
}

