Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Файл - retina.css (Старый размер - 31961 | Новый - 23992):
- 8. - background-image: url(/images/hatf_2x.gif?1);
- 9. + background-image: url(/images/hat_2x.gif);
- 16. - background-image: url(/images/hatf_vk_2x.gif?1);
- 17. + background-image: url(/images/hat_vk_2x.gif);
- 22. - background-image: url(/images/hatf_vk_rtl_2x.gif?1);
- 23. + background-image: url(/images/hat_vk_rtl_2x.gif);
- 34. - }
- 35. - .is_2x .feedback_expand {
- 36. - background-image: url(/images/fbgr_arrow_2x.png);
- 37. - background-size: 11px 12px;
- 62. - .is_2x .tdd_search .tdd_control,
- 63. - .is_2x #search_query,
- 65. - .is_2x .choose_search_cont input,
- 66. - .is_2x #exchange_comm_search_filters #exchange_search_input {
- 67. + .is_2x #search_query {
- 69. - background-size: 11px 11px;
- 70. - }
- 71. - .is_2x .audio_friends_search_btn {
- 72. - background-image: url(/images/magglass_audio_blue_2x.png);
- 73. - background-size: 11px 11px;
- 74. - }
- 75. - .is_2x .audio_friends_search_input.text {
- 76. - background-image: url(/images/magglass_audio_2x.png);
- 83. - .is_2x #search_query_reset,
- 84. - .is_2x #friends_reset_search {
- 85. + .is_2x #search_query_reset {
- 88. - }
- 89. - .is_2x .audio_friends_search_inp_wrap .reset {
- 90. - background-image: url(/images/clear_audio_2x.png);
- 91. - background-size: 9px 9px;
- 104. - .is_2x #audio_tip_arrow,
- 111. - .is_2x .page_gif_add_icon,
- 112. - .is_2x .current_audio .label,
- 113. - .is_2x .current_audio_cnt .label,
- 114. - .is_2x .video_row_icon_add .video_row_icon,
- 115. - .is_2x .docs_add_row {
- 116. - background-image: url(/images/icons/audio_icons_2x.png?5);
- 117. + .is_2x .page_gif_add_icon{
- 118. + background-image: url(/images/icons/audio_icons_2x.png);
- 120. - }
- 121. - .is_2x #head_play_btn {
- 122. - background-image: url(/images/icons/audio_iconsf_2x.png);
- 129. - .is_2x .fw_like_icon,
- 130. - .is_2x .wall_module .post_share_icon {
- 131. - background-image: url(/images/icons/like_2x.png?2);
- 132. - background-size: 10px 32px;
- 133. + .is_2x .fw_like_icon {
- 134. + background-image: url(/images/icons/like_2x.png);
- 135. + background-size: 10px 20px;
- 145. - .is_2x .im_tab_selected .im_tabx_over,
- 146. - .is_2x .summary_tab_x,
- 147. - .is_2x .tdd_x_c {
- 148. + .is_2x .im_tab_selected .im_tabx_over {
- 152. - .is_2x .audio .play_new, .is_2x #audio.new .wall_module .audio.current .play_new {
- 153. + .is_2x .audio .play_new {
- 164. - .is_2x #im_docs_preview .im_media_x,
- 165. - .is_2x #im_sdocs_preview .im_media_x,
- 169. - .is_2x .wall_module .reply_delete_button,
- 170. - .is_2x .fave_delete_link,
- 171. - .is_2x #intr_hide,
- 172. - .is_2x .wall_module .post_delete_button,
- 173. - .is_2x .top_info_wrap .hide_button,
- 174. - .is_2x .docs_delete_row {
- 175. + .is_2x .wall_module .reply_delete_button {
- 178. - }
- 179. - .is_2x #friends .delete_row div {
- 180. - background-image: url(/images/pics/statusx_2x.png);
- 181. - background-size: 17px 17px;
- 182. - }
- 183. - .is_2x .im_to_end {
- 184. - background-image: url(/images/im_toend_2x.gif);
- 185. - background-size: 15px 13px;
- 186. - }
- 187. - .is_2x #im_log_fav_btn i,
- 188. - .is_2x .im_important_toggler,
- 189. - .is_2x .im_important_icon {
- 190. - background-image: url(/images/icons/im_actions_iconset2_2x.png?8);
- 191. - background-size: 20px 300px;
- 193. -
- 204. + .is_2x .current_audio,
- 210. - .is_2x .im_attach_gift,
- 215. - .is_2x .im_attach_link,
- 229. - .is_2x .tickets_media_icon,
- 230. - .is_2x .medadd_h,
- 231. - .is_2x .group_share_club,
- 232. - .is_2x .group_ad_post_stats,
- 233. - .is_2x .group_ad_post_link,
- 234. - .is_2x .exchange_ad_post_stats,
- 235. - .is_2x .exchange_ad_post_link,
- 236. - .is_2x .exchange_ad_post_club_commment {
- 237. - background-image: url(/images/icons/mono_iconset_2x.png?2);
- 238. - background-size: 11px 360px;
- 239. - }
- 240. - .is_2x .ge_ad_box_fields {
- 241. - background-image: url(/images/join/adspost_2x.png);
- 242. - background-size: 160px 160px;
- 243. - }
- 244. - .is_2x .exchange_new_union_img {
- 245. - background-image: url(/images/join/ads_union_2x.png);
- 246. - background-size: 160px 160px;
- 247. + .is_2x .medadd_h {
- 248. + background-image: url(/images/icons/mono_iconset_2x.png?1);
- 249. + background-size: 11px 346px;
- 252. - background: none;
- 253. - }
- 254. -
- 255. - .is_2x .feed_tab_add_icon,
- 256. - .is_2x .feed_filter_tabs_icon,
- 257. - .is_2x .feed_filter_tabs_check {
- 258. - background-image: url(/images/icons/news_iconset_2x.png?2);
- 259. - background-size: 16px 176px;
- 260. - }
- 261. - .is_2x .feed_filter_lists_row .feed_filter_tabs_icon,
- 262. - .is_2x .feed_icon_newlist {
- 267. - .is_2x .page_verified,
- 268. + .is_2x .profile_verified,
- 272. - .is_2x .search_verified,
- 273. - .is_2x .wall_post_source_icon,
- 274. - .is_2x .page_fronly {
- 275. - background-image: url(/images/profile_icons_2x.png?10);
- 276. - background-size: 13px 241px;
- 277. + .is_2x .search_verified {
- 278. + background-image: url(/images/profile_icons_2x.png);
- 279. + background-size: 13px 98px;
- 313. - .is_2x #search_query_wrap.wide #search_query_progress,
- 314. - .is_2x .docs_search_bar .docs_loading_bar {
- 315. + .is_2x #search_query_wrap.wide #search_query_progress {
- 319. - .is_2x .emoji_smile_icon_on,
- 320. - .is_2x .emoji_smile_icon,
- 321. - .is_2x .mbe_smile_icon_on,
- 322. - .is_2x .mbe_smile_icon {
- 323. + .is_2x .im_smile_icon_on,
- 324. + .is_2x .im_smile_icon {
- 340. - .is_2x .emoji_pointer {
- 341. - background-image: url(/images/icons/like_icons_bl_2x.png?2);
- 342. + .is_2x #im_emoji_pointer {
- 343. + background-image: url(/images/like_icons_bl_2x.png?2);
- 361. - .is_2x #photo_default_check,
- 362. - .is_2x .join_fb_progress {
- 363. + .is_2x #photo_default_check {
- 373. - }
- 374. - .is_2x .wk_post_stats .wk_posts_stats_info_row .like .img,
- 375. - .is_2x .wk_post_stats .wk_posts_stats_info_row .share .img,
- 376. - .is_2x .wk_post_stats .wk_posts_stats_info_row .comment .img {
- 377. - background-image: url(/images/icons/exchange_stats_icons_2x.png);
- 378. - background-size: 22px 66px;
- 380. - .is_2x .post_upload_wrap div.post_upload,
- 381. - .is_2x .im_upload_wrap div.im_upload {
- 382. + .is_2x .post_upload_wrap div.post_upload {
- 390. - .is_2x .mvs_header_text,
- 391. - .is_2x .olist_dd_over {
- 392. + .is_2x .mvs_header_text {
- 444. - .is_2x .page_pics_preview .page_media_x,
- 445. - .is_2x #im_media_preview .im_x,
- 446. - .is_2x #im_media_dpreview .im_x,
- 447. - .is_2x #im_media_mpreview .im_x,
- 448. - .is_2x .owner_photo_bubble_delete,
- 449. - .is_2x .app_delete_el {
- 450. + .is_2x .page_pics_preview .page_media_x {
- 472. - .is_2x .emoji_smile_shadow {
- 473. + .is_2x .im_emoji_smile_cont {
- 490. - .is_2x .search_adult_tt table.toup .top_pointer,
- 492. - .is_2x .exchange_table_tt table.toup .top_pointer {
- 493. + .is_2x .search_adult_tt table.toup .top_pointer {
- 495. - background-size: 11px 8px;
- 496. - }
- 497. - .is_2x .exchange_table_tt table.toup1 .bottom_pointer {
- 498. - background-image: url(/images/tooltip_arrow_white_2x.gif);
- 500. - }
- 501. - .is_2x .exchange_request_comment .exchange_hint_tt .tail {
- 502. - background-image: url(/images/adcomment_arrow_2x.png);
- 503. - background-size: 11px 6px;
- 519. - .is_2x .video_module .video div.page_video_play_icon,
- 537. + .is_2x .ads_edit_tt_pointer,
- 542. - .is_2x .audio_status_tt .tail,
- 545. - .is_2x .tickets_side_tt.time .tail,
- 546. - .is_2x .apps_edit_side_tt_pointer,
- 547. - .is_2x .ge_ad_hint_tt .tail,
- 548. - .is_2x .exchange_hint_tt .tail {
- 549. + .is_2x .tickets_side_tt.time .tail {
- 586. + .is_2x .notes_checkbox,
- 601. - .is_2x .side_filter.loading,
- 602. - .is_2x .progress_inv_mini {
- 603. + .is_2x .side_filter.loading {
- 621. + }
- 622. + .is_2x .selector_container td.selector_dropdown {
- 623. + background-image: url(/images/darr_dd_out_2x.gif);
- 624. + background-size: 7px 4px;
- 636. - .is_2x .apps_featured_icon {
- 637. - background-image: url(/images/icons/apps_featured_arrow_2x.png);
- 638. - background-size: 26px 21px;
- 639. + .is_2x .apps_featured_slide {
- 640. + background-image: url(/images/pics/apps_slide_2x.png);
- 641. + background-size: 6px 15px;
- 666. - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAiCAYAAABFlhkzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAARNJREFUeNrcltsJwjAUhpNapPgkCI7gBLqAuIFz6gRqB7BdQDcQBPVBxEviSWmld5P0L4IHwmlD8n1N2iTlp/NFMgo/3DMpJZvPJn26vVJ5MIMQQpTWO8mFgnMeXbrp+qaRAUnJ4OGwluMnAlXXQck/kOl4FOXFanug5FHpIiQZQEpypNRDSAqd0ZLSjkhJZSeUpLYDQvK1cSJZrgMriVZDJVF7lc1ItJ/EdrqM5tNGYvxV5CRevK1gNztu0NY1hW+CXZTp5BtQulF5wUaQg6tj9a5OS4jABq4t8EM7uNY7sH1yrRE0hdcKEPBKAQpeKkDCCwI0PCNIwYfxCm0Mr3oHIl7+jeH/++vYuuCJmn8VbwEGAGvuiUVvn8vPAAAAAElFTkSuQmCC);
- 667. - background-size: 12px 17px;
- 668. + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAARCAYAAADpPU2iAAAArUlEQVR42pWSTQrCQAyFQ4eh4mz8A6uiKAgeXg8guHbjaeYGbQYivkkTxcK3e9880oRyzv31/uyJKAEBqD8QZsxCmDJRcIUVs2Y6kFqRQiUUbo9XkQ7CTqQEbaESQDozJyVNTAGkC3NkNjLbp0ULqmnPLKUlmg3GTCgEVwDprwY9A32bYQt/KbqCEW6rjRvhzgg33qZLcC6LGp+FuqX3GaTRq44Q4UU7bAjNL2EAU9kEmwVnt3EAAAAASUVORK5CYII%3D);
- 671. - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAiCAYAAABFlhkzAAAAsUlEQVR42u2XQQ5AMBBFG4kQG0Lc/wZ6Ak7AXXCBmrEQEWGm7UwsNPnb9xqaP60x8VYKKbt+dHaY3LyseyLyTQZp7DA6lIgJEP4L7lYCKSCthADhOaS+wmMIHuGhgld4iIAE9xWQ4T4CFpwrOODYNRQ4R8DeOUfgDacIguAUAXZ85QtnCayQQPwTif9klWN6K8HZG1sgXhUqZadS1yoDR2Vkqgx9lWvLf3X8juB4gJwFG+W12jVqcG4VAAAAAElFTkSuQmCC);
- 672. + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAiCAYAAABFlhkzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAARNJREFUeNrcltsJwjAUhpNapPgkCI7gBLqAuIFz6gRqB7BdQDcQBPVBxEviSWmld5P0L4IHwmlD8n1N2iTlp/NFMgo/3DMpJZvPJn26vVJ5MIMQQpTWO8mFgnMeXbrp+qaRAUnJ4OGwluMnAlXXQck/kOl4FOXFanug5FHpIiQZQEpypNRDSAqd0ZLSjkhJZSeUpLYDQvK1cSJZrgMriVZDJVF7lc1ItJ/EdrqM5tNGYvxV5CRevK1gNztu0NY1hW+CXZTp5BtQulF5wUaQg6tj9a5OS4jABq4t8EM7uNY7sH1yrRE0hdcKEPBKAQpeKkDCCwI0PCNIwYfxCm0Mr3oHIl7+jeH/++vYuuCJmn8VbwEGAGvuiUVvn8vPAAAAAElFTkSuQmCC);
- 683. - .is_2x .page_album_camera,
- 684. - .is_2x .photos_choose_album_camera,
- 737. + .is_2x #im_media_preview .im_media_x,
- 763. - .is_2x .fave_photo_inner {
- 764. + .fave_photo_inner {
- 766. + }
- 767. + .is_2x .token span.x_hover,
- 768. + .is_2x .token span.x,
- 769. + {
- 770. + background-image: url('/images/blob_x.gif');
- 771. + background-size: 9px 10px;
- 783. - .is_2x .button_blue button,
- 784. - .is_2x .button_gray button {
- 785. - background-image: url(/images/button_bgf_2x.png?1);
- 786. - background-size: 1px 96px;
- 787. + .is_2x .button_blue button {
- 788. + background-image: url('/images/button_vk_2x.png');
- 789. + background-size: 1px 84px;
- 790. + }
- 791. + .is_2x .button_blue button:active {
- 792. + background: #5e80a5;
- 809. + }
- 810. + .is_2x .mail_box_content img {
- 811. + max-width: 80px;
- 838. - background-image: url(/images/icons/import_contacts_2x.png?5);
- 839. + background-image: url(/images/icons/import_contacts_2x.png?4);
- 841. - }
- 842. - .is_2x .friends_import_icon_big {
- 843. - background-image: url(/images/icons/import_contacts_big_2x.png?5);
- 844. - background-size: 50px 200px;
- 846. - .is_2x .wall_module .reply_edit_button,
- 847. - .is_2x .wall_module .post_edit_button,
- 848. - .is_2x .docs_edit_row {
- 849. + .is_2x .wall_module .reply_edit_button {
- 856. - }
- 857. - .is_2x .payments_box_wide .payments_getvotes_method_img {
- 858. - background-image: url(/images/icons/payments_w_2x.png);
- 859. - background-size: 41px 164px;
- 860. - }
- 861. - .is_2x .payments_logo_cards {
- 862. - background-image: url(/images/pics/cards_2x.png);
- 863. - background-size: 222px 52px;
- 864. - }
- 865. - .is_2x .payments_logo_webmoney {
- 866. - background-image: url(/images/ps/webmoney_2x.png);
- 867. - background-size: 126px 40px;
- 868. - }
- 869. - .is_2x .payments_logo_kiwipurse {
- 870. - background-image: url(/images/ps/qiwiwallet_2x.png);
- 871. - background-size: 110px 40px;
- 872. - }
- 873. - .is_2x .payments_logo_yandexmoney {
- 874. - background-image: url(/images/ps/yandexmoney_2x.png);
- 875. - background-size: 106px 45px;
- 876. - }
- 877. - .is_2x .payments_logo_checkout {
- 878. - background-image: url(/images/ps/googlewallet_2x.png);
- 879. - background-size: 190px 40px;
- 883. + }
- 884. + .is_2x .dev_sect_icon {
- 885. + background-image: url('/images/icons/dev_icons_2x.png');
- 886. + background-size: 95px 246px;
- 887. + }
- 888. + .is_2x .page_fronly {
- 889. + background-image: url(/images/private_post_2x.png);
- 890. + background-size: 8px 9px;
- 895. - }
- 896. - .is_2x #status_export.checkbox_pic, .is_2x #facebook_export.checkbox_pic, .is_2x #own_status_export.checkbox_pic, .is_2x #own_facebook_export.checkbox_pic, .is_2x .checkbox_status_export, .is_2x .checkbox_facebook_export {
- 897. - background-image: url(/images/icons/wall_export_2x.gif);
- 898. - background-size: 14px 112px;
- 899. - }
- 900. - .is_2x .flist_item_action, .is_2x #flist_sel_list .flist_item_action {
- 901. - background-image: url(/images/icons/lite_acts_12x12_2x.png);
- 902. - background-size: 12px 24px;
- 903. - }
- 904. - .is_2x .wdd_add_plus {
- 905. - background-image: url(/images/pics/im_plus_2x.gif);
- 906. - background-size: 11px 11px;
- 907. - }
- 908. - .is_2x #html5_player .play_button,
- 909. - .is_2x #html5_player .pause_button,
- 910. - .is_2x #html5_player .big_play,
- 911. - .is_2x #html5_player .volume_button,
- 912. - .is_2x #html5_player .quality_button .quality_val,
- 913. - .is_2x #html5_player .quality_button #quality_label,
- 914. - .is_2x #html5_player #video_actions .add,
- 915. - .is_2x #html5_player #video_actions .rotate,
- 916. - .is_2x #html5_player #video_actions .logo,
- 917. - .is_2x #html5_player .vid_like_fg,
- 918. - .is_2x #html5_player .vid_share_fg,
- 919. - .is_2x #html5_player .vid_link_fg {
- 920. - background-image: url(/images/video/iconset_2x.png?2);
- 921. - background-size: 380px 54px;
- 922. - }
- 923. - .is_2x .wall_album_nocover,
- 924. - .is_2x .pva_no_photos,
- 925. - .is_2x #photos_albums_container .photo_row .img_link.no_photo,
- 926. - .is_2x .photos_choose_album_link.no_photo {
- 927. - background-image: url(/images/camera_big_2x.png);
- 928. - background-size: 64px 48px;
- 929. - }
- 930. -
- 931. - .is_2x .dropbox, .is_2x .dropbox.choose {
- 932. - background-image: url(/images/dropbox_arrow_2x.png);
- 933. - background-size: 63px 44px;
- 934. - }
- 935. - .is_2x .owner_photo_bubble_action_in {
- 936. - background-image: url(/images/edit_photo_icons_white_2x.png);
- 937. - background-size: 16px 88px;
- 938. - }
- 939. - .is_2x .owner_photo_bubble_action_in {
- 940. - background-image: url(/images/edit_photo_icons_white_2x.png);
- 941. - background-size: 16px 88px;
- 942. - }
- 943. - .is_2x #privacy_custom_box .minus_friends {
- 944. - background-image: url(/images/minus_2x.png);
- 945. - background-size: 16px 16px;
- 946. - }
- 947. - .is_2x #privacy_custom_box .plus_friends {
- 948. - background-image: url(/images/plus_2x.png);
- 949. - background-size: 15px 19px;
- 950. - }
- 951. - .is_2x .index_fb_logo {
- 952. - background-image: url(/images/icons/facebook_btn_icon_2x.png);
- 953. - background-size: 8px 16px;
- 954. - }
- 955. - .is_2x .index_fb_btn button {
- 956. - background-image: url(/images/fb_buttonf_2x.png);
- 957. - background-size: 1px 44px;
- 958. - }
- 959. - .is_2x .photos_choose_row_add .icon {
- 960. - background-image: url(/images/icons/check_white_2x.png);
- 961. - background-size: 14px 13px;
- 962. - }
- 963. - .is_2x .wdd_arr {
- 964. - background-image: url(/images/wide_dd_2x.png);
- 965. - background-size: 21px 24px;
- 966. - }
- 967. - .is_2x .video_share_icon {
- 968. - background-image: url(/images/icons/videoexporticons_2x.png);
- 969. - }
- 970. - .is_2x .olympics_bar_img {
- 971. - background-image: url(/images/olymp_mono_2x.png);
- 972. - background-size: 59px 28px;
- 973. - }
- 974. - .is_2x .olympics_bar_img.sochi {
- 975. - background-image: url(/images/sochi2014_2x.png);
- 976. - background-size: 50px 33px;
- 977. - }
- 978. - .is_2x .app_new_sticker {
- 979. - background-image: url(/images/icons/new_app_en_2x.png);
- 980. - background-size: 60px 60px;
- 981. - }
- 982. - .is_2x .apps_sticker_ru {
- 983. - background-image: url(/images/icons/new_app_ru_2x.png);
- 984. - }
- 985. - .is_2x .apps_sticker_ua {
- 986. - background-image: url(/images/icons/new_app_ua_2x.png);
- 987. - }
- 988. - .is_2x .audio_new_sticker {
- 989. - background-image: url(/images/icons/new_audio_en_2x.png);
- 990. - background-size: 58px 58px;
- 991. - }
- 992. - .is_2x .audio_sticker_ru {
- 993. - background-image: url(/images/icons/new_audio_ru_2x.png);
- 994. - }
- 995. - .is_2x .audio_sticker_ua {
- 996. - background-image: url(/images/icons/new_audio_ua_2x.png);
- 997. - }
- 998. - .is_2x .pv_filter_font_icon {
- 999. - background-image: url(/images/icons/switch_fonts_2x.png);
- 1000. - background-size: 17px 25px;
- 1001. - }
- 1002. - .is_2x .checkin_big {
- 1003. - background-image: url(/images/icons/checkin_big_2x.png);
- 1004. - background-size: 17px 22px;
- 1005. - }
- 1006. - .is_2x .feedback_photo_icon {
- 1007. - background-image: url(/images/feedback_color_2x.png);
- 1008. - background-size: 16px 96px;
- 1009. - }
- 1010. - .is_2x .feedback_unread_bar {
- 1011. - background-image: url(/images/feedback_old_arrow_2x.png);
- 1012. - background-size: 7px 9px;
- ------
- Файл - feed.js (Старый размер - 103519 | Новый - 0):
- 0. - var Feed = {
- 1. - update: function (afterPost) {
- 2. - if (cur.feedUpdateLoading) return;
- 3. - if (cur.add_queue && window.Notifier &&
- 4. - Notifier.addKey(cur.add_queue, feed.updated) &&
- 5. - cur.section != 'news') {
- 6. - return;
- 7. - }
- 8. - if (cur.subsection == 'top' || inArray(cur.section, ['search', 'photos_search', 'mentions', 'articles', 'articles_search', 'likes'])) {
- 9. - return;
- 10. - }
- 11. - var rnd = Math.random();
- 12. - if (cur.section != 'news' && cur.section != 'comments' && rnd > 0.3 ||
- 13. - cur.section == 'news' && (afterPost || rnd > 0.05)) {
- 14. - return;
- 15. - }
- 16. - cur.feedUpdateLoading = true;
- 17. - ajax.post('al_feed.php?au_' + cur.section, extend(feed.getSectionParams(cur.section), {timestamp: cur.timestamp, posted: afterPost ? 1 : '', queue: cur.add_queue ? 1 : 0}), {
- 18. - onDone: function (options, rows, updates_timestamp) {
- 19. - cur.feedUpdateLoading = false;
- 20. - if (afterPost == 1 &&
- 21. - (!rows || rows.indexOf(vk.id + '') == -1)) {
- 22. - setTimeout(feed.update.pbind(2), 2000);
- 23. - return;
- 24. - }
- 25. - if (options.section != cur.section ||
- 26. - options.timestamp < cur.timestamp ||
- 27. - updates_timestamp < cur.timestamp) {
- 28. - return;
- 29. - }
- 30. - options.count += cur.count;
- 31. - var feed_rows = cur.rowsCont, au = ce('div'), el, postEl, post_raw, startST, updH = 0;
- 32. - if (cur.section == 'news') {
- 33. - startST = scrollGetY()
- 34. - if (rows) {
- 35. - au.innerHTML = rows;
- 36. - while (au.lastChild) {
- 37. - feed_rows.insertBefore(au.lastChild, feed_rows.firstChild);
- 38. - }
- 39. - each(geByClass('ts' + updates_timestamp, feed_rows), function() {
- 40. - var self = this;
- 41. - updH += this.offsetHeight;
- 42. - self.style.backgroundColor = '#FEFAE4';
- 43. - animate(self, {backgroundColor: '#FFF'}, 6000);
- 44. - cur.feedUnreadCount++;
- 45. - });
- 46. - }
- 47. - if (updH && startST > 100) {
- 48. - scrollToY(startST + updH, 0);
- 49. - }
- 50. - } else {
- 51. - if (rows) {
- 52. - au.innerHTML = rows;
- 53. - while (el = au.lastChild) {
- 54. - if (el.tagName != 'DIV') {
- 55. - au.removeChild(el);
- 56. - continue;
- 57. - }
- 58. - post_raw = el.firstChild.id.substr(4);
- 59. - if (post_raw && cur.wallLayer == post_raw) {
- 60. - continue;
- 61. - }
- 62. - if (!(postEl = ge('post' + post_raw))) {
- 63. - startST = scrollGetY();
- 64. - feed_rows.insertBefore(el, feed_rows.firstChild);
- 65. - el.style.backgroundColor = '#FEFAE4';
- 66. - animate(el, {backgroundColor: '#FFF'}, 6000);
- 67. - updH = el.offsetHeight;
- 68. - if (startST > 100) {
- 69. - scrollToY(startST + updH, 0);
- 70. - }
- 71. - } else {
- 72. - if (!hasClass(postEl.parentNode, 'feed_row')) {
- 73. - debugLog('insert fail', postEl.parentNode);
- 74. - return;
- 75. - }
- 76. - var repliesCont = ge('replies' + post_raw), openEl = repliesCont.nextSibling, cnt = 0;
- 77. - each ([].slice.call(geByClass('reply', el, 'div')), function () {
- 78. - if (ge(this.id)) return;
- 79. - addClass(this, 'new_reply');
- 80. - repliesCont.appendChild(this);
- 81. - cnt++;
- 82. - });
- 83. - if (cnt) {
- 84. - var stDelta = postEl.parentNode.offsetHeight, newCnt = geByClass('new_reply', repliesCont, 'div').length;
- 85. - if (!openEl || openEl.className != 'replies_open') {
- 86. - openEl = ce('div', {className: 'replies_open', onclick: wall.openNewComments.pbind(post_raw)});
- 87. - repliesCont.parentNode.insertBefore(openEl, repliesCont.nextSibling);
- 88. - }
- 89. - openEl.innerHTML = getLang('wall_x_new_replies_more', Math.min(100, newCnt));
- 90. - openEl.newCnt = newCnt;
- 91. -
- 92. - var st = scrollGetY(),
- 93. - ch = window.innerHeight || document.documentElement.clientHeight || bodyNode.clientHeight,
- 94. - btnY = getXY(openEl)[1],
- 95. - h = postEl.parentNode.offsetHeight;
- 96. -
- 97. - stDelta = h - stDelta;
- 98. -
- 99. - if (!inArray(post_raw, cur.feedUnread)) {
- 100. - cur.feedUnread.unshift(post_raw);
- 101. - }
- 102. - if (!cur.idleManager.isIdle && btnY > st + 100 && btnY < st + ch + 100) {
- 103. - debugLog('delaySorting');
- 104. - feed_rows.insertBefore(ge('post_ph' + post_raw) || ce('div', {id: 'post_ph' + post_raw}), feed_rows.firstChild);
- 105. - if (!inArray(post_raw, cur.feedToSort)) {
- 106. - cur.feedToSort.push(post_raw);
- 107. - }
- 108. - } else {
- 109. - debugLog('sort now', btnY, st + 100, st + ch + 100, stDelta);
- 110. - // debugLog(postEl.parentNode, feed_rows);
- 111. - re(postEl.parentNode);
- 112. - // debugLog(postEl.parentNode, feed_rows);
- 113. - feed_rows.insertBefore(postEl.parentNode, feed_rows.firstChild);
- 114. - if (btnY > st + ch + 100) {
- 115. - stDelta = h;
- 116. - }
- 117. - if (stDelta) {
- 118. - debugLog('moving st', stDelta);
- 119. - scrollToY(scrollGetY() + stDelta, 0);
- 120. - }
- 121. - }
- 122. - cur.feedUnreadCount += cnt;
- 123. - }
- 124. - au.removeChild(el);
- 125. - }
- 126. - }
- 127. - }
- 128. - }
- 129. - feed.applyOptions(options);
- 130. - feed.updateTitle();
- 131. - },
- 132. - onFail: function () {
- 133. - cur.feedUpdateLoading = false;
- 134. - return false;
- 135. - },
- 136. - showProgress: function () {
- 137. - cur.feedUpdateLoading = true;
- 138. - },
- 139. - hideProgress: function () {
- 140. - cur.feedUpdateLoading = false;
- 141. - }
- 142. - });
- 143. - },
- 144. - getNewQKey: function (to) {
- 145. - var params = {
- 146. - act: 'a_get_key',
- 147. - only_update: cur.add_queue ? 1 : 0,
- 148. - need_ignore: !isArray(cur.ignore_owners) ? 1 : 0
- 149. - };
- 150. - var options = {onDone: onDone, local: 1};
- 151. - ajax.post('al_feed.php?queue', extend(feed.getSectionParams(cur.section), params), options);
- 152. - function onDone(key, ignore_owners) {
- 153. - if (key) {
- 154. - cur.add_queue = key;
- 155. - setTimeout(feed.update.pbind(0), 0);
- 156. - } else if (!params.only_update) {
- 157. - var ts = ignore_owners;
- 158. - cur.timestamp = (ts || (vkNow() / 1000)) - to;
- 159. - return;
- 160. - }
- 161. - if (isArray(ignore_owners)) {
- 162. - cur.ignore_owners = ignore_owners;
- 163. - }
- 164. - }
- 165. - },
- 166. - updated: function (key, data) {
- 167. - if ((cur.section != 'search' && cur.section != 'news' && cur.section) || !cur.add_queue || cur.add_queue.key != key) {
- 168. - return;
- 169. - }
- 170. - if (data.failed) {
- 171. - cur.add_queue = false;
- 172. - var timeout = curNotifier.error_timeout || 1;
- 173. - clearTimeout(cur.lp_error_to);
- 174. - cur.lp_error_to = setTimeout(feed.getNewQKey.bind(feed).pbind(timeout), timeout * 1000);
- 175. - return;
- 176. - }
- 177. - if (!isArray(data.events) || !data.events.length) {
- 178. - return;
- 179. - }
- 180. - // debugLog('feed updated', data);
- 181. - cur.add_queue.ts = data.ts;
- 182. - if (data.key) {
- 183. - cur.add_queue.key = data.key;
- 184. - }
- 185. - var startST = scrollGetY(),
- 186. - updH = 0;
- 187. -
- 188. - each(data.events, function () {
- 189. - updH += feed.pushEvent(this.split('<!>'), startST);
- 190. - });
- 191. - var endST = scrollGetY();
- 192. - if (updH && startST > 100 && Math.abs(startST - endST) < 100) {
- 193. - scrollToY(endST + updH, 0);
- 194. - }
- 195. - feed.updateTitle();
- 196. - },
- 197. - pushEvent: function (ev, st) {
- 198. - var ev_ver = ev[0],
- 199. - ev_type = ev[1],
- 200. - post_id = ev[2],
- 201. - el = ge('post' + post_id),
- 202. - s = cur.section,
- 203. - flags = s != 'search' ? intval(ev.pop()) : 0,
- 204. - deltaH = 0;
- 205. -
- 206. - if (!cur.options || ev_ver != cur.options.qversion) {
- 207. - // location.reload();
- 208. - return;
- 209. - }
- 210. - // debugLog(ev_type, post_id, el, ev[ev.length - 1]);
- 211. - switch (ev_type) {
- 212. - case 'new_post':
- 213. - if (el) break;
- 214. - var adminLevel = 0;
- 215. - if (intval(ev[11]) && intval(ev[11]) != vk.id) { // own reply owner
- 216. - ajax.post('al_feed.php', {act: 'a_need_own_reply', oid: intval(ev[11])}, {
- 217. - onDone: function(need) {
- 218. - if (need) {
- 219. - ev[11] = 0;
- 220. - feed.pushEvent(ev);
- 221. - }
- 222. - }
- 223. - });
- 224. - return;
- 225. - }
- 226. - if (s != 'search') {
- 227. - var oid = post_id.split('_')[0];
- 228. - ev[8] = (intval(ev[8]) > 0 && (flags & 4) == 4) ? 1 : 0;
- 229. - if (oid < 0) {
- 230. - adminLevel = (flags & 8) ? 2 : ((flags & 2) ? 1 : 0);
- 231. - }
- 232. - // debugLog(oid, flags, adminLevel, ev[8]);
- 233. - }
- 234. - var cont = cur.rowsCont,
- 235. - cnodes = cont.childNodes,
- 236. - postHTML = wall.getNewPostHTML(ev, adminLevel, feed.feedPostRepl),
- 237. - place = ev[12],
- 238. - newEl, grouped, first, others, moreLink, singleOthers;
- 239. -
- 240. - if (place) { // Client-side grouping posts
- 241. - if (cur.ignore_owners.length && inArray(intval(place), cur.ignore_owners)) {
- 242. - break;
- 243. - }
- 244. - if (grouped = geByClass1('feed_reposts_wrap' + place, cont, 'div')) {
- 245. - first = geByClass1('feed_reposts_first', grouped, 'div').firstChild;
- 246. - others = geByClass1('feed_reposts_group', grouped, 'div');
- 247. - moreLink = geByClass1('feed_reposts_more_link', grouped, 'a');
- 248. - if (st > getXY(first)[1]) {
- 249. - deltaH -= first.offsetHeight;
- 250. - }
- 251. - first.parentNode.replaceChild(newEl = se(postHTML), first);
- 252. - others.insertBefore(first, others.firstChild);
- 253. - if (!isVisible(others)) {
- 254. - val(moreLink, getLang('news_show_X_reposts', others.childNodes.length));
- 255. - }
- 256. - grouped = grouped.parentNode;
- 257. - if (cont.firstChild != grouped) {
- 258. - cont.insertBefore(grouped, cont.firstChild);
- 259. - }
- 260. - if (st > getXY(grouped)[1]) {
- 261. - deltaH += grouped.offsetHeight;
- 262. - }
- 263. - grouped.bits = 0;
- 264. - } else if ((singleOthers = geByClass('feed_repost' + place, cont, 'div')) && singleOthers.length) {
- 265. - postHTML = rs(cur.wallTpl.grouped_posts, {
- 266. - place: place,
- 267. - random: irand(100000000, 200000000),
- 268. - first: postHTML,
- 269. - other: '',
- 270. - label: getLang('news_show_X_reposts', singleOthers.length)
- 271. - });
- 272. - var frow = se('<div class="feed_row">' + postHTML + '</div>');
- 273. - cont.insertBefore(frow, cont.firstChild);
- 274. - if (st > getXY(frow)[1]) {
- 275. - deltaH += frow.offsetHeight;
- 276. - }
- 277. - grouped = frow.firstChild;
- 278. - newEl = geByClass1('feed_reposts_first', grouped, 'div');
- 279. - others = geByClass1('feed_reposts_group', grouped, 'div');
- 280. - each(clone(singleOthers), function () {
- 281. - if (st > getXY(this)[1]) {
- 282. - deltaH -= this.offsetHeight;
- 283. - }
- 284. - re(this.parentNode);
- 285. - others.appendChild(this.firstChild);
- 286. - });
- 287. - } else {
- 288. - newEl = se('<div class="feed_row"><div class="feed_repost' + place + '">' + postHTML + '</div></div>');
- 289. - cont.insertBefore(newEl, cont.firstChild);
- 290. - if (st > getXY(newEl)[1]) {
- 291. - deltaH += newEl.offsetHeight;
- 292. - }
- 293. - }
- 294. - } else {
- 295. - newEl = se('<div class="feed_row">' + postHTML + '</div>');
- 296. - cont.insertBefore(newEl, cont.firstChild);
- 297. - if (st > getXY(newEl)[1]) {
- 298. - deltaH += newEl.offsetHeight;
- 299. - }
- 300. - }
- 301. - if (ge('post_poll_id' + post_id)) {
- 302. - wall.updatePoll(post_id);
- 303. - }
- 304. - cur.feedUnreadCount++;
- 305. - if (s != 'search') {
- 306. - setStyle(newEl, {backgroundColor: '#FEFAE4'});
- 307. - animate(newEl, {backgroundColor: '#FFF'}, 6000);
- 308. - }
- 309. - if (cnodes.length > 300) {
- 310. - cont.removeChild(cnodes[300]);
- 311. - } else if (cnodes.length <= 1) {
- 312. - hide('feed_empty');
- 313. - }
- 314. - Wall.updateMentionsIndex();
- 315. - break;
- 316. -
- 317. - case 'new_post_reply':
- 318. - if (el) break;
- 319. - var cont = cur.rowsCont,
- 320. - cnodes = cont.childNodes,
- 321. - postHTML = wall.getNewPostHTML(ev, false, feed.feedPostRepl),
- 322. - newEl = se('<div class="feed_row">' + postHTML + '</div>');
- 323. -
- 324. - cont.insertBefore(newEl, cont.firstChild);
- 325. - if (st > getXY(newEl)[1]) {
- 326. - deltaH += newEl.offsetHeight;
- 327. - }
- 328. - cur.feedUnreadCount++;
- 329. - if (cnodes.length > 300) {
- 330. - cont.removeChild(cnodes[300]);
- 331. - } else if (cnodes.length <= 1) {
- 332. - hide('feed_empty');
- 333. - }
- 334. - break;
- 335. -
- 336. - case 'edit_post':
- 337. - var editEl = ge('wpt' + post_id),
- 338. - stUnder;
- 339. - if (!isVisible(el) || !editEl) break;
- 340. -
- 341. - var wasExpanded = geByClass1('wall_post_more', editEl);
- 342. - if (wasExpanded) wasExpanded = isVisible(domNS(wasExpanded));
- 343. -
- 344. - if (stUnder = (st > getXY(editEl)[1])) {
- 345. - deltaH -= editEl.offsetHeight;
- 346. - }
- 347. - var text = psr(rs(ev[3], {
- 348. - poll_hash: cur.wallTpl.poll_hash
- 349. - }));
- 350. - val(editEl, text);
- 351. - if (wasExpanded) {
- 352. - wasExpanded = geByClass1('wall_post_more', editEl);
- 353. - if (wasExpanded) wasExpanded.onclick();
- 354. - }
- 355. - if (ge('post_poll_id' + post_id)) {
- 356. - wall.updatePoll(post_id);
- 357. - }
- 358. - if (stUnder) {
- 359. - deltaH += editEl.offsetHeight;
- 360. - }
- 361. -
- 362. - setStyle(editEl, {backgroundColor: '#FEFAE4'});
- 363. - animate(editEl, {backgroundColor: '#FFF'}, 6000);
- 364. - break;
- 365. -
- 366. - case 'edit_reply':
- 367. - var reply_id = ev[3],
- 368. - editEl = ge('wpt' + reply_id);
- 369. - if (!isVisible('post' + reply_id) || !editEl) break;
- 370. -
- 371. - var wasExpanded = geByClass1('wall_reply_more', editEl);
- 372. - if (wasExpanded) wasExpanded = isVisible(domNS(wasExpanded));
- 373. -
- 374. - updH = -editEl.offsetHeight;
- 375. - updY = getXY(editEl)[1];
- 376. - val(editEl, psr(ev[4]));
- 377. - if (wasExpanded) {
- 378. - wasExpanded = geByClass1('wall_reply_more', editEl);
- 379. - if (wasExpanded) wasExpanded.onclick();
- 380. - }
- 381. - updH += editEl.offsetHeight;
- 382. - setStyle(editEl, {backgroundColor: '#FEFAE4'});
- 383. - animate(editEl, {backgroundColor: '#FFF'}, 6000);
- 384. - break;
- 385. -
- 386. - case 'post_parsed_link':
- 387. - if (!el) break;
- 388. - var btnWrap = geByClass1('wall_postlink_preview_btn_disabled', el);
- 389. - if (!btnWrap) break;
- 390. - if (intval(ev[3])) {
- 391. - removeClass(btnWrap, 'wall_postlink_preview_btn_disabled');
- 392. - } else {
- 393. - re(btnWrap);
- 394. - }
- 395. - break;
- 396. -
- 397. - case 'del_post':
- 398. - if (el) {
- 399. - if (!cur.wallMyDeleted[post_id]) {
- 400. - if (st > getXY(el)[1]) {
- 401. - deltaH -= el.offsetHeight;
- 402. - }
- 403. - revertLastInlineVideo(el);
- 404. - hide(el);
- 405. - }
- 406. - cur.options.offset--;
- 407. - }
- 408. - break;
- 409. -
- 410. - case 'res_post':
- 411. - el && cur.options.offset++;
- 412. - break;
- 413. -
- 414. - case 'new_reply':
- 415. - if (!el || cur.wallMyReplied[post_id] || ge('post' + ev[3])) break;
- 416. -
- 417. - var repliesEl = ge('replies' + post_id),
- 418. - repliesWrap = ge('replies_wrap' + post_id),
- 419. - startH = el.offsetHeight,
- 420. - oid = post_id.split('_')[0],
- 421. - adminLevel = (oid < 0) ? ((flags & 8) ? 2 : ((flags & 2) ? 1 : 0)) : 0,
- 422. - newEl = se(wall.getNewReplyHTML(ev, adminLevel)),
- 423. - highlight = false;
- 424. -
- 425. - if (!isVisible(repliesEl) || !isVisible(repliesWrap) || isVisible('reply_link' + post_id)) {
- 426. - re('reply_link' + post_id);
- 427. - show(repliesWrap, repliesEl);
- 428. - highlight = true;
- 429. - } else {
- 430. - var openEl = repliesEl.nextSibling,
- 431. - newCnt = geByClass('new_reply', repliesEl, 'div').length + 1;
- 432. -
- 433. - if (!cur.wallMyOpened[post_id]) {
- 434. - addClass(newEl, 'new_reply');
- 435. - if (!openEl || openEl.className != 'replies_open') {
- 436. - openEl = ce('div', {className: 'replies_open', onclick: wall.openNewComments.pbind(post_id)});
- 437. - repliesEl.parentNode.insertBefore(openEl, repliesEl.nextSibling);
- 438. - }
- 439. - openEl.innerHTML = getLang('wall_x_new_replies_more', Math.min(100, newCnt));
- 440. - openEl.newCnt = newCnt;
- 441. - } else {
- 442. - if (openEl && openEl.className == 'replies_open') re(openEl);
- 443. - highlight = true;
- 444. - var headerEl = geByClass1('wr_header', repliesEl, 'a'),
- 445. - shown = geByClass('reply', repliesEl, 'div').length + 1,
- 446. - total = shown;
- 447. - if (headerEl) {
- 448. - total = intval(headerEl.getAttribute('offs').split('/')[1]) + 1;
- 449. - }
- 450. - if (total > 5 || shown < total) {
- 451. - if (!headerEl) {
- 452. - repliesEl.insertBefore(headerEl = ce('a', {className: 'wr_header'}), repliesEl.firstChild);
- 453. - }
- 454. - wall.updateRepliesHeader(post_id, headerEl, shown, total);
- 455. - }
- 456. - }
- 457. - }
- 458. - if (post_id.split('_')[0] == vk.id) {
- 459. - cur.feedUnreadCount++;
- 460. - }
- 461. - repliesEl.appendChild(newEl);
- 462. - if (st > getXY(highlight ? newEl : openEl)[1]) {
- 463. - deltaH += el.offsetHeight - startH;
- 464. - }
- 465. - if (highlight) {
- 466. - setStyle(newEl, {backgroundColor: '#FEFAE4'});
- 467. - animate(newEl, {backgroundColor: '#FFF'}, 6000);
- 468. - }
- 469. - Wall.repliesSideSetup(post_id);
- 470. - Wall.updateMentionsIndex();
- 471. - break;
- 472. -
- 473. - case 'del_reply':
- 474. - if (!cur.wallMyDeleted[post_id] && el) {
- 475. - if (st > getXY(el)[1]) {
- 476. - deltaH -= el.offsetHeight;
- 477. - }
- 478. -
- 479. - var post = el.parentNode.id.match(/replies(-?\d+_\d+)/);
- 480. - revertLastInlineVideo(el);
- 481. - re(el);
- 482. - if (post) {
- 483. - Wall.repliesSideSetup(post[1]);
- 484. - }
- 485. - }
- 486. - break;
- 487. -
- 488. - case 'like_post':
- 489. - case 'like_reply':
- 490. - if (!el) break;
- 491. - var likePost = ev_type == 'like_reply' ? post_id.replace('_', '_wall_reply') : post_id,
- 492. - cntEl = ge('like_count' + likePost),
- 493. - iconEl = ge('like_icon' + likePost),
- 494. - ttEl = iconEl && iconEl.parentNode,
- 495. - cnum = intval(val(cntEl)),
- 496. - num = intval(ev[3]);
- 497. -
- 498. - animateCount(cntEl, num);
- 499. - val('like_real_count_wall' + post_id, num);
- 500. - toggleClass(iconEl, 'no_likes', num <= 0);
- 501. - if (ttEl && ttEl.tt && !isVisible(ttEl.tt.container)) {
- 502. - ttEl && ttEl.tt && ttEl.tt.destroy();
- 503. - }
- 504. - setStyle(iconEl, {opacity: '', visibility: ''});
- 505. - break;
- 506. -
- 507. - case 'vote_poll':
- 508. - if (!el) break;
- 509. - wall.updatePollResults(post_id, ev[3]);
- 510. - break;
- 511. -
- 512. - case 'new_photos_private':
- 513. - break;
- 514. - ajax.post('al_feed.php', {act: 'a_get_private', oid: ev[2], key: ev[3], hash: ev[4], num: ev[5]}, {
- 515. - onDone: function (ev) {
- 516. - if (isArray(ev) && ev.length) {
- 517. - feed.pushEvent(ev);
- 518. - }
- 519. - }
- 520. - });
- 521. - break;
- 522. -
- 523. -
- 524. - case 'new_photos':
- 525. - case 'new_tagged':
- 526. - break;
- 527. - var cont = cur.rowsCont,
- 528. - cnodes = cont.childNodes,
- 529. - thumbs = ev.splice(7, ev.length - 7),
- 530. - place = ev[2].split('_')[1] + '_' + (ev_type == 'new_photos' ? 1 : 3),
- 531. - grouped, newEl;
- 532. -
- 533. - if (grouped = geByClass1('post_photos' + place, cont, 'div')) {
- 534. - if (st > getXY(grouped)[1]) {
- 535. - deltaH -= grouped.offsetHeight;
- 536. - }
- 537. - var numEl = geByClass1('feed_photos_num', grouped, 'small'),
- 538. - thumbsEl = geByClass1('post_media', grouped, 'div'),
- 539. - num = intval(numEl.getAttribute('num')) + thumbs.length / 3,
- 540. - thumbs_html = [], i;
- 541. - val(numEl, getLang('news_x_photos', num) + ', ' + wall.getNowRelTime());
- 542. - numEl.setAttribute('num', num);
- 543. - for (i = 0; i < thumbs.length; i += 3) {
- 544. - thumbs_html.push(cur.wallTpl.photo_thumb.replace(/%photo_id%/g, thumbs[i]).replace(/%thumb%/g, thumbs[i+1]).replace(/%temp%/g, thumbs[i+2].replace(/"/g, '"')).replace('%full_id%', ev[2]));
- 545. - }
- 546. - if (thumbs_html.length >= 8) {
- 547. - thumbs_html.splice(8, thumbs_html.length - 8);
- 548. - val(thumbsEl, thumbs_html.join(' '));
- 549. - } else {
- 550. - var t = ce('div', {innerHTML: thumbs_html});
- 551. - while (t.lastChild) {
- 552. - thumbsEl.insertBefore(t.lastChild, thumbsEl.firstChild);
- 553. - if (thumbsEl.childNodes.length > 8) {
- 554. - re(thumbsEl.lastChild);
- 555. - }
- 556. - }
- 557. - }
- 558. - newEl = grouped.parentNode;
- 559. - if (cont.firstChild != newEl) {
- 560. - cont.insertBefore(newEl, cont.firstChild);
- 561. - }
- 562. - if (st > getXY(newEl)[1]) {
- 563. - deltaH += newEl.offsetHeight;
- 564. - }
- 565. - } else {
- 566. - newEl = se('<div class="feed_row">' + wall.getNewPostHTML(ev, false, feed.feedPhotoRepl.pbind(thumbs)) + '</div>');
- 567. - addClass(newEl.firstChild, 'post_photos post_photos' + place);
- 568. - cont.insertBefore(newEl, cont.firstChild);
- 569. - if (st > getXY(newEl)[1]) {
- 570. - deltaH += newEl.offsetHeight;
- 571. - }
- 572. - }
- 573. - if (s != 'search') {
- 574. - setStyle(newEl, {backgroundColor: '#FEFAE4'});
- 575. - animate(newEl, {backgroundColor: '#FFF'}, 6000);
- 576. - }
- 577. - if (cnodes.length > 300) {
- 578. - cont.removeChild(cnodes[300]);
- 579. - } else if (cnodes.length == 1) {
- 580. - hide('feed_empty');
- 581. - }
- 582. - break;
- 583. - }
- 584. - return deltaH;
- 585. - },
- 586. - feedPostRepl: function (repl, ev) {
- 587. - repl.replies = cur.wallTpl.post_replies;
- 588. - var ext = {
- 589. - full_id: ev[2],
- 590. - item_id: 'wall_' + ev[2],
- 591. - sec_name: stripHTML(ev[3]),
- 592. - date: wall.getNowRelTime(),
- 593. - del: /*ev[9] == vk.id ? cur.wallTpl.del : */cur.wallTpl.spam // always hiding from feed
- 594. - };
- 595. - if (cur.section == 'search' && cur.q) {
- 596. - var text = repl.text || '',
- 597. - q = cur.q, q_words = q.toLowerCase().split(/[\s.,:;!?()]/),
- 598. - links = [];
- 599. - text = text.replace(/<.+?>/g, function (tag) {
- 600. - links.push(tag);
- 601. - return "\x01";
- 602. - });
- 603. - var text_l = text.toLowerCase(), i, pos, word;
- 604. - for (i = q_words.length - 1; i >= 0; i--) {
- 605. - word = q_words[i];
- 606. - if (!trim(word)) continue;
- 607. - pos = 0;
- 608. - while ((pos = text_l.indexOf(word, pos)) != -1) {
- 609. - if (text.charAt(pos - 1) == String.fromCharCode(2)) {
- 610. - pos += 2;
- 611. - continue;
- 612. - }
- 613. - text = text.substr(0, pos) + "\x02" + i + "\x02" + text.substr(pos + word.length);
- 614. - text_l = text_l.substr(0, pos) + "\x02" + i + "\x02" + text_l.substr(pos + word.length);
- 615. - }
- 616. - }
- 617. - text = text.replace(/\x02(\d+)\x02/g, function (a, i) {
- 618. - return '<span class="match">' + q_words[i] + '</span>';
- 619. - });
- 620. - text = text.replace(/\x01/g, function () {
- 621. - return links.shift() || '';
- 622. - });
- 623. - ext.text = text;
- 624. - if (ev[1] == 'new_post_reply') {
- 625. - ext.date_postfix = ev[7];
- 626. - }
- 627. - }
- 628. - return ext;
- 629. - },
- 630. - feedPhotoRepl: function (thumbs, repl, ev) {
- 631. - var thumbs_html = [], i, ext, explain = '', cnt = 1;
- 632. -
- 633. - for (i = 0; i < thumbs.length; i += 3) {
- 634. - thumbs_html.push(cur.wallTpl.photo_thumb.replace(/%photo_id%/g, thumbs[i]).replace(/%thumb%/g, thumbs[i+1]).replace(/%temp%/g, thumbs[i+2].replace(/"/g, '"')));
- 635. - }
- 636. - if (ev[1] == 'new_tagged') {
- 637. - explain = cur.wallTpl.tagged_explain.replace('%explain_text%', langSex(ev[6], cur.lang.wall_user_was_tagged_on_photos));
- 638. - } else {
- 639. - cnt = ev[6];
- 640. - }
- 641. - ext = {
- 642. - text: cur.wallTpl.photos,
- 643. - reply_link: '',
- 644. - reply_box: '',
- 645. - oid: ev[2].split('_')[1],
- 646. - explain: explain,
- 647. - photos: thumbs_html.join(' '),
- 648. - replies: cur.wallTpl.photo_replies.replace('%date%', getLang('news_x_photos', cnt) + ', ' + wall.getNowRelTime()),
- 649. - count: cnt,
- 650. - full_id: ev[2],
- 651. - item_id: ev[2].replace(/^1_/, 'photos_').replace(/^3_/, 'tagged_'),
- 652. - sec_name: stripHTML(ev[3])
- 653. - };
- 654. - return ext;
- 655. - },
- 656. - reSortItems: function () {
- 657. - debugLog('resort', cur.feedToSort);
- 658. - if (!cur.feedToSort || !cur.feedToSort.length) return;
- 659. - each (cur.feedToSort, function (k, v) {
- 660. - var ph = ge('post_ph' + v), el = ge('post' + v).parentNode;
- 661. - if (ph && el) {
- 662. - ph.parentNode.insertBefore(el, ph);
- 663. - re(ph);
- 664. - }
- 665. - });
- 666. - cur.feedToSort = [];
- 667. - scrollToY(0, 0);
- 668. - },
- 669. - updateTitle: function () {
- 670. - if (!cur.idleManager) return;
- 671. - if (!cur.idleManager.isIdle) {
- 672. - cur.feedUnreadCount = 0;
- 673. - }
- 674. - document.title = (cur.feedUnreadCount ? '('+ cur.feedUnreadCount + ') ' : '') + cur.feedInitialTitle;
- 675. - },
- 676. - toggleTabsMenu: function (on) {
- 677. - var feedMenu = ge('feed_tab_add_menu');
- 678. - if (on === undefined) {
- 679. - on = !isVisible(feedMenu);
- 680. - }
- 681. - if (browser.mozilla) {
- 682. - setStyle('page_body', {overflow: on ? 'visible' : ''});
- 683. - }
- 684. - toggle(feedMenu, on);
- 685. - if (on) {
- 686. - addEvent(document, 'mousedown', function (e) {
- 687. - Feed.toggleTabsMenu(0);
- 688. - removeEvent(document, 'mousedown', arguments.callee);
- 689. - });
- 690. - }
- 691. - },
- 692. - toggleMenu: function (on) {
- 693. - var feedMenu = ge('feed_menu');
- 694. - if (on === undefined) {
- 695. - on = !isVisible(feedMenu);
- 696. - }
- 697. - val('feed_menu_toggler', on ? getLang('news_hide_menu') : getLang('news_show_menu'));
- 698. - toggle(feedMenu, on);
- 699. - if (on) {
- 700. - addEvent(document, 'mousedown', function (e) {
- 701. - var target = e.target;
- 702. - while (target) {
- 703. - if (hasClass(target, 'dd_menu_header')) {
- 704. - return true;
- 705. - }
- 706. - target = target.parentNode;
- 707. - }
- 708. - Feed.toggleMenu(0);
- 709. - removeEvent(document, 'mousedown', arguments.callee);
- 710. - });
- 711. - }
- 712. - },
- 713. - getSectionParams: function(section) {
- 714. - var params = {section: section};
- 715. - switch (section) {
- 716. - case 'news':
- 717. - case 'recommended':
- 718. - if ((params.subsection = cur.subsections[section]) === undefined) {
- 719. - delete params.subsection;
- 720. - }
- 721. - break;
- 722. -
- 723. - case 'owner':
- 724. - if (!(params.owner = cur.owner)) {
- 725. - delete params.section;
- 726. - }
- 727. - break;
- 728. -
- 729. - case 'source':
- 730. - if (!(params.source = cur.source)) {
- 731. - delete params.source;
- 732. - }
- 733. - break;
- 734. -
- 735. - case 'list':
- 736. - if (!(params.list = cur.list)) {
- 737. - delete params.list;
- 738. - }
- 739. - break;
- 740. -
- 741. - case 'notifications':
- 742. - if (!(params.source = cur.source)) {
- 743. - delete params.source;
- 744. - }
- 745. - break;
- 746. -
- 747. - case 'articles':
- 748. - params.percent = cur.periodPercent;
- 749. - if ((params.subsection = cur.subsections[section]) === undefined) {
- 750. - delete params.subsection;
- 751. - }
- 752. - break;
- 753. -
- 754. - case 'search':
- 755. - case 'photos_search':
- 756. - if (!(params.q = trim(val('feed_search')))) {
- 757. - delete params.section;
- 758. - }
- 759. - if (!(params.sort = intval(cur.searchSortMenu && cur.searchSortMenu.val()))) {
- 760. - delete params.sort;
- 761. - }
- 762. - break;
- 763. -
- 764. - case 'articles_search':
- 765. - if (!(params.q = trim(val('feed_search')))) {
- 766. - params.section = 'articles';
- 767. - }
- 768. - break;
- 769. -
- 770. - case 'comments':
- 771. - if (cur.reposts) {
- 772. - params.reposts = cur.reposts;
- 773. - }
- 774. - break;
- 775. -
- 776. - case 'mentions':
- 777. - if (cur.mentionObj && cur.mentionObj != vk.id) {
- 778. - params.obj = cur.mentionObj;
- 779. - }
- 780. - break;
- 781. - }
- 782. - debugLog(params, section);
- 783. - return params;
- 784. - },
- 785. - switchSection: function(newSection, e) {
- 786. - if (e && checkEvent(e)) {
- 787. - return true;
- 788. - }
- 789. - if (newSection == 'search' && !trim(val('feed_search'))) {
- 790. - if (cur.section != 'search') return false;
- 791. - newSection = 'news';
- 792. - }
- 793. - if (newSection == 'photos_search' && !trim(val('feed_search'))) {
- 794. - if (cur.section != 'photos_search') return false;
- 795. - newSection = 'photos';
- 796. - }
- 797. - if (newSection == 'comments') {
- 798. - cur.reposts = cur.options.reposts = '';
- 799. - }
- 800. - feed.setSection(newSection, 1);
- 801. - var params = feed.getSectionParams(newSection || 'news');
- 802. - delete cur.feedUpdateLoading;
- 803. - delete cur.isFeedLoading;
- 804. - nav.go(extend(params || {}, {'0': 'feed'}));
- 805. - return false;
- 806. - },
- 807. - setSection: function (newSection, from) {
- 808. - from = from || 0;
- 809. - cur.prevSection = cur.section;
- 810. - if (newSection == cur.section && from < 2 || !newSection) return;
- 811. -
- 812. - var splitt = !!ge('feedtab_updates') || !ge('feedtab_news');
- 813. -
- 814. - hide('feed_progress');
- 815. -
- 816. - var feedBar = ge('feed_bar'),
- 817. - curSection = cur.section,
- 818. - curTopTab = 'news',
- 819. - newTopTab = 'news',
- 820. - curTab, newTab;
- 821. -
- 822. - if (from >= 2 && newSection == cur.section) {
- 823. - curSection = cur.prevSection || cur.section;
- 824. - }
- 825. - if (curSection == 'articles_search') {
- 826. - curTab = 'articles';
- 827. - } else if (curSection == 'photos_search') {
- 828. - curTab = 'photos';
- 829. - } else if (curSection == 'list') {
- 830. - curTab = 'list' + (newSection == 'list' ? cur.prevList : cur.list);
- 831. - } else {
- 832. - curTab = curSection || '';
- 833. - }
- 834. -
- 835. - if (newSection == 'articles_search') {
- 836. - newTab = 'articles';
- 837. - } else if (newSection == 'photos_search') {
- 838. - newTab = 'photos';
- 839. - } else if (newSection == 'list') {
- 840. - newTab = 'list' + cur.list;
- 841. - } else {
- 842. - newTab = newSection || '';
- 843. - }
- 844. -
- 845. - switch (cur.section) {
- 846. - // case 'groups':
- 847. - // case 'mentions':
- 848. - // case 'articles':
- 849. - // case 'articles_search':
- 850. - // curTopTab = 'custom';
- 851. - // break
- 852. - case 'notifications':
- 853. - curTopTab = 'notifications';
- 854. - break;
- 855. -
- 856. - case 'updates':
- 857. - if (splitt) {
- 858. - curTopTab = 'updates';
- 859. - break;
- 860. - }
- 861. - case 'comments':
- 862. - curTopTab = 'comments';
- 863. - break;
- 864. -
- 865. - case 'owner': curTopTab = 'owner'; break;
- 866. - case 'source': curTopTab = 'source'; break;
- 867. - }
- 868. - switch (newSection) {
- 869. - // case 'groups':
- 870. - // case 'mentions':
- 871. - // case 'articles':
- 872. - // case 'articles_search':
- 873. - // newTopTab = 'custom';
- 874. - // break
- 875. -
- 876. - case 'notifications':
- 877. - newTopTab = 'notifications';
- 878. - break;
- 879. -
- 880. - case 'updates':
- 881. - if (splitt) {
- 882. - newTopTab = 'updates';
- 883. - break;
- 884. - }
- 885. - case 'comments':
- 886. - newTopTab = 'comments';
- 887. - break;
- 888. -
- 889. - case 'owner':
- 890. - newTopTab = 'owner';
- 891. - break;
- 892. -
- 893. - case 'source':
- 894. - newTopTab = 'source';
- 895. - break;
- 896. - }
- 897. -
- 898. - var curTabEl = curTab && curTab != newTab && geByClass1('feed_tab_' + curTab, feedBar, 'div');
- 899. - newTabEl = newTab && geByClass1('feed_tab_' + newTab, feedBar, 'div');
- 900. -
- 901. - // debugLog('replace old', curTab, curTabEl, debugEl(curTabEl));
- 902. - curTabEl && replaceClass(curTabEl, 'summary_tab_sel', 'summary_tab');
- 903. -
- 904. - // debugLog('replace new', newTab, newTabEl, debugEl(newTabEl));
- 905. - if (newTabEl) {
- 906. - var tabLink = geByTag1('a', newTabEl),
- 907. - tween = data(tabLink, 'tween');
- 908. -
- 909. - if (tween && tween.isTweening) {
- 910. - tween.stop(false);
- 911. - }
- 912. - tabLink.style.backgroundColor = '';
- 913. - replaceClass(newTabEl, 'summary_tab', 'summary_tab_sel');
- 914. - }
- 915. -
- 916. - // debugLog(curTopTab, newTopTab, from);
- 917. - if (curTopTab != newTopTab || from > 1) {
- 918. - removeClass(ge('feedtab_' + curTopTab), 'active_link');
- 919. - addClass(ge('feedtab_' + newTopTab), 'active_link');
- 920. - if (from < 2) {
- 921. - if (cur.section != 'owner') {
- 922. - hide(feed.getTypesSection() + '_filters');
- 923. - } else {
- 924. - hide('person_filters', 'group_filters');
- 925. - }
- 926. - if (curTopTab == 'news' || cur.section == 'articles') {
- 927. - hide('feed_rate_slider_wrap');
- 928. - }
- 929. - cur.section = newSection;
- 930. - return;
- 931. - }
- 932. -
- 933. - toggle('feed_news_bar', newTopTab == 'news');
- 934. - toggle('feed_comments_bar', newTopTab == 'comments');
- 935. - toggle('feed_search_bar', inArray(newSection, ['articles_search', 'articles', 'notifications', 'search', 'photos_search', 'photos']));
- 936. - if (splitt) {
- 937. - toggle('feed_bar', newTopTab != 'updates' && newTopTab != 'notifications' && newTopTab != 'comments' && newTopTab != 'source');
- 938. - } else {
- 939. - toggle('feed_bar', newTopTab != 'source');
- 940. - }
- 941. -
- 942. - toggleClass('feed_bar', 'feed_bar_extended_search', newSection == 'search');
- 943. - }
- 944. -
- 945. - if (from > 1 && newSection.indexOf('search') == -1 && val('feed_search')) {
- 946. - Feed.searchReset();
- 947. - }
- 948. -
- 949. - var oldFilters = ge(feed.getTypesSection() + '_filters');
- 950. - cur.section = newSection;
- 951. - if (from == 4) {
- 952. - Feed.searchUpdate();
- 953. - return;
- 954. - }
- 955. -
- 956. - if (cur.section != 'owner') {
- 957. - hide(oldFilters);
- 958. - } else {
- 959. - hide('person_filters', 'group_filters');
- 960. - }
- 961. -
- 962. - var newFilters = ge(feed.getTypesSection() + '_filters');
- 963. - if (newFilters) {
- 964. - show(newFilters, 'feed_menu_toggle');
- 965. - } else {
- 966. - hide('feed_menu_toggle');
- 967. - }
- 968. - toggle('feed_edit_hidden', newSection == 'news' || newSection == 'photos');
- 969. - toggle('feed_search_sort', inArray(newSection, ['search'/*, 'photos_search'*/]));
- 970. - toggle('feed_period_select', newSection == 'articles' && cur.subsection == 'top');
- 971. - toggle('feed_rate_slider_wrap', newSection == 'articles' && cur.subsection == 'top');
- 972. -
- 973. - cur.editingHide = newSection == 'notifications' ? feed.notifyCheckHideReply : false;
- 974. -
- 975. - if (inArray(newSection, ['search', 'photos_search']) && !cur.searchSortMenu) {
- 976. - stManager.add(['ui_controls.js', 'ui_controls.css'], feed.initUi);
- 977. - }
- 978. - },
- 979. - applyOptions: function(options, from) {
- 980. - from = from || 0;
- 981. - if (options.owner) {
- 982. - cur.owner = options.owner;
- 983. - }
- 984. - cur.subsection = options.subsection || '';
- 985. - feed.setSection(options.section, from);
- 986. - if (!cur.options) cur.options = {reply_names: {}};
- 987. - extend(cur.options.reply_names, options.reply_names);
- 988. - delete options.reply_names;
- 989. - extend(cur, options);
- 990. -
- 991. - cur.subsections[cur.section] = cur.subsection;
- 992. -
- 993. - if (options.loc && from == 2) {
- 994. - nav.setLoc(options.loc);
- 995. - }
- 996. - if (options.summary) {
- 997. - val('feed_summary', options.summary);
- 998. - }
- 999. - if (options.owner_name) {
- 1000. - val(geByTag1('nobr', ge('feedtab_owner')), options.owner_name);
- 1001. - }
- 1002. - if (options.source_name) {
- 1003. - val(geByTag1('nobr', ge('feedtab_source')), options.source_name);
- 1004. - }
- 1005. - if (options.htitle) {
- 1006. - cur.feedInitialTitle = document.title = replaceEntities(stripHTML(options.htitle));
- 1007. - }
- 1008. - if (options.add_queue !== undefined && options.add_queue !== null) {
- 1009. - if (from) {
- 1010. - if (options.add_queue === true) {
- 1011. - cur.add_queue = options.add_queue = false;
- 1012. - }
- 1013. - feed.getNewQKey(0);
- 1014. - }
- 1015. - if (cur.add_queue = options.add_queue) {
- 1016. - setTimeout(feed.update.pbind(0), 0);
- 1017. - }
- 1018. - } else if (from && cur.section != 'search' && cur.section != 'news' && cur.section) {
- 1019. - cur.add_queue = false;
- 1020. - }
- 1021. - if (options.q) {
- 1022. - val('feed_search', replaceEntities(options.q));
- 1023. - var query = options.q;
- 1024. - if (query.length > 30) {
- 1025. - query = trim(query.substr(0, 30)) + '...';
- 1026. - }
- 1027. - }
- 1028. - if (options.last_view) cur.options.last_view = options.last_view;
- 1029. - Feed.searchUpdate();
- 1030. - if (cur.section == 'comments' && !cur.reposts) {
- 1031. - toggle('comments_filters', !cur.reposts);
- 1032. - }
- 1033. - if (cur.all_shown_text) {
- 1034. - val('all_shown', cur.all_shown_text);
- 1035. - }
- 1036. - if (cur.empty_text) {
- 1037. - val('feed_empty', cur.empty_text);
- 1038. - }
- 1039. - if (cur.percent !== undefined && cur.percent !== null) {
- 1040. - feed.sliderUpdate(cur.percent, true);
- 1041. - delete cur.percent;
- 1042. - }
- 1043. - if (cur.count >= 0) {
- 1044. - re('feed_error_wrap');
- 1045. - }
- 1046. - var hasNews = geByClass1('feed_row', cur.rowsCont, 'div') || false,
- 1047. - isEmpty = !hasNews,
- 1048. - nextRows = ge('feed_rows_next');
- 1049. -
- 1050. - if (isEmpty) {
- 1051. - toggle('feed_empty', !isVisible('feed_error_wrap'));
- 1052. - hide('all_shown');
- 1053. - toggle('show_more_link', cur.count > 0 && !cur.all_shown);
- 1054. - } else if (cur.all_shown && (!nextRows || !nextRows.firstChild)) {
- 1055. - hide('feed_empty', 'show_more_link');
- 1056. - show('all_shown');
- 1057. - re(nextRows);
- 1058. - } else {
- 1059. - hide('feed_empty', 'all_shown');
- 1060. - show('show_more_link');
- 1061. - }
- 1062. -
- 1063. - if (cur.section == 'notifications' && cur.notify) {
- 1064. - var el = ge('feedback_row_' + cur.notify);
- 1065. - if (el) {
- 1066. - setTimeout(function () {el.onclick()}, browser.msie ? 100 : 0);
- 1067. - delete cur.notify;
- 1068. - }
- 1069. - }
- 1070. - Feed.applyUi();
- 1071. - },
- 1072. - showMore: function() {
- 1073. - if (cur.isFeedLoading) return;
- 1074. - cur.disableAutoMore = false;
- 1075. - var nextRows = ge('feed_rows_next');
- 1076. - if (nextRows) {
- 1077. - if (nextRows.firstChild) {
- 1078. - while (nextRows.firstChild) {
- 1079. - cur.rowsCont.insertBefore(nextRows.firstChild, nextRows);
- 1080. - }
- 1081. - }
- 1082. - re(nextRows);
- 1083. - }
- 1084. - if (cur.all_shown) {
- 1085. - hide('show_more_link');
- 1086. - show('all_shown');
- 1087. - }
- 1088. - hide('show_more');
- 1089. - show('show_more_progress');
- 1090. - var escPressed = false;
- 1091. - var tmp = function (e) { if (e.keyCode == KEY.ESC) { escPressed = true; } };
- 1092. - addEvent(document, 'keyup', tmp);
- 1093. - var params = feed.getSectionParams(cur.section || 'news');
- 1094. - extend(params, {offset: cur.offset, from: cur.from, part: 1, more: 1, last_view: ge('feedback_unread_bar') ? 1 : cur.options.last_view});
- 1095. - ajax.post('al_feed.php?sm_' + cur.section, params, {
- 1096. - onDone: function (options, rows) {
- 1097. - removeEvent(document, 'keyup', tmp);
- 1098. - if (escPressed) {
- 1099. - show('show_more');
- 1100. - hide('show_more_progress');
- 1101. - cur.disableAutoMore = true;
- 1102. - return;
- 1103. - }
- 1104. - if (rows) {
- 1105. - var au = ce('div'), row;
- 1106. - au.innerHTML = rows;
- 1107. - while (row = au.firstChild) {
- 1108. - if (!row.firstChild || !row.firstChild.id || ge(row.firstChild.id)) {
- 1109. - if (row.id != 'feedback_unread_bar' && row.className != 'feed_row_fb_hidden') {
- 1110. - au.removeChild(row);
- 1111. - continue;
- 1112. - }
- 1113. - }
- 1114. - cur.rowsCont.appendChild(row);
- 1115. - }
- 1116. - }
- 1117. - show('show_more');
- 1118. - hide('show_more_progress');
- 1119. - feed.applyOptions(options);
- 1120. - setTimeout(feed.scrollCheck, 200);
- 1121. - },
- 1122. - showProgress: function () {
- 1123. - cur.isFeedLoading = true;
- 1124. - },
- 1125. - hideProgress: function () {
- 1126. - cur.isFeedLoading = false;
- 1127. - },
- 1128. - cache: 1
- 1129. - });
- 1130. - },
- 1131. - getTypesSection: function () {
- 1132. - switch (cur.section) {
- 1133. - case 'owner':
- 1134. - return (cur.owner > 0 ? 'person' : 'group');
- 1135. -
- 1136. - default:
- 1137. - return cur.section;
- 1138. - }
- 1139. - },
- 1140. - checkTabsFilter: function (option, option_id) {
- 1141. - switch (option) {
- 1142. - case 'news': return false;
- 1143. - case 'newlist': return Feed.addList();
- 1144. - default:
- 1145. - if (listMatches = option.match(/list(\d+)/)) {
- 1146. - return Feed.editList(listMatches[1]);
- 1147. - }
- 1148. - }
- 1149. -
- 1150. - var cont = ge('tabs_type_filter'),
- 1151. - filter_row = ge('filter_' + option_id),
- 1152. - my_types = cur.my_feed_types.tabs,
- 1153. - types = cur.feed_types.tabs,
- 1154. - found, pos, listMatches;
- 1155. -
- 1156. - found = (pos = indexOf(my_types, option)) != -1;
- 1157. - toggleClass(filter_row, 'checked', !found);
- 1158. - if (found) {
- 1159. - my_types.splice(pos, 1);
- 1160. - if (cur.section == option) {
- 1161. - feed.switchSection('news');
- 1162. - }
- 1163. - } else {
- 1164. - my_types.push(option);
- 1165. - }
- 1166. -
- 1167. - // Feed.toggleTabsMenu(0);
- 1168. - cur.my_feed_types.tabs = my_types;
- 1169. - var tabEl = geByClass1('feed_tab_' + option, ge('feed_news_bar'))
- 1170. - tabLink = geByTag1('a', tabEl),
- 1171. - vis = isVisible(tabEl);
- 1172. - toggleClass(tabEl, 'feed_tab_hidden', found);
- 1173. - var onComplete = function () {
- 1174. - debugLog('oncomplete ', tabEl);
- 1175. - tabLink.style.backgroundColor = '';
- 1176. - };
- 1177. - if (!vis && !found) {
- 1178. - setStyle(tabLink, {backgroundColor: '#E1E7ED'});
- 1179. - debugLog('animate ', tabEl);
- 1180. - animate(tabLink, {backgroundColor: '#F7F7F7'}, 1000, onComplete);
- 1181. - tabLink.oncompleteTO = setTimeout(onComplete, 1000);
- 1182. - } else {
- 1183. - onComplete();
- 1184. - }
- 1185. - clearTimeout(cur.saveTabsTO);
- 1186. - cur.saveTabsTO = setTimeout(Feed.saveTabs, 500);
- 1187. - },
- 1188. - checkFilter: function(option, option_id) {
- 1189. - var typesSection = feed.getTypesSection(),
- 1190. - cont = ge(typesSection + '_type_filter'),
- 1191. - filter_row = ge('filter_' + option_id),
- 1192. - my_types = cur.my_feed_types[typesSection],
- 1193. - types = cur.feed_types[typesSection],
- 1194. - found, pos;
- 1195. -
- 1196. - if (my_types === true) {
- 1197. - my_types = clone(cur.feed_types[typesSection]);
- 1198. - }
- 1199. - // debugLog(typesSection, cont, filter_row, my_types, types);
- 1200. - found = (pos = indexOf(my_types, option)) != -1;
- 1201. - if (found) {
- 1202. - my_types.splice(pos, 1);
- 1203. - removeClass(filter_row, 'checked');
- 1204. - } else {
- 1205. - my_types.push(option);
- 1206. - if (my_types.length == types.length) {
- 1207. - my_types = true;
- 1208. - }
- 1209. - addClass(filter_row, 'checked');
- 1210. - }
- 1211. -
- 1212. - cur.my_feed_types[typesSection] = my_types;
- 1213. - feed.updateTypesCookie();
- 1214. - feed.switchSection(cur.section);
- 1215. - },
- 1216. - setFilter: function (option, option_id) {
- 1217. - var typesSection = feed.getTypesSection(),
- 1218. - cont = ge(typesSection + '_type_filter'),
- 1219. - filter_row = ge('filter_' + option_id),
- 1220. - my_types = cur.my_feed_types[typesSection],
- 1221. - types = cur.feed_types[typesSection],
- 1222. - pos,
- 1223. - all_unchecked = true;
- 1224. -
- 1225. - each (geByClass('checked', cont, 'div'), function () {
- 1226. - if (this != filter_row) return (all_unchecked = false);
- 1227. - });
- 1228. - if (all_unchecked) {
- 1229. - cur.my_feed_types[typesSection] = true;
- 1230. - each(geByClass('feed_filter_row', cont, 'div'), function () {
- 1231. - addClass(this, 'checked');
- 1232. - });
- 1233. - } else {
- 1234. - each([].slice.apply(geByClass('checked', cont, 'div')), function () {
- 1235. - removeClass(this, 'checked');
- 1236. - });
- 1237. - cur.my_feed_types[typesSection] = [option];
- 1238. - addClass(filter_row, 'checked');
- 1239. - }
- 1240. -
- 1241. - feed.updateTypesCookie();
- 1242. - feed.switchSection(cur.section);
- 1243. - },
- 1244. - updateTypesCookie: function () {
- 1245. - var new_cookie = [];
- 1246. - each(cur.my_feed_types, function (section, types) {
- 1247. - if (section == 'tabs') return;
- 1248. - new_cookie.push(
- 1249. - types === true ? '*' : types.join(',')
- 1250. - );
- 1251. - });
- 1252. - setCookie('remixfeed', new_cookie.join('.'), 365);
- 1253. - },
- 1254. - flistToggleReposts: function (value, hash) {
- 1255. - ajax.post('al_feed.php', {act: 'a_toggle_reposts', value: value, hash: hash}, {
- 1256. - onDone: function () {
- 1257. - feed.getNewQKey(0);
- 1258. - }
- 1259. - });
- 1260. - },
- 1261. - switchPhotos: function (loc, el, event) {
- 1262. - if (wall.checkPostClick(el, event)) {
- 1263. - return nav.go(loc, event);
- 1264. - }
- 1265. - },
- 1266. - switchOwner: function (owner_id, owner_name, el, event) {
- 1267. - if (el && event && !wall.checkPostClick(el, event)) return;
- 1268. - var ownerLabel = geByTag1('nobr', ge('feedtab_owner')),
- 1269. - loadCb = inArray(cur.section, ['comments', 'photos']) ? false : feed.onLocalTabLoad;
- 1270. - val(ownerLabel, owner_name);
- 1271. - cur.owner = owner_id;
- 1272. - feed.setSection('owner', 1);
- 1273. - feed.go(feed.getSectionParams(cur.section), loadCb);
- 1274. - },
- 1275. - switchSearch: function () {
- 1276. - Feed.setSection('search', 4);
- 1277. - Feed.searchToggleExtended(true);
- 1278. - setTimeout(elfocus.pbind('feed_search'), 10);
- 1279. - },
- 1280. - switchList: function (list_id) {
- 1281. - cur.prevList = cur.list;
- 1282. - cur.list = list_id;
- 1283. - feed.setSection('list', 1);
- 1284. - feed.go(feed.getSectionParams(cur.section));
- 1285. - },
- 1286. - submitSearch: function (query, section) {
- 1287. - if (query === undefined) {
- 1288. - query = trim(val('feed_search'));
- 1289. - } else {
- 1290. - val('feed_search', query);
- 1291. - Feed.searchUpdate();
- 1292. - }
- 1293. - var section = (section === undefined ? cur.section : section) || '',
- 1294. - switchTo = 'search',
- 1295. - switchToBad = 'news';
- 1296. - if (!section.indexOf('articles')) {
- 1297. - switchTo = 'articles_search';
- 1298. - switchToBad = 'articles';
- 1299. - } else if (!section.indexOf('photos')) {
- 1300. - switchTo = 'photos_search';
- 1301. - switchToBad = 'photos';
- 1302. - }
- 1303. - if (!query) {
- 1304. - feed.switchSection(switchToBad);
- 1305. - return;
- 1306. - }
- 1307. - var loadCb = false; // inArray(cur.section, ['comments', 'photos', 'search', 'articles_search']) ? false : feed.onLocalTabLoad;
- 1308. - feed.setSection(switchTo, 1);
- 1309. - feed.go(feed.getSectionParams(cur.section), loadCb);
- 1310. - },
- 1311. - onLocalTabLoad: function (content) {
- 1312. - // debugLog('local tab load', content);
- 1313. - if (window.wall) wall.cancelEdit();
- 1314. - var _back = cur._back, wNode = cur.rowsCont, cur_loc = hab.getLoc();
- 1315. - var newW = ce('div', {id: 'feed_rows', innerHTML: content}), st = scrollGetY();
- 1316. - cur._back_local = {
- 1317. - content: wNode.parentNode.replaceChild(newW, wNode),
- 1318. - section: cur.prevSection || cur.section || 'news',
- 1319. - subsection: cur.subsection,
- 1320. - percent: cur.percent,
- 1321. - owner: cur.owner,
- 1322. - source: cur.source,
- 1323. - q: cur.q,
- 1324. - reposts: cur.reposts,
- 1325. - add_queue: cur.add_queue,
- 1326. - loc: cur_loc,
- 1327. - scrollTop: st,
- 1328. - back: (window._tbLink && _tbLink.loc) ? [_tbLink.loc, val(_tbLink), _tbLink.fast] : false,
- 1329. - count: cur.count,
- 1330. - offset: cur.offset,
- 1331. - from: cur.from,
- 1332. - timestamp: cur.timestamp,
- 1333. - summary: cur.summary,
- 1334. - // options: cur.options,
- 1335. - all_shown: cur.all_shown,
- 1336. - all_shown_text: cur.all_shown_text,
- 1337. - empty_text: cur.empty_text,
- 1338. - htitle: cur.feedInitialTitle
- 1339. - };
- 1340. - cur.rowsCont = newW;
- 1341. - // cur.options = {};
- 1342. - scrollToY(0, 0);
- 1343. - showBackLink(cur._back_local.loc, getLang('news_return_to_news'), true);
- 1344. - },
- 1345. - returnToFeed: function (params, back) {
- 1346. - if (!cur._back_local) {
- 1347. - return true;
- 1348. - }
- 1349. -
- 1350. - var hist = cur._back_local;
- 1351. - if (params !== false) {
- 1352. - var next_section = params.section || 'news';
- 1353. - if (hist.section != next_section) {
- 1354. - return true;
- 1355. - }
- 1356. - } else {
- 1357. - params = {section: hist.section};
- 1358. - }
- 1359. - setTimeout(function() {
- 1360. - cur._back_local = false;
- 1361. - var _back = cur._back, wNode = cur.rowsCont;
- 1362. - cur.rowsCont = wNode.parentNode.replaceChild(hist.content, wNode);
- 1363. - feed.applyOptions({
- 1364. - section: hist.section,
- 1365. - subsection: hist.subsection,
- 1366. - percent: hist.percent,
- 1367. - owner: hist.owner,
- 1368. - source: hist.source,
- 1369. - q: hist.q,
- 1370. - reposts: hist.reposts,
- 1371. - add_queue: hist.add_queue,
- 1372. - count: hist.count,
- 1373. - offset: hist.offset,
- 1374. - from: hist.from,
- 1375. - timestamp: hist.timestamp,
- 1376. - options: hist.options,
- 1377. - all_shown: hist.all_shown,
- 1378. - all_shown_text: hist.all_shown_text,
- 1379. - empty_text: hist.empty_text,
- 1380. - htitle: hist.htitle,
- 1381. - summary: hist.summary
- 1382. - }, 3);
- 1383. - if (hist.back) {
- 1384. - showBackLink(hist.back[0], hist.back[1], hist.back[2]);
- 1385. - } else {
- 1386. - showBackLink(false);
- 1387. - }
- 1388. - nav.setLoc(hist.loc);
- 1389. - if (back) {
- 1390. - scrollToY(hist.scrollTop, 0);
- 1391. - } else {
- 1392. - scrollToY(0, 0);
- 1393. - feed.go(params);
- 1394. - }
- 1395. - }, 10);
- 1396. - return false;
- 1397. - },
- 1398. - updFeedbackUnreadBar: function() {
- 1399. - var el = ge('feedback_unread_bar'), prev = domFC(domPS(el));
- 1400. - if (el) toggleClass(el, 'feedback_after_clickable', !!(prev && hasClass(prev, 'feedback_row_clickable') && hasClass(prev, 'feedback_row_clickable_over')));
- 1401. - },
- 1402. - notifyShowEditReply: function (item, opts) {
- 1403. - if (cur.editing && cur.notifyReplyData && cur.notifyReplyData[cur.editing].disabled) {
- 1404. - feed.notifyCheckHideReply(cur.editing, (window.event || {}).target);
- 1405. - }
- 1406. - var replyWrap = ge(item + '_reply_wrap');
- 1407. - if (replyWrap) {
- 1408. - if (isVisible(replyWrap)) {
- 1409. - feed.notifyCheckHideReply(item, false);
- 1410. - } else {
- 1411. - show(replyWrap);
- 1412. - var pEl = domPN(ge('feedback_row_' + item));
- 1413. - removeClass(pEl, 'feedback_row_clickable');
- 1414. - Feed.updFeedbackUnreadBar();
- 1415. - if (opts.disabled) {
- 1416. - setTimeout(function() { cur.editing = item; }, 0);
- 1417. - } else {
- 1418. - val(item + '_field', opts.greet);
- 1419. - var ta = ge(item + '_field');
- 1420. - ta && ta.autosize && ta.autosize.update();
- 1421. - setTimeout(elfocus.pbind(item + '_field'), 0);
- 1422. - }
- 1423. - feed.notifyRowOver(item, 0);
- 1424. - }
- 1425. - return;
- 1426. - }
- 1427. -
- 1428. - var itemEl = ge('feedback_row_' + item), pEl = domPN(itemEl),
- 1429. - acts = '',
- 1430. - repl = {
- 1431. - hint: opts.hint || '',
- 1432. - bighint: opts.bighint || '',
- 1433. - placeholder: opts.ph,
- 1434. - submit: opts.btn,
- 1435. - greeting: opts.greet,
- 1436. - item: item
- 1437. - };
- 1438. -
- 1439. - removeClass(pEl, 'feedback_row_clickable');
- 1440. - Feed.updFeedbackUnreadBar();
- 1441. -
- 1442. - if (cur.notifyReplyData === undefined) {
- 1443. - cur.notifyReplyData = {};
- 1444. - }
- 1445. - cur.notifyReplyData[item] = opts;
- 1446. - if (opts.disabled) {
- 1447. - itemEl.parentNode.appendChild(se(rs(cur.options.feedback_dis, {item: item, text: opts.disabled})));
- 1448. - setTimeout(function() { cur.editing = item; }, 0);
- 1449. - } else {
- 1450. - itemEl.parentNode.appendChild(se(rs(cur.options.feedback_form, repl)));
- 1451. - var ta = ge(item + '_field');
- 1452. - ta.onfocus = function () {cur.editing = item};
- 1453. - autosizeSetup(ta, {minHeight: 31});
- 1454. - setTimeout(elfocus.pbind(ta), 0);
- 1455. - Wall.initComposer(ta, {
- 1456. - lang: {
- 1457. - introText: getLang('profile_mention_start_typing'),
- 1458. - noResult: getLang('profile_mention_not_found')
- 1459. - }
- 1460. - });
- 1461. - }
- 1462. - feed.notifyRowOver(item, 0);
- 1463. - },
- 1464. - onNotifyReplySubmit: function (item, e) {
- 1465. - var rf = ge(item + '_field');
- 1466. - if (e.keyCode == KEY.RETURN || e.keyCode == 10) {
- 1467. - var composer = data(rf, 'composer'),
- 1468. - isListVisible = composer && composer.wdd && composer.wdd.listWrap && isVisible(composer.wdd.listWrap);
- 1469. -
- 1470. - if (cur.wallTpl.reply_multiline && (e.ctrlKey || browser.mac && e.metaKey) ||
- 1471. - !cur.wallTpl.reply_multiline && !e.shiftKey && !(e.ctrlKey || browser.mac && e.metaKey) && !isListVisible) {
- 1472. - feed.notifySendReply(item);
- 1473. - return cancelEvent(e);
- 1474. - }
- 1475. - }
- 1476. - if (e.ctrlKey && e.keyCode == KEY.RETURN) {
- 1477. - var v = val(rf),
- 1478. - pos = Composer.getCursorPosition(rf);
- 1479. -
- 1480. - val(rf, v.substr(0, pos) + "\n" + v.substr(pos));
- 1481. - elfocus(rf, pos + 1, pos + 1);
- 1482. -
- 1483. - rf.autosize.update();
- 1484. - setTimeout(function () {
- 1485. - rf.autosize.update();
- 1486. - }, 0);
- 1487. - return cancelEvent(e);
- 1488. - }
- 1489. - },
- 1490. - notifySendReply: function (item) {
- 1491. - var opts = cur.notifyReplyData[item];
- 1492. - if (!opts || opts.sending) return;
- 1493. -
- 1494. - var ta = ge(item + '_field'),
- 1495. - btn = ge(item + '_btn'),
- 1496. - params = {
- 1497. - act: 'post',
- 1498. - message: trim(val(ta)),
- 1499. - from: 'feedback',
- 1500. - item: item
- 1501. - };
- 1502. - extend(params, opts.params || {});
- 1503. - if (!params.message || opts.greet && !opts.greet.indexOf(params.message)) {
- 1504. - notaBene(ta);
- 1505. - return;
- 1506. - }
- 1507. - opts.sending = 1;
- 1508. - ajax.post('al_wall.php', params, {
- 1509. - onDone: function (text, answer) {
- 1510. - delete opts.sending;
- 1511. - feed.notifyHideReply(item);
- 1512. - if (answer) {
- 1513. - var answerWrap = ge(item + '_answer_wrap');
- 1514. - val(answerWrap, answer);
- 1515. - show(answerWrap);
- 1516. - } else if (text) {
- 1517. - showDoneBox(text);
- 1518. - }
- 1519. - },
- 1520. - onFail: function () {
- 1521. - delete opts.sending;
- 1522. - },
- 1523. - showProgress: lockButton.pbind(btn),
- 1524. - hideProgress: unlockButton.pbind(btn)
- 1525. - });
- 1526. - },
- 1527. - notifyCheckHideReply: function (item, target) {
- 1528. - var opts = cur.notifyReplyData[item],
- 1529. - toggled = target === false;
- 1530. - if (!opts || opts.sending || !isVisible(item + '_reply_wrap')) return;
- 1531. -
- 1532. - var i = 8, foundGood = false;
- 1533. - do {
- 1534. - if (!target || (foundGood = (target.id == (item + '_reply_wrap') || target.id == ('feedback_row_' + item)))) {
- 1535. - break;
- 1536. - }
- 1537. - } while (i-- && (target = target.parentNode));
- 1538. - if (foundGood) {
- 1539. - return;
- 1540. - }
- 1541. - cur.editing = false;
- 1542. - if (!opts.disabled) {
- 1543. - var ta = ge(item + '_field'), msg = trim(val(ta));
- 1544. - if (msg && !opts.greet || opts.greet.indexOf(msg)) {
- 1545. - return;
- 1546. - }
- 1547. - }
- 1548. - feed.notifyHideReply(item, toggled);
- 1549. - },
- 1550. - notifyHideReply: function (item, toggled) {
- 1551. - if (cur.editing == item) {
- 1552. - cur.editing = false;
- 1553. - }
- 1554. - var pEl = domPN(ge('feedback_row_' + item));
- 1555. - addClass(pEl, 'feedback_row_clickable');
- 1556. - Feed.updFeedbackUnreadBar();
- 1557. - hide(item + '_reply_wrap');
- 1558. - if (toggled) {
- 1559. - feed.notifyRowOver(item, 1);
- 1560. - }
- 1561. - },
- 1562. -
- 1563. - notifyRowOver: function (item, state) {
- 1564. - var el = ge('feedback_row_' + item).parentNode,
- 1565. - prevRow = el.parentNode.previousSibling,
- 1566. - over = 2,
- 1567. - likeEl;
- 1568. -
- 1569. - while (prevRow && prevRow.nodeType == 3) { // skipping text nodes
- 1570. - prevRow = prevRow.previousSibling;
- 1571. - }
- 1572. -
- 1573. - if (state && hasClass(el, 'feedback_row_clickable')) {
- 1574. - if (prevRow && prevRow.className == 'feed_row' && isVisible(geByClass1('feedback_reply_row_wrap', prevRow, 'div'))) {
- 1575. - over = 2;
- 1576. - } else if (!prevRow) {
- 1577. - over = 3;
- 1578. - } else if (prevRow.id == 'feedback_unread_bar') {
- 1579. - over = 4;
- 1580. - }
- 1581. - addClass(el, 'feedback_row_clickable_over' + over);
- 1582. - addClass(el, 'feedback_row_clickable_over');
- 1583. - } else {
- 1584. - removeClass(el, 'feedback_row_clickable_over1');
- 1585. - removeClass(el, 'feedback_row_clickable_over2');
- 1586. - removeClass(el, 'feedback_row_clickable_over3');
- 1587. - removeClass(el, 'feedback_row_clickable_over4');
- 1588. - removeClass(el, 'feedback_row_clickable_over');
- 1589. - if (likeEl = geByTag1('div', geByClass1('like_wrap', ge(el), 'div'))) {
- 1590. - var to = data(likeEl, 'likeoutTO'), tween = data(likeEl, 'tween');
- 1591. - to && clearTimeout(to);
- 1592. - tween && tween.stop(true);
- 1593. - setStyle(likeEl, {display: '', opacity: ''});
- 1594. - }
- 1595. - }
- 1596. - Feed.updFeedbackUnreadBar();
- 1597. - },
- 1598. - expandAppend: function(item, cont, data, right, onlyClient) {
- 1599. - var langs = ['', val('fbgr_' + item + '_1'), val('fbgr_' + item + '_2')];
- 1600. - if (data.date) {
- 1601. - if (ge('feedback_grouped_' + item + '_' + data.mid)) {
- 1602. - val(geByClass1('feedback_row_date', ge('feedback_grouped_' + item + '_' + data.mid)), data.date);
- 1603. - return;
- 1604. - }
- 1605. - if (ge('feedback_grouped_' + item).getAttribute('data-mid') == data.mid) {
- 1606. - return;
- 1607. - }
- 1608. - }
- 1609. - if (onlyClient) return;
- 1610. - var cl = (geByClass1('feedback_grouped_row', ge('feedback_grouped_' + item)) || {}).className || 'feedback_grouped_row';
- 1611. - cont.appendChild(domFC(ce('div', {innerHTML: '\
- 1612. - <div class="feedback_grouped_row_wrap" id="feedback_grouped_' + item + '_' + data.mid + '" data-mid="' + data.mid + '" data-sex="' + data.sex + '"' + (data.date ? '' : ' data-auto="1"') + '>\
- 1613. - <div class="' + cl + '">\
- 1614. - <table class="feedback_row_t" cellpadding="0" cellspacing="0">\
- 1615. - <tr>\
- 1616. - <td class="feedback_row_photo">\
- 1617. - <div class="feedback_row_photo" onclick="event.cancelBubble = true;">\
- 1618. - <a class="feedback_row_photo_lnk" href="' + data.href + '" onclick="return nav.go(this, event);">\
- 1619. - <div class="feedback_photo_icon"></div>\
- 1620. - <img class="feedback_row_photo" src="' + data.img + '" />\
- 1621. - </a>\
- 1622. - </div>\
- 1623. - </td>\
- 1624. - <td class="feedback_row_content">\
- 1625. - <div class="feedback_row_group_names">' + langSex(data.sex, langs).replace('{names}', data.lnk) + '</div>\
- 1626. - <div class="feedback_row_group_photos clear_fix"></div>\
- 1627. - <div class="feedback_row_date">' + (data.date || ' ') + '</div>\
- 1628. - </td>\
- 1629. - ' + right + '\
- 1630. - </tr>\
- 1631. - </table>\
- 1632. - </div>\
- 1633. - </div>'})));
- 1634. - },
- 1635. - expanded: function(item, data, onlyClient) {
- 1636. - var el = ge('feedback_grouped_' + item);
- 1637. - if (!el) return;
- 1638. -
- 1639. - var phs = geByClass1('feedback_row_group_photos', el), tmp = ce('div');
- 1640. - if (domFC(phs)) return;
- 1641. -
- 1642. - var exp = domNS(domPN(el));
- 1643. - if (!hasClass(exp, 'feed_row_fb_expanded')) return;
- 1644. -
- 1645. - var cls = geByClass1('feedback_row_t', el).rows[0].cells,
- 1646. - right = (cls.length > 2) ? '<td class="' + cls[2].className + '">' + val(cls[2]) + '</td>' : '';
- 1647. - for (var i in data) {
- 1648. - feed.expandAppend(item, exp, data[i], right, onlyClient);
- 1649. - }
- 1650. - Feed.updFeedbackUnreadBar();
- 1651. - },
- 1652. - expand: function(ev, item) {
- 1653. - ev = ev || window.event;
- 1654. - if (checkEvent(ev) || ev && ev.target && hasClass(ev.target, 'mem_link')) return;
- 1655. -
- 1656. - var el = ge('feedback_grouped_' + item);
- 1657. - if (!el) return;
- 1658. -
- 1659. - var phs = geByClass1('feedback_row_group_photos', el), tmp = ce('div'), thumbs = !!domFC(phs);
- 1660. - if (thumbs) {
- 1661. - var exp = ce('div', {className: 'feed_row_fb_expanded'}),
- 1662. - langs = ['', val('fbgr_' + item + '_1'), val('fbgr_' + item + '_2')],
- 1663. - cls = geByClass1('feedback_row_t', el).rows[0].cells,
- 1664. - right = (cls.length > 2) ? '<td class="' + cls[2].className + '">' + val(cls[2]) + '</td>' : '';
- 1665. - domPN(domPN(el)).insertBefore(exp, domNS(domPN(el)));
- 1666. - for (var e = domFC(phs); e; e = domFC(phs)) {
- 1667. - if (hasClass(e, 'feedback_group_photo_wrap')) {
- 1668. - var mid = e.getAttribute('data-mid'),
- 1669. - sex = e.getAttribute('data-sex'),
- 1670. - a = geByClass1('feedback_group_photo', e),
- 1671. - name = (a || {}).title || 'DELETED',
- 1672. - href = (a || {}).href || '/',
- 1673. - lnk = '<a href="' + href + '" class="mem_link">' + replaceEntities(name) + '</a>',
- 1674. - img = (domFC(a) || {}).src || '/images/camera_c.gif';
- 1675. - feed.expandAppend(item, exp, {mid: mid, sex: sex, href: href, img: img, lnk: lnk}, right);
- 1676. - }
- 1677. - re(e);
- 1678. - }
- 1679. - ajax.post('al_feed.php', {act: 'expand', item: item}, {onDone: feed.expanded.pbind(item), cache: 1});
- 1680. - } else {
- 1681. - var exp = domNS(domPN(el));
- 1682. - if (!hasClass(exp, 'feed_row_fb_expanded')) return;
- 1683. - for (var e = domFC(exp); e; e = domFC(exp)) {
- 1684. - if (hasClass(e, 'feedback_grouped_row_wrap') && e.getAttribute('data-auto')) {
- 1685. - var name = geByClass1('mem_link', e) || {};
- 1686. - phs.appendChild(domFC(ce('div', {innerHTML: '\
- 1687. - <div class="feedback_group_photo_wrap fl_l" data-mid="' + e.getAttribute('data-mid') + '" data-sex="' + e.getAttribute('data-sex') + '">\
- 1688. - <a href="' + name.href + '" class="feedback_group_photo" title="' + replaceEntities(val(name)) + '"><img src="' + ((geByClass1('feedback_row_photo', geByClass1('feedback_row_photo_lnk', e)) || {}).src || '/images/camera_c.gif') + '" class="feedback_group_photo" /></a>\
- 1689. - </div>'})));
- 1690. - }
- 1691. - re(e);
- 1692. - }
- 1693. - re(exp);
- 1694. - }
- 1695. - Feed.updFeedbackUnreadBar();
- 1696. - toggleClass(geByClass1('feedback_expand', el), 'feedback_expanded', thumbs);
- 1697. - var names = geByClass1('feedback_row_group_names', el), tmp = val(names),
- 1698. - name = ge('fbgr_' + item + '_this');
- 1699. - val(names, val(name));
- 1700. - val(name, tmp);
- 1701. -
- 1702. - return cancelEvent(ev);
- 1703. - },
- 1704. - ungroup: function(ev, item) {
- 1705. - ev = ev || window.event;
- 1706. - if (checkEvent(ev) || ev && ev.target && hasClass(ev.target, 'mem_link')) return;
- 1707. -
- 1708. - var el = ge('feedback_grouped_' + item + '_wrap');
- 1709. - if (!el) return;
- 1710. -
- 1711. - var hid = domNS(domPN(el)),
- 1712. - names = geByClass1('feedback_row_group_names', el), tmp = val(names),
- 1713. - name = ge('fbgr_' + item + '_that');
- 1714. - toggle(hid);
- 1715. - toggleClass(geByClass1('feedback_expand', el), 'feedback_expanded', isVisible(hid));
- 1716. - val(names, val(name));
- 1717. - val(name, tmp);
- 1718. -
- 1719. - Feed.updFeedbackUnreadBar();
- 1720. - },
- 1721. -
- 1722. - notifyPostTooltip: function(el, post, opts) {
- 1723. - var reply = (opts || {}).reply, url = 'al_wall.php';
- 1724. -
- 1725. - if (!post.indexOf('topic_comment')) {
- 1726. - url = 'al_board.php';
- 1727. - post = post.replace('topic_comment', '');
- 1728. - } else {
- 1729. - post = post.replace('wall_reply', '').replace('wall', '');
- 1730. - }
- 1731. -
- 1732. - showTooltip(el, {
- 1733. - url: url,
- 1734. - params: extend({act: 'post_tt', post: post, self: 1, from: 'feedback'}, opts || {}),
- 1735. - slide: 15,
- 1736. - shift: [35, -3, 0],
- 1737. - ajaxdt: 100,
- 1738. - showdt: 400,
- 1739. - hidedt: 200,
- 1740. - className: 'rich wall_tt'
- 1741. - });
- 1742. - },
- 1743. - notifyDeleteOver: function(item, el, label) {
- 1744. - if (label) showTooltip(el, {text: label});
- 1745. - wall && wall._animDelX(1, item);
- 1746. - },
- 1747. - notifyDeleteOut: function (item) {
- 1748. - wall && wall._animDelX(0.6, item);
- 1749. - },
- 1750. - notifyDelete: function (item, types, hash, el, canDel) {
- 1751. - el.tt && el.tt.el && el.tt.hide();
- 1752. - ajax.post('al_feed.php', {act: 'a_feedback_delete', item: item, hash: hash, types: types, candel: canDel}, {
- 1753. - onDone: function (html) {
- 1754. - feed.notifyHideReply(item);
- 1755. - var row = ge('feedback_row_' + item).parentNode;
- 1756. - row.parentNode.replaceChild(se(html), row);
- 1757. - cur.feedEntriesHTML['fb_' + item] = row;
- 1758. - }
- 1759. - })
- 1760. - },
- 1761. - notifyUndelete: function (item, types, hash) {
- 1762. - ajax.post('al_feed.php', {act: 'a_feedback_undelete', item: item, hash: hash, types: types}, {
- 1763. - onDone: function (text) {
- 1764. - var row = ge('feedback_row_' + item);
- 1765. - row.parentNode.replaceChild(cur.feedEntriesHTML['fb_' + item], row);
- 1766. - delete cur.feedEntriesHTML['fb_' + item];
- 1767. - }
- 1768. - })
- 1769. - },
- 1770. - notifyDeleteAll: function (uid, hash, btn, item) {
- 1771. - ajax.post('al_feed.php', {act: 'a_feedback_delete_all', uid: uid, item: item, hash: hash}, {
- 1772. - onDone: function (text) {
- 1773. - showDoneBox(text);
- 1774. - // feed.go(feed.getSectionParams(cur.section), false, true);
- 1775. - var rows = cur.rowsCont, row;
- 1776. - if (rows && (row = rows.firstChild)) {
- 1777. - var startY = false,
- 1778. - st = scrollGetY(),
- 1779. - h, y;
- 1780. - do {
- 1781. - if (row.className &&
- 1782. - hasClass(row, 'feed_row') &&
- 1783. - row.firstChild &&
- 1784. - uid == row.firstChild.getAttribute('author')) {
- 1785. - h = row.offsetHeight;
- 1786. - y = row.offsetTop;
- 1787. - if (startY === false) {
- 1788. - startY = getXY(row.offsetParent)[1]
- 1789. - }
- 1790. - hide(row);
- 1791. - if (y + startY < st) {
- 1792. - st -= h;
- 1793. - scrollToY(st, 0);
- 1794. - }
- 1795. - }
- 1796. - } while (row = row.nextSibling);
- 1797. -
- 1798. - if (cur.wasScroll === 0 || cur.wasScroll > 0) {
- 1799. - cur.wasScroll = st;
- 1800. - }
- 1801. - feed.scrollCheck();
- 1802. - }
- 1803. - },
- 1804. - showProgress: lockButton.pbind(btn),
- 1805. - hideProgress: unlockButton.pbind(btn)
- 1806. - })
- 1807. - },
- 1808. -
- 1809. -
- 1810. - ignoreItem: function (post_raw, feed_raw, hash) {
- 1811. - triggerEvent(ge('post_delete' + post_raw), 'mouseout');
- 1812. - revertLastInlineVideo('post' + post_raw);
- 1813. - cur.feedEntriesHTML[post_raw] = val('post' + post_raw);
- 1814. - ajax.post('/al_feed.php?misc', {act: 'a_ignore_item', post_raw: post_raw, feed_raw: feed_raw, hash: hash}, {
- 1815. - onDone: function (html, js) {
- 1816. - val('post' + post_raw, html);
- 1817. - eval(js);
- 1818. - },
- 1819. - stat: ['privacy.js', 'privacy.css']
- 1820. - });
- 1821. - },
- 1822. - unignoreItem: function (post_raw, feed_raw, hash) {
- 1823. - ajax.post('/al_feed.php?misc', {act: 'a_unignore_item', post_raw: post_raw, feed_raw: feed_raw, hash: hash}, {
- 1824. - onDone: function () {
- 1825. - feed.restorePost(post_raw);
- 1826. - }
- 1827. - });
- 1828. - },
- 1829. - reportIgnoredItem: function (post, hash) {
- 1830. - ajax.post('al_wall.php', {act: 'spam', post: post, hash: hash}, {
- 1831. - onDone: function(msg) {
- 1832. - var r = ge('post' + post), label = r && geByClass1('feed_post_report', r, 'div');
- 1833. - val(label, msg);
- 1834. - }
- 1835. - });
- 1836. - },
- 1837. - ignoreOwner: function (post_raw, owner_id, hash, btn) {
- 1838. - if (post_raw) {
- 1839. - cur.feedEntriesHTML[post_raw + '_ignored'] = val('post' + post_raw);
- 1840. - }
- 1841. - ajax.post('/al_feed.php?misc', {act: 'a_ignore_owner', post_raw: post_raw, owner_id: owner_id, hash: hash, list: cur.section == 'list' && cur.list || 0}, {
- 1842. - onDone:function(html) {
- 1843. - val('post' + post_raw, html);
- 1844. - each(geByClass('post', cur.rowsCont), function(i,v) {
- 1845. - var ids = this.id.match(/post((-?\d+)_(-?\d+)(_\d+)?)/);
- 1846. - if (ids[1] != post_raw && (!ids[4] && ids[2] == owner_id || ids[4] && ids[3] == owner_id)) {
- 1847. - revertLastInlineVideo(this);
- 1848. - hide(this.parentNode);
- 1849. - }
- 1850. - });
- 1851. - },
- 1852. - showProgress: btn && lockButton.pbind(btn),
- 1853. - hideProgress: btn && unlockButton.pbind(btn)
- 1854. - });
- 1855. - },
- 1856. - unignoreOwner: function (post_raw, owner_id, hash) {
- 1857. - ajax.post('/al_feed.php?misc', {act: 'a_unignore_owner', post_raw: post_raw || '', owner_id: owner_id, hash: hash, list: cur.section == 'list' && cur.list || 0}, {
- 1858. - onDone:function(html) {
- 1859. - if (post_raw) {
- 1860. - val('post' + post_raw, cur.feedEntriesHTML[post_raw + '_ignored']);
- 1861. - } else {
- 1862. - val('ignore_row' + owner_id, html);
- 1863. - }
- 1864. - each(geByClass('post', cur.rowsCont), function(i,v) {
- 1865. - var ids = this.id.match(/post((-?\d+)_(-?\d+)(_\d+)?)/);
- 1866. - if (!ids[4] && ids[2] == owner_id || ids[4] && ids[3] == owner_id) {
- 1867. - show(this.parentNode);
- 1868. - }
- 1869. - });
- 1870. - }
- 1871. - });
- 1872. - },
- 1873. - unsubscribe: function (post_raw, hash) {
- 1874. - triggerEvent(ge('post_delete' + post_raw), 'mouseout');
- 1875. - cur.feedEntriesHTML[post_raw] = ge('post' + post_raw).innerHTML;
- 1876. - var matches = post_raw.match(/(\-?\d+)_(photo|video|topic|note|)(\d+)/);
- 1877. - if (!matches) return;
- 1878. - ajax.post('al_feed.php', {act: 'unsubscribe', type: {'': 24, photo: 21, video: 22, topic: 20, note: 23}[matches[2]], owner_id: matches[1], place_id: matches[3], hash: hash, feed: 1}, {
- 1879. - onDone: function(html) { ge('post' + post_raw).innerHTML = html.replace('%post_raw%', post_raw); }
- 1880. - });
- 1881. - },
- 1882. - subscribe: function (post_raw, hash) {
- 1883. - var matches = post_raw.match(/(\-?\d+)_(photo|video|topic|note|)(\d+)/);
- 1884. - if (!matches) return;
- 1885. - ajax.post('al_feed.php', {act: 'subscribe', type: {'': 24, photo: 21, video: 22, topic: 20, note: 23}[matches[2]], owner_id: matches[1], place_id: matches[3], hash: hash, feed: 1}, {
- 1886. - onDone: feed.restorePost.pbind(post_raw)
- 1887. - });
- 1888. - },
- 1889. - restorePost: function (post_raw) {
- 1890. - ge('post' + post_raw).innerHTML = cur.feedEntriesHTML[post_raw];
- 1891. - var ph_back = geByClass1('input_back', ge('post' + post_raw), 'div');
- 1892. - var ta = geByTag1('textarea', ge('post' + post_raw));
- 1893. - if (!ta) return;
- 1894. - ta.placeholder = ph_back.innerHTML;
- 1895. - ph_back.parentNode.removeChild(ph_back);
- 1896. - placeholderSetup(ta);
- 1897. - },
- 1898. - toggleReposts: function (place, rand, e) {
- 1899. - if (checkEvent(e)) return true;
- 1900. -
- 1901. - var lnk = ge('feed_reposts_more' + place + '_' + rand),
- 1902. - cont = ge('feed_reposts' + place + '_' + rand),
- 1903. - h = 0,
- 1904. - st = scrollGetY(),
- 1905. - vis = isVisible(cont);
- 1906. - if (!cont) {
- 1907. - lnk && re(lnk.parentNode.parentNode);
- 1908. - return;
- 1909. - }
- 1910. -
- 1911. - if (vis) {
- 1912. - h -= cont.offsetHeight;
- 1913. - } else {
- 1914. - (domPN(domPN(cont)) || {}).bits = 0;
- 1915. - }
- 1916. - toggle(cont, !vis);
- 1917. - val(lnk, !vis ? getLang('news_hide_reposts') : getLang('news_show_X_reposts', cont.childNodes.length));
- 1918. - if (h) {
- 1919. - scrollToY(st + h, 0);
- 1920. - }
- 1921. - return false;
- 1922. - },
- 1923. -
- 1924. - sliderScaleClick: function (e) {
- 1925. - if (checkEvent(e)) return;
- 1926. - var slider = ge('feed_rate_slider'),
- 1927. - scale = slider.parentNode,
- 1928. - maxX = (scale.clientWidth || 100) - slider.offsetWidth,
- 1929. - margin = Math.max(0, Math.min(maxX, (e.offsetX || e.layerX) - slider.offsetWidth / 2)),
- 1930. - percent = margin / maxX * 100;
- 1931. -
- 1932. - setStyle('feed_rate_slider', 'marginLeft', margin);
- 1933. - feed.sliderUpdate(percent);
- 1934. - feed.sliderClick(e);
- 1935. - },
- 1936. - sliderClick: function (e) {
- 1937. - if (checkEvent(e)) return;
- 1938. - e.cancelBubble = true;
- 1939. -
- 1940. - var startX = e.clientX || e.pageX,
- 1941. - slider = ge('feed_rate_slider'),
- 1942. - scale = slider.parentNode,
- 1943. - startMargin = slider.offsetLeft || 0,
- 1944. - maxX = (scale.clientWidth || 100) - slider.offsetWidth,
- 1945. - selectEvent = 'mousedown selectstart',
- 1946. - defPercent = intval(cur.default_percent),
- 1947. - margin, percent;
- 1948. -
- 1949. - var _temp = function (e) {
- 1950. - margin = Math.max(0, Math.min(maxX, startMargin + (e.clientX || e.pageX)- startX));
- 1951. - percent = margin / maxX * 100;
- 1952. -
- 1953. - if (Math.abs(percent - 100) < 8) {
- 1954. - percent = 100;
- 1955. - }
- 1956. - if (defPercent > 0 && Math.abs(percent - defPercent) < 3) {
- 1957. - percent = defPercent;
- 1958. - }
- 1959. - percent = intval(percent);
- 1960. - margin = maxX * percent / 100;
- 1961. - slider.style.marginLeft = margin + 'px';
- 1962. - feed.sliderUpdate(percent);
- 1963. - return cancelEvent(e);
- 1964. - }, _temp2 = function () {
- 1965. - removeEvent(document, 'mousemove', _temp);
- 1966. - removeEvent(document, 'mouseup', _temp2);
- 1967. - removeEvent(document, selectEvent, cancelEvent);
- 1968. - setStyle(bodyNode, 'cursor', '');
- 1969. - setStyle(scale, 'cursor', '');
- 1970. - feed.sliderApply();
- 1971. - };
- 1972. -
- 1973. - addEvent(document, 'mousemove', _temp);
- 1974. - addEvent(document, 'mouseup', _temp2);
- 1975. - addEvent(document, selectEvent, cancelEvent);
- 1976. - setStyle(bodyNode, 'cursor', 'pointer');
- 1977. - setStyle(scale, 'cursor', 'pointer');
- 1978. - return false;
- 1979. - },
- 1980. - sliderSelectChanged: function (e) {
- 1981. - var percent = ge(cur.section == 'articles' ? 'feed_period_select' : 'feed_rate_select').value;
- 1982. - feed.sliderUpdate(percent);
- 1983. - feed.sliderApply();
- 1984. - },
- 1985. - sliderUpdate: function (percent, upd) {
- 1986. - percent = intval(percent);
- 1987. - switch (cur.section) {
- 1988. - case 'articles':
- 1989. - case 'articles_search':
- 1990. - cur.periodPercent = percent;
- 1991. - var label = getLang('news_top_no_articles');
- 1992. - each (cur.top_periods, function (p, key) {
- 1993. - if (percent < p) {
- 1994. - return false;
- 1995. - }
- 1996. - label = key;
- 1997. - });
- 1998. - val('feed_rate_slider_label', label);
- 1999. - break;
- 2000. - }
- 2001. - if (upd) {
- 2002. - if (isVisible('feed_rate_slider_wrap')) {
- 2003. - var slider = ge('feed_rate_slider'),
- 2004. - maxX = (slider.parentNode.clientWidth || 100) - slider.offsetWidth;
- 2005. - setStyle('feed_rate_slider', 'marginLeft', maxX * percent / 100);
- 2006. - }
- 2007. - var wasSelected = false, select = ge('feed_period_select');
- 2008. - each(select && select.childNodes || [], function () {
- 2009. - if (this.tagName != 'OPTION') return;
- 2010. - if (wasSelected === false && this.value >= percent) {
- 2011. - this.setAttribute('selected', 'selected');
- 2012. - select.value = this.value;
- 2013. - wasSelected = true;
- 2014. - } else {
- 2015. - removeAttr(this, 'selected');
- 2016. - }
- 2017. - });
- 2018. - }
- 2019. - },
- 2020. - sliderApply: function () {
- 2021. - if (!cur.section.indexOf('articles')) {
- 2022. - feed.switchSection(cur.section);
- 2023. - return;
- 2024. - }
- 2025. - },
- 2026. - sliderShowProgress: function () {
- 2027. - addClass('feed_rate_slider_wrap', 'feed_rate_wait');
- 2028. - },
- 2029. - sliderHideProgress: function () {
- 2030. - removeClass('feed_rate_slider_wrap', 'feed_rate_wait');
- 2031. - },
- 2032. -
- 2033. - editHidden: function () {
- 2034. - showTabbedBox('al_settings.php', {act: 'a_edit_owners_list', list: 'feed', height: lastWindowHeight}, {stat: ['privacy.js', 'privacy.css', 'ui_controls.js', 'ui_controls.css', 'indexer.js']});
- 2035. - cur.onOListSave = feed.onHiddenSave;
- 2036. - return false;
- 2037. - },
- 2038. - onHiddenSave: function (white, black, list, options) {
- 2039. - var box = curBox(), params = {act: 'a_ignore_olist', hash: options.hash};
- 2040. - if (white.length < black.length) {
- 2041. - params.White = white.join(',');
- 2042. - } else {
- 2043. - params.Black = black.join(',');
- 2044. - }
- 2045. - ajax.post('al_feed.php', params, {
- 2046. - onDone: function(control, rules) {
- 2047. - box.hide();
- 2048. - feed.switchSection(cur.section == 'photos' ? 'photos' : 'news');
- 2049. - },
- 2050. - showProgress: box.showProgress,
- 2051. - hiderogress: box.hideProgress
- 2052. - });
- 2053. - return false;
- 2054. - },
- 2055. -
- 2056. - addList: function () {
- 2057. - Feed.toggleTabsMenu(0);
- 2058. - showTabbedBox('al_settings.php', {act: 'a_edit_owners_list', list: 'feed', list_id: -1, height: lastWindowHeight}, {
- 2059. - stat: ['privacy.js', 'privacy.css', 'ui_controls.js', 'ui_controls.css', 'indexer.js'],
- 2060. - onFail: function (text) {
- 2061. - setTimeout(showFastBox({title: getLang('global_error')}, text, getLang('global_close')).hide, 4500);
- 2062. - return true;
- 2063. - }
- 2064. - });
- 2065. - cur.onOListSave = feed.onListSave.pbind(-1);
- 2066. - return false;
- 2067. - },
- 2068. - editList: function (list_id) {
- 2069. - Feed.toggleTabsMenu(0);
- 2070. - showTabbedBox('al_settings.php', {act: 'a_edit_owners_list', list: 'feed', list_id: list_id, height: lastWindowHeight}, {stat: ['privacy.js', 'privacy.css', 'ui_controls.js', 'ui_controls.css', 'indexer.js']});
- 2071. - cur.onOListSave = feed.onListSave.pbind(list_id);
- 2072. - return false;
- 2073. - },
- 2074. - onListSave: function (list_id, white, black, list, options) {
- 2075. - var listName = val('feed_list_name');
- 2076. - if (!trim(listName)) {
- 2077. - notaBene('feed_list_name');
- 2078. - return false;
- 2079. - }
- 2080. - if (!white.length) {
- 2081. - return false;
- 2082. - }
- 2083. - var box = curBox();
- 2084. - ajax.post('al_feed.php', {
- 2085. - act: 'a_save_list',
- 2086. - hash: cur.tabs_hash,
- 2087. - White: white.join(','),
- 2088. - title: listName,
- 2089. - list_id: list_id,
- 2090. - no_reposts: ge('feed_list_reposts') && !isChecked('feed_list_reposts') ? 1 : 0
- 2091. - }, {
- 2092. - onDone: function(new_list_id) {
- 2093. - var topTab = geByClass1('feed_tab_list' + list_id, ge('feed_news_bar')),
- 2094. - filterTab = ge('filter_t_list' + list_id);
- 2095. - val(geByTag1('nobr', topTab), clean(listName));
- 2096. - val(geByClass1('feed_filter_tabs_title', filterTab), clean(listName));
- 2097. - box.hide();
- 2098. - if (list_id > 0) {
- 2099. - Feed.switchList(list_id);
- 2100. - } else {
- 2101. - nav.go({'0': 'feed', section: 'list', list: new_list_id}, null, {nocur: true});
- 2102. - }
- 2103. - },
- 2104. - showProgress: box.showProgress,
- 2105. - hiderogress: box.hideProgress
- 2106. - });
- 2107. - return false;
- 2108. - },
- 2109. - deleteList: function (list_id, force) {
- 2110. - if (list_id <= 0) {
- 2111. - return false;
- 2112. - }
- 2113. -
- 2114. - if (!force) {
- 2115. - var box = showFastBox(getLang('news_delete_list_confirm_title'), getLang('news_delete_list_confirm'), getLang('box_yes'), function () {
- 2116. - Feed.deleteList(list_id, true);
- 2117. - }, getLang('box_no'), function () {
- 2118. - box.hide();
- 2119. - });
- 2120. - return;
- 2121. - }
- 2122. - var box = curBox();
- 2123. - ajax.post('al_feed.php', extend({act: 'a_delete_list', list_id: list_id, hash: cur.tabs_hash}), {
- 2124. - onDone: function () {
- 2125. - re(geByClass1('feed_tab_list' + list_id, ge('feed_news_bar')));
- 2126. - re('filter_t_list' + list_id);
- 2127. - boxQueue.hideAll();
- 2128. - if (cur.section == 'list' && cur.list == list_id) {
- 2129. - feed.switchSection('news');
- 2130. - }
- 2131. - },
- 2132. - showProgress: box.showProgress,
- 2133. - hideProgress: box.hideProgress
- 2134. - });
- 2135. - },
- 2136. -
- 2137. - saveTabs: function () {
- 2138. - ajax.post('al_feed.php', {act: 'a_save_tabs', hash: cur.tabs_hash, tabs: cur.my_feed_types.tabs.join(',')});
- 2139. - },
- 2140. -
- 2141. - statsShow: function (e, opts) {
- 2142. - return showWiki({w: 'stats' + (cur.source || '')}, false, e);
- 2143. - },
- 2144. -
- 2145. - // scrollTop check
- 2146. - scrollCheck: function() {
- 2147. - if (!cur.idleManager || cur.isFeedLoading || cur.idleManager.isIdle || cur.disableAutoMore) return;
- 2148. - var el = ge('show_more_link');
- 2149. - if (!isVisible(el)) return;
- 2150. -
- 2151. - var ch = window.innerHeight || document.documentElement.clientHeight || bodyNode.clientHeight,
- 2152. - st = scrollGetY(), top, ntop = 0, el, nel, bits, posts = [];
- 2153. -
- 2154. - if (st + ch + 1000 > el.offsetTop) {
- 2155. - feed.showMore();
- 2156. - }
- 2157. -
- 2158. - if (
- 2159. - domPN(cur.topRow) != cur.rowsCont ||
- 2160. - (cur.topRow || {}).id == 'feed_rows_next'
- 2161. - ) {
- 2162. - cur.topRow = domFC(cur.rowsCont);
- 2163. - }
- 2164. - if (
- 2165. - !vk.id ||
- 2166. - !cur.topRow ||
- 2167. - cur.topRow.id == 'feed_rows_next' ||
- 2168. - cur.section != 'news' && cur.section != 'recommended' ||
- 2169. - ((window.curNotifier || {}).idle_manager || {}).is_idle
- 2170. - ) {
- 2171. - return;
- 2172. - }
- 2173. - for (el = domPS(cur.topRow); el && cur.topRow.offsetTop > st; el = domPS(el)) cur.topRow = el;
- 2174. - for (el = cur.topRow; el; el = nel) {
- 2175. - top = ntop ? ntop : el.offsetTop;
- 2176. - if (top >= st + ch) break;
- 2177. -
- 2178. - nel = domNS(el);
- 2179. - if ((nel || {}).id == 'feed_rows_next') nel = null;
- 2180. -
- 2181. - ntop = nel ? nel.offsetTop : top + el.offsetHeight;
- 2182. - if (ntop < st && nel) cur.topRow = nel;
- 2183. -
- 2184. - bits = el.bits || 0;
- 2185. - if (bits >= 3) continue;
- 2186. -
- 2187. - bits |= ((top >= st && top < st + ch) ? 1 : 0) | ((ntop >= st && ntop < st + ch) ? 2 : 0);
- 2188. - if (bits) {
- 2189. - el.bits = bits;
- 2190. - if (bits == 3) {
- 2191. - posts.push(Feed.postsGetRaws(el));
- 2192. - }
- 2193. - }
- 2194. - }
- 2195. - Page.postsSeen(posts);
- 2196. - },
- 2197. -
- 2198. - postsGetRaws: function(el) {
- 2199. - var f = domFC(el), c, m, p, r = /^post(-?\d+_\d+)$/, res = {};
- 2200. - if (m = f.id.match(r)) {
- 2201. - res[m[1]] = 1;
- 2202. - } else {
- 2203. - c = f.className;
- 2204. - if (m = c.match(/feed_reposts_wrap(-?\d+_\d+)/)) {
- 2205. - p = domFC(f);
- 2206. - if (hasClass(domFC(p), 'post_copy')) {
- 2207. - res[m[1]] = -1;
- 2208. - }
- 2209. - if (m = domFC(p).id.match(r)) {
- 2210. - res[m[1]] = 1;
- 2211. - }
- 2212. - if (isVisible(p = domNS(p))) {
- 2213. - for (p = domFC(p); p; p = domNS(p)) {
- 2214. - if (m = p.id.match(r)) {
- 2215. - res[m[1]] = 1;
- 2216. - }
- 2217. - }
- 2218. - }
- 2219. - } else if (m = c.match(/feed_repost(-?\d+_\d+)/)) {
- 2220. - p = domFC(f);
- 2221. - if (hasClass(p, 'post_copy')) {
- 2222. - res[m[1]] = -1;
- 2223. - }
- 2224. - if (m = p.id.match(r)) {
- 2225. - res[m[1]] = 1;
- 2226. - }
- 2227. - }
- 2228. - }
- 2229. - return res;
- 2230. - },
- 2231. - searchPreloadExtended: function () {
- 2232. - if (cur.feedSearchExtendedLoaded || cur.feedSearchExtendedPreloaded) {
- 2233. - return false;
- 2234. - }
- 2235. - cur.feedSearchExtendedPreloaded = true;
- 2236. - ajax.post('al_feed.php', {act: 'a_get_search_extended'}, {cache: 1});
- 2237. - },
- 2238. - searchToggleExtended: function (enabled) {
- 2239. - if (cur.feedSearchExtendedLoaded || !enabled) {
- 2240. - toggle('feed_search_extform', enabled);
- 2241. - return;
- 2242. - }
- 2243. - var visibleBefore = [isVisible('feed_menu_toggle'), isVisible('feed_edit_hidden'), isVisible('feed_search_sort')];
- 2244. - ajax.post('al_feed.php', {act: 'a_get_search_extended'}, {
- 2245. - stat: ['ui_controls.css', 'ui_controls.js'],
- 2246. - showProgress: function () {
- 2247. - show('feed_progress');
- 2248. - hide('feed_menu_toggle', 'feed_edit_hidden', 'feed_search_sort');
- 2249. - },
- 2250. - hideProgress: function () {
- 2251. - hide('feed_progress');
- 2252. - toggle('feed_menu_toggle', visibleBefore[0]);
- 2253. - toggle('feed_edit_hidden', visibleBefore[1]);
- 2254. - toggle('feed_search_sort', visibleBefore[2]);
- 2255. - },
- 2256. - cache: 1,
- 2257. - onDone: function (html, js) {
- 2258. - cur.feedSearchExtendedLoaded = true;
- 2259. - val('feed_search_extform', html);
- 2260. - show('feed_search_extform');
- 2261. - eval(js);
- 2262. - }
- 2263. - });
- 2264. - },
- 2265. - searchAppendTag: function (tag, pattern, nosubmit) {
- 2266. - if (!trim(tag) && !pattern) {
- 2267. - return;
- 2268. - }
- 2269. - var text = val('feed_search');
- 2270. - try {
- 2271. - text = text.replace(pattern || new RegExp('(^|\\s)' + tag + '(\\s|$)', 'i'), ' ');
- 2272. - } catch (e) {};
- 2273. - text += ' ' + tag + ' ';
- 2274. - text = text.replace(/\s{2,}/g, ' ').replace(/^\s+/, '');
- 2275. - val('feed_search', text);
- 2276. - if (trim(text).length && !nosubmit) {
- 2277. - Feed.submitSearch();
- 2278. - }
- 2279. - Feed.searchUpdate();
- 2280. - },
- 2281. - searchUnchooseGeoPoint: function () {
- 2282. - var map = ge('feed_searchext_map'),
- 2283. - x = ge('feed_searchext_map_delete_wrap');
- 2284. -
- 2285. - removeClass(map, 'feed_searchext_map_selected');
- 2286. - setStyle(map, {background: ''});
- 2287. - x && x.tt && x.tt.hide && x.tt.hide();
- 2288. - Feed.searchAppendTag('', /near:[0-9\.,\-\+]+/);
- 2289. - },
- 2290. - searchChooseGeoPoint: function () {
- 2291. - var params = {act: 'a_choose_place_box', search: 1},
- 2292. - text = val('feed_search'),
- 2293. - currentPointMatches = text.match(/near\:(\-?\d{1,3}(?:\.\d+)?)\,(\-?\d{1,3}(?:\.\d+)?)(\+{0,4})/);
- 2294. -
- 2295. - if (currentPointMatches) {
- 2296. - params.lat = floatval(currentPointMatches[1]);
- 2297. - params.lon = floatval(currentPointMatches[2]);
- 2298. - params.zoom = [8, 11, 14, 17, 20][(currentPointMatches[3] || '').length]
- 2299. - }
- 2300. - showBox('al_places.php', params, {dark: 1});
- 2301. - cur.chooseGeoPoint = function (lat, lon, zoom) {
- 2302. - var num = 0;
- 2303. - each([8, 11, 14, 17, 20], function (k, zoomLevel) {
- 2304. - if (zoom <= zoomLevel) {
- 2305. - return false;
- 2306. - }
- 2307. - num = k;
- 2308. - });
- 2309. - boxQueue.hideLast();
- 2310. - var postfix = (new Array(num + 1)).join('+');
- 2311. - var mult = Math.pow(10, 10);
- 2312. - lat = Math.round(lat * mult) / mult;
- 2313. - lon = Math.round(lon * mult) / mult;
- 2314. -
- 2315. - var map = ge('feed_searchext_map');
- 2316. - addClass(map, 'feed_searchext_map_selected');
- 2317. - setStyle(map, {
- 2318. - background: 'url(/maps?lat='+lat+'&lng='+lon+'&z='+zoom+'&'+(window.devicePixelRatio >= 2 ? 'w=260&h=160' : 'w=130&h=80')+')'
- 2319. - });
- 2320. - Feed.searchAppendTag('near:' + lat + ',' + lon + postfix, /near:[0-9\.,\-\+]+/);
- 2321. - };
- 2322. - },
- 2323. - searchChooseFilter: function (filter, item) {
- 2324. - var uiDropdown;
- 2325. - switch (filter) {
- 2326. - case 'type':
- 2327. - uiDropdown = cur.uiSearchPostType; break;
- 2328. - case 'has':
- 2329. - uiDropdown = cur.uiSearchPostAttach; break;
- 2330. - case 'likes':
- 2331. - uiDropdown = cur.uiSearchPostLikes; break;
- 2332. -
- 2333. - default: return false;
- 2334. - }
- 2335. - var sel = (uiDropdown.selectedItems() || [])[0];
- 2336. -
- 2337. - Feed.searchAppendTag(sel && intval(sel[0]) ? (filter + ':' + (sel[3] || sel[0])) : '', new RegExp(filter + ':' + '[\\S]+', 'g'));
- 2338. - },
- 2339. - searchExcludeOnChange: function (input, nosubmit) {
- 2340. - var exclude = trim(val(input));
- 2341. - if (!exclude) {
- 2342. - return false;
- 2343. - }
- 2344. - var words = trim(exclude).split(/[\s\,\.\/\!\@\#\$\%\^\&\*\(\)\-\=\:\~\;\'\"\|\}\{\+]+/),
- 2345. - len = words.length,
- 2346. - newTag = len > 0 && ('-' + words.join(' -')) || '';
- 2347. -
- 2348. - Feed.searchAppendTag(newTag, /(?:\s|^)\-\S+/g, nosubmit);
- 2349. - },
- 2350. - searchUrlOnChange: function (fromTooltip) {
- 2351. - var urlMatches = (val('feed_searchext_link') || '').match(urlInactiveExp),
- 2352. - newTag = '';
- 2353. -
- 2354. - if (urlMatches) {
- 2355. - var url = urlMatches[4] + (urlMatches[5] || ''),
- 2356. - domain = urlMatches[4],
- 2357. - newTag = radioBtns.feed_searchext_domain.val ? ('domain:' + domain) : ('url:' + url);
- 2358. - }
- 2359. - Feed.searchAppendTag(newTag, cur.feedSearchPrevLinkTag);
- 2360. - cur.feedSearchPrevLinkTag = newTag;
- 2361. -
- 2362. - if (fromTooltip) {
- 2363. - elfocus('feed_searchext_link');
- 2364. - }
- 2365. - },
- 2366. - searchContentOnChange: function () {
- 2367. - var urlMatches = (val('feed_searchext_content') || '').match(urlInactiveExp),
- 2368. - domainMatches = urlMatches && urlMatches[4].match(/(^|\.|\/\/)vkontakte\.ru|vk\.com/),
- 2369. - mediaMatches = domainMatches && urlMatches[5].match(/(?:#(photo)|^\/(photo|video|album|page|audio|wall)|z=(album|photo|video)|w=(page|wall))(-?\d+_)?(\d+)(?:\?reply=(\d+))?$/),
- 2370. - newTag = '';
- 2371. -
- 2372. - if (mediaMatches) {
- 2373. - var mediaType = mediaMatches[1] || mediaMatches[2] || mediaMatches[3] || mediaMatches[4],
- 2374. - mediaID = mediaMatches[5] + (mediaMatches[7] || mediaMatches[6]),
- 2375. - newTag = 'copy:' + mediaType + mediaID;
- 2376. - }
- 2377. - Feed.searchAppendTag(newTag, /copy\:\S+/);
- 2378. - },
- 2379. - searchUpdate: function () {
- 2380. - val(cur.searchPh, !cur.section.indexOf('photos') ? getLang('news_photo_search') : getLang('news_search'));
- 2381. -
- 2382. - toggle('feed_query_reset', trim(val('feed_search')));
- 2383. - },
- 2384. - searchClickOutside: function (event) {
- 2385. - if (val('feed_search') || !hasClass('feed_bar', 'feed_bar_extended_search') || isChecked('feed_search_extended_checkbox')) {
- 2386. - return;
- 2387. - }
- 2388. - removeClass('feed_bar', 'feed_bar_extended_search');
- 2389. - },
- 2390. - searchReset: function (fire) {
- 2391. - console.trace();
- 2392. - val('feed_search', '');
- 2393. - // removeClass('feed_bar', 'feed_bar_extended_search');
- 2394. - each ([cur.uiSearchPostType, cur.uiSearchPostAttach, cur.uiSearchPostLikes], function () {
- 2395. - this.val(0);
- 2396. - });
- 2397. - each(['feed_searchext_exclude', 'feed_searchext_link', 'feed_searchext_content'], function (k, input) {
- 2398. - val(input, '');
- 2399. - });
- 2400. - Feed.searchUnchooseGeoPoint();
- 2401. - Feed.searchUpdate();
- 2402. - if (!fire) {
- 2403. - return;
- 2404. - }
- 2405. -
- 2406. - var switchTo = 'news';
- 2407. - switch (cur.section) {
- 2408. - case 'articles':
- 2409. - case 'articles_search':
- 2410. - switchTo = 'articles';
- 2411. - break;
- 2412. -
- 2413. - case 'photos_search':
- 2414. - case 'photos':
- 2415. - switchTo = 'photos';
- 2416. - break;
- 2417. - }
- 2418. - Feed.switchSection(switchTo);
- 2419. - },
- 2420. -
- 2421. - sinceOwnerOver: function (obj, oid, name) {
- 2422. - if (!obj.nophoto) {
- 2423. - Feed.sinceOwnerBigphOver(obj, oid);
- 2424. - }
- 2425. - showTooltip(obj, {
- 2426. - text: name,
- 2427. - showdt: 0,
- 2428. - hidedt: 0,
- 2429. - black: 1,
- 2430. - shift: [12, 3, 3],
- 2431. - forcetoup: true,
- 2432. - // onCreate: function () {removeEvent(obj, 'mouseout');},
- 2433. - className: 'feed_since_owner_tt'
- 2434. - });
- 2435. - },
- 2436. - sinceOwnerBigphOver: function(obj, oid) {
- 2437. - if (!cur.lang || !cur.lang.global_photo_full_size || browser.mobile) return;
- 2438. - var o = obj.firstChild,
- 2439. - ch = cur.phCache[oid];
- 2440. - if (o.tagName != 'A' || o.className != 'feed_since_ownerph') {
- 2441. - o = obj.insertBefore(ce('a', {className: 'feed_since_ownerph', href: ch && ch._id ? ('/photo' + ch._id + '?all=1') : ('/albums' + oid), innerHTML: '<span class="feed_since_ownerph_label">' + cur.lang.global_photo_full_size + '</span>'}), obj.firstChild);
- 2442. - o.onclick = Feed.sinceOwnerBigphClick.pbind(oid, obj);
- 2443. - o._oid = oid;
- 2444. - }
- 2445. -
- 2446. - clearTimeout(o.hideTO);
- 2447. - animate(o, {marginTop: 65}, {duration: 200, transition: Fx.Transitions.easeOutCirc});
- 2448. - cur.phShown[oid] = o;
- 2449. -
- 2450. - if (!obj.onmouseout) obj.onmouseout = Feed.sinceOwnerBigphOut.pbind(obj);
- 2451. - },
- 2452. - sinceOwnerBigphOut: function(obj) {
- 2453. - var o = obj.firstChild;
- 2454. - if (!o || o.tagName != 'A' || o.className != 'feed_since_ownerph') return;
- 2455. -
- 2456. - clearTimeout(o.hideTO);
- 2457. - o.hideTO = setTimeout(function() {
- 2458. - animate(o, {marginTop: 90}, 200);
- 2459. - delete cur.phShown[o._oid];
- 2460. - }, 150);
- 2461. - },
- 2462. - sinceOwnerBigphClick: function(oid, obj, ev) {
- 2463. - if (checkEvent(ev) !== false) return;
- 2464. -
- 2465. - obj && obj.tt && obj.tt.destroy();
- 2466. - var ch = cur.phCache[oid]
- 2467. - o = cur.phShown[oid],
- 2468. - obj = domPN(o);
- 2469. -
- 2470. - if (!o || !obj) return;
- 2471. - if (ch === undefined) {
- 2472. - ch = cur.phCache[oid] = 'show';
- 2473. - ajax.post('al_photos.php', {act: 'fast_get_photo', oid: oid}, {onDone: function(res) {
- 2474. - if (!res) {
- 2475. - obj.onmouseover = function() {};
- 2476. - re(o);
- 2477. - return;
- 2478. - }
- 2479. - var sh = (cur.phCache[oid] == 'show');
- 2480. - cur.phCache[oid] = res;
- 2481. - o.href = '/photo' + res._id + '?all=1';
- 2482. - if (sh) Feed.sinceOwnerBigphClick(oid, obj);
- 2483. - }, onFail: function() {
- 2484. - obj.nophoto = true;
- 2485. - re(o);
- 2486. - return true;
- 2487. - }});
- 2488. - }
- 2489. - if (ch == 'show') {
- 2490. - return cancelEvent(ev);
- 2491. - }
- 2492. - if (!ch) return;
- 2493. - extend(ch, {
- 2494. - jumpTo: {z: 'albums' + oid}
- 2495. - });
- 2496. - return showPhoto(ch._id, 'album' + oid + '_0/rev', ch, ev);
- 2497. - },
- 2498. -
- 2499. - go: function(params, onBeforeReplace, noscroll) {
- 2500. - if (cur._back_local) {
- 2501. - var hist = cur._back_local;
- 2502. - if (hist.back) {
- 2503. - showBackLink(hist.back[0], hist.back[1], hist.back[2]);
- 2504. - } else {
- 2505. - showBackLink(false);
- 2506. - }
- 2507. - cur._back_local = false;
- 2508. - }
- 2509. - if (cur.feedReq) {
- 2510. - try {
- 2511. - cur.feedReq.abort();
- 2512. - } catch (e) {debugLog(e);}
- 2513. - }
- 2514. - var frame = 1, hideProgress = function () {
- 2515. - cur.isFeedLoading = false;
- 2516. - };
- 2517. - if (browser.msie || noscroll) {
- 2518. - frame = false;
- 2519. - hideProgress = cur.onFrameBlocksDone;
- 2520. - }
- 2521. - cur.wasScroll = noscroll ? scrollGetY() : false;
- 2522. - cur.feedReq = ajax.post('al_feed.php', extend(params, {part: 1}), {
- 2523. - onDone: function (options, rows, js) {
- 2524. - // debugLog(onBeforeReplace, options, rows.length, js);
- 2525. - revertLastInlineVideo();
- 2526. - if (window.tooltips) tooltips.destroyAll(ge('feed_rows'));
- 2527. - boxQueue.hideAll();
- 2528. - if (layers.fullhide) layers.fullhide(true);
- 2529. -
- 2530. - if (frame) {
- 2531. - ajax._framenext();
- 2532. - }
- 2533. - if (window.wall) wall.cancelEdit();
- 2534. - boxQueue.hideAll();
- 2535. - if (onBeforeReplace) {
- 2536. - onBeforeReplace(rows || '');
- 2537. - } else {
- 2538. - val(cur.rowsCont, rows || '');
- 2539. - }
- 2540. - feed.applyOptions(options, 2);
- 2541. - js && eval(js);
- 2542. -
- 2543. - if (!params.norecom) {
- 2544. - val('feed_recommends', options.recommends || '');
- 2545. - var str = '/al_feed.php#' + ajx2q({act: 'recom'});
- 2546. - if (ajaxCache[str]) delete(ajaxCache[str]);
- 2547. - cur.recomPreload = false;
- 2548. - }
- 2549. - toggle('feed_recommends', cur.section == 'news' || cur.section == 'recommended');
- 2550. -
- 2551. - // debugLog('init js:', js);
- 2552. - var _a = window.audioPlayer, aid = currentAudioId();
- 2553. - if (_a && aid && _a.showCurrentTrack) _a.showCurrentTrack();
- 2554. - setTimeout(function () {
- 2555. - var aid = currentAudioId();
- 2556. - if (_a && aid && _a.showCurrentTrack) _a.showCurrentTrack();
- 2557. - }, 100);
- 2558. - setTimeout(feed.scrollCheck, 200);
- 2559. - },
- 2560. - onFail: function () {return false;},
- 2561. - showProgress: function () {
- 2562. - hide('feed_menu_toggle', 'feed_edit_hidden', 'feed_search_sort');
- 2563. - if (cur.section == 'articles') {
- 2564. - feed.sliderShowProgress();
- 2565. - }
- 2566. - show('feed_progress');
- 2567. - cur.isFeedLoading = true;
- 2568. - },
- 2569. - frame: frame,
- 2570. - ads: 1,
- 2571. - hideProgress: hideProgress
- 2572. - });
- 2573. - },
- 2574. -
- 2575. - init: function (options) {
- 2576. - var searchEl = ge('feed_search');
- 2577. - placeholderSetup(searchEl, {back: 1});
- 2578. - cur.searchPh = geByClass1('input_back_content', ge('feed_isearch'));
- 2579. -
- 2580. - FeedSearch.init(searchEl);
- 2581. -
- 2582. - if (!window.Select) {
- 2583. - addEvent(searchEl, 'focus', function (e) {
- 2584. - stManager.add(['ui_controls.js', 'ui_controls.css'], feed.initUi);
- 2585. - removeEvent(searchEl, 'focus', arguments.callee);
- 2586. - });
- 2587. - }
- 2588. -
- 2589. - addEvent(searchEl, 'keydown focus', function (e) {
- 2590. - if (e.type == 'focus') {
- 2591. - if (cur.section.indexOf('articles') && cur.section.indexOf('photos')) {
- 2592. - addClass('feed_bar', 'feed_bar_extended_search');
- 2593. - }
- 2594. - return;
- 2595. - }
- 2596. - if (e.keyCode == KEY.RETURN && (!FeedSearch.select || FeedSearch.select.active < 0)) {
- 2597. - if (val(searchEl)) {
- 2598. - feed.submitSearch();
- 2599. - } else if (cur.section == 'search' || cur.section == 'articles_search') {
- 2600. - if (feed.returnToFeed(false, false)) {
- 2601. - feed.go(feed.getSectionParams(cur.section == 'search' ? 'news' : 'articles'));
- 2602. - }
- 2603. - }
- 2604. - searchEl.blur();
- 2605. - clearTimeout(cur.requestTimeout);
- 2606. - return cancelEvent(e);
- 2607. - }
- 2608. - setTimeout(Feed.searchUpdate, 0);
- 2609. - });
- 2610. - setTimeout(function () {
- 2611. - each(geByTag('textarea', cur.rowsCont), function() { placeholderSetup(this); });
- 2612. - }, 200);
- 2613. -
- 2614. - extend(cur, {
- 2615. - oid: options.user_id,
- 2616. - postTo: options.user_id,
- 2617. - phCache: {},
- 2618. - phShown: {},
- 2619. - subsections: {},
- 2620. - module: 'feed',
- 2621. - isFeedLoading: false,
- 2622. - wallPostCb: function () {
- 2623. - if (cur.section == 'news') {
- 2624. - setTimeout(feed.update.pbind(1), 1000);
- 2625. - } else {
- 2626. - setTimeout(feed.switchSection.pbind('news'), 1000);
- 2627. - }
- 2628. - },
- 2629. - // Decomment
- 2630. - // disableAutoMore: true,
- 2631. -
- 2632. -
- 2633. - idleManager: (function () {
- 2634. - var setIdleTo, checkIdleCb, checkIdleCbTo, onActive, onInActive, onFocusBlur, params = {
- 2635. - isIdle: false,
- 2636. - onIdle: null,
- 2637. - onUnIdle: null,
- 2638. - stop: function () {
- 2639. - removeEvent(document, 'mousemove keydown', onActive);
- 2640. - removeEvent(window, 'focus blur', onFocusBlur);
- 2641. - // clearTimeout(setIdleTo);
- 2642. - // clearTimeout(checkIdleCbTo);
- 2643. - },
- 2644. - start: function () {
- 2645. - if (browser.mobile) return;
- 2646. - // checkIdleCb = function () {
- 2647. - // if (!cur.idleManager) return;
- 2648. - // addEvent(document, 'mousemove keydown', onActive);
- 2649. - // clearTimeout(setIdleTo);
- 2650. - // setIdleTo = setTimeout(onBlur, 60000); // tab becomes idle in 30 secs without moving mouse or typing
- 2651. - // };
- 2652. - onActive = function () {
- 2653. - if (!cur.idleManager) return;
- 2654. - // clearTimeout(setIdleTo);
- 2655. - if (params.isIdle) {
- 2656. - params.isIdle = false;
- 2657. - if (params.onUnIdle) params.onUnIdle();
- 2658. - debugLog('unidle');
- 2659. - }
- 2660. - // removeEvent(document, 'mousemove keydown', onAction);
- 2661. - // clearTimeout(checkIdleCbTo);
- 2662. - // checkIdleCbTo = setTimeout(checkIdleCb, 30000);
- 2663. - };
- 2664. - onInActive = function () {
- 2665. - if (!cur.idleManager) return;
- 2666. - params.isIdle = true;
- 2667. - debugLog('idle');
- 2668. - if (params.onIdle) params.onIdle();
- 2669. - };
- 2670. - onFocusBlur = function (e) {
- 2671. - if (e.type == 'focus') {
- 2672. - onActive();
- 2673. - } else {
- 2674. - onInActive();
- 2675. - }
- 2676. - };
- 2677. - addEvent(window, 'focus blur', onFocusBlur);
- 2678. - // clearTimeout(checkIdleCbTo);
- 2679. - // checkIdleCbTo = setTimeout(checkIdleCb, 30000);
- 2680. - }
- 2681. - };
- 2682. - return params;
- 2683. - }()),
- 2684. -
- 2685. - onFrameBlocksDone: /*vkLocal(*/function () {
- 2686. - hide('feed_progress');
- 2687. - feed.sliderHideProgress();
- 2688. - toggle('feed_edit_hidden', cur.section == 'news' || cur.section == 'photos');
- 2689. - toggle('feed_search_sort', cur.section == 'search'/* || cur.section == 'photos_search'*/);
- 2690. - toggle('feed_menu_toggle', ge(feed.getTypesSection() + '_filters'));
- 2691. - toggle('feed_rate_slider_wrap', cur.section == 'articles' && cur.subsection == 'top');
- 2692. - cur.isFeedLoading = false;
- 2693. - if (cur.wasScroll === 0 || cur.wasScroll > 0) {
- 2694. - scrollToY(st, 0);
- 2695. - cur.wasScroll = false;
- 2696. - }
- 2697. - }/*)*/,
- 2698. -
- 2699. - // Cached entries' HTML
- 2700. - feedEntriesHTML: {},
- 2701. - feedUnreadCount: 0,
- 2702. - feedInitialTitle: '',
- 2703. - feedUnread: [],
- 2704. - feedToSort: []
- 2705. - });
- 2706. -
- 2707. - cur.nav.push(function(changed, old, n, opts) {
- 2708. - if (changed[0] !== undefined) return;
- 2709. - var params = clone(n);
- 2710. - delete(params[0]);
- 2711. - var splitt = !!ge('feedtab_updates') || !ge('feedtab_news');
- 2712. - if (splitt && changed.section !== undefined && ((cur.section == 'notifications' || cur.section == 'comments') &&changed.section != 'notifications' && changed.section != 'comments' || cur.section != 'notifications' && cur.section != 'comments' && (changed.section == 'notifications' || changed.section == 'comments'))) {
- 2713. - return;
- 2714. - }
- 2715. - if ((cur.section == 'owner' || cur.section == 'search') && !feed.returnToFeed(params, opts.back || opts.hist)) {
- 2716. - return false;
- 2717. - }
- 2718. - if (changed.q) {
- 2719. - feed.submitSearch(changed.q, params.section || '');
- 2720. - return false;
- 2721. - }
- 2722. - if (changed.list) {
- 2723. - Feed.switchList(changed.list);
- 2724. - return false;
- 2725. - }
- 2726. - feed.go(extend(params, opts.params || {}));
- 2727. - return false;
- 2728. - });
- 2729. - cur.idleManager.onUnIdle = feed.updateTitle;
- 2730. - cur.idleManager.onIdle = feed.reSortItems;
- 2731. -
- 2732. - cur.options = cur.options || {};
- 2733. - extend(cur.options, options);
- 2734. - feed.applyOptions(options, 3);
- 2735. -
- 2736. - // Extrnal static requred
- 2737. - // page.js
- 2738. - cur.rowsCont = options.wallCont = ge('feed_rows');
- 2739. - wall.init(options);
- 2740. -
- 2741. - // Scroll check routine
- 2742. - feed.scrollNode = browser.msie6 ? pageNode : window;
- 2743. -
- 2744. - cur._back = {
- 2745. - text: getLang('news_return_to_news'),
- 2746. - show: [feed.startEvents],
- 2747. - hide: [function () {
- 2748. - clearInterval(cur.updateInt);
- 2749. - removeEvent(feed.scrollNode, 'scroll', feed.scrollCheck);
- 2750. - removeEvent(window, 'resize', feed.scrollCheck);
- 2751. - cur.idleManager.stop();
- 2752. - clearTimeout(cur.lp_error_to);
- 2753. - // removeEvent(document, 'click', Feed.searchClickOutside);
- 2754. - }],
- 2755. - loc: false
- 2756. - };
- 2757. - feed.startEvents();
- 2758. - var _a = window.audioPlayer,
- 2759. - aid = currentAudioId();
- 2760. - if (_a && aid && _a.showCurrentTrack) _a.showCurrentTrack();
- 2761. -
- 2762. - if (browser.mobile) {
- 2763. - setStyle('feed_rate_slider_wrap', {width: 150});
- 2764. - hide('feed_rate_full');
- 2765. - show('feed_rate_mobile');
- 2766. - }
- 2767. -
- 2768. - setTimeout(feed.scrollCheck, 200);
- 2769. - },
- 2770. - startEvents: function () {
- 2771. - // IDLE manager
- 2772. - cur.idleManager.start();
- 2773. -
- 2774. - // Feed update interval
- 2775. - cur.updateInt = setInterval(function () {feed.update(0);}, 20000);
- 2776. -
- 2777. - // Scroll check routine for auto preload next news
- 2778. - addEvent(feed.scrollNode, 'scroll', feed.scrollCheck);
- 2779. - addEvent(window, 'resize', feed.scrollCheck);
- 2780. - // addEvent(document, 'click', Feed.searchClickOutside);
- 2781. - },
- 2782. - initUi: function () {
- 2783. - cur.searchSortMenu = new DropdownMenu(cur.options.search_sorts, {
- 2784. - target: ge('feed_search_sort_dd'),
- 2785. - onSelect: function (e) {
- 2786. - feed.submitSearch()
- 2787. - },
- 2788. - fadeSpeed: 0
- 2789. - });
- 2790. -
- 2791. - FeedSearch.initSelect();
- 2792. - cur.destroy.push(function () {
- 2793. - FeedSearch.destroy();
- 2794. - });
- 2795. - },
- 2796. - applyUi: function () {
- 2797. - // debugLog('apply ui');
- 2798. - if (!cur.searchSortMenu) return;
- 2799. - cur.searchSortMenu.setOptions({title: cur.search_sort[1]});
- 2800. - cur.searchSortMenu.value = cur.search_sort[0];
- 2801. - val('feed_search_sort_dd', cur.search_sort[1].replace(/\s+/g, ' '));
- 2802. - },
- 2803. - mentionClick: function(el, ev) {
- 2804. - var post = ((el.getAttribute('mention') || '').match(/^bp(-?\d+_\d+)$/) || {})[1];
- 2805. - if (!post) return nav.go(el, ev);
- 2806. -
- 2807. - post = post.split('_');
- 2808. - for (; el; el = el.parentNode) {
- 2809. - var m = (el.id || '').match(/^replies(-?\d+_topic\d+)$/);
- 2810. - if (m) {
- 2811. - var topic = m[1].split('_');
- 2812. - if (topic[0] == post[0]) {
- 2813. - return wall.showReply(m[1], post[0] + 'topic_' + post[1]);
- 2814. - } else {
- 2815. - break;
- 2816. - }
- 2817. - }
- 2818. - }
- 2819. - return nav.go(el, ev);
- 2820. - },
- 2821. -
- 2822. - recomPreload: function() {
- 2823. - if (cur.recomPreload) return;
- 2824. - cur.recomPreload = true;
- 2825. - ajax.post('/al_feed.php', {act: 'recom'}, {cache: 1});
- 2826. - },
- 2827. - recomMore: function(ev) {
- 2828. - if (checkEvent(ev) !== false) return;
- 2829. - var cont = ge('feed_recom_rows'), lnk = ge('feed_recom_more');
- 2830. - if (cont.childNodes.length > 2) {
- 2831. - var old = getSize(cont)[1];
- 2832. - while (cont.childNodes.length > 2) {
- 2833. - cont.removeChild(cont.lastChild);
- 2834. - }
- 2835. - scrollToY(0, 0);
- 2836. - hide(lnk.firstChild.nextSibling);
- 2837. - show(lnk.firstChild);
- 2838. - return cancelEvent(ev);
- 2839. - }
- 2840. -
- 2841. - ajax.post('/al_feed.php', {act: 'recom'}, {cache: 1, onDone: function(rows) {
- 2842. - hide(lnk.firstChild);
- 2843. - show(lnk.firstChild.nextSibling);
- 2844. - var e = ce('div', {innerHTML: rows}), c = ge('feed_recom_rows'), el;
- 2845. - while (el = e.firstChild) {
- 2846. - if (ge(el.id)) {
- 2847. - re(el);
- 2848. - } else {
- 2849. - c.appendChild(el);
- 2850. - }
- 2851. - }
- 2852. - if (c.childNodes.length % 2) re(c.lastChild);
- 2853. - }, showProgress: function() {
- 2854. - hide(lnk.firstChild);
- 2855. - show(lnk.lastChild);
- 2856. - }, hideProgress: function() {
- 2857. - show(lnk.firstChild);
- 2858. - hide(lnk.lastChild);
- 2859. - }});
- 2860. - return cancelEvent(ev);
- 2861. - },
- 2862. - recomSubscribe: function(oid, btn) {
- 2863. - ajax.post('/al_feed.php', {act: 'subscr', oid: oid, from: nav.objLoc.section, hash: val('feed_recom_hash')}, {
- 2864. - onDone: function(text) {
- 2865. - btn.parentNode.parentNode.replaceChild(ce('div', {className: 'feed_recom_done fl_l', innerHTML: text}), btn.parentNode);
- 2866. - if (nav.objLoc.section != 'recommended') {
- 2867. - nav.go(nav.objLoc, false, {params: {norecom: 1}});
- 2868. - }
- 2869. - },
- 2870. - showProgress: lockButton.pbind(btn),
- 2871. - hideProgress: unlockButton.pbind(btn)
- 2872. - });
- 2873. - }
- 2874. - };
- 2875. - window.feed = Feed;
- 2876. -
- 2877. - FeedSearch = {
- 2878. - init: function (input, options) {
- 2879. - return false;
- 2880. - var self = this;
- 2881. - this.input = input;
- 2882. - this.cont = input.parentNode.parentNode;
- 2883. - var resultContainer = ce('div', {className: 'results_container', innerHTML: '<div class="result_list"></div><div class="result_list_shadow"><div class="shadow1"></div><div class="shadow2"></div></div>'});
- 2884. - this.cont.appendChild(resultContainer);
- 2885. - this.resultList = geByClass('result_list', resultContainer)[0];
- 2886. - this.resultListShadow = geByClass('result_list_shadow', resultContainer)[0];
- 2887. - hide(this.resultList, this.resultListShadow);
- 2888. -
- 2889. - if (browser.chrome) this.resultList.style.opacity = 1;
- 2890. - else if (!browser.safari) setStyle(this.resultListShadow, 'top', browser.mozilla ? 0 : (browser.msie && browser.version < 8) ? 0 : -1);
- 2891. - this.resultList.style.width = this.resultListShadow.style.width = resultContainer.style.width = '273px';
- 2892. -
- 2893. - this.initSelect();
- 2894. -
- 2895. - addEvent(input, 'keyup click mouseup', function (e) {
- 2896. - if (!self.select) return;
- 2897. - if (self.select.isVisible() && self.select.active > -1) {
- 2898. - if (inArray(e.keyCode, [KEY.UP, KEY.DOWN, KEY.PAGEUP, KEY.PAGEDOWN, KEY.RETURN])) return cancelEvent(e);
- 2899. - }
- 2900. - clearTimeout(cur.requestTimeout);
- 2901. - var term = val(input);
- 2902. - self.currentTerm = term;
- 2903. - var section = cur.section;
- 2904. - if (!term) {
- 2905. - self.select.hide();
- 2906. - return;
- 2907. - }
- 2908. - cur.requestTimeout = setTimeout(function() {
- 2909. - ajax.post('/hints.php?act=a_feed_hints', {q: term, section: section}, {
- 2910. - onDone: function (data) {
- 2911. - if (self.currentTerm === term) self.showSelectList(term, data);
- 2912. - }, cache: 1
- 2913. - });
- 2914. - }, 300);
- 2915. - });
- 2916. - addEvent(input, 'blur', function () {
- 2917. - clearTimeout(cur.requestTimeout);
- 2918. - delete self.currentTerm;
- 2919. - if (!self.select) return;
- 2920. - self.select.hide();
- 2921. - });
- 2922. - addEvent(input, 'keypress keydown', function (e) {
- 2923. - if (!self.select) return;
- 2924. - if (!self.select || self.select.active < 0) return true;
- 2925. -
- 2926. - if (e.keyCode == KEY.RETURN || e.keyCode == 10) {
- 2927. - if (self.select && self.select.isVisible()) {
- 2928. - triggerEvent(document, e.type, e);
- 2929. - return cancelEvent(e);
- 2930. - }
- 2931. - } else if (e.keyCode == KEY.SPACE) {
- 2932. - var el = self.select.list.childNodes[self.select.active], id = el ? el.getAttribute('val') : '', item;
- 2933. - each(self.lastItems, function () {
- 2934. - if (this[0] == id) {
- 2935. - item = this;
- 2936. - }
- 2937. - });
- 2938. - if (!item) return;
- 2939. - val(input, item[3] + ' ');
- 2940. - focusAtEnd(input);
- 2941. - return cancelEvent(e);
- 2942. - }
- 2943. - return true;
- 2944. - });
- 2945. - },
- 2946. - initSelect: function () {
- 2947. - return false;
- 2948. - if (this.select || !window.Select || !window._ui) return;
- 2949. - if (!this.resultList || !this.resultListShadow) {
- 2950. - debugLog('no containers', this.resultList, this.resultListShadow);
- 2951. - return;
- 2952. - }
- 2953. - this.guid = _ui.reg(this);
- 2954. - this.select = new Select(this.resultList, this.resultListShadow, {
- 2955. - selectFirst: false,
- 2956. - onItemSelect: this.onItemSelect.bind(this),
- 2957. - onShow: _ui.sel.pbind(this.guid),
- 2958. - onHide: _ui.sel.pbind(false),
- 2959. - cycle: true
- 2960. - });
- 2961. - this.select.hide();
- 2962. - },
- 2963. - showSelectList: function (term, items) {
- 2964. - var self = this;
- 2965. - if (!this.select) return;
- 2966. - items = isArray(items) && items.length ? items : [];
- 2967. - if (!items.length) {
- 2968. - self.select.hide();
- 2969. - return;
- 2970. - }
- 2971. - this.select.clear();
- 2972. - this.lastItems = items;
- 2973. - this.select.content(items);
- 2974. - this.select.show();
- 2975. - },
- 2976. - onItemSelect: function(id) {
- 2977. - if (!this.select) return;
- 2978. - this.select.hide();
- 2979. - var item;
- 2980. - each(this.lastItems, function () {
- 2981. - if (this[0] == id) {
- 2982. - item = this;
- 2983. - }
- 2984. - });
- 2985. - if (!item) return;
- 2986. - val(this.input, '');
- 2987. - feed.switchOwner(item[4], item[3]);
- 2988. - this.input.blur();
- 2989. - },
- 2990. - onEvent: function(e) {
- 2991. - if (e.type == (browser.opera || browser.mozilla ? 'keypress' : 'keydown')) {
- 2992. - this.select.handleKeyEvent(e);
- 2993. - }
- 2994. - },
- 2995. - destroy: function (prevCur) {
- 2996. - cleanElems(this.resultList, this.resultListShadow, this.input);
- 2997. - clearTimeout(prevCur ? prevCur.requestTimeout : cur.requestTimeout);
- 2998. - if (this.select) {
- 2999. - this.select.destroy();
- 3000. - delete this.select;
- 3001. - }
- 3002. - if (this.resultList) {
- 3003. - re(this.resultList.parentNode);
- 3004. - }
- 3005. - delete this.lastItems;
- 3006. - this.inited = false;
- 3007. - }
- 3008. - }
- 3009. -
- 3010. - try{stManager.done('feed.js');}catch(e){}
- ------
- Файл - feed.css (Старый размер - 32186 | Новый - 0):
- 0. - #feed_css {
- 1. - display: none;
- 2. - }
- 3. - #no_updates {
- 4. - text-align:center;
- 5. - padding: 90px 35px;
- 6. - font-size: 1.18em;
- 7. - color:#777;
- 8. - }
- 9. - /* Top nav */
- 10. - .feed_tab_hidden {
- 11. - display: none;
- 12. - }
- 13. - #feed_bar {
- 14. - padding: 8px 10px 8px;
- 15. - background: #F7F7F7;
- 16. - border-bottom: 1px solid #DAE1E8;
- 17. - }
- 18. - #feed_search_wrap {
- 19. - clear: left;
- 20. - padding: 0;
- 21. - position: relative;
- 22. - }
- 23. - #feed_search {
- 24. - margin: 0;
- 25. - padding: 6px 21px 6px 20px;
- 26. - width: 554px;
- 27. - line-height: 1.27em;
- 28. - background: #FFF url(/images/magglass.png) no-repeat 5px 8px;
- 29. - outline: none;
- 30. - }
- 31. - #feed_search::-ms-clear {
- 32. - display: none;
- 33. - }
- 34. -
- 35. - #feed_query_reset {
- 36. - cursor: pointer;
- 37. - display: none;
- 38. - background: transparent url(/images/icons/input_clear.gif) 6px 8px no-repeat;
- 39. - padding: 1px;
- 40. - width: 22px;
- 41. - height: 25px;
- 42. - margin: 0 0 0 573px;
- 43. - opacity: 0.6;
- 44. - filter: alpha(opacity=60);
- 45. - z-index: 100;
- 46. - position: absolute;
- 47. - }
- 48. - #feed_query_reset:hover {
- 49. - opacity: 1;
- 50. - filter: none;
- 51. - }
- 52. - .feed_search_submit {
- 53. - margin: 0 10px;
- 54. - }
- 55. - .feed_search_extended {
- 56. - margin: 6px 5px 5px;
- 57. - white-space: nowrap;
- 58. - max-width: 122px;
- 59. - overflow: hidden;
- 60. - text-overflow: ellipsis;
- 61. - }
- 62. - #feed_search_submit_wrap {
- 63. - display: none;
- 64. - }
- 65. - #feed_search_submit {
- 66. - width: 75px;
- 67. - padding-top: 5px;
- 68. - padding-bottom: 5px;
- 69. - line-height: 13px;
- 70. - }
- 71. - #feed_search_bar {
- 72. - position: relative;
- 73. - padding: 4px 5px;
- 74. - }
- 75. - .feed_search_extform_wrap {
- 76. - display: none;
- 77. - }
- 78. - .feed_bar_extended_search #feed_search_submit_wrap,
- 79. - .feed_bar_extended_search .feed_search_extform_wrap {
- 80. - display: block;
- 81. - }
- 82. -
- 83. - #feed_search_bar .selector_container .results_container {
- 84. - top: 30px;
- 85. - }
- 86. - #feed_search_bar #feed_search_extform .selector_container .results_container {
- 87. - top: auto;
- 88. - }
- 89. -
- 90. - #feedtab_owner,
- 91. - #feedtab_source {
- 92. - display: none;
- 93. - }
- 94. - #feed_bar .summary_tab_sel,
- 95. - #main_feed .active_link {
- 96. - display: block;
- 97. - }
- 98. - #feed_menu_toggle {
- 99. - padding-top: 3px;
- 100. - }
- 101. - #feed_edit_hidden {
- 102. - padding-top: 3px;
- 103. - }
- 104. - #feed_progress {
- 105. - display: none;
- 106. - margin: 5px 5px 2px;
- 107. - }
- 108. - #feed_popular_period {
- 109. - border-bottom: 1px solid #DAE2E8;
- 110. - margin-bottom: 5px;
- 111. - padding-bottom: 5px;
- 112. - overflow: hidden;
- 113. - width: 136px;
- 114. - }
- 115. - #feed_articles_period {
- 116. - overflow: hidden;
- 117. - width: 136px;
- 118. - }
- 119. -
- 120. - .feed_tab_settings nobr {
- 121. - display: block;
- 122. - background: url(/images/icons/audio_icons.png?5) -80px -52px no-repeat;
- 123. - width: 11px;
- 124. - height: 11px;
- 125. - margin: 1px 0 0;
- 126. - }
- 127. -
- 128. - /* New post field */
- 129. - .feed_post_field_wrap {
- 130. - padding: 5px;
- 131. - }
- 132. - td.feed_post_field_photo {
- 133. - width: 42px;
- 134. - }
- 135. - a.feed_post_field_photo {
- 136. - display: block;
- 137. - width: 32px;
- 138. - height: 32px;
- 139. - position: absolute;
- 140. - overflow: hidden;
- 141. - }
- 142. - img.feed_post_field_photo {
- 143. - width: 32px;
- 144. - height: 32px;
- 145. - }
- 146. - div.feed_post_field {
- 147. - margin-left: 42px;
- 148. - }
- 149. -
- 150. - #main_feed .feed_post_field_wrap #submit_post_box {
- 151. - padding: 0;
- 152. - background: none;
- 153. - border: 0;
- 154. - }
- 155. - #main_feed .feed_post_field_wrap #submit_post_box .clear_fix .input_back {
- 156. - min-height: 0;
- 157. - margin-left: 5px !important;
- 158. - }
- 159. - #main_feed .feed_post_field_wrap #submit_post_box .clear_fix .input_back_content {
- 160. - line-height: 2.09em;
- 161. - }
- 162. - #main_feed .feed_post_field_wrap #submit_post_box textarea#post_field {
- 163. - width: 547px;
- 164. - height: 24px;
- 165. - line-height: 150%;
- 166. - }
- 167. - .feed_post_field_wrap #submit_post {
- 168. - display: none;
- 169. - }
- 170. - .feed_post_field_wrap .mention_rich_ta {
- 171. - line-height: 150%;
- 172. - }
- 173. -
- 174. - .feed_post_field_wrap .post_upload_wrap {
- 175. - top: 7px;
- 176. - right: 5px;
- 177. - }
- 178. - .feed_post_field_wrap .post_upload_dropbox_inner {
- 179. - width: 543px;
- 180. - }
- 181. - .feed_post_field_wrap .post_upload_min_wrap {
- 182. - top: 0px;
- 183. - right: 0px;
- 184. - }
- 185. - .feed_post_field_wrap .post_upload_min_wrap div.post_upload {
- 186. - height: 32px;
- 187. - background-position: center 10px;
- 188. - }
- 189. -
- 190. -
- 191. - #main_feed .post {
- 192. - border-top: 0;
- 193. - border-bottom: 1px solid #DAE1E8;
- 194. - padding: 5px 0 3px;
- 195. - }
- 196. - #main_feed .post .match {
- 197. - background: #E1E7ED;
- 198. - border-bottom: 1px solid #DAE1E8;
- 199. - margin: 0px;
- 200. - padding: 0px 1px;
- 201. - }
- 202. - #main_feed .post .feed_ignore_label {
- 203. - text-align: center;
- 204. - line-height: 1.81em;
- 205. - padding: 8px 60px 8px;
- 206. - }
- 207. - .feed_ignore_owner_button {
- 208. - margin: 0 5px;
- 209. - }
- 210. - .feed_ignore_cancel_wrap {
- 211. - position: relative;
- 212. - }
- 213. - .feed_ignore_cancel {
- 214. - display: block;
- 215. - position: absolute;
- 216. - right: -60px;
- 217. - padding: 3px 5px 2px;
- 218. - }
- 219. - .feed_ignore_owner_second_button {
- 220. - margin-top: 10px;
- 221. - }
- 222. -
- 223. - #main_feed #show_more_link {
- 224. - margin-top: -1px;
- 225. - padding: 10px 0;
- 226. - margin-bottom: 15px;
- 227. - }
- 228. -
- 229. - #main_feed .explain {
- 230. - line-height: 150%;
- 231. - padding-left: 1px;
- 232. - }
- 233. - #main_feed .feed_group_explain {
- 234. - padding-top: 6px;
- 235. - color: #777;
- 236. - }
- 237. -
- 238. - #main_feed .feed_explain_list {
- 239. - padding-top: 4px;
- 240. - line-height: 160%;
- 241. - height: auto;
- 242. - }
- 243. -
- 244. - .post_photos .like_wrap, .post_photos .replies_wrap {
- 245. - display: none;
- 246. - }
- 247. -
- 248. - .feed_friends {
- 249. - vertical-align: middle;
- 250. - padding-top: 5px;
- 251. - }
- 252. - .feed_friend {
- 253. - float: left;
- 254. - width: 100px;
- 255. - padding: 8px 15px 0 0;
- 256. - }
- 257. - .feed_friend_image {
- 258. - height: 100px;
- 259. - overflow: hidden;
- 260. - }
- 261. - .feed_friend_name {
- 262. - padding: 5px 5px 1px;
- 263. - overflow: hidden;
- 264. - line-height: 1.27em;
- 265. - text-align: center;
- 266. - }
- 267. -
- 268. - .feed_gifts {
- 269. - vertical-align: middle;
- 270. - padding-top: 5px;
- 271. - }
- 272. - .feed_gift {
- 273. - float: left;
- 274. - width: 96px;
- 275. - padding: 5px 5px 5px 0;
- 276. - text-align: center;
- 277. - }
- 278. - .feed_gift_image {
- 279. - height: 96px;
- 280. - overflow: hidden;
- 281. - }
- 282. -
- 283. - .feed_videos {
- 284. - vertical-align: middle;
- 285. - padding-top: 10px;
- 286. - }
- 287. -
- 288. - .feed_filter_sep {
- 289. - margin: 10px 0px;
- 290. - border-bottom: 1px solid #DAE2E8;
- 291. - height: 1px;
- 292. - overflow: hidden;
- 293. - width: 136px;
- 294. - }
- 295. - #feed_menu .feed_s_filter {
- 296. - display: none;
- 297. - }
- 298. -
- 299. - #posts_filter {
- 300. - padding: 0;
- 301. - margin: 0;
- 302. - outline: 0;
- 303. - }
- 304. -
- 305. - #feed_summary_wrap .summary {
- 306. - word-wrap: break-word;
- 307. - }
- 308. -
- 309. - a#posts_filter:hover {
- 310. - text-decoration: underline !important;
- 311. - }
- 312. - .dd_menu_posts .dd_menu_header {
- 313. - width: 130px;
- 314. - }
- 315. - .dd_menu_posts .dd_header_hover {
- 316. - visibility: hidden;
- 317. - }
- 318. - .dd_menu_posts .dd_menu_rows a, .dd_menu_groups .dd_menu_rows a {
- 319. - padding-top: 3px;
- 320. - height: 17px;
- 321. - }
- 322. - .dd_menu_groups .dd_menu_rows a {
- 323. - padding-top: 2px;
- 324. - height: 16px;
- 325. - }
- 326. - .dd_menu_groups .dd_menu_rows a {
- 327. - overflow: hidden;
- 328. - }
- 329. -
- 330. - .dd_menu_groups .dd_menu_rows .dd_item_-5,
- 331. - .dd_menu_groups .dd_menu_rows .dd_item_-4,
- 332. - .dd_menu_groups .dd_menu_rows .dd_item_-3,
- 333. - .dd_menu_groups .dd_menu_rows .dd_item_-2,
- 334. - .dd_menu_groups .dd_menu_rows .dd_item_-1 {
- 335. - background-image: url(/images/icons/mono_iconset.gif?8);
- 336. - background-repeat: no-repeat;
- 337. - padding-right: 26px;
- 338. - }
- 339. -
- 340. - .dd_menu_groups .dd_menu_rows .dd_item_-5 { background-position: 97% -40px; }
- 341. - .dd_menu_groups .dd_menu_rows .dd_item_-4 { background-position: 97% -53px; }
- 342. - .dd_menu_groups .dd_menu_rows .dd_item_-3 { background-position: 97% 3px; }
- 343. - .dd_menu_groups .dd_menu_rows .dd_item_-2 { background-position: 97% -116px; }
- 344. - .dd_menu_groups .dd_menu_rows .dd_item_-1 { background-position: 97% -86px; }
- 345. -
- 346. -
- 347. -
- 348. - #feed_menu_wrap {
- 349. - position: relative;
- 350. - }
- 351. - #feed_menu {
- 352. - position: absolute;
- 353. - left: 470px;
- 354. - top: -1px;
- 355. - -moz-box-shadow: 0 1px 3px #DAE1E8;
- 356. - -webkit-box-shadow: 0 1px 3px #DAE1E8;
- 357. - box-shadow: 0 1px 3px #DAE1E8;
- 358. - background: #F7F7F7;
- 359. - z-index: 1403;
- 360. - display: none;
- 361. - border: 1px solid #DAE1E8;
- 362. - line-height: 150%;
- 363. - width: 136px;
- 364. - padding: 10px;
- 365. - }
- 366. - .feed_filter_row {
- 367. - cursor: pointer;
- 368. - margin-bottom: 2px;
- 369. - padding: 3px 0;
- 370. - clear: left;
- 371. - line-height: normal;
- 372. - }
- 373. - .feed_filter_row:last-child {
- 374. - margin: 0;
- 375. - }
- 376. - .feed_filter_row_over {
- 377. - background-color: #DAE1E8;
- 378. - }
- 379. -
- 380. - .feed_filter_icon {
- 381. - margin: 1px 0 0 4px;
- 382. - width: 11px;
- 383. - height: 11px;
- 384. - background-image: url(/images/icons/mono_iconset.gif?8);
- 385. - background-repeat: no-repeat;
- 386. - }
- 387. - .feed_filter_check {
- 388. - width: 13px;
- 389. - height: 12px;
- 390. - background: url(/images/icons/check_balanced.gif) no-repeat 0 0;
- 391. - visibility: hidden;
- 392. - }
- 393. - .checked .feed_filter_check {
- 394. - visibility: visible;
- 395. - }
- 396. - .feed_icon_news {background-position: 0 -45px;}
- 397. - .feed_icon_ph { background-position: 0 -30px; }
- 398. - .feed_icon_vd { background-position: 0 -75px; }
- 399. - .feed_icon_nt { background-position: 0 -150px; }
- 400. - .feed_icon_ps { background-position: 0 -45px; }
- 401. - .feed_icon_tp { background-position: 0 -192px; }
- 402. - .feed_icon_nw { background-position: 0 -148px; }
- 403. - .feed_icon_fr { background-position: 0 -15px; }
- 404. - .feed_icon_gf { background-position: 0 -104px; }
- 405. - .feed_icon_gr { background-position: 0 -88px; }
- 406. - .feed_icon_ev { background-position: 0 -164px; }
- 407. - .feed_icon_lk { background-position: 0 -178px; }
- 408. - .feed_icon_rp { background-position: 0 -250px; }
- 409. - .feed_icon_mt { background-position: 0 0; }
- 410. -
- 411. -
- 412. - .feed_tab_add .summary_tab3 {
- 413. - padding: 0;
- 414. - }
- 415. - #feed_tab_add_menu_wrap {
- 416. - position: relative;
- 417. - }
- 418. - #feed_tab_add_menu {
- 419. - position: absolute;
- 420. - display: none;
- 421. - font-weight: normal;
- 422. - top: -20px;
- 423. - /* right: -2px; */
- 424. - right: 0;
- 425. - -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
- 426. - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
- 427. - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
- 428. - z-index: 2000;
- 429. - width: 156px;
- 430. - }
- 431. - .feed_tab_add_icon {
- 432. - width: 16px;
- 433. - height: 16px;
- 434. - margin: 0;
- 435. - background: url(/images/icons/news_iconset.png?2) no-repeat 0 -144px;
- 436. - }
- 437. - #feed_tab_add_menu .feed_tab_add_icon {
- 438. - background-position: 0 -128px;
- 439. - }
- 440. - #feed_tab_add_header {
- 441. - cursor: pointer;
- 442. - /*background: #7190b1;*/
- 443. - background: #597DA3;
- 444. - padding: 3px 8px 1px 8px;
- 445. - color: #FFF;
- 446. - font-weight: bold;
- 447. - -webkit-border-radius: 2px 2px 0 0;
- 448. - -moz-border-radius: 2px 2px 0 0;
- 449. - border-radius: 2px 2px 0 0;
- 450. - overflow: hidden;
- 451. - position: relative;
- 452. - }
- 453. - #feed_tab_add_filters {
- 454. - background: #FFF;
- 455. - border: 1px solid #a8b4c3;
- 456. - border-top: 0;
- 457. - -webkit-border-radius: 0 0 2px 2px;
- 458. - -moz-border-radius: 0 0 2px 2px;
- 459. - border-radius: 0 0 2px 2px;
- 460. - overflow: hidden;
- 461. - line-height: 150%;
- 462. - padding: 0;
- 463. - margin: 0;
- 464. - position: relative;
- 465. - }
- 466. - .feed_filter_tabs_row {
- 467. - cursor: pointer;
- 468. - margin-bottom: 2px;
- 469. - padding: 4px 5px 4px 7px;
- 470. - clear: left;
- 471. - line-height: normal;
- 472. - }
- 473. - .feed_filter_tabs_row:last-child {
- 474. - margin: 0;
- 475. - }
- 476. - .feed_filter_tabs_row_over {
- 477. - background-color: #DAE1E8;
- 478. - }
- 479. - .feed_filter_tabs_icon,
- 480. - .feed_filter_tabs_check {
- 481. - width: 16px;
- 482. - height: 16px;
- 483. - margin: 0;
- 484. - background-image: url(/images/icons/news_iconset.png?2);
- 485. - }
- 486. - .feed_filter_tabs_icon {
- 487. - margin-right: 8px;
- 488. - }
- 489. - .feed_filter_tabs_title {
- 490. - color: #2B587A;
- 491. - line-height: 16px;
- 492. - width: 102px;
- 493. - overflow: hidden;
- 494. - text-overflow: ellipsis;
- 495. - white-space: nowrap;
- 496. - }
- 497. - .feed_filter_tabs_check {
- 498. - background-position: 0 -97px;
- 499. - background-repeat: no-repeat;
- 500. - visibility: hidden;
- 501. - }
- 502. - .checked .feed_filter_tabs_check {
- 503. - visibility: visible;
- 504. - }
- 505. - .feed_icon_friends { background-position: 0 0; }
- 506. - .feed_icon_groups { background-position: 0 -16px; }
- 507. - .feed_icon_photos { background-position: 0 -32px; }
- 508. - .feed_icon_search { background-position: 0 -48px; }
- 509. - .feed_icon_articles { background-position: 0 -64px; }
- 510. - .feed_icon_likes { background-position: 0 -80px; }
- 511. - .feed_icon_recommended { background-position: 0 -160px; }
- 512. - .feed_filter_lists_row .feed_filter_tabs_icon { background: none; }
- 513. - .feed_filter_lists_row .feed_filter_tabs_check { background-position: 0 -112px; }
- 514. - .feed_icon_newlist { background: none; }
- 515. -
- 516. - #filter_t_news {display: none;}
- 517. -
- 518. - b.feed_gr_icon,
- 519. - b.feed_ev_icon,
- 520. - b.feed_tp_icon,
- 521. - b.feed_nt_icon {
- 522. - margin: 2px 4px 0 0;
- 523. - display: block;
- 524. - float: left;
- 525. - width: 11px;
- 526. - height: 11px;
- 527. - background: url(/images/icons/mono_iconset.gif?8) no-repeat;
- 528. - }
- 529. - b.feed_gr_icon { background-position: 0 -88px; }
- 530. - b.feed_ev_icon { background-position: 0 -164px; }
- 531. - b.feed_nt_icon { background-position: 0 -148px; }
- 532. - b.feed_tp_icon { background-position: 0 -192px; }
- 533. -
- 534. - .feed_filter_title {
- 535. - padding-left: 7px;
- 536. - width: 98px;
- 537. - *width: 95px;
- 538. - color: #2B587A;
- 539. - }
- 540. -
- 541. -
- 542. - #feed_rows_next {
- 543. - display: none;
- 544. - }
- 545. -
- 546. - #all_shown {
- 547. - margin-top: -1px;
- 548. - margin-bottom: 15px;
- 549. - border-top: 1px solid #CAD1D9;
- 550. - color: #777;
- 551. - height: 13px;
- 552. - display: none;
- 553. - padding: 10px 0px;
- 554. - text-align: center;
- 555. - }
- 556. -
- 557. - #feed_empty {
- 558. - color: #777;
- 559. - display: none;
- 560. - font-size: 1.09em;
- 561. - line-height: 170%;
- 562. - padding: 100px 30px;
- 563. - text-align: center;
- 564. - }
- 565. - #feed_error_wrap {
- 566. - color: #777;
- 567. - font-size: 1.09em;
- 568. - line-height: 170%;
- 569. - padding: 100px 30px;
- 570. - text-align: center;
- 571. - }
- 572. -
- 573. - #feed_wall .feed_reposts_more_link {
- 574. - border-top: 1px solid #FFF;
- 575. - border-bottom: 1px solid #DAE1E8;
- 576. - margin-top: -1px;
- 577. - text-align: center;
- 578. - }
- 579. - .feed_reposts_group {
- 580. - display: none;
- 581. - }
- 582. -
- 583. -
- 584. - /* Posts ignoring */
- 585. - .ignore_row {
- 586. - background:#FFFFFF;
- 587. - border-bottom:1px solid #DAE2E8;
- 588. - padding:8px 0;
- 589. - }
- 590. -
- 591. - .ignore_row td.img img {
- 592. - width:25px;
- 593. - }
- 594. -
- 595. - .ignore_row td.img a {
- 596. - display:block;
- 597. - height:25px;
- 598. - overflow:hidden;
- 599. - width:25px;
- 600. - }
- 601. -
- 602. - .ignore_row td.info {
- 603. - padding-left:10px;
- 604. - }
- 605. -
- 606. - .ignore_row td.info .actions {
- 607. - height: 14px;
- 608. - }
- 609. -
- 610. - .ignore_row table {
- 611. - border-collapse:collapse;
- 612. - width:100%;
- 613. - line-height:120%;
- 614. - vertical-align:top;
- 615. - }
- 616. -
- 617. - .ignore_row td.img {
- 618. - width:25px;
- 619. - }
- 620. -
- 621. - #ignore_header {
- 622. - border-bottom:1px solid #DAE1E8;
- 623. - margin:0;
- 624. - padding:5px 0 2px;
- 625. - }
- 626. -
- 627. - .ignore_row .dld {
- 628. - background: #FFFFFF;
- 629. - color: #777;
- 630. - font-weight: normal;
- 631. - margin: 0;
- 632. - border: 0;
- 633. - }
- 634. - .feed_post_report {
- 635. - padding: 3px 0 8px;
- 636. - }
- 637. - .ignore_row_empty {
- 638. - padding: 20px;
- 639. - text-align: center;
- 640. - color: #888;
- 641. - }
- 642. -
- 643. - .feed_ignore_list {
- 644. - height:300px;
- 645. - overflow:auto;
- 646. - }
- 647. -
- 648. -
- 649. - /* Comments autoupdate */
- 650. - #main_feed .wall_module .reply {
- 651. - background: none;
- 652. - }
- 653. -
- 654. - /* Notifications feed */
- 655. - .feedback_answered_row_wrap {
- 656. - border-bottom: 1px solid #DAE1E8;
- 657. - padding: 0;
- 658. - }
- 659. - .feedback_row_wrap {
- 660. - padding: 0 0 10px;
- 661. - cursor: pointer;
- 662. - }
- 663. - .feedback_row_clickable {
- 664. - cursor: pointer;
- 665. - }
- 666. - .feedback_row_clickable_over1,
- 667. - .feedback_row_clickable_over2,
- 668. - .feedback_row_clickable_over3,
- 669. - .feedback_row_clickable_over4 {
- 670. - background: #edf1f5;
- 671. - margin: 0 -15px 0 -15px;
- 672. - padding: 0 15px 0 15px;
- 673. - }
- 674. - .feedback_row_clickable_over2 {
- 675. - border-top: 1px solid #DAE1E8;
- 676. - margin-top: -1px;
- 677. - }
- 678. - .feedback_row_clickable_over3 {
- 679. - padding-top: 5px;
- 680. - margin-top: -5px;
- 681. - margin-bottom: 0px;
- 682. - }
- 683. - .feedback_row_clickable_over4 {
- 684. - padding-top: 5px;
- 685. - margin-top: -6px;
- 686. - border-top: 1px solid #DAE1E8;
- 687. - }
- 688. -
- 689. - .feedback_grouped_row {
- 690. - padding: 10px 25px 0 0;
- 691. - }
- 692. - .feedback_row {
- 693. - padding: 10px 30px 0 0;
- 694. - }
- 695. - .wide_wall_module .feedback_row_wrap .audio .title_wrap {
- 696. - width: 300px;
- 697. - }
- 698. - .wide_wall_module .feedback_row_wrap .audio .title_wrap b {
- 699. - max-width: 210px;
- 700. - }
- 701. - .feedback_grouped_row_wrap {
- 702. - border-bottom: 1px solid #DAE1E8;
- 703. - }
- 704. - .feedback_grouped_row {
- 705. - padding-bottom: 10px;
- 706. - }
- 707. -
- 708. - /* Answer */
- 709. - .feedback_row_answer_wrap {
- 710. - border: 1px solid #d5dee7;
- 711. - background: #edf1f5;
- 712. - margin: 10px 0 0;
- 713. - }
- 714. - .feedback_answer_tail_wrap {
- 715. - position: relative;
- 716. - }
- 717. - .feedback_answer_tail {
- 718. - background: url(/images/icons/feedback_iconset.gif?4) 0 -127px no-repeat;
- 719. - width: 15px;
- 720. - height: 9px;
- 721. - position: absolute;
- 722. - left: 20px;
- 723. - top: -7px;
- 724. - }
- 725. - .feedback_row_answer {
- 726. - padding: 8px 10px 6px;
- 727. - }
- 728. - .feedback_row_answer .feedback_row_text {
- 729. - padding: 0 0 1px 4px;
- 730. - }
- 731. - .feedback_row_answer td.feedback_row_photo {
- 732. - padding: 2px 0;
- 733. - }
- 734. -
- 735. - .feedback_row_clickable_over .feedback_row_answer_wrap {
- 736. - border: 1px solid #ccd5de;
- 737. - background: #dae1e8;
- 738. - }
- 739. - .feedback_row_clickable_over .feedback_answer_tail {
- 740. - background: url(/images/icons/feedback_iconset.gif?4) 0 -114px no-repeat;
- 741. - }
- 742. - .feedback_row_answer .feedback_row_date {
- 743. - font-size: 0.9em;
- 744. - }
- 745. -
- 746. -
- 747. - /* Reply form */
- 748. - .feedback_reply_row_wrap {
- 749. - border: 1px solid #ced7e0;
- 750. - background: #e1e7ed;
- 751. - margin: 5px 0px 10px 0;
- 752. - zoom: 1;
- 753. - }
- 754. - .feedback_reply_row {
- 755. - padding: 10px 10px 10px;
- 756. - }
- 757. - .feedback_reply_field {
- 758. - width: 518px;
- 759. - height: 31px;
- 760. - resize: none;
- 761. - }
- 762. - .feedback_reply_actions {
- 763. - padding-top: 10px;
- 764. - }
- 765. - .feedback_reply_hint_wrap {
- 766. - padding: 6px 0 6px 10px;
- 767. - }
- 768. - .feedback_reply_hint {
- 769. - color: #879BB0;
- 770. - cursor: default;
- 771. - }
- 772. - .wall_module .feedback_reply_actions .reply_hint {
- 773. - padding: 0;
- 774. - }
- 775. -
- 776. -
- 777. - .feedback_ownreply_tt table .tt_text {
- 778. - color: #000;
- 779. - padding: 10px;
- 780. - width: 310px;
- 781. - }
- 782. - .feedback_ownreply_tt table.toup1 .bottom_pointer {
- 783. - margin-right: 0px;
- 784. - margin-left: 64px;
- 785. - display: block;
- 786. - background: url(/images/tooltip_arrow_white.gif) no-repeat;
- 787. - }
- 788. - .feedback_ownreply_tt table.toup .top_pointer {
- 789. - margin-right: 0px;
- 790. - margin-left: 64px;
- 791. - display: block;
- 792. - bottom: -2px;
- 793. - background: url(/images/tooltip_arrow_up.gif) no-repeat;
- 794. - }
- 795. -
- 796. -
- 797. - .feedback_reply_tail_wrap {
- 798. - position: relative;
- 799. - }
- 800. - .feedback_reply_tail {
- 801. - background: url(/images/icons/feedback_iconset.gif?4) 0 -140px no-repeat;
- 802. - width: 15px;
- 803. - height: 9px;
- 804. - position: absolute;
- 805. - left: 20px;
- 806. - top: -7px;
- 807. - }
- 808. -
- 809. - table.feedback_row_t {
- 810. - width: 100%;
- 811. - }
- 812. - td.feedback_row_photo {
- 813. - padding-top: 0;
- 814. - width: 60px;
- 815. - }
- 816. - div.feedback_row_photo {
- 817. - width: 60px;
- 818. - height: 50px;
- 819. - overflow: hidden;
- 820. - }
- 821. - img.feedback_row_photo {
- 822. - max-width: 50px;
- 823. - *width: 50px;
- 824. - }
- 825. -
- 826. - .feedback_row_answer td.feedback_row_photo, .feedback_row_answer div.feedback_row_photo {
- 827. - width: 49px;
- 828. - }
- 829. - .feedback_reply_row td.feedback_row_photo {
- 830. - width: 49px;
- 831. - padding-top: 0;
- 832. - }
- 833. - .feedback_row_answer div.feedback_row_photo, .feedback_reply_row div.feedback_row_photo {
- 834. - height: 39px;
- 835. - }
- 836. -
- 837. - .feedback_row_answer img.feedback_row_photo, .feedback_reply_row img.feedback_row_photo {
- 838. - width: 39px;
- 839. - }
- 840. -
- 841. - td.feedback_row_content {
- 842. - line-height: 150%;
- 843. - }
- 844. - div.feedback_row_content,
- 845. - .wall_module .feedback_row_text .wall_post_text {
- 846. - width: 450px;
- 847. - }
- 848. - div.feedback_row_content {
- 849. - padding-left: 4px;
- 850. - margin-left: -4px;
- 851. - }
- 852. - .feedback_row_text {
- 853. - line-height: 160%;
- 854. - padding: 2px 0 4px;
- 855. - max-width: 450px;
- 856. - overflow: hidden;
- 857. - word-wrap: break-word;
- 858. - padding-left: 4px;
- 859. - margin-left: -4px;
- 860. - }
- 861. - .feedback_row_text .wall_post_text {
- 862. - padding-top: 0;
- 863. - }
- 864. - #feed_wall .feedback_row_text .wall_post_text {
- 865. - padding-right: 0;
- 866. - }
- 867. - #feed_wall .feedback_row_text .wall_reply_text,
- 868. - #feed_wall .feedback_row_text .wall_post_text {
- 869. - width: 450px;
- 870. - }
- 871. - .feedback_row_title {
- 872. - font-weight: bold;
- 873. - padding-bottom: 5px;
- 874. - }
- 875. - .feedback_row_date {
- 876. - color: #999;
- 877. - max-width: 450px;
- 878. - white-space: nowrap;
- 879. - -o-text-overflow: ellipsis;
- 880. - text-overflow: ellipsis;
- 881. - overflow: hidden;
- 882. - }
- 883. - .wide_wall_module div.feedback_row .post_media.wall_audio {
- 884. - width: 450px;
- 885. - }
- 886. - .feedback_row_date_link {
- 887. - color: #999;
- 888. - }
- 889. - .feedback_row_clickable_over .feedback_row_date_link,
- 890. - .feedback_row_clickable_over .feedback_row_date {
- 891. - color: #8795A5;
- 892. - }
- 893. - .feedback_row_clickable_over .feedback_row_group_names {
- 894. - color: #798899;
- 895. - }
- 896. - .feedback_grouped_row .feedback_row_icon {
- 897. - margin: 2px 0 0 38px;
- 898. - width: 15px;
- 899. - height: 11px;
- 900. - background-image: url(/images/icons/feedback_iconset.gif?5);
- 901. - background-repeat: no-repeat;
- 902. - }
- 903. - .feedback_like_row .feedback_row_icon {
- 904. - background-position: 0 -16px;
- 905. - }
- 906. - .feedback_copy_row .feedback_row_icon {
- 907. - background-position: 0 -32px;
- 908. - height: 13px;
- 909. - }
- 910. - .feedback_friends_row .feedback_row_icon {
- 911. - background-position: 0 -169px;
- 912. - height: 13px;
- 913. - }
- 914. -
- 915. - .feedback_row_group_names {
- 916. - color: #777;
- 917. - }
- 918. - .feedback_row_group_names .mem_link,
- 919. - .feedback_row_group_names .group_link {
- 920. - font-weight: bold;
- 921. - }
- 922. - .feedback_row_group_photos {
- 923. - padding-top: 4px;
- 924. - }
- 925. - .feedback_group_photo_wrap {
- 926. - padding: 3px 6px 6px 0;
- 927. - }
- 928. - .feedback_group_photo_wrap:last-child {
- 929. - padding-right: 0;
- 930. - }
- 931. - a.feedback_group_photo {
- 932. - display: block;
- 933. - width: 32px;
- 934. - height: 32px;
- 935. - overflow: hidden;
- 936. - }
- 937. - img.feedback_group_photo {
- 938. - width: 32px;
- 939. - height: 32px;
- 940. - }
- 941. -
- 942. - .feedback_expand_wrap {
- 943. - position: absolute;
- 944. - margin: 6px 0 0 584px;
- 945. - }
- 946. - .feedback_expand {
- 947. - background: url(/images/fbgr_arrow.png) no-repeat 0 -6px;
- 948. - width: 11px;
- 949. - height: 6px;
- 950. - display: none;
- 951. - }
- 952. - .feedback_row_clickable_over .feedback_expand {
- 953. - display: block;
- 954. - }
- 955. - .feedback_expanded {
- 956. - background-position: 0 0;
- 957. - display: block;
- 958. - }
- 959. -
- 960. - /* Reply likes */
- 961. - .feedback_like_wrap {
- 962. - position: absolute;
- 963. - margin: -15px 0 0 584px;
- 964. - }
- 965. - .wall_module .feedback_like_wrap .like_wrap {
- 966. - margin: 0;
- 967. - padding: 0;
- 968. - }
- 969. - .wall_module .feedback_like_wrap .like_link {
- 970. - display: none;
- 971. - }
- 972. - .wall_module .feedback_like_wrap .no_likes {
- 973. - visibility: visible;
- 974. - }
- 975. - .wall_module .feedback_like_wrap .like_count {
- 976. - display: none;
- 977. - }
- 978. - .wall_module .feedback_like_wrap .like_wrap div {
- 979. - background: url(/images/icons/feedback_iconset.gif?4) 0 -49px no-repeat;
- 980. - width: 14px;
- 981. - height: 11px;
- 982. - margin: 0;
- 983. - opacity: 0.6;
- 984. - filter: alpha(opacity=60);
- 985. - }
- 986. - .wall_module .feedback_like_wrap .like_wrap div.my_like {
- 987. - opacity: 1;
- 988. - filter: alpha(opacity=100);
- 989. - }
- 990. - /* Reply delete */
- 991. - .feedback_del_wrap {
- 992. - position: absolute;
- 993. - margin: 1px 0 0 585px;
- 994. - }
- 995. - .feedback_del {
- 996. - cursor: pointer;
- 997. - padding: 0;
- 998. - margin: 0;
- 999. - }
- 1000. - .feedback_del_icon {
- 1001. - background: url(/images/pics/statusx_op.gif) 0 0 no-repeat;
- 1002. - width: 11px;
- 1003. - height: 11px;
- 1004. - margin: 0;
- 1005. -
- 1006. - opacity: 0.6;
- 1007. - filter: alpha(opacity=60);
- 1008. - }
- 1009. - .feedback_del_label {
- 1010. - color: #2B587A;
- 1011. - padding: 1px 0 0 7px;
- 1012. - }
- 1013. -
- 1014. - .wall_module .feedback_ignored_row {
- 1015. - border-bottom: 1px solid #DAE1E8;
- 1016. - text-align: center;
- 1017. - line-height: 1.81em;
- 1018. - padding: 10px 0;
- 1019. - }
- 1020. - .feedback_ignored_flush {
- 1021. - line-height: 120%;
- 1022. - padding-top: 6px;
- 1023. - text-align: center;
- 1024. - }
- 1025. -
- 1026. - .feedback_row_clickable .feedback_del_wrap,
- 1027. - .feedback_row_clickable .feedback_like_wrap .like_wrap div {
- 1028. - display: none;
- 1029. - }
- 1030. -
- 1031. - .feedback_row_clickable_over .feedback_del_wrap,
- 1032. - .feedback_row_clickable .feedback_like_wrap .like_wrap div.my_like,
- 1033. - .feedback_row_clickable_over .feedback_like_wrap .like_wrap div {
- 1034. - display: block;
- 1035. - }
- 1036. - .wall_module .feedback_row_answer .delete_post {
- 1037. - width: 11px;
- 1038. - padding-top: 2px;
- 1039. - display: none;
- 1040. - }
- 1041. - .wall_module .feedback_row_answer .delete_post div {
- 1042. - background-position: 0 0;
- 1043. - width: 11px;
- 1044. - height: 11px;
- 1045. - opacity: 0.6;
- 1046. - filter: alpha(opacity=0.6);
- 1047. - }
- 1048. - .wall_module .feedback_row_answer .dld,
- 1049. - .wall_module .feedback_reply_row .dld {
- 1050. - line-height: 140%;
- 1051. - color: #879BB0;
- 1052. - padding: 1px 49px 3px;
- 1053. - }
- 1054. - .wall_module .feedback_reply_row_share {
- 1055. - color: #45688E;
- 1056. - }
- 1057. - .wall_module .feedback_row_answer .dld .dld {
- 1058. - padding: 0;
- 1059. - }
- 1060. - .feedback_graphs_wrap {
- 1061. - padding-bottom: 10px;
- 1062. - border-bottom: 1px solid #DAE1E8;
- 1063. - }
- 1064. - .feedback_graphs_shadow_wrap {
- 1065. - position: relative;
- 1066. - }
- 1067. - .feedback_graphs_shadow {
- 1068. - background: #555;
- 1069. - opacity: 0.12;
- 1070. - filter: alpha(opacity=12);
- 1071. - position: absolute;
- 1072. - width: 599px;
- 1073. - height: 3px;
- 1074. - }
- 1075. -
- 1076. -
- 1077. - /* Slider */
- 1078. - #feed_rate_slider_wrap {
- 1079. - position: absolute;
- 1080. - width: 100px;
- 1081. - right: 32px;
- 1082. - margin-top: -17px;
- 1083. - }
- 1084. - div.feed_rate_label {
- 1085. - cursor: default;
- 1086. - color: #8699AE;
- 1087. - font-size: 1em;
- 1088. - text-align: center;
- 1089. - line-height: 1.18em;
- 1090. - height: 13px;
- 1091. - white-space: nowrap;
- 1092. - }
- 1093. - div.feed_rate_label b {
- 1094. - color: #47688d;
- 1095. - }
- 1096. - #feed_rate_slider_scale {
- 1097. - cursor: pointer;
- 1098. - padding-top: 3px;
- 1099. - }
- 1100. - #feed_rate_slider_line {
- 1101. - cursor: pointer;
- 1102. - border-bottom: 1px solid #5F7D9D;
- 1103. - }
- 1104. - #feed_rate_slider {
- 1105. - cursor: pointer;
- 1106. - background: #5F7D9D;
- 1107. - width: 11px;
- 1108. - height: 4px;
- 1109. - }
- 1110. - .feed_rate_wait,
- 1111. - .feed_rate_wait #feed_rate_slider_scale,
- 1112. - .feed_rate_wait #feed_rate_slider_line,
- 1113. - .feed_rate_wait #feed_rate_slider {
- 1114. - cursor: wait;
- 1115. - }
- 1116. -
- 1117. - .feed_rate_wait .feed_rate_label {
- 1118. - cursor: wait;
- 1119. - text-align: left;
- 1120. - padding-left: 15px;
- 1121. - }
- 1122. - span.feed_rate_load_label,
- 1123. - .feed_rate_wait #feed_rate_slider_label {
- 1124. - display: none;
- 1125. - }
- 1126. - .feed_rate_wait span.feed_rate_load_label {
- 1127. - display: inline;
- 1128. - }
- 1129. - #feed_rate_mobile {
- 1130. - display: none;
- 1131. - text-align: right;
- 1132. - margin-top: -6px;
- 1133. - }
- 1134. - #feed_rate_select {
- 1135. - margin: 0;
- 1136. - }
- 1137. -
- 1138. - /* Slider tooltip */
- 1139. - .feed_side_tt table .tt_text {
- 1140. - line-height: 120%;
- 1141. - color: #000;
- 1142. - padding: 10px;
- 1143. - width: 200px;
- 1144. - }
- 1145. - .feed_side_tt_pointer {
- 1146. - background: url(/images/ddtooltip.png) 0 0 no-repeat;
- 1147. - width: 8px;
- 1148. - height: 11px;
- 1149. - position: absolute;
- 1150. - left: -7px;
- 1151. - top: 50px;
- 1152. - overflow: hidden;
- 1153. - z-index: 10;
- 1154. - }
- 1155. - #feed_rate_tt_place {
- 1156. - width: 1px;
- 1157. - height: 1px;
- 1158. - }
- 1159. -
- 1160. - /* Feedback page thumbs fixes */
- 1161. - #feed_wall .feedback_row a.page_post_thumb_wrap,
- 1162. - #feed_wall .feedback_row a.page_post_thumb_unsized {
- 1163. - margin: 0 3px 3px 0;
- 1164. - }
- 1165. - #feed_wall .feedback_row a.page_post_thumb_last_column {
- 1166. - margin-right: 0;
- 1167. - }
- 1168. - #feed_wall .feedback_row a.page_post_thumb_last_row {
- 1169. - margin-bottom: 0;
- 1170. - }
- 1171. -
- 1172. - #feed_recom_rows,
- 1173. - #feed_recom_preview {
- 1174. - padding: 5px 10px;
- 1175. - }
- 1176. - #feed_recom_more {
- 1177. - display: block;
- 1178. - margin: 0px 15px;
- 1179. - color: #6A7989;
- 1180. - background: #E9EDF1;
- 1181. - height: 13px;
- 1182. - padding: 9px 0px 8px;
- 1183. - text-align: center;
- 1184. - }
- 1185. - #feed_recom_norows {
- 1186. - color: #777;
- 1187. - font-size: 13px;
- 1188. - display: none;
- 1189. - text-align: center;
- 1190. - padding: 100px 20px;
- 1191. - }
- 1192. - #feed_recom_prg {
- 1193. - margin: 0px auto;
- 1194. - }
- 1195. - #feed_recom_more:hover {
- 1196. - text-decoration: none;
- 1197. - }
- 1198. - div.feed_recom {
- 1199. - display: inline;
- 1200. - display: inline-block;
- 1201. - zoom: 1;
- 1202. - width: 292px;
- 1203. - padding: 10px 5px;
- 1204. - }
- 1205. - .feed_recoms_edit .feed_recom {
- 1206. - width: 592px;
- 1207. - }
- 1208. - .feed_recom_edit:hover {
- 1209. - cursor: pointer;
- 1210. - text-decoration: underline;
- 1211. - }
- 1212. - .feed_recom_photo {
- 1213. - width: 105px;
- 1214. - height: 90px;
- 1215. - overflow: hidden;
- 1216. - }
- 1217. - .feed_recom_img {
- 1218. - width: 90px;
- 1219. - vertical-align: top;
- 1220. - }
- 1221. - .feed_recom_lnk {
- 1222. - color: #45688E;
- 1223. - }
- 1224. - .feed_recom_name {
- 1225. - font-weight: bold;
- 1226. - padding: 1px 0px 4px;
- 1227. - }
- 1228. - .feed_recom_desc,
- 1229. - .feed_recom_size {
- 1230. - color: #777;
- 1231. - padding: 3px 0px 4px;
- 1232. - }
- 1233. - .feed_recom_name,
- 1234. - .feed_recom_desc,
- 1235. - .feed_recom_size {
- 1236. - width: 187px;
- 1237. - overflow: hidden;
- 1238. - -o-text-overflow: ellipsis;
- 1239. - text-overflow: ellipsis;
- 1240. - white-space: nowrap;
- 1241. - }
- 1242. - .feed_recom_info {
- 1243. - width: 187px;
- 1244. - }
- 1245. - .feed_recom_right {
- 1246. - width: 290px;
- 1247. - }
- 1248. - .feed_recom_label {
- 1249. - color: #777;
- 1250. - padding: 1px 10px 6px;
- 1251. - width: 100px;
- 1252. - }
- 1253. - .feed_recom_labeled {
- 1254. - padding: 1px 0px 6px;
- 1255. - width: 170px;
- 1256. - }
- 1257. - .feed_recom_labeled .selector_container {
- 1258. - margin: -5px -6px -4px;
- 1259. - }
- 1260. - .feed_recom_btn {
- 1261. - margin-top: 7px;
- 1262. - }
- 1263. - .feed_recom_done {
- 1264. - padding-top: 13px;
- 1265. - color: #777;
- 1266. - }
- 1267. - .feed_recom_add,
- 1268. - .feed_recom_preview {
- 1269. - background: #F7F7F7;
- 1270. - padding: 10px;
- 1271. - border-bottom: 1px solid #DAE1E8;
- 1272. - }
- 1273. - .feed_recom_preview {
- 1274. - padding-top: 0px;
- 1275. - }
- 1276. - #feed_recom_add {
- 1277. - width: 545px;
- 1278. - background: white url(/images/magglass.png) no-repeat 5px 6px;
- 1279. - outline: none;
- 1280. - padding: 5px 40px 5px 20px;
- 1281. - }
- 1282. - #feed_recom_msg {
- 1283. - display: none;
- 1284. - line-height: 160%;
- 1285. - margin: 15px 15px 0px;
- 1286. - }
- 1287. - .feed_recom_ignore {
- 1288. - margin: 0px -20px -3px;
- 1289. - }
- 1290. - .feed_recom_filter {
- 1291. - margin: 0px -5px;
- 1292. - }
- 1293. - .feed_recom_filter_txt {
- 1294. - padding: 15px 10px 4px;
- 1295. - width: 57px;
- 1296. - color: #777;
- 1297. - }
- 1298. - .feed_recom_filter_cb {
- 1299. - width: 80px;
- 1300. - padding-top: 15px;
- 1301. - }
- 1302. - .feed_recom_filter_dd {
- 1303. - padding: 10px 5px 0px;
- 1304. - }
- 1305. - .feed_recom_blocked {
- 1306. - font-weight: bold;
- 1307. - color: #800;
- 1308. - }
- 1309. - .feed_recom_nosearch {
- 1310. - font-weight: bold;
- 1311. - color: #BB6900;
- 1312. - }
- 1313. -
- 1314. - /* Feed articles thumbed links */
- 1315. - .feed_article {
- 1316. - margin: 6px 0 10px 0;
- 1317. - }
- 1318. - .wall_module div.feed_article_desc_wrap {
- 1319. - padding-right: 10px;
- 1320. - line-height: 160%;
- 1321. - min-height: 63px;
- 1322. - max-height: 12.7em;
- 1323. - overflow: hidden;
- 1324. - -o-text-overflow: ellipsis;
- 1325. - text-overflow: ellipsis;
- 1326. - }
- 1327. - div.feed_article_desc {
- 1328. - color: #000;
- 1329. - padding-top: 3px;
- 1330. - }
- 1331. - td.feed_article_thumb {
- 1332. - cursor: pointer;
- 1333. - background-position: 50% 0;
- 1334. - background-repeat: no-repeat;
- 1335. - }
- 1336. - a.feed_article_thumb {
- 1337. - display: block;
- 1338. - width: 100px;
- 1339. - overflow: hidden;
- 1340. - line-height: 0;
- 1341. - min-height: 63px;
- 1342. - height: 100%;
- 1343. - *height: 63px;
- 1344. - }
- 1345. - .feed_article_preview_btn {
- 1346. - padding: 10px 0 0;
- 1347. - }
- 1348. - .feed_article_preview_btn .button_blue,
- 1349. - .feed_article_preview_btn button {
- 1350. - width: 140px;
- 1351. - }
- 1352. - .feed_blog_cont {
- 1353. - background: #F7F7F7;
- 1354. - border-bottom: 1px solid #DAE1E8;
- 1355. - padding: 15px 18px;
- 1356. - display: block;
- 1357. - text-align: center;
- 1358. - color: #777777;
- 1359. - -o-transition:all 200ms ease-in-out;
- 1360. - -moz-transition:all 200ms ease-in-out;
- 1361. - -webkit-transition:all 200ms ease-in-out;
- 1362. - transition:all 200ms ease-in-out;
- 1363. - position: relative;
- 1364. - }
- 1365. - .feed_blog_cont:hover {
- 1366. - background: #F1F1F1;
- 1367. - text-decoration: none;
- 1368. - }
- 1369. - .feed_blog_cont:active {
- 1370. - padding-top: 16px;
- 1371. - padding-bottom: 14px;
- 1372. - }
- 1373. - .feed_blog_close {
- 1374. - background: url(/images/pics/statusx_op.gif) 3px 1px no-repeat;
- 1375. - opacity: 0;
- 1376. - filter: alpha(opacity=0);
- 1377. - cursor: pointer;
- 1378. - height: 17px;
- 1379. - width: 17px;
- 1380. - -o-transition:all 400ms ease-in-out;
- 1381. - -moz-transition:all 400ms ease-in-out;
- 1382. - -webkit-transition:all 400ms ease-in-out;
- 1383. - transition:all 400ms ease-in-out;
- 1384. - position: absolute;
- 1385. - top: 15px;
- 1386. - right: 6px;
- 1387. - }
- 1388. - .feed_blog_cont:hover .feed_blog_close:hover {
- 1389. - opacity: 1;
- 1390. - filter: alpha(opacity=100);
- 1391. - }
- 1392. - .feed_blog_cont:hover .feed_blog_close {
- 1393. - opacity: 0.3;
- 1394. - filter: alpha(opacity=30);
- 1395. - }
- 1396. -
- 1397. -
- 1398. - .feed_suggested_since {
- 1399. - padding: 5px 15px 15px;
- 1400. - }
- 1401. -
- 1402. - .feed_searchext_wrap {
- 1403. - clear: both;
- 1404. - }
- 1405. - #feed_search_sort {
- 1406. - display: none;
- 1407. - padding: 3px 0 0;
- 1408. - }
- 1409. - .feed_serachext_header {
- 1410. - color: #45688E;
- 1411. - font-weight: bold;
- 1412. - padding: 15px 0 8px;
- 1413. - }
- 1414. - .feed_searchext_geo_wrap {
- 1415. - height: 108px;
- 1416. - width: 130px;
- 1417. - }
- 1418. - .feed_searchext_map_icon {
- 1419. - background: url(/images/icons/attach_icons_2x.png?3) 0 -179px no-repeat;
- 1420. - width: 40px;
- 1421. - height: 40px;
- 1422. - }
- 1423. - #feed_searchext_map {
- 1424. - cursor: pointer;
- 1425. - padding: 20px 45px;
- 1426. - background: #E1E4E8;
- 1427. - position: relative;
- 1428. - }
- 1429. - #feed_searchext_map_delete_wrap {
- 1430. - display: none;
- 1431. - position: absolute;
- 1432. - top: 0;
- 1433. - right: 0;
- 1434. - background: #222;
- 1435. - background: rgba(0, 0, 0, 0.5);
- 1436. - -webkit-border-radius: 3px;
- 1437. - -moz-border-radius: 3px;
- 1438. - border-radius: 3px;
- 1439. - padding: 3px;
- 1440. - cursor: pointer;
- 1441. - margin-left: -13px;
- 1442. - }
- 1443. - .feed_searchext_map_delete {
- 1444. - background: url("/images/notifier_close.gif") no-repeat scroll 0 0 transparent;
- 1445. - opacity: 0.6;
- 1446. - filter: alpha(opacity=60);
- 1447. - width: 7px;
- 1448. - height: 7px;
- 1449. - }
- 1450. - #feed_searchext_map_delete_wrap:hover .feed_searchext_map_delete {
- 1451. - opacity: 0.8;
- 1452. - filter: alpha(opacity=80);
- 1453. - }
- 1454. - .feed_searchext_map_selected .feed_searchext_map_icon {
- 1455. - background: url('/images/map/small.png') 13px 8px no-repeat;
- 1456. - }
- 1457. - .feed_searchext_map_selected #feed_searchext_map_delete_wrap {
- 1458. - display: block;
- 1459. - }
- 1460. - .feed_searchext_param {
- 1461. - width: 140px;
- 1462. - padding: 0 15px 5px 0;
- 1463. - }
- 1464. - .feed_searchext_param_dropdown {
- 1465. - position: relative;
- 1466. - }
- 1467. - .feed_searchext_param_last_row .feed_serachext_header {
- 1468. - padding-top: 11px;
- 1469. - }
- 1470. -
- 1471. - #feed_searchext_exclude,
- 1472. - #feed_searchext_link,
- 1473. - #feed_searchext_content {
- 1474. - width: 132px;
- 1475. - outline: none;
- 1476. - }
- 1477. -
- 1478. - .feed_since_photos {
- 1479. - padding: 15px 15px 0;
- 1480. - }
- 1481. - .feed_since_photos .page_post_sized_thumbs {
- 1482. - margin: 0;
- 1483. - padding: 0;
- 1484. - }
- 1485. - .feed_since_photos .page_post_thumb_wrap {
- 1486. - margin-right: 5px;
- 1487. - }
- 1488. - .feed_since_owners {
- 1489. - padding: 15px 10px 0 9px;
- 1490. - }
- 1491. - .feed_since_owner_row {
- 1492. - padding: 0 5px 0 6px;
- 1493. - }
- 1494. -
- 1495. - .feed_since_ownerph_wrap {
- 1496. - position: relative;
- 1497. - width: 90px;
- 1498. - height: 90px;
- 1499. - margin: 0px auto;
- 1500. - overflow: hidden;
- 1501. - }
- 1502. - .feed_since_ownerph {
- 1503. - position: absolute;
- 1504. - color: #FFF;
- 1505. - margin-top: 90px;
- 1506. - background: #333;
- 1507. - background: rgba(0, 0, 0, 0.5);
- 1508. - width: 90px;
- 1509. - height: 15px;
- 1510. - line-height: 15px;
- 1511. - padding: 4px 0px 6px 0px;
- 1512. - text-align: center;
- 1513. - filter: alpha(opacity=75);
- 1514. - }
- 1515. - @media all and (min-width:0) { /* IE9-10 */
- 1516. - .feed_since_ownerph { filter: none; }
- 1517. - }
- 1518. - .feed_since_ownerph:hover {
- 1519. - text-decoration: none;
- 1520. - }
- 1521. - .feed_since_ownerph_label {
- 1522. - opacity: 0.75;
- 1523. - -webkit-transition: opacity 100ms linear;
- 1524. - -moz-transition: opacity 100ms linear;
- 1525. - -o-transition: opacity 100ms linear;
- 1526. - transition: opacity 100ms linear;
- 1527. - padding: 0px 0px 1px 20px;
- 1528. - background: url(/images/icons/photo_icons.png?2) no-repeat left -62px;
- 1529. - }
- 1530. - .is_rtl1 .feed_since_ownerph_label {
- 1531. - padding: 0px 20px 1px 0px;
- 1532. - background-position: right -62px;
- 1533. - }
- 1534. - .feed_since_ownerph:hover .feed_since_ownerph_label {
- 1535. - opacity: 1;
- 1536. - }
- 1537. - .feed_since_owner_tt .tt_text {
- 1538. - width: 100px;
- 1539. - text-align: center;
- 1540. - max-height: 100px;
- 1541. - overflow: hidden;
- 1542. - text-overflow: ellipsis;
- 1543. - }
- 1544. - .feed_since_owner_tt .toup1 .bottom_pointer {
- 1545. - margin: 0 52px;
- 1546. - }
- 1547. - .feed_found_photos .page_post_sized_thumbs {
- 1548. - margin: 6px 0 0;
- 1549. - padding-bottom: 0px;
- 1550. - }
- 1551. - .feed_row:last-child .feed_found_photos .page_post_sized_thumbs {
- 1552. - margin-bottom: 10px;
- 1553. - }
- 1554. -
- 1555. -
- 1556. -
- 1557. - #feed_list_name_wrap {
- 1558. - border-bottom: 1px solid #DAE1E8;
- 1559. - padding: 10px;
- 1560. - }
- 1561. - #feed_list_name {
- 1562. - width: 150px;
- 1563. - height: 13px;
- 1564. - padding: 4px 5px 5px;
- 1565. - }
- 1566. - .feed_row_fb_hider {
- 1567. - display: block;
- 1568. - border-top: 1px solid #FFF;
- 1569. - border-bottom: 1px solid #DAE1E8;
- 1570. - margin-top: -1px;
- 1571. - text-align: center;
- 1572. - color: #6A7989;
- 1573. - background: #E9EDF1;
- 1574. - height: 13px;
- 1575. - padding: 9px 0px 8px;
- 1576. - }
- 1577. - .feed_row_fb_hider:hover {
- 1578. - text-decoration: none;
- 1579. - }
- 1580. - .feed_row_fb_hidden {
- 1581. - display: none;
- 1582. - }
- 1583. -
- 1584. - .feedback_photo_icon {
- 1585. - background: url(/images/feedback_color.png) no-repeat;
- 1586. - position: absolute;
- 1587. - width: 16px;
- 1588. - height: 16px;
- 1589. - margin-left: 37px;
- 1590. - margin-top: 37px;
- 1591. - }
- 1592. - .feedback_friends_row .feedback_photo_icon {
- 1593. - background-position: 0 -20px;
- 1594. - }
- 1595. - .feedback_like_row .feedback_photo_icon {
- 1596. - background-position: 0 -40px;
- 1597. - }
- 1598. - .feedback_copy_row .feedback_photo_icon {
- 1599. - background-position: 0 0px;
- 1600. - }
- 1601. - .feedback_followers_row .feedback_photo_icon {
- 1602. - background-position: 0 -60px;
- 1603. - }
- 1604. - #feedback_unread_bar {
- 1605. - background: #F1F1F1;
- 1606. - padding: 8px 0 9px;
- 1607. - text-align: center;
- 1608. - margin: -1px -15px 5px;
- 1609. - color: #777;
- 1610. - }
- 1611. - .feedback_unread_bar {
- 1612. - background: url(/images/feedback_old_arrow.png) no-repeat right 3px;
- 1613. - padding-right: 10px;
- 1614. - }
- 1615. - .is_rtl1 .feedback_unread_bar {
- 1616. - padding-right: 0;
- 1617. - padding-left: 10px;
- 1618. - background-position: left 3px;
- 1619. - }
- 1620. - #feedback_unread_bar.feedback_after_clickable {
- 1621. - margin-top: 0;
- 1622. - padding-top: 7px;
- 1623. - }
- ------
Add Comment
Please, Sign In to add comment