1. // ==UserScript==
  2. // @name Ru-Board Helper
  3. // @version 2.7 (11Feb10 06:01:07)
  4. // @include http://forum.ru-board.com/*
  5. // @run-at document-start
  6. // ==/UserScript==
  7. document.addEventListener('DOMContentLoaded', function(){
  8. (function() {
  9. var IgnName = 'Ignore';
  10. var FrndsName = 'Friends';
  11. var StatName = 'Nick-';
  12. var NickSrchName = 'NickSearch';
  13. var TextSrchName = 'TextSearch';
  14. var Delim1 = ',';
  15. var IgnCnt = -1;
  16. var SrchInPth = 'topic.cgi';
  17. var SrchForum = 'forum.cgi';
  18. var FrmsName = 'Forums';
  19. var IgnM = new Array();
  20. var UseNickSearch = true; // false;
  21. var UseTextSearch = true; // false;
  22. var UseQuote = true; // false;
  23. var LastNickFind = '';
  24. var UseFriends = true; // false;
  25. var FriendsColor = '#cfffcf';
  26. var TblText1s = '<table align="center" bgcolor="#999999" border="0" cellpadding="3" cellspacing="1" width="95%">';
  27. var TblText1e = '</table>';
  28. var AddForumS = 'AddForum';
  29. var IsAddForums = true; // false;
  30. var UseHideLink = true;
  31. var UseIgnore = true;
  32. var isUseAddPages = true; // false
  33. var isUseStatus = true; // false
  34. var isUseVeche = true; // false;
  35. var FrmLoadListS = '';
  36. var FrmLoaded = '';
  37. var CookDate1 = new Date("1 May 2100 11:00");
  38. var UseLocalStorage = true; // true;
  39. function HideText(NickName, TrTag) {
  40. DivTag = TrTag.getElementsByTagName('div');
  41. if (!((DivTag.length > 0) && (DivTag[0].id.indexOf('Ignor') == 0))) {
  42. if (TrTag.name == undefined) {
  43. IgnCnt = IgnCnt +1;
  44. IgnM[IgnCnt] = TrTag.innerHTML;
  45. TrTag.name = IgnCnt;
  46. } else {
  47. IgnCnt = TrTag.name;
  48. }
  49. Ind1 = IgnCnt;
  50. TrTag.innerHTML = ''
  51. +'<td>'
  52. +'<div ID=Ignor' +Ind1
  53. +' Align=left><font class=tit>&nbsp;\u0424\u043e\u0440\u0443\u043c\u0438\u0441\u0442 <b>' +NickName +'</b>'
  54. +'<font style="FONT-SIZE:10pt;COLOR:#333333;" class="StatusBlock2" '
  55. +'title="' +NickName +'" ' +'></font>'
  56. +' \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f\u002e '
  57. +'<a Name=' +Ind1 +' ID=AIgnor' +Ind1
  58. +' href=javascript:UnIgn("Ignor' +Ind1
  59. +'")><u>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0020\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435</u></a></font>'
  60. +'</div>'
  61. +'</td>'
  62. ;
  63. document.getElementById('AIgnor' +Ind1).addEventListener("click",
  64. function() {UnIgn(this.name)}, false);
  65. var TbTag1 = TrTag.parentNode.parentNode;
  66. if (TbTag1 != null) {TbTag1.cellPadding = "0"}
  67. }
  68. }
  69. function main(IgnS, isAddLinks, Reverse, FriendsList, SearchText) {
  70. var isSearchText = ((SearchText != undefined) && (SearchText != ''));
  71. if (isSearchText) {Wrlds1 = splitSrch(SearchText);}
  72. if (IgnS == undefined) {IgnS = ''}
  73. var Ign = IgnS.split(Delim1);
  74. var TrT = document.getElementsByTagName('tr');
  75. for (var i = 0; i < TrT.length ; i++) {
  76. var Btag = TrT[i].getElementsByTagName('b');
  77. if (Btag.length == 0) continue;
  78. if (isAddLinks) {
  79. var TdTag = TrT[i].getElementsByTagName('td');
  80. if (TdTag.length >= 3) {
  81. if (TdTag[2].className=="tpc") {
  82. var s2 = '';
  83. if (UseHideLink) {
  84. s2 = s2
  85. +'<a class="tpc" title="Hide this block' +'"'
  86. +' name="' +Btag[0].innerHTML +'"'
  87. +' ID=AHideLink' +i
  88. +' href=javascript:HidePost1("' +Btag[0].innerHTML +'")'
  89. +'>[-]</a> '
  90. ;
  91. }
  92. if (UseIgnore) {
  93. s2 = s2
  94. +'<a class="tpc" title="\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c\u0020\u0438\u043b\u0438\u0020\u0443\u0434\u0430\u043b\u0438\u0442\u044c ' +"'" +Btag[0].innerHTML
  95. +"'" +' \u0438\u0437\u0020\u0438\u0433\u043d\u043e\u0440\u0430" name="' +Btag[0].innerHTML +'"'
  96. +' ID=IgnorLink' +i
  97. +' href=javascript:AddDelIgn("IgnorLink' +i +'")>\u0418\u0433\u043d\u043e\u0440'
  98. +'</a> | ';
  99. }
  100. if (UseFriends) {
  101. s2 = s2
  102. +'<a class="tpc" title="\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c\u0020\u0438\u043b\u0438\u0020\u0443\u0434\u0430\u043b\u0438\u0442\u044c ' +"'" +Btag[0].innerHTML
  103. +"'" +' \u0438\u0437\u0020\u0441\u043f\u0438\u0441\u043a\u0430\u0020\u0434\u0440\u0443\u0437\u0435\u0439" name="' +Btag[0].innerHTML +'"'
  104. +' ID=FriendsLink' +i
  105. +' href=javascript:AddDelFrnd("FriendsLink' +i +'")>\u0414\u0440\u0443\u0433'
  106. +'</a> | ';
  107. }
  108. if (UseNickSearch) {
  109. s2 = s2
  110. +'<a class="tpc" title="\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0020\u0438\u043b\u0438\u0020\u0441\u043f\u0440\u044f\u0442\u0430\u0442\u044c\u0020\u0432\u0441\u0435\u0020\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u0020\u043e\u0442 '
  111. +"'" +Btag[0].innerHTML
  112. +"'" +'" name="' +Btag[0].innerHTML +'"'
  113. +' ID=ANickSrch' +i
  114. +' href=javascript:NickSrch("' +Btag[0].innerHTML +'")'
  115. +'>\u041f\u043e\u0438\u0441\u043a</a>'
  116. +' | ';
  117. }
  118. if (isUseStatus) {
  119. s2 = s2
  120. +'<a class="tpc" title="\u041f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c\u0020\u0441\u0442\u0430\u0442\u0443\u0441\u0020\u0444\u043e\u0440\u0443\u043c\u0438\u0441\u0442\u0443 '
  121. +"'" +Btag[0].innerHTML
  122. +"'" +'" name="' +Btag[0].innerHTML +'"'
  123. +' ID=ACustStat' +i
  124. +' href=javascript:EditCustStat("' +Btag[0].innerHTML +'")'
  125. +'>\u0421\u0442\u0430\u0442\u0443\u0441</a>'
  126. +' | ';
  127. }
  128. if (UseQuote) {
  129. s2 = s2
  130. +'<a class="tpc" title="\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c\u0020\u0446\u0438\u0442\u0430\u0442\u0443\u0020\u0432\u0020\u043e\u0442\u0432\u0435\u0442\u0020\u0443\u043a\u0430\u0437\u0430\u0432\u0020\u0441\u0441\u044b\u043b\u043a\u0443\u0020\u043d\u0430\u0020\u044d\u0442\u043e\u0442\u0020\u043f\u043e\u0441\u0442\u0438\u043d\u0433\u0020\u0438\u0020\u0435\u0433\u043e\u0020\u0430\u0432\u0442\u043e\u0440\u0430\u002e"'
  131. +' ID=AInsSel' +i
  132. +' href=javascript:InsertSel1()>\u0426\u0438\u0442\u0430\u0442\u0430'
  133. +'</a> | ';
  134. }
  135. TdTag[2].innerHTML = ''
  136. +s2
  137. +TdTag[2].innerHTML;
  138. if (UseIgnore) {
  139. document.getElementById('IgnorLink' +i).addEventListener("click",
  140. function() {AddDelIgn(this.id)}, false)}
  141. if (UseFriends) {
  142. document.getElementById('FriendsLink' +i).addEventListener("click",
  143. function() {AddDelFrnd(this.id)}, false)}
  144. if (UseNickSearch) {
  145. document.getElementById('ANickSrch' +i).addEventListener("click",
  146. function() {NickSrch(this.name)}, false)}
  147. if (UseHideLink) {
  148. document.getElementById('AHideLink' +i).addEventListener("click",
  149. function() {HidePost1(this.id)}, false)}
  150. if (isUseStatus) {
  151. document.getElementById('ACustStat' +i).addEventListener("click",
  152. function() {EditCustStat(this.name)}, false)}
  153. if (isUseStatus) {
  154. FntTgs1 = TdTag[1].getElementsByTagName('font');
  155. if (FntTgs1.length==0) {
  156. FTg1 = document.createElement('font');
  157. FTg1.className = 'StatusBlock';
  158. FTg1.title = Btag[0].innerHTML
  159. FTg1.innerHTML = '';
  160. TdTag[1].appendChild(FTg1);
  161. }
  162. }
  163. if (UseQuote) {
  164. document.getElementById('AInsSel' +i).addEventListener("click",
  165. function() {InsertSel1()}, false);
  166. }
  167. }
  168. }
  169. }
  170. if (isSearchText) {
  171. var HrT = TrT[i].getElementsByTagName('hr');
  172. if (HrT.length > 1) {
  173. var Find1 = false;
  174. var k1 = 0;
  175. var SpnT = TrT[i].getElementsByTagName('span');
  176. if (SpnT.length > 0) {
  177. var s = SpnT[0].textContent;
  178. for (var j = Wrlds1.length -1; j >= 0; j--) {
  179. if (s.toLowerCase().indexOf(Wrlds1[j].toLowerCase()) > 0) {
  180. Find1 = true;
  181. break;
  182. }
  183. }
  184. if (!Find1)
  185. {
  186. HideText(Btag[0].innerHTML, TrT[i])
  187. }
  188. }
  189. }
  190. } else
  191. {
  192. if (Reverse) {
  193. var HrT = TrT[i].getElementsByTagName('hr');
  194. if (HrT.length <= 1) continue;
  195. var Find1 = false;
  196. var k1 = 0;
  197. for (var j = Ign.length -1; j >= 0; j--) {
  198. if (Btag[0].innerHTML == Ign[j]) {
  199. Find1 = true;
  200. break;
  201. }
  202. }
  203. if (!Find1) {HideText(Btag[0].innerHTML, TrT[i])}
  204. } else {
  205. for (var j = Ign.length -1; j >= 0; j--) {
  206. if (Btag[0].innerHTML == Ign[j]) {
  207. HideText(Ign[j], TrT[i]);
  208. break;
  209. }
  210. }
  211. }
  212. }
  213. }
  214. if (isSearchText) {
  215. for (var i = IgnCnt; i >= 0; i--){
  216. var DivTag1 = document.getElementById('Ignor' +i);
  217. if (DivTag1 == null) continue;
  218. var BTag2 = DivTag1.getElementsByTagName('b');
  219. if (BTag2.length <= 0) continue;
  220. var DTag2 = document.createElement("div");
  221. DTag2.innerHTML = IgnM[i];
  222. var SpnT2 = DTag2.getElementsByTagName('span');
  223. if (SpnT2.length > 0) {
  224. var s = SpnT2[0].textContent;
  225. for (var j = Wrlds1.length -1; j >= 0; j--) {
  226. if (s.toLowerCase().indexOf(Wrlds1[j].toLowerCase()) >= 0) {
  227. UnIgn(i);
  228. break;
  229. }
  230. }
  231. }
  232. }
  233. } else
  234. {
  235. if (Reverse) {
  236. for (var i = IgnCnt; i >= 0; i--){
  237. var DivTag1 = document.getElementById('Ignor' +i);
  238. if (DivTag1 == null) continue;
  239. var BTag2 = DivTag1.getElementsByTagName('b');
  240. if (BTag2.length <= 0) continue;
  241. for (var j = 0; j < Ign.length; j++) {
  242. if (BTag2[0].innerHTML == Ign[j]) {
  243. UnIgn(i);
  244. break;
  245. }
  246. }
  247. }
  248. } else {
  249. for (var i = IgnCnt; i >= 0; i--){
  250. var DivTag1 = document.getElementById('Ignor' +i);
  251. if (DivTag1 == null) continue;
  252. var BTag2 = DivTag1.getElementsByTagName('b');
  253. if (BTag2.length <= 0) continue;
  254. var Find1 = 0;
  255. for (var j = 0; j < Ign.length; j++) {
  256. if (BTag2[0].innerHTML == Ign[j]) {
  257. Find1 = 1;
  258. break;
  259. }
  260. }
  261. if (Find1==0) {UnIgn(i)}
  262. }
  263. }
  264. }
  265. IgnLinkColor();
  266. if (UseFriends) {SetFriendsColor(getCookie(FrndsName));}
  267. SetStauses();
  268. }
  269. if (document.location.pathname.indexOf(SrchInPth) > -1) {
  270. main(getCookie(IgnName), true, false);}
  271. function SetStauses() {
  272. var FntTg1 = document.getElementsByTagName('font');
  273. for (var i = 0; i < FntTg1.length ; i++) {
  274. if (FntTg1[i].className.indexOf('StatusBlock')!=0) continue;
  275. var sCook1 = getCookie(StatName +FntTg1[i].title);
  276. if (sCook1 == undefined) {sCook1=''} else {
  277. if (sCook1=='') {
  278. deleteCookie(StatName +FntTg1[i].title);
  279. sCook1='';
  280. } else {
  281. if (FntTg1[i].className.indexOf('StatusBlock2')==0) {
  282. sCook1 = ' ( ' +sCook1 + ' ) '
  283. } else {
  284. sCook1='<br>'+sCook1
  285. }
  286. }
  287. }
  288. FntTg1[i].innerHTML = sCook1;
  289. }
  290. }
  291. function SetFriendsColor(FriendsList) {
  292. if ((FriendsList != undefined) && (UseFriends)) {
  293. var TrT = document.getElementsByTagName('tr');
  294. var Frnd = FriendsList.split(Delim1);
  295. for (var i = 0; i < TrT.length ; i++) {
  296. var Btag = TrT[i].getElementsByTagName('b');
  297. if (Btag.length == 0) continue;
  298. var TdTag = TrT[i].getElementsByTagName('td');
  299. if (TdTag.length >= 3) {
  300. if (TdTag[2].className=="tpc") {
  301. if ((FriendsList != undefined) && (UseFriends)) {
  302. var Find2 = false;
  303. for (var j = 0; j < Frnd.length ; j++) {
  304. if (Btag[0].innerHTML == Frnd[j]) {
  305. Find2 = true;
  306. break;
  307. }
  308. }
  309. if (Find2) {
  310. TdTag[1].bgColor = FriendsColor;
  311. } else {
  312. TdTag[1].bgColor = TdTag[2].bgColor;
  313. }
  314. }
  315. }
  316. }
  317. }
  318. }
  319. }
  320. function IgnLinkColor(){
  321. var TrT = document.getElementsByTagName('tr');
  322. var Ign2 = getCookie(IgnName);
  323. if (Ign2 == undefined) {Ign2 = ''}
  324. for (var i = 0; i < TrT.length ; i++) {
  325. var ATag = document.getElementById('IgnorLink' +i);
  326. if (ATag==null) continue;
  327. if (IsTextInStr(ATag.name, Ign2, Delim1)) {
  328. ATag.innerHTML = '<font Color=#FF0000>\u0418\u0433\u043d\u043e\u0440</font>'
  329. } else {
  330. ATag.innerHTML = '\u0418\u0433\u043d\u043e\u0440'
  331. }
  332. }
  333. }
  334. function UnIgn(IgnCnt){
  335. var PrTag1 = document.getElementById('Ignor' +IgnCnt).parentNode.parentNode;
  336. PrTag1.innerHTML = IgnM[IgnCnt];
  337. IgnLinkColor();
  338. if (UseFriends) {SetFriendsColor(getCookie(FrndsName));}
  339. var Tgs1 = PrTag1.getElementsByTagName('a');
  340. if (UseIgnore) {
  341. for (var i = 0; i < Tgs1.length ; i++) {
  342. if (Tgs1[i].id.indexOf('IgnorLink') == 0) {
  343. Tgs1[i].addEventListener("click", function() {AddDelIgn(this.id)}, false);
  344. break;
  345. }
  346. }
  347. }
  348. if (UseFriends) {
  349. for (var i = 0; i < Tgs1.length ; i++) {
  350. if (Tgs1[i].id.indexOf('FriendsLink') == 0) {
  351. Tgs1[i].addEventListener("click", function() {AddDelFrnd(this.id)}, false);
  352. break;
  353. }
  354. }
  355. }
  356. if (UseNickSearch) {
  357. for (var i = 0; i < Tgs1.length ; i++) {
  358. if (Tgs1[i].id.indexOf('ANickSrch') == 0) {
  359. Tgs1[i].addEventListener("click", function() {NickSrch(this.name)}, false);
  360. break;
  361. }
  362. }
  363. }
  364. if (UseHideLink) {
  365. for (var i = 0; i < Tgs1.length ; i++) {
  366. if (Tgs1[i].id.indexOf('AHideLink') == 0) {
  367. Tgs1[i].addEventListener("click", function() {HidePost1(this.id)}, false);
  368. break;
  369. }
  370. }
  371. }
  372. if (isUseStatus) {
  373. for (var i = 0; i < Tgs1.length ; i++) {
  374. if (Tgs1[i].id.indexOf('ACustStat') == 0) {
  375. Tgs1[i].addEventListener("click", function() {EditCustStat(this.name)}, false);
  376. break;
  377. }
  378. }
  379. }
  380. if (UseQuote) {
  381. for (var i = 0; i < Tgs1.length ; i++) {
  382. if (Tgs1[i].id.indexOf('AInsSel') == 0) {
  383. Tgs1[i].addEventListener("click", function() {InsertSel1()}, false);
  384. break;
  385. }
  386. }
  387. }
  388. var TbTag1 = PrTag1.parentNode.parentNode;
  389. if (TbTag1 != null) {TbTag1.cellPadding = "5"}
  390. SetStauses();
  391. }
  392. function EditIgn() {
  393. var s = getCookie(IgnName);
  394. if (s == undefined) {s = ''}
  395. if (s==null) {s='';}
  396. s = prompt('\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0020\u0438\u0433\u043d\u043e\u0440\u0430\u002e\u0020\u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435\u0020\u0432\u0440\u0430\u0433\u043e\u0432\u0020\u0447\u0435\u0440\u0435\u0437\u0020\u0437\u0430\u043f\u044f\u0442\u0443\u044e\u002e\u0020\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440\u003a\u0020\u0046\u0072\u0065\u0061\u006b\u002c\u0020\u0054\u0072\u006f\u006c\u006c', s.replace(/^,/g,""));
  397. if(s!=null){
  398. setCookie(IgnName,PrsUsersList(s),{expires:CookDate1});
  399. main(getCookie(IgnName), false);
  400. }
  401. };
  402. function EditFrnds() {
  403. var s = getCookie(FrndsName);
  404. if (s == undefined) {s = ''}
  405. if (s==null) {s='';}
  406. s = prompt('\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0020\u0434\u0440\u0443\u0437\u0435\u0439\u002e\u0020\u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435\u0020\u0434\u0440\u0443\u0437\u0435\u0439\u0020\u0447\u0435\u0440\u0435\u0437\u0020\u0437\u0430\u043f\u044f\u0442\u0443\u044e\u002e\u0020\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440\u003a\u0020\u004d\u0065\u002c\u0020\u004d\u0069\u006e\u0065\u002c\u0020\u004d\u0079\u0073\u0065\u006c\u0066', s.replace(/^,/g,""));
  407. if(s!=null){
  408. setCookie(FrndsName,PrsUsersList(s),{expires:CookDate1});
  409. SetFriendsColor(getCookie(FrndsName));
  410. }
  411. };
  412. function EditCustStat(aName) {
  413. var s = getCookie(StatName +aName);
  414. if (s == undefined) {s = ''}
  415. if (s==null) {s='';}
  416. s = prompt('\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0020\u0441\u0442\u0430\u0442\u0443\u0441\u0430\u002e\u0020\u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435\u0020\u0441\u0432\u043e\u0451\u0020\u043c\u043d\u0435\u043d\u0438\u0435\u0020\u043e '
  417. +"'" +aName +"'" +' \u0437\u0434\u0435\u0441\u044c\u002e', s);
  418. if(s!=null){
  419. setCookie(StatName +aName,s,{expires:CookDate1});
  420. SetStauses();
  421. }
  422. };
  423. if (document.location.pathname.indexOf(SrchInPth) > -1) {
  424. var Td2T = document.getElementsByTagName('td');
  425. for (var i = 0; i < Td2T.length ; i++) {
  426. if ((Td2T[i].className=="dats") && (Td2T[i].align=="right")){
  427. var s1 = '';
  428. if (UseTextSearch) {
  429. var s2 = getCookie(TextSrchName);
  430. if (s2==undefined) {s2=''} else {s2 = s2.replace(/'/g,'')}
  431. s1 = s1 +''
  432. +'<div Title="\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440\u003a ' +"'" +'Metallica, &quot;Iron Maiden&quot;'
  433. +"'" +'. \u041f\u0443\u0441\u0442\u0430\u044f\u0020\u0441\u0442\u0440\u043e\u043a\u0430\u0020\u002d\u0020\u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0020\u0432\u0441\u0435\u0020\u043f\u043e\u0441\u0442\u044b">\u041f\u043e\u0438\u0441\u043a\u0020\u0442\u0435\u043a\u0441\u0442\u0430 '
  434. +'<input Type=text ID=TextSrEdit'
  435. +" value='" +s2 +"'"
  436. +' onkeydown="javascript:if(event.keyCode==13)'
  437. +'document.getElementById(' +"'TextSrBtn'" +').click();"'
  438. +'>'
  439. +'<button Type=button Name=TextSrBtn ID=TextSrBtn OnClick=javascript:TextSrch()>&gt;</button></div>'
  440. ;
  441. }
  442. if (UseNickSearch) {
  443. var s2 = getCookie(NickSrchName);
  444. if (s2==undefined) {s2=''} else {s2 = s2.replace(/"/g,'')}
  445. s1 = s1 +''
  446. +'<div Title="\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440\u003a ' +"'" +'MyNick, Friend, Etc'
  447. +"'" +'. \u041f\u0443\u0441\u0442\u0430\u044f\u0020\u0441\u0442\u0440\u043e\u043a\u0430\u0020\u002d\u0020\u043e\u0442\u043c\u0435\u043d\u0438\u0442\u044c\u0020\u043f\u043e\u0438\u0441\u043a\u002e">\u041f\u043e\u0438\u0441\u043a\u0020\u043d\u0438\u043a\u0430 '
  448. +'<input Type=text ID=NickEdit '
  449. +' value="' +s2 +'"'
  450. +' onkeydown="javascript:if(event.keyCode==13)'
  451. +'document.getElementById(' +"'NickBtn'" +').click();"'
  452. +'>'
  453. +'<button Type=button Name=NickBtn ID=NickBtn OnClick=javascript:NickSrch()>&gt;</button></div>'
  454. ;
  455. }
  456. if (UseIgnore) {
  457. s1 = s1 +''
  458. +'&nbsp;<a ID=IgnEditor title="\u041e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0020\u0441\u043f\u0438\u0441\u043e\u043a\u0020\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445" '
  459. +'href=javascript:EditIgn()>\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0020\u0438\u0433\u043d\u043e\u0440\u0430</a> &#149; '
  460. }
  461. if (UseFriends) {
  462. s1 = s1 +''
  463. +'<a ID=IgnFriends title="\u041e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0020\u0441\u043f\u0438\u0441\u043e\u043a\u0020\u0434\u0440\u0443\u0437\u0435\u0439" '
  464. +'href=javascript:EditFrnds()>\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0020\u0434\u0440\u0443\u0437\u0435\u0439</a> &#149; '
  465. }
  466. if (isUseVeche) {
  467. s1 = s1 +''
  468. +'<a ID=AVoteLink title="\u041f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c\u0020\u0432\u0020\u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0451\u043d\u043d\u044b\u0445\u0020\u043f\u043e\u0441\u0442\u0438\u043d\u0433\u0430\u0445\u0020\u043a\u0442\u043e\u0020\u043a\u0430\u043a\u0020\u043f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b" '
  469. +'href=javascript:CalcVeche("")>\u0413\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043d\u0438\u0435</a> &#149; '
  470. }
  471. Td2T[i].innerHTML = s1 +Td2T[i].innerHTML;
  472. if (UseIgnore) {
  473. document.getElementById('IgnEditor').addEventListener("click",
  474. function() {EditIgn()}, false);
  475. }
  476. if (UseNickSearch) {
  477. document.getElementById('NickBtn').addEventListener("click",
  478. function() {NickSrch()}, false);
  479. }
  480. if (UseTextSearch) {
  481. document.getElementById('TextSrBtn').addEventListener("click",
  482. function() {TextSrch()}, false);
  483. }
  484. if (UseFriends) {
  485. document.getElementById('IgnFriends').addEventListener("click",
  486. function() {EditFrnds()}, false);
  487. }
  488. if (isUseVeche) {
  489. document.getElementById('AVoteLink').addEventListener("click",
  490. function() {CalcVeche("")}, false);
  491. }
  492. break;
  493. }
  494. }
  495. }
  496. function HidePost1(anID) {
  497. var aHideLink = document.getElementById(anID);
  498. if (aHideLink != null) {
  499. var aTr = aHideLink.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
  500. if (aTr != null) {HideText(aHideLink.name, aTr)}
  501. }
  502. SetStauses();
  503. }
  504. function NickSrch(aName) {
  505. if (aName == undefined) {
  506. var s = PrsUsersList(document.getElementById('NickEdit').value);
  507. setCookie(NickSrchName,s,{expires:CookDate1});
  508. } else {
  509. if (IsTextInStr(aName, LastNickFind, Delim1)) {
  510. var s = RemoveTextFromStr(aName, LastNickFind, Delim1);
  511. } else {
  512. var s = PrsUsersList(LastNickFind +Delim1 +aName);
  513. }
  514. }
  515. LastNickFind = s;
  516. if (s==null) {
  517. main(getCookie(IgnName), false)
  518. } else {
  519. if (s=='') {
  520. main(getCookie(IgnName), false);
  521. } else {
  522. main(s, false, true);
  523. }
  524. }
  525. };
  526. function TextSrch() {
  527. var s = document.getElementById('TextSrEdit').value;
  528. setCookie(TextSrchName,s,{expires:CookDate1});
  529. if ((s==null)
  530. ) {
  531. main(getCookie(IgnName), false)
  532. } else {
  533. main('', false, false, '', s);
  534. }
  535. };
  536. function IsTextInStr(Name, List, Delimetr) {
  537. if (List==undefined) {return false} else {
  538. var s = List.split(Delimetr);
  539. var Find1 = false;
  540. for (var j = s.length -1; j >= 0; j--) {
  541. if (s[j] == Name) {
  542. Find1 = true;
  543. s.splice(j, 1);
  544. break;
  545. }
  546. }
  547. return Find1;
  548. }
  549. }
  550. function RemoveTextFromStr(Name, List, Delimetr)
  551. {
  552. var sl1 = List.split(Delimetr);
  553. var Find1 = false;
  554. for (var j = sl1.length -1; j >= 0; j--) {
  555. if (sl1[j] == Name) {
  556. sl1.splice(j, 1);
  557. Find1 = true;
  558. }
  559. }
  560. return Find1 ? sl1.join(Delimetr) : List;
  561. }
  562. function AddDelIgn(IgnTagName){
  563. var aTag = document.getElementById(IgnTagName);
  564. var sName1 = aTag.name;
  565. var s1 = getCookie(IgnName);
  566. if (s1 == undefined) {s1 = ''}
  567. if (IsTextInStr(sName1, s1, Delim1)) {
  568. if (confirm('(-) \u0412\u044b\u043f\u0443\u0441\u0442\u0438\u0442\u044c "' +sName1 + '" \u0438\u0437\u0020\u0438\u0433\u043d\u043e\u0440\u0430\u003f')) {
  569. var s2 = RemoveTextFromStr(sName1, s1, Delim1);
  570. if (s2 != s1) {
  571. setCookie(IgnName, s2,{expires:CookDate1});
  572. main(s2, false);
  573. }
  574. }
  575. } else {
  576. if (confirm('(+) \u041f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c "' +sName1 + '" \u0432\u0020\u0438\u0433\u043d\u043e\u0440\u003f')) {
  577. s1 = s1 +Delim1 +sName1;
  578. setCookie(IgnName, s1,{expires:CookDate1});
  579. main(s1, false);
  580. }
  581. }
  582. }
  583. function AddDelFrnd(FrndTagName){
  584. var aTag = document.getElementById(FrndTagName);
  585. var sName1 = aTag.name;
  586. var s1 = getCookie(FrndsName);
  587. if (s1 == undefined) {s1 = ''}
  588. if (IsTextInStr(sName1, s1, Delim1)) {
  589. if (confirm('(-) \u0423\u0434\u0430\u043b\u0438\u0442\u044c "' +sName1 + '" \u0438\u0437\u0020\u0434\u0440\u0443\u0437\u0435\u0439\u003f')) {
  590. var s2 = RemoveTextFromStr(sName1, s1, Delim1);
  591. if (s2 != s1) {
  592. setCookie(FrndsName, s2,{expires:CookDate1});
  593. if (UseFriends) {SetFriendsColor(getCookie(FrndsName));}
  594. }
  595. }
  596. } else {
  597. if (confirm('(+) \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c "' +sName1 + '" \u0432\u0020\u0434\u0440\u0443\u0437\u044c\u044f\u003f')) {
  598. s1 = s1 +Delim1 +sName1;
  599. setCookie(FrndsName, s1,{expires:CookDate1});
  600. if (UseFriends) {SetFriendsColor(getCookie(FrndsName));}
  601. }
  602. }
  603. }
  604. if ((isUseAddPages) && (document.location.pathname.indexOf(SrchInPth) > -1)) {
  605. function AddPageLinks1(aTag) {
  606. if ((aTag.className = 'small')
  607. && (aTag.colSpan == 2)
  608. && (aTag.align == 'left')
  609. ) {
  610. if (aTag.getElementsByTagName('div').length >0) return false;
  611. if (aTag.getElementsByTagName('table').length >0) return false;
  612. if (aTag.getElementsByTagName('form').length >0) return false;
  613. if (aTag.getElementsByTagName('input').length >0) return false;
  614. var s1 = document.location.href;
  615. s = ''
  616. +' <a title="\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0020\u0432\u0441\u0435\u0020\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b" href='
  617. +SetUrlTxt(s1, 'all').replace(/glp&/, '') +'>\u0412\u0441\u0435</a> '
  618. +' <a title="\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0020\u0432\u0441\u0435\u0020\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b\u0020\u043e\u0442\u0020\u0442\u0435\u043a\u0443\u0449\u0435\u0439\u0020\u0438\u0020\u0434\u043e\u0020\u043a\u043e\u043d\u0446\u0430" href='
  619. +SetUrlTxt(s1, 'limit=1000').replace(/all&/,'').replace(/glp&/,'')
  620. +'>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435</a> '
  621. +' <a title="\u0421\u0441\u044b\u043b\u043a\u0430\u0020\u0432\u0435\u0434\u0451\u0442\u0020\u0412\u0421\u0415\u0413\u0414\u0410\u0020\u043d\u0430\u0020\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e\u0020\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443\u0020\u0442\u0435\u043c\u044b\u002e\u0020\u0423\u0434\u043e\u0431\u043d\u0430\u0020\u0434\u043b\u044f\u0020\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u0020\u0432\u0020\u0438\u0437\u0431\u0440\u0430\u043d\u043d\u043e\u0435\u002e" href='
  622. +SetUrlTxt(s1, 'glp').replace(/all&/,'') +'>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f</a> '
  623. ;
  624. aTag.innerHTML = aTag.innerHTML +s;
  625. return true;
  626. } else {return false}
  627. }
  628. var TdTg1 = document.getElementsByTagName('td');
  629. for (var i = 0; i<TdTg1.length; i++) {
  630. if (AddPageLinks1(TdTg1[i])) break}
  631. for (var i = TdTg1.length -1; i>=0; i--) {
  632. if (AddPageLinks1(TdTg1[i])) break}
  633. }
  634. function getCookie(name) {
  635. if ((UseLocalStorage) && (window.localStorage)) {
  636. var s1 = window.localStorage.getItem(name) || '';
  637. if (s1 != '') return s1;
  638. }
  639. var matches = document.cookie.match(new RegExp(
  640. "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
  641. ))
  642. return matches ? decodeURIComponent(matches[1]) : undefined
  643. }
  644. function setCookie(name, value, props) {
  645. if ((UseLocalStorage) && (window.localStorage)) {
  646. window.localStorage.setItem(name, value);
  647. } else
  648. {
  649. props = props || {}
  650. var exp = props.expires
  651. if (typeof exp == "number" && exp) {
  652. var d = new Date()
  653. d.setTime(d.getTime() + exp*1000)
  654. exp = props.expires = d
  655. }
  656. if(exp && exp.toUTCString) { props.expires = exp.toUTCString() }
  657. value = encodeURIComponent(value)
  658. var updatedCookie = name + "=" + value
  659. for(var propName in props){
  660. updatedCookie += "; " + propName
  661. var propValue = props[propName]
  662. if(propValue !== true){ updatedCookie += "=" + propValue }
  663. }
  664. document.cookie = updatedCookie
  665. }
  666. }
  667. function deleteCookie(name) {
  668. if ((UseLocalStorage) && (window.localStorage)) {
  669. window.localStorage.removeItem(name);
  670. setCookie(name, null, { expires: -1 })
  671. } else
  672. setCookie(name, null, { expires: -1 })
  673. }
  674. String.prototype.get = function(p){
  675. return (match = this.match(new RegExp("[?|&]?" + p + "=([^&]*)"))) ? match[1] : false;}
  676. function insertAfter(parent, node, referenceNode) {
  677. parent.insertBefore(node, referenceNode.nextSibling); }
  678. function splitSrch(s){
  679. a = [];
  680. s.replace(/"([^"]*)"|[\S]+/g, function(w, p) {a.push(p||w)});
  681. return a;
  682. }
  683. function PrsUsersList(aUserNicks) {
  684. var s = aUserNicks.replace(/,+/g,",");
  685. s = s.replace(/\s+/g," ");
  686. s = s.replace(/[, ]$/g,"").replace(/^,/g,"");
  687. s = s.replace(/,\s/g,",");
  688. return s;
  689. }
  690. function SetUrlTxt(u, s) {
  691. return ((u.indexOf('&' +s) < 0) && (u.indexOf('?' +s) < 0)) ?
  692. u.replace(/[?](.*)/g, function(a, b) {return '?' +s +'&'+b}) : u;}
  693. var isPAdding = false;
  694. var CurFLoad = -1;
  695. var CurForumNbm = window.location.search.get('forum');
  696. if (IsAddForums) {
  697. if ( (document.location.pathname.indexOf(SrchForum) > -1)
  698. ) {
  699. var TrTag3 = document.getElementsByClassName('tit')
  700. DTag1 = document.createElement("div");
  701. DTag1.id = 'Div100';
  702. var LoadList2 = getCookie(FrmsName +CurForumNbm);
  703. if (LoadList2 == undefined) {LoadList2 = ''}
  704. var FrmLoadList = PrsUsersList(LoadList2).split(Delim1);
  705. DTag1.innerHTML = ''
  706. +'<center>'
  707. +'<div id="vote_status1"><br></div>'
  708. +'\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435\u0020\u0444\u043e\u0440\u0443\u043c\u044b: <font id=FForums>' +LoadList2 +'</font>'
  709. +' &nbsp; <input id=btnv1 value="Edit"'
  710. +' onclick="EdFrmsLst()" type="button" />'
  711. +'&nbsp; <font id="vote_status2">\u041c\u0435\u0441\u0442\u043e\u0020\u043e\u0442\u0432\u0435\u0442\u0430\u0020\u0441\u0435\u0440\u0432\u0435\u0440\u0430</font>'
  712. +'</center>';
  713. insertAfter(TrTag3[TrTag3.length -1].parentNode.parentNode.parentNode.parentNode, DTag1, TrTag3[TrTag3.length -1].parentNode.parentNode.parentNode);
  714. document.getElementById('btnv1').addEventListener("click",
  715. function() {EdFrmsLst()}, false);
  716. }
  717. }
  718. function EdFrmsLst() {
  719. var s = getCookie(FrmsName +CurForumNbm);
  720. if (s == undefined) {s = ''}
  721. if (s==null) {s='';}
  722. s = prompt('\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0020\u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445\u0020\u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a\u002e\u0020\u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435\u0020\u043d\u043e\u043c\u0435\u0440\u0430\u0020\u0444\u043e\u0440\u0443\u043c\u043e\u0432\u002e\u0020\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440\u003a\u0020\u0031\u0033\u002c\u0020\u0037\u0032\u002c\u0020\u0037\u0035', s.replace(/^,/g,""));
  723. if(s!=null){
  724. FrmLoadListS = PrsUsersList(s);
  725. setCookie(FrmsName +CurForumNbm, FrmLoadListS,{expires:CookDate1});
  726. var FrmLoadList = PrsUsersList(FrmLoadListS).split(Delim1);
  727. document.getElementById('FForums').innerHTML = s;
  728. var FrmLoadedList = PrsUsersList(FrmLoaded).split(Delim1);
  729. for (var j = 0; j < FrmLoadedList.length; j++) {
  730. if (FrmLoadedList[j] == '') continue;
  731. var Find1 = false;
  732. for (var i = 0; i < FrmLoadList.length; i++) {
  733. if (FrmLoadedList[j] == FrmLoadList[i]) {
  734. Find1 = true;
  735. break;
  736. }
  737. }
  738. var FrTag1 = document.getElementById(AddForumS +FrmLoadedList[j]);
  739. if (FrTag1 == null) continue;
  740. if (Find1) {
  741. FrTag1.style.display = "inline";
  742. } else {
  743. FrTag1.style.display = "none";
  744. }
  745. }
  746. AddPage1();
  747. }
  748. };
  749. function AddPage1() {
  750. if (CurFLoad != -1) {return false}
  751. var statusElem1 = document.getElementById('vote_status1');
  752. var statusElem2 = document.getElementById('vote_status2');
  753. if ((statusElem1 == null) || (statusElem2 == null)) return false;
  754. Find1 = 0;
  755. s = getCookie(FrmsName +CurForumNbm);
  756. if (s == undefined) {s = ''}
  757. var FrmLoadList = PrsUsersList(s).split(Delim1);
  758. for (var j = 0; j < FrmLoadList.length; j++) {
  759. if (FrmLoadList[j] == '') continue;
  760. var tmp3 = document.getElementById(AddForumS +FrmLoadList[j]);
  761. if (tmp3 == null) {
  762. CurFLoad = FrmLoadList[j];
  763. Find1 = 1;
  764. break;
  765. }
  766. }
  767. if (Find1 == 1) {
  768. var req = getXmlHttp()
  769. req.onreadystatechange = function() {
  770. if (req.readyState == 4) {
  771. statusElem2.innerHTML = req.statusText
  772. +' \u0424\u043e\u0440\u0443\u043c\u003a' +CurFLoad;
  773. if(req.status == 200) {
  774. if (document.getElementById(AddForumS +CurFLoad) != null) {
  775. CurFLoad = -1;
  776. return false;
  777. }
  778. var temp = document.createElement('div');
  779. temp.innerHTML = req.responseText;
  780. var TdTags1 = temp.getElementsByClassName("tit");
  781. var NodeNew1 = document.createElement('div');
  782. NodeNew1.id = AddForumS +CurFLoad;
  783. FrmLoaded = FrmLoaded +',' +CurFLoad;
  784. if (TdTags1.length >= 2) {
  785. var TblTag1 = TdTags1[0].parentNode.parentNode.parentNode;
  786. var TblTag2 = TdTags1[1].parentNode.parentNode.parentNode;
  787. var TblTag3 = TdTags1[TdTags1.length-1].parentNode.parentNode.parentNode;
  788. s1 = '' +'<br>'
  789. +TblText1s +TblTag1.innerHTML +TblText1e
  790. +TblText1s +TblTag2.innerHTML +TblText1e
  791. +TblText1s +TblTag3.innerHTML +TblText1e ;
  792. NodeNew1.innerHTML = s1;
  793. } else {
  794. NodeNew1.innerHTML = '' +'<br>' +
  795. '\u041e\u0448\u0438\u0431\u043a\u0430\u0021\u0020\u0424\u043e\u0440\u0443\u043c ' +CurFLoad +' \u043f\u0443\u0441\u0442';
  796. }
  797. statusElem1.parentNode.insertBefore(NodeNew1, statusElem1);
  798. var tmp3 = document.getElementById(AddForumS +CurFLoad);
  799. CurFLoad = -1;
  800. AddPage1();
  801. } else {
  802. var NodeNew1 = document.createElement('div');
  803. NodeNew1.id = AddForumS +CurFLoad;
  804. NodeNew1.innerHTML = '' +'<br>' +
  805. '\u041e\u0448\u0438\u0431\u043a\u0430\u0021\u0020\u041d\u0435\u0442\u0020\u043e\u0442\u0432\u0435\u0442\u0430\u0020\u043e\u0442\u0020\u0444\u043e\u0440\u0443\u043c\u0430\u0020 ' +CurFLoad +'.';
  806. statusElem1.parentNode.insertBefore(NodeNew1, statusElem1);
  807. var tmp3 = document.getElementById(AddForumS +CurFLoad);
  808. CurFLoad = -1;
  809. AddPage1();
  810. }
  811. }
  812. }
  813. req.open('GET', '/forum.cgi?forum=' +CurFLoad, true);
  814. req.send(null);
  815. statusElem2.innerHTML = 'Loading'
  816. +' \u0444\u043e\u0440\u0443\u043c:' +CurFLoad;
  817. } else {
  818. statusElem2.innerHTML = '\u0412\u0441\u0435\u0020\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b\u0020\u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b.';
  819. }
  820. }
  821. function getXmlHttp(){
  822. var xmlhttp;
  823. try {
  824. xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  825. } catch (e) {
  826. try {
  827. xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  828. } catch (E) {
  829. xmlhttp = false;
  830. }
  831. }
  832. if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  833. xmlhttp = new XMLHttpRequest();
  834. xmlhttp.overrideMimeType('text/html');
  835. }
  836. return xmlhttp;
  837. }
  838. if (IsAddForums) {AddPage1()};
  839. var Veche1 = new Array();
  840. function CalcVeche(IgnS) {
  841. function FindOrAdd1(aNick, aText) {
  842. var Pt1 = -1;
  843. for (var i = 0; i < Veche1.length ; i++) {
  844. Ln1 = Veche1[i];
  845. if (aText.toLowerCase() == Ln1[0].toLowerCase()) {
  846. Pt1 = i;
  847. break;
  848. }
  849. }
  850. if (Pt1 == -1) {
  851. var Line1 = new Array();
  852. Line1[0] = aText;
  853. Line1[1] = aNick;
  854. Veche1[Veche1.length] = Line1;
  855. } else {
  856. var Line1 = Veche1[Pt1];
  857. var Find1 = false;
  858. for (var j = 1; j < Line1.length ; j++) {
  859. if (Line1[j] == aNick) {
  860. Find1 = true;
  861. break;
  862. }
  863. }
  864. if (!Find1) {
  865. Line1[Line1.length] = aNick;
  866. Veche1[Pt1] = Line1;
  867. }
  868. }
  869. }
  870. PTag1 = document.getElementById('P1Vote');
  871. if ((PTag1 != null) && (PTag1.innerHTML != '')) {
  872. PTag1.innerHTML = '';
  873. } else {
  874. Veche1 = [];
  875. if (IgnS == undefined) {IgnS = ''}
  876. var Ign = IgnS.split(Delim1);
  877. var TbTag = document.getElementsByTagName('table');
  878. for (var i = 0; i < TbTag.length ; i++) {
  879. if (TbTag[i].className == "tb") {
  880. var TrT = TbTag[i].getElementsByTagName('tr');
  881. if (TrT.length == 0) continue;
  882. var BTag = TbTag[i].getElementsByTagName('b');
  883. if (BTag.length == 0) continue;
  884. LiTag = TbTag[i].getElementsByTagName('li');
  885. for (var j = 0; j < LiTag.length; j++) {
  886. B2Tag = LiTag[j].getElementsByTagName('b');
  887. if (B2Tag.length == 0) continue;
  888. if (B2Tag[0] == '') continue;
  889. FindOrAdd1(BTag[0].innerHTML, B2Tag[0].innerHTML);
  890. }
  891. }
  892. }
  893. if (Veche1.length == 0) {
  894. alert('\u041f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u0432\u0448\u0438\u0445\u0020\u043d\u0435\u0442\u002e');
  895. } else {
  896. for (var k = 0; k < Veche1.length; k++) {
  897. for (var i = 0; i < Veche1.length; i++) {
  898. var Find1 = false;
  899. for (var j = 0; j < Veche1.length; j++) {
  900. if (i == j) continue;
  901. if (Veche1[i][0]<Veche1[j][0]) {
  902. var Line1 = Veche1[i];
  903. Veche1[i] = Veche1[j];
  904. Veche1[j] = Line1;
  905. Find1 = true;
  906. }
  907. }
  908. if (!Find1) break;
  909. }
  910. if (!Find1) break;
  911. }
  912. VoteCnt1 = 0;
  913. for (var j = 1; j < Veche1.length; j++) {
  914. if (VoteCnt1 < Veche1[j].length -1) {VoteCnt1 = Veche1[j].length -1}}
  915. s2 = '';
  916. for (var i = 0; i < Veche1.length ; i++) {
  917. var s3 = '';
  918. var s4 = '';
  919. for (var j = 1; j < Veche1[i].length; j++) {
  920. s4 = s4 +'&nbsp;';
  921. s3 = s3 +Veche1[i][j];
  922. if (j != Veche1[i].length-1) {s3 = s3 +', '}
  923. }
  924. s2 = s2 +'<tr bgcolor=#ffffff><td width=70%>' +Veche1[i][0]
  925. +' ( ' +s3 +' ) ' +'</td>';
  926. s2 = s2 +'<td nowrap=nowrap width=5% align=center>'
  927. +(Veche1[i].length -1) +'</td>';
  928. s2 = s2 +'<td nowrap=nowrap width=100><font Color=blue '
  929. +'style="background-color:blue;">' +s4 +'</font></td>';
  930. s2 = s2 +'</tr>'
  931. }
  932. var s1 = ''
  933. +'<table class="dats" align=center bgcolor=#A0A0A0 border=0 cellpadding=3'
  934. +' cellspacing=1 width=95%><tbody><tr align=center bgcolor=#dddddd>'
  935. +'<td width=70%><b>\u0412\u043e\u043f\u0440\u043e\u0441\u0020\u0438\u0020\u043e\u0442\u0432\u0435\u0442\u0020\u0028\u0020\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u0432\u0448\u0438\u0435\u0020\u0029</b></td>'
  936. +'<td nowrap=nowrap width=5%><b>\u0413\u043e\u043b\u043e\u0441\u043e\u0432</b></td>'
  937. +'<td nowrap=nowrap width=100><b>\u0428\u043a\u0430\u043b\u0430</b></td>'
  938. +'</tr>'
  939. +s2
  940. +'</tbody></table>'
  941. +''
  942. ;
  943. if (PTag1 == null) {
  944. var TbTag1 = document.getElementsByTagName('table');
  945. for (var j = 0; j < TbTag1.length; j++) {
  946. if (TbTag1[j].className == 'tb') {
  947. PTag1 = document.createElement('p');
  948. PTag1.id = 'P1Vote';
  949. break;
  950. }
  951. }
  952. PTag1.innerHTML = s1;
  953. TbTag1[j].parentNode.insertBefore(PTag1, TbTag1[j]);
  954. } else {
  955. PTag1.innerHTML = s1;
  956. }
  957. }
  958. }
  959. }
  960. if (isUseVeche) {
  961. BTag1 = document.getElementsByTagName('b');
  962. for (var i = BTag1.length -1; i >= 0; i--) {
  963. if (BTag1[i].innerHTML == '\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435') {
  964. FntTg1 = document.createElement("font");
  965. FntTg1.innerHTML = '<a id=VoteLink1 href=javascript:AddVote1()'
  966. +' title="\u0412\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0020\u0432\u0020\u0444\u043e\u0440\u043c\u0443\u0020\u043e\u0442\u0432\u0435\u0442\u0430\u0020\u0431\u043b\u043e\u043a\u0020\u0441\u0020\u0432\u0430\u0448\u0438\u0020\u0433\u043e\u043b\u043e\u0441\u043e\u043c\u0020\u0437\u0430\u0020\u0447\u0442\u043e\u002d\u043b\u0438\u0431\u043e\u002e"'
  967. +'>\u0413\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u0442\u044c</a>';
  968. BTag1[i].parentNode.appendChild(FntTg1);
  969. document.getElementById('VoteLink1').addEventListener("click",
  970. function() {AddVote1()}, false);
  971. break;
  972. }
  973. }
  974. }
  975. function AddVote1() {
  976. TATag1 = document.getElementById('post');
  977. if (TATag1 == null) {
  978. TATag1 = document.getElementsByName('post')
  979. TATag1 = TATag1[0];
  980. }
  981. if (TATag1 == null) { alert('\u0424\u043e\u0440\u043c\u0430\u0020\u043e\u0442\u0432\u0435\u0442\u0430\u0020\u043d\u0435\u0020\u043d\u0430\u0439\u0434\u0435\u043d\u0430\u002e')
  982. } else {
  983. var s = '';
  984. s = prompt('\u0412\u0432\u0435\u0434\u0438\u0442\u0435\u0020\u0432\u043e\u043f\u0440\u043e\u0441\u0020\u0438\u0020\u043e\u0442\u0432\u0435\u0442\u0020\u0437\u0430\u0020\u043a\u043e\u0442\u043e\u0440\u044b\u0439\u0020\u0432\u044b\u0020\u0445\u043e\u0442\u0438\u0442\u0435\u0020\u043f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u0442\u044c:'
  985. +'\n\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440\u003a\u0020\u041c\u043e\u0451\u0020\u043b\u044e\u0431\u0438\u043c\u043e\u0435\u0020\u0436\u0438\u0432\u043e\u0442\u043d\u043e\u0435\u0020\u002d\u0020\u043a\u043e\u0448\u043a\u0430', s);
  986. if(s!=null){
  987. TATag1.value = TATag1.value.substr(0,TATag1.selectionStart) +'\n'
  988. +'[color=#A0A0A0][*][b]' +s +'[/b][/color]'
  989. +'\n\n' +TATag1.value.substr(TATag1.selectionEnd);
  990. }
  991. }
  992. }
  993. function InsertSel1() {
  994. var LastFindUserName = '';
  995. function FindPrnt1(aNode) {
  996. var PrNd1 = aNode.parentNode;
  997. if (PrNd1.tagName == undefined) {
  998. return PrNd1;
  999. }
  1000. if (PrNd1.tagName.toLowerCase() == 'table') {
  1001. if (PrNd1.className == "tb") {
  1002. var TrT = PrNd1.getElementsByTagName('tr');
  1003. if (TrT.length != 0) {
  1004. var BTag = PrNd1.getElementsByTagName('b');
  1005. if (BTag.length != 0) {
  1006. LastFindUserName = BTag[0].innerHTML;
  1007. return PrNd1;
  1008. }
  1009. }
  1010. }
  1011. }
  1012. return FindPrnt1(PrNd1);
  1013. }
  1014. function FindRef1(TrNode) {
  1015. var ATg1 = TrNode.getElementsByTagName('a');
  1016. for (var i = ATg1.length -1; i>=0; i--){
  1017. if (ATg1[i].href.indexOf('topic.cgi') >= 0) {
  1018. var s1 = '';
  1019. if ((LastFindUserName != '') && (ATg1[i].href != '')
  1020. && (ATg1[i +1].innerHTML != ''))
  1021. {
  1022. s1 = ''
  1023. +'[b][user]' +LastFindUserName +'[/user][/b] '
  1024. +'([url=' +ATg1[i].href +']'
  1025. +ATg1[i +1].innerHTML
  1026. +'[/url])'
  1027. ;
  1028. return s1;
  1029. }
  1030. }
  1031. }
  1032. return '';
  1033. }
  1034. var Nd = FindPrnt1(window.getSelection().getRangeAt(0).startContainer.parentNode);
  1035. if (Nd.tagName == undefined) { alert('\u0422\u0435\u0433\u0020\u043d\u0435\u0020\u043d\u0430\u0439\u0434\u0435\u043d\u002e')
  1036. } else {
  1037. var s1 = FindRef1(Nd);
  1038. if (s1 == '') { alert('\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0020\u043d\u0435\u0020\u043d\u0430\u0439\u0434\u0435\u043d\u002e')
  1039. } else {
  1040. var s2 = window.getSelection().toString();
  1041. if (s2 == '') { alert('\u041d\u0438\u0447\u0435\u0433\u043e\u0020\u043d\u0435\u0020\u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e\u002e\u0020\u0412\u044b\u0434\u0435\u043b\u0438\u0442\u0435\u0020\u0442\u0435\u043a\u0441\u0442\u0020\u0438\u0020\u043d\u0430\u0436\u043c\u0438\u0442\u0435\u0020\u0435\u0449\u0451\u0020\u0440\u0430\u0437\u002e')
  1042. } else {
  1043. var s2 = '[quote]' +s2 +'[/quote]';
  1044. TATag1 = document.getElementById('post');
  1045. if (TATag1 == null) { alert('\u0424\u043e\u0440\u043c\u0430\u0020\u043e\u0442\u0432\u0435\u0442\u0430\u0020\u043d\u0435\u0020\u043d\u0430\u0439\u0434\u0435\u043d\u0430\u002e')
  1046. } else {
  1047. TATag1.value = TATag1.value.substr(0,TATag1.selectionStart)
  1048. +'\n' +s1 +s2 +'\n\n'
  1049. +TATag1.value.substr(TATag1.selectionEnd);
  1050. }
  1051. }
  1052. }
  1053. }
  1054. }
  1055. })();
  1056. }, false);