¡¡¡¡var Comment = new Object();
¡¡¡¡var $C = function(tagName)
¡¡¡¡{
¡¡¡¡return document.createElement(tagName);
¡¡¡¡};
¡¡¡¡String.prototype.trim = function()
¡¡¡¡{
¡¡¡¡return this.replace(/^\s*|\s*$/g,"");
¡¡¡¡};
¡¡¡¡String.prototype.realLength = function()
¡¡¡¡{
¡¡¡¡return this.replace(/[^\x00-\xff]/g,"**").length;
¡¡¡¡};
¡¡¡¡String.prototype.left = function(n)
¡¡¡¡{
¡¡¡¡if (this.length > n)
¡¡¡¡{
¡¡¡¡return this.substr(0, n) + '...';
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡return this;
¡¡¡¡}
¡¡¡¡};
¡¡¡¡Array.prototype.remove = function(n)
¡¡¡¡{
¡¡¡¡if (n < 0)
¡¡¡¡{
¡¡¡¡return this;
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡return this.slice(0, n).concat(this.slice(n + 1, this.length));
¡¡¡¡}
¡¡¡¡};
¡¡¡¡function findPosX(obj)
¡¡¡¡{
¡¡¡¡var curleft = 0;
¡¡¡¡if (obj && obj.offsetParent)
¡¡¡¡{
¡¡¡¡while (obj.offsetParent)
¡¡¡¡{
¡¡¡¡curleft += obj.offsetLeft;
¡¡¡¡obj = obj.offsetParent;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡else if (obj && obj.x) curleft += obj.x;
¡¡¡¡return curleft;
¡¡¡¡}
¡¡¡¡function findPosY(obj)
¡¡¡¡{
¡¡¡¡var curtop = 0;
¡¡¡¡if (obj && obj.offsetParent)
¡¡¡¡{
¡¡¡¡while (obj.offsetParent)
¡¡¡¡{
¡¡¡¡curtop += obj.offsetTop;
¡¡¡¡obj = obj.offsetParent;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡else if (obj && obj.y) curtop += obj.y;
¡¡¡¡return curtop;
¡¡¡¡}
¡¡¡¡var input_domain = 'http://input.comment.qq.com';
¡¡¡¡var index_domain = 'http://comment1.qq.com';
¡¡¡¡var pinglun_domain = 'http://pinglun.qq.com';
¡¡¡¡var js_domain = 'http://pinglun.qq.com';
¡¡¡¡var img_domain = 'http://mat1.qq.com/pinglun';
¡¡¡¡Comment.Configure = {
¡¡¡¡version: '1.0',
¡¡¡¡newline: '\n',
¡¡¡¡site_length: 20,
¡¡¡¡key_length: 20,
¡¡¡¡id_length: 10,
¡¡¡¡index_line_sum: 10000,
¡¡¡¡index_width: 5,
¡¡¡¡default_mode: 'origin_count',
¡¡¡¡default_order: 1,
¡¡¡¡default_reply_per_page: 10,
¡¡¡¡quote_str_len: 60,
¡¡¡¡intro_len: 150,
¡¡¡¡debate_intro_len: 200,
¡¡¡¡content_len: 200,
¡¡¡¡reply_default_title: 'ÇëÌîд±êÌâ',
¡¡¡¡intro_min_length: 20,
¡¡¡¡request_delay: 100,
¡¡¡¡login_frame_delay: 2000,
¡¡¡¡reply_type_def: {
¡¡¡¡'1': '<span class="reply_top">[¾«]</span> ',
¡¡¡¡'2': '<span class="reply_commend">[¼ö]</span> ',
¡¡¡¡'3': '<span class="reply_expert">[ר]</span> '
¡¡¡¡},
¡¡¡¡postUrl: input_domain + '/post.cmt',
¡¡¡¡logoutUrl: input_domain + '/cgi-bin/qqlogout',
¡¡¡¡commentIndex: 'http://pinglun.qq.com/',
¡¡¡¡loginIframeUrl: index_domain + '/i_login.htm',
¡¡¡¡defaultLogoUrl: img_domain + '/images/defpic.jpg'
¡¡¡¡}
¡¡¡¡Comment.Define = {
¡¡¡¡getReplyType: function(type)
¡¡¡¡{
¡¡¡¡if (Comment.Configure.reply_type_def[type])
¡¡¡¡{
¡¡¡¡return Comment.Configure.reply_type_def[type];
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡return '';
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}
¡¡¡¡Comment.PGV_Count = function(option)
¡¡¡¡{
¡¡¡¡if (typeof(pgvMain) == 'function')
¡¡¡¡{
¡¡¡¡pvRepeatCount = 1;
¡¡¡¡pvCurDomain = sDomain;
¡¡¡¡if (option)
¡¡¡¡{
¡¡¡¡if (option.domain)
¡¡¡¡{
¡¡¡¡pvCurDomain = option.domain;
¡¡¡¡}
¡¡¡¡if (option.path)
¡¡¡¡{
¡¡¡¡pvCurUrl = option.path;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡pgvMain();
¡¡¡¡//Debug.log('call pgv function');
¡¡¡¡}
¡¡¡¡}
¡¡¡¡Comment.UrlFactory = {
¡¡¡¡get3LevelDir: function(id)
¡¡¡¡{
¡¡¡¡var path = parseInt(id / 1000000) + '/';
¡¡¡¡path += parseInt(id / 1000) + '/';
¡¡¡¡path += id / 1;
¡¡¡¡return path;
¡¡¡¡},
¡¡¡¡getCommentUrl: function(id)
¡¡¡¡{
¡¡¡¡return (this.get3LevelDir(id) + '/');
¡¡¡¡},
¡¡¡¡getDebateUrl: function(id)
¡¡¡¡{
¡¡¡¡return this.get3LevelDir(id);
¡¡¡¡},
¡¡¡¡getUserUrl: function(id)
¡¡¡¡{
¡¡¡¡return this.get3LevelDir(id);
¡¡¡¡},
¡¡¡¡getReplyUrl: function(key)
¡¡¡¡{
¡¡¡¡var path = key.substr(0, 8);
¡¡¡¡path += '/' + (key.substr(8, 4));
¡¡¡¡path += '/' + (key.substr(12, 2));
¡¡¡¡path += '/' + key;
¡¡¡¡return path;
¡¡¡¡},
¡¡¡¡getIndexUrl: function(id)
¡¡¡¡{
¡¡¡¡var length = id.toString().length;
¡¡¡¡if (length < Comment.Configure.index_width)
¡¡¡¡{
¡¡¡¡for (var i = 0; i < Comment.Configure.index_width - length; ++i)
¡¡¡¡{
¡¡¡¡id = '0' + id;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡return id;
¡¡¡¡},
¡¡¡¡getIndexDir: function(mode)
¡¡¡¡{
¡¡¡¡var modes = {
¡¡¡¡'origin_count': 'originindex',
¡¡¡¡'total_count': 'allindex',
¡¡¡¡'top_count': 'topindex'
¡¡¡¡};
¡¡¡¡return modes[mode];
¡¡¡¡},
¡¡¡¡getRangeHeader: function(start, length, line_len)
¡¡¡¡{
¡¡¡¡var range_start = start * line_len;
¡¡¡¡var range_length = length * line_len;
¡¡¡¡return ['Range','bytes=' + range_start + '-' + (parseInt(range_start) + parseInt(range_length) - 1 - Comment.Configure.newline.length)];
¡¡¡¡},
¡¡¡¡getCommentNormalUrl: function(site, id)
¡¡¡¡{
¡¡¡¡return 'comment.htm?site=' + site + '&id=' + id;
¡¡¡¡},
¡¡¡¡getCommentGroupUrl: function(site, id)
¡¡¡¡{
¡¡¡¡return 'comment_group.htm?site=' + site + '&id=' + id;
¡¡¡¡},
¡¡¡¡getCommentDebateUrl: function(site, id)
¡¡¡¡{
¡¡¡¡return 'comment_debate.htm?site=' + site + '&id=' + id;
¡¡¡¡},
¡¡¡¡getCommentUserUrl: function(uin)
¡¡¡¡{
¡¡¡¡return 'comment_user.htm?uin=' + uin;
¡¡¡¡},
¡¡¡¡getCommentUserLink: function(uin, nick)
¡¡¡¡{
¡¡¡¡return '<a href="' + this.getCommentUserUrl(uin) + '" target="_blank">' + (nick ? nick : uin) + '</a>';
¡¡¡¡},
¡¡¡¡getCommentListLink: function(site_en, site_cn, sort_en, sort_cn, className)
¡¡¡¡{
¡¡¡¡if (className)
¡¡¡¡{
¡¡¡¡className = 'class="' + className + '"';
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡className = '';
¡¡¡¡}
¡¡¡¡return '<a href="' + Comment.Configure.commentIndex + '" ' + className + ' target="_blank">ÆÀÂÛÊ×Ò³</a> >> '
¡¡¡¡+ '<a href="list.htm?' + site_en + '." ' + className + ' target="_blank">' + site_cn + '</a> >> '
¡¡¡¡+ '<a href="list.htm?' + site_en + '.' + sort_en + '" ' + className + ' target="_blank">' + sort_cn + '</a>';
¡¡¡¡}
¡¡¡¡}
¡¡¡¡Comment.ContentFormat = {
¡¡¡¡decode: function(content)
¡¡¡¡{
¡¡¡¡return content.split(Comment.Configure.newline);
¡¡¡¡}
¡¡¡¡}
¡¡¡¡Comment.DataObjectFactory = function(content, model)
¡¡¡¡{
¡¡¡¡content = Comment.ContentFormat.decode(content);
¡¡¡¡var dataModel = Comment.DataObject[model];
¡¡¡¡if (content.length - 1 != dataModel.length)
¡¡¡¡{
¡¡¡¡if (model != 'commentinfo' && model != 'listsum')
¡¡¡¡{
¡¡¡¡//alert('[DEBUG ÐÅÏ¢] O/R Ó³Éäʧ°Ü£¬Ô¶³ÌÊý¾ÝºÍ±¾µØÄ£ÐÍÊýÁ¿²»Æ¥Å䣡Çë¼ì²é£¡');
¡¡¡¡}
¡¡¡¡}
¡¡¡¡var dataObject = new Object();
¡¡¡¡for (var i = 0; i < dataModel.length; ++i)
¡¡¡¡{
¡¡¡¡dataObject[dataModel[i]] = content[i];
¡¡¡¡}
¡¡¡¡return dataObject;
¡¡¡¡}
¡¡¡¡Comment.DataObject = {
¡¡¡¡'commentinfo':
¡¡¡¡[
¡¡¡¡'site_cn',
¡¡¡¡'sort_en',
¡¡¡¡'sort_cn',
¡¡¡¡'source',
¡¡¡¡'source_url',
¡¡¡¡'title',
¡¡¡¡'url',
¡¡¡¡'intro',
¡¡¡¡'intro_img',
¡¡¡¡'group_id',
¡¡¡¡'intro_show',
¡¡¡¡'create_time',
¡¡¡¡'debate_id'
¡¡¡¡],
¡¡¡¡'groupinfo':
¡¡¡¡[
¡¡¡¡'site_cn',
¡¡¡¡'title',
¡¡¡¡'url',
¡¡¡¡'intro',
¡¡¡¡'intro_img',
¡¡¡¡'comment_id',
¡¡¡¡'intro_show',
¡¡¡¡'create_time'
¡¡¡¡],
¡¡¡¡'debateinfo':
¡¡¡¡[
¡¡¡¡'site_cn',
¡¡¡¡'title',
¡¡¡¡'url',
¡¡¡¡'intro',
¡¡¡¡'intro_img',
¡¡¡¡'agree_id',
¡¡¡¡'disagree_id',
¡¡¡¡'middle_id',
¡¡¡¡'intro_show',
¡¡¡¡'create_time'
¡¡¡¡],
¡¡¡¡'sum':
¡¡¡¡[
¡¡¡¡'origin_count',
¡¡¡¡'total_count',
¡¡¡¡'top_count'
¡¡¡¡],
¡¡¡¡'reply':
¡¡¡¡[
¡¡¡¡'comment_id',
¡¡¡¡'uin',
¡¡¡¡'nickname',
¡¡¡¡'pub_time',
¡¡¡¡'pass_time',
¡¡¡¡'ip',
¡¡¡¡'title',
¡¡¡¡'content',
¡¡¡¡'reply_key',
¡¡¡¡'is_del',
¡¡¡¡'reply_type',
¡¡¡¡'reply_kind',
¡¡¡¡'tips'
¡¡¡¡],
¡¡¡¡'pksum':
¡¡¡¡[
¡¡¡¡'agree',
¡¡¡¡'disagree',
¡¡¡¡'middle'
¡¡¡¡],
¡¡¡¡'listsum':
¡¡¡¡[
¡¡¡¡'all'
¡¡¡¡],
¡¡¡¡'usersum':
¡¡¡¡[
¡¡¡¡'total_count',
¡¡¡¡'top_count',
¡¡¡¡'is_expert'
¡¡¡¡],
¡¡¡¡'userinfo':
¡¡¡¡[
¡¡¡¡'user_img',
¡¡¡¡'user_intro'
¡¡¡¡]
¡¡¡¡}
¡¡¡¡/* ¿ØÖÆÆ÷Àà */
¡¡¡¡Comment.Control = new Object();
¡¡¡¡/* ·ÖÒ³¿ØÖÆÆ÷ */
¡¡¡¡Comment.Control.Pagination = Class.create();
¡¡¡¡Comment.Control.Pagination.prototype = {
¡¡¡¡initialize: function(option)
¡¡¡¡{
¡¡¡¡this.totalPage = option.totalPage;
¡¡¡¡this.currPage = 1;
¡¡¡¡this.zoom_start = 3;
¡¡¡¡this.zoom_end = 613;
¡¡¡¡this.bindControl();
¡¡¡¡},
¡¡¡¡reset: function(option)
¡¡¡¡{
¡¡¡¡this.totalPage = option.totalPage;
¡¡¡¡this.currPage = 1;
¡¡¡¡this.movePageControl(this.currPage);
¡¡¡¡},
¡¡¡¡updateOrder: function()
¡¡¡¡{
¡¡¡¡},
¡¡¡¡countCurrPage: function(offset)
¡¡¡¡{
¡¡¡¡var page = parseInt(offset * this.totalPage / this.zoom_end) + 1;
¡¡¡¡if (page > this.totalPage)
¡¡¡¡{
¡¡¡¡page = this.totalPage;
¡¡¡¡}
¡¡¡¡return page;
¡¡¡¡},
¡¡¡¡movePageControl: function(toPage)
¡¡¡¡{
¡¡¡¡if (toPage < 1 || toPage > this.totalPage)
¡¡¡¡{
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡var offset = 0;
¡¡¡¡if (toPage == 1)
¡¡¡¡{
¡¡¡¡offset = this.zoom_start;
¡¡¡¡}
¡¡¡¡else if (toPage == this.totalPage)
¡¡¡¡{
¡¡¡¡offset = this.zoom_end;
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡offset = this.zoom_start + (toPage - 1) * (this.zoom_end / (this.totalPage - 1));
¡¡¡¡}
¡¡¡¡$('scrfloat').style.left = offset + 'px';
¡¡¡¡//$('scrfloat_2').style.left = offset + 'px';
¡¡¡¡},
¡¡¡¡bindControl: function()
¡¡¡¡{
¡¡¡¡var self = this;
¡¡¡¡var tooltip = $('Page_tip');
¡¡¡¡var offsetX = 10;
¡¡¡¡var offsetY = -10;
¡¡¡¡function getSite(o)
¡¡¡¡{
¡¡¡¡var obj = o;
¡¡¡¡var objS = obj.offsetLeft;
¡¡¡¡while (obj != obj.offsetParent && obj.offsetParent)
¡¡¡¡{
¡¡¡¡obj = obj.offsetParent;
¡¡¡¡if (obj.tagName == 'span')
¡¡¡¡{
¡¡¡¡objS += obj.offsetLeft;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡return objS;
¡¡¡¡}
¡¡¡¡Event.observe($('scr'), 'mousedown', mDown, false);
¡¡¡¡//Event.observe($('scr_2'), 'mousedown', mDown, false);
¡¡¡¡var flag = false;
¡¡¡¡function mDown()
¡¡¡¡{
¡¡¡¡flag = true;
¡¡¡¡if(window.event.srcElement.id != 'scr'
¡¡¡¡&& window.event.srcElement.id != 'scr_2')
¡¡¡¡{
¡¡¡¡$('scrfloat').style.left = $('scrfloat').offsetLeft;
¡¡¡¡//$('scrfloat_2').style.left = $('scrfloat').style.left;
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡$('scrfloat').style.left = (window.event.x - 5);
¡¡¡¡//$('scrfloat_2').style.left = $('scrfloat').style.left;
¡¡¡¡}
¡¡¡¡tooltip.style.display = 'block';
¡¡¡¡t = $('scrfloat').offsetLeft;
¡¡¡¡tooltip.innerHTML = self.countCurrPage(t);
¡¡¡¡tooltip.style.left = window.event.clientX + offsetX + 'px';
¡¡¡¡tooltip.style.top = window.event.clientY + offsetY + document.documentElement.scrollTop + 'px';
¡¡¡¡}
¡¡¡¡function mMove()
¡¡¡¡{
¡¡¡¡if(flag)
¡¡¡¡{
¡¡¡¡$('scrfloat').style.left = window.event.clientX - getSite($('scr')) - 5 + 'px';
¡¡¡¡//$('scrfloat_2').style.left = window.event.clientX - getSite($('scr')) - 5 + 'px';
¡¡¡¡}
¡¡¡¡if (parseInt($('scrfloat').style.left.replace('px', '')) > self.zoom_end)
¡¡¡¡{
¡¡¡¡$('scrfloat').style.left = self.zoom_end + 'px';
¡¡¡¡//$('scrfloat_2').style.left = $('scrfloat').style.left;
¡¡¡¡}
¡¡¡¡if (parseInt($("scrfloat").style.left.replace('px', '')) < self.zoom_start)
¡¡¡¡{
¡¡¡¡$('scrfloat').style.left = self.zoom_start + 'px';
¡¡¡¡//$('scrfloat_2').style.left = $('scrfloat').style.left;
¡¡¡¡}
¡¡¡¡if (flag)
¡¡¡¡{
¡¡¡¡t = $('scrfloat').offsetLeft;
¡¡¡¡tooltip.innerHTML = self.countCurrPage(t);
¡¡¡¡tooltip.style.left = window.event.clientX + offsetX + 'px';
¡¡¡¡tooltip.style.top = window.event.clientY + offsetY + document.documentElement.scrollTop + 'px';
¡¡¡¡}
¡¡¡¡}
¡¡¡¡function mUp()
¡¡¡¡{
¡¡¡¡if (flag)
¡¡¡¡{
¡¡¡¡t = $('scrfloat').offsetLeft;
¡¡¡¡self.setCurrPage(self.countCurrPage(t));
¡¡¡¡}
¡¡¡¡flag = false;
¡¡¡¡tooltip.style.display = 'none';
¡¡¡¡}
¡¡¡¡function mEnd()
¡¡¡¡{
¡¡¡¡window.event.returnValue = false;
¡¡¡¡}
¡¡¡¡window.document.onmousemove = mMove;
¡¡¡¡window.document.ondragstart = mEnd;
¡¡¡¡window.document.onmouseup = mUp;
¡¡¡¡Event.observe($('up'), 'click', mUpBtn, false);
¡¡¡¡Event.observe($('down'), 'click', mDownBtn, false);
¡¡¡¡function mUpBtn()
¡¡¡¡{
¡¡¡¡self.setCurrPage(self.currPage - 1, 1);
¡¡¡¡}
¡¡¡¡function mDownBtn()
¡¡¡¡{
¡¡¡¡self.setCurrPage(self.currPage + 1, 1);
¡¡¡¡}
¡¡¡¡},
¡¡¡¡nextPage: function()
¡¡¡¡{
¡¡¡¡if (this.currPage < this.totalPage)
¡¡¡¡{
¡¡¡¡++this.currPage;
¡¡¡¡this.onPageChange();
¡¡¡¡}
¡¡¡¡},
¡¡¡¡previousPage: function()
¡¡¡¡{
¡¡¡¡if (this.currPage > 0)
¡¡¡¡{
¡¡¡¡--this.currPage;
¡¡¡¡this.onPageChange();
¡¡¡¡}
¡¡¡¡},
¡¡¡¡setCurrPage: function(page, move)
¡¡¡¡{
¡¡¡¡if (page > 0 && page <= this.totalPage && page != this.currPage)
¡¡¡¡{
¡¡¡¡this.currPage = page;
¡¡¡¡this.onPageChange();
¡¡¡¡if (move != null)
¡¡¡¡{
¡¡¡¡this.movePageControl(page);
¡¡¡¡}
¡¡¡¡}
¡¡¡¡},
¡¡¡¡onPageChange: function()
¡¡¡¡{
¡¡¡¡},
¡¡¡¡getCurrPage: function()
¡¡¡¡{
¡¡¡¡return this.currPage;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡Comment.Iterator = {
¡¡¡¡getIndex: function(objComment)
¡¡¡¡{
¡¡¡¡var rangeList = new Array();
¡¡¡¡function getIndexId(reply_id)
¡¡¡¡{
¡¡¡¡return parseInt(reply_id / Comment.Configure.index_line_sum);
¡¡¡¡}
¡¡¡¡function getReplyPos(reply_id)
¡¡¡¡{
¡¡¡¡return (reply_id % Comment.Configure.index_line_sum);
¡¡¡¡}
¡¡¡¡if (objComment.order == 0)
¡¡¡¡{
¡¡¡¡var reply_start = (objComment.currPage - 1) * objComment.replyPerPage;
¡¡¡¡var start_index_id = getIndexId(reply_start);
¡¡¡¡var start_reply_id = getReplyPos(reply_start);
¡¡¡¡var currReply = 1;
¡¡¡¡var replySum = 0;
¡¡¡¡while (currReply++)
¡¡¡¡{
¡¡¡¡if (reply_start + currReply > objComment.totalReply)
¡¡¡¡{
¡¡¡¡rangeList.push({
¡¡¡¡url: Comment.UrlFactory.getIndexUrl(start_index_id),
¡¡¡¡range: Comment.UrlFactory.getRangeHeader(start_reply_id, currReply - replySum - 1, objComment.index_line_len)
¡¡¡¡});
¡¡¡¡break;
¡¡¡¡}
¡¡¡¡if (currReply == objComment.replyPerPage)
¡¡¡¡{
¡¡¡¡rangeList.push({
¡¡¡¡url: Comment.UrlFactory.getIndexUrl(start_index_id),
¡¡¡¡range: Comment.UrlFactory.getRangeHeader(start_reply_id, currReply - replySum, objComment.index_line_len)
¡¡¡¡});
¡¡¡¡break;
¡¡¡¡}
¡¡¡¡if (start_reply_id + currReply > Comment.Configure.index_line_sum)
¡¡¡¡{
¡¡¡¡rangeList.push({
¡¡¡¡url: Comment.UrlFactory.getIndexUrl(start_index_id),
¡¡¡¡range: Comment.UrlFactory.getRangeHeader(start_reply_id, currReply, objComment.index_line_len)
¡¡¡¡});
¡¡¡¡start_index_id++;
¡¡¡¡start_reply_id = 0;
¡¡¡¡replySum = currReply - 1;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡var reply_start = objComment.totalReply - 1 - (objComment.currPage - 1) * objComment.replyPerPage;
¡¡¡¡var start_index_id = getIndexId(reply_start);
¡¡¡¡var start_reply_id = getReplyPos(reply_start);
¡¡¡¡var currReply = 1;
¡¡¡¡var replySum = 0;
¡¡¡¡while (currReply++)
¡¡¡¡{
¡¡¡¡if (reply_start - currReply < 0)
¡¡¡¡{
¡¡¡¡rangeList.push({
¡¡¡¡url: Comment.UrlFactory.getIndexUrl(start_index_id),
¡¡¡¡range: Comment.UrlFactory.getRangeHeader(0, start_reply_id + 1, objComment.index_line_len)
¡¡¡¡});
¡¡¡¡break;
¡¡¡¡}
¡¡¡¡if (currReply == objComment.replyPerPage)
¡¡¡¡{
¡¡¡¡rangeList.push({
¡¡¡¡url: Comment.UrlFactory.getIndexUrl(start_index_id),
¡¡¡¡range: Comment.UrlFactory.getRangeHeader(start_reply_id - currReply + replySum + 1, currReply - replySum, objComment.index_line_len)
¡¡¡¡});
¡¡¡¡break;
¡¡¡¡}
¡¡¡¡if (start_reply_id - currReply < 0)
¡¡¡¡{
¡¡¡¡rangeList.push({
¡¡¡¡url: Comment.UrlFactory.getIndexUrl(start_index_id),
¡¡¡¡range: Comment.UrlFactory.getRangeHeader(0, start_reply_id + 1, objComment.index_line_len)
¡¡¡¡});
¡¡¡¡start_index_id--;
¡¡¡¡start_reply_id = Comment.Configure.index_line_sum - 1;
¡¡¡¡replySum = currReply;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}
¡¡¡¡return rangeList;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡/* ÏÔʾÑùʽ¿ØÖÆÆ÷ */
¡¡¡¡Comment.Control.Display = Class.create();
¡¡¡¡Comment.Control.Display.prototype = {
¡¡¡¡initialize: function()
¡¡¡¡{
¡¡¡¡}
¡¡¡¡}
¡¡¡¡/* Ò³ÃæÏÔʾÀà */
¡¡¡¡Comment.Page = new Object();
¡¡¡¡/* ÆÀÂÛÒ³¿ØÖÆ½Ó¿Ú */
¡¡¡¡Comment.Page.Base = {
¡¡¡¡changeMode: function(mode)
¡¡¡¡{
¡¡¡¡this.mode = mode;
¡¡¡¡this.totalReply = this.data_sum[mode];
¡¡¡¡this.totalPage = parseInt(this.totalReply / this.replyPerPage)
¡¡¡¡+ (this.totalReply % this.replyPerPage != 0 ? 1 : 0);
¡¡¡¡},
¡¡¡¡changeOrder: function(order)
¡¡¡¡{
¡¡¡¡if (this.order == order)
¡¡¡¡return;
¡¡¡¡this.order = order;
¡¡¡¡this.currPage = 1;
¡¡¡¡this.resetPageControl();
¡¡¡¡this.bindPageNav();
¡¡¡¡this.bindReplyList();
¡¡¡¡this.bindOrderControl();
¡¡¡¡},
¡¡¡¡bindOrderControl: function()
¡¡¡¡{
¡¡¡¡var self = this;
¡¡¡¡if (self.order == 0)
¡¡¡¡{
¡¡¡¡$('order_front').style.cursor = 'none';
¡¡¡¡$('order_front').style.color = '#000';
¡¡¡¡$('order_front').onclick = function(e)
¡¡¡¡{
¡¡¡¡return false;
¡¡¡¡}
¡¡¡¡$('order_desc').style.cursor = 'pointer';
¡¡¡¡$('order_desc').style.color = '#3B78AF';
¡¡¡¡$('order_desc').onclick = function()
¡¡¡¡{
¡¡¡¡self.changeOrder(1);
¡¡¡¡return false;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡else if (self.order == 1)
¡¡¡¡{
¡¡¡¡$('order_front').style.cursor = 'pointer';
¡¡¡¡$('order_front').style.color = '#3B78AF';
¡¡¡¡$('order_front').onclick = function(e)
¡¡¡¡{
¡¡¡¡self.changeOrder(0);
¡¡¡¡return false;
¡¡¡¡}
¡¡¡¡$('order_desc').style.cursor = 'none';
¡¡¡¡$('order_desc').style.color = '#000';
¡¡¡¡$('order_desc').onclick = function()
¡¡¡¡{
¡¡¡¡return false;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡},
¡¡¡¡bindRowsPerPage: function()
¡¡¡¡{
¡¡¡¡var self = this;
¡¡¡¡$A($('rows_page').getElementsByTagName('a')).each(function(button)
¡¡¡¡{
¡¡¡¡button.onclick = function()
¡¡¡¡{
¡¡¡¡self.replyPerPage = button.value;
¡¡¡¡self.currPage = 1;
¡¡¡¡self.resetPageControl();
¡¡¡¡self.bindPageNav();
¡¡¡¡self.bindReplyList();
¡¡¡¡return false;
¡¡¡¡}
¡¡¡¡});
¡¡¡¡},
¡¡¡¡selectTab: function(mode)
¡¡¡¡{
¡¡¡¡var self = this;
¡¡¡¡$A($('mode_tab').getElementsByTagName('p')).each(function(tab)
¡¡¡¡{
¡¡¡¡if (tab.value == mode)
¡¡¡¡{
¡¡¡¡$A($('mode_tab').getElementsByTagName('p')).each(function(t)
¡¡¡¡{
¡¡¡¡if (t.value != '')
¡¡¡¡{
¡¡¡¡t.className = 'none';
¡¡¡¡}
¡¡¡¡});
¡¡¡¡tab.className = 'c';
¡¡¡¡}
¡¡¡¡});
¡¡¡¡},
¡¡¡¡appendTab: function(option)
¡¡¡¡{
¡¡¡¡var pTab = $C('p');
¡¡¡¡pTab.innerHTML = option.title;
¡¡¡¡pTab.value = '';
¡¡¡¡$('mode_tab').appendChild(pTab);
¡¡¡¡pTab.onclick = function()
¡¡¡¡{
¡¡¡¡window.open(option.url);
¡¡¡¡}
¡¡¡¡return false;
¡¡¡¡},
¡¡¡¡bindTabControl: function()
¡¡¡¡{
¡¡¡¡var self = this;
¡¡¡¡$A($('mode_tab').getElementsByTagName('p')).each(function(tab)
¡¡¡¡{
¡¡¡¡var mode = tab.value;
¡¡¡¡if (mode != '')
¡¡¡¡{
¡¡¡¡tab.onclick = function()
¡¡¡¡{
¡¡¡¡$A($('mode_tab').getElementsByTagName('p')).each(function(t)
¡¡¡¡{
¡¡¡¡t.className = 'none';
¡¡¡¡});
¡¡¡¡this.className = 'c';
¡¡¡¡self.currPage = 1;
¡¡¡¡self.changeMode(mode)
¡¡¡¡self.resetPageControl();
¡¡¡¡self.bindPageNav();
¡¡¡¡self.bindReplyList();
¡¡¡¡return false;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡});
¡¡¡¡},
¡¡¡¡bindPageRandom: function()
¡¡¡¡{
¡¡¡¡var self = this;
¡¡¡¡$A($('page_random', 'page_random_2')).each(function(button)
¡¡¡¡{
¡¡¡¡button.onclick = function()
¡¡¡¡{
¡¡¡¡if (self.totalPage == 1)
¡¡¡¡{
¡¡¡¡self.currPage = 1;
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡self.currPage = Math.floor(Math.random() * (self.totalPage + 1));
¡¡¡¡if (self.currPage == 0)
¡¡¡¡{
¡¡¡¡self.currPage = 1;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡self.bindPageNav();
¡¡¡¡self.bindReplyList();
¡¡¡¡return false;
¡¡¡¡}
¡¡¡¡});
¡¡¡¡},
¡¡¡¡bindPageNav: function(flag)
¡¡¡¡{
¡¡¡¡var self = this;
¡¡¡¡var currPage = self.currPage;
¡¡¡¡if (flag != 1)
¡¡¡¡{
¡¡¡¡this.pageControl.movePageControl(currPage);
¡¡¡¡}
¡¡¡¡var pagesPerRange = 6;
¡¡¡¡this.totalPage = parseInt(this.totalReply / this.replyPerPage)
¡¡¡¡+ (this.totalReply % this.replyPerPage != 0 ? 1 : 0);
¡¡¡¡var startPage = parseInt((self.currPage - 1) / pagesPerRange) * pagesPerRange + 1;
¡¡¡¡createPageNav($('page_nav'), false);
¡¡¡¡createPageNav($('page_nav_2'), true);
¡¡¡¡function createPageNav(obj, top)
¡¡¡¡{
¡¡¡¡obj.innerHTML = '';
¡¡¡¡var i = startPage;
¡¡¡¡if (self.currPage != 1)
¡¡¡¡{
¡¡¡¡obj.appendChild(createPage2(1, 'µÚÒ»Ò³', top));
¡¡¡¡obj.appendChild(createPage({
¡¡¡¡page: 'ÉÏÒ»Ò³',
¡¡¡¡onclick:function()
¡¡¡¡{
¡¡¡¡self.currPage = self.currPage - 1;
¡¡¡¡self.bindPageNav();
¡¡¡¡self.bindReplyList();
¡¡¡¡if (top)
¡¡¡¡{
¡¡¡¡window.location.replace('#reload');
¡¡¡¡}
¡¡¡¡return false;
¡¡¡¡}
¡¡¡¡}));
¡¡¡¡}
¡¡¡¡for (; i < startPage + pagesPerRange; ++i)
¡¡¡¡{
¡¡¡¡if (i > self.totalPage)
¡¡¡¡{
¡¡¡¡break;
¡¡¡¡}
¡¡¡¡obj.appendChild(createPage2(i, '', top));
¡¡¡¡}
¡¡¡¡if (self.currPage < self.totalPage)
¡¡¡¡{
¡¡¡¡obj.appendChild(createPage({
¡¡¡¡page: 'ÏÂÒ»Ò³',
¡¡¡¡onclick:function()
¡¡¡¡{
¡¡¡¡self.currPage = self.currPage + 1;
¡¡¡¡self.bindPageNav();
¡¡¡¡self.bindReplyList();
¡¡¡¡if (top)
¡¡¡¡{
¡¡¡¡window.location.replace('#reload');
¡¡¡¡}
¡¡¡¡return false;
¡¡¡¡}
¡¡¡¡}));
¡¡¡¡obj.appendChild(createPage2(self.totalPage, '×îĩҳ', top));
¡¡¡¡}
¡¡¡¡}
¡¡¡¡function createPage(option)
¡¡¡¡{
¡¡¡¡var p = $C('a');
¡¡¡¡if (option.page == self.currPage)
¡¡¡¡{
¡¡¡¡p.style.fontWeight = 'bold';
¡¡¡¡}
¡¡¡¡p.innerHTML = (option.text && option.text != '') ? option.text : option.page;
¡¡¡¡p.href = '';
¡¡¡¡p.onclick = option.onclick;
¡¡¡¡if (option.title)
¡¡¡¡{
¡¡¡¡p.title = option.title;
¡¡¡¡}
¡¡¡¡return p;
¡¡¡¡}
¡¡¡¡function createPage2(page, text, top)
¡¡¡¡{
¡¡¡¡return createPage({
¡¡¡¡page: page,
¡¡¡¡onclick:function()
¡¡¡¡{
¡¡¡¡self.currPage = page;
¡¡¡¡self.bindPageNav();
¡¡¡¡self.bindReplyList();
¡¡¡¡if (top)
¡¡¡¡{
¡¡¡¡window.location.replace('#reload');
¡¡¡¡}
¡¡¡¡return false;
¡¡¡¡},
¡¡¡¡text: text != '' ? text : ''
¡¡¡¡});
¡¡¡¡}
¡¡¡¡},
¡¡¡¡bindPageControl: function()
¡¡¡¡{
¡¡¡¡this.totalPage = parseInt(this.totalReply / this.replyPerPage)
¡¡¡¡+ (this.totalReply % this.replyPerPage != 0 ? 1 : 0);
¡¡¡¡this.pageControl = new Comment.Control.Pagination({
¡¡¡¡totalPage: this.totalPage
¡¡¡¡});
¡¡¡¡/* overwrite event virtual function */
¡¡¡¡var self = this;
¡¡¡¡this.pageControl.onPageChange = function()
¡¡¡¡{
¡¡¡¡self.currPage = this.getCurrPage();
¡¡¡¡self.bindPageNav(1);
¡¡¡¡self.bindReplyList();
¡¡¡¡}
¡¡¡¡},
¡¡¡¡resetPageControl: function()
¡¡¡¡{
¡¡¡¡this.totalPage = parseInt(this.totalReply / this.replyPerPage)
¡¡¡¡+ (this.totalReply % this.replyPerPage != 0 ? 1 : 0);
¡¡¡¡this.pageControl.reset({
¡¡¡¡totalPage: this.totalPage
¡¡¡¡});
¡¡¡¡},
¡¡¡¡bindTopReply: function()
¡¡¡¡{
¡¡¡¡var self = this;
¡¡¡¡var rangeList = new Array();
¡¡¡¡function getIndexId(reply_id)
¡¡¡¡{
¡¡¡¡return parseInt(reply_id / Comment.Configure.index_line_sum);
¡¡¡¡}
¡¡¡¡function getReplyPos(reply_id)
¡¡¡¡{
¡¡¡¡return (reply_id % Comment.Configure.index_line_sum);
¡¡¡¡}
¡¡¡¡var top_show_sum = 5;
¡¡¡¡var index_line_len = self.index_line_len;
¡¡¡¡var reply_start = self.data_sum['top_count'] - 1;
¡¡¡¡var start_index_id = getIndexId(reply_start);
¡¡¡¡var start_reply_id = getReplyPos(reply_start);
¡¡¡¡var currReply = 1;
¡¡¡¡var replySum = 0;
¡¡¡¡while (currReply++)
¡¡¡¡{
¡¡¡¡if (reply_start - currReply < 0)
¡¡¡¡{
¡¡¡¡rangeList.push({
¡¡¡¡url: Comment.UrlFactory.getIndexUrl(start_index_id),
¡¡¡¡range: Comment.UrlFactory.getRangeHeader(0, start_reply_id + 1, index_line_len)
¡¡¡¡});
¡¡¡¡break;
¡¡¡¡}
¡¡¡¡if (currReply == top_show_sum)
¡¡¡¡{
¡¡¡¡rangeList.push({
¡¡¡¡url: Comment.UrlFactory.getIndexUrl(start_index_id),
¡¡¡¡range: Comment.UrlFactory.getRangeHeader(start_reply_id - currReply + replySum + 1, currReply - replySum, index_line_len)
¡¡¡¡});
¡¡¡¡break;
¡¡¡¡}
¡¡¡¡if (start_reply_id - currReply < 0)
¡¡¡¡{
¡¡¡¡rangeList.push({
¡¡¡¡url: Comment.UrlFactory.getIndexUrl(start_index_id),
¡¡¡¡range: Comment.UrlFactory.getRangeHeader(0, start_reply_id + 1, index_line_len)
¡¡¡¡});
¡¡¡¡start_index_id--;
¡¡¡¡start_reply_id = Comment.Configure.index_line_sum - 1;
¡¡¡¡replySum = currReply;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡var replyList = new Array();
¡¡¡¡var replyAllList = new Array();
¡¡¡¡var rangeSum = rangeList.length;
¡¡¡¡for (var i = 0; i < rangeList.length; ++i)
¡¡¡¡{
¡¡¡¡new getReplyList(i);
¡¡¡¡}
¡¡¡¡function getReplyList(i)
¡¡¡¡{
¡¡¡¡var comment_type = 'normal';
¡¡¡¡var comment_id = self.commentId;
¡¡¡¡if (self.name == 'Group')
¡¡¡¡{
¡¡¡¡comment_type = 'group';
¡¡¡¡comment_id = self.groupId;
¡¡¡¡}
¡¡¡¡var sCommentIndexUrl = '/' + self.site + '/' + comment_type + '/'
¡¡¡¡+ Comment.UrlFactory.getCommentUrl(comment_id)
¡¡¡¡+ Comment.UrlFactory.getIndexDir('top_count')
¡¡¡¡+ '/'
¡¡¡¡+ rangeList[i].url
¡¡¡¡+ '.htm' + noCacheUrl();
¡¡¡¡new Ajax.Request(
¡¡¡¡sCommentIndexUrl,
¡¡¡¡{
¡¡¡¡method: 'get',
¡¡¡¡asynchronous: true,
¡¡¡¡onSuccess: onSucc,
¡¡¡¡onFailure: onError,
¡¡¡¡requestHeaders:rangeList[i].range
¡¡¡¡}
¡¡¡¡);
¡¡¡¡function onSucc(response)
¡¡¡¡{
¡¡¡¡replyList[i] = Comment.ContentFormat.decode(response.responseText);
¡¡¡¡if (i == rangeSum - 1)
¡¡¡¡{
¡¡¡¡replySort();
¡¡¡¡self.bindReplyList();
¡¡¡¡}
¡¡¡¡}
¡¡¡¡function onError()
¡¡¡¡{
¡¡¡¡}
¡¡¡¡}
¡¡¡¡function replySort()
¡¡¡¡{
¡¡¡¡if (self.order == 0)
¡¡¡¡{
¡¡¡¡if (replyList.length == 1)
¡¡¡¡{
¡¡¡¡replyAllList = replyAllList.concat(replyList[0]);
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡for (var i = 0; i < replyList.length; ++i)
¡¡¡¡{
¡¡¡¡replyAllList = replyAllList.concat(replyList[i]);
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡if (replyList.length == 1)
¡¡¡¡{
¡¡¡¡for (var i = replyList[0].length - 1; i >= 0; --i)
¡¡¡¡{
¡¡¡¡replyAllList.push(replyList[0][i])
¡¡¡¡}
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡for (var i = 0; i < replyList.length; ++i)
¡¡¡¡{
¡¡¡¡for (var j = replyList[i].length - 1; j >= 0; --j)
¡¡¡¡{
¡¡¡¡replyAllList.push(replyList[i][j])
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}
¡¡¡¡var str = '';
¡¡¡¡for (var j = 0; j < replyAllList.length; ++j)
¡¡¡¡{
¡¡¡¡str += replyAllList[j] + '\r\n';
¡¡¡¡}
¡¡¡¡self.topReplyList = replyAllList;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}
¡¡¡¡Comment.User = {
¡¡¡¡logined: null,
¡¡¡¡uin: null
¡¡¡¡}
¡¡¡¡Comment.Post = {
¡¡¡¡init: function(option)
¡¡¡¡{
¡¡¡¡this.base = option.base;
¡¡¡¡this.option = option;
¡¡¡¡this.initAsyncForm();
¡¡¡¡this.bindPostTypeSelector();
¡¡¡¡this.bindOtherEvent();
¡¡¡¡this.bindPostBtn();
¡¡¡¡this.bindBottomPostBtn();
¡¡¡¡this.bindBottomTitleEvent();
¡¡¡¡this.bindBottomPostTypeEvent();
¡¡¡¡this.setDefault();
¡¡¡¡},
¡¡¡¡bindOpenPostBtn: function(btn, c_id)
¡¡¡¡{
¡¡¡¡$(btn).onclick = function()
¡¡¡¡{
¡¡¡¡Comment.Post.beforeOpenPost(0, '', c_id);
¡¡¡¡return false;
¡¡¡¡}
¡¡¡¡},
¡¡¡¡formElem: [
¡¡¡¡'b_anonymous',
¡¡¡¡'c_id',
¡¡¡¡'c_site',
¡¡¡¡'c_sort',
¡¡¡¡'c_title',
¡¡¡¡'c_content',
¡¡¡¡'r_key',
¡¡¡¡'r_type',
¡¡¡¡'r_tips',
¡¡¡¡'g_id'
¡¡¡¡],
¡¡¡¡initAsyncForm: function()
¡¡¡¡{
¡¡¡¡var formElem = this.formElem;
¡¡¡¡var form = $C('form');
¡¡¡¡form.id = 'post_form';
¡¡¡¡$A(formElem).each(function(elem_name)
¡¡¡¡{
¡¡¡¡var elem = $C('input');
¡¡¡¡elem.type = 'hidden';
¡¡¡¡elem.name = elem_name;
¡¡¡¡elem.value = '';
¡¡¡¡form.appendChild(elem);
¡¡¡¡});
¡¡¡¡document.getElementsByTagName('body')[0].appendChild(form);
¡¡¡¡},
¡¡¡¡clearAsyncForm: function()
¡¡¡¡{
¡¡¡¡$A($('post_form').getElementsByTagName('input')).each(function(elem)
¡¡¡¡{
¡¡¡¡elem.value = '';
¡¡¡¡});
¡¡¡¡},
¡¡¡¡setDefault: function()
¡¡¡¡{
¡¡¡¡$('stat_post_type').innerHTML = '·ÇÄäÃû·¢±í';
¡¡¡¡},
¡¡¡¡bindOtherEvent: function()
¡¡¡¡{
¡¡¡¡if (!$('r_quote_del'))
¡¡¡¡{
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡/* ÒýÓÃʼþ */
¡¡¡¡$('r_quote_del').onclick = function()
¡¡¡¡{
¡¡¡¡$('r_quote').style.display = 'none';
¡¡¡¡return false;
¡¡¡¡}
¡¡¡¡/* Ñ¡Ôñ»Ø¸´Á¢³¡ */
¡¡¡¡$A($('reply_type').getElementsByTagName('input')).each(
¡¡¡¡function(radio)
¡¡¡¡{
¡¡¡¡if (radio.value == 'middle')
¡¡¡¡{
¡¡¡¡radio.checked = true;
¡¡¡¡}
¡¡¡¡radio.onclick = function()
¡¡¡¡{
¡¡¡¡if (this.value == 'agree')
¡¡¡¡{
¡¡¡¡$('stat_reply_type').innerHTML = 'Ö§³ÖÔÌû';
¡¡¡¡makeFormValue({r_type:'0'});
¡¡¡¡}
¡¡¡¡else if (this.value == 'disagree')
¡¡¡¡{
¡¡¡¡$('stat_reply_type').innerHTML = '·´¶ÔÔÌû';
¡¡¡¡makeFormValue({r_type:'1'});
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡$('stat_reply_type').innerHTML = 'ÖÐÁ¢Ì¬¶È';
¡¡¡¡makeFormValue({r_type:'2'});
¡¡¡¡}
¡¡¡¡}
¡¡¡¡});
¡¡¡¡/* Ñ¡Ôñ±çÂÛÁ¢³¡ */
¡¡¡¡$A($('debate_id').getElementsByTagName('input')).each(
¡¡¡¡function(radio)
¡¡¡¡{
¡¡¡¡radio.onclick = function()
¡¡¡¡{
¡¡¡¡if (this.value == 'agree')
¡¡¡¡{
¡¡¡¡$('stat_debate_type').innerHTML = 'ÎÒÊÇÕý·½';
¡¡¡¡makeFormValue({c_id:Comment.Post.base.data_info.agree_id});
¡¡¡¡}
¡¡¡¡else if (this.value == 'disagree')
¡¡¡¡{
¡¡¡¡$('stat_debate_type').innerHTML = 'ÎÒÊÇ·´·½';
¡¡¡¡makeFormValue({c_id:Comment.Post.base.data_info.disagree_id});
¡¡¡¡}
¡¡¡¡else if (this.value == 'middle')
¡¡¡¡{
¡¡¡¡$('stat_debate_type').innerHTML = 'ÎÒÊÇÖÐÁ¢·½';
¡¡¡¡makeFormValue({c_id:Comment.Post.base.data_info.middle_id});
¡¡¡¡}
¡¡¡¡}
¡¡¡¡});
¡¡¡¡},
¡¡¡¡setReplyType: function(type)
¡¡¡¡{
¡¡¡¡$A($('reply_type').getElementsByTagName('input')).each(
¡¡¡¡function(radio)
¡¡¡¡{
¡¡¡¡if (radio.value == type)
¡¡¡¡{
¡¡¡¡radio.click();
¡¡¡¡return;
¡¡¡¡/*
¡¡¡¡radio.checked = true;
¡¡¡¡var type_num = {
¡¡¡¡'agree': '0',
¡¡¡¡'disagree': '1',
¡¡¡¡'middle': '2'
¡¡¡¡};
¡¡¡¡makeFormValue({r_type:type_num[type]});
¡¡¡¡*/
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡radio.checked = false;
¡¡¡¡}
¡¡¡¡});
¡¡¡¡},
¡¡¡¡setDebate: function(type, c_id)
¡¡¡¡{
¡¡¡¡$A($('debate_id').getElementsByTagName('input')).each(
¡¡¡¡function(radio)
¡¡¡¡{
¡¡¡¡if (radio.value == type)
¡¡¡¡{
¡¡¡¡radio.checked = true;
¡¡¡¡makeFormValue({c_id:c_id});
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡radio.checked = false;
¡¡¡¡}
¡¡¡¡});
¡¡¡¡},
¡¡¡¡clearValue: function()
¡¡¡¡{
¡¡¡¡$A($(
¡¡¡¡'l_c_title',
¡¡¡¡'l_c_content'
¡¡¡¡)).each(
¡¡¡¡function(input)
¡¡¡¡{
¡¡¡¡input.value = '';
¡¡¡¡});
¡¡¡¡},
¡¡¡¡bindTitleEvent: function()
¡¡¡¡{
¡¡¡¡var d_title = Comment.Configure.reply_default_title;
¡¡¡¡$('l_c_title').value = d_title;
¡¡¡¡$('l_c_title').onfocus = function()
¡¡¡¡{
¡¡¡¡if ($('l_c_title').value == d_title)
¡¡¡¡{
¡¡¡¡$('l_c_title').value = '';
¡¡¡¡}
¡¡¡¡}
¡¡¡¡$('l_c_title').onblur = function()
¡¡¡¡{
¡¡¡¡if ($('l_c_title').value == '')
¡¡¡¡{
¡¡¡¡$('l_c_title').value = d_title;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡},
¡¡¡¡bindBottomTitleEvent: function()
¡¡¡¡{
¡¡¡¡if (!$('b_c_title'))
¡¡¡¡{
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡var d_title = Comment.Configure.reply_default_title;
¡¡¡¡$('b_c_title').value = d_title;
¡¡¡¡$('b_c_title').onfocus = function()
¡¡¡¡{
¡¡¡¡if ($('b_c_title').value == d_title)
¡¡¡¡{
¡¡¡¡$('b_c_title').value = '';
¡¡¡¡}
¡¡¡¡}
¡¡¡¡$('b_c_title').onblur = function()
¡¡¡¡{
¡¡¡¡if ($('b_c_title').value == '')
¡¡¡¡{
¡¡¡¡$('b_c_title').value = d_title;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡},
¡¡¡¡setPostTypeSelector: function(type)
¡¡¡¡{
¡¡¡¡if (type == 'login_select')
¡¡¡¡{
¡¡¡¡$('l_login_frame').src = 'i_login.htm?l_login_frame';
¡¡¡¡showElement('l_login_post');
¡¡¡¡$('stat_post_type').innerHTML = 'µÇ¼·¢±í';
¡¡¡¡$('l_b_tips').disabled = false;
¡¡¡¡$('l_b_tips').checked = false;
¡¡¡¡$('l_b_anonymous').checked = false;
¡¡¡¡}
¡¡¡¡else if (type == 'anonymous_select')
¡¡¡¡{
¡¡¡¡hideElement('l_login_post');
¡¡¡¡$('stat_post_type').innerHTML = 'ÄäÃû·¢±í';
¡¡¡¡$('l_b_tips').disabled = true;
¡¡¡¡$('l_b_tips').checked = false;
¡¡¡¡$('l_b_anonymous').checked = true;
¡¡¡¡}
¡¡¡¡},
¡¡¡¡bindPostTypeSelector: function()
¡¡¡¡{
¡¡¡¡if (!$('l_b_anonymous'))
¡¡¡¡{
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡$('l_b_anonymous').onclick = function()
¡¡¡¡{
¡¡¡¡if ($('l_b_anonymous').checked)
¡¡¡¡{
¡¡¡¡Comment.Post.setPostTypeSelector('anonymous_select');
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡Comment.Post.setPostTypeSelector('login_select');
¡¡¡¡}
¡¡¡¡}
¡¡¡¡},
¡¡¡¡bindPostBtn: function()
¡¡¡¡{
¡¡¡¡if (!$('l_post_btn'))
¡¡¡¡{
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡var self = this;
¡¡¡¡$('l_post_btn').onclick = function()
¡¡¡¡{
¡¡¡¡if (!getCookie('skey') && !$('l_b_anonymous').checked)
¡¡¡¡{
¡¡¡¡alert('ºÜ±§Ç¸£¬ÄúÉÐδµÇ¼£¬ÇëÏȵǼ');
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡if ($('l_c_title').value.length > 32)
¡¡¡¡{
¡¡¡¡alert('ºÜ±§Ç¸£¬±êÌâ²»µÃ³¬¹ý32¸ö×Ö·û');
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡var c_content = $('l_c_content').value.trim();
¡¡¡¡if (c_content == '')
¡¡¡¡{
¡¡¡¡alert('ºÜ±§Ç¸£¬ÇëÌîдÆÀÂÛÄÚÈÝ');
¡¡¡¡$('l_c_content').focus();
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡else if (c_content.realLength() > 10000)
¡¡¡¡{
¡¡¡¡alert('ºÜ±§Ç¸£¬ÆÀÂÛÄÚÈݲ»Äܳ¬¹ý10,000¸ö×Ö·û£¨5,000¸öºº×Ö£©');
¡¡¡¡$('l_c_content').focus();
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡if (self.base.min_len)
¡¡¡¡{
¡¡¡¡if (c_content.realLength() < self.base.min_len)
¡¡¡¡{
¡¡¡¡alert('ºÜ±§Ç¸£¬ÆÀÂÛÄÚÈݲ»ÄÜÉÙÓÚ' + self.base.min_len + '¸ö×Ö·û£¨' + self.base.min_len / 2 + '¸öºº×Ö£©');
¡¡¡¡$('l_c_content').focus();
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡makeFormValue(
¡¡¡¡{
¡¡¡¡b_anonymous: $('l_b_anonymous').checked ? '1' : '',
¡¡¡¡c_site: self.base.site,
¡¡¡¡c_sort: self.base.sort_en,
¡¡¡¡c_title: ($('l_c_title').value == Comment.Configure.reply_default_title ? '' : $('l_c_title').value),
¡¡¡¡c_content: $('l_c_content').value,
¡¡¡¡g_id: self.base.comment_g_id,
¡¡¡¡r_tips: $('l_b_tips').checked ? '1' : ''
¡¡¡¡});
¡¡¡¡self.postData();
¡¡¡¡return false;
¡¡¡¡};
¡¡¡¡},
¡¡¡¡bindBottomPostBtn: function()
¡¡¡¡{
¡¡¡¡if (!$('b_post_btn'))
¡¡¡¡{
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡var self = this;
¡¡¡¡$('b_post_btn').onclick = function()
¡¡¡¡{
¡¡¡¡if (!getCookie('skey') && !$('b_b_anonymous').checked)
¡¡¡¡{
¡¡¡¡alert('ºÜ±§Ç¸£¬ÄúÉÐδµÇ¼£¬ÇëÏȵǼ');
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡if ($('b_c_title'))
¡¡¡¡{
¡¡¡¡if ($('b_c_title').value.length > 32)
¡¡¡¡{
¡¡¡¡alert('ºÜ±§Ç¸£¬±êÌâ²»µÃ³¬¹ý32¸ö×Ö·û');
¡¡¡¡$('b_c_title').focus();
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡var c_content = $('b_c_content').value.trim();
¡¡¡¡if (c_content == '')
¡¡¡¡{
¡¡¡¡alert('ºÜ±§Ç¸£¬ÇëÌîдÆÀÂÛÄÚÈÝ');
¡¡¡¡$('b_c_content').focus();
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡else if (c_content.realLength() > 10000)
¡¡¡¡{
¡¡¡¡alert('ºÜ±§Ç¸£¬ÆÀÂÛÄÚÈݲ»Äܳ¬¹ý10,000¸ö×Ö·û');
¡¡¡¡$('b_c_content').focus();
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡if (self.base.min_len)
¡¡¡¡{
¡¡¡¡if (c_content.realLength() < self.base.min_len)
¡¡¡¡{
¡¡¡¡alert('ÊéÆÀÄÚÈݲ»ÄÜÉÙÓÚ' + self.base.min_len + '×Ö·û');
¡¡¡¡$('b_c_content').focus();
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡makeFormValue(
¡¡¡¡{
¡¡¡¡b_anonymous: $('b_b_anonymous').checked ? '1' : '',
¡¡¡¡c_site: self.base.site,
¡¡¡¡c_sort: self.base.sort_en,
¡¡¡¡c_title: ($('b_c_title').value == Comment.Configure.reply_default_title ? '' : $('b_c_title').value),
¡¡¡¡c_content: $('b_c_content').value,
¡¡¡¡g_id: self.base.comment_g_id,
¡¡¡¡c_id: self.base.commentId,
¡¡¡¡r_tips: $('b_b_tips').checked ? '1' : ''
¡¡¡¡});
¡¡¡¡self.postData();
¡¡¡¡return false;
¡¡¡¡};
¡¡¡¡},
¡¡¡¡bindBottomPostTypeEvent: function()
¡¡¡¡{
¡¡¡¡var self = this;
¡¡¡¡if (!$('b_b_anonymous'))
¡¡¡¡{
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡if (self.base.name != 'MiniNormal')
¡¡¡¡{
¡¡¡¡setTimeout(setBottomLocation, Comment.Configure.login_frame_delay);
¡¡¡¡}
¡¡¡¡function setBottomLocation()
¡¡¡¡{
¡¡¡¡$('b_login_frame').src = 'i_login.htm?b_login_frame';
¡¡¡¡}
¡¡¡¡$('b_b_anonymous').onclick = function()
¡¡¡¡{
¡¡¡¡if ($('b_b_anonymous').checked)
¡¡¡¡{
¡¡¡¡hideElement('b_login_post');
¡¡¡¡with ($('b_b_tips'))
¡¡¡¡{
¡¡¡¡disabled = true;
¡¡¡¡checked = false;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡$('b_login_frame').src = 'i_login.htm?b_login_frame';
¡¡¡¡showElement('b_login_post');
¡¡¡¡$('b_b_tips').disabled = false;
¡¡¡¡}
¡¡¡¡if (self.base.name == 'MiniNormal')
¡¡¡¡{
¡¡¡¡self.base.updateHeight();
¡¡¡¡}
¡¡¡¡}
¡¡¡¡},
¡¡¡¡postData: function()
¡¡¡¡{
¡¡¡¡showLoading('ÕýÔÚ·¢ËÍ...');
¡¡¡¡var post_form = $('post_form');
¡¡¡¡post_form.action = Comment.Configure.postUrl;
¡¡¡¡post_form.target = 'post_async';
¡¡¡¡post_form.method = 'post';
¡¡¡¡post_form.submit();
¡¡¡¡},
¡¡¡¡fastReplyWords:
¡¡¡¡[
¡¡¡¡[
¡¡¡¡'¾«²Ê£¬Ò»Õë¼ûѪ',
¡¡¡¡'¹Ûµã¶Àµ½',
¡¡¡¡'˵µÃºÜ¶Ô',
¡¡¡¡'Äã˵µÃÓеÀÀí'
¡¡¡¡],
¡¡¡¡[
¡¡¡¡'ÂÒÆß°ËÔã˵ʲô',
¡¡¡¡'Äã˵µÃûµÀÀí',
¡¡¡¡'¼òÖ±ÊǺú˵°ËµÀ'
¡¡¡¡]
¡¡¡¡],
¡¡¡¡fastReply: function(btn, type, r_key, c_id)
¡¡¡¡{
¡¡¡¡var self = this;
¡¡¡¡$('fastLayer').innerHTML = '';
¡¡¡¡$('fastLayer').style.display = 'block';
¡¡¡¡$('fastLayer').style.left = findPosX(btn) + 1 + 'px';
¡¡¡¡$('fastLayer').style.top = findPosY(btn) + 20 + 'px';
¡¡¡¡var replyWords = this.fastReplyWords[type];
¡¡¡¡for (var i = 0; i < replyWords.length; ++i)
¡¡¡¡{
¡¡¡¡var word = $C('a');
¡¡¡¡word.innerHTML = replyWords[i];
¡¡¡¡word.href = '#';
¡¡¡¡$('fastLayer').appendChild(word);
¡¡¡¡word.onclick = function()
¡¡¡¡{
¡¡¡¡replyPost(this.innerHTML);
¡¡¡¡return false;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡function replyPost(content)
¡¡¡¡{
¡¡¡¡makeFormValue(
¡¡¡¡{
¡¡¡¡b_anonymous: (getCookie('skey') ? '' : '1'),
¡¡¡¡c_id: c_id,
¡¡¡¡c_site: self.base.site,
¡¡¡¡c_sort: self.base.data_commentinfo.sort_en,
¡¡¡¡r_key: r_key,
¡¡¡¡r_type: (type == 0 ? '3' : '4'),
¡¡¡¡r_tips: '',
¡¡¡¡c_title: '',
¡¡¡¡c_content: content,
¡¡¡¡g_id: self.base.comment_g_id
¡¡¡¡});
¡¡¡¡self.postData();
¡¡¡¡}
¡¡¡¡},
¡¡¡¡onError: function(msg)
¡¡¡¡{
¡¡¡¡alert(msg);
¡¡¡¡},
¡¡¡¡onSucc: function()
¡¡¡¡{
¡¡¡¡var self = this;
¡¡¡¡setTimeout(reload, 300);
¡¡¡¡function reload()
¡¡¡¡{
¡¡¡¡self.base.reload();
¡¡¡¡window.location.replace('#reload');
¡¡¡¡}
¡¡¡¡},
¡¡¡¡clearBottomInput: function()
¡¡¡¡{
¡¡¡¡$A($(
¡¡¡¡'b_c_title',
¡¡¡¡'b_c_content'
¡¡¡¡)).each(function(elem)
¡¡¡¡{
¡¡¡¡if (elem)
¡¡¡¡{
¡¡¡¡elem.value = '';
¡¡¡¡}
¡¡¡¡});
¡¡¡¡},
¡¡¡¡logout: function()
¡¡¡¡{
¡¡¡¡var url = Comment.Configure.loginIframeUrl + '?l_login_frame';
¡¡¡¡if ($('l_login_frame'))
¡¡¡¡{
¡¡¡¡$('l_login_frame').src = Comment.Configure.logoutUrl + '?url=' + url;
¡¡¡¡}
¡¡¡¡if ($('b_login_frame'))
¡¡¡¡{
¡¡¡¡$('b_login_frame').src = Comment.Configure.logoutUrl + '?url=' + url;
¡¡¡¡}
¡¡¡¡},
¡¡¡¡callback: function(url)
¡¡¡¡{
¡¡¡¡hideLoading();
¡¡¡¡$('post_async').src = 'about:blank';
¡¡¡¡var code = url.substr(url.indexOf('code=') + 5);
¡¡¡¡if (code == '-')
¡¡¡¡{
¡¡¡¡code = -1;
¡¡¡¡}
¡¡¡¡code = code / 1;
¡¡¡¡getFormValue('r_type');
¡¡¡¡if (code == -1 && Comment.Post.r_type >= 3)
¡¡¡¡{
¡¡¡¡code = 0;
¡¡¡¡}
¡¡¡¡var errMsg = '';
¡¡¡¡switch (code)
¡¡¡¡{
¡¡¡¡case -1:
¡¡¡¡errMsg = 'ÄúµÄÆÀÂÛÒÑÌá½»ÉóºË£¬¸ÐлÄúµÄ²ÎÓ룡';
¡¡¡¡this.closePostLayer();
¡¡¡¡this.clearBottomInput();
¡¡¡¡break;
¡¡¡¡case 0:
¡¡¡¡errMsg = '·¢±í³É¹¦£¬¸ÐлÄúµÄ²ÎÓ룡';
¡¡¡¡this.onSucc();
¡¡¡¡this.closePostLayer();
¡¡¡¡this.clearBottomInput();
¡¡¡¡break;
¡¡¡¡case 1:
¡¡¡¡errMsg = 'ºÜ±§Ç¸£¬ÄúÌîдµÄÄÚÈݲ»ÍêÕû£¬ÇëÖØÐÂÊäÈëÄúµÄÄÚÈÝ¡£';
¡¡¡¡break;
¡¡¡¡case 2:
¡¡¡¡errMsg = 'ºÜ±§Ç¸£¬ÄúÉÐδµÇ¼»òµÇ¼ÒѾ¹ýÆÚ£¬ÇëÏȵǼ¡£';
¡¡¡¡this.logout();
¡¡¡¡break;
¡¡¡¡case 3:
¡¡¡¡errMsg = 'ÄúµÄÆÀÂÛÒÑÌá½»ÉóºË£¬¸ÐлÄúµÄ²ÎÓ룡';
¡¡¡¡this.closePostLayer();
¡¡¡¡this.clearBottomInput();
¡¡¡¡break;
¡¡¡¡case 4:
¡¡¡¡errMsg = 'ÄúµÄIPµØÖ·ÒÑÔÝʱ±»ÆÁ±Î¡£';
¡¡¡¡break;
¡¡¡¡case 5:
¡¡¡¡errMsg = 'ÄúµÄQQºÅÒÑÔÝʱ½ûÖ¹ÔÚ±¾ÆÀÂÛϵͳ·¢ÑÔ¡£';
¡¡¡¡break;
¡¡¡¡case 6:
¡¡¡¡errMsg = 'ºÜ±§Ç¸£¬ÄúµÄQQºÅÂëºÍÃÜÂ벻ƥÅä¡£';
¡¡¡¡break;
¡¡¡¡case 7:
¡¡¡¡errMsg = 'ºÜ±§Ç¸£¬ÏµÍ³·±Ã¦£¬ÇëÉÔºòÔÙÊÔ¡£';
¡¡¡¡break;
¡¡¡¡case 8:
¡¡¡¡errMsg = 'ºÜ±§Ç¸£¬Äú·¢±íµÄƵÂÊÌ«¿ì£¬ÇëÉÔºóÔÙÊÔ¡£';
¡¡¡¡break;
¡¡¡¡}
¡¡¡¡if (errMsg != '')
¡¡¡¡{
¡¡¡¡this.onError(errMsg);
¡¡¡¡}
¡¡¡¡},
¡¡¡¡openPostLayer: function()
¡¡¡¡{
¡¡¡¡$('sPost').style.top = document.documentElement.scrollTop + 50;
¡¡¡¡$('sPost').style.left = 300;
¡¡¡¡$('sLayer').style.height = document.documentElement.scrollHeight;
¡¡¡¡$('sLayer').oncontextmenu = function(){return false};
¡¡¡¡$('sLayer').className = 'dis';
¡¡¡¡$('sPost').className= 'dis';
¡¡¡¡this.auto = setInterval(setAuto, 200);
¡¡¡¡function setAuto()
¡¡¡¡{
¡¡¡¡$('sPost').style.top = document.documentElement.scrollTop + 50;
¡¡¡¡}
¡¡¡¡},
¡¡¡¡closePostLayer: function()
¡¡¡¡{
¡¡¡¡if (!$('sLayer'))
¡¡¡¡{
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡$('sLayer').oncontextmenu = function(){return true};
¡¡¡¡$('sLayer').className = 'undis';
¡¡¡¡$('sPost').className = 'undis';
¡¡¡¡clearInterval(this.auto);
¡¡¡¡this.clearAsyncForm();
¡¡¡¡this.clearValue();
¡¡¡¡Debug.log('clearAsyncForm');
¡¡¡¡},
¡¡¡¡beforeOpenPost: function(type, r_key, c_id, content)
¡¡¡¡{
¡¡¡¡/* type -> ·¢±íÆÀÂ۵ķ½Ê½
¡¡¡¡0£ºÆÕͨÆÀÂ۵Ļظ´
¡¡¡¡1£ºÆÕͨÆÀÂÛµÄÒýÓûظ´
¡¡¡¡2£º±çÂÛÆÀÂ۵Ļظ´
¡¡¡¡*/
¡¡¡¡this.bindTitleEvent();
¡¡¡¡$('post_article').innerHTML = this.base.comment_title.left(20);
¡¡¡¡if (getCookie('skey'))
¡¡¡¡{
¡¡¡¡this.setPostTypeSelector('login_select');
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡this.setPostTypeSelector('anonymous_select');
¡¡¡¡}
¡¡¡¡$('l_b_tips').checked = false;
¡¡¡¡switch (type)
¡¡¡¡{
¡¡¡¡case 0:
¡¡¡¡hideElement('debate_id', 'reply_type', 'r_quote');
¡¡¡¡makeFormValue(
¡¡¡¡{
¡¡¡¡c_id: c_id
¡¡¡¡});
¡¡¡¡break;
¡¡¡¡case 1:
¡¡¡¡hideElement('debate_id');
¡¡¡¡$('post_quote').innerHTML = (content).stripTags();
¡¡¡¡showElement('r_quote', 'reply_type');
¡¡¡¡this.setReplyType('middle');
¡¡¡¡$('stat_reply_type').innerHTML = 'ÖÐÁ¢Ì¬¶È';
¡¡¡¡makeFormValue(
¡¡¡¡{
¡¡¡¡r_key: r_key,
¡¡¡¡r_type: '2',
¡¡¡¡c_id: c_id
¡¡¡¡});
¡¡¡¡break;
¡¡¡¡case 2:
¡¡¡¡hideElement('reply_type', 'r_quote');
¡¡¡¡showElement('debate_id');
¡¡¡¡break;
¡¡¡¡}
¡¡¡¡this.openPostLayer();
¡¡¡¡}
¡¡¡¡}
¡¡¡¡var NDEBUG = true;
¡¡¡¡var Debug = {
¡¡¡¡init: function()
¡¡¡¡{
¡¡¡¡if (NDEBUG == true)
¡¡¡¡{
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡var divDebug = $C('div');
¡¡¡¡this.divDebug = divDebug;
¡¡¡¡with (divDebug.style)
¡¡¡¡{
¡¡¡¡top = '10px';
¡¡¡¡left = '10px';
¡¡¡¡width = '300px';
¡¡¡¡height = '200px';
¡¡¡¡overflow = 'scroll';
¡¡¡¡verticalAlign = 'top';
¡¡¡¡position = 'absolute';
¡¡¡¡backgroundColor = '#fff';
¡¡¡¡padding = '5px';
¡¡¡¡lineHeight = '110%';
¡¡¡¡}
¡¡¡¡document.getElementsByTagName('body')[0].appendChild(divDebug);
¡¡¡¡this.auto = setInterval(setAuto, 200);
¡¡¡¡function setAuto()
¡¡¡¡{
¡¡¡¡divDebug.style.top = document.documentElement.scrollTop + 10;
¡¡¡¡}
¡¡¡¡Debug.log('<b>Debug</b>');
¡¡¡¡divDebug.ondblclick = function()
¡¡¡¡{
¡¡¡¡NDEBUG = true;
¡¡¡¡Element.remove(divDebug);
¡¡¡¡}
¡¡¡¡this.height = 0;
¡¡¡¡},
¡¡¡¡log: function(str)
¡¡¡¡{
¡¡¡¡if (NDEBUG == true)
¡¡¡¡{
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡var now = new Date();
¡¡¡¡this.divDebug.innerHTML += '[' + now.getHours() + ':'
¡¡¡¡+ now.getMinutes() + ':'
¡¡¡¡+ now.getSeconds() + '] ' + str + '<br>';
¡¡¡¡this.divDebug.scrollTop = 10000000;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡var divLoading = null;
¡¡¡¡function showLoading(action)
¡¡¡¡{
¡¡¡¡if (!divLoading)
¡¡¡¡{
¡¡¡¡divLoading = $C('div');
¡¡¡¡divLoading.className = 'loading';
¡¡¡¡document.getElementsByTagName('body')[0].appendChild(divLoading);
¡¡¡¡}
¡¡¡¡if (!action)
¡¡¡¡{
¡¡¡¡divLoading.innerHTML = 'ÕýÔÚ¶ÁÈ¡...';
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡divLoading.innerHTML = action;
¡¡¡¡}
¡¡¡¡divLoading.style.top = document.documentElement.scrollTop;
¡¡¡¡divLoading.style.left = '0px';
¡¡¡¡divLoading.style.display = 'block';
¡¡¡¡}
¡¡¡¡function hideLoading()
¡¡¡¡{
¡¡¡¡if (!divLoading)
¡¡¡¡{
¡¡¡¡return;
¡¡¡¡}
¡¡¡¡divLoading.style.display = 'none';
¡¡¡¡}
¡¡¡¡function showElement()
¡¡¡¡{
¡¡¡¡for (var i = 0; i < arguments.length; i++)
¡¡¡¡{
¡¡¡¡var element = arguments[i];
¡¡¡¡if ($(element))
¡¡¡¡{
¡¡¡¡$(element).style.display = 'block';
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}
¡¡¡¡function hideElement()
¡¡¡¡{
¡¡¡¡for (var i = 0; i < arguments.length; i++)
¡¡¡¡{
¡¡¡¡var element = arguments[i];
¡¡¡¡if ($(element))
¡¡¡¡{
¡¡¡¡$(element).style.display = 'none';
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}
¡¡¡¡function getFormValue(name)
¡¡¡¡{
¡¡¡¡$A($('post_form').getElementsByTagName('input')).each(function(elem)
¡¡¡¡{
¡¡¡¡if (elem.name == name)
¡¡¡¡{
¡¡¡¡Comment.Post.r_type = elem.value;
¡¡¡¡return elem.value;
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡return null;
¡¡¡¡}
¡¡¡¡});
¡¡¡¡}
¡¡¡¡function makeFormValue(name2Value)
¡¡¡¡{
¡¡¡¡Debug.log('makeFormValue start');
¡¡¡¡$A($('post_form').getElementsByTagName('input')).each(function(elem)
¡¡¡¡{
¡¡¡¡if (name2Value[elem.name] != null)
¡¡¡¡{
¡¡¡¡elem.value = name2Value[elem.name];
¡¡¡¡}
¡¡¡¡Debug.log(elem.name + ': ' + elem.value);
¡¡¡¡});
¡¡¡¡Debug.log('makeFormValue end');
¡¡¡¡}
¡¡¡¡function noCacheUrl()
¡¡¡¡{
¡¡¡¡return '?cache=' + rndNum(9);
¡¡¡¡}
¡¡¡¡function rndNum(n)
¡¡¡¡{
¡¡¡¡var rnd= '1.';
¡¡¡¡for(var i = 0; i < n; i++)
¡¡¡¡rnd += Math.floor(Math.random() * 10);
¡¡¡¡return rnd;
¡¡¡¡}
¡¡¡¡var sUrl = window.location.href.toString();
¡¡¡¡var sDomain = sUrl.substring(7, sUrl.indexOf('/', 7));
¡¡¡¡var sPath = sUrl.substring(sUrl.indexOf('/', 7));
¡¡¡¡var sParam = sUrl.substring(sUrl.indexOf('?') + 1);
¡¡¡¡if (sParam.indexOf('#') != -1)
¡¡¡¡{
¡¡¡¡sParam = sParam.substr(0, sParam.indexOf('#'));
¡¡¡¡}
¡¡¡¡document.domain = 'qq.com';
¡¡¡¡var initWith = {
¡¡¡¡'comment': 'Normal',
¡¡¡¡'i_comment': 'MiniNormal',
¡¡¡¡'comment_group': 'Group',
¡¡¡¡'comment_debate': 'Debate',
¡¡¡¡'comment_reply_pk': 'ReplyPK',
¡¡¡¡'comment_user': 'UserReply',
¡¡¡¡'list': 'List'
¡¡¡¡};
¡¡¡¡window.onload = function()
¡¡¡¡{
¡¡¡¡Comment.Start();
¡¡¡¡}
¡¡¡¡Comment.Start = function()
¡¡¡¡{
¡¡¡¡Debug.init();
¡¡¡¡for (var url in initWith)
¡¡¡¡{
¡¡¡¡if (sUrl.indexOf('/' + url + '.htm') != -1)
¡¡¡¡{
¡¡¡¡if (url == 'list')
¡¡¡¡{
¡¡¡¡Comment.Page[initWith[url]].load(sUrl);
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡Comment.Page[initWith[url]].load(sParam.toQueryParams());
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}
¡¡¡¡document.body.onclick = function()
¡¡¡¡{
¡¡¡¡if ($('fastLayer'))
¡¡¡¡{
¡¡¡¡$('fastLayer').style.display = 'none';
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}
¡¡¡¡Comment.HotList =
¡¡¡¡{
¡¡¡¡siteObject: {
¡¡¡¡'news': 'ÐÂÎÅ',
¡¡¡¡'ent': 'ÓéÀÖ',
¡¡¡¡'finance': '²Æ¾',
¡¡¡¡'tech': '¿Æ¼¼',
¡¡¡¡'auto': 'Æû³µ',
¡¡¡¡'gamezone': 'ÓÎÏ·',
¡¡¡¡'edu': '½ÌÓý',
¡¡¡¡'book': '¶ÁÊé',
¡¡¡¡'lady': 'Å®ÐÔ',
¡¡¡¡'astro': 'ÐÇ×ù',
¡¡¡¡'sports': 'ÌåÓý',
¡¡¡¡'comic': '¶¯Âþ',
¡¡¡¡'luxury': 'ʱÉÐ',
¡¡¡¡'joke': 'Ц»°',
¡¡¡¡'cq': 'ÖØÇì',
¡¡¡¡'xian': 'Î÷°²',
¡¡¡¡'view': '˵°É'
¡¡¡¡},
¡¡¡¡getRandomSite: function()
¡¡¡¡{
¡¡¡¡if (!this.siteArray)
¡¡¡¡{
¡¡¡¡this.siteArray = new Array();
¡¡¡¡for (var site_en in this.siteObject)
¡¡¡¡{
¡¡¡¡this.siteArray.push(site_en);
¡¡¡¡}
¡¡¡¡}
¡¡¡¡var site_sum = this.siteArray.length;
¡¡¡¡var rnd_site = Math.floor(Math.random() * site_sum);
¡¡¡¡return this.siteArray[rnd_site];
¡¡¡¡},
¡¡¡¡bindTopHotList: function(container, site)
¡¡¡¡{
¡¡¡¡var topSiteSum = 6;
¡¡¡¡var topSite = new Object();
¡¡¡¡if (site != '')
¡¡¡¡{
¡¡¡¡if (this.siteObject[site])
¡¡¡¡{
¡¡¡¡topSite[site] = this.siteObject[site];
¡¡¡¡topSiteSum--;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡while (topSiteSum > 0)
¡¡¡¡{
¡¡¡¡var rnd_site = this.getRandomSite();
¡¡¡¡if (topSite[rnd_site])
¡¡¡¡{
¡¡¡¡continue;
¡¡¡¡}
¡¡¡¡topSite[rnd_site] = this.siteObject[rnd_site];
¡¡¡¡topSiteSum--;
¡¡¡¡}
¡¡¡¡var hot_index = 0;
¡¡¡¡var hot_header = '';
¡¡¡¡var hot_body = '';
¡¡¡¡for (var site_en in topSite)
¡¡¡¡{
¡¡¡¡hot_header += '<p' + (hot_index == 0 ? ' class="c"' : '') + ' onclick="getMe(this)">' + topSite[site_en] + '</p>';
¡¡¡¡hot_body += '<dd' + (hot_index != 0 ? ' class="undis"' : '') + ' id="Hot_Top_' + site_en + '"></dd>';
¡¡¡¡hot_index++;
¡¡¡¡}
¡¡¡¡var hot_html = '<dl><dt>' + hot_header + '</dt>' + hot_body + '</dl>';
¡¡¡¡$(container).innerHTML = hot_html;
¡¡¡¡for (var site_en in topSite)
¡¡¡¡{
¡¡¡¡this.bindTopSite('Hot_Top_' + site_en, '/c/async_html/' + site_en + '_top.htm');
¡¡¡¡}
¡¡¡¡},
¡¡¡¡bindRightHotList: function(container, site)
¡¡¡¡{
¡¡¡¡var topSiteSum = 3;
¡¡¡¡var topSite = new Object();
¡¡¡¡if (site != '')
¡¡¡¡{
¡¡¡¡if (this.siteObject[site])
¡¡¡¡{
¡¡¡¡topSite[site] = this.siteObject[site];
¡¡¡¡topSiteSum--;
¡¡¡¡}
¡¡¡¡}
¡¡¡¡while (topSiteSum > 0)
¡¡¡¡{
¡¡¡¡var rnd_site = this.getRandomSite();
¡¡¡¡if (topSite[rnd_site])
¡¡¡¡{
¡¡¡¡continue;
¡¡¡¡}
¡¡¡¡topSite[rnd_site] = this.siteObject[rnd_site];
¡¡¡¡topSiteSum--;
¡¡¡¡}
¡¡¡¡var hot_body = '';
¡¡¡¡for (var site_en in topSite)
¡¡¡¡{
¡¡¡¡hot_body += '<dl><dt>' + topSite[site_en] + 'ÈÈÆÀ</dt><div id="Hot_Right_' + site_en + '"></div></dl>';
¡¡¡¡}
¡¡¡¡$(container).innerHTML = hot_body;
¡¡¡¡for (var site_en in topSite)
¡¡¡¡{
¡¡¡¡this.bindTopSite('Hot_Right_' + site_en, '/c/async_html/' + site_en + '_right.htm');
¡¡¡¡}
¡¡¡¡},
¡¡¡¡bindTopSite: function(container, url)
¡¡¡¡{
¡¡¡¡new Ajax.Request(
¡¡¡¡url,
¡¡¡¡{
¡¡¡¡method: 'get',
¡¡¡¡onSuccess: onSucc,
¡¡¡¡onFailure: onError
¡¡¡¡}
¡¡¡¡);
¡¡¡¡function onSucc(response)
¡¡¡¡{
¡¡¡¡$(container).innerHTML = response.responseText;
¡¡¡¡}
¡¡¡¡function onError()
¡¡¡¡{
¡¡¡¡$(container).innerHTML = '';
¡¡¡¡}
¡¡¡¡}
¡¡¡¡}