Hormold

VK Change (#1385419508)

Nov 25th, 2013
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 27.70 KB | None | 0 0
  1. Файл - pads.js (Старый размер - 61689 | Новый - 44686):
  2. 9.  -     mus: {w: 629},
  3. 10.  +     mus: {w: 520},
  4. 40.  -   decr: function(id, toZero) {
  5. 41.  +   decr: function(id) {
  6. 44.  -     handlePageCount(id, toZero ? 0 : (vk.counts[id] - 1), mp[id], 1);
  7. 45.  +     handlePageCount(id, (vk.counts[id] - 1), mp[id], 1);
  8. 66.  -     var d = Pads.coords[id], c = _pads.cache[id], el = Pads.getEl(id), xy = getXY(el, true),
  9. 67.  -         barHeight = getXY('page_layout')[1], topOffset = 33 + barHeight;
  10. 68.  +     var d = Pads.coords[id], c = _pads.cache[id], el = Pads.getEl(id), xy = getXY(el, true);
  11. 72.  -           fixed = (posStyle == 'fixed' || posStyle != 'fixed' && y >= topOffset && isVisible(gp) || reverse || !ge('head_play_btn')), l, r, t, b;
  12. 73.  +           fixed = (posStyle == 'fixed' || posStyle != 'fixed' && y >= 33 && isVisible(gp) || reverse || !ge('head_play_btn')), l, r, t, b;
  13. 82.  -       t = reverse ? 'auto' : ((y >= topOffset && isVisible(gp) || !playBtn) ? 12 : 46) + barHeight;
  14. 83.  +       t = reverse ? 'auto' : ((y >= 33 && isVisible(gp) || !playBtn) ? 12 : 46);
  15. 88.  -       if (!fixed && !reverse && browser.mac) { // :(
  16. 89.  -         setTimeout(function() {
  17. 90.  -           var nt = intval(_pads.wrap.style.top);
  18. 91.  -           _pads.wrap.style.top = (nt - scrollGetY()) + 'px';
  19. 92.  -           _pads.wrap.style.position = 'fixed';
  20. 93.  -           setTimeout(function() { _pads.wrap.style.position = ''; _pads.wrap.style.top = nt + 'px'; }, 0);
  21. 94.  -         }, 0);
  22. 95.  -       }
  23. 97.  -       toggleClass(_pads.arrow, 'head', (y < topOffset || !isVisible(gp)) && playBtn && !_pads.gpClicked);
  24. 98.  -       toggleClass(gp, 'head', (y < topOffset || !isVisible(gp)) && playBtn && !_pads.gpClicked);
  25. 99.  -       toggleClass(_pads.arrow, 'right', (y >= topOffset && isVisible(gp) || !playBtn) && !hasClass(gp, 'reverse'));
  26. 100.  -       toggleClass(_pads.arrow, 'left', (y >= topOffset && isVisible(gp) || !playBtn) && hasClass(gp, 'reverse'));
  27. 101.  -       var toup = (y < topOffset || !isVisible(gp)) && playBtn && !_pads.gpClicked;
  28. 102.  +       toggleClass(_pads.arrow, 'head', (y < 33 || !isVisible(gp)) && playBtn && !_pads.gpClicked);
  29. 103.  +       toggleClass(gp, 'head', (y < 33 || !isVisible(gp)) && playBtn && !_pads.gpClicked);
  30. 104.  +       toggleClass(_pads.arrow, 'right', (y >= 33 && isVisible(gp) || !playBtn) && !hasClass(gp, 'reverse'));
  31. 105.  +       toggleClass(_pads.arrow, 'left', (y >= 33 && isVisible(gp) || !playBtn) && hasClass(gp, 'reverse'));
  32. 106.  +       var toup = (y < 33 || !isVisible(gp)) && playBtn && !_pads.gpClicked;
  33. 146.  -         cntr -= 46 + barHeight;
  34. 147.  +         cntr -= 46;
  35. 150.  -         _pads.wrap.style.top = (46 + barHeight) + 'px';
  36. 151.  +         _pads.wrap.style.top = 46 + 'px';
  37. 168.  -     var y = scrollGetY(), barHeight = getXY('page_layout')[1], topOffset = 33 + barHeight;
  38. 169.  +     var y = scrollGetY();
  39. 180.  -         setStyle(_pads.wrap, {bottom: fixed ? '15px' : 'auto', top: fixed ? 'auto' : 46 + barHeight});
  40. 181.  +         setStyle(_pads.wrap, {bottom: fixed ? '15px' : 'auto', top: fixed ? 'auto' : '46px'});
  41. 184.  -       } else if (y >= topOffset && isVisible(gp) && !fixed || !playBtn) {
  42. 185.  +       } else if (y >= 33 && isVisible(gp) && !fixed || !playBtn) {
  43. 205.  -         setStyle(_pads.wrap, {top: 46 + barHeight, bottom: 'auto'});
  44. 206.  +         setStyle(_pads.wrap, {top: '46px', bottom: 'auto'});
  45. 323.  -       var topOffset = 33 + getXY('page_layout')[1];
  46. 324.  -       toggleClass(ge('gp'), 'head', id == 'mus' && scrollGetY() < topOffset && !hasClass(ge('gp'), 'reverse') && !_pads.gpClicked);
  47. 325.  +       toggleClass(ge('gp'), 'head', id == 'mus' && scrollGetY() < 33 && !hasClass(ge('gp'), 'reverse') && !_pads.gpClicked);
  48. 342.  -             loadEl.innerHTML = loadEl.padLoad;
  49. 343.  -             delete loadEl.padLoad;
  50. 344.  +           loadEl.innerHTML = loadEl.padLoad;
  51. 345.  +           delete loadEl.padLoad;
  52. 401.  -       var scrollElements = [];
  53. 402.  -       if (id == 'mus') {
  54. 403.  -         scrollElements.push(ge('pad_side_filters_wrap'));
  55. 404.  -       }
  56. 411.  -         right: vk.rtl ? 'auto' : (id == 'mus' ? 0 : 1),
  57. 412.  -         left: !vk.rtl ? 'auto' : (id == 'mus' ? 0 : 1),
  58. 413.  -         forceCancelEvent: (id == 'mus'),
  59. 414.  -         scrollElements: scrollElements,
  60. 415.  +         right: vk.rtl ? 'auto' : 1,
  61. 416.  +         left: !vk.rtl ? 'auto' : 1,
  62. 465.  -     if (_pads.shown == 'mus') {
  63. 466.  -       if (ge('gp')) {
  64. 467.  -         removeClass(ge('gp').firstChild, 'active');
  65. 468.  -         _pads.gpClicked = false;
  66. 469.  -       }
  67. 470.  -       if (window.audioPlayer && audioPlayer.controls && audioPlayer.controls.pd && audioPlayer.controls.pd.status && audioPlayer.controls.pd.status.tt) {
  68. 471.  -         hide(audioPlayer.controls.pd.status.tt.container);
  69. 472.  -       }
  70. 473.  -       if (window.Audio) {
  71. 474.  -         Audio.stopPadEvents();
  72. 475.  -       }
  73. 476.  +     if (_pads.shown == 'mus' && ge('gp')) {
  74. 477.  +       removeClass(ge('gp').firstChild, 'active');
  75. 478.  +       _pads.gpClicked = false;
  76. 545.  -     ajax.post('pads.php', {act: 'pad', offset: _pads.cur.offset, pad_id: _pads.shown, pad_section: _pads.cur.sect || 0}, {
  77. 546.  +     ajax.post('pads.php', {act: 'pad', offset: _pads.cur.offset, pad_id: _pads.shown}, {
  78. 607.  -   },
  79. 608.  -   handleFilterPos: function() {
  80. 609.  -     var filters = ge('pad_side_filters'), filtersWrap = ge('pad_side_filters_wrap'),
  81. 610.  -         lastPos = _pads.cur.filterLastPos || 0, lastSt = _pads.cur.lastSt || 0, pos,
  82. 611.  -         st = _pads.content.scrollTop, fSz = getSize(filters)[1], fwSz = getSize(filtersWrap)[1];
  83. 612.  -     pos = Math.min(0, Math.max(lastPos + lastSt - st, fwSz - fSz - 10));
  84. 613.  -     setStyle(filters, {top: pos});
  85. 614.  -     _pads.cur.filterLastPos = pos;
  86. 615.  -     _pads.cur.lastSt = st;
  87. 619.  -       var more = ge('pad_more_audio'), searchMore = ge('pad_more_search_link');
  88. 620.  -       Pads.handleFilterPos();
  89. 621.  -       if (!window.Audio || !Audio.showRows) return;
  90. 622.  -
  91. 623.  -       if (more && isVisible(more) && _pads.content.scrollTop + _pads.content.offsetHeight + 400 > more.offsetTop) {
  92. 624.  -         Audio.showRows({from_pad: true});
  93. 625.  -       }
  94. 626.  -
  95. 627.  -       if (searchMore && isVisible(searchMore) && _pads.content.scrollTop + _pads.content.offsetHeight + 400 > searchMore.offsetTop) {
  96. 628.  -         Audio.loadRows(true);
  97. 629.  +       var more = ge('pad_more_audio');
  98. 630.  +       if (!more || !isVisible(more) || !Pads.showAudios) return;
  99. 631.  +       if (_pads.content.scrollTop + _pads.content.offsetHeight > more.offsetTop) {
  100. 632.  +         Pads.showAudios();
  101. 653.  -       });
  102. 654.  -       extend(_pads, {
  103. 655.  -         editing: {}
  104. 767.  -       var barHeight = getXY('page_layout')[1];
  105. 768.  -       if (lh) wh = Math.max(Math.min(wh, lh - 104 - (/*hasClass(_pads.arrow, 'right') ? 12 :*/ 46) + barHeight), 200);
  106. 769.  +       if (lh) wh = Math.max(Math.min(wh, lh - 104 - (hasClass(_pads.arrow, 'right') ? 12 : 46)), 200);
  107. 776.  -         editing: _pads.editing || {}
  108. 777.  +         editing: {}
  109. 792.  -         editing: _pads.editing || {}
  110. 793.  +         editing: {}
  111. 795.  -       handlePageCount('nws', 0, 'feed' + (ge('l_nwsf') ? '?section=notifications' : ''), ge('l_nwsf') ? '' : 'section=notifications');
  112. 796.  +       handlePageCount('nws', 0, 'feed', 'section=notifications');
  113. 1036.  -   grDone: function(gid, fail, res, block, text) {
  114. 1037.  +   grDone: function(gid, fail, text) {
  115. 1042.  -       }
  116. 1043.  -     } else {
  117. 1044.  -       if (_pads.cur.processed[gid] > 0 && vk.counts.gr >= _pads.cur.savedcnts[gid]) {
  118. 1045.  -         Pads.decr('gr');
  119. 1046.  -         for (var i in _pads.cur.savedcnts) {
  120. 1047.  -           --_pads.cur.savedcnts[i];
  121. 1048.  -         }
  122. 1050.  -       if (block > 0) {
  123. 1051.  -         text = '<div class="pads_gr_clubinv_block">' + text.replace('{club}', '<b>' + val(domPS(ge('pads_clubinv' + gid))) + '</b>') + '</div>';
  124. 1052.  -         text += '<div class="pads_gr_clubinv_block"><a onclick="Pads.grProcess(this, ' + gid + ', -2, -1)">' + getLang('global_cancel') + '</a></div>';
  125. 1053.  -       } else if (!block && res < 0 && ge('pads_clubinv' + gid)) {
  126. 1054.  -         text += '<div class="pads_gr_clubinv_block"><a onclick="Pads.grProcess(this, ' + gid + ', -2, 1)">' + val('groups_block_clubinv').replace('{club}', '<b>' + val(domPS(ge('pads_clubinv' + gid))) + '</b>') + '</a></div>';
  127. 1055.  +     } else if (_pads.cur.processed[gid] > 0 && vk.counts.gr >= _pads.cur.savedcnts[gid]) {
  128. 1056.  +       Pads.decr('gr');
  129. 1057.  +       for (var i in _pads.cur.savedcnts) {
  130. 1058.  +         --_pads.cur.savedcnts[i];
  131. 1064.  -     if (!fail && block < 0) {
  132. 1065.  -       text = btns.oldtext;
  133. 1066.  -     }
  134. 1069.  -       className: 'pad_gr_result',
  135. 1070.  -       oldtext: val(btns)
  136. 1071.  +       className: 'pad_gr_result'
  137. 1075.  -   grProcess: function(el, gid, res, block) {
  138. 1076.  +   grProcess: function(el, gid, res) {
  139. 1087.  -     ajax.post('al_groups.php', {act: act, gid: gid, from: 'pad', context: context, hash: _pads.hash, block: block}, {
  140. 1088.  -       onDone: Pads.grDone.pbind(gid, false, res, block),
  141. 1089.  -       onFail: Pads.grDone.pbind(gid, true, res, block),
  142. 1090.  +     ajax.post('al_groups.php', {act: act, gid: gid, from: 'pad', context: context, hash: _pads.hash}, {
  143. 1091.  +       onDone: Pads.grDone.pbind(gid, false),
  144. 1092.  +       onFail: Pads.grDone.pbind(gid, true),
  145. 1107.  -       }
  146. 1108.  -       if (trim((
  147. 1109.  -         window.getSelection && window.getSelection() ||
  148. 1110.  -         document.getSelection && document.getSelection() ||
  149. 1111.  -         document.selection && document.selection.createRange().text || ''
  150. 1112.  -       ).toString()).length) {
  151. 1113.  -         return;
  152. 1239.  -     var op = _pads.editing[nws], t = ge('pad_nws_field' + nws), d = val('pad_nwsd' + nws).split('/'), el = ge('pad_nws' + nws);
  153. 1240.  +     var t = ge('pad_nws_field' + nws), d = val('pad_nwsd' + nws).split('/'), el = ge('pad_nws' + nws);
  154. 1242.  -       if (!op) return;
  155. 1243.  +       if (!t) return;
  156. 1248.  -       }
  157. 1249.  -       if (trim((
  158. 1250.  -         window.getSelection && window.getSelection() ||
  159. 1251.  -         document.getSelection && document.getSelection() ||
  160. 1252.  -         document.selection && document.selection.createRange().text || ''
  161. 1253.  -       ).toString()).length) {
  162. 1254.  -         return;
  163. 1257.  -     if (op) {
  164. 1258.  +     if (t) {
  165. 1260.  -         var v = t ? val(t) : '';
  166. 1261.  -         if (trim(v) && op.greet.indexOf(v) !== 0) return (ev === true) ? true : elfocus(t);
  167. 1262.  +         var v = val(t);
  168. 1263.  +         if (trim(v) && _pads.editing[nws].greet.indexOf(v) !== 0) return (ev === true) ? true : elfocus(t);
  169. 1265.  -       if (t) cleanElems(t);
  170. 1266.  +       cleanElems(t);
  171. 1281.  -       addClass(el, 'pad_nws_reply');
  172. 1282.  -       _pads.editing[nws] = opts;
  173. 1283.  -       if (opts.disabled) {
  174. 1284.  -         var c = geByClass1('pad_nws_cont', el).appendChild(ce('div', {
  175. 1285.  -           className: 'pad_nwsa pad_nwsr',
  176. 1286.  -           innerHTML: val('pad_nws_dis_tpl').replace('{text}', opts.disabled)
  177. 1287.  -         }));
  178. 1288.  -       } else {
  179. 1289.  -         var c = geByClass1('pad_nws_cont', el).appendChild(ce('div', {
  180. 1290.  -           className: 'pad_nwsa pad_nwsr',
  181. 1291.  -           innerHTML: val('pad_nws_reply_tpl').replace('{field}', '\
  182. 1292.  +       var c = geByClass1('pad_nws_cont', el).appendChild(ce('div', {
  183. 1293.  +         className: 'pad_nwsa pad_nwsr',
  184. 1294.  +         innerHTML: val('pad_nws_reply_tpl').replace('{field}', '\
  185. 1301.  -         }));
  186. 1302.  -         t = ge('pad_nws_field' + nws);
  187. 1303.  -         placeholderSetup(t, {back: true});
  188. 1304.  -         autosizeSetup(t, {minHeight: 31, onResize: Pads.update});
  189. 1305.  -       }
  190. 1306.  +       }));
  191. 1307.  +       t = ge('pad_nws_field' + nws);
  192. 1308.  +       addClass(el, 'pad_nws_reply');
  193. 1309.  +       placeholderSetup(t, {back: true});
  194. 1310.  +       autosizeSetup(t, {minHeight: 31, onResize: Pads.update});
  195. 1311.  +       _pads.editing[nws] = opts;
  196. 1312.  +
  197. 1328.  -         if (t) elfocus(t);
  198. 1329.  +         elfocus(t);
  199. 1407.  -     if (!post.indexOf('topic_comment')) {
  200. 1408.  +     if (!post.indexOf('topic_post')) {
  201. 1410.  -       post = post.replace('topic_comment', '');
  202. 1411.  +       post = post.replace('topic_post', '');
  203. 1472.  -     });
  204. 1473.  -     Pads.invalidate();
  205. 1474.  -   },
  206. 1475.  -   apRemoveAll: function(hash) {
  207. 1476.  -     ajax.post('apps', {act: 'a_remove_all_notifies', hash: hash, requests: 1}, {
  208. 1477.  -       onDone: function() {
  209. 1478.  -         Pads.decr('ap', true);
  210. 1479.  -       }
  211. 1480.  -     });
  212. 1481.  -   },
  213. 1482.  -   loadAudioRecommendations: function(el, aid) {
  214. 1483.  -     if (el.tt) el.tt.hide();
  215. 1484.  -     stManager.add('audioplayer.js', function() {
  216. 1485.  -       if (!window.audioPlayer) return;
  217. 1486.  -       audioPlayer.showRec(aid, true);
  218. 1487.  -     });
  219. 1488.  -   },
  220. 1489.  -   addAudio: function(el, aid, oid) {
  221. 1490.  -     if (cur.addedIds && cur.addedIds[oid+'_'+aid]) return false;
  222. 1491.  -     if (el.tt) el.tt.hide();
  223. 1492.  -     if (window.Audio) {
  224. 1493.  -       Audio.animateAdded(el, 200);
  225. 1494.  -       var addEl = ge('audio'+oid+'_'+aid) && geByClass1('audio_add_wrap', ge('audio'+oid+'_'+aid));
  226. 1495.  -       if (addEl && !hasClass(addEl, 'anim')) {
  227. 1496.  -         Audio.animateAdded(addEl, 200);
  228. 1497.  -       }
  229. 1498.  -     } else {
  230. 1499.  -       var c = se('<div class="audio_add_wrap added fl_r" onclick="return cancelEvent(event);"><div class="audio_add"></div></div>');
  231. 1500.  -       el.parentNode.replaceChild(c, el);
  232. 1501.  -     }
  233. 1502.  -     var _a = window.audioPlayer;
  234. 1503.  -     var query = {act: 'add', aid: aid, oid: oid, hash: (window._pads && _pads.addHash || _a && _a.addHash)};
  235. 1504.  -     if (_a && (_a.top || _a.playbackParams && (_a.playbackParams.top_audio || _a.playbackParams.top))) {
  236. 1505.  -       query.top = 1;
  237. 1506.  -     }
  238. 1507.  -     ajax.post(Audio.address, query, {
  239. 1508.  -       onDone: function (data, res) {
  240. 1509.  -         if (data && window.Audio) {
  241. 1510.  -           var aobj = eval('('+data+')'), all_list;
  242. 1511.  -           aobj = aobj['all'][0];
  243. 1512.  -           setTimeout(function(){
  244. 1513.  -             if (cur.id == vk.id && cur.audiosIndex && cur.audiosList && cur.audiosList['all'] && cur.aSearch) {
  245. 1514.  -               all_list = cur.audiosList['all'];
  246. 1515.  -               if (all_list && all_list.length) {
  247. 1516.  -                 aobj._order = all_list[0]._order - 1;
  248. 1517.  -                 cur.audiosList['all'].splice(0,0,aobj);
  249. 1518.  -               } else {
  250. 1519.  -                 aobj._order = 0;
  251. 1520.  -                 cur.audiosList['all'] = [aobj];
  252. 1521.  -               }
  253. 1522.  -               cur.audios[aobj[1]] = aobj;
  254. 1523.  -               cur.audiosIndex.add(aobj);
  255. 1524.  -             }
  256. 1525.  -             if (window._pads && _pads.cur && _pads.cur.audiosIndex && _pads.cur.audiosList) {
  257. 1526.  -               all_list = _pads.cur.audiosList['all'];
  258. 1527.  -               if (all_list && all_list.length) {
  259. 1528.  -                 aobj._order = all_list[0]._order - 1;
  260. 1529.  -                 _pads.cur.audiosList['all'].splice(0,0,aobj);
  261. 1530.  -               } else {
  262. 1531.  -                 aobj._order = 0;
  263. 1532.  -                 _pads.cur.audiosList['all'] = [aobj];
  264. 1533.  -               }
  265. 1534.  -               if (_pads.cur.audios) {
  266. 1535.  -                 _pads.cur.audios[aobj[1]] = aobj;
  267. 1536.  -               }
  268. 1537.  -               if (_pads.cur.allAudiosIndex == 'all') {
  269. 1538.  -                 _pads.cur.audiosIndex.add(aobj);
  270. 1539.  -               }
  271. 1540.  -             }
  272. 1541.  -             Pads.clearAudioLoadCache();
  273. 1542.  -           }, 0);
  274. 1543.  -         }
  275. 1544.  -         cur.addedIds = cur.addedIds || {};
  276. 1545.  -         cur.addedIds[oid+'_'+aid] = 1;
  277. 1546.  -         if (window.audioPlayer && currentAudioId()) {
  278. 1547.  -           var cur_aids = currentAudioId().split('_');
  279. 1548.  -           if (cur_aids[0] == oid && cur_aids[1] == aid) {
  280. 1549.  -             audioPlayer.showCurrentAdded();
  281. 1550.  -           }
  282. 1551.  -         }
  283. 1552.  -       }
  284. 1553.  -     });
  285. 1554.  -   },
  286. 1555.  -   onAudioReorder: function(audio, before, after) {
  287. 1556.  -     var aid = audio.id.substr(5);
  288. 1557.  -     var before_id = (before && before.id || '').substr(5);
  289. 1558.  -     var after_id = (after && after.id || '').substr(5);
  290. 1559.  -     var padPlist = padAudioPlaylist();
  291. 1560.  -     if (aid && padPlist && !padPlist[aid]) {
  292. 1561.  -       aid = aid.replace('_pad', '');
  293. 1562.  -       before_id = before_id.replace('_pad', '');
  294. 1563.  -       after_id = after_id.replace('_pad', '');
  295. 1564.  -     }
  296. 1565.  -     if (aid && padPlist && padPlist[aid]) {
  297. 1566.  -       if (!before_id && after_id && padPlist[after_id]) {
  298. 1567.  -         before_id = padPlist[after_id]._next;
  299. 1568.  -       } else if (!after_id && before_id && padPlist[before_id]) {
  300. 1569.  -         after_id = padPlist[before_id]._prev;
  301. 1570.  -       }
  302. 1571.  -       var pl = ge('pad_playlist');
  303. 1572.  -       if (pl && pl.sorter && pl.sorter.elems) {
  304. 1573.  -         var newStart = (pl.sorter.elems[0].id || '').substr(5);
  305. 1574.  -         if (newStart && !padPlist[newStart]) {
  306. 1575.  -           newStart = newStart.replace('_pad', '');
  307. 1576.  -         }
  308. 1577.  -         padPlist.start = newStart;
  309. 1578.  -       }
  310. 1579.  -       var prev_id = padPlist[aid]._prev, next_id = padPlist[aid]._next;
  311. 1580.  -       if (prev_id && padPlist[prev_id] && next_id && padPlist[next_id] &&
  312. 1581.  -         before_id && padPlist[before_id] && after_id && padPlist[after_id] && after_id != aid && before_id != aid) {
  313. 1582.  -         padPlist[prev_id]._next = next_id;
  314. 1583.  -         padPlist[next_id]._prev = prev_id;
  315. 1584.  -         padPlist[aid]._prev = after_id;
  316. 1585.  -         padPlist[after_id]._next = aid;
  317. 1586.  -         padPlist[aid]._next = before_id;
  318. 1587.  -         padPlist[before_id]._prev = aid;
  319. 1588.  -       }
  320. 1589.  -       if (window.audioPlaylist && audioPlaylist[aid]) {
  321. 1590.  -         window.audioPlaylist = padPlist;
  322. 1591.  -       }
  323. 1592.  -       ls.set('pad_playlist', padPlist);
  324. 1593.  -       ls.set('pad_pltime', vkNow());
  325. 1594.  -     }
  326. 1595.  -   },
  327. 1596.  -   setAudioCurPos: function(speed) {
  328. 1597.  -     var _a = window.audioPlayer, audio_id = (_a && _a.isPlaylistGlobal()) ? ls.get('audio_id') || currentAudioId() : currentAudioId();
  329. 1598.  -     if (!audio_id) return;
  330. 1599.  -     if (audio_id.substr(-4) != '_pad') {
  331. 1600.  -       audio_id += '_pad';
  332. 1601.  -     }
  333. 1602.  -     if (ge('audio'+audio_id)) {
  334. 1603.  -       var h = 430;
  335. 1604.  -       if (window.lastWindowHeight) {
  336. 1605.  -         h = Math.min(h, lastWindowHeight - 104 - (hasClass(ge('pad_arrow'), 'right') ? 13 : 46));
  337. 1606.  -         if (h < 200) h = 200;
  338. 1607.  -       }
  339. 1608.  -       var sTop = ge('audio'+audio_id).offsetTop + ge('pad_playlist').offsetTop - Math.min(ge('pad_cont').offsetHeight, h) / 2 + 17;
  340. 1609.  -       if (ge('pad_content') && sTop > 0) {
  341. 1610.  -         if (speed) {
  342. 1611.  -           animate(ge('pad_content'), {scrollTop: sTop}, speed, function() {
  343. 1612.  -             Pads.update();
  344. 1613.  -           })
  345. 1614.  -         } else {
  346. 1615.  -           ge('pad_content').scrollTop = sTop;
  347. 1616.  -           Pads.update();
  348. 1617.  -         }
  349. 1618.  -       }
  350. 1619.  -     }
  351. 1620.  -   },
  352. 1621.  -   updateAudioPlaylist: function() {
  353. 1622.  -     var _a = window.audioPlayer;
  354. 1623.  -     if (!_a || !window._pads || !Pads.showAudios || _pads.shown != 'mus') return;
  355. 1624.  -
  356. 1625.  -     ge('pad_playlist').innerHTML = '';
  357. 1626.  -     _pads.content.scrollTop = 0;
  358. 1627.  -     show('pad_more_audio');
  359. 1628.  -     Pads.showAudios();
  360. 1629.  -     _a.showCurrentTrack();
  361. 1630.  -     Pads.updateHeight();
  362. 1631.  -     delete _a.recsLoaded;
  363. 1632.  -   },
  364. 1633.  -   playLastStatus: function() {
  365. 1634.  -     var _a = audioPlayer, pl = ge('pad_playlist');
  366. 1635.  -     if (cur.nextPlaylist && cur.nextPlaylist.start) {
  367. 1636.  -       var m = cur.nextPlaylist.start.match(/^-?\d+_\d+_s(-?\d+)(?:_|$)/);
  368. 1637.  -       if (m && m[1] && _a.statusData && _a.statusData[m[1]]) {
  369. 1638.  -         var data = _a.statusData[m[1]];
  370. 1639.  -         window.audioPlaylist = clone(cur.nextPlaylist);
  371. 1640.  -         if (window.audioPlayer) {
  372. 1641.  -           audioPlayer.setPadPlaylist();
  373. 1642.  -         }
  374. 1643.  -         playAudioNew(audioPlaylist.start);
  375. 1644.  -         pl.innerHTML = '<div class="pad_audio_status">'+data.audio_litening_to_user+'</div>';
  376. 1645.  -         ge('pad_footer_text').innerHTML = data.audio_goto_user;
  377. 1646.  -         hide('pad_more_audio');
  378. 1647.  -       }
  379. 1648.  -     }
  380. 1649.  -   },
  381. 1650.  -   audioRow: function(audio, opts) {
  382. 1651.  -     opts = opts || {};
  383. 1652.  -     var aid = audio.full_id || audio[0]+'_'+audio[1], actions = '';
  384. 1653.  -     var performer = audio[5].replace(/\\$/g, "\\&#36;");
  385. 1654.  -     var _a = window.audioPlayer, cur_aid = (_a && _a.isPlaylistGlobal()) ? ls.get('audio_id') || currentAudioId() : currentAudioId();
  386. 1655.  -     if (vk.id != audio[0] || audio[9] && intval(audio[9])) {
  387. 1656.  -       if (cur.addedIds && cur.addedIds[audio[0]+'_'+audio[1]]) {
  388. 1657.  -         actions += '<div class="audio_add_wrap added fl_r" onclick="return cancelEvent(event);"><div class="audio_add"></div></div>';
  389. 1658.  -       } else {
  390. 1659.  -         actions += '<div class="audio_add_wrap fl_r" onmouseover="Audio.rowActive(this, \'' + getLang('audio_add_to_audio') + '\', [9, 5, 0]);" onmouseout="Audio.rowInactive(this);" onclick="Pads.addAudio(this, '+audio[1]+', '+audio[0]+'); return cancelEvent(event);"><div class="audio_add"></div></div>';
  391. 1660.  -       }
  392. 1661.  -     }
  393. 1662.  -
  394. 1663.  -     return rs(Pads.audioTpl, {
  395. 1664.  -       audio_id: (aid.substr(-4) == '_pad') ? aid : aid+'_pad',
  396. 1665.  -       performer: performer,
  397. 1666.  -       title: audio[6].replace(/\\$/g, "\\&#36;"),
  398. 1667.  -       url: audio[2],
  399. 1668.  -       playtime: audio[3],
  400. 1669.  -       duration: audio[4],
  401. 1670.  -       attr: 'href="/search?c[q]='+performer.replace(/(<span>|<\/span>)/g, '')+'&c[section]=audio&c[performer]=1" onclick="if (checkEvent(event)) return; Audio.selectPerformer({from_pad: true, event: event, name: \''+performer.replace(/(<span>|<\/span>)/g, '').replace(/&#39;/g, "\\\\\\&#39;")+'\'}); return false"',
  402. 1671.  -       actions: actions,
  403. 1672.  -       author: '',
  404. 1673.  -       onclick: 'window.padPlClicked = true; playAudioNew(\''+aid+'\')',
  405. 1674.  -       rowclass: (actions ? '' : 'no_actions') + (cur_aid == aid ? (opts.thisTab && currentAudioId() == aid ? ' current' : ' tab_current') : '')
  406. 1676.  -   },
  407. 1677.  -   showAudios: function() {
  408. 1678.  -     var self = this, __cur = window._pads && _pads.cur, pl = ge('pad_playlist'),
  409. 1679.  -         _a = window.audioPlayer, pList = _a.recsLoaded && cur.nextPlaylist ? cur.nextPlaylist || {} : ((!window.audioPlaylist || window.curNotifier && (padPlData = ls.get('pad_pldata')) && padPlData.source == curNotifier.instance_id) ? ls.get('pad_playlist') || window.audioPlaylist : padAudioPlaylist());
  410. 1680.  -     if (__cur.allLoading) return;
  411. 1681.  -     if (pList) {
  412. 1682.  -       var el = domLC(pl), aid = '', first_id = '', showRowsCnt = 25, rowsCnt = geByClass('audio', pl).length, _a, audio_id = ((_a = window.audioPlayer) && _a.isPlaylistGlobal()) ? ls.get('audio_id') || currentAudioId() : currentAudioId();
  413. 1683.  -
  414. 1684.  -       if (el) {
  415. 1685.  -         first_id = geByClass1('audio', pl).id.substr(5).replace('_pad', '');
  416. 1686.  -         var last_id = el.id.substr(5).replace('_pad', '');
  417. 1687.  -         if (pList[last_id] && pList[last_id]._next) {
  418. 1688.  -           aid = pList[last_id]._next;
  419. 1689.  -         }
  420. 1690.  -       } else if (audio_id && pList[audio_id]) {
  421. 1691.  -         aid = audio_id;
  422. 1692.  -         for (var i = 0; i < 100; i++) {
  423. 1693.  -           if (!aid || aid == pList.start) break;
  424. 1694.  -           aid = pList[aid]._prev;
  425. 1695.  -           showRowsCnt++;
  426. 1696.  -         }
  427. 1697.  -         first_id = aid;
  428. 1698.  -       } else {
  429. 1699.  -         aid = first_id = pList.start;
  430. 1700.  -       }
  431. 1701.  -       if (!first_id) {
  432. 1702.  -         if (audio_id) {
  433. 1703.  -           var m = audio_id.match(/^-?\d+_\d+_s(-?\d+)(?:_|$)/);
  434. 1704.  -           if (m && m[1] && _a.statusData && _a.statusData[m[1]]) {
  435. 1705.  -             var data = _a.statusData[m[1]];
  436. 1706.  -             var el = se('<div class="pad_audio_status">' + (first_id != audio_id ? data.audio_listen_to_user : data.audio_litening_to_user) + '</div>');
  437. 1707.  -             pl.appendChild(el);
  438. 1708.  -             setTimeout(function() {
  439. 1709.  -               setStyle(el, {height: getSize(_pads.content)[1] - 110 - ge('pad_playlist').offsetTop});
  440. 1710.  -             }, 0)
  441. 1711.  -             ge('pad_footer_text').innerHTML = data.audio_goto_user;
  442. 1712.  -           }
  443. 1713.  -         }
  444. 1714.  -         hide('pad_more_audio');
  445. 1715.  -       } else {
  446. 1716.  -         if (first_id) {
  447. 1717.  -           var m = first_id.match(/^-?\d+_\d+_s(-?\d+)(?:_|$)/);
  448. 1718.  -           if (m && m[1] && _a.statusData && _a.statusData[m[1]] && !pList[first_id]._next) {
  449. 1719.  -             var data = _a.statusData[m[1]];
  450. 1720.  -             var el = se('<div class="pad_audio_status">' + (first_id != audio_id ? data.audio_listen_to_user : data.audio_litening_to_user) + '</div>');
  451. 1721.  -             pl.appendChild(el);
  452. 1722.  -             setTimeout(function() {
  453. 1723.  -               setStyle(el, {height: getSize(_pads.content)[1] - 110 - ge('pad_playlist').offsetTop});
  454. 1724.  -             }, 0)
  455. 1725.  -             ge('pad_footer_text').innerHTML = data.audio_goto_user;
  456. 1726.  -             hide('pad_more_audio');
  457. 1727.  -             return;
  458. 1728.  -           }
  459. 1729.  -         }
  460. 1730.  -         var k = 0;
  461. 1731.  -         if (aid) {
  462. 1732.  -           var thisTab = pList && window.curNotifier && pList.instance == curNotifier.instance_id;
  463. 1733.  -           do {
  464. 1734.  -             var rowEl = se(Pads.audioRow(pList[aid], {thisTab: thisTab}));
  465. 1735.  -             pl.appendChild(rowEl);
  466. 1736.  -             if (pList[aid]._next) aid = pList[aid]._next;
  467. 1737.  -             k++;
  468. 1738.  -           } while (aid && aid !== first_id && k < showRowsCnt);
  469. 1739.  -         }
  470. 1740.  -         if (aid == first_id) {
  471. 1741.  -           var more = ge('pad_more_audio');
  472. 1742.  -           if (pList.has_more) {
  473. 1743.  -             __cur.allLoading = true;
  474. 1744.  -             __cur.allLoadedCallback = function() {
  475. 1745.  -               __cur.allLoading = false;
  476. 1746.  -               Audio.showRows({from_pad: true});
  477. 1747.  -             }
  478. 1748.  -             Audio.loadFriendsAudios({from_pad: true, id: vk.id, index: 'all'});
  479. 1749.  -           } else {
  480. 1750.  -             hide(more);
  481. 1751.  -           }
  482. 1752.  -         }
  483. 1753.  -         if (window._pads && _pads.currentShown && !browser.mobile) {
  484. 1754.  -           if (el && pl.sorter) {
  485. 1755.  -             setTimeout(sorter.added.pbind(pl), 0);
  486. 1756.  -           } else {
  487. 1757.  -             setTimeout(function(){
  488. 1758.  -               sorter.init(pl, {onReorder: Pads.onAudioReorder, noMoveCursor: 1});
  489. 1759.  -               if (!el && !_a.recsLoaded) Pads.setAudioCurPos();
  490. 1760.  -             }, 0);
  491. 1761.  -           }
  492. 1762.  -         }
  493. 1763.  -         if (pList.htitle) {
  494. 1764.  -           ge('pad_footer_text').innerHTML = '<span class="audio_album_length">'+pList.htitle+'</span>';
  495. 1765.  -         }
  496. 1766.  -         if (!el && !_a.recsLoaded) Pads.setAudioCurPos();
  497. 1767.  -       }
  498. 1768.  -       Pads.update();
  499. 1769.  -     }
  500. 1770.  -   },
  501. 1771.  -   clearAudioLoadCache: function() {
  502. 1772.  -     if (!window._pads) {
  503. 1773.  -       return;
  504. 1774.  -     }
  505. 1776.  -     if (!window.ajaxCache) {
  506. 1777.  -       return;
  507. 1778.  -     }
  508. 1779.  -     for (var i in window.ajaxCache) {
  509. 1780.  -       var h = i.split('#'), params = h[1] && q2ajx(h[1]);
  510. 1781.  -       if ((h[0] == '/audio' || h[0] == 'audio') && params.act == 'load_audios_silent' && intval(params.id) == 3520) {
  511. 1782.  -         delete ajaxCache[i];
  512. 1783.  -       }
  513. 1784.  -     }
  514. ------
Advertisement
Add Comment
Please, Sign In to add comment