template_showtopic.js
上传用户:wenllgg125
上传日期:2020-04-09
资源大小:7277k
文件大小:35k
源码类别:

SCSI/ASPI

开发平台:

Others

  1. function displayGender(gender) {
  2.     var gendername = '女';
  3.     gender = parseInt(gender);
  4.     switch (gender) {
  5.         case 0:
  6.             gendername = '保密';
  7.             break;
  8.         case 1:
  9.             gendername = '男';
  10.             break;
  11.         case 2:
  12.             gendername = '女';
  13.             break;
  14.     }
  15.     return gendername;
  16. }
  17. function replyToFloor(floor, poster, postid) {
  18.     if ($('quickposttitle')) {
  19.         $('quickpostform').postid.value = postid;
  20. $('quickposttitle').value = '回复 ' + floor + '# ' + poster + ' 的帖子';
  21. $('validatemessage').innerHTML = $('quickposttitle').value;
  22. $('validatemessage').className = '';
  23.         $('quickpostmessage').focus();
  24.     }
  25. }
  26. function nospace(username) {
  27.     alert('抱歉, 用户 ' + username + ' 尚未开通个人空间');
  28. }
  29. function fastdalert(s) {
  30. $('validatemessage').className = 'onerror';
  31. $('validatemessage').innerHTML = s;
  32. }
  33. function fastvalidate(theform, previewpost, switcheditormode) {
  34.     var message = !theform.parseurloff.checked ? parseurl(theform.message.value) : theform.message.value;
  35.     if (message == "") {
  36.         fastdalert("请完成标题或内容栏。");
  37.         theform.message.focus();
  38.         try { $("quickpostsubmit").disabled = false; } catch (e) { }
  39.         return false;
  40.     } else if (theform.title.value.length > 60) {
  41.         fastdalert("您的标题超过 60 个字符的限制。");
  42.         theform.title.focus();
  43.         try { $("quickpostsubmit").disabled = false; } catch (e) { }
  44.         return false;
  45.     }
  46.     if ($('debateopinion') && $('debateopinion').value == 0) {
  47.         fastdalert('请选择您在辩论中的观点');
  48.         return false;
  49.     }
  50.     if (!disablepostctrl && ((postminchars != 0 && mb_strlen(message) < postminchars) || (postmaxchars != 0 && mb_strlen(message) > postmaxchars))) {
  51.         fastdalert("您的帖子长度不符合要求。nn当前长度: " + mb_strlen(message) + " 字节n系统限制: " + postminchars + " 到 " + postmaxchars + " 字节");
  52.         return false;
  53.     }
  54.     if (!switcheditormode && !previewpost) {
  55.         try { $("quickpostsubmit").disabled = true; } catch (e) { }
  56.     }
  57. theform.message.value = message;
  58.     return true;
  59. }
  60. function ShowStars(n, t) {
  61.     var s = '';
  62.     for (var i = 3; i > 0; i--) {
  63.         level = parseInt(n / Math.pow(t, i - 1));
  64.         n = n % Math.pow(t, i - 1);
  65.         for (var j = 0; j < level; j++) {
  66.             s += '<img src="templates/' + templatepath + '/images/star_level' + i + '.gif" />';
  67.         }
  68.     }
  69.     document.write(s);
  70. }
  71. function copycode(obj) {
  72.     //if(is_ie && obj.style.display != 'none') {
  73.     // var rng = document.body.createTextRange();
  74.     //rng.moveToElementText(obj);
  75.     // rng.scrollIntoView();
  76.     // rng.select();
  77.     // rng.execCommand("Copy");
  78.     // rng.collapse(false);
  79.     //}
  80.     setcopy(is_ie ? obj.innerText.replace(/rnrn/g, 'rn') : obj.textContent,'复制完成');
  81. }
  82. function signature(obj) {
  83.     if (obj.style.maxHeightIE != '') {
  84.         var height = (obj.scrollHeight > parseInt(obj.style.maxHeightIE)) ? obj.style.maxHeightIE : obj.scrollHeight;
  85.         if (obj.innerHTML.indexOf('<IMG ') == -1) {
  86.             obj.style.maxHeightIE = '';
  87.         }
  88.         return height;
  89.     }
  90. }
  91. function imgzoom(o) {
  92.     if (event.ctrlKey) {
  93.         var zoom = parseInt(o.style.zoom, 10) || 100;
  94.         zoom -= event.wheelDelta / 12;
  95.         if (zoom > 0) {
  96.             o.style.zoom = zoom + '%';
  97.         }
  98.         return false;
  99.     } else {
  100.         return true;
  101.     }
  102. }
  103. function printinpostad(index) {
  104.     try {
  105.         if (inpostad) {
  106.             document.write("<div class="line category"><div style='float: left;'>[广告]&nbsp;</div><div style='text-align:left;'>");
  107.             var tempstr = inpostad[index];
  108.             var ad = tempstr.split("\r\n");
  109.             for (var i = 0; i < ad.length; i++) {
  110.                 document.writeln(ad[i]);
  111.             }
  112.             document.write("</div>");
  113.             document.write("</div>");
  114.         }
  115.     } catch (e) {
  116.     }
  117. }
  118. function showrate(pid, aspxrewrite, ratetimes, tid, templatepath) {
  119.     // var rr = $("rate_" + pid + "_real");
  120.     // var rf = $("rate_" + pid + "_fake");
  121.     // if (rr.style.display == "none") {
  122.     // rr.style.display = "";
  123.     // rf.style.display = "none";
  124.     // } else {
  125.     // rr.style.display = "none";
  126.     // rf.style.display = "";
  127.     // }
  128.     var ratediv = $("rate_" + pid);
  129.     if (ratediv.innerHTML == "") {
  130.         ratediv.innerHTML = "请稍侯..."
  131.         var action = "tools/ajax.aspx?t=ratelist";
  132.         var oXmlHttp = createXMLHttp();
  133.         oXmlHttp.open("post", action, true);
  134.         oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  135.         oXmlHttp.onreadystatechange = function() {
  136.             if (oXmlHttp.readyState == 4) {
  137.                 if (oXmlHttp.status == 200) {
  138.                     outputRatelog(oXmlHttp.responseXML, pid, aspxrewrite, templatepath);
  139.                     //bind current post;
  140.                 } else {
  141.                     alert("An error occurred: " + oXmlHttp.statusText);
  142.                 }
  143.             }
  144.         };
  145.         oXmlHttp.send("pid=" + pid + "&ratetimes=" + ratetimes + "&tid=" + tid);
  146.     }
  147. }
  148. function outputRatelog(doc, pid, aspxrewrite, templatepath) {
  149.     var err = doc.getElementsByTagName('error');
  150.     var ratediv = $("rate_" + pid);
  151.     if (err[0] != null && err[0] != undefined) {
  152.         if (err[0].childNodes.length > 1) {
  153.             alert(err[0].childNodes[1].nodeValue);
  154.         } else {
  155.         //alert(err[0].firstChild.nodeValue);
  156.             ratediv.innerHTML = "该帖评分记录已被删除";
  157.         }
  158.         return;
  159.     }
  160. //    var ratediv = $("rate_" + pid);
  161.     var html = "";
  162.     var ratelist = doc.getElementsByTagName('ratelog');
  163.     var previoursuid = "";
  164.     for (var i = 0; i < ratelist.length; i++)
  165.     {
  166.         var uid = getSpecificNodeValue(doc, "uid", i);
  167.         var nextuid = getSpecificNodeValue(doc, "uid", i + 1);
  168.         var username = getSpecificNodeValue(doc, "username", i);
  169.         var extcreditsname = getSpecificNodeValue(doc, "extcreditsname", i);
  170.         var extcreditsunit = getSpecificNodeValue(doc, "extcreditsunit", i);
  171.         var postdatetime = getSpecificNodeValue(doc, "postdatetime", i);
  172.         var score = getSpecificNodeValue(doc, "score", i);
  173.         var reason = getSpecificNodeValue(doc, "reason", i);
  174.         var avatarurl = aspxrewrite == 1 ? "userinfo-" + uid + ".aspx" : "userinfo.aspx?userid=" + uid;
  175.         var r = Math.random();
  176.         if (previoursuid != uid)
  177.         {
  178.             html += "<li><div style='position: absolute; z-index: 999; clip: rect(auto, auto, auto, auto); left: 421px; top: 5343px; display: none;' ";
  179.             html += "class='attach_popup' id='" + r + "_rate_" + uid + "_menu'>";
  180.             html += "<p class='cornerlayger'>" + reason;
  181.         }  
  182.         html += "<em>&nbsp;&nbsp;" + extcreditsname + " " + score + " " + extcreditsunit + "</em>";
  183.         if(nextuid != uid)
  184.         {
  185.             html += "</p><p class='minicorner'/></div>";
  186.             html += "<p class='rateavatar' onmouseover='showMenu(this.id,false,2)' id='" + r + "_rate_" + uid + "'>";
  187.             html += "<a target='_blank' href='" + avatarurl + "'><img width='48' onerror='this.onerror=null;this.src="templates/" + templatepath + "/images/noavatar_small.gif"' ";
  188.             html += "src='tools/avatar.aspx?uid=" + uid + "&size=small'/></a></p>";
  189.             html += "<p><a target='_blank' href='" + avatarurl + "'>" + username + "</a></p></li>";
  190.         }
  191.         previoursuid = uid;
  192.     }
  193.     if (ratelist.length == 0) {
  194.         html = "";
  195.     }
  196.     ratediv.innerHTML = html;
  197. }
  198. var msgwidth = 0;
  199. function thumbImg(obj, method) {
  200.     if (!obj) {
  201.         return;
  202.     }
  203.     obj.onload = null;
  204.     file = obj.src;
  205.     zw = obj.offsetWidth;
  206.     zh = obj.offsetHeight;
  207.     if (!zw) {
  208.         if (!obj.id) {
  209.             obj.id = 'img_' + Math.random();
  210.         }
  211.         setTimeout("thumbImg($('" + obj.id + "'), " + method + ")", 100);
  212.         return;
  213.     }
  214.     zr = zw / zh;
  215.     method = !method ? 0 : 1;
  216.     if (method) {
  217.         fixw = obj.getAttribute('_width');
  218.         fixh = obj.getAttribute('_height');
  219.         if (zw > fixw) {
  220.             zw = fixw;
  221.             zh = zw / zr;
  222.         }
  223.         if (zh > fixh) {
  224.             zh = fixh;
  225.             zw = zh * zr;
  226.         }
  227.     } else {
  228.         fixw = 600; //!contentwidth || contentwidth < 100 ? 600 : contentwidth;
  229.         if (zw > fixw) {
  230.             zw = fixw;
  231.             zh = zw / zr;
  232.             obj.style.cursor = 'pointer';
  233.             if (!obj.onclick) {
  234.                 obj.onclick = function() {
  235.                     zoom(obj, obj.src);
  236.                 }
  237.             }
  238.         }
  239.     }
  240.     obj.width = zw;
  241.     obj.height = zh;
  242. }
  243. function attachimg(obj, action) {
  244.     if (action == 'load') {
  245.         if (!msgwidth) {
  246.             var re = /postcontent|msgborder/i;
  247.             var testobj = obj;
  248.             while ((testobj = testobj.parentNode) != null) {
  249.                 var matches = re.exec(testobj.className);
  250.                 if (matches != null) {
  251.                     msgwidth = testobj.clientWidth - 42;
  252.                     break;
  253.                 }
  254.             };
  255.             if (msgwidth < 1) {
  256.                 msgwidth = window.screen.width;
  257.             }
  258.         }
  259.         if (obj.width > msgwidth) {
  260.             obj.resized = true;
  261.             obj.width = msgwidth;
  262.             obj.style.cursor = 'pointer';
  263.         } else if (obj.width < 600) {
  264.             obj.onclick = null;
  265.         }
  266.     } else if (action == 'mouseover') {
  267.         if (obj.resized)
  268.             obj.style.cursor = 'pointer';
  269.     }
  270. }
  271. function attachimginfo(obj, infoobj, show, event) {
  272.     if (!$(infoobj))
  273.         return;
  274.     objinfo = fetchOffset(obj);
  275.     if (show) {
  276.         $(infoobj).style.left = objinfo['left'] + 'px';
  277.         $(infoobj).style.top = obj.offsetHeight < 40 ? (objinfo['top'] + obj.offsetHeight) + 'px' : objinfo['top'] + 'px';
  278.         $(infoobj).style.display = '';
  279.     } else {
  280.         if (is_ie) {
  281.             $(infoobj).style.display = 'none';
  282.             return;
  283.         } else {
  284.             var mousex = document.body.scrollLeft + event.clientX;
  285.             var mousey = document.documentElement.scrollTop + event.clientY;
  286.             if (mousex < objinfo['left'] || mousex > objinfo['left'] + objinfo['width'] || mousey < objinfo['top'] || mousey > objinfo['top'] + objinfo['height']) {
  287.                 $(infoobj).style.display = 'none';
  288.             }
  289.         }
  290.     }
  291. }
  292. var zoomobj = Array(); var zoomadjust; var zoomstatus = 1;
  293. function zoom(obj, zimg) {
  294.     if (!zoomstatus) {
  295.         window.open(zimg, '', '');
  296.         return;
  297.     }
  298.     if (!zimg) {
  299.         zimg = obj.src;
  300.     }
  301.     if (!$('zoomimglayer_bg')) {
  302.         div = document.createElement('div'); div.id = 'zoomimglayer_bg';
  303.         div.style.position = 'absolute';
  304.         div.style.left = div.style.top = '0px';
  305.         div.style.width = '100%';
  306.         div.style.height = document.body.scrollHeight + 'px';
  307.         div.style.backgroundColor = '#000';
  308.         div.style.display = 'none';
  309.         div.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=80,finishOpacity=100,style=0)';
  310.         div.style.opacity = 0.8;
  311.         div.style.zIndex = 998;
  312.         $('append_parent').appendChild(div);
  313.         div = document.createElement('div'); div.id = 'zoomimglayer';
  314.         div.style.position = 'absolute';
  315.         div.className = 'popupmenu_popup';
  316.         div.style.padding = 0;
  317.         $('append_parent').appendChild(div);
  318.     }
  319.     zoomobj['srcinfo'] = fetchOffset(obj);
  320.     zoomobj['srcobj'] = obj;
  321.     zoomobj['zimg'] = zimg;
  322.     $('zoomimglayer').style.display = '';
  323.     $('zoomimglayer').style.left = zoomobj['srcinfo']['left'] + 'px';
  324.     $('zoomimglayer').style.top = zoomobj['srcinfo']['top'] + 'px';
  325.     $('zoomimglayer').style.width = zoomobj['srcobj'].width + 'px';
  326.     $('zoomimglayer').style.height = zoomobj['srcobj'].height + 'px';
  327.     $('zoomimglayer').style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=40,finishOpacity=100,style=0)';
  328.     $('zoomimglayer').style.opacity = 0.4;
  329.     $('zoomimglayer').style.zIndex = 999;
  330.     $('zoomimglayer').innerHTML = '<table width="100%" height="100%" cellspacing="0" cellpadding="0"><tr><td align="center" valign="middle"><img src="images/common/loading.gif"></td></tr></table><div style="position:absolute;top:-100000px;visibility:hidden"><img onload="zoomimgresize(this)" src="' + zoomobj['zimg'] + '"></div>';
  331. }
  332. var zoomdragstart = new Array();
  333. var zoomclick = 0;
  334. function zoomdrag(e, op) {
  335.     if (op == 1) {
  336.         zoomclick = 1;
  337.         zoomdragstart = is_ie ? [event.clientX, event.clientY] : [e.clientX, e.clientY];
  338.         zoomdragstart[2] = parseInt($('zoomimglayer').style.left);
  339.         zoomdragstart[3] = parseInt($('zoomimglayer').style.top);
  340.         doane(e);
  341.     } else if (op == 2 && zoomdragstart[0]) {
  342.         zoomclick = 0;
  343.         var zoomdragnow = is_ie ? [event.clientX, event.clientY] : [e.clientX, e.clientY];
  344.         $('zoomimglayer').style.left = (zoomdragstart[2] + zoomdragnow[0] - zoomdragstart[0]) + 'px';
  345.         $('zoomimglayer').style.top = (zoomdragstart[3] + zoomdragnow[1] - zoomdragstart[1]) + 'px';
  346.         doane(e);
  347.     } else if (op == 3) {
  348.         if (zoomclick) zoomclose();
  349.         zoomdragstart = [];
  350.         doane(e);
  351.     }
  352. }
  353. function zoomimgresize(obj) {
  354.     zoomobj['zimginfo'] = [obj.width, obj.height];
  355.     var r = obj.width / obj.height;
  356.     var w = document.body.clientWidth * 0.95;
  357.     w = obj.width > w ? w : obj.width;
  358.     var h = w / r;
  359.     var clientHeight = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
  360.     var scrollTop = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;
  361.     if (h > clientHeight) {
  362.         h = clientHeight;
  363.         w = h * r;
  364.     }
  365.     var l = (document.body.clientWidth - w) / 2;
  366.     var t = h < clientHeight ? (clientHeight - h) / 2 : 0;
  367.     t += +scrollTop;
  368.     zoomobj['x'] = (l - zoomobj['srcinfo']['left']) / 5;
  369.     zoomobj['y'] = (t - zoomobj['srcinfo']['top']) / 5;
  370.     zoomobj['w'] = (w - zoomobj['srcobj'].width) / 5;
  371.     zoomobj['h'] = (h - zoomobj['srcobj'].height) / 5;
  372.     $('zoomimglayer').style.filter = '';
  373.     $('zoomimglayer').innerHTML = '';
  374.     setTimeout('zoomST(1)', 5);
  375. }
  376. function zoomST(c) {
  377.     if ($('zoomimglayer').style.display == '') {
  378.         $('zoomimglayer').style.left = (parseInt($('zoomimglayer').style.left) + zoomobj['x']) + 'px';
  379.         $('zoomimglayer').style.top = (parseInt($('zoomimglayer').style.top) + zoomobj['y']) + 'px';
  380.         $('zoomimglayer').style.width = (parseInt($('zoomimglayer').style.width) + zoomobj['w']) + 'px';
  381.         $('zoomimglayer').style.height = (parseInt($('zoomimglayer').style.height) + zoomobj['h']) + 'px';
  382.         var opacity = c * 20;
  383.         $('zoomimglayer').style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ',finishOpacity=100,style=0)';
  384.         $('zoomimglayer').style.opacity = opacity / 100;
  385.         c++;
  386.         if (c <= 5) {
  387.             setTimeout('zoomST(' + c + ')', 5);
  388.         } else {
  389.             zoomadjust = 1;
  390.             $('zoomimglayer').style.filter = '';
  391.             $('zoomimglayer_bg').style.display = '';
  392.             $('zoomimglayer').innerHTML = '<table cellspacing="0" cellpadding="2"><tr><td style="text-align: right"><span class="left">鼠标滚轮缩放图片</span> <a href="' + zoomobj['zimg'] + '" target="_blank"><img src="images/common/newwindow.gif" border="0" style="vertical-align: middle" title="在新窗口打开" /></a> <a href="###" onclick="zoomimgadjust(event, 1)"><img src="images/common/resize.gif" border="0" style="vertical-align: middle" title="实际大小" /></a> <a href="###" onclick="zoomclose()"><img style="vertical-align: middle" src="images/common/close.gif" title="关闭" /></a>&nbsp;</td></tr><tr><td align="center" id="zoomimgbox"><img id="zoomimg" style="cursor: move; margin: 5px;" src="' + zoomobj['zimg'] + '" width="' + $('zoomimglayer').style.width + '" height="' + $('zoomimglayer').style.height + '"></td></tr></table>';
  393.             $('zoomimglayer').style.overflow = 'visible';
  394.             $('zoomimglayer').style.width = $('zoomimglayer').style.height = 'auto';
  395.             if (is_ie) {
  396.                 $('zoomimglayer').onmousewheel = zoomimgadjust;
  397.             } else {
  398.                 $('zoomimglayer').addEventListener("DOMMouseScroll", zoomimgadjust, false);
  399.             }
  400.             $('zoomimgbox').onmousedown = function(event) { try { zoomdrag(event, 1); } catch (e) { } };
  401.             $('zoomimgbox').onmousemove = function(event) { try { zoomdrag(event, 2); } catch (e) { } };
  402.             $('zoomimgbox').onmouseup = function(event) { try { zoomdrag(event, 3); } catch (e) { } };
  403.         }
  404.     }
  405. }
  406. function zoomimgadjust(e, a) {
  407.     if (!a) {
  408.         if (!e) e = window.event;
  409.         if (e.altKey || e.shiftKey || e.ctrlKey) return;
  410.         var l = parseInt($('zoomimglayer').style.left);
  411.         var t = parseInt($('zoomimglayer').style.top);
  412.         if (e.wheelDelta <= 0 || e.detail > 0) {
  413.             if ($('zoomimg').width <= 200 || $('zoomimg').height <= 200) {
  414.                 doane(e); return;
  415.             }
  416.             $('zoomimg').width -= zoomobj['zimginfo'][0] / 10;
  417.             $('zoomimg').height -= zoomobj['zimginfo'][1] / 10;
  418.             l += zoomobj['zimginfo'][0] / 20;
  419.             t += zoomobj['zimginfo'][1] / 20;
  420.         } else {
  421.             if ($('zoomimg').width >= zoomobj['zimginfo'][0]) {
  422.                 zoomimgadjust(e, 1); return;
  423.             }
  424.             $('zoomimg').width += zoomobj['zimginfo'][0] / 10;
  425.             $('zoomimg').height += zoomobj['zimginfo'][1] / 10;
  426.             l -= zoomobj['zimginfo'][0] / 20;
  427.             t -= zoomobj['zimginfo'][1] / 20;
  428.         }
  429.     } else {
  430.         var clientHeight = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
  431.         var scrollTop = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;
  432.         $('zoomimg').width = zoomobj['zimginfo'][0]; $('zoomimg').height = zoomobj['zimginfo'][1];
  433.         var l = (document.body.clientWidth - $('zoomimg').clientWidth) / 2; l = l > 0 ? l : 0;
  434.         var t = (clientHeight - $('zoomimg').clientHeight) / 2 + scrollTop; t = t > 0 ? t : 0;
  435.     }
  436.     $('zoomimglayer').style.left = l + 'px';
  437.     $('zoomimglayer').style.top = t + 'px';
  438.     $('zoomimglayer_bg').style.height = t + $('zoomimglayer').clientHeight > $('zoomimglayer_bg').clientHeight ? (t + $('zoomimglayer').clientHeight) + 'px' : $('zoomimglayer_bg').style.height;
  439.     doane(e);
  440. }
  441. function zoomclose() {
  442.     $('zoomimglayer').innerHTML = '';
  443.     $('zoomimglayer').style.display = 'none';
  444.     $('zoomimglayer_bg').style.display = 'none';
  445. }
  446. function setIdentify(identify) {
  447.     //identify.style.left = ((document.body.clientWidth - $('wrap').clientWidth)/2 + $('wrap').clientWidth - 400) + 'px';
  448.     identify.style.top = identify.offsetTop + 25 + 'px';
  449. identify.style.left=$('wrap').offsetWidth/2+300+'px';
  450. }
  451. var tags = new Array();
  452. if (typeof (closedtags) == 'undefined') {
  453.     var closedtags;
  454. }
  455. if (typeof (colorfultags) == 'undefined') {
  456.     var colorfultags;
  457. }
  458. function getTopicTags(topicid) {
  459.     _sendRequest('tools/ajax.aspx?t=gettopictags&topicid=' + topicid + '&r=1' + Math.random(), function(responseText) {
  460.         if (responseText) {
  461.             var topic_tags = eval('(' + responseText + ')');
  462.             if (topic_tags.length > 0) {
  463.                 var html = '<div class="threadtags">';
  464.                 for (var i in topic_tags) {
  465.                     html += '<a href="';
  466.                     if (aspxrewrite == 1) {
  467.                         html += 'topictag-' + topic_tags[i].tagid + '.aspx"';
  468.                     } else {
  469.                         html += 'tags.aspx?t=topic&tagid=' + topic_tags[i].tagid + '"';
  470.                     }
  471.                     if (colorfultags && colorfultags[topic_tags[i].tagid]) {
  472.                         html += ' style="color:#' + colorfultags[topic_tags[i].tagid].color + ';"';
  473.                     }
  474.                     html += '>' + topic_tags[i].tagname + '</a>&nbsp;';
  475.                     tags[tags.length] = topic_tags[i];
  476.                 }
  477.                 html += "</div>";
  478.                 $('topictag').innerHTML = html;
  479.             }
  480.         }
  481.         parsetag();
  482.     });
  483. }
  484. function isexisttaginarray(tagarray, tag) {
  485.     if (tag) {
  486.         for (var i = 0; i < tagarray.length; i++) {
  487.             if (tagarray[i] && tagarray[i].tagid == tag.tagid)
  488.                 return true;
  489.         }
  490.     }
  491.     return false;
  492. }
  493. function parsetag() {
  494.     var tagfindarray = new Array();
  495.     var str = $('firstpost').innerHTML.replace(/(^|>)([^<]+)(?=<(?!/script)|$)/ig, function($1, $2, $3, $4) {
  496.         for (i in tags) {
  497.             if (tags[i] && !in_array(tags[i].tagid, closedtags) && !isexisttaginarray(tagfindarray, tags[i]) && ($3.indexOf(tags[i].tagname) != -1)) {
  498.                 $3 = $3.replace(tags[i].tagname, '<h_ ' + i + '>');
  499.                 tagfindarray[i] = tags[i];
  500.                 tags[i] = '';
  501.             }
  502.         }
  503.         return $2 + $3;
  504.     });
  505.     $('firstpost').innerHTML = str.replace(/<h_ (d+)>/ig, function($1, $2) {
  506.         var temp_html = '<span href="tools/ajax.aspx?t=topicswithsametag&tagid=' + tagfindarray[$2].tagid + '" onclick="tagshow(event)" class="t_tag"';
  507.         if (colorfultags && colorfultags[tagfindarray[$2].tagid]) {
  508.             temp_html += ' style="color: #' + colorfultags[tagfindarray[$2].tagid].color + '"';
  509.         }
  510.         temp_html += '>' + tagfindarray[$2].tagname + '</span>';
  511.         return temp_html;
  512.     });
  513. }
  514. function tagshow(event) {
  515.     var obj = is_ie ? event.srcElement : event.target;
  516.     obj.id = !obj.id ? 'tag_' + Math.random() : obj.id;
  517.     ajaxmenu(event, obj.id, 0, '', 1, 3, 0);
  518.     obj.onclick = null;
  519. }
  520. function shrinkUserColumn() {
  521.     var postauthor = getCSSRule(".mainbox td.postauthor");
  522.     var authorhidden = getCSSRule(".authorhidden");
  523.     /*
  524.     if (!postauthor){
  525.     postauthor = addCSSRule(".mainbox td.postauthor");
  526.     }
  527.     */
  528.     //alert(postauthor.style.width);
  529.     if (postauthor.style.width == "0px") {
  530.         postauthor.style.width = "180px";
  531.         postauthor.style.padding = "5px";
  532.         authorhidden.style.display = 'none';
  533.         setcookie("showtopic_shrink", "", 0);
  534.     } else {
  535.         postauthor.style.width = "0px";
  536.         postauthor.style.padding = "0px";
  537.         authorhidden.style.display = '';
  538.         setcookie("showtopic_shrink", "yes", 0);
  539.     }
  540. }
  541. function BOX_show(e, aid) {       //显示
  542.     if ($(e) == null) { return; }
  543.     BOX_layout(e);
  544.     window.onresize = function() { BOX_layout(e); } //改变窗体重新调整位置
  545.     window.onscroll = function() { BOX_layout(e); } //滚动窗体重新调整位置
  546.     if (e == 'attachpaymentlog') {
  547.         loadattachpaymentlog(aid);
  548.     } else if (e == 'buyattach') {
  549.         loadbuyattach(aid);
  550.     }
  551. }
  552. function BOX_remove(e) {       //移除
  553.     window.onscroll = null;
  554.     window.onresize = null;
  555.     //$('BOX_overlay').style.display = "none";
  556.     $(e).style.display = "none";
  557. }
  558. function BOX_layout(e) {       //调整位置
  559.     var a = $(e);
  560.     //    if ($('BOX_overlay') == null) { //判断是否新建遮掩层
  561.     //        var overlay = document.createElement("div");
  562.     //        overlay.setAttribute('id', 'BOX_overlay');
  563.     //        overlay.onclick = function() { BOX_remove(e); };
  564.     //        a.parentNode.appendChild(overlay);
  565.     //    }
  566.     //取客户端左上坐标,宽,高
  567.     var scrollLeft = (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
  568.     var scrollTop = (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
  569.     var clientWidth = document.documentElement.clientWidth;
  570.     var clientHeight = document.documentElement.clientHeight;
  571.     //    var bo = $('BOX_overlay');
  572.     //    bo.style.left = scrollLeft + 'px';
  573.     //    bo.style.top = scrollTop + 'px';
  574.     //    bo.style.width = clientWidth + 'px';
  575.     //    bo.style.height = clientHeight + 'px';
  576.     //    bo.style.display = "";
  577.     //Popup窗口定位
  578.     a.style.position = 'absolute';
  579.     a.style.zIndex = 101;
  580.     a.style.display = "";
  581.     a.style.left = scrollLeft + ((clientWidth - a.offsetWidth) / 2) + 'px';
  582.     a.style.top = scrollTop + ((clientHeight - a.offsetHeight) / 2) + 'px';
  583. }
  584. function loadattachpaymentlog(aid) {
  585.     $('attachpaymentlog').innerHTML = '<div style="padding-top:220px; padding-left:220px;">加载数据中...</div>';
  586.     _sendRequest('tools/ajax.aspx?t=getattachpaymentlog&aid=' + aid, function(d) {
  587.         try {
  588.             eval('attachpaymentlog_callback(' + d + ')');
  589.         }
  590.         catch (e) {
  591.             var zeroattach_html = '<div class="floatwinmask" style="padding:7px;">';
  592.             zeroattach_html += '<div class="floatwin" id="floatwin" style="height: 440px;">';
  593.             zeroattach_html += '<h3 class="float_ctrl" style="margin:0"><span><a title="关闭" class="float_close" href="javascript:void(0);" onclick="javascript:BOX_remove('attachpaymentlog');" style="margin:7px;"></a></span></h3>';
  594.             zeroattach_html += '<div class="gateform"  style="padding:0 15px;"><h3>购买附件</h3>';
  595.             zeroattach_html += '<div style="padding-top:80px; text-align:center;">当前附件未曾被购买!</div></div></div></div>';
  596.             $('attachpaymentlog').innerHTML = zeroattach_html;
  597.         }
  598.     });
  599. }
  600. function attachpaymentlog_callback(data) {
  601.     var buyattach_html = '';
  602.     buyattach_html += '<div class="floatwin" id="floatwin" style="height: 310px;">';
  603.     buyattach_html += '<h3 class="float_ctrl" style="margin:0"><span><a title="关闭" class="float_close" href="javascript:void(0);" onclick="javascript:BOX_remove('buyattach');" style="margin:7px;"></a></span></h3>';
  604.     buyattach_html += '<div class="gateform"  style="padding:0 15px;"><h3>购买附件</h3>';
  605.     if (!data[0].haserror) {
  606.         var extname = data[0].extname != '' ? '(' + data[0].extname + ')' : '';
  607.         buyattach_html += '<table cellspacing="0" cellpadding="0" summary="购买"><tbody>';
  608.         buyattach_html += '<tr><th width="150" height="24"><label for="keyword">作者:</th><td><a href="userinfo.aspx?userid=' + data[0].posterid + '" target="_blank">' + data[0].poster + '</a></td></tr>';
  609.         buyattach_html += '<tr><th width="150" height="24"><label for="keyword">附件:</th><td>' + data[0].attachname + '</td></tr>';
  610.         buyattach_html += '<tr><th width="150" height="24"><label for="keyword">售价' + extname + ':</th><td>' + data[0].attachprice + '</td></tr>';
  611.         buyattach_html += '<tr><th width="150" height="24"><label for="keyword">作者所得' + extname + ':</th><td>' + data[0].attachprice + '</td></tr>';
  612.         buyattach_html += '<tr><th width="150" height="24"><label for="keyword">购买后余额' + extname + ':</th><td>' + data[0].leavemoney + '</td></tr>';
  613.         buyattach_html += '<tr><th width="150" height="60"></th><th><input type="button" value="购买" onclick="javascript:confirmbuyattach(' + data[0].aid + ');" /></th></tr>';
  614.         buyattach_html += '</tbody></table>';
  615.         buyattach_html += '</div></div></div>';
  616.     }
  617.     else {
  618.         buyattach_html += '<div style="padding-top:80px; text-align:center;">' + data[0].errormsg + '</div></div></div></div>';
  619.     }
  620.     $('buyattach').innerHTML = buyattach_html;
  621.     var attachpaymentlog_html = '<div class="floatwinmask" style="padding:7px;">';
  622.     attachpaymentlog_html += '<div class="floatwin" id="floatwin" style="height: 429px;">';
  623.     attachpaymentlog_html += '<h3 class="float_ctrl" style="margin:0"><span><a title="关闭" class="float_close" href="javascript:void(0);" onclick="javascript:BOX_remove('attachpaymentlog');" style="margin:7px;"></a></span></h3>';
  624.     attachpaymentlog_html += '<div class="gateform" style="padding:0 15px;"><h3>购买记录</h3>';
  625.     attachpaymentlog_html += '<div style="height:340px;overflow-y:auto;overflow-x:hidden;"><table summary="记录列表" cellspacing="0" cellpadding="0">';
  626.     attachpaymentlog_html += '<tr><th>用户名</th><th>时间</th><th>' + attachtransname + '</th></tr><tbody>';
  627.     for (var i in data) {
  628.         attachpaymentlog_html += '<tr><td><a href="userinfo.aspx?userid=' + data[i].uid + '">' + data[i].username + '</a></td>';
  629.         attachpaymentlog_html += '<td>' + convertdate(data[i].postdatetime) + '</td>';
  630.         attachpaymentlog_html += '<td>' + data[i].amount + '</td></tr>';
  631.     }
  632.     attachpaymentlog_html += '</tbody></table></div></div></div></div>';
  633.     $('attachpaymentlog').innerHTML = attachpaymentlog_html;
  634. }
  635. function loadbuyattach(aid) {
  636.     var buyattach_html = '<div class="floatwinmask" style="padding:7px;">';
  637.     buyattach_html += '<div class="floatwin" id="floatwin" style="height: 310px;">';
  638.     buyattach_html += '<h3 class="float_ctrl" style="margin:0"><span><a title="关闭" class="float_close" href="javascript:void(0);" onclick="javascript:BOX_remove('buyattach');" style="margin:7px;"></a></span></h3>';
  639.     buyattach_html += '<div style="padding-top:80px;text-align:center;">加载数据中...</div></div></div>';
  640.     $('buyattach').innerHTML = buyattach_html;
  641.     _sendRequest('tools/ajax.aspx?t=checkuserextcredit&aid=' + aid, function(d) {
  642.         try {
  643.             eval('loadbuyattach_callback(' + d + ')');
  644.         } catch (e) { };
  645.     });
  646. }
  647. function loadbuyattach_callback(data) {
  648.     var buyattach_html = '<div class="floatwinmask" style="padding:7px;">';
  649.     buyattach_html += '<div class="floatwin" id="floatwin" style="height: 310px;">';
  650.     buyattach_html += '<h3 class="float_ctrl" style="margin:0"><span><a title="关闭" class="float_close" href="javascript:void(0);" onclick="javascript:BOX_remove('buyattach');" style="margin:7px;"></a></span></h3>';
  651.     buyattach_html += '<div class="gateform" style="padding:0 15px;"><h3>购买附件</h3>';
  652.     if (!data[0].haserror) {
  653.         var extname = data[0].extname != '' ? '(' + data[0].extname + ')' : '';
  654.         buyattach_html += '<table cellspacing="0" cellpadding="0" summary="购买"><tbody>';
  655.         buyattach_html += '<tr><th width="150" height="24"><label for="keyword">作者:</th><td><a href="userinfo.aspx?userid=' + data[0].posterid + '" target="_blank">' + data[0].poster + '</a></td></tr>';
  656.         buyattach_html += '<tr><th width="150" height="24"><label for="keyword">附件:</th><td>' + data[0].attachname + '</td></tr>';
  657.         buyattach_html += '<tr><th width="150" height="24"><label for="keyword">售价' + extname + ':</th><td>' + data[0].attachprice + '</td></tr>';
  658.         buyattach_html += '<tr><th width="150" height="24"><label for="keyword">作者所得' + extname + ':</th><td>' + data[0].attachprice + '</td></tr>';
  659.         buyattach_html += '<tr><th width="150" height="24"><label for="keyword">购买后余额' + extname + ':</th><td>' + data[0].leavemoney + '</td></tr>';
  660.         buyattach_html += '<tr><th width="150" height="60"></th><th><input type="button" value="购买" onclick="javascript:confirmbuyattach(' + data[0].aid + ');" /></th></tr>';
  661.         buyattach_html += '</tbody></table>';
  662.         buyattach_html += '</div></div></div>';
  663.     }
  664.     else {
  665.         buyattach_html += '<div style="padding-top:80px; text-align:center;">' + data[0].errormsg + '</div></div></div></div>';
  666.     }
  667.     $('buyattach').innerHTML = buyattach_html;
  668. }
  669. function confirmbuyattach(aid) {
  670.     var buyattach_html = '<div class="floatwinmask" style="padding:7px;">';
  671.     buyattach_html += '<div class="floatwin" id="floatwin" style="height: 310px;">';
  672.     buyattach_html += '<h3 class="float_ctrl" style="margin:0"><span><a title="关闭" class="float_close" href="javascript:void(0);" onclick="javascript:BOX_remove('buyattach');" style="margin:7px;"></a></span></h3>';
  673.     buyattach_html += '<div style="padding-top:80px; text-align:center;">正在提交数据...</div></div></div>';
  674.     $('buyattach').innerHTML = buyattach_html;
  675.     _sendRequest('tools/ajax.aspx?t=confirmbuyattach&aid=' + aid, function(d) {
  676.         try {
  677.             eval('confirmbuyattach_callback(' + d + ')');
  678.         } catch (e) { };
  679.     });
  680. }
  681. function confirmbuyattach_callback(data) {
  682.     var buyattach_html = '<div class="floatwin" id="floatwin" style="width: 500px; height: 310px; z-index: 999;">';
  683.     buyattach_html += '<h3><span><a title="关闭" class="float_close" href="javascript:void(0);" onclick="javascript:BOX_remove('buyattach');"></a></span> &raquo; 系统提示</h3>';
  684.     if (!data[0].haserror) {
  685.         window.location.hash = '#attach' + data[0].aid;
  686.         if (!is_ie) {
  687.             window.location.reload();
  688.         } else {
  689.             document.execCommand('Refresh'); //ie刷新
  690.         }
  691.     }
  692.     else {
  693.         buyattach_html += '<div style="padding-top:80px; text-align:center;">' + data[0].errormsg + '</div>';
  694.         $('buyattach').innerHTML = buyattach_html;
  695.     }
  696. }
  697. var authort;
  698. function showauthor(obj, id) {
  699. authort = setTimeout("$('" + id + "').style.display = 'block';", 500);
  700. if(!$(id).onmouseover) {
  701. $(id + '_ma').innerHTML = $(id + '_a').innerHTML;
  702. $(id).onmouseover = function() {
  703. $(id).style.display = 'block';
  704. }
  705. $(id).onmouseout = function() {
  706. $(id).style.display = 'none';
  707. }
  708. }
  709. if(!obj.onmouseout) {
  710. obj.onmouseout = function() {
  711. clearTimeout(authort);
  712. }
  713. }
  714. }
  715. function modthreads(optgroup, operation)
  716. {
  717.     var operation = !operation ? '' : operation;
  718.     var windowWidth = 250;
  719.     var windowHeight = 220;
  720.     switch (operation)
  721.     {
  722.         case "split":
  723.             windowHeight = 300;
  724.             break;
  725.         case "identify":
  726.             windowHeight = 230;
  727.             break;
  728.         default:
  729.             windowHeight = 220;
  730.     }
  731.     floatwinreset = 1;
  732.     floatwin('open_mods', '', windowWidth, windowHeight);
  733.     $('moderate').optgroup.value = optgroup;
  734.     $('moderate').operat.value = operation;
  735.     $('floatwin_mods').innerHTML = '';
  736.     ajaxpost('moderate', 'floatwin_mods', '');
  737. }
  738. function getElementsByName(tag, name){
  739.     var returns = document.getElementsByName(name);
  740.     if(returns.length > 0) return returns;
  741.     returns = new Array();
  742.     var e = document.getElementsByTagName(tag);
  743.     for(var i = 0; i < e.length; i++){
  744.         if(e[i].getAttribute("name") == name){
  745.             returns[returns.length] = e[i];
  746.         }
  747.     }
  748.     return returns;
  749. }
  750. function getuserips()
  751. {
  752. var t=getElementsByName("em","traveler_ip");
  753. var iplist = new Array();
  754. var pidlist =new Array();
  755. //for(var i=0;i<t.length;i++)
  756. for(var i=0;i<t.length;i++)
  757. {
  758. iplist.push(t[i].innerHTML);
  759. pidlist.push(t[i].id.split("_")[2]);
  760. }
  761. _sendRequest('tools/ajax.aspx?t=getiplist', backIpvalues_callback, false, 'iplist='+iplist.join(",")+'&pidlist='+pidlist.join(","));
  762. }
  763. function backIpvalues_callback(doc)
  764. {
  765.   var data=eval(doc);
  766.   for (var i=0; i<data.length;i++)
  767.   { 
  768.      var d=data[i].split("|");
  769.  $('traveler_ip_'+d[0]).style.display='';
  770.  $('traveler_ip_'+d[0]).innerHTML =d[1].split(" ")[0]+'网友';
  771.   }
  772. }