Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Файл - privacy.js (Старый размер - 40523 | Новый - 0):
- 0. - var Privacy = {
- 1. - flistBox: function (box, friendsData, selectedFriends, rowTemplate, saveLang, hash) {
- 2. - cur.flistTpl = rowTemplate;
- 3. - if (selectedFriends.length === 0) selectedFriends = {};
- 4. -
- 5. - cur.flistList = cur.flistFriends = friendsData;
- 6. - cur.flistSelected = selectedFriends;
- 7. -
- 8. - cur.flistIndex = new vkIndexer(friendsData, function(obj) {
- 9. - return obj[1]+' '+obj[4];
- 10. - });
- 11. -
- 12. - box.removeButtons();
- 13. -
- 14. - if (cur.flistTooltip) {
- 15. - if (cur.flistTooltipRight) {
- 16. - var hintLeft = '<td class="priv_h_arrow_td" style="vertical-align: top;"><div class="priv_h_arrow" style="margin-top: 50px;"><img src="/images/ddtooltip'+(window.devicePixelRatio >= 2 ? '_2x' : '')+'.png" width="16" height="11" class="priv_h_arrow_img png" /></div></td>';
- 17. - var hintRight = '';
- 18. - } else {
- 19. - var hintRight = '<td class="priv_h_arrow_td" style="vertical-align: top;"><div class="priv_h_arrow_l" style="margin-top: 50px;"><img src="/images/ddtooltip'+(window.devicePixelRatio >= 2 ? '_2x' : '')+'.png" width="16" height="11" class="priv_h_arrow_img png" /></div></td>';
- 20. - var hintLeft = '';
- 21. - }
- 22. -
- 23. -
- 24. - var ttHelper = ge('flist_helper');
- 25. - ttHelper.appendChild(ce('div', {
- 26. - innerHTML: '<table cellspacing="0" cellpadding="0">\
- 27. - <tr class="priv_h_top_sh">\
- 28. - <td></td>\
- 29. - <td colspan="5"><div class="priv_h_bottom2"></div></td>\
- 30. - </tr>\
- 31. - <tr class="priv_h_top_sh">\
- 32. - <td></td>\
- 33. - <td class="priv_h_side_td2"><div class="priv_h_side"></div></td>\
- 34. - <td colspan="3"><div class="priv_h_bottom"></div></td>\
- 35. - <td class="priv_h_side_td2"><div class="priv_h_side"></div></td>\
- 36. - </tr>\
- 37. - <tr>\
- 38. - '+hintLeft+'\
- 39. - <td class="priv_h_side_td2"><div class="priv_h_side"></div></td>\
- 40. - <td class="priv_h_side_td"><div class="priv_h_side"></div></td>\
- 41. - <td><div class="priv_h_rows flist_info_text" style="width: 179px;">'+cur.flistTooltip+'</div></td>\
- 42. - <td class="priv_h_side_td"><div class="priv_h_side"></div></td>\
- 43. - <td class="priv_h_side_td2"><div class="priv_h_side"></div></td>\
- 44. - '+hintRight+'\
- 45. - </tr>\
- 46. - <tr class="priv_h_bottom_sh">\
- 47. - <td></td>\
- 48. - <td class="priv_h_side_td2"><div class="priv_h_side"></div></td>\
- 49. - <td colspan="3"><div class="priv_h_bottom"></div></td>\
- 50. - <td class="priv_h_side_td2"><div class="priv_h_side"></div></td>\
- 51. - </tr>\
- 52. - <tr class="priv_h_bottom_sh">\
- 53. - <td></td>\
- 54. - <td colspan="5"><div class="priv_h_bottom2"></div></td>\
- 55. - </tr>\
- 56. - </table>'
- 57. - }));
- 58. - if (cur.flistTooltipRight) {
- 59. - ttHelper.style.marginLeft = '510px';
- 60. - animate(ttHelper, {opacity: 1, marginLeft: 538}, 200);
- 61. - } else {
- 62. - animate(ttHelper, {opacity: 1, marginLeft: -228}, 200);
- 63. - }
- 64. - } else {
- 65. - box.addButton(getLang('global_cancel'), function () {
- 66. - box.hide();
- 67. - }, 'no');
- 68. - }
- 69. - box.addButton(saveLang || getLang('global_save'), function () {
- 70. - var listName = ge('flist_list_name');
- 71. - var listStr = false;
- 72. - if (isVisible(listName)) {
- 73. - listStr = listName.value;
- 74. - if (!listStr) {
- 75. - return notaBene(listName);
- 76. - }
- 77. - placeholderSetup(listName, {back: true});
- 78. - elfocus(listName, 0, listName.value.length);
- 79. - }
- 80. - var list = {}, ids = [];
- 81. - each (friendsData, function () {
- 82. - if (cur.flistSelected[this[0]]) {
- 83. - list[this[0]] = this;
- 84. - ids.push(this[0]);
- 85. - }
- 86. - });
- 87. - if (cur.flistFriendsPrivacy) {
- 88. - ajax.post('al_settings.php', {act: 'hide_friends', hash: hash, ids: ids.join(',')}, {
- 89. - onDone: function(control, rules) {
- 90. - showDoneBox(cur.flistFriendsPrivacyText);
- 91. - box.hide();
- 92. - },
- 93. - showProgress: box.showProgress,
- 94. - hiderogress: box.hideProgress
- 95. - });
- 96. - showDoneBox(cur.flistFriendsPrivacyText, {out: 4000});
- 97. - if (cur.flistNavReload) setTimeout(function() {nav.reload();}, 2000);
- 98. - return;
- 99. - }
- 100. -
- 101. - if (cur.onFlistSave) {
- 102. - cur.onFlistSave(ids, list, hash, listStr);
- 103. - }
- 104. -
- 105. - if (!box.leaveOnSave) {
- 106. - box.hide();
- 107. - }
- 108. - });
- 109. -
- 110. - var rInner = ge('flist_right_inner');
- 111. - var rCol = ge('flist_right_col');
- 112. - var rHeight = getSize(rInner)[1];
- 113. - var rColHeight = getSize(rCol)[1];
- 114. - cur.flistScrollbar = new Scrollbar('flist_scroll_wrap', {
- 115. - nomargin: true,
- 116. - right: vk.rtl ? 'auto' : 0,
- 117. - left: !vk.rtl ? 'auto' : 0,
- 118. - more: Privacy.flistMore,
- 119. - onScroll: function(delta) {
- 120. - rCol.scrollTop -= delta;
- 121. - },
- 122. - wheelObj: ge('flist_cont')
- 123. - });
- 124. - addEvent(rCol, 'mousewheel DOMMouseScroll', cur.flistScrollbar.wheel.bind(cur.flistScrollbar));
- 125. -
- 126. - cur.flistAllCont = ge('flist_all_list');
- 127. - cur.flistSelCont = ge('flist_sel_list');
- 128. - cur.flistSearchEl = ge('flist_search');
- 129. -
- 130. - if (cur.flistLimit && cur.flistSelectedCnt >= (cur.flistLimit - 1)) {
- 131. - Privacy.flistFull();
- 132. - }
- 133. -
- 134. - if (cur.flistCountStr && cur.flistSelectedCnt > 0) {
- 135. - ge('flist_sel_summary').innerHTML = langNumeric(cur.flistSelectedCnt, cur.flistCountStr);
- 136. - }
- 137. -
- 138. -
- 139. - return false;
- 140. - },
- 141. - flistMore: function() {
- 142. - var lim = cur.flistShown + 60;
- 143. - while(cur.flistShown < lim && Privacy.flistShowOne(cur.flistList[cur.flistShown + 1])) {
- 144. - ++cur.flistShown;
- 145. - }
- 146. - setTimeout(function() {
- 147. - cur.flistScrollbar.update();
- 148. - }, 10);
- 149. - },
- 150. - flistShowOne: function(u, ins) {
- 151. - if (!u) return false;
- 152. - if (ge('flist_sel_cell' + u[0])) {
- 153. - return true;
- 154. - }
- 155. - if (ge('flist_cell' + u[0])) {
- 156. - show(ge('flist_cell' + u[0]));
- 157. - return true;
- 158. - }
- 159. - var uname = u[1];
- 160. - if (cur.flistSelection) {
- 161. - uname = uname.replace(cur.flistSelection.re, cur.flistSelection.val);
- 162. - }
- 163. - var row = ce('div', {id: 'flist_cell' + u[0], innerHTML: cur.flistTpl.replace('%id%', u[0]).replace('%name%', uname).replace('%photo%', u[2])});
- 164. - if (ins) {
- 165. - cur.flistAllCont.insertBefore(row, cur.flistAllCont.firstChild);
- 166. - } else {
- 167. - cur.flistAllCont.appendChild(row);
- 168. - }
- 169. - return true;
- 170. - },
- 171. - flistSelect: function(id, obj, event) {
- 172. - var el = ge('flist_cell'+id);
- 173. - var cont = obj.parentNode;
- 174. - if (cont.id.slice(0, 9) == 'flist_sel') {
- 175. - re(cont);
- 176. - if (el) {
- 177. - show(el);
- 178. - } else {
- 179. - for (var i in cur.flistList) {
- 180. - if (cur.flistList[i][0] == id) {
- 181. - Privacy.flistShowOne(cur.flistList[i], true);
- 182. - break;
- 183. - }
- 184. - }
- 185. - }
- 186. - cur.flistSelectedCnt--;
- 187. - if (cur.flistSelectedCnt == 0) {
- 188. - show('flist_info');
- 189. - }
- 190. - if (cur.flistLimit && cur.flistSelectedCnt == (cur.flistLimit - 1)) {
- 191. - removeClass(cur.flistAllCont, 'flist_full');
- 192. - }
- 193. - curBox().changed = true;
- 194. - delete cur.flistSelected[id];
- 195. - } else {
- 196. - if (cur.flistLimit && cur.flistSelectedCnt >= cur.flistLimit) {
- 197. - Privacy.flistFull(event || window.event);
- 198. - return false;
- 199. - }
- 200. - var html = val(el);
- 201. - hide(el);
- 202. - cur.flistSelCont.insertBefore(ce('div', {
- 203. - id: 'flist_sel_cell'+id,
- 204. - innerHTML: html
- 205. - }), cur.flistSelCont.firstChild);
- 206. - if (Privacy.flistShowOne(cur.flistList[cur.flistShown + 1])) {
- 207. - ++cur.flistShown;
- 208. - }
- 209. - if (cur.flistSelectedCnt == 0) {
- 210. - hide('flist_info');
- 211. - }
- 212. - cur.flistSelectedCnt++;
- 213. - if (cur.flistLimit && cur.flistSelectedCnt >= cur.flistLimit) {
- 214. - Privacy.flistFull(event || window.event);
- 215. - }
- 216. - cur.flistSelected[id] = true;
- 217. - if (cur.flistSearchStr) {
- 218. - Privacy.flistSearch(false);
- 219. - }
- 220. - }
- 221. - if (cur.flistCountStr) {
- 222. - val('flist_sel_summary', cur.flistSelectedCnt > 0 ? langNumeric(cur.flistSelectedCnt, cur.flistCountStr) : cur.flistNoSelStr);
- 223. - }
- 224. - cur.flistScrollbar.update();
- 225. - return false;
- 226. - },
- 227. - flistFull: function(tooltipEvent) {
- 228. - if (tooltipEvent) {
- 229. - var tt = showTooltip(bodyNode, {
- 230. - text: cur.limitTooltip,
- 231. - className: 'flist_max_size_tt',
- 232. - slideX: -15,
- 233. - shift: [-tooltipEvent.pageX - 5, -tooltipEvent.pageY - 5, 300],
- 234. - nohide: 1,
- 235. - hasover: 1,
- 236. - toup: 1
- 237. - });
- 238. - setTimeout(function() {
- 239. - tooltips.hide(bodyNode);
- 240. - }, 2000);
- 241. - }
- 242. - addClass(cur.flistAllCont, 'flist_full');
- 243. - },
- 244. - flistSearch: function(obj, event) {
- 245. - if (event && event.keyCode < 41 && event.keyCode > 15) {
- 246. - if (event.keyCode == 27) {
- 247. - if (obj.value) {
- 248. - cancelEvent(event);
- 249. - }
- 250. - obj = false;
- 251. - } else {
- 252. - return;
- 253. - }
- 254. - }
- 255. - setTimeout(function() {
- 256. - var str = obj ? obj.value : '';
- 257. - cur.flistSearchStr = str;
- 258. - if (str) {
- 259. - cur.flistList = cur.flistIndex.search(str);
- 260. - cur.flistSelection = {
- 261. - re: new RegExp('('+str.replace(cur.flistIndex.delimiter, '|').replace(/[\/\\\(\)\[\]\{\}\*,]/g, '').replace(/^\||\|$/g, '')+')', 'gi'),
- 262. - val: '<em>$1</em>'
- 263. - };
- 264. - show('flist_search_reset');
- 265. - cur.flistScrollbar.scrollTop(0);
- 266. - } else {
- 267. - cur.flistList = cur.flistFriends;
- 268. - cur.flistSelection = false;
- 269. - hide('flist_search_reset');
- 270. - val(cur.flistSearchEl, '');
- 271. - }
- 272. -
- 273. - if (cur.flistList.length) {
- 274. - cur.flistAllCont.innerHTML = '';
- 275. - cur.flistShown = -1;
- 276. - Privacy.flistMore();
- 277. - } else {
- 278. -
- 279. - }
- 280. - }, 0);
- 281. - },
- 282. - hideFriends: function(key, obj) {
- 283. - var checked = cur.privacy[key][2];
- 284. - showBox('al_friends.php', {act: 'select_friends_box', from: 'friends_privacy', Checked: checked.join(',')}, {stat: ['privacy.js', 'privacy.css', 'indexer.js']});
- 285. - cur.onFlistSave = function(ids, list, hash) {
- 286. - ajax.post('al_settings.php', {act: 'hide_friends', hash: hash, ids: ids.join(',')}, {
- 287. - onDone: function(control, rules) {
- 288. - ge('privacy_'+key+'_hide').innerHTML = control;
- 289. - cur.privacy[key] = rules;
- 290. - if (cur.onPrivacyChanged) cur.onPrivacyChanged(key);
- 291. - }
- 292. - });
- 293. - }
- 294. - },
- 295. -
- 296. - customType: 4,
- 297. - someType: 5,
- 298. - listsType: 6,
- 299. - update: function(key) {
- 300. - var el = ge('privacy_edit_' + key), p = cur.privacy[key], v = p[0];
- 301. - var types = cur.privacy[key + '_types'] || cur.privacy._types;
- 302. - var lists = cur.privacy[key + '_lists'] || cur.privacy._lists || {};
- 303. -
- 304. - if (el) {
- 305. - ge('privacy_header').innerHTML = el.innerHTML = types[v];
- 306. - if (el.nextSibling) {
- 307. - if (v == Privacy.listsType) {
- 308. - var str = [];
- 309. - for (var i in p[2]) {
- 310. - var cat_id = -p[2][i], color = (cat_id - 1) % 8 + 1;
- 311. - str.push('<a href="/friends?section=list' + cat_id + '" class="group' + color + '">' + lists[cat_id] + '</a>');
- 312. - }
- 313. - el.nextSibling.innerHTML = (str.length ? ': ' : '') + str.join(', ');
- 314. - } else {
- 315. - el.nextSibling.innerHTML = '';
- 316. - }
- 317. - }
- 318. - }
- 319. -
- 320. - if (cur.onPrivacyChanged) cur.onPrivacyChanged(key);
- 321. - },
- 322. - someSaved: function(key, ids, list, plain) {
- 323. - cur.privacy[key] = [Privacy.someType, 0, ids, []];
- 324. -
- 325. - var count = ids.length, str = [];
- 326. - for (var i = 0; i < count && i < 5; ++i) {
- 327. - var id = ids[i], mem = plain ? list[i] : list[id], shortname = mem[4].replace(/'/g, '');
- 328. - str.push('<a href="/' + (shortname ? shortname : ('id' + id)) + '" onclick="return nav.go(this, event)">' + mem[1] + '</a>');
- 329. - }
- 330. - str = str.join(', ');
- 331. - if (count > 5) {
- 332. - str += ' ' + getLang('privacy_N_friends_some', count - 5);
- 333. - }
- 334. -
- 335. - var el = ge('privacy_edit_' + key);
- 336. - var types = cur.privacy[key + '_types'] || cur.privacy._types;
- 337. - el.innerHTML = types[Privacy.someType];
- 338. - el.nextSibling.innerHTML = ': ' + str;
- 339. -
- 340. - if (cur.onPrivacyChanged) cur.onPrivacyChanged(key);
- 341. - },
- 342. - customSaved: function(key, np, plus, minus) {
- 343. - cur.privacy[key] = np;
- 344. - if (np[1] == 1 && !np[3].length || np[0] == Privacy.listsType) {
- 345. - Privacy.update(key);
- 346. - } else if (np[0] == Privacy.someType) {
- 347. - Privacy.someSaved(key, np[2], plus, true);
- 348. - } else { // save here
- 349. - var el = ge('privacy_edit_' + key);
- 350. - var types = cur.privacy[key + '_types'] || cur.privacy._types;
- 351. - var lists = cur.privacy[key + '_lists'] || cur.privacy._lists || {};
- 352. -
- 353. - var label = types[Privacy.listsType], str = '';
- 354. - if (np[1] == 1) {
- 355. - label = types[np[2][0]];
- 356. - } else {
- 357. - str = [];
- 358. - var count = plus.length, hasUser = false;
- 359. - for (var i = 0; i < count && i < 5; ++i) {
- 360. - var mem = plus[i], id = mem[0];
- 361. - if (id > 0) {
- 362. - var shortname = mem[4].replace(/'/g, '');
- 363. - hasUser = true;
- 364. - str.push('<a href="/' + (shortname ? shortname : ('id' + id)) + '" onclick="return nav.go(this, event)">' + mem[5] + '</a>');
- 365. - } else {
- 366. - var cat_id = -id, color = (cat_id - 1) % 8 + 1;
- 367. - str.push('<a href="/friends?section=list' + cat_id + '" class="group' + color + '">' + lists[cat_id] + '</a>');
- 368. - }
- 369. - }
- 370. - if (hasUser) {
- 371. - label = types[Privacy.someType];
- 372. - }
- 373. - str = ': ' + str.join(', ');
- 374. - if (count > 5) {
- 375. - str += ' ' + getLang('privacy_N_friends_some', count - 5);
- 376. - }
- 377. - }
- 378. - if (minus.length) {
- 379. - var count = minus.length, mstr = [];
- 380. - for (var i = 0; i < count && i < 5; ++i) {
- 381. - var mem = minus[i], id = mem[0];
- 382. - if (id > 0) {
- 383. - var shortname = mem[4].replace(/'/g, '');
- 384. - mstr.push('<a href="/' + (shortname ? shortname : ('id' + id)) + '" onclick="return nav.go(this, event)">' + mem[6] + '</a>');
- 385. - } else {
- 386. - var cat_id = -id, color = (cat_id - 1) % 8 + 1;
- 387. - mstr.push('<a href="/friends?section=list' + cat_id + '" class="group' + color + '">' + lists[cat_id] + '</a>');
- 388. - }
- 389. - }
- 390. - str += ', ' + getLang('global_privacy_except') + ' ' + mstr.join(', ');
- 391. - if (count > 5) {
- 392. - str += ' ' + getLang('privacy_N_friends_more', count - 5);
- 393. - }
- 394. - }
- 395. - el.innerHTML = label;
- 396. - el.nextSibling.innerHTML = str;
- 397. -
- 398. - if (cur.onPrivacyChanged) cur.onPrivacyChanged(key);
- 399. - }
- 400. - },
- 401. - choose: function(ev, val, list) {
- 402. - var key = cur.privSel, p = cur.privacy[key], noselect = (cur.privacy._noselect || key == 'chat_actions');
- 403. - if (noselect) {
- 404. - if (cur.onPrivacyChanged) cur.onPrivacyChanged(key, val, list);
- 405. - Privacy.qhide();
- 406. - return cancelEvent(ev);
- 407. - }
- 408. - if (val == Privacy.customType) {
- 409. - var type, plus, minus = [], opt = '';
- 410. - if (p[0] == Privacy.customType) {
- 411. - type = p[1];
- 412. - plus = p[2];
- 413. - minus = p[3];
- 414. - } else if (p[0] == Privacy.someType || p[0] == Privacy.listsType) {
- 415. - type = 0;
- 416. - plus = p[2];
- 417. - } else {
- 418. - type = 1;
- 419. - plus = p[2];
- 420. - }
- 421. - cur.onCprivSave = Privacy.customSaved.pbind(key);
- 422. - if (cur.privacy.custom_box_type) {
- 423. - opt = cur.privacy.custom_box_type;
- 424. - } else if (key == 'apps_invite' || key == 'videocalls') {
- 425. - opt = 'fronly';
- 426. - } else if (key == 'hidden_friends') {
- 427. - opt = 'hidden_friends';
- 428. - }
- 429. - return showBox('al_friends.php', {act: 'custom_privacy_box', type: type, plus: plus.join(','), minus: minus.join(','), opt: opt}, {stat: ['ui_controls.js', 'ui_controls.css'], dark: 1});
- 430. - } else if (val == Privacy.someType) {
- 431. - var checked = (p[0] == Privacy.someType || p[0] == Privacy.complexType && p[1] == 0) ? p[2].join(',') : '';
- 432. - cur.onFlistSave = function (ids, list) {
- 433. - Privacy.someSaved(key, ids, list);
- 434. - }
- 435. - return showTabbedBox('al_friends.php', {act: 'select_friends_box', Checked: checked}, {stat: ['ui_controls.js']});
- 436. - } else if (val == Privacy.listsType) {
- 437. - var el = ge('privacy_l_item' + list);
- 438. - if (el.className == 'l_item_sel') {
- 439. - el.className = 'l_item';
- 440. - var ind = indexOf(p[2], -list);
- 441. - if (ind != -1) {
- 442. - p[2].splice(ind, 1);
- 443. - }
- 444. - if (!p[2].length && key != 'updates') { // sorry, dirty hack
- 445. - cur.privacy[key] = [0, 1, [0], []];
- 446. - }
- 447. - } else {
- 448. - el.className = 'l_item_sel';
- 449. - if (p[0] != val) {
- 450. - p = cur.privacy[key] = [val, 0, [], []];
- 451. - }
- 452. - p[2].push(-list);
- 453. - }
- 454. - Privacy.update(key);
- 455. - return cancelEvent(ev);
- 456. - }
- 457. - cur.privacy[key] = [val, 1, [val], []];
- 458. - Privacy.update(key);
- 459. - Privacy.qhide();
- 460. - },
- 461. - select: function(val, force) {
- 462. - if (!force && val === cur.privSelIndex) return;
- 463. - if (cur.privSelIndex !== false) {
- 464. - var el = ge('privacy_item' + cur.privSelIndex);
- 465. - if (el) el.className = 'item';
- 466. - if (cur.privSelIndex == Privacy.listsType && cur.privacy[cur.privSel][0] != Privacy.listsType) {
- 467. - if (Privacy.toup) {
- 468. - hide(el.previousSibling);
- 469. - setStyle(cur.privEl, {top: cur.privFromY - getSize(cur.privEl)[1]});
- 470. - } else {
- 471. - hide(el.nextSibling);
- 472. - }
- 473. - }
- 474. - }
- 475. - cur.privSelIndex = val;
- 476. - var el = ge('privacy_item' + cur.privSelIndex), add = (cur.privSelIndex == Privacy.someType) ? '_plus' : '';
- 477. - if (el.nextSibling && el.nextSibling.id == 'privacy_item' + Privacy.listsType && isVisible(el.nextSibling.nextSibling)) {
- 478. - el.className = 'last item_sel' + add;
- 479. - } else {
- 480. - if (val == Privacy.listsType) {
- 481. - if (Privacy.toup) {
- 482. - show(el.previousSibling);
- 483. - setStyle(cur.privEl, {top: cur.privFromY - getSize(cur.privEl)[1]});
- 484. - } else {
- 485. - show(el.nextSibling);
- 486. - }
- 487. - } else {
- 488. - el.className = 'item_sel' + add;
- 489. - }
- 490. - }
- 491. - },
- 492. - unselect: function(val) {
- 493. - if (val != cur.privSelIndex) return;
- 494. - ge('privacy_item' + val).className = 'item';
- 495. - cur.privSelIndex = false;
- 496. - },
- 497. - hide: function(timeout) {
- 498. - if (timeout > 0) {
- 499. - cur.hidePrivacyTimer = setTimeout(Privacy.hide.pbind(0), timeout);
- 500. - return;
- 501. - }
- 502. - clearTimeout(cur.hidePrivacyTimer);
- 503. - if (timeout == -1) {
- 504. - hide(cur.privEl, cur.privHelper);
- 505. - } else if (isVisible) {
- 506. - fadeOut(cur.privEl, 200);
- 507. - if (cur.privHelper) {
- 508. - fadeOut(cur.privHelper, 200);
- 509. - }
- 510. - }
- 511. - cur.privSel = cur.privSelIndex = false;
- 512. - removeEvent(document, 'click', Privacy.qhide);
- 513. - },
- 514. - show: function(el, ev, key, delta) {
- 515. - var p = cur.privacy[key], noselect = (key.indexOf('actions') != -1);
- 516. - if (!p) return;
- 517. -
- 518. - if (!cur.privEl) {
- 519. - if (cur.privEl = ge('privacy_dropdown')) {
- 520. - cur.privRows = cur.privEl.firstChild.rows[1].cells[1].firstChild;
- 521. - }
- 522. - }
- 523. - if (!cur.privEl) {
- 524. - cur.privEl = bodyNode.appendChild(ce('div', {id: 'privacy_dropdown', innerHTML: '\
- 525. - <table cellspacing="0" cellpadding="0">\
- 526. - <tr class="top_sh">\
- 527. - <td colspan="3">\
- 528. - <div class="bottom2"></div><div class="bottom"></div>\
- 529. - </td>\
- 530. - <tr>\
- 531. - <td class="side"><div></div></td>\
- 532. - <td><div class="rows"></div></td>\
- 533. - <td class="side"><div></div></td>\
- 534. - </tr>\
- 535. - <tr class="bottom_sh">\
- 536. - <td colspan="3">\
- 537. - <div class="bottom"></div><div class="bottom2"></div>\
- 538. - </td>\
- 539. - </tr>\
- 540. - </table>'}));
- 541. - cur.privRows = cur.privEl.firstChild.rows[1].cells[1].firstChild;
- 542. - addEvent(cur.privEl, 'mouseout', Privacy.hide.pbind(500));
- 543. - addEvent(cur.privEl, 'mouseover', function() { clearTimeout(cur.hidePrivacyTimer); });
- 544. - }
- 545. - setTimeout(addEvent.pbind(document, 'click', Privacy.qhide), 1);
- 546. -
- 547. - var types = cur.privacy[key + '_types'] || cur.privacy._types;
- 548. - var lists = cur.privacy[key + '_lists'] || cur.privacy._lists || {};
- 549. - var hidden = cur.privacy[key + '_hidden'] || cur.privacy._hidden || {};
- 550. - var fontSize = getStyle(el, 'fontSize') || vk.fs;
- 551. - setStyle(cur.privRows, {fontSize: fontSize});
- 552. -
- 553. - cur.privSelIndex = p[0];
- 554. - if (hidden[cur.privSelIndex]) { cur.privSelIndex = 0; }
- 555. -
- 556. - var html = [], sel, handlers, hasLists = false;
- 557. - for (var i in lists) {
- 558. - hasLists = true; break;
- 559. - }
- 560. - html.push('<div class="header" onclick="Privacy.hide(-1)"><div id="privacy_header">' + el.innerHTML + '</div></div>');
- 561. - html.push('<div class="body">');
- 562. - for (var i in types) {
- 563. - if (hidden[i]) { continue; }
- 564. - sel = (i == cur.privSelIndex && i != Privacy.listsType) ? '_sel' : '';
- 565. - handlers = 'onmouseover="Privacy.select(\'' + i + '\')" onclick="Privacy.choose(event, \'' + i + '\')"';
- 566. - if (i == Privacy.listsType) {
- 567. - if (!hasLists) {
- 568. - continue;
- 569. - }
- 570. - } else {
- 571. - handlers += ' onmouseout="Privacy.unselect(\'' + i + '\')"';
- 572. - }
- 573. - if (sel && i == Privacy.someType) {
- 574. - sel += '_plus';
- 575. - }
- 576. - html.push('<div class="item' + sel + '" id="privacy_item' + i + '" ' + handlers + '>' + types[i] + '</div>');
- 577. - }
- 578. - if (types[Privacy.listsType] && hasLists) {
- 579. - var hideLists = (cur.privSelIndex != Privacy.listsType);
- 580. - html.push('<div id="privacy_lists">');
- 581. - html.push('<div class="l_header" onclick="return cancelEvent(event)"><div>' + types[Privacy.listsType] + '</div></div>');
- 582. - for (var i in lists) {
- 583. - var sel = hideLists ? '' : (inArray(-i, p[2]) ? '_sel' : '');
- 584. - html.push('<div class="l_item' + sel + '" id="privacy_l_item' + i + '" onclick="Privacy.choose(event, ' + Privacy.listsType + ', ' + i + ')"><div class="privacy_item_icon"></div>' + lists[i] + '</div>');
- 585. - }
- 586. - html.push('</div>');
- 587. - }
- 588. - html.push('</div>');
- 589. - cur.privRows.innerHTML = html.join('');
- 590. - cur.privSel = key;
- 591. -
- 592. - var helpText = cur.privacy[key + '_help'], hsz = [0, 0], hw = cur.privacy[key + '_help_w'];
- 593. - if (helpText) {
- 594. - if (!cur.privHelper) {
- 595. - if (cur.privHelper = ge('privacy_helper')) {
- 596. - cur.privHelp = cur.privHelper.firstChild.rows[2].cells[3].firstChild;
- 597. - }
- 598. - }
- 599. - if (!cur.privHelper) {
- 600. - cur.privHelper = bodyNode.appendChild(ce('div', {id: 'privacy_helper', innerHTML: '\
- 601. - <table cellspacing="0" cellpadding="0">\
- 602. - <tr class="priv_h_top_sh">\
- 603. - <td></td>\
- 604. - <td colspan="5"><div class="priv_h_bottom2"></div></td>\
- 605. - </tr>\
- 606. - <tr class="priv_h_top_sh">\
- 607. - <td></td>\
- 608. - <td class="priv_h_side_td2"><div class="priv_h_side"></div></td>\
- 609. - <td colspan="3"><div class="priv_h_bottom"></div></td>\
- 610. - <td class="priv_h_side_td2"><div class="priv_h_side"></div></td>\
- 611. - </tr>\
- 612. - <tr>\
- 613. - <td class="priv_h_arrow_td"><div class="priv_h_arrow"><img src="/images/ddtooltip'+(window.devicePixelRatio >= 2 ? '_2x' : '')+'.png" width="16" height="11" class="priv_h_arrow_img png" /></div></td>\
- 614. - <td class="priv_h_side_td2"><div class="priv_h_side"></div></td>\
- 615. - <td class="priv_h_side_td"><div class="priv_h_side"></div></td>\
- 616. - <td><div class="priv_h_rows"' + (hw ? ' style="width: ' + hw + 'px"' : '') + '></div></td>\
- 617. - <td class="priv_h_side_td"><div class="priv_h_side"></div></td>\
- 618. - <td class="priv_h_side_td2"><div class="priv_h_side"></div></td>\
- 619. - </tr>\
- 620. - <tr class="priv_h_bottom_sh">\
- 621. - <td></td>\
- 622. - <td class="priv_h_side_td2"><div class="priv_h_side"></div></td>\
- 623. - <td colspan="3"><div class="priv_h_bottom"></div></td>\
- 624. - <td class="priv_h_side_td2"><div class="priv_h_side"></div></td>\
- 625. - </tr>\
- 626. - <tr class="priv_h_bottom_sh">\
- 627. - <td></td>\
- 628. - <td colspan="5"><div class="priv_h_bottom2"></div></td>\
- 629. - </tr>\
- 630. - </table>'}));
- 631. - cur.privHelp = cur.privHelper.firstChild.rows[2].cells[3].firstChild;
- 632. - addEvent(cur.privHelper, 'mouseout', Privacy.hide.pbind(500));
- 633. - addEvent(cur.privHelper, 'mouseover', function() { clearTimeout(cur.hidePrivacyTimer); });
- 634. - }
- 635. - cur.privHelp.innerHTML = helpText;
- 636. -
- 637. - var tw = data(cur.privHelper, 'tween');
- 638. - if (tw) tw.stop(true);
- 639. - //show(cur.privHelper);
- 640. -
- 641. - var hsz = getSize(cur.privHelper);
- 642. - }
- 643. - var tw = data(cur.privEl, 'tween');
- 644. - if (tw) tw.stop(true);
- 645. - show(cur.privEl);
- 646. -
- 647. - var isFixed = false, pel = el;
- 648. - while (pel) {
- 649. - if (getStyle(pel, 'position') == 'fixed') {
- 650. - isFixed = true;
- 651. - break;
- 652. - }
- 653. - pel = pel.offsetParent;
- 654. - }
- 655. - cur.privEl.className = 'privacy_dropdown_' + key;
- 656. - if (isFixed) {
- 657. - addClass(cur.privEl, 'fixed');
- 658. - setStyle(cur.privEl, {position: ''});
- 659. - addClass(cur.privHelper, 'fixed');
- 660. - setStyle(cur.privHelper, {position: ''});
- 661. - } else {
- 662. - removeClass(cur.privEl, 'fixed');
- 663. - setStyle(cur.privEl, {position: 'absolute'});
- 664. - removeClass(cur.privHelper, 'fixed');
- 665. - setStyle(cur.privHelper, {position: 'absolute'});
- 666. - }
- 667. -
- 668. - var sz = getSize(cur.privEl), h = Math.max(sz[1], hsz[1])
- 669. - if (types[Privacy.listsType] && hideLists) {
- 670. - hide('privacy_lists');
- 671. - }
- 672. -
- 673. - if (delta === undefined) {
- 674. - delta = isFixed ? [0, 0] : [-1, -1];
- 675. - }
- 676. - var xy = getXY(el, isFixed), dx = 7 + delta[0], dy = 3 + delta[1];
- 677. - if ((browser.msie || browser.opera) && !isFixed) {
- 678. - dx += 1;
- 679. - dy += 1;
- 680. - }
- 681. -
- 682. - var y = xy[1] - dy - ((browser.msie6 || isFixed) ? 0 : scrollNode.scrollTop);
- 683. - Privacy.toup = false;
- 684. - if (y - h > 0) {
- 685. - if (y + h > lastWindowHeight) {
- 686. - Privacy.toup = true;
- 687. -
- 688. - var r = cur.privRows;
- 689. - r.appendChild(r.firstChild);
- 690. -
- 691. - var b = r.firstChild;
- 692. - for (var e = b.firstChild, t = false; e.nextSibling && e.nextSibling != t; e = b.firstChild) {
- 693. - if (t) {
- 694. - t = b.insertBefore(e, t);
- 695. - } else {
- 696. - t = b.appendChild(e);
- 697. - }
- 698. - }
- 699. -
- 700. - var l = b.firstChild;
- 701. - if (l.id == 'privacy_lists') {
- 702. - for (var e = l.firstChild, t = false; e.nextSibling && e.nextSibling != t; e = l.firstChild) {
- 703. - if (t) {
- 704. - t = l.insertBefore(e, t);
- 705. - } else {
- 706. - t = l.appendChild(e);
- 707. - }
- 708. - }
- 709. - }
- 710. - sz = getSize(cur.privEl);
- 711. - }
- 712. - }
- 713. -
- 714. - if (vk.rtl) {
- 715. - var sz1 = getSize(el);
- 716. - xy[0] -= sz[0] - sz1[0];
- 717. - dx = -8;
- 718. - }
- 719. -
- 720. - bodyNode.appendChild(cur.privEl);
- 721. - if (Privacy.toup) {
- 722. - cur.privEl.firstChild.className = 'to_up';
- 723. - dy -= 1;
- 724. - cur.privFromY = xy[1] + getSize(cur.privRows.lastChild)[1] - dy;
- 725. - setStyle(cur.privEl, {left: xy[0] - dx, top: cur.privFromY - sz[1]});
- 726. - } else {
- 727. - cur.privEl.firstChild.className = '';
- 728. - setStyle(cur.privEl, {left: xy[0] - dx, top: xy[1] - dy});
- 729. - }
- 730. -
- 731. - if (helpText) {
- 732. - var hx = (xy[0] - dx) + (vk.rtl ? (-hsz[0]) : sz[0]), hy = 0;
- 733. - if (Privacy.toup) {
- 734. - cur.privHelper.firstChild.className = 'to_up';
- 735. - hy = cur.privFromY - hsz[1];
- 736. - } else {
- 737. - cur.privHelper.firstChild.className = '';
- 738. - hy = xy[1] - dy;
- 739. - }
- 740. - setStyle(cur.privHelper, {left: hx + 15, top: hy});
- 741. - animate(cur.privHelper, {opacity: 1, left: hx}, 200);
- 742. - } else {
- 743. - hide(cur.privHelper);
- 744. - }
- 745. -
- 746. - return cancelEvent(ev);
- 747. - },
- 748. - getValue: function(key) {
- 749. - var p = cur.privacy[key], res = [];
- 750. - if (p[0] < Privacy.customType) {
- 751. - res = [p[0]];
- 752. - } else if (p[0] == Privacy.someType) {
- 753. - res = [4, p[2].join(',')];
- 754. - } else if (p[0] == Privacy.listsType) {
- 755. - var l = [];
- 756. - for (var i in p[2]) {
- 757. - l.push(-p[2][i]);
- 758. - }
- 759. - res = [5, l.join(',')];
- 760. - } else {
- 761. - res = [-1, p[1], p[2].join(','), p[3].join(',')];
- 762. - }
- 763. - return res.join('_');
- 764. - }
- 765. - }
- 766. -
- 767. - Privacy.qhide = Privacy.hide.pbind(-1);
- 768. -
- 769. - function OList (box, owners, selected, options) {
- 770. - if (selected.length === 0) selected = {};
- 771. - options = options || {};
- 772. - // this.indexer = new Indexer(owners); // Requires ui_controls for indexer
- 773. - this.indexer = new vkIndexer(owners, options.getName ? options.getName : function(owner) {
- 774. - return owner[1];
- 775. - });
- 776. - this.owners = owners;
- 777. - this.tpl = options.tpl;
- 778. - this.rsTpl = options.rsTpl;
- 779. - this.idIndex = options.idIndex || 0;
- 780. - this.selected = selected;
- 781. - this.getUnsorted = options.getUnsorted;
- 782. - this.unsortedIndex = options.unsortedIndex || 0;
- 783. - this.box = box;
- 784. - this.nofocus = options.nofocus;
- 785. - if (options.onTabUpdate) {
- 786. - this.onTabUpdate = options.onTabUpdate;
- 787. - }
- 788. - if (box.tabContent) {
- 789. - addClass(box.tabContent.parentNode, 'has_sh');
- 790. - }
- 791. -
- 792. - box.removeButtons();
- 793. - box.addButton(getLang('global_cancel'), function () {
- 794. - if (cur.onOListCancel && cur.onOListCancel(options.ret || {}) === false) {
- 795. - return;
- 796. - }
- 797. - box.hide(200);
- 798. - }, 'no');
- 799. - box.addButton(options['save_lang'] || getLang('global_save'), function () {
- 800. - var list = {}, ids = [], inv = [];
- 801. - each (owners, function () {
- 802. - if (!self.invertedSelection && self.selected[this[self.idIndex]] || self.invertedSelection && !self.selected[this[self.idIndex]]) {
- 803. - list[this[self.idIndex]] = this;
- 804. - ids.push(this[self.idIndex]);
- 805. - } else {
- 806. - inv.push(this[self.idIndex])
- 807. - }
- 808. - });
- 809. - if (cur.onOListSave(ids, inv, list, options.ret || {}) !== false) {
- 810. - box.hide(200);
- 811. - }
- 812. - });
- 813. - if (options['box_options']) {
- 814. - box.setOptions(options['box_options']);
- 815. - }
- 816. -
- 817. - var self = this;
- 818. - var tabsEl = geByClass1('summary_tabs', box.bodyNode);
- 819. - var actionsWrap = geByClass1('olist_actions', box.bodyNode, 'div');
- 820. - var selButton = geByTag1('button', box.bodyNode);
- 821. - this.scrolNode = geByClass1('privacy_olist', box.bodyNode);
- 822. - this.moreEl = geByClass1('olist_more', box.bodyNode, 'a');
- 823. - this.olistEl = geByClass1('olist', box.bodyNode, 'div');
- 824. - this.selCnt = intval(val('olist_selected'));
- 825. - this.sel = options.sel || 0;
- 826. - this.noSelMsg = options.noSelMsg || getLang('friends_no_user_selected');
- 827. - this.invertedSelection = false;
- 828. -
- 829. - var filter = this.filter = geByClass1('olist_filter', box.bodyNode, 'input');
- 830. - var filterWrap = filter.parentNode;
- 831. - placeholderSetup(filter, {back: 1});
- 832. - if (!options.nofocus) {
- 833. - setTimeout(elfocus.pbind(filter), 100);
- 834. - }
- 835. -
- 836. - if (this.moreEl) {
- 837. - if (!isVisible(this.moreEl)) {
- 838. - re(this.moreEl);
- 839. - show(this.moreEl);
- 840. - } else {
- 841. - this.moreEl.onclick = function (event) {
- 842. - self.renderList('', 60);
- 843. - return cancelEvent(event);
- 844. - }
- 845. - }
- 846. - }
- 847. -
- 848. - var actMenuOptions = [], selMenuOptions = [], selTitle = '';
- 849. - each (options.actions_menu, function () {
- 850. - var menuItem = {i: this[0], l: this[1]};
- 851. - if (!this[0]) {
- 852. - menuItem.onMouseOver = function () {
- 853. - self.olistSelectMenu.options.target = this;
- 854. - self.olistSelectMenu.moveToTarget();
- 855. - setStyle(self.olistSelectMenu.header, {width: getSize(this)[0]});
- 856. - setStyle(self.olistSelectMenu.rows, {minWidth: getSize(this)[0]});
- 857. - if (browser.msie) {
- 858. - setStyle(self.olistSelectMenu.rows, {width: getSize(this)[0] + 20});
- 859. - }
- 860. - self.olistSelectMenu.show();
- 861. - }
- 862. - menuItem.onClick = function () {return false;}
- 863. - selTitle = this[1];
- 864. - }
- 865. - actMenuOptions.push(menuItem);
- 866. - });
- 867. - each (options.selection_menu, function () {
- 868. - var menuItem = {i: this[0], l: this[1]};
- 869. - selMenuOptions.push(menuItem);
- 870. - });
- 871. - this.olistActionsMenu = new DropdownMenu(actMenuOptions, {
- 872. - target: selButton,
- 873. - containerClass: 'dd_menu_olist_act',
- 874. - title: '<span class="olist_dd_over"></span>',
- 875. - updateTarget: false,
- 876. - offsetLeft: 0,
- 877. - offsetTop: 0,
- 878. - showHover: false,
- 879. - fadeSpeed: 0,
- 880. - onSelect: this.selMenuOnSelect.bind(this)
- 881. - });
- 882. -
- 883. - this.olistSelectMenu = new DropdownMenu(selMenuOptions, {
- 884. - parentMenu: this.olistActionsMenu,
- 885. - showHover: false,
- 886. - updateTarget: false,
- 887. - title: selTitle,
- 888. - offsetLeft: 0,
- 889. - offsetTop: 1,
- 890. - fadeSpeed: 0,
- 891. - containerClass: 'dd_menu_nested dd_menu_olist_sel',
- 892. - onSelect: this.selMenuOnSelect.bind(this)
- 893. - });
- 894. -
- 895. - addEvent(filter, 'keyup', function (e) {
- 896. - self.renderList(clean(val(this)));
- 897. - });
- 898. - addEvent(this.olistEl, 'click mouseover mouseout', this.onMouseEvent.bind(this));
- 899. - addEvent(this.scrolNode, 'scroll', this.onScroll.bind(this));
- 900. -
- 901. - if (options.ignored) {
- 902. - // this.ignoredIndexer = new Indexer(options.ignored);
- 903. - this.ignoredIndexer = new vkIndexer(options.ignored, options.getName ? options.getName : function(owner) {
- 904. - return owner[1];
- 905. - });
- 906. - this.ignoredOwners = options.ignored;
- 907. - this.ignoredTpl = options.ignored_tpl;
- 908. - this.ignoredSelected = {};
- 909. - this.ignoredCnt = options.ignored.length;
- 910. - }
- 911. -
- 912. - (cur.onOListTabChange = function (tab) {
- 913. - self.sel = tab;
- 914. - toggle(tabsEl, tab != 2);
- 915. - if (tab == 2) {
- 916. - if (filterWrap.nextSibling != tabsEl) {
- 917. - tabsEl.parentNode.insertBefore(filterWrap, tabsEl);
- 918. - }
- 919. - } else {
- 920. - if (filterWrap.parentNode != actionsWrap) {
- 921. - actionsWrap.appendChild(filterWrap);
- 922. - }
- 923. - }
- 924. - toggleClass(filterWrap, 'fl_l', tab != 2);
- 925. - toggleClass(actionsWrap, 'olist_ignored_actions', tab == 2);
- 926. - toggleClass(self.olistEl, 'olist_ignored', tab == 2);
- 927. - if (options.ignored) {
- 928. - box.setControlsText(tab == 2 ? options.ignored_return_link : options.ignored_link.replace('%s', self.ignoredCnt));
- 929. - }
- 930. - self.renderList(val(filter), 0, tab);
- 931. - if (!options.nofocus) {
- 932. - setTimeout(elfocus.pbind(filter), 100);
- 933. - }
- 934. - })(self.sel);
- 935. -
- 936. - }
- 937. - extend(OList.prototype, {
- 938. - onScroll: function () {
- 939. - if (!this.moreEl || !this.moreEl.offsetTop || !this.moreEl.onclick) {
- 940. - return;
- 941. - }
- 942. - var y = this.moreEl.offsetTop,
- 943. - sh = this.scrolNode.scrollHeight,
- 944. - st = this.scrolNode.scrollTop,
- 945. - h = this.scrolNode.offsetHeight || this.scrolNode.clientHeight;
- 946. -
- 947. - if (st + h + 100 >= y) {
- 948. - this.moreEl.onclick();
- 949. - }
- 950. - },
- 951. - onMouseEvent: function (event) {
- 952. - var target = event.originalTarget || event.target;
- 953. - while (target && target != bodyNode && (!target.className || target.className.indexOf('olist_item_wrap') == -1)) {
- 954. - target = target.parentNode;
- 955. - }
- 956. - if (!target || target == bodyNode) return;
- 957. - if (hasClass(target, 'olist_item_loading')) {
- 958. - return cancelEvent(event);
- 959. - }
- 960. - if (event.type == 'mouseover' || event.type == 'mouseout') {
- 961. - if (!hasClass(target, 'olist_item_wrap_on'))
- 962. - target.className = 'olist_item_wrap' + (event.type == 'mouseover' ? '_over' : '');
- 963. - } else {
- 964. - if (checkEvent(event)) return true;
- 965. - this.box.changed = true;
- 966. - var id = target.id.match(/-?\d+/)[0];
- 967. - if (this.sel == 2) {
- 968. - this.ignoreOnClick(target, id);
- 969. - } else {
- 970. - var checked = !this.invertedSelection && this.selected[id] || this.invertedSelection && !this.selected[id];
- 971. - target.className = !checked ? 'olist_item_wrap_on' : 'olist_item_wrap_over';
- 972. - this.selected[id] = !checked || this.invertedSelection;
- 973. - this.selCnt += !checked || this.invertedSelection ? 1 : -1;
- 974. - this.selTabUpdate();
- 975. - }
- 976. - if (!this.nofocus && this.scrolNode.scrollTop < 50) {
- 977. - var filter = this.filter;
- 978. - setTimeout(function () {
- 979. - elfocus(filter);
- 980. - if (val(filter).length) {
- 981. - filter.select();
- 982. - }
- 983. - }, 100);
- 984. - }
- 985. -
- 986. - return cancelEvent(event);
- 987. - }
- 988. - },
- 989. - selMenuOnSelect: function (event) {
- 990. - this.olistActionsMenu.hide(false);
- 991. - this.olistSelectMenu.hide(false);
- 992. - var k = event.target.index,
- 993. - selCnt = this.selCnt,
- 994. - selected = this.selected;
- 995. -
- 996. - if (!event.ctrlKey && !event.metaKey && !event.shiftKey) {
- 997. - selected = {};
- 998. - selCnt = 0;
- 999. - }
- 1000. -
- 1001. - switch (k) {
- 1002. - case -1:
- 1003. - selected = {};
- 1004. - selCnt = 0;
- 1005. - each (this.owners, function () {
- 1006. - selected[this[0]] = 1;
- 1007. - selCnt++;
- 1008. - });
- 1009. - break;
- 1010. -
- 1011. - case -2: // None
- 1012. - selected = {};
- 1013. - selCnt = 0;
- 1014. - break;
- 1015. -
- 1016. - case -3:
- 1017. - each (this.owners, function () {
- 1018. - if (this[0] > 0 && !selected[this[0]]) {
- 1019. - selected[this[0]] = 1;
- 1020. - selCnt++;
- 1021. - }
- 1022. - });
- 1023. - break;
- 1024. -
- 1025. - case -4:
- 1026. - each (this.owners, function () {
- 1027. - if (this[0] < 0 && !selected[this[0]]) {
- 1028. - selected[this[0]] = 1;
- 1029. - selCnt++;
- 1030. - }
- 1031. - });
- 1032. - break;
- 1033. -
- 1034. - default:
- 1035. - var mask = (1 << k);
- 1036. - each (this.owners, function () {
- 1037. - if ((this[4] & mask) && !selected[this[0]]) {
- 1038. - selected[this[0]] = 1;
- 1039. - selCnt++;
- 1040. - }
- 1041. - });
- 1042. - }
- 1043. -
- 1044. - this.selCnt = selCnt;
- 1045. - this.selected = selected;
- 1046. - this.selTabUpdate();
- 1047. - this.renderList();
- 1048. - return false;
- 1049. - },
- 1050. - selTabUpdate: function () {
- 1051. - var cnt1 = this.selCnt, cnt2 = this.owners.length - cnt1;
- 1052. - val('olist_selected', cnt1);
- 1053. - val('olist_unselected', cnt2);
- 1054. - toggle('olist_selected', cnt1 > 0);
- 1055. - toggle('olist_unselected', cnt2 > 0);
- 1056. - if (this.onTabUpdate) {
- 1057. - this.onTabUpdate();
- 1058. - }
- 1059. - },
- 1060. - ignoreOnClick: function (target, id) {
- 1061. - var self = this,
- 1062. - hash = false;
- 1063. -
- 1064. - var checked = !this.invertedSelection && this.ignoredSelected[id] || this.invertedSelection && !this.ignoredSelected[id];
- 1065. - each (this.ignoredOwners, function () {
- 1066. - if (this[0] == id) {
- 1067. - hash = this[4];
- 1068. - return false;
- 1069. - }
- 1070. - });
- 1071. - ajax.post('/al_feed.php?misc', {act: checked ? 'a_ignore_owner' : 'a_unignore_owner', owner_id: id, hash: hash}, {
- 1072. - onDone: function () {
- 1073. - target.className = !checked ? 'olist_item_wrap_on' : 'olist_item_wrap_over';
- 1074. - self.ignoredSelected[id] = !checked || self.invertedSelection;
- 1075. - self.ignoredCnt += !checked || self.invertedSelection ? -1 : 1;
- 1076. - val('olist_blacklisted', self.ignoredCnt);
- 1077. - toggle('olist_blacklisted', self.ignoredCnt);
- 1078. - },
- 1079. - showProgress: function () {
- 1080. - addClass(target, 'olist_item_loading');
- 1081. - },
- 1082. - hideProgress: function () {
- 1083. - removeClass(target, 'olist_item_loading');
- 1084. - }
- 1085. - });
- 1086. - },
- 1087. - renderList: function (pattern, offset, sel) {
- 1088. - offset = offset || 0;
- 1089. - sel = sel || this.sel;
- 1090. - var slice, selected, tpl,
- 1091. - limit = offset ? 60 : 120,
- 1092. - self = this;
- 1093. -
- 1094. - if (pattern) {
- 1095. - pattern = pattern.replace(/\u2013|\u2014/g, '-');
- 1096. - }
- 1097. - if (sel == 2) {
- 1098. - slice = pattern ? this.ignoredIndexer.search(pattern) : this.ignoredOwners;
- 1099. - selected = this.ignoredSelected;
- 1100. - tpl = self.ignoredTpl;
- 1101. - } else {
- 1102. - slice = pattern ? this.indexer.search(pattern) : this.owners;
- 1103. - if (self.unsortedIndex == sel && self.getUnsorted) {
- 1104. - slice = self.getUnsorted(slice);
- 1105. - }
- 1106. - selected = this.selected;
- 1107. - var inverted = self.invertedSelection ? !(this.sel < 0) : (this.sel < 0);
- 1108. - tpl = self.tpl;
- 1109. - if (sel && self.unsortedIndex != sel) {
- 1110. - var sel_slice = [];
- 1111. - each (slice, function () {
- 1112. - var id = this[self.idIndex];
- 1113. - if (!inverted && selected[id] || inverted && !selected[id]) {
- 1114. - sel_slice.push(this);
- 1115. - if (sel_slice.length > offset + limit) {
- 1116. - return false;
- 1117. - }
- 1118. - }
- 1119. - });
- 1120. - slice = sel_slice;
- 1121. - }
- 1122. - }
- 1123. - var total = slice.length;
- 1124. - slice = slice.slice(offset, offset + limit);
- 1125. - var html = [];
- 1126. - if (pattern) {
- 1127. - var term = escapeRE(pattern), termRus = parseLatin(pattern);
- 1128. - if (termRus != null) {
- 1129. - term = term + '|' + escapeRE(termRus);
- 1130. - }
- 1131. - var regexp = new RegExp('(?![^&;]+;)(?!<[^<>]*)((\\(*)(' + term + '))(?![^<>]*>)(?![^&;]+;)', 'gi');
- 1132. - }
- 1133. - var rsTpl = self.rsTpl ? self.rsTpl : function(obj, pattern, invertedSelection, selected, regexp) {
- 1134. - var checked = !invertedSelection && selected[obj[0]] || invertedSelection && !selected[obj[0]];
- 1135. - var label = obj[1];
- 1136. - if (pattern) {
- 1137. - label = pattern.indexOf(' ') == -1 ? label.split(' ') : [label];
- 1138. - var tmp = '';
- 1139. - for (var i in label) {
- 1140. - tmp += (i > 0 ? ' ' : '') + label[i].replace(regexp, '$2<em>$3</em>');
- 1141. - }
- 1142. - label = tmp;
- 1143. - }
- 1144. - return {
- 1145. - id: obj[0],
- 1146. - name: label,
- 1147. - photo: obj[2],
- 1148. - classname: checked ? ' olist_item_wrap_on' : '',
- 1149. - link: obj[3] || (obj[0] > 0 ? ('id' + obj[0]) : ('club' + (-obj[0])))
- 1150. - };
- 1151. - }
- 1152. - each (slice, function () {
- 1153. - html.push(rs(tpl, rsTpl(this, pattern, self.invertedSelection, selected, regexp)));
- 1154. - });
- 1155. - if (!offset && !html.length) {
- 1156. - html.push('<div class="olist_empty">' + (pattern ? getLang('global_search_not_found').replace('{search}', clean(pattern)) : self.noSelMsg) + '</div>');
- 1157. - }
- 1158. - re(this.moreEl);
- 1159. - html = html.join(' ');
- 1160. -
- 1161. - if (!offset) {
- 1162. - val(this.olistEl, html);
- 1163. - } else {
- 1164. - this.olistEl.appendChild(cf(html));
- 1165. - }
- 1166. - if (total > offset + limit) {
- 1167. - this.olistEl.appendChild(this.moreEl);
- 1168. - this.moreEl.onclick = function (event) {
- 1169. - self.renderList(pattern, offset + limit);
- 1170. - return cancelEvent(event);
- 1171. - }
- 1172. - }
- 1173. - if (self.box && self.box.scroll) {
- 1174. - self.box.scroll.update(false, true);
- 1175. - }
- 1176. - }
- 1177. - });
- 1178. -
- 1179. - try{jsDispatcher.triggerOnload('privacy.js');}catch(e){}
- 1180. - try{stManager.done('privacy.js');}catch(e){}
- ------
- Файл - settings.css (Старый размер - 14957 | Новый - 0):
- 0. - #settings_css {
- 1. - display: none;
- 2. - }
- 3. -
- 4. - .settings_privacy {
- 5. - background: #F7F7F7;
- 6. - padding: 7px 30px 30px;
- 7. - }
- 8. - .settings_privacy_row {
- 9. - padding: 8px 12px 0;
- 10. - width: 298px;
- 11. - vertical-align: top;
- 12. - }
- 13. - .settings_privacy_disabled {
- 14. - color: #999;
- 15. - }
- 16. - .settings_privacy_saved {
- 17. - color: #999;
- 18. - opacity: 0;
- 19. - font-size: 11px;
- 20. - font-weight: normal;
- 21. - }
- 22. - .settings_privacy_row_submit {
- 23. - padding: 22px 12px 10px;
- 24. - }
- 25. - .settings_privacy_control {
- 26. - position: relative;
- 27. - padding-top: 7px;
- 28. - border: 1px solid #F7F7F7;
- 29. - }
- 30. - .settings_view_as_text {
- 31. - border-top: 1px solid #DAE1E8;
- 32. - line-height: 140%;
- 33. - padding: 10px 100px;
- 34. - background: #FFF;
- 35. - }
- 36. - .settings_privacy_save {
- 37. - padding: 25px 0 15px;
- 38. - }
- 39. - #settings_privacy_result, #settings_result {
- 40. - display: none;
- 41. - background: #F7F7F7;
- 42. - padding: 15px 15px 0;
- 43. - }
- 44. - #settings_save_msg {
- 45. - line-height: 160%;
- 46. - background: #F4EBBD;
- 47. - }
- 48. - .settings_privacy_row,
- 49. - .settings_privacy_control {
- 50. - line-height: 160%;
- 51. - }
- 52. -
- 53. - #settings_save_error {
- 54. - line-height: 160%;
- 55. - text-align: left;
- 56. - }
- 57. -
- 58. -
- 59. - #privacy_l_item101 .privacy_item_icon,
- 60. - #privacy_l_item102 .privacy_item_icon,
- 61. - #privacy_l_item103 .privacy_item_icon,
- 62. - #privacy_l_item104 .privacy_item_icon,
- 63. - #privacy_l_item105 .privacy_item_icon,
- 64. - #privacy_l_item106 .privacy_item_icon,
- 65. - #privacy_l_item107 .privacy_item_icon,
- 66. - #privacy_l_item108 .privacy_item_icon,
- 67. - #privacy_l_item109 .privacy_item_icon,
- 68. - #privacy_l_item110 .privacy_item_icon {
- 69. - background-image: url(/images/icons/mono_iconset.gif?8);
- 70. - float: right;
- 71. - background-position: left 0;
- 72. - background-repeat: no-repeat;
- 73. - width: 11px;
- 74. - height: 11px;
- 75. - margin-top: 1px;
- 76. - *position: relative;
- 77. - }
- 78. - #privacy_l_item101 .privacy_item_icon { background-position: 0 -30px; }
- 79. - #privacy_l_item102 .privacy_item_icon { background-position: 0 -75px; }
- 80. - #privacy_l_item103 .privacy_item_icon { background-position: 0 -148px; }
- 81. - #privacy_l_item104 .privacy_item_icon { background-position: 0 -192px; }
- 82. - #privacy_l_item105 .privacy_item_icon { background-position: 0 -15px; }
- 83. - #privacy_l_item106 .privacy_item_icon { background-position: 0 -88px; }
- 84. - #privacy_l_item107 .privacy_item_icon { background-position: 0 -164px; }
- 85. - #privacy_l_item108 .privacy_item_icon { background-position: 0 -264px; }
- 86. - #privacy_l_item109 .privacy_item_icon { background-position: 0 0px; }
- 87. - #privacy_l_item110 .privacy_item_icon { background-position: 0 -222px; }
- 88. -
- 89. - /* Blacklist */
- 90. - #settings_bl_bar {
- 91. - padding: 10px;
- 92. - background: #F7F7F7;
- 93. - border-bottom: 1px solid #DAE1E8;
- 94. - }
- 95. - #settings_bl_search {
- 96. - margin: 0;
- 97. - padding: 5px 4px 4px 20px;
- 98. - width: 402px;
- 99. - height: 14px;
- 100. - line-height: 1.27em;
- 101. - background: #FFF url(/images/magglass.png) no-repeat 5px 6px;
- 102. - }
- 103. - #search_bl_submit {
- 104. - padding-left: 8px;
- 105. - padding-right: 8px;
- 106. - width: 168px;
- 107. - text-align: center;
- 108. - }
- 109. - #settings_bl_list_wrap {
- 110. - padding: 0 10px;
- 111. - }
- 112. - #settings_bl_result {
- 113. - padding: 15px 5px 5px;
- 114. - display: none;
- 115. - }
- 116. - #settings_bl_msg {
- 117. - line-height: 160%;
- 118. - background: #F4EBBD;
- 119. - }
- 120. - .settings_bl_row {
- 121. - padding: 10px;
- 122. - height: 25px;
- 123. - overflow: hidden;
- 124. - border-bottom: 1px solid #DAE2E8;
- 125. - }
- 126. - .settings_bl_row:last-child {
- 127. - border-bottom: 0;
- 128. - }
- 129. - img.settings_bl_photo {
- 130. - width: 25px;
- 131. - height: 25px;
- 132. - }
- 133. - .settings_bl_name {
- 134. - padding: 5px 0 0 10px;
- 135. - font-weight: bold;
- 136. - max-width: 400px;
- 137. - overflow: hidden;
- 138. - white-space: nowrap;
- 139. - text-overflow: ellipsis;
- 140. - -o-text-overflow: ellipsis;
- 141. - }
- 142. - .settings_bl_label {
- 143. - font-weight: normal;
- 144. - color: #777;
- 145. - padding-left: 2px;
- 146. - display: none;
- 147. - }
- 148. - .settings_bl_action {
- 149. - padding-top: 5px;
- 150. - }
- 151. - #settings_bl_noempty {
- 152. - min-height: 256px;
- 153. - }
- 154. - #settings_bl_empty {
- 155. - font-size: 1.09em;
- 156. - padding: 100px 30px;
- 157. - text-align: center;
- 158. - color: #777;
- 159. - }
- 160. -
- 161. - #settings_panel {
- 162. - background: #F7F7F7;
- 163. - padding: 10px 0 0 0;
- 164. - }
- 165. - #settings_panel .msg {
- 166. - margin: 0 10px;
- 167. - border:1px solid #B9C4DA;
- 168. - line-height: 160%;
- 169. - font-weight: normal;
- 170. - background-color:#FFF;
- 171. - }
- 172. - #settings_panel .settings_section .msg {
- 173. - margin: 0;
- 174. - }
- 175. - .settings_section {
- 176. - margin: 0 0 25px 113px;
- 177. - width: 400px;
- 178. - }
- 179. - .setbal_section {
- 180. - margin: 0 auto 25px;
- 181. - width: 380px;
- 182. - line-height: 160%;
- 183. - }
- 184. - .settings_privacy_h {
- 185. - padding: 15px 20px 0;
- 186. - }
- 187. - .settings_section h2,
- 188. - .settings_privacy_header,
- 189. - .setbal_section h2 {
- 190. - margin: 10px 0 15px 0;
- 191. - font-weight: bold;
- 192. - font-size: 1.09em;
- 193. - color: #36638E;
- 194. - border-color: #B9C4DA;
- 195. - }
- 196. - .settings_privacy_header {
- 197. - margin-bottom: 5px;
- 198. - }
- 199. - .settings_section h4 {
- 200. - padding: 12px 0 0 0;
- 201. - border: none;
- 202. - }
- 203. - .settings_section .settings_privacy_row {
- 204. - width: 166px;
- 205. - }
- 206. - .settings_section .settings_privacy_buttons {
- 207. - padding-top: 15px;
- 208. - }
- 209. - .settings_section .settings_privacy_input {
- 210. - padding-top: 8px;
- 211. - }
- 212. - .settings_privacy_text {
- 213. - padding-top: 12px;
- 214. - }
- 215. - .settings_section_notice {
- 216. - padding: 20px 0 0 2px;
- 217. - line-height: 160%;
- 218. - }
- 219. - .settings_buttons {
- 220. - margin-left: 255px;
- 221. - padding-top: 10px;
- 222. - }
- 223. - .settings_buttons_center {
- 224. - text-align: center;
- 225. - padding-top: 10px;
- 226. - }
- 227. - .settings_section .settings_buttons {
- 228. - margin-left: 140px;
- 229. - }
- 230. - .notify_settings .settings_privacy_row {
- 231. - width: 140px;
- 232. - }
- 233. - .settings_privacy_control .checkbox {
- 234. - margin-top: -1px;
- 235. - }
- 236. - #settings_panel .frow {
- 237. - padding-top: 15px;
- 238. - }
- 239. - #settings_panel .label {
- 240. - padding: 5px 15px 3px 0;
- 241. - color: #555;
- 242. - width: 125px;
- 243. - clear: both;
- 244. - }
- 245. - #settings_panel .labeled {
- 246. - width: 260px;
- 247. - padding: 2px 0 3px 0;
- 248. - }
- 249. - #settings_panel .labeled input {
- 250. - width: 142px;
- 251. - }
- 252. - #settings_panel .labeled small {
- 253. - color: #777;
- 254. - }
- 255. - #settings_panel .labeled_text {
- 256. - padding: 5px 0 3px 0;
- 257. - }
- 258. - input#pin {
- 259. - width: 100px;
- 260. - }
- 261. - #lj_data {
- 262. - padding-top: 10px;
- 263. - }
- 264. - #settings_panel .settings_section #lj_data .msg {
- 265. - margin-bottom: 10px;
- 266. - padding: 7px;
- 267. - }
- 268. - #lj_data .msg div {
- 269. - padding-top: 5px;
- 270. - }
- 271. - #lj_data .msg img {
- 272. - margin: 3px 7px;
- 273. - width: 44px;
- 274. - height: 44px;
- 275. - }
- 276. - #lj_error {
- 277. - padding: 10px 0px 10px 140px;
- 278. - color: #800;
- 279. - }
- 280. - #cancel_lj_data {
- 281. - margin-left: 7px;
- 282. - }
- 283. - .export_clear {
- 284. - padding-top: 5px;
- 285. - }
- 286. -
- 287. - /* General settings */
- 288. - .settings_row_wrap {
- 289. - padding-bottom: 10px;
- 290. - }
- 291. - .settings_label {
- 292. - padding: 5px 15px 3px 0;
- 293. - color: #555;
- 294. - width: 125px;
- 295. - }
- 296. - .setbal_label {
- 297. - color: #777;
- 298. - width: 135px;
- 299. - padding: 15px 15px 3px;
- 300. - }
- 301. - .settings_row_button_wrap {
- 302. - padding-left: 140px;
- 303. - }
- 304. - .setbal_row_button_wrap {
- 305. - padding: 13px 165px 0px;
- 306. - }
- 307. - .settings_labeled_text {
- 308. - width: 250px;
- 309. - padding-top: 5px;
- 310. - }
- 311. - .setbal_labeled_text {
- 312. - width: 180px;
- 313. - padding-top: 15px;
- 314. - }
- 315. - .settings_hidden {
- 316. - font-size: 0.9em;
- 317. - color: #777;
- 318. - padding-top: 1px;
- 319. - }
- 320. - #settings_services {
- 321. - padding-top: 10px;
- 322. - }
- 323. - .settings_service_row {
- 324. - padding-bottom: 6px;
- 325. - }
- 326. - .settings_service_row .settings_label,
- 327. - #settings_microblog .settings_label,
- 328. - #settings_appearance .settings_label {
- 329. - color: #777;
- 330. - padding: 0 15px 0 0;
- 331. - height: 15px;
- 332. - }
- 333. - .settings_all_services {
- 334. - padding: 4px 0 0 140px;
- 335. - }
- 336. -
- 337. - #settings_microblog,
- 338. - #settings_appearance {
- 339. - width: 450px;
- 340. - }
- 341. - .settings_microblog_row,
- 342. - .settings_appearance_row {
- 343. - padding-bottom: 10px;
- 344. - }
- 345. - #settings_no_replies_wrap {
- 346. - padding-bottom: 0;
- 347. - }
- 348. -
- 349. - #settings_old_pwd,
- 350. - #settings_new_pwd,
- 351. - #settings_confirm_pwd,
- 352. - #settings_new_mail,
- 353. - #settings_new_phone {
- 354. - width: 142px;
- 355. - }
- 356. -
- 357. - #settings_addr_table {
- 358. - background: #FFF;
- 359. - border: 1px solid #C0CAD5;
- 360. - }
- 361. - .settings_edit_addr_label {
- 362. - color: #777;
- 363. - padding: 3px 0px 3px 3px;
- 364. - }
- 365. - #settings_addr {
- 366. - border: 0;
- 367. - padding: 3px 3px 3px 0;
- 368. - width: 146px;
- 369. - outline: 0;
- 370. - }
- 371. - #settings_address_submit_wrap {
- 372. - overflow: hidden;
- 373. - position: relative;
- 374. - }
- 375. - #settings_addr_disabler,
- 376. - #settdbx_disabler {
- 377. - display: none;
- 378. - width: 400px;
- 379. - background: #FFF;
- 380. - opacity: 0.4;
- 381. - filter: alpha(opacity=40);
- 382. - position: absolute;
- 383. - height: 25px;
- 384. - z-index: 10;
- 385. - margin: 0 auto;
- 386. - }
- 387. -
- 388. - .settings_https_tt table .tt_text {
- 389. - line-height: 160%;
- 390. - width: 280px;
- 391. - padding: 10px;
- 392. - color: #000;
- 393. - }
- 394. -
- 395. - .settings_about_tt table .tt_text {
- 396. - color: #000;
- 397. - padding: 10px;
- 398. - width: 315px;
- 399. - }
- 400. -
- 401. - .settings_about_tt table.toup1 .bottom_pointer,
- 402. - .settings_https_tt table.toup1 .bottom_pointer {
- 403. - margin-right: 0px;
- 404. - margin-left: 64px;
- 405. - display: block;
- 406. - background: url(/images/tooltip_arrow_white.gif) no-repeat;
- 407. - }
- 408. - .settings_about_tt table.toup .top_pointer,
- 409. - .settings_https_tt table.toup .top_pointer {
- 410. - margin-right: 0px;
- 411. - margin-left: 64px;
- 412. - display: block;
- 413. - bottom: -2px;
- 414. - background: url(/images/tooltip_arrow_up.gif) no-repeat;
- 415. - }
- 416. - .settings_side_pwd_tt table .tt_text {
- 417. - line-height: 120%;
- 418. - color: #000;
- 419. - padding: 10px;
- 420. - width: 280px;
- 421. - }
- 422. - .settings_side_email_tt table .tt_text {
- 423. - line-height: 120%;
- 424. - color: #000;
- 425. - padding: 10px;
- 426. - width: 190px;
- 427. - }
- 428. -
- 429. - .settings_password_hint {
- 430. - width: 280px;
- 431. - list-style: url(/images/bullet.gif) outside;
- 432. - padding: 0 0 0 15px;
- 433. - margin: 0;
- 434. - }
- 435. - .settings_side_tt_pointer {
- 436. - background: url(/images/ddtooltip.png) 0 0 no-repeat;
- 437. - width: 8px;
- 438. - height: 11px;
- 439. - position: absolute;
- 440. - left: -7px;
- 441. - top: 40px;
- 442. - overflow: hidden;
- 443. - z-index: 10;
- 444. - }
- 445. - .settings_pwd_pointer {
- 446. - top: 35px;
- 447. - }
- 448. - #settings_pwd_tt_place,
- 449. - #settdbx_addr_tt_place {
- 450. - width: 1px;
- 451. - height: 1px;
- 452. - }
- 453. - .settings_email_pointer {
- 454. - top: 35px;
- 455. - }
- 456. - #settings_last_activity_wrap {
- 457. - padding-bottom: 10px;
- 458. - }
- 459. -
- 460. - #settings_address_check {
- 461. - width: 120px;
- 462. - text-align: center;
- 463. - height: 15px;
- 464. - padding: 6px 0;
- 465. - }
- 466. - #settings_address_progress {
- 467. - margin: 4px auto;
- 468. - }
- 469. - #settings_address_result {
- 470. - padding: 0 10px;
- 471. - }
- 472. - #settings_save_error {
- 473. - margin-bottom: 15px;
- 474. - }
- 475. - #settings_error_pwd div.error {
- 476. - padding: 8px 9px;
- 477. - }
- 478. - #settings_phone_request {
- 479. - margin-bottom: 8px!important;
- 480. - }
- 481. -
- 482. - #activity_history_box .info_msg {
- 483. - border: 0;
- 484. - padding: 16px 20px;
- 485. - background-color: #EEF0F2;
- 486. - }
- 487. - table.history {
- 488. - padding: 10px 20px 20px;
- 489. - width: 100%;
- 490. - border: none;
- 491. - }
- 492. - table.history tr th {
- 493. - color: #36638E;
- 494. - font-size: 1.09em;
- 495. - }
- 496. - table.history tr td, table.history tr th {
- 497. - padding: 10px 0;
- 498. - }
- 499. - table.history tr.old_session {
- 500. - color: #999;
- 501. - }
- 502. - table.history .cur_session {
- 503. - padding-left: 10px;
- 504. - color: #999;
- 505. - }
- 506. - .history_ip {
- 507. - color: #999;
- 508. - }
- 509. - .settings_box_container .label {
- 510. - padding: 5px 15px 3px 0;
- 511. - width: 95px;
- 512. - clear: both;
- 513. - }
- 514. - .settings_box_container .labeled {
- 515. - width: 260px;
- 516. - padding: 2px 0 3px 0;
- 517. - }
- 518. - .settings_box_container .labeled input {
- 519. - width: 160px;
- 520. - }
- 521. - .settings_box_container .labeled span {
- 522. - padding-top: 5px;
- 523. - display: block;
- 524. - color: #555;
- 525. - }
- 526. - #email_bind_error {
- 527. - margin-bottom: 16px;
- 528. - display: none;
- 529. - line-height: 160%;
- 530. - text-align: left;
- 531. - }
- 532. -
- 533. - #settings_deact_reasons {
- 534. - padding: 0px 10px;
- 535. - }
- 536. - .settings_deact_friends {
- 537. - margin: 5px 0px 15px;
- 538. - }
- 539. - .settings_deact_header {
- 540. - font-size: 1.09em;
- 541. - margin-bottom: 19px;
- 542. - }
- 543. - .settings_deact_page {
- 544. - padding: 30px 50px;
- 545. - }
- 546. - .settings_reason {
- 547. - padding: 1px 0px;
- 548. - }
- 549. - .settings_reason_desc {
- 550. - /*padding-bottom: 15px;
- 551. - color: #777777;*/
- 552. - display: none;
- 553. - }
- 554. - .settings_reason_text {
- 555. - width: 360px;
- 556. - margin-top: 5px;
- 557. - height: 33px;
- 558. - }
- 559. - .settings_deact_opts {
- 560. - /*border-top: 1px solid #E8EBEE;*/
- 561. - padding: 0px 10px 10px;
- 562. - margin-top: 3px;
- 563. - }
- 564. - .settings_deact_checkbox {
- 565. - margin: 5px 15px;
- 566. - }
- 567. - .settings_restore_cont {
- 568. - padding: 40px 60px;
- 569. - }
- 570. - .settings_restore_cont h4 {
- 571. - font-size: 1.09em;
- 572. - }
- 573. - .settings_restore_desc {
- 574. - padding: 10px 0px 20px 0px;
- 575. - }
- 576. - .setting_checkbox_label {
- 577. - padding: 5px 0px 0px 0px;
- 578. - }
- 579. - #settings_email_saved {
- 580. - padding: 6px 6px 0px;
- 581. - color: #888888;
- 582. - }
- 583. -
- 584. - #settings_new_phone_list {
- 585. - color: #000;
- 586. - padding-top: 10px;
- 587. - }
- 588. -
- 589. - #settings_name_moved_row {
- 590. - overflow: hidden;
- 591. - }
- 592. - .settings_name_moved_wrap {
- 593. - margin: 0 0 0 140px;
- 594. - }
- 595. - .settings_name_moved {
- 596. - line-height: 160%;
- 597. - margin-bottom: 8px;
- 598. - }
- 599. -
- 600. - #settings_status_default,
- 601. - #settings_show_fullinfo,
- 602. - #settings_no_wall_replies {
- 603. - width: 240px;
- 604. - }
- 605. -
- 606. - #settings_email_msg .msg {
- 607. - margin-bottom: 15px!important;
- 608. - }
- 609. -
- 610. - /* Domain box */
- 611. - .settdbx_wrap {
- 612. - font-size: 12px;
- 613. - }
- 614. - .settdbx_info_wrap {
- 615. - padding: 20px 30px 0;
- 616. - }
- 617. - .settdbx_header {
- 618. - border: 0;
- 619. - padding: 0;
- 620. - margin-bottom: 15px;
- 621. - font-size: 13px;
- 622. - }
- 623. - .settdbx_info {
- 624. - line-height: 140%;
- 625. - }
- 626. - .settdbx_image {
- 627. - background: url(/images/join/address.png) no-repeat 0 0;
- 628. - width: 160px;
- 629. - height: 160px;
- 630. - margin: 20px auto 15px;
- 631. - }
- 632. -
- 633. - .settdbx_edit {
- 634. - background: #F2F2F2;
- 635. - padding: 20px;
- 636. - }
- 637. - .settdbx_field_wrap {
- 638. - margin: 0 auto 10px;
- 639. - width: 230px;
- 640. - }
- 641. - #settdbx_addr_table {
- 642. - background: #FFF;
- 643. - border: 1px solid #C0CAD5;
- 644. - }
- 645. - .settdbx_edit_addr_label {
- 646. - color: #777;
- 647. - padding: 4px 0px 3px 3px;
- 648. - }
- 649. - #settdbx_addr {
- 650. - border: 0;
- 651. - padding: 3px 2px 3px 0;
- 652. - width: 142px;
- 653. - margin: 0px -1px;
- 654. - outline: 0;
- 655. - }
- 656. - .settdbx_submit_wrap {
- 657. - text-align: center;
- 658. - }
- 659. -
- 660. - .settdbx_side_addr_tt table .tt_text {
- 661. - line-height: 120%;
- 662. - color: #000;
- 663. - padding: 10px;
- 664. - width: 150px;
- 665. - font-size: 12px;
- 666. - }
- 667. - .settdbx_side_addr_pointer {
- 668. - top: 47px;
- 669. - }
- 670. - .settdbx_advices_header {
- 671. - font-weight: bold;
- 672. - margin-bottom: 7px;
- 673. - }
- 674. - #settdbx_advices {
- 675. - margin: 0 auto;
- 676. - }
- 677. - .settdbx_advices_wrap {
- 678. - margin-top: 18px;
- 679. - }
- 680. - #settdbx_advices .listing {
- 681. - margin: 0 0 0;
- 682. - padding-left: 25px;
- 683. - }
- 684. -
- 685. - .settings_notice {
- 686. - line-height: 160%;
- 687. - padding-bottom: 15px;
- 688. - }
- 689. -
- 690. - .settings_error_msg {
- 691. - line-height: 160%;
- 692. - }
- 693. -
- 694. - .settings_votes_history_wrap {
- 695. - border-top: 1px solid #DAE1E8;
- 696. - border-bottom: 1px solid #DAE1E8;
- 697. - padding: 5px 20px;
- 698. - background: #FFF;
- 699. - }
- 700. - #settings_votes_history {
- 701. - width: 100%;
- 702. - }
- 703. - #settings_votes_history tr td {
- 704. - padding: 8px 0;
- 705. - border-bottom: 1px solid #DAE1E8;
- 706. - }
- 707. - .settings_history_photo {
- 708. - width: 48px;
- 709. - }
- 710. - .settings_history_photo img {
- 711. - display: block;
- 712. - -moz-border-radius: 2px;
- 713. - -webkit-border-radius: 2px;
- 714. - border-radius: 2px;
- 715. - }
- 716. - .settings_history_thumb {
- 717. - width: 32px;
- 718. - height: 32px;
- 719. - background: #DFE4EB url(/images/icons/payments_s.gif) no-repeat 1px 1px;
- 720. - -moz-border-radius: 2px;
- 721. - -webkit-border-radius: 2px;
- 722. - border-radius: 2px;
- 723. - }
- 724. - .settings_history_thumb_cards {
- 725. - background-position: 1px -33px !important;
- 726. - }
- 727. - .settings_history_thumb_payment_system {
- 728. - background-position: 1px -67px !important;
- 729. - }
- 730. - .settings_history_thumb_terminal {
- 731. - background-position: 1px -101px !important;
- 732. - }
- 733. - .settings_history_thumb_gifts {
- 734. - background-position: 1px -135px !important;
- 735. - }
- 736. - .settings_history_thumb_offers {
- 737. - background-position: 1px -167px !important;
- 738. - }
- 739. - .settings_history_title {
- 740. - width: 300px;
- 741. - }
- 742. - .settings_history_amount {
- 743. - font-weight: bold;
- 744. - color: #777;
- 745. - }
- 746. - .settings_votes_income .settings_history_amount {
- 747. - color: #333;
- 748. - }
- 749. - .settings_history_date {
- 750. - text-align: right;
- 751. - color: #777;
- 752. - }
- 753. - .settings_votes_history_next {
- 754. - padding-bottom: 5px;
- 755. - text-align: center;
- 756. - }
- 757. - .settings_votes_history_next a {
- 758. - padding: 10px;
- 759. - display: block;
- 760. - }
- 761. - .settings_votes_history_next a:hover {
- 762. - background-color: #E9EDF1;
- 763. - text-decoration: none;
- 764. - }
- 765. - .settings_votes_history_next img {
- 766. - padding: 12px 0 11px 0;
- 767. - }
- 768. - #settings_votes_history tr.settings_votes_history_last td {
- 769. - border-bottom: none;
- 770. - }
- 771. - .settings_emoji_time {
- 772. - color: #888888;
- 773. - margin-top: 6px;
- 774. - padding-left: 20px;
- 775. - }
- 776. - .settings_close {
- 777. - padding: 16px 20px 0px;
- 778. - }
- 779. - .settings_emoji_header {
- 780. - padding: 16px 20px 10px;
- 781. - font-size: 1.18em;
- 782. - color: #45688E;
- 783. - font-weight: bold;
- 784. - }
- 785. - .settings_emoji_cont {
- 786. - padding: 0px 20px 20px 20px;
- 787. - text-align: left;
- 788. - }
- 789. - .settings_emoji_buttons {
- 790. - text-align: center;
- 791. - margin-top: 20px;
- 792. - }
- 793. - .settings_emoji_screen {
- 794. - -webkit-border-radius: 5px;
- 795. - -moz-border-radius: 5px;
- 796. - border-radius: 5px;
- 797. - margin: 4px;
- 798. - margin-bottom: 15px;
- 799. - }
- 800. - .settings_emoji_active_btn {
- 801. - margin: 0px 6px;
- 802. - }
- ------
Advertisement
Add Comment
Please, Sign In to add comment