ONLINE WEB SERVICES - SvcOS http://svcos.net | http://vkontakte.ru/blog3 try{stManager.done('lang0_0.js');}catch(e){} Aboutme='О себе:'; Acad_status='Статус:'; Acad_status_bach='Студент (бакалавр)'; Acad_status_bach_fm='Студентка (бакалавр)'; Acad_status_ent='Абитуриент'; Acad_status_ent_fm='Абитуриентка'; Acad_status_gradbach='Выпускник (бакалавр)'; Acad_status_gradbach_fm='Выпускница (бакалавр)'; Acad_status_gradDr='Доктор наук'; Acad_status_gradDr_fm='Доктор наук'; Acad_status_gradmas='Выпускник (магистр)'; Acad_status_gradmas_fm='Выпускница (магистр)'; Acad_status_gradPhD='Кандидат наук'; Acad_status_gradPhD_fm='Кандидат наук'; Acad_status_gradpost='Аспирант'; Acad_status_gradpost_fm='Аспирантка'; Acad_status_gradspec='Выпускник (специалист)'; Acad_status_gradspec_fm='Выпускница (специалист)'; Acad_status_mas='Студент (магистр)'; Acad_status_mas_fm='Студентка (магистр)'; Acad_status_spec='Студент (специалист)'; Acad_status_spec_fm='Студентка (специалист)'; Activities='Деятельность:'; Add_to_friends='Добавить в друзья'; All='Все'; add_box_title='Добавление в друзья'; admin2_art='Школа искусств'; admin2_artistic='Худ. школа'; admin2_colledge='Колледж:'; admin2_driving_sch='Автошкола'; admin2_evening='Вечерняя школа'; admin2_garten='Детский сад'; admin2_gymnasium='Гимназия:'; admin2_internat='Школа-интернат'; admin2_liceum='Лицей:'; admin2_music='Музыкальная школа'; admin2_prof='Проф. училище'; admin2_prof_liceum='Проф. лицей'; admin2_prof_tech='ПТУ'; admin2_school='Школа:'; admin2_spec_school='Училище'; admin2_sports='Спортивная школа'; admin2_tech='Техникум'; ajax_no_page_access='Страница защищена настройками приватности.'; all='все'; audio_do_you_want_flash='Хотите перейти на страницу установки проигрывателя?'; audio_you_need_flash='Для того, чтобы воспользоваться аудиосервисом, Вам необходимо установить Flash-проигрыватель.'; Begin_educ_year='Год начала обучения'; Begin_mil_year='Год начала службы'; Begin_work_year='Год начала работы'; Birth_date=['','День рождения:','День рождения:']; blog_header='Блог'; blog_lastnews='Последние новости'; blog_message='Сообщение'; blog_news='Новости сайта'; bottom_about='о сайте'; bottom_ad='реклама'; bottom_author='Павел Дуров'; bottom_blog='блог'; bottom_support='техподдержка'; bottom_terms='правила'; box_cancel='Отмена'; box_close='Закрыть'; box_loading='Загрузка...'; box_no='Нет'; box_save='Сохранить'; box_send='Отправить'; box_yes='Да'; Cancel='Отмена'; Chair='Кафедра:'; Class='Класс'; Coincid_activity='Деятельность'; Coincid_books='Книги'; Coincid_class='Класс'; Coincid_company='Компания'; Coincid_games='Игры'; Coincid_gradyear='Выпуск'; Coincid_hometown='Родной город'; Coincid_interests='Интересы'; Coincid_movies='Фильмы'; Coincid_music='Музыка'; Coincid_name='Имя'; Coincid_nickname='Никнейм'; Coincid_position='Должность'; Coincid_prevsurname='Девичья фамилия'; Coincid_religion='Религия'; Coincid_school='Школа'; Coincid_specializ='Специализация'; Coincid_surname='Фамилия'; Coincid_tvshow='Телешоу'; Contact_home_tel_abbr='Дом. телефон:'; Contact_icq='ICQ:'; Contact_mob_tel_abbr='Моб. телефон:'; Contact_nick='Никнейм:'; Contact_site='Веб-сайт:'; Country='Страна'; captcha_cancel='Отмена'; captcha_enter_code='Введите код с картинки:'; captcha_send='Отправить'; clear_delete_all=['','Удалить все его %s за последнюю неделю','Удалить все её %s за последнюю неделю']; clear_delete_all_cancel='Отмена'; clear_delete_all_delete='Удалить'; clear_delete_all_my='Удалить все мои %s за последнюю неделю'; Delete='Удалить'; datepicker_date_format='{day} {month} {year}'; datepicker_month_format='{month} {year}'; Edit='Редактировать'; End_educ_year='Год окончания обучения'; End_mil_year='Год окончания службы'; End_work_year='Год окончания работы'; ebrowse_event_types='Типы событий'; ed='ред.'; edit='редактировать'; error='ошибка'; Faculty='Факультет:'; Family='Семейное положение:'; Family_complicated='Всё сложно'; Family_fm_engaged='Помолвлена'; Family_fm_has_friend='Есть друг'; Family_fm_married='Замужем'; Family_fm_not_married='Не замужем'; Family_in_search='В активном поиске'; Family_m_engaged='Помолвлен'; Family_m_has_friend='Есть подруга'; Family_m_married='Женат'; Family_m_not_married='Не женат'; Fast_find='Быстрый поиск'; Fave_books='Любимые книги:'; Fave_games='Любимые игры:'; Fave_movies='Любимые фильмы:'; Fave_music='Любимая музыка:'; Fave_quotes='Любимые цитаты:'; Fave_tvshows='Любимые телешоу:'; Form='Форма обучения:'; Form_corr='Заочная'; Form_day='Дневная'; Form_even='Вечерняя'; fill_balance='Пополнить баланс'; friendcat_catarmy='Армия'; friendcat_catfamily='Семья'; friendcat_cathome='Дом'; friendcat_catinternet='Интернет'; friendcat_catjob='Работа'; friendcat_catrest='Отдых'; friendcat_catschool='Школа'; friendcat_catuni='Вуз'; functions_sure_delete='Вы действительно хотите удалить эту запись?'; Graduation='Выпуск'; Grad_year='Год выпуска'; Gymnasium='Гимназия'; global_add='Добавить'; global_add_to_my_videos='Добавить в мои видеозаписи'; global_Complain_video='Пожаловаться'; global_cancel='Отмена'; global_changes_saved='Изменения сохранены'; global_charged_zone_continue='Продолжить'; global_charged_zone_title='Предупреждение'; global_close='Закрыть'; global_continue='Продолжить'; global_day_label='День:'; global_delete='Удалить'; global_done='Готово'; global_dont_delete='Не удалять'; global_edit='Редактировать'; global_error='Ошибка'; global_error_occured='Произошла ошибка'; global_min='Свернуть'; global_money_amount_rub=['','%s рубль','%s рубля','%s рублей']; global_money_amount_rub_text=['','рубль','рубля','рублей']; global_money_amount_votes_text=['','голос','голоса','голосов']; global_month_label='Месяц:'; global_num_date_year_time=['','{num_day}.{month}.{short_year} {num_hour}:{minute}','вчера, {num_hour}:{minute}','сегодня, {num_hour}:{minute}','завтра, {num_hour}:{minute}']; global_online=['','Онлайн','Онлайн']; global_online_sm=['','онлайн','онлайн']; global_privacy_except='кроме:'; global_rating_box_header='Рейтинг'; global_save='Сохранить'; global_search_not_found='По запросу {search} ничего не найдено.'; global_tags_me='Я'; global_to_top='Наверх'; global_try_to_activate='Устали вводить коды? Пройдите бесплатную
{link}валидацию через мобильный телефон »{/link}'; global_unknown_error='Неизвестная ошибка'; global_vkontakte='В Контакте'; global_warning='Предупреждениe'; global_write_msg='Написать сообщение'; global_year_label='Год:'; guest_password='Пароль:'; Higher_education='Высшее образование'; head_applications='приложения'; head_events='события'; head_faq='помощь'; head_groups='группы'; head_invite='пригласить'; head_login='вход'; head_logout=['','выйти','выйти']; head_main='главная'; head_market='объявления'; head_people='люди'; head_reg='регистрация'; head_search='поиск'; help_congratulations='Поздравляем!'; help_reg_almost_fin='Регистрация практически завершена.'; help_reg_check_email='Пожалуйста, проверьте Ваш почтовый ящик %s и пройдите по ссылке, которая указана в письме. В большинстве случаев письма приходят в течение одной минуты, но иногда для этого требуется до 10 минут.'; help_thanks_for_reg='Спасибо за регистрацию'; Inp_choose='Выберите'; Inp_choose_first='Сначала выберите'; Inp_country='Выберите страну'; Inp_dep='Выберите кафедру'; Inp_dep_beg='Сначала выберите кафедру'; Inp_fac='Выберите факультет'; Inp_fac_beg='Сначала выберите факультет'; Inp_form='Выберите форму обучения'; Inp_gradyear='Выберите год выпуска'; Inp_status='Выберите статус'; Inp_town='Выберите город'; Inp_town_beg='Сначала выберите город'; Inp_uni='Выберите Вуз'; Inp_uni_beg='Сначала выберите Вуз'; Inp_year='Выберите год'; Interests='Интересы:'; im_already_shown='Окно Мгновенных сообщений уже открыто в Вашем браузере, Вам достаточно просто перейти на него.'; im_already_shown_title='Мгновенные сообщения'; its_spam='Это спам'; its_spam_sm='это спам'; Job_title='Должность'; Liceum='Лицей'; leftAd_birthday=['','День рождения','День рождения']; leftAd_birthdays_of='%s:
%s'; leftAd_birthday_of='{link}День рождения{/link} %s'; leftAd_Details='Подробнее'; leftAd_details='подробнее'; leftAd_news='Новости'; leftAd_reminder='Напоминание'; leftAd_title_birthdays_of='Дни рождения'; leftAd_title_birthday_of=['','День рождения','День рождения']; left_admin='Предупреждения'; left_ads='Реклама'; left_another_comp='Чужой компьютер'; left_applications='Приложения'; left_bugs='Задачи'; left_edit='Страны'; left_login='Вход'; left_main='Главная'; left_market='Объявления'; left_matches='Предложения'; left_members='Пользователи'; left_myaudios='Мои Аудиозаписи'; left_myevents='Мои Встречи'; left_myfav='Мои Закладки'; left_myfriends='Мои Друзья'; left_mygroups='Мои Группы'; left_mymessages='Мои Сообщения'; left_mynews='Мои Новости'; left_mynotes='Мои Заметки'; left_mypage='Моя Страница'; left_mypage_edit='ред.'; left_myphotos='Мои Фотографии'; left_mysettings='Мои Настройки'; left_myvideos='Мои Видеозаписи'; left_news='Новости'; left_opinions='Мнения'; left_questions='Вопросы'; left_reg='Регистрация'; left_stat='Статистика'; left_translate='Переводы'; Military_place='Войсковая часть:'; Month1='Январь'; Month10='Октябрь'; Month10_of='Октября'; Month11='Ноябрь'; Month11_of='Ноября'; Month12='Декабрь'; Month12_of='Декабря'; Month1_of='Января'; Month2='Февраль'; Month2_of='Февраля'; Month3='Март'; Month3_of='Марта'; Month4='Апрель'; Month4_of='Апреля'; Month5='Май'; Month5_of='Мая'; Month6='Июнь'; Month6_of='Июня'; Month7='Июль'; Month7_of='Июля'; Month8='Август'; Month8_of='Августа'; Month9='Сентябрь'; Month9_of='Сентября'; month10sm_of='окт'; month10_of='октября'; month11sm_of='ноя'; month11_of='ноября'; month12sm_of='дек'; month12_of='декабря'; month1sm_of='янв'; month1_of='января'; month2sm_of='фев'; month2_of='февраля'; month3sm_of='мар'; month3_of='марта'; month4sm_of='апр'; month4_of='апреля'; month5sm_of='мая'; month5_of='мая'; month6sm_of='июн'; month6_of='июня'; month7sm_of='июл'; month7_of='июля'; month8sm_of='авг'; month8_of='августа'; month9sm_of='сен'; month9_of='сентября'; Nat_town='Родной город:'; notes_continue_text='продолжить'; not_stated_chair='не указана'; not_stated_city='не указан'; not_stated_fac='не указан'; not_stated_groupsubtype='не указан'; not_stated_grouptype='не указан'; not_stated_uni='не указан'; Politics='Политические взгляды:'; Politics_comm='Коммунистические'; Politics_cons='Консервативные'; Politics_indiff='Индифферентные'; Politics_liber='Либеральные'; Politics_moder='Умеренные'; Politics_mon='Монархические'; Politics_soc='Социалистичеcкие'; Politics_ucons='Ультраконсервативные'; pagination_allpages='Все'; picture_null='null.gif'; politics_comm='коммунистические'; politics_cons='консервативные'; politics_indiff='индифферентные'; politics_liber='либеральные'; politics_moder='умеренные'; politics_mon='монархические'; politics_soc='социалистичеcкие'; politics_ucons='ультраконсервативные'; privacy_access='Доступ:'; privacy_cancel='Отмена'; privacy_custom_title='Настройки приватности'; privacy_friendsoffriends='Друзья и друзья друзей'; privacy_friendsonly='Только друзья'; privacy_N_friends_more=['','и ещё %s друг','и ещё %s друга','и ещё %s друзей']; privacy_options_advanced_settings='Все, кроме...'; privacy_options_advanced_settings_dat='всем, кроме...'; privacy_options_all_users='Все пользователи'; privacy_options_all_users_dat='всем пользователям'; privacy_options_friends_and_friends='Друзья и друзья друзей'; privacy_options_friends_and_friends_dat='друзьям и друзьям друзей'; privacy_options_friends_only='Только друзья'; privacy_options_friends_only_dat='только друзьям'; privacy_options_nobody='Никто'; privacy_options_nobody_dat='никому'; privacy_options_only_me='Только я'; privacy_options_only_me_dat='только мне'; privacy_options_some_friends='Некоторые друзья'; privacy_options_some_friends_dat='некоторым друзьям'; privacy_options_some_friend_lists='Некоторые списки друзей'; privacy_options_some_friend_lists_dat='некоторым спискам друзей'; privacy_save='Сохранить'; privacy_somefriends='Некоторые категории друзей'; profile_newmsg_box_title='Новое сообщение'; profile_places_any='Любая'; profile_places_cult='Культура'; profile_places_educ='Досуг и образование'; profile_places_ent='Развлечения'; profile_places_health='Здоровье'; profile_places_h_addr='Домашний адрес'; profile_places_rest='Места отдыха'; profile_places_shopping='Покупки'; profile_places_sport='Спорт и красота'; profile_places_w_addr='Рабочий адрес'; Religion='Религиозные взгляды:'; Remove_from_friends='Убрать из друзей'; rate_from='от {user}'; rate_you_have_N_unused=['','У Вас %s неиспользованный голос.','У Вас %s неиспользованных голоса.','У Вас %s неиспользованных голосов.']; Save='Сохранить'; School='Школа'; Sc_major='Специализация'; Secondary_education='Среднее образование'; Sendmsg='Отправить сообщение'; Sex='Пол:'; Sex_fm='Женский'; Sex_m='Мужской'; Surname='Фамилия'; search_by_ad='по объявлениям'; search_by_app='по приложениям'; search_by_audio='по аудиозаписям'; search_by_event='по событиям'; search_by_goods='по товарам'; search_by_group='по группам'; search_by_note='по заметкам'; search_by_person='по людям'; search_by_question='по вопросам'; search_by_status='по новостям'; search_by_topic='по темам'; search_by_video='по видеозаписям'; select_chair_any='Любая'; select_chair_name='кафедру'; select_chair_not_selected='- Не выбрана -'; select_chair_other='Другая'; select_chair_select='Введите название'; select_choose_name='Выберите %s'; select_city='Город:'; select_city_any='Любой'; select_city_name='город'; select_city_not_found='Город не найден'; select_city_not_selected='- Не выбран -'; select_city_other='Другой'; select_city_other_city='- Другой -'; select_city_select='Введите название'; select_class_not_selected='- Не выбран -'; select_close='Закрыть'; select_country='Страна:'; select_country_any='Любая'; select_country_full_list='- Полный список -'; select_country_name='страну'; select_country_not_found='Страна не найдена'; select_country_not_selected='- Не выбрана -'; select_country_other='Другая'; select_country_select='Введите страну'; select_district='Район:'; select_district_any='Любой'; select_district_name='район'; select_district_not_selected='- Не выбран -'; select_district_other='Другой'; select_eduform1='Дневная'; select_eduform2='Вечерняя'; select_eduform3='Заочная'; select_eduform_any='Любая'; select_eduform_name='форму обучения'; select_eduform_not_selected='- Не выбрана -'; select_eduform_other='Другая'; select_edustatus_any='Любой'; select_edustatus_name='статус'; select_edustatus_not_selected='- Не выбран -'; select_edustatus_other='Другой'; select_enter='Введите'; select_enter_name='Введите %s'; select_error='Ошибка'; select_faculty_any='Любой'; select_faculty_name='факультет'; select_faculty_other='Другой'; select_fac_not_selected='- Не выбран -'; select_fac_select='Введите название'; select_first_select='Сначала выберите'; select_full_list='- Полный список -'; select_graduation_any='Любой'; select_graduation_name='год выпуска'; select_graduation_other='Другой'; select_groupsubtype_any='Любой'; select_groupsubtype_name='подраздел'; select_groupsubtype_other='Другой'; select_grouptype_any='Любой'; select_grouptype_name='раздел'; select_grouptype_other='Другой'; select_house='Номер дома:'; select_house_any='Любой'; select_house_name='номер дома'; select_house_not_found='Дом не найден'; select_house_not_selected='- Не выбран -'; select_house_other='Другой'; select_house_select='Введите номер'; select_language='Выберите Ваш язык'; select_military_any='Любой'; select_military_name='войсковую часть'; select_military_other='Другой'; select_military_unit_not_selected='- Не выбрана -'; select_military_unit_select='Введите войсковую часть'; select_must_sel_var='Необходимо выбрать вариант из списка.'; select_place='Название:'; select_placetype1='Дом'; select_placetype10='Кинотеатр'; select_placetype11='Боулинг'; select_placetype12='Бильярд'; select_placetype13='Гостиница'; select_placetype14='Летний лагерь'; select_placetype15='Путешествие'; select_placetype16='Санаторий'; select_placetype17='Пансионат'; select_placetype18='Дом отдыха'; select_placetype19='Хостел'; select_placetype2='Работа'; select_placetype20='Мотель'; select_placetype21='Автошкола'; select_placetype22='Курсы'; select_placetype23='Клуб по интересам'; select_placetype24='Кружок'; select_placetype25='Студия'; select_placetype26='Фитнес-центр'; select_placetype27='Спортивный клуб'; select_placetype28='Стадион'; select_placetype29='Спортзал'; select_placetype3='Ресторан'; select_placetype30='Бассейн'; select_placetype31='Салон красоты'; select_placetype32='Парикмахерская'; select_placetype33='Театр'; select_placetype34='Концертный зал'; select_placetype35='Библиотека'; select_placetype36='Музей'; select_placetype37='Галерея'; select_placetype38='Филармония'; select_placetype39='Выставочный центр'; select_placetype4='Клуб'; select_placetype40='Храм'; select_placetype41='Больница'; select_placetype42='Поликлиника'; select_placetype43='Госпиталь'; select_placetype44='Роддом'; select_placetype45='Магазин'; select_placetype46='Бутик'; select_placetype47='ТРК'; select_placetype48='Салон'; select_placetype49='Супермаркет'; select_placetype5='Бар'; select_placetype50='Гипермаркет'; select_placetype51='Дача'; select_placetype6='Паб'; select_placetype7='Кафе'; select_placetype8='Интернет-кафе'; select_placetype9='Компьютерный клуб'; select_placetype_addr='Адрес'; select_placetype_any='Любой'; select_placetype_name='тип'; select_placetype_other='Другой'; select_place_not_found='Название не найдено'; select_place_not_selected='- Не выбрано -'; select_place_select='Введите название'; select_place_time_not_selected='- Не выбрано -'; select_place_type_not_found='Неверный тип'; select_place_type_not_selected='- Не выбран -'; select_place_type_select='Выберите тип'; select_region_not_selected='- Не выбран -'; select_schoolclass_any='Любой'; select_schoolclass_name='класс'; select_schoolclass_other='Другой'; select_schoolfinishyear_any='Любой'; select_schoolfinishyear_name='год'; select_schoolfinishyear_other='Другой'; select_schoolstartyear_any='Любой'; select_schoolstartyear_name='год'; select_schoolstartyear_other='Другой'; select_school_any='Любая'; select_school_name='школу'; select_school_not_found='Школа не найдена'; select_school_not_selected='- Не выбрана -'; select_school_other='Другая'; select_school_select='Введите название'; select_school_type_0='шк.'; select_school_type_1='гимн.'; select_school_type_10='техн.'; select_school_type_11='ПТУ'; select_school_type_12='учил.'; select_school_type_13='шк. иск.'; select_school_type_14='дет. сад'; select_school_type_15='ПУ'; select_school_type_16='автошк.'; select_school_type_2='лиц.'; select_school_type_3='шк.-инт.'; select_school_type_4='шк. веч.'; select_school_type_5='шк. муз.'; select_school_type_6='шк. спорт.'; select_school_type_7='шк. худ.'; select_school_type_8='колл.'; select_school_type_9='проф. лиц.'; select_search_list='Поиск по списку'; select_select='Выберите'; select_station='Станция метро:'; select_station_any='Любая'; select_station_name='станцию метро'; select_station_not_selected='- Не выбрана -'; select_station_other='Другая'; select_street='Улица:'; select_street_any='Любая'; select_street_name='улицу'; select_street_not_found='Улица не найдена'; select_street_not_selected='- Не выбрана -'; select_street_other='Другая'; select_street_select='Введите название'; select_university_any='Любой'; select_university_name='ВУЗ'; select_university_other='Другой'; select_uni_not_found='ВУЗ не найден'; select_uni_not_selected='- Не выбран -'; select_uni_select='Введите название'; select_uploading='Идет загрузка...'; select_workfinishyear_any='Любой'; select_workfinishyear_name='год'; select_workfinishyear_other='Другой'; select_workstartyear_any='Любой'; select_workstartyear_name='год'; select_workstartyear_other='Другой'; select_year_not_found='Неверный год'; select_year_not_selected='- Не выбран -'; select_year_since_now='настоящего времени'; select_year_until_now='настоящее время'; sex_fm='женский'; sex_m='мужской'; share_go='Перейти'; share_go_warning='Внимание! Вы покидаете сайт ВКонтакте по внешней ссылке {link}, предоставленной одним из участников.

Администрация ВКонтакте не несет ответственности за содержимое сайта и настоятельно рекомендует не указывать никаких своих данных, имеющих отношение к ВКонтакте (особенно E-Mail, пароль и cookies), на сторонних сайтах.'; Tab_audios='Аудиозаписи'; Tab_groups='Группы'; Tab_people='Люди'; Tab_videos='Видеозаписи'; Today='Сегодня'; Town='Город:'; text_exceeds_symbol_limit=['','Допустимый объем превышен на %s знак.','Допустимый объем превышен на %s знака.','Допустимый объем превышен на %s знаков.']; text_N_symbols_remain=['','Остался %s знак.','Осталось %s знака.','Осталось %s знаков.']; today='сегодня'; top_search_apps_tip='Здесь Вы можете ввести название приложения'; top_search_audio_tip='Здесь Вы можете ввести название аудиозаписи'; top_search_groups_tip='Здесь Вы можете ввести название группы'; top_search_tip='Здесь Вы можете ввести имя и фамилию'; top_search_video_tip='Здесь Вы можете ввести название видеозаписи'; Univ='Вуз:'; Updates='Обновления'; updates='обновления'; videofile_num=['','видеозапись','видеозаписи','видеозаписей']; votes_flex=['','голос','голоса','голосов']; Wall='Стена'; Work_place='Место работы:'; wrote_female='написала'; wrote_male='написал'; Yesterday='Вчера'; yesterday='вчера'; // section = 0; version = 166; friends_all='Все'; friends_cancel='Отмена'; friends_change_name='изменить название'; friends_continue='Продолжить'; friends_create_list='Создать список'; friends_create_list_title='Создание списка друзей'; friends_edit_list_title='Редактирование списка друзей'; friends_enter_friend_name='Начните вводить имя друга'; friends_enter_list_name='Введите название списка'; friends_list_name='Название списка'; friends_new_friends_list='Новый список друзей'; friends_nothing_found_by_query='По запросу {query} ничего не найдено.'; friends_no_user_selected='Вы не выбрали ни одного пользователя.'; friends_privacy_title='Настройки приватности'; friends_remove_from_list_title='Удаление из списка друзей'; friends_remove_selection='Снять выделение'; friends_save='Сохранить'; friends_selected='Выбранные'; friends_select_all='Выделить всех'; friends_show_more_friends='Показать больше друзей'; friends_X_registered_friends_found=['','Найден %s зарегистрированный друг.','Найдено %s зарегистрированных друга.','Найдено %s зарегистрированных друзей.']; friends_X_users_in_list=['','В списке %s друг','В списке %s друга','В списке %s друзей']; friends_you_can_save_this_list='Вы можете сохранить этот список друзей.
В дальнейшем Вы сможете использовать его снова.'; friend_friend_remove='Удалить'; friend_you_have_N_friends=['','У Вас %s друг','У Вас %s друга','У Вас %s друзей']; // section = 2; version = 59; audio_add_to_album='добавить в альбом'; audio_add_to_group='Добавить в аудиозаписи группы'; audio_album_no_recs='В альбоме ещё нет аудиозаписей.'; audio_back_to_group='Перейти к группе'; audio_back_to_groups='вернуться к аудиозаписям группы'; audio_back_to_my='вернуться к моим аудиозаписям'; audio_back_to_profile='Перейти к странице {user}'; audio_back_to_users='вернуться к аудиозаписям %s'; audio_change_album='{link}изменить альбом{/link}: {title}'; audio_change_album_name='Изменить название'; audio_common_list='общий список'; audio_delete='удалить'; audio_delete_album='Удалить альбом'; audio_delete_album_are_you_sure='Вы уверены, что хотите удалить этот альбом?'; audio_delete_album_button='Удалить'; audio_delete_album_title='Удаление альбома'; audio_delete_all_title='Удаление аудиозаписей'; audio_edit='редактировать'; audio_edit_additionally='Дополнительно'; audio_edit_album='Редактировать альбом'; audio_edit_album_title='Редактирование альбома'; audio_edit_cancel='Отмена'; audio_edit_deleting='Удаление аудиозаписи'; audio_edit_deleting_error='При удалении файла произошла ошибка:'; audio_edit_dont_show_search='Не выводить при поиске'; audio_edit_edit='Редактировать'; audio_edit_editing='Редактирование аудиозаписи'; audio_edit_name='Название:'; audio_edit_no='Нет'; audio_edit_noname='Без названия'; audio_edit_singer='Исполнитель:'; audio_edit_sure_delete='Вы действительно хотите удалить эту аудиозапись?'; audio_edit_text='Слова песни:'; audio_edit_unknown='Неизвестный исполнитель'; audio_edit_yes='Да'; audio_enter_album_name='Введите название альбома'; audio_flash_needed='Для того, чтобы воспользоваться аудиосервисом, Вам необходимо установить Flash-проигрыватель.'; audio_global_search_found=['','В поиске найдена %s аудиозапись','В поиске найдено %s аудиозаписи','В поиске найдено %s аудиозаписей']; audio_group_no_recs='В группе ещё нет аудиозаписей.'; audio_group_no_your_recs='В группе еще нет аудиозаписей, загруженных Вами.'; audio_header='Мои аудиозаписи'; audio_header_edit='Редактирование'; audio_loading_error='Возникла ошибка, код ошибки: {code}'; audio_lyrics_not_found='Текст песни не найден'; audio_need_flash_title='Необходим Flash-проигрыватель'; audio_new_album_title='Новый альбом'; audio_not_found='Аудиозапись не найдена'; audio_no_audios_found='По запросу {query} не найдено ни одной аудиозаписи'; audio_no_rec_load_msg='Здесь Вы можете хранить Ваши аудиозаписи.
Для того, чтобы загрузить Вашу первую аудиозапись, {link}нажмите здесь{/link}.'; audio_no_rec_msg='Здесь Вы можете хранить Ваши аудиозаписи.'; audio_no_your_recs='У Вас еще нет аудиозаписей'; audio_Recs='Аудиозаписи'; audio_return_to_album='Вернуться к альбому'; audio_return_to_all='Вернуться к аудиозаписям'; audio_search_enter_audio_name='Введите название или исполнителя'; audio_search_not_found='По запросу {search} ничего не найдено.'; audio_search_no_found='Аудиозаписей не найдено.'; audio_search_results='Результаты поиска'; audio_show_more_audios='Показать больше аудиозаписей'; audio_success_msg='Аудиозапись успешно загружена.'; audio_success_msg_multiple='Все аудиозаписи успешно загружены.'; audio_track_search='Поиск по композициям и исполнителям'; audio_uploading_over='Загрузка завершена'; audio_upl_not_enabled_ingroup='В данной группе отключены аудиозаписи, поэтому загрузка аудиофайлов недоступна.'; audio_user_no_recs='У пользователя ещё нет аудиозаписей.'; // section = 3; version = 45; apps_addapp='Добавить приложение'; apps_addedtogroup='Приложение добавлено в группу'; apps_added_to_group='{app} появится в блоке приложений. {link}Отменить{/link}.'; apps_add_to_group_button='Добавить в группу'; apps_app_settings='Настройки приложения'; apps_balance_minus_X_done=['','Вы уменьшили баланс приложения на %s голос.','Вы уменьшили баланс приложения на %s голоса.','Вы уменьшили баланс приложения на %s голосов.']; apps_balance_plus_X_done=['','Вы пополнили баланс приложения на %s голос.','Вы пополнили баланс приложения на %s голоса.','Вы пополнили баланс приложения на %s голосов.']; apps_cancel='Отмена'; apps_catalogue='Каталог приложений'; apps_change_settings='Настроить'; apps_delete='Удалить'; apps_delete_admin_title='Удаление администратора'; apps_delete_all_invites_title='Удаление приглашений'; apps_done='Готово'; apps_dont_show='Больше не показывать'; apps_edit='редактировать'; apps_edit_settings='настроить приложение'; apps_friends_apps='Приложения друзей'; apps_global_search_found=['','В поиске найдено %s приложение','В поиске найдено %s приложения','В поиске найдено %s приложений']; apps_last_notifications='Последние оповещения'; apps_merchant_payment_title='Оплата покупки'; apps_my_apps='Мои приложения'; apps_N_people_like_it=['','Нравится %s человеку','Нравится %s людям','Нравится %s людям']; apps_need_X_votes=['','Приложение просит Вас внести %s голос.','Приложение просит Вас внести %s голоса.','Приложение просит Вас внести %s голосов.']; apps_noappsingroup2='В группе не подключено ни одного приложения.'; apps_noparticipants='нет участников'; apps_notifies_sure_delete_all='Вы уверены, что хотите удалить все приглашения?
Это действие нельзя будет отменить.'; apps_no_apps_found='По запросу {query} не найдено ни одного приложения.'; apps_no_notifications='Нет оповещений'; apps_of_group='Приложения группы'; apps_remove='Убрать'; apps_removefromgroup='убрать из группы'; apps_removefrompage='убрать приложение'; apps_search_in_apps='Поиск по приложениям'; apps_show_full_app_description='показать полностью..'; apps_show_more_apps='Показать больше приложений'; apps_viewallapps='Просмотр всех доступных приложений'; apps_X_apps_found=['','Найдено %s приложение','Найдено %s приложения','Найдено %s приложений']; apps_X_participants=['','%s участник','%s участника','%s участников']; apps_youaddednoapps='Вы еще не подключили ни одного приложения.'; apps_youhavenoapps='У Вас еще нет приложений'; apps_you_have_no_notifies='У Вас нет ни одного оповещения'; app_comments_hidecomms='Скрыть комментарии'; app_comments_showcomms='Показать комментарии'; // section = 4; version = 109; video_add_to_public='Вернуть в публичный доступ'; video_cancel='Отмена'; video_delete_from_public='Изъять из доступа'; video_done='Готово'; video_flash_needed='Для просмотра необходим {flash_player} последней версии.'; // section = 5; version = 90; blog_comment_not_sent='не отправлен'; blog_comment_sending='отправляется'; blog_comment_sent='отправлен'; blog_comm_deleted='Комментарий удален.'; blog_delete='Удалить'; blog_renewpage='Произошла неизвестная ошибка. Попробуйте перезагрузить страницу.'; blog_tryagain='Произошла неизвестная ошибка. Попробуйте снова.'; blog_wrote_fm='написала'; blog_wrote_m='написал'; notes_cancel='Отмена'; notes_done='Готово'; notes_livejournal_delete='Удалить эту запись из LiveJournal.'; // section = 7; version = 46; admin2_cancel='отмена'; admin2_edit='редактировать'; admin2_full_univ_name='Полное название вуза'; admin2_hide_list='скрыть список'; admin2_list='список'; admin2_ready='готово'; admin2_search='поиск'; admin2_server_error='Ошибка сервера.'; admin_added_items_digit_search='поиск цифр'; // section = 8; version = 1; blank_note_not_found='Заметка не найдена'; // section = 10; version = 8; board_any_links_forbidden='Администратор группы запретил размещать любые ссылки.'; board_cancel='Отмена'; board_cannot_edit='Вы не можете редактировать это сообщение.'; board_cannot_edit_title='Вы не можете редактировать название этой темы'; board_create_topic='Создать тему'; board_create_voting='Создать опрос'; board_delete='Удалить'; board_delete_voting='Удалить опрос'; board_done='Готово'; board_edit='редактировать'; board_edit_topic='Редактировать тему'; board_edit_voting='Изменить опрос'; board_enter_text='Надо ввести текст сообщения.'; board_error='Ошибка'; board_error_occurred='К сожалению, произошла ошибка.'; board_links_forbidden='Администратор группы запретил использование ссылок.'; board_new_topic_title='Новое название темы:'; board_no_text_stated='Вы не указали текст темы.'; board_ok='OK'; board_sure_delete_topic='Вы уверены, что хотите удалить эту тему?'; board_sure_delete_voting='Вы уверены, что хотите удалить опрос?'; board_sure_spam='Вы уверены, что хотите пометить эту тему как спам и удалить ее?'; board_too_fast='Вы отправляете сообщения слишком быстро.'; board_voting_deleted='Опрос удален.'; board_voting_not_deleted='Не удалось удалить опрос.'; board_warning='Предупреждение'; board_wrong_topic_number='Неверный номер темы обсуждения.'; // section = 11; version = 3; edit_add='Добавить'; edit_addingdistricts='Добавление районов'; edit_addingstations='Добавление станций метро'; edit_addingstreet='Добавление улиц'; edit_autoreplacements='Автозамены'; edit_autoreplacements_list='Список автозамен'; edit_bold='Зажирнить'; edit_case_word='Регистр'; edit_chair_addingchair='Добавление кафедр'; edit_chair_name='Название кафедры'; edit_chair_suredelete='Вы уверены, что хотите удалить эту кафедру?'; edit_chair_youselected='Вы выбрали основной вариант кафедры.
Теперь Вы можете приклеивать к ней другие кафедры, избавляясь от дублей.'; edit_chair_youshould='Сначала Вам необходимо выбрать основной вариант кафедры с помощью кнопки Клеить к ней.
После этого Вы сможете приклеивать к ней клоны кнопкой Склеить.'; edit_city_addingcity='Добавление города'; edit_city_addingregion='Добавление региона'; edit_city_ifsame='Если названия совпадают, не следует их дублировать.'; edit_city_name='Название города'; edit_city_natname='Национальное название'; edit_city_suredelete='Вы уверены, что хотите удалить этот город?'; edit_city_youselected='Вы выбрали основной вариант города.
Теперь Вы можете приклеивать к нему другие города, избавляясь от дублей.'; edit_city_youshould='Сначала Вам необходимо выбрать основной вариант города с помощью кнопки Клеить к нему.
После этого Вы сможете приклеивать к нему клоны кнопкой Склеить.'; edit_close='Закрыть'; edit_closeschools='Закрыть шк.'; edit_closeunis='Закрыть вузы'; edit_close_streets='Закрыть ул.'; edit_closing_facs='Закрытие факультетов'; edit_converting_to_unis='Превращение в ВУЗы'; edit_convertintouni='Сделать ВУЗом'; edit_delete_chairs='Удалить кафедры'; edit_delete_schools='Удалить школы'; edit_delete_streets='Удалить улицы'; edit_delete_unis='Удалить ВУЗы'; edit_deleting_chairs='Удаление кафедр'; edit_deleting_facs='Удаление факультетов'; edit_deleting_unis='Удаление вузов'; edit_deleting_void='Удаление пустых'; edit_district_name='Название района'; edit_district_suredelete='Вы уверены, что хотите удалить этот район?'; edit_do_autoreplace='Автозаменить'; edit_editing_chair_mul='Редактирование кафедр'; edit_editing_fac_mul='Редактирование факультетов'; edit_editing_school_mul='Редактирование школ'; edit_editing_street_mul='Редактирование улиц'; edit_editing_uni_mul='Редактирование ВУЗов'; edit_editsave='Редактировать'; edit_facs_close='Закрыть фак-ты'; edit_facs_delete='Удалить фак-ты'; edit_fac_addingfac='Добавление факультетов'; edit_fac_name='Название факультета'; edit_fac_suredelete='Вы уверены, что хотите удалить этот факультет?'; edit_fac_youselected='Вы выбрали основной вариант факультета.
Теперь Вы можете приклеивать к нему другие факультеты, избавляясь от дублей.'; edit_fac_youshould='Сначала Вам необходимо выбрать основной вариант факультета с помощью кнопки Клеить к нему.
После этого Вы сможете приклеивать к нему клоны кнопкой Склеить.'; edit_merge='Склеить'; edit_move='Перенести'; edit_move_schools='Перенести школы'; edit_move_unis='Перенести ВУЗы'; edit_moving_city='Перенос городов'; edit_nodelete_ifmorethan='Не удалять, если более {count} участников.'; edit_open='Открыть'; edit_openschools='Открыть шк.'; edit_openunis='Открыть вузы'; edit_open_streets='Открыть ул.'; edit_region_name='Название региона'; edit_region_youselected='Вы выбрали основной вариант региона.
Теперь Вы можете приклеивать к нему другие регионы, избавляясь от дублей.'; edit_region_youshould='Сначала Вам необходимо выбрать основной вариант региона с помощью кнопки Клеить к нему.
После этого Вы сможете приклеивать к нему клоны кнопкой Склеить.'; edit_replace='Заменить'; edit_replacement='Замена'; edit_replacement_by='чем:'; edit_replacement_what='что:'; edit_schools_deleting='Удаление школ'; edit_school_addingschool='Добавление школ'; edit_school_name='Название школы'; edit_school_suredelete='Вы уверены, что хотите удалить эту школу?'; edit_school_type='Тип учебного заведения'; edit_school_youselected='Вы выбрали основной вариант школы.
Теперь Вы можете приклеивать к ней другие школы, избавляясь от дублей.'; edit_school_youshould='Сначала Вам необходимо выбрать основной вариант школы с помощью кнопки Клеить к ней.
После этого Вы сможете приклеивать к ней клоны кнопкой Склеить.'; edit_selected_objects=['','Выбран %s объект','Выбраны %s объекта','Выбраны %s объектов']; edit_some_words1='Несколько слов'; edit_some_words2='Несколько Слов'; edit_some_words3='Несколько слов'; edit_station_name='Название станции метро'; edit_station_suredelete='Вы уверены, что хотите удалить эту станцию?'; edit_street_name='Название улицы'; edit_street_suredelete='Вы уверены, что хотите удалить эту улицу?'; edit_street_youselected='Вы выбрали основной вариант улицы.
Теперь вы можете приклеивать к ней другие улицы избавляясь от дублей.'; edit_street_youshould='Сначала Вам необходимо выбрать основной вариант улицы с помощью кнопки Клеить к ней.
После этого Вы сможете приклеивать к ней клоны кнопкой Склеить.'; edit_unbold='Разжирнить'; edit_uniabbr='Сокращение университета:'; edit_unifullname='Полное название университета:'; edit_uni_abbrev='Сокращение'; edit_uni_abbrevs='Сокращённые названия:'; edit_uni_addinguni='Добавление ВУЗов'; edit_uni_name='Название ВУЗа:'; edit_uni_suredelete='Вы уверены, что хотите удалить этот ВУЗ?'; edit_uni_youselected='Вы выбрали основной вариант ВУЗа.
Теперь Вы можете приклеивать к нему другие ВУЗы, избавляясь от дублей.'; edit_uni_youshould='Сначала Вам необходимо выбрать основной вариант ВУЗа с помощью кнопки Клеить к нему.
После этого Вы сможете приклеивать к нему клоны кнопкой Склеить.'; // section = 12; version = 2; events_cancel='Отмена'; events_fri='Пт'; events_goto_search='Перейти к поиску'; events_menus_error_xmlhttp='Ошибка при создании XMLHTTP'; events_mon='Пн'; events_sat='Сб'; events_sun='Вс'; events_thu='Чт'; events_tue='Вт'; events_wed='Ср'; // section = 13; version = 52; fave_return_to_fave='вернуться к Закладкам'; // section = 14; version = 19; gifts_cansend_X_gifts=['','Вы можете отправить
не более %s подарка.','Вы можете отправить
не более %s подарков.','Вы можете отправить
не более %s подарков.']; gifts_confirm_N_Votes=['','%s голос','%s голоса','%s голосов']; gifts_confirm_send_to_N_friends=['','Подарок будет отправлен %s другу ({votes}). Продолжить?','Подарок будет отправлен %s друзьям ({votes}). Продолжить?','Подарок будет отправлен %s друзьям ({votes}). Продолжить?']; gifts_rate_increase='При отправке этого подарка рейтинг получателя увеличится на {gifts_count}.'; gifts_X_gifts=['','%s подарок','%s подарка','%s подарков']; gifts_X_votes=['','%s голос','%s голоса','%s голосов']; // section = 15; version = 10; groups_admins='Администраторы'; groups_admins_of_group='Администраторы группы'; groups_appl_rejected='Заявка отклонена.'; groups_assign='Назначить'; groups_assigned='Участник назначен руководителем.'; groups_assigning_manager='Назначение руководителя'; groups_cancel='отмена'; groups_cancel2='Отменить'; groups_create_enter='Пожалуйста, введите название группы'; groups_create_new='Создание новой группы'; groups_delete_manager='Удаление руководителя'; groups_deleting_link='Удаление ссылки'; groups_edit='Редактировать'; groups_editing_link='Редактирование ссылки'; groups_enter_name='Введите название:'; groups_enter_post='Введите должность:'; groups_group_admin='Администратор группы'; groups_group_create_button='Создать сообщество'; groups_inv_cancelled='Приглашение отменено.'; groups_limit_message='К сожалению, Вы не можете быть подписаны более, чем на 5000 групп или публичных страниц одновременно.'; groups_limit_title='Достигнут предел'; groups_no='Нет'; groups_no_with_name='Нет групп с названием, похожим на %s.'; groups_officers='Руководители'; groups_officers_of_group='Руководители группы'; groups_partic_accepted='Участник принят.'; groups_partic_deleted='Участник удален.'; groups_reject_invint='Отклонить приглашение'; groups_sure_delete_link='Вы действительно хотите удалить ссылку на эту группу?'; groups_sure_delete_manager='Вы действительно хотите удалить этого человека из руководителей?'; groups_to_all_posts='ко всем записям'; groups_unbanned='Пользователь удален из бан-листа'; groups_users_added='Пользователи приняты в группу
'; groups_user_added='Пользователь принят в группу'; groups_yes='Да'; // section = 17; version = 92; login_enter='Войти'; login_wrong_email_pwd='Такой почтовый адрес не зарегистрирован, либо пароль неверный.'; // section = 21; version = 23; mail_add_1_address='Пожалуйста, добавьте хотя бы одного адресата.'; mail_cancel='Отмена'; mail_cant_add_more15='Вы можете добавить не более 15 адресатов.'; mail_close='Закрыть'; mail_delete='Удалить'; mail_deleteall1='Удалить все сообщения'; mail_delete_all_spam='Удалить все сообщения, содержащие спам?'; mail_delete_failed='Во время выполнения произошла ошибка'; mail_enter_text='Пожалуйста, введите текст сообщения.'; mail_error='Ошибка'; mail_markedspam='Сообщение помечено как спам.'; mail_marked_as_spam='Сообщение помечено как спам и удалено.'; mail_msg_deleted='Сообщение удалено.'; mail_restored='Сообщение восстановлено'; mail_restoremark='Восстановить отмеченные'; mail_restore_failed='Во время выполнения произошла ошибка'; mail_show_all_history='Показать всю историю сообщений'; // section = 22; version = 77; market_about_paid_ads='О платных объявлениях'; market_available_after='Данная функция станет доступна после создания объявления.'; market_available_later='Функция будет доступна позже'; market_cancel='Отмена'; market_can_promote='Все пользователи могут продвигать свои объявления при поиске.'; market_clicks_now=['','При текущем балансе это обеспечит объявлению %s переход.','При текущем балансе это обеспечит объявлению %s перехода.','При текущем балансе это обеспечит объявлению %s переходов.']; market_create_ad='Создать объявление'; market_currency_countEUR=['','евро','евро','евро']; market_currency_countKZT=['','тенге','тенге','тенге']; market_currency_countRUB=['','рубль','рубля','рублей']; market_currency_countUAH=['','гривна','гривны','гривен']; market_currency_countUSD=['','доллар','доллара','долларов']; market_defave='Удалить из избранного'; market_determine_cost='Вы сами определяете, сколько готовы платить за каждый уникальный переход на Ваше объявление.'; market_enfave='Добавить в избранное'; market_features='Особенности:'; market_more_info='Более подробная информация - в настройках Вашего объявления.'; market_N_votes_per_ad=['','голос за уникальный переход на объявление','голоса за уникальный переход на объявление','голосов за уникальный переход на объявление']; market_not_enough_X_votes=['','У Вас недостаточно голосов. Сейчас у Вас %s голос.','У Вас недостаточно голосов. Сейчас у Вас %s голоса.','У Вас недостаточно голосов. Сейчас у Вас %s голосов.']; market_ok='OK'; market_photos_cancel='Отмена'; market_photos_choose_album='Выберите альбом с фотографиями для вашего объявления.'; market_photos_you_can='Вы можете выбрать до 5 фотографий для Вашего объявления.'; market_photo_delete='Удалить'; market_photo_no_delete='Не удалять'; market_photo_one_of_photo='Фотография {index} из {count}'; market_reason_cheat='Ложная информация / Мошенничество'; market_reason_duplicate='Многократное дублирование'; market_reason_extr='Экстремизм'; market_reason_nonsense='Бессмыслица'; market_reason_offtop='Несоответствие разделу'; market_reason_ortho='Орфографическая ошибка'; market_reason_porn='Порнография'; market_reason_spam='Спам / Сторонние ссылки'; market_report='Жалоба'; market_save='Сохранить'; market_select_ban_reason='Пожалуйста, выберите причину для блокировки объявления:'; market_send='Отправить'; market_X_cents_foruser='Данная сумма составляет приблизительно $%s за каждого пользователя.'; market_X_votes=['','%s голос','%s голоса','%s голосов']; market_your_ad_will_take_places=['','При текущей оплате (%s голос за клик) Ваше объявление будет занимать следующие места в разделах:','При текущей оплате (%s голоса за клик) Ваше объявление будет занимать следующие места в разделах:','При текущей оплате (%s голосов за клик) Ваше объявление будет занимать следующие места в разделах:']; // section = 23; version = 1; matches_close='закрыть'; matches_closed='закрыто'; matches_no_accepted='Отказ принят.'; matches_open='открыть'; matches_user_deleted='Пользователь удален из списка.'; matches_yes_accepted='Согласие принято.'; // section = 24; version = 1; updates_all_news='Новости'; updates_loading_news='Загрузка новостей...'; // section = 25; version = 92; pages_category='Категории и подкатегории'; pages_clear='Очистить'; pages_insert_sign='Вставить подпись'; // section = 27; version = 46; payments_accept_msg='Принять'; payments_accept_offer_msg='Необходимо принять условия договора-оферты.'; payments_amount_rubles=['','рубль','рубля','рублей']; payments_amount_votes=['','голос','голоса','голосов']; payments_cancel='Отмена'; payments_card_verified_msg='Вы подтвердили, что являетесь владельцем карты.'; payments_close='Закрыть'; payments_currency_rub=['','%s руб.','%s руб.','%s руб.']; payments_enter_sum_msg='Необходимо ввести количество голосов.'; payments_error='Ошибка'; payments_fee_full='Комиссия {amount} р. ({percent}%)'; payments_fee_rubles=['','%s рубль комиссии','%s рубля комиссии','%s рублей комиссии']; payments_fee_votes=['','Сумма: %s рубль','Сумма: %s рубля','Сумма: %s рублей']; payments_msg_deleted='Сообщение удалено.'; payments_N_tries_left_msg=['','У Вас осталась одна попытка.','У Вас осталось %s попытки.','У Вас осталось %s попыток.']; payments_offer_header='Договор-оферта'; payments_please_enter_correct_inn='Пожалуйста, введите корректный ИНН.
Обратите внимание, что услуга поддерживается только для юридических лиц.'; payments_please_enter_correct_okpo='Пожалуйста, введите корректный ОКПО.
Обратите внимание, что услуга поддерживается только для юридических лиц.'; payments_please_enter_money='Необходимо ввести сумму платежа.'; payments_please_enter_okpo='Пожалуйста, введите ОКПО.'; payments_really_start_over_msg='Вы действительно хотите начать процедуру заново?'; payments_really_use_other_msg='Вы действительно хотите использовать другую карту для проведения платежей?'; payments_send='Отправить'; payments_thanks_for_comm='Спасибо за Ваш отзыв.'; payments_verify_start_over_header='Вы уверены?'; payments_verify_sum_currency='Валюта авторизационной транзакции:'; payments_verify_sum_dialog='Введите сумму авторизационной транзакции:'; payments_verify_sum_header='Введите сумму'; payments_verify_sum_howto_dialog='Сумму авторизационной транзакции Вы можете узнать:
'; payments_verify_sum_howto_header='Как узнать сумму авторизационной транзакции'; payments_wait_verifying_msg='Пожалуйста, подождите. Проверка может занять 5-10 минут.'; payments_wrong_sum_msg='Сумма авторизационной транзакции введена неверно, попробуйте снова.'; payments_your_comm='Ваш отзыв'; payment_no_more_tries_msg='Сумма авторизационной транзакции введена неверно. Вы исчерпали количество попыток для этой авторизационной транзакции. Вам необходимо запустить процесс подтверждения заново, нажав кнопку "Авторизовать карту".'; votes_transfer_choose_recipients='Выберите получателя'; votes_transfer_close='Закрыть'; votes_transfer_please_enter_amount='Пожалуйста, укажите количество голосов для передачи.'; votes_transfer_please_select_recipient='Пожалуйста, выберите получателя.'; votes_transfer_recipient_selection='Выбор получателя'; votes_transfer_start_typing_recipient='Начните вводить имя друга'; // section = 28; version = 114; photos_cancel='Отмена'; photos_crop_info='Укажите область, которая будет сохранена как фотография Вашей страницы.'; photos_done='Готово'; photos_tags_info='Нажмите на область, где изображен человек, и он будет подписан на фотографии. Вы можете добавлять любое количество друзей на фотографию.'; photos_tags_ok='Готово'; photos_viewer_exit='Выйти из режима просмотра'; photo_comment_marked_as_spam='Комментарий помечен как спам.'; photo_dont_close='Пожалуйста, не закрывайте это окно, пока фотографии не загрузятся.'; photo_rotating='Поворачиваем'; photo_uploading_photo='Идёт загрузка фотографий'; // section = 30; version = 43; activity_cant_update='Не удалось обновить статус.'; activity_change_status='[ изменить статус ]'; activity_deleted='Сообщение удалено'; activity_update_just_now='Обновлено только что'; ads_image_too_small='Вы пытаетесь загрузить слишком маленькую фотографию.
Выберите фотографию большего размера и повторите попытку.'; profile_become_a_fan='Подписаться на обновления'; profile_fans='Подписчики'; profile_hide_full_info='скрыть подробную информацию'; profile_hide_full_info_short='скрыть'; profile_hide_this_notice='Скрыть эту подсказку'; profile_idols='Подписки'; profile_mention_not_found='Пользователь не найден'; profile_mention_start_typing='Начните вводить имя друга'; profile_not_a_fan='Отписаться от обновлений'; profile_show_full_info='показать подробную информацию'; profile_show_full_info_short='вся информация'; profile_status_header='Статусы'; profile_to_all_posts='ко всем записям'; profile_to_comments='к обзору комментариев'; profile_to_other_statuses='к остальным записям'; profile_to_statuses='к статусам'; profile_wall_header='Стена'; profile_wall_poll='Опрос'; // section = 31; version = 170; profileEdit_photo_notsupported='Фотографии этого формата не поддерживаются. Поддерживаемые форматы: .jpg, .png, .gif'; profile_edit_close='Закрыть'; profile_edit_error='Ошибка'; profile_edit_sel_town_to_save='Пожалуйста, выберите хотя бы город, если Вы хотите сохранить название места.'; select_chair='Кафедра:'; select_class='Класс:'; select_eduform='Форма обучения:'; select_edustatus='Статус:'; select_faculty='Факультет:'; select_finish_year='Год окончания обучения:'; select_graduation='Дата выпуска:'; select_military_unit='Войсковая часть:'; select_school='Школа:'; select_spec='Специализация:'; select_start_year='Год начала обучения:'; select_university='ВУЗ:'; // section = 32; version = 3; rate_header='Рейтинг'; rate_voting='Голосование'; // section = 34; version = 4; search_nothing_found='Ничего не найдено'; // section = 36; version = 49; forum_about_right_answer='У каждого вопроса один из ответов может быть с флажком "Правильный ответ". Ответ, который помечен таким образом, выводится вторым сообщением, сразу после вопроса, и особо отмечен. Не следует забывать, что у вопроса может быть помечен таким образом лишь один ответ, и если пометить второй ответ "Правильным", то первый станет обычным ответом и будет отображаться на своем родном месте.'; forum_add='Добавить'; forum_adding_subsection='Добавление подраздела'; forum_adding_topic='Добавление вопроса'; forum_add_leader='Добавить'; forum_add_link='Добавить'; forum_answer='Ответ'; forum_cancel='Отмена'; forum_change='Изменить'; forum_changing_image='Изменение изображения подраздела'; forum_changing_image_right_link='http://поддомен.vkontakte.ru/адрес_изображения'; forum_changing_image_text='Можно вводить ссылки только на изображения, хранящиеся на сайте vkontakte.ru. Правильный вид ссылки:'; forum_close_section='Закрыть раздел'; forum_close_section_title='Закрыть на добавление вопросов рядовыми пользователями'; forum_delete='Удалить'; forum_delete_not_unique_section='Удалить из этого раздела'; forum_delete_not_unique_section_confirm='Этот подраздел содержится не только в этом разделе. Если вы удалите его, он пропадет из всех разделов, в которых находился. Если вы хотите удалить его только из этого раздела, нажмите на ссылку ниже:'; forum_delete_not_unique_topic='Удалить из этого раздела'; forum_delete_not_unique_topic_confirm='Этот вопрос содержится не только в этом разделе. Если вы удалите его, он пропадет из всех разделов, в которых находился. Если вы хотите удалить его только из этого раздела, нажмите на ссылку ниже:'; forum_delete_section='Удалить раздел'; forum_delete_section_confirm='Вы действительно хотите удалить этот раздел?'; forum_delete_topic='Удаление вопроса'; forum_delete_topic_confirm='Вы действительно хотите удалить этот вопрос?'; forum_edit='Редактировать'; forum_editing_comment='Редактирование ответа'; forum_editing_leaders='Редактирование руководителей'; forum_editing_links='Редактирование ссылок'; forum_editing_topic='Редактирование вопроса'; forum_edit_subsections_finish='Готово'; forum_enter_header='Введите заголовок:'; forum_enter_link='Введите ссылку:'; forum_enter_name='Введите название:'; forum_enter_subsection_id='Введите ID подраздела:'; forum_enter_text='Текст:'; forum_enter_topic_id='Введите ID вопроса:'; forum_error_closing_section='Ошибка при закрытии раздела'; forum_error_closing_topic='Ошибка при закрытии вопроса'; forum_error_mark_read='Не удалось отметить тему как прочитанную'; forum_error_null_answer='Надо ввести ответ'; forum_error_opening_section='Ошибка при открытии раздела'; forum_error_opening_topic='Ошибка при открытии вопроса'; forum_error_sticking_topic='Ошибка при прилеплении вопроса'; forum_error_unsticking_topic='Ошибка при отлеплении вопроса'; forum_error_wrong_id='Надо ввести правильный ID'; forum_error_wrong_name_link='Надо указать название и ссылку'; forum_flood_control='Вы отправляете сообщения слишком быстро.'; forum_hidden_answer='Скрытый ответ'; forum_hidden_right_answer='Скрытый ответ'; forum_hidden_topic='Скрытый вопрос'; forum_is_hidden_answer='Скрытый ответ'; forum_is_right_answer='Правильный ответ'; forum_link_label='Подпись'; forum_link_link='Ссылка'; forum_link_name='Название'; forum_must_enter_text='Необходимо ввести текст вопроса.'; forum_must_enter_title='Необходимо ввести заголовок вопроса.'; forum_new_officer_id='ID нового руководителя'; forum_new_subsection_or='или вы можете добавить существующий подраздел'; forum_new_topic_text='Здесь вы можете добавить в данный раздел существующий вопрос. Чтобы добавить новый вопрос, воспользуйтесь ссылкой "Задать вопрос" в секции вопросов.'; forum_ok='Готово'; forum_open_section='Открыть раздел'; forum_open_section_title='Открыть на добавление вопросов рядовыми пользователями'; forum_rename_section='Переименовать раздел'; forum_right_answer='Правильный ответ'; forum_show_add_leader='Добавить руководителя'; forum_show_add_link='Добавить ссылку'; forum_subscribe='Подписаться на ответы'; forum_unsubscribe='Отписаться от ответов'; paysupp_error='Ошибка'; temp_messages_in_topic_function=['','В обсуждении %s сообщение.','В обсуждении %s сообщения.','В обсуждении %s сообщений.']; temp_messages_shown_function='На странице сообщения #{from}-{to}.'; temp_post_too_long_function=['','Допустимая длина ответа превышена на %s знак.','Допустимая длина ответа превышена на %s знака.','Допустимая длина ответа превышена на %s знаков.']; // section = 39; version = 68; voting_cant_close='Увы, закрыть опрос не удалось. Перезагрузите страницу и попробуйте еще раз.'; voting_cant_open='Увы, открыть опрос не удалось. Перезагрузите страницу и попробуйте еще раз.'; voting_cant_place_main='Увы, поместить опрос на главную страницу группы не удалось. Перезагрузите страницу и попробуйте еще раз.'; voting_cant_remove_main='Увы, убрать опрос с главной страницы группы не удалось. Перезагрузите страницу и попробуйте еще раз.'; voting_cant_revote='Увы, переголосовать не удалось. Перезагрузите страницу и попробуйте еще раз.'; voting_cant_vote='Увы, проголосовать не удалось. Перезагрузите страницу и попробуйте еще раз.'; voting_empty_vars='Пустые варианты ответа недопустимы. Заполните или уберите их.'; // section = 40; version = 2; wall_post_not_found='Запись не найдена'; // section = 41; version = 36; vkontakte_ru='ВКонтакте.ру'; // section = 42; version = 59; var langConfig = {"id":0,"numDel":" <\/span>","numDelS":" ","numDec":",","prepTags":["{prep_with}","{prep_With}","{prep_about}","{prep_About}"],"prep":[["{prep_with},{prep_With}","С*,З*","со,Со"],["{prep_with},{prep_With}","*,Са*,Се*,Сё*,Си*,Со*,Су*,Сэ*,Сю*,Ся*,За*,Зе*,Зё*,Зи*,Зо*,Зу*,Зэ*,Зю*,Зя*","с,С"],["{prep_about},{prep_About}","А*,О*,У*,И*,Э*","об,Об"],["{prep_about},{prep_About}","*","о,О"]],"parent":0,"timeSys":["24hour"],"yearOffset":0,"flexLast":false,"revOrder":false,"RTL":false,"numRules":{"int":[[100,[11,12,13,14],3],[10,[1],1],[10,[2,3,4],2],["*",0,3]],"float":2},"sexRules":[[1,2],["*",1]],"larr":"←","rarr":"→"}; var market_currency_count = ['RUB','UAH','KZT','USD','EUR']; var qArr = [[0, getLang('search_by_person'), '', 'people', 0], [1, getLang('search_by_group'), '', 'groups', 0x00800000], [2, getLang('search_by_event'), '', 'events', 0x01000000], [3, getLang('search_by_audio'), '', 'audio', 0x00000002], [4, getLang('search_by_video'), '', 'video', 0x00400000], [5, getLang('search_by_ad'), '', 'ads', 0x00000100], [6, getLang('search_by_app'), '', 'apps', 0x00000020], [7, getLang('search_by_question'), '', 'questions', 0x00000040], [8, getLang('search_by_note'), '', 'notes', 0x02000000], [9, getLang('search_by_topic'), '', 'topics', 0x00800000], [11, getLang('search_by_status'), '', 'statuses', 0]]; var year_offset = langConfig.yearOffset; var larr = langConfig.larr; var rarr = langConfig.rarr; #common_css { display: none; } body { background: #fff; margin: 0px; padding: 0px; direction: ltr; font-family: tahoma, arial, verdana, sans-serif, Lucida Sans; font-size: 11px; } body.nofixed { width: 100%; overflow: hidden; } body.nofixed #page_wrap { position: relative; height: 100%; width: 100%; overflow: auto; } .fixed { position: fixed; } body.nofixed .fixed { position: absolute; } body.firefox #page_wrap { position: relative; width: 100%; overflow: hidden; } /* in 'rtl' left and ltr too -- disabling content jumping when scrollbar changes */ .scroll_fix_wrap { text-align: left; direction: ltr; } a { color: #2B587A; text-decoration: none; cursor: pointer; } a:hover { text-decoration: underline; } img { border: 0px; } form { margin: 0px; padding: 0px; } small { font-size: 10px; } textarea.ashelper { overflow: hidden; } .captcha { text-align: center; height: 80px; } .captcha img { width: 130px; height: 50px; background: url(/images/vklogo.gif); cursor: pointer; } .captcha input.text { width: 120px; margin: 10px 0px 0px; } .captcha .progress { width: 120px; margin: 13px auto 0px; } .phone_validation_suggest { text-align: center; font-size: 10px; padding-top: 10px; line-height: 15px; } .summary_wrap { color: #45688E; padding: 11px 10px 0px; background: #FFF; border-bottom: 1px solid #DAE1E8; } .summary_wrap .summary { font-weight: bold; padding: 3px 0px 4px; } .summary_wrap .summary span { font-weight: normal; } .bottom_wrap { border-top: 1px solid #DAE1E8; background: #FFF; padding: 0px 10px; } .png { behavior: url(/js/iepngfix.htc); } .progress { display: none; width: 32px; height: 13px; background: url(/images/upload.gif) no-repeat 50% 50%; } .checkbox { cursor: pointer; line-height: 14px; } .checkbox.disabled { opacity: 0.5; filter: alpha(opacity=50); } .checkbox div { float: left; width: 15px; margin-right: 5px; height: 14px; background: url(/images/icons/check.gif) 0px 0px no-repeat; } .checkbox:hover div { background-position: 0px -28px; } .checkbox.disabled:hover div { background-position: 0px 0px; } .checkbox.on div { background-position: 0px -14px; } .checkbox.on:hover div { background-position: 0px -42px; } .checkbox.disabled.on:hover div { background-position: 0px -14px; } .radiobtn { cursor: pointer; line-height: 14px; } .radiobtn div { float: left; width: 15px; margin-right: 5px; height: 14px; background: url(/images/icons/radio.gif) 0px 0px no-repeat; } .radiobtn:hover div { background-position: 0px -28px; } .radiobtn.on div { background-position: 0px -14px; } .radiobtn.on:hover div { background-position: 0px -42px; } .fl_l { float: left; } .fl_r { float: right; } .ta_l { text-align: left; } .ta_r { text-align: right; } .upload_frame { position: absolute; visibility: hidden; width: 20px; height: 20px; } .noselect { -webkit-user-select: none; -moz-user-select: none; user-select: none; } /* Inputs */ input[type="text"], input[type="submit"], input[type="button"], input[type="search"], input[type="password"], input[type~="text"], input[type~="search"], input[type~="password"], input[type~="email"] { font-size: 11px; font-family: Tahoma, Verdana, Arial, Sans-Serif, Lucida Sans; } input.text, input.search, textarea { background: #FFF; border: 1px solid #C0CAD5; font-family: tahoma, tahoma, verdana, arial, sans-serif, Lucida Sans; font-size: 11px; padding: 3px; margin: 0px; } input.search { background: #FFF url(/images/magglass.png) no-repeat 3px 4px; padding-left: 17px; } input.file { font-size: 11px; margin: 0px; } /* Headers */ h2 { border-bottom: 1px solid #DAE1E8; color: #45668E; font-size: 13px; padding: 0px 0px 3px; margin: 0px 0px 10px; } h4 { border-bottom: 1px solid #E8EBEE; color: #45688E; font-size: 11px; font-weight: bold; margin: 0px; padding: 0px 0px 3px; } h4 .fl_r, h4 span { font-weight: normal; } /* Layout */ div#utils { top: -30px; position: absolute; height: 20px; overflow: hidden; } #page_layout { padding: 0px; margin: 0px auto; position: relative; width: 791px; } #page_header .back { position: absolute; width: 100%; height: 40px; background: #4E729A url(/images/hat.gif) 0px -43px repeat-x; } #page_header .left { position: absolute; left: 0px; width: 134px; height: 40px; background: #4E729A url(/images/hat.gif) 0px -1px; } #page_header .right { position: absolute; right: 0px; width: 10px; border-right: 1px solid #FFF; height: 40px; background: #4E729A url(/images/hat.gif) 100% -1px; } #page_header .content { position: absolute; width: 100%; z-index: 105; } #page_header.p_head_l777 .left, #page_header.p_head_l777 .right, #page_header.p_head_l777 .back { background-color: #4E729A; background-image: url(/images/hatsov.gif); } #page_header.p_head_l777 .left { width: 135px; } #page_header.p_head_l777 .right { width: 6px; } #page_header.p_head_l100 .left, #page_header.p_head_l100 .right, #page_header.p_head_l100 .back { background-color: #4E729A; background-image: url(/images/hatimp.gif); } #page_header.p_head_l100 .left { width: 135px; } #page_header.p_head_l100 .right { width: 10px; } #page_header.p_head1 .right { background: #4E729A url(/images/hatvk.gif) 100% -1px; } #page_header.p_head1 .left { width: 147px; background: #4E729A url(/images/hatvk.gif) 0px -1px; } #page_header.p_head1 .back { background: #4E729A url(/images/hatvk.gif) 0px -43px repeat-x; } #page_header.p_head1 .top_feed { margin-left: -104px; width: 85px; text-align: center; padding-top: 12px; } #page_header.p_head1.p_head_l777 .left { width: 6px; } #page_header.p_head1.p_head_l100 .left { width: 10px; } .p_head_l777 #search_cont, .p_head_l777 #gsearch { border-color: #851614; } .p_head_l100 #search_cont, .p_head_l100 #gsearch { border-color: #45372F; } .p_head_l777 .head_nav a, .p_head_l777 .head_nav div, .p_head_l777 .homelink, .p_head_l777 .unl, .p_head_l100 .head_nav a, .p_head_l100 .head_nav div, .p_head_l100 .homelink, .p_head_l100 .unl { color: #E6E5B8; } #page_header { height: 40px; } #home { width: 153px; height: 40px; } #page_header1 #home { display: none; } .homelink, .shah, .unl { position: absolute; left: 0px; top: 0px; display: block; color: #FFF; font-weight: bold; padding: 7px 0px 0px 14px; font-size: 11px; display:block; width: 153px; z-index: 410; overflow: hidden; } .shah { padding-top: 8px; color: #000; opacity: 0.4; filter: alpha(opacity=40); z-index: 400; } .vklink { font-size: 15px; padding: 10px 17px 10px; } .shah.vklink { padding-top: 11px; } .unl { margin-top: 21px; padding-top: 0px; font-weight: normal; display: block; font-size: 10px; color: #dae1e8; } a.unl:hover, a.homelink:hover { text-decoration: underline; } .head_nav { margin: 0px; padding: 0px 8px 0px 0px; } .head_nav a.top_nav_link { display: block; padding: 12px 9px 15px; height: 11px; margin: 0px; font-weight: bold; font-size: 11px; color: #E8EFF7; text-shadow: 0px 1px 0px #416389; } .head_nav div#top_links { padding: 0px; height: 22px; background-image: none; } .head_nav.no_menu div#top_links { display: none; } .head_nav.no_menu a#logout_link { display: none; } .head_nav a:hover { color: #FFF; text-decoration: underline; } .head_nav a.top_nav_link b { font-weight: normal; color: #E8EFF7; } .head_nav a.top_nav_link span { color: #FFF; } #page_body { font-size: 11px; width: 631px; padding: 0px 15px 0px 0px; } #page_body.simple { padding: 0px; margin: 0px auto; } body.firefox #page_body { overflow: hidden; } body.firefox #page_body.no_overflow { overflow: visible; } #wrap2 { border: solid #F3F3F3; border-width: 0px 1px 1px; } #wrap1 { border: solid #D9E0E7; border-width: 0px 1px 1px; } #wrap_between { height: 0px; overflow: hidden; } * html #content { height: 1%; } #header_wrap1 { border: solid #F3F3F3; border-width: 0px 1px; } #header { position: relative; font-weight: bold; font-size: 11px; padding: 4px 10px; background: #F2EAB8 url(/images/headeryell.gif) top left repeat-x; color: #000; border: 1px solid #D1C992; } #title b { position: relative; } #header h1 { margin: 0px; font-size: 11px; overflow: hidden; } #header h1 a { color: #696029; } #header span { color: #8E8443; color: #C8BF85; } #header b { color: #C2BC82; } /* Left notifier */ .left_box { text-align: center; padding: 5px; background: #F7F7F7; margin: 0px 0px 10px; } .left_box h4 { font-size: 12px; border-bottom: solid 1px #DAE1E8; padding: 0px 0px 3px; margin: 0px 5px 3px; } .left_box.attention h4 { color: #45688E; } .left_hide { position: absolute; margin: 0px 118px; width: 18px; height: 18px; background: url(/images/hide_left.gif) no-repeat center center; opacity: 0; filter: alpha(opacity=0); cursor: pointer; } .left_gift_bonus, .left_rate_plus { color: #C4BB98; font-size: 10px; font-weight: bold; margin-top: -11px; } .left_gift { border-bottom: 1px solid #DCDCDC; margin-bottom: 10px; } .left_gift .body { background: #F7F7F7; border: 6px solid #EAEAEA; padding: 4px 4px 7px; text-align: center; } .left_gift .body div { border-bottom: 1px solid #DCDCDC; margin: 0px 3px 7px; padding-bottom: 2px; } .left_gift.gold { border-color: #C4BB98; } .left_gift.gold .body { background: #FEF9E1; border-color: #E9DEB4; } .left_gift.gold .body div { border-color: #C4BB98; } .left_rate_plus { color: #EEBD00; } .left_rate_plus.green { color: #8DB55F; } .left_rate_plus.red { color: #C5864F; } .left_rate_plus.blue { color: #99B3C9; } .left_rate .body { background: #FAF3D8 url(/images/golden.gif) repeat-x 50% 100%; border-bottom: 1px solid #FBE172; margin: 0px 0px 10px; padding: 5px; text-align: center; } .left_rate .body div { border-bottom: 1px solid #E6E0B6; margin: 0px 3px 7px; padding-bottom: 2px; } .left_rate .body div a { color: #908851; } .left_rate .body a { color: #000; } .left_rate .body a:hover { text-decoration: none; } .left_rate.green, .left_rate.red, .left_rate.blue { border-bottom: 1px solid #37702A; margin-bottom: 10px; } .left_rate.green .body, .left_rate.red .body, .left_rate.blue .body { background: #D5EABB url(/images/greenl.gif) repeat-x 50% 0%; border: 8px solid #8DBF56; margin-bottom: 0px; } .left_rate.green .body a div, .left_rate.red .body a div, .left_rate.blue .body a div { border: 0px; font-size: 36px; font-weight: bold; color: #8DBF56; margin: 5px 5px 5px 3px; } .left_rate.green .body div { border-color: #8DBF56; } .left_rate.green .body div a { color: #37702A; } .left_rate.red { border-color: #8B4C23; } .left_rate.red .body { background: #F0D6C7 url(/images/redl.gif) repeat-x 50% 0%; border-color: #C68D69; } .left_rate.red .body div { border-color: #C39679; } .left_rate.red .body div a { color: #8B4C23; } .left_rate.red .body a div { color: #C68D69; } .left_rate.blue { border-color: #2F6C95; } .left_rate.blue .body { background: #D9E6EE url(/images/bluel.gif) repeat-x 50% 0%; border-color: #99B3C9; } .left_rate.blue .body div { border-color: #99B3C9; } .left_rate.blue .body div a { color: #0B5588; } .left_rate.blue .body a div { color: #99B3C9; } .left_gift .body div.vote_transfer { padding: 5px 0px 12px; font-weight: bold; } #banner1 iframe, #banner2 iframe { padding: 0px; margin: 0px; overflow: hidden; } #banner1 iframe { border: 0px; width: 120px; height: 300px; padding: 0px; } #banner2, #banner2 iframe { border: 0px; background: #FFF; width: 600px; height: 90px; margin: 0px auto; padding: 0px; } #banner1, #banner2 { margin-top: 15px; display: none; } #banner2 { width: 660px; text-align: center; margin-top: 10px; } .ad_box { background: #F7F7F7; border: 1px solid #C0CAD5; border-width: 1px 0px; padding-bottom: 10px; width: 118px; overflow: hidden; text-align: center; display: block; } .ad_title { font-weight: bold; font-size: 11px; margin: 0px 3px; color: #36638E; padding-top: 8px; text-align: center; } .ad_box img { padding-top: 8px } .ad_desc { padding-top: 8px; margin: 0px 2px; } a.ad_box:hover { text-decoration: none; } a.ad_box .ad_desc { color: #000; } .ad_box.ad_friend { border-bottom-width: 0px; padding-bottom: 0px; } .ad_friend .ad_body { height: 75px; width: 118px; overflow: hidden; text-align: center; } .ad_friend .ad_body img { width: 63%; } .ad_box.ad_friends { border-top-width: 0px; padding-top: 12px; } .ad_help_link { margin-top: 3px; font-size: 10px; text-align: center; } .ad_complain { padding-top: 8px; font-size: 10px; text-align: center; } .ad_complain span { color: #2B587A; } .ad_complain span:hover { text-decoration: underline; } .ad_box_new { background: #FFFFFF; border: 1px solid #DCE3E9; border-width: 1px 0px; padding: 0px 0px 11px 0px; margin: 0px; width: 118px; overflow: hidden; text-align: center; display: block; } .ad_title_new { font-weight: bold; font-size: 11px; margin: 0px 3px; margin-top: 6px; color: #36638E; text-align: center } .ad_domain_new { margin-top: 3px; font-size: 10px; color: #909090; } .ad_box_new img { margin-top: 9px } .ad_desc_new { margin: 0px 2px; margin-top: 10px; color: #000000; } a.ad_box_new:hover { text-decoration: none; } .ad_box_new .left_hide_new { position: absolute; margin: 4px 0px 0px 117px; width: 18px; height: 18px; background: url(/images/hide_left.gif) no-repeat center center; opacity: 0; filter: alpha(opacity=0); cursor: pointer; } .ad_hide_mask_new { background-color: #F7F7F7; position: absolute; z-index: 5; display: none; opacity: 0; filter: alpha(opacity=0); border: 1px solid #DCE3E9; border-width: 1px 0px; padding: 0px; margin: 0px; width: 118px; overflow: hidden; text-align: center; } .ad_info_new { color: #808080; font-size: 10px; } .ad_complain_new { margin-top: 10px; color: #808080; font-size: 10px; } .ad_complain_info_new { color: #808080; font-size: 10px; } .ad_complain_link_new { color: #2B587A; font-size: 10px; text-decoration: none; } .ad_complain_link_new:hover { text-decoration: underline; cursor: pointer; } /* Footer */ #footer_wrap { clear: both; line-height: 15px; padding: 5px 0px 0px; text-align: center; width: 660px; } #footer_wrap.simple { margin: 0px; width: auto; } #footer_wrap.simple #bottom_nav { display: none; } #footer_wrap .copy_lang a { margin: 0px 2px; } #footer_wrap #footer { padding: 10px 0px 0px; text-align: center; margin: 0px; } #bottom_nav a { border-top: 1px solid #FFF; padding: 1px 5px 2px; } #bottom_nav a:hover { border-top: 1px solid #CAD1D9; background-color: #DAE1E8; text-decoration: none; } /* Left menu */ #side_bar { margin: 5px 0px 0px 4px; padding-bottom: 10px; width: 118px; } #side_bar .more_div { margin-top: 3px; padding-top: 3px; border-top: 1px solid #E7EAED; } #side_bar ol li a.more { padding-left: 29px; border-top: 0px; } #side_bar ol li a.more:hover { border-top: 0px; } #side_bar ol { list-style: none; margin: 0px 0px 10px; padding: 0px; } #side_bar ol li { font-size: 1.0em; } #side_bar ol li#myprofile { border-bottom: 0; *margin-bottom:-2px; } #side_bar ol li a { border: 0; background: #FFF; display: block; padding: 4px 3px 4px 6px; } #side_bar ol li a.more { padding-left: 6px; } #side_bar ol li#myprofile a { padding: 0; width: auto; } #side_bar ol li#myprofile a.hasedit { width: 76px; padding: 3px 3px 3px 6px; } #side_bar ol li#myprofile a.edit { color: gray; text-align: center; width: 28px; padding: 3px 0px 3px 1px; } #side_bar ol li a:hover { background: #E1E7ED; text-decoration: none; } /* Clear */ .clear_fix:after { content: '.'; display: block; height: 0; clear: both; visibility: hidden; } * html .clear_fix { height: 1%; } .clear_fix { display: block; } .clear { float: none; clear: both; } .scroll_fix { position: relative; } /* Head */ .listing { list-style: square; padding-left: 40px; color: #758EAC; margin: 0px 0px 15px 0px } ul.listing li { padding: 1px 0px; } ul.listing li span { color: #000; } .divide { color: gray; font-weight: normal; padding: 0px 4px; } small.divide { padding: 0px 2px; } .sdivide { color: #ADB8C3; padding: 0px 4px; font-size: 10px; } .wrapped { overflow: hidden; word-wrap: break-word; } wbr { width: 0px; display: inline-block; overflow: hidden; } .ad_box { background: #F7F7F7; border: 1px solid #C0CAD5; border-width: 1px 0px; padding: 0px 0px 10px 0px; margin: 0px; width: 118px; overflow: hidden; text-align: center; display: block; } .ad_title { font-weight: bold; font-size: 11px; margin: 0px 3px; color: #36638E; padding-top: 8px; text-align: center; } .ad_box img { padding-top: 8px } .ad_desc { padding-top: 8px; margin: 0px 2px; } a.ad_box .ad_desc { color: #000; } #side_back_link { padding: 8px 9px 8px 20px; background: #FFF url(/images/backlink.gif?3) no-repeat left top; display: none; opacity: 0; filter: alpha(opacity=0); z-index: 400; } #top_back_link { padding-left: 20px; background: url(/images/backlink.gif?3) no-repeat left -84px; font-weight: normal; width: 220px; overflow: hidden; display: none; } #side_back_link.back { background-position: left -30px; padding-left: 18px; } #side_back_link:hover { text-decoration: none; } /* Layers */ #layer_bg, #box_layer_bg, #layer_wrap, #box_layer_wrap { top: 0; left: 0; width: 100%; height: 100%; z-index: 500; overflow: hidden; display: none; } #box_layer_bg, #box_layer_wrap { z-index: 1000; } #layer_wrap, #box_layer_wrap { overflow: auto; } /* MessageBox */ .popup_box_container { margin: 0px auto; z-index: 1002; padding: 10px; background: transparent url(/images/transpx2.png) repeat scroll 0 0; *background-color: #C6D0D8; _background-color: #C6D0D8; } .box_title_wrap { background-color: #4B769F; border: 1px solid #324B67; border: 1px solid #45688E; aborder-bottom: 1px solid #45688E; padding: 0px; color: #fff; font-size: 13px; font-weight: bold; } .box_x_button { float: right; width: 17px; height: 17px; margin: 5px 5px 0px; cursor: pointer; padding: 0; background: #9CB8D4 url(/images/icons/boxicons.gif) -23px -2px; } .box_body { background-color: #fff; border-left: 1px solid #AAA; border-right: 1px solid #AAA; padding: 16px 14px; aline-height: 14px; } .box_no_title { border-top: 1px solid #AAA; } .box_controls_wrap { border: 1px solid #AAA; border-top: 0px; } .box_controls_text { padding: 8px 8px 0px; } .box_controls { padding: 5px; height: 30px; background-color:#f2f2f2; border-top: 1px solid #ccc; } .box_controls .progress { position: relative; margin: 7px 10px 0px; } .controls_wrap { padding: 7px 0px 0px 5px; } .button_yes, .button_no, .button_cancel { cursor: pointer; width: auto; height: auto; } .box_controls .button_wrap { padding: 2px 5px; float: right; } .button_yes div, .button_no div { padding: 4px 14px; text-align: center; } .button_cancel div { padding: 6px 15px; *padding: 7px 15px; text-align: center; } .button_yes { border: 1px solid #3B6798; text-shadow: 0px 1px 0px #45688E; } .button_yes_bottom { border-bottom: 1px solid #2B587A; } .button_yes div { border-style: solid; border-width: 1px; border-color: #7E9CBC #5C82AB #5C82AB; background-color:#6D8FB3; color: #FFF; } .button_yes div.button_hover { border-color: #92ACC7 #7293B7 #7293B7; background-color: #84A1BF; } .button_yes div.button_down { border-color: #4f749d #4f749d #5c82ab; background-color: #5e84a9; } .button_no { border: 1px solid #B8B8B8; border-top: 1px solid #9F9F9F; text-shadow: 0px 1px #FFF; } .button_cancel { color: #2B587A; } .button_cancel .button_hover { background: #E1E7ED; } .button_no div { border: 1px solid #F4F4F4; border-top: 1px solid #fff; border-bottom: 1px solid #DFDFDF; background-color: #eaeaea; color: #000; text-decoration: none; } .button_no div.button_hover { background-color: #f7f7f7; } .button_yes.locked .lock span, .button_no.locked .lock span { visibility: hidden; } .button_yes.locked .lock, .button_no.locked .lock { background: url(/images/upload.gif) no-repeat center 7px; } .box_title { border-top: 1px solid #6088B3; border-bottom: 1px solid #466E94; padding: 4px 10px 5px 10px; } .box_no_controls { background-color: #DAE2E8; border: 1px solid #ADBBCA; } .box_no_controls .box_title_wrap, .box_no_controls .box_layout .box_controls { display: none; } .box_no_controls .box_body { border: none; padding: 0; } .delete_all .clear_fix { margin-top: 10px; } .delete_all .button_gray { margin: 0px 10px; } /* New input buttons with gradient */ .button_blue, .button_gray { text-align: center; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; display: inline-block; *display: inline; position:relative; zoom: 1; } .box_controls .button_blue, .box_controls .button_gray { margin: 2px 5px; } .button_blue button, .button_gray button { border:1px solid; background: none; font-size: 11px; margin: 0px; cursor: pointer; white-space: nowrap; outline: none; padding: 4px 14px 4px; *padding: 5px 15px 3px; font-family: tahoma, verdana, arial, sans-serif, Lucida Sans; overflow: visible; } .button_wide { display: block; } .button_wide button { width: 100%; } .button_blue button::-moz-focus-inner, .button_gray button::-moz-focus-inner { border:0; } .button_blue { border: 1px solid #416796; background: #6485aa; } .button_blue button { border-top-color: #7c98ba; border-bottom-color: #5e80a9; border-left-color: #5e80a9; border-right-color: #5e80a9; color: #FFF; text-shadow:0 1px 0 #45688E; *border: 0; background: url('/images/button_bg.png') #6181a6 repeat-x top; background-position: 0px -16px; *background-position: 0px -16px; } .button_blue button:hover { background-position: 0px -8px; } .button_blue button:active { background: #5e80a5; border: 1px solid #5e80a5; position:relative; } .button_gray { border: 1px solid #b3b3b3; background: #e0e0e0; } .button_gray button { border-top-color: #ffffff; border-bottom-color: #e5e5e5; border-left-color: #e7e7e7; border-right-color: #e7e7e7; color: #444; text-shadow:0 1px 0 #ffffff; *border: 0; background: url('/images/button_bg.png') #dddddd repeat-x top; background-position: 0px -54px; } .button_gray button:hover { background-position: 0px -46px; } .button_gray button:active { background: #dcdcdc; border: 1px solid #dcdcdc; position:relative; } .button_lock { background: url('/images/upload_inv.gif') center no-repeat; position:absolute; width: 100%; height: 100%; } /* Pages */ .page_list { list-style: none; margin: 0; padding: 0; } .page_list li { float: left; display: inline; } .page_list a { border-bottom: 2px solid #FFF; display: block; padding: 3px 3px 2px; } .page_list a:hover { background: #45668E; border-color: #DAE2E8; border-bottom: 1px solid #45668E; color: #FFF; text-decoration: none; } .page_list .current { background: #FFF; border-color: #45668E; border-bottom: 2px solid #45668E; color: #45668E; font-weight: bold; padding: 3px 2px 2px; } .pages_bottom .page_list .current { padding-top: 1px; border-bottom-color: white; border-top: 2px solid #45668E; } .flat_tabs { border-bottom: 1px solid #DAE1E8; height: 24px; list-style-type: none; margin: 0pt; padding: 0px 7px; vertical-align: bottom; } .flat_tab_on { background-color: #FFF; border: 1px solid #C3CAD2; border-bottom: 0px; float: left; height: 24px; margin: 0px 3px -1px; text-align: center; position: relative; } .flat_tab_on a { float: left; padding: 5px 10px; text-decoration: none; } .flat_tab { background-color: #F5F7FA; border: 1px solid #C3CAD2; border-bottom: 0px; float: left; height: 23px; margin: 0px 3px; text-align: center; } .flat_tab a { border-bottom: 2px solid #EEF0F3; float: left; padding: 5px 10px 3px; text-decoration: none; } .flat_tab a:hover { background-color: #FFF; text-decoration: none; } .flat_tab a:hover{ background-color: #FFF; border-bottom: 2px solid #F5F9FC; text-decoration: none; } .audio td { vertical-align: top; padding: 2px; } .audio .play { cursor: pointer; width: 20px; height: 17px; background: url(/images/play.gif) no-repeat 0px 0px; } .audio .info { width: 100%; } .audio .duration { color: #777; font-size: 10px; padding: 4px 0 0 4px; } .audio .player_wrap { height: 14px; margin-left: 28px; padding-top: 3px; } .audio .playline { padding-top: 5px; } .audio .playline div { border-top: 1px dashed #D8DFEA; height: 9px; } .audio .player { display: none; height: 14px; } .add_audio_plus { background: #C4D2E1 url(/images/icons/plus_icon3.gif) no-repeat; height: 17px; width: 16px; cursor: pointer; margin-top: -2px; } .add_audio_plus.done { background-position: 0 -17px; background-color: #6B8DB1; cursor: default; } #box_layer .video_box .wrap { position: relative; } #box_layer .video_box div { position: relative; z-index: 1011; } #box_layer .video_box .background { position: absolute; z-index: 1010; } #box_layer .video_box .description, #box_layer .video .description { padding-top: 10px; position: relative; } #box_layer .video_box .no_flash_wrap { padding-top: 160px; } #box_layer .video_box .no_flash { margin: auto; width: 320px; padding: 10px; background: #FFF; border: 1px solid #CCC; position: relative; z-index: 1015; } #box_layer .flash_needed .button_blue { margin: 15px auto 0px; width: 150px; } #box_layer .flash_needed .button_blue button { width: 100%; } #quick_auth_frame { padding: 0px; margin: 0px; border: 0px; width: 123px; height: 300px; } #quick_login { width: 123px; } #quick_login .text { width: 115px; } #quick_login .submit { position: absolute; color: #FFF; border: 0; padding: 0; margin: 0; background: #FFF; left: -8000px; top: -8000px; } #quick_login .label { color: #666; padding-bottom: 4px; } #quick_login .labeled { padding-bottom: 7px; } #quick_login .checkbox { margin-bottom: 7px; display: none; } #quick_login .reg { margin-top: 7px; } #quick_login .forgot { padding-top: 5px; text-align: center; } .error, .info_msg { background: #FFEFE8; border: 1px solid #E89B88; padding: 8px 11px; text-align: justify; } .info_msg { background: #F6F7F9; border: 1px solid #DBE0EA; } .msg { padding: 8px 11px; background-color: #F9F6E7; border: 1px solid #D4BC4C; } .box_msg { padding: 8px 11px; margin: 0px; font-weight: bold; background-color: #F9F6E7; border: 1px solid #D4BC4C; } #system_msg { z-index: 5000; left: 0px; top: 0px; display: none; -moz-border-radius: 0px 0px 6px; border-radius: 0px 0px 6px; padding: 7px 10px; } #bad_browser { border-bottom: 1px solid #B8C7D3; background-color: #F2F4FF; } #bad_browser .info { padding: 8px; text-align: center; line-height: 150%; } #bad_browser #good_browsers { display: none; } #bad_browser #good_browsers div { width: 400px; height: 100px; margin: 10px auto 0px; } #bad_browser #good_browsers a { width: 100px; height: 20px; padding-top: 80px; } /* qsearch section */ #qsearch_link { margin-top: 9px; padding: 3px 15px 7px 15px; } #qsearch_link.active { background-color: #5B7DA4; border: 1px solid #3E5F84; text-decoration: none; padding: 2px 14px 6px 14px; } #qsearch_link.active:hover { text-decoration: none; } #quick_search { display: none; margin-top: 9px; width: 241px; overflow: hidden; overflow-y: visible; } #search_cont { background-color: #FFFFFF; width: 240px; border: 1px solid #3E5F84; border-left: 0; height: 19px; } #search_input { border: 0px none white; font-size: 11px; height: 13px; outline: none; overflow: hidden; padding: 3px 0px 3px 10px; } #search_input { width: 229px; } #quick_search .input_back { padding-top: 2px !important; line-height: 13px; } #search_sub_menu div.s_photo { width: 50px; height: 50px; overflow: hidden; margin: 0px 10px 0px 0px; line-height: 22px; } #search_sub_menu div.s_photo img { width: 50px; vertical-align: middle; } #search_sub_menu a.i_note div.s_photo, #search_sub_menu a.i_group div.s_photo, #search_sub_menu a.i_public div.s_photo, #search_sub_menu a.i_event div.s_photo, #search_sub_menu a.i_audio div.s_photo, #search_sub_menu a.i_app div.s_photo, #search_sub_menu a.i_ad div.s_photo { background-image: url(/images/icons/qsearch_hints.gif?1); } #search_sub_menu a.i_audio div.s_photo { background-position: 0 0; } #search_sub_menu a.i_app div.s_photo { background-position: 0 -50px; } #search_sub_menu a.i_event div.s_photo { background-position: 0 -100px; } #search_sub_menu a.i_group div.s_photo { background-position: 0 -150px; } #search_sub_menu a.i_ad div.s_photo { background-position: 0 -200px; } #search_sub_menu a.i_note div.s_photo { background-position: 0 -300px; } #search_sub_menu div.s_title { cursor: pointer; height: 42px; margin-top: 4px; width: 540px; overflow: hidden; } #search_sub_menu div.s_title span { background-color: #FFF8CC; border-bottom: 1px solid #FFE222; padding: 0 1px; } #search_sub_menu a.sub_item:hover, #search_sub_menu a.sub_item_over:hover, #search_sub_menu a.sub_item_next_over:hover { text-decoration: none; } #search_sub_menu .s_title { color: #2B587A; font-weight: bold; } #search_sub_menu .s_title div { color: #000; font-weight: normal; padding-top: 4px; } #search_sub_menu .sub_item { background-color: #FFFFFF; border-top: 1px solid #E1E9EF; color: #000000; display: block; padding: 4px 12px 4px 6px; } #search_sub_menu a.sub_item { border-bottom: 1px solid #FFFFFF; height: 50px; padding: 6px 12px; vertical-align: middle; } #search_sub_menu a.sub_item.over { background-color: #EDF1F5; border-bottom: 1px solid #EDF1F5; text-decoration: none; } #search_sub_menu a.s_search_by { font-weight: bold; border-bottom: 1px solid #F7F7F7; background-color:#F7F7F7; height: 27px; } #search_sub_menu .s_search_by .s_title { color: #2B587A; margin-top: 7px; } .tabs { background: #F7F7F7; padding: 8px; } .tabs .outer { } .tabs .tab a { display: inline-block; } .tabs .tab a:hover { text-decoration: none; } .tabs .tab { display: inline-block; margin-right: 12px; padding: 2px; } .tabs .tab.selected { border-bottom: 1px solid #FFFFFF; padding: 0px; } .tabs .tab b { padding: 2px 5px 2px 5px; display: inline-block; } .tabs .tab.selected a { border-top: 1px solid #395676; border-right: 1px solid #3b6798; border-bottom: 1px solid #4a73a0; border-left: 1px solid #3b6798; color: #FFFFFF; } .tabs .tab.selected b { border: 1px solid #5C82AB; background: #6D8FB3; } .no_select { user-select: none; -o-user-select: none; -moz-user-select: none; -khtml-user-select: none; } .select_fix { user-select: text; -o-user-select: text; -moz-user-select: text; -khtml-user-select: text; } .input_back_wrap { position: relative; z-index: 90; } .input_back { position:absolute; color:#777; background-color:#FFF; z-index: 90; } .choose_box .input_back { margin: 9px 4px 0px; } .input_back div { padding:0px 1px 0; white-space: nowrap; } .sort_blank { border: 1px dashed #D8DFEA; } .divider { color: #777; font-weight: normal; padding:0px 5px; } small.divider { padding:0px 2px; } .unshown { display: none; } .hidden { visibility: hidden; } #global_prg { position: absolute; z-index: 400; } /* Tabs */ .tabs.t_bar { background: #FFF; } .t_bar { padding: 11px 10px 0px; border-bottom: solid 1px #597DA3; } ul.t0 { width: 605px; } ul.t0, ul.t0 li { list-style-type: none; margin: 0; padding: 0; } ul.t0 li { float: left; text-align: center; } ul.t0 li.active_link a, ul.t0 li.active_link a:hover { background: #597DA3; color: #FFFFFF; } ul.t0 li a:hover { background: #E1E7ED; color: #2B587A; text-decoration: none; } ul.t0 a { float: left; padding: 0 0 5px 0; margin-right: 5px; text-decoration: none; background-color: #FFF; } ul.t0 .tab_word { margin: 5px 10px 0px 10px; font-weight: normal; } ul.t0 .t_r { float: right; padding: 5px 0 0; } ul.t0 .t_r a { margin:0; } ul.t0 .t_r a:hover { text-decoration: underline; background:#FFFFFF; } .tl1, .tl2 { display: block; height: 1px; background-color: #FFF; overflow: hidden; margin: 0px; border: 1px solid #FFF; border-width: 0px 2px; } .tl2 { margin-bottom: 3px; border-width: 0px 1px; } ul.t0 li a:hover b.tl1, ul.t0 li a:hover b.tl2 { background-color: #E1E7ED; } ul.t0 li.active_link a b.tl1, ul.t0 li.active_link a:hover b.tl1 { background-color: #597DA3; border-width: 0px 1px; } ul.t0 li.active_link a b.tl1 b, ul.t0 li.active_link a:hover b.tl1 b { display: block; height: 1px; background: #597DA3; overflow: hidden; margin: 0px; border: 1px solid #9AB1C6; border-width: 0px 1px; } ul.t0 li.active_link a b.tl2, ul.t0 li.active_link a:hover b.tl2 { background-color: #597DA3; border-color: #9AB1C6; } #flash_audio { height: 0px; top: 5px; } .audio .play_new { cursor: pointer; width: 20px; height: 16px; background: url(/images/playpause.gif) no-repeat 0px 0px; } .side_filter { border: 1px solid #F7F7F7; color: #2B587A; cursor: pointer; padding: 4px 5px 4px 9px; background-color: #F7F7F7; background-repeat: no-repeat; width: 120px; } .side_filter_over { border: 1px solid #DAE1E8; color: #2B587A; background-color: #DAE1E8; } .side_filter.cur_section { background-color: #6D8FB3; border: 1px solid #3B6798; color: #FFFFFF; } .side_filter.loading { background-image: url(/images/upload_inv_mini.gif); background-position: 110px center; background-repeat: no-repeat; } #gp { display: none; height: 36px; z-index: 500; cursor: default; } #gp div#gp_large { display: none; } #gp div#gp_back{ position: absolute; top: 0px; left: 0px; height: 36px; border-top-left-radius: 3px; /* css3 */ border-top-right-radius: 3px; -moz-border-radius-topleft: 3px; /* firefox */ -moz-border-radius-topright: 3px; -webkit-border-radius-topleft: 3px; /* Safari, Chrome */ -webkit-border-radius-topright: 3px; -khtml-border-radius-topleft: 3px; /* khtml */ -khtml-border-radius-topright: 3px; overflow: hidden; background-color: #000; opacity: 0.7; filter: alpha(opacity=70); } #gp div.wrap { position: relative; width: 100%; height: 36px; } #gp div#gp_wrap { position: absolute; top: 0px; left: 0px; color: #FFF; height: 36px; z-index: 501; width: 100%; } #gp .audio .gp_play_wrap { padding: 3px; cursor: pointer; } #gp .audio .gp_play { background: url("/images/playback_icons.gif") no-repeat scroll 0 0 transparent; height: 10px; width: 10px; } #gp #gp_audio_info_large, #gp #gp_audio_info_small { padding: 5px 0px 2px; } #gp #gp_play_btn_large, #gp #gp_play_btn_small { padding: 10px 5px 10px 7px; width: 10px; } #gp div.title_wrap { width: 125px; overflow: hidden; white-space: nowrap; line-height: 13px; position: relative; } #gp #player_global { width: 100%; padding-top: 7px; } #gp #gp_audio_info_large { width: 330px; } #gp #gp_vol { padding: 23px 0px 0px 20px; } *:first-child+html #gp #gp_vol_line { position: relative; top: -13px; } #gp .duration { color: #FFF; padding: 1px 0px 0px 0px; position: absolute; } #gp #audio_white_line_global, #gp #audio_vol_back_global { background-color: auto; } #gp .audio .player_wrap { margin: -1px 0px 0px; padding: 0px; float: left; width: 100% } #gp .gp_controls { padding: 13px 0px 13px 12px; } #gp .close { vertical-align: top; padding: 1px 1px 1px 0px; } #gp #gp_close { background: url("/images/playback_icons.gif") no-repeat scroll 0 -55px transparent; width: 5px; height: 5px; } #gp #gp_close_wrap { cursor: pointer; padding: 2px; } #gp .gp_controls div { background: url("/images/playback_icons.gif") no-repeat scroll 0 0 transparent; height: 11px; width: 13px; margin: 0px 4px; float: left; cursor: pointer; opacity: 0.7; filter: alpha(opacity=70); } #gp .gp_controls div.prev { background-position: 0 -22px; margin-right: 5px; } #gp .gp_controls div.next { background-position: 0 -33px; } #gp .gp_controls div.repeat{ background-position: 0 -44px; } #gp .gp_controls div.repeat.on{ background-position: 0 -44px; opacity: 1; filter: alpha(opacity=100); } #gp .audio_load_line, #gp .audio_progress_line, #gp .audio_pr_slider, #gp .audio_volume_line, #gp .audio_vol_slider { background-color: #FFF; } var navMap = {'':['al_index.php',['index.js']],'':['al_profile.php',['profile.css','page.css','profile.js','page.js']],'public\\d+($|/)':['al_public.php',['public.css','page.css','public.js','page.js']],'event\\d+($|/)':['al_events.php',['events.css','page.css','events.js','page.js']],'club\\d+($|/)':['al_groups.php',['groups.css','page.css','groups.js','page.js']],'publics\\d+($|/)':['al_public.php',['public.css','page.css','public.js','page.js']],'changemail$':['register.php',['reg.css']],'mail($|/)':['al_mail.php',['mail.css','mail.js']],'im($|/)':['al_im.php',['im.css','im.js']],'audio($|/)':['al_audio.php',['audio.css','audio.js']],'apps($|/)':['al_apps.php',['apps.css','apps.js']],'regstep\\d$':['register.php',['reg.js','reg.css','ui_controls.js','ui_controls.css','selects.js']],'video(-?\\d+_\\d+)?$':['al_video.php',['video.js','video.css','videoview.js','videoview.css','indexer.js']],'videos(-?\\d+)?$':['al_video.php',['video.js','video.css','indexer.js']],'feed$':['al_feed.php',['page.css','page.js','feed.css','feed.js']],'friends$':['al_friends.php',['friends.js','friends.css','privacy.css']],'friendsphotos$':['al_photos.php',['friendsphotos.js','photoview.js','friendsphotos.css','photoview.css']],'wall-?\\d+(_\\d+)?$':['al_wall.php',['page.js','page.css','wall.js','wall.css']],'tag\\d+$':['al_photos.php',['photos.js','photoview.js','photos.css','photoview.css']],'albums-?\\d+$':['al_photos.php',['photos.js','photos.css']],'photos-?\\d+$':['al_photos.php',['photos.js','photos.css']],'album-?\\d+_\\d+$':['al_photos.php',['photos.js','photos.css']],'photo-?\\d+_\\d+$':['al_photos.php',['photos.js','photos.css','photoview.js','photoview.css']],'search$':['al_search.php',['search.css','search.js']],'invite$':['invite.php',['invite.css','invite.js','ui_controls.css','ui_controls.js']],'note\\d+_\\d+$':['al_notes.php',['notes.js','notes.css','player.js','wiki.css']],'notes(\\d+)?$':['al_notes.php',['notes.js','notes.css','player.js','wiki.css']],'settings$':['al_settings.php',['settings.js','settings.css']]}; var stVersions = { 'nav': 2438, 'common.js': 283, 'common.css': 120, 'uncommon.js': 6, 'uncommon.css': 7, 'ie6.css': 18, 'ie7.css': 12, 'rtl.css': 34, 'html5audio.js': 3, 'html5video.js': 3, 'new_player.js': 16, 'new_player.css': 10, 'audio_html5.js': 3, 'audio.js': 23, 'audio_edit.js': 5, 'audio.css': 15, 'indexer.js': 2, 'boxes.css': 10, 'rate.css': 2, 'tooltips.js': 20, 'tooltips.css': 10, 'player.js': 55, 'sorter.js': 8, 'qsorter.js': 6, 'photoview.css': 35, 'photoview.js': 64, 'friendsphotos.css': 13, 'friendsphotos.js': 8, 'friends.js': 59, 'friends.css': 62, 'photos.css': 16, 'photos.js': 17, 'video.js': 48, 'video.css': 45, 'videoview.js': 51, 'videoview.css': 46, 'video_edit.js': 16, 'video_edit.css': 9, 'translation.js': 5, 'reg.css': 23, 'reg.js': 43, 'invite.css': 7, 'invite.js': 5, 'prereg.js': 12, 'index.css': 4, 'index.js': 10, 'page.css': 79, 'page.js': 79, 'public.css': 21, 'public.js': 18, 'events.css': 16, 'events.js': 15, 'groups.css': 12, 'groups.js': 6, 'groups_edit.js': 6, 'profile.css': 59, 'profile.js': 61, 'wk.css': 5, 'wk.js': 5, 'pay.css': 2, 'pay.js': 3, 'tagger.js': 3, 'tagger.css': 3, 'qsearch.js': 9, 'wall.css': 8, 'wall.js': 8, 'mail.css': 30, 'mail.js': 33, 'im.css': 28, 'im.js': 32, 'feed.js': 61, 'feed.css': 35, 'privacy.js': 14, 'privacy.css': 10, 'apps.js': 27, 'apps.css': 18, 'apps_edit.js': 4, 'apps_edit.css': 4, 'settings.js': 7, 'settings.css': 7, 'search.js': 25, 'search.css': 14, 'datepicker.js': 2, 'datepicker.css': 1, 'oauth_popup.css': 1, 'notes.css': 7, 'notes.js': 6, 'wysiwyg.js': 5, 'wysiwyg.css': 2, 'wiki.css': 2, 'ui_controls.js': 98, 'ui_controls.css': 23, 'selects.js': 15, 'mentions.js': 29, 'apps_flash.js': 49, 'maps.js': 3, '/swf/api_wrapper.swf': 18, '/swf/api_external.swf': 18, '/swf/api_wrapper2_0.swf': 1, '/swf/VideoPlayer3_4.swf': 6, 'lang': 3067}; var stTypes = {fromLib:{'md5.js':1,'ui_controls.js':1,'selects.js':1,'sort.js':1,'maps.js':1},fromRoot:{'apps_flash.js':1,'mentions.js':1,'map2.js':1,'ui_controls.css':1,'map.css':1,'places.css':1}}; if (vk.al == 1) { if (location['search'] || location.pathname != '/') { location.replace('/'); } } else { if (!location['search'] && location.pathname == '/index.php') { location.replace('/'); } vk.version = false; } window.__debugMode = true; // Don't turn it off var cur = {destroy: [], nav: []}; // Current page variables and navigation map. var _ua = navigator.userAgent.toLowerCase(); var browser = { version: (_ua.match( /.+(?:me|ox|on|rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1], opera: /opera/i.test(_ua), msie: (/msie/i.test(_ua) && !/opera/i.test(_ua)), msie6: (/msie 6/i.test(_ua) && !/opera/i.test(_ua)), msie7: (/msie 7/i.test(_ua) && !/opera/i.test(_ua)), msie8: (/msie 8/i.test(_ua) && !/opera/i.test(_ua)), msie9: (/msie 9/i.test(_ua) && !/opera/i.test(_ua)), mozilla: /firefox/i.test(_ua), chrome: /chrome/i.test(_ua), safari: (!(/chrome/i.test(_ua)) && /webkit|safari|khtml/i.test(_ua)), iphone: /iphone/i.test(_ua), ipod: /ipod/i.test(_ua), iphone4: /iphone.*OS 4/i.test(_ua), ipod4: /ipod.*OS 4/i.test(_ua), ipad: /ipad/i.test(_ua), safari_mobile: /iphone|ipod|ipad/i.test(_ua), opera_mobile: /opera mini|opera mobi/i.test(_ua), mobile: /iphone|ipod|ipad|opera mini|opera mobi/i.test(_ua) }; (function() { var flash = [0, 0, 0], axon = 'ShockwaveFlash.ShockwaveFlash'; var wrapType = 'embed', wrapParam = 'type="application/x-shockwave-flash" '; var escapeAttr = function(v) { return v.toString().replace('&', '&').replace('"', '"'); } if (navigator.plugins && navigator.mimeTypes.length) { var x = navigator.plugins['Shockwave Flash']; if (x && x.description) { var ver = x.description.replace(/([a-zA-Z]|\s)+/, '').replace(/(\s+r|\s+b[0-9]+)/, '.').split('.'); for (var i = 0; i < 3; ++i) flash[i] = ver[i] || 0; } } else { if (_ua.indexOf('Windows CE') >= 0) { var axo = true, ver = 6; while (axo) { try { ++ver; axo = new ActiveXObject(axon + '.' + ver); flash[0] = ver; } catch(e) {} } } else { try { var axo = new ActiveXObject(axon + '.7'); flash = axo.GetVariable('$version').split(' ')[1].split(','); } catch (e) {} } wrapType = 'object'; wrapParam = 'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" '; } browser.flashwrap = (wrapType == 'embed') ? function(opts, params) { params = extend({ id: opts.id, name: opts.id, width: opts.width, height: opts.height, style: opts.style, preventhide: opts.preventhide }, params); if (browser.flash >= opts.version) { params.src = opts.url; } else { params.src = opts.express; } var paramsStr = []; for (var i in params) { var p = params[i]; if (p !== undefined && p !== null) { paramsStr.push(i + '="' + escapeAttr(p) + '" '); } } return ''; } : function(opts, params) { if (browser.flash >= opts.version) { params.movie = opts.url; } else { params.movie = opts.express; } var attr = { id: opts.id, width: opts.width, height: opts.height, style: opts.style, preventhide: opts.preventhide } var attrStr = []; for (var i in attr) { var p = attr[i]; if (p !== undefined && p !== null) { attrStr.push(i + '="' + escapeAttr(p) + '" '); } } var paramsStr = []; for (var i in params) { var p = params[i]; if (p !== undefined && p !== null) { paramsStr.push(''); } } return '' + paramsStr.join('') + ''; } if (flash[0] < 7) flash = [0, 0, 0]; browser.flash = intval(flash[0]); browser.flashfull = { major: browser.flash, minor: intval(flash[1]), rev: intval(flash[2]) } })(); if (!browser.msie6) { delete StaticFiles['ie6.css']; } if (!browser.msie7) { delete StaticFiles['ie7.css']; } for (var i in StaticFiles) { var f = StaticFiles[i]; f.t = (i.indexOf('.css') != -1) ? 'css' : 'js'; f.n = i.replace(/[\\/\\.]/g, '_'); f.l = 0; f.c = 0; } window.locHost = location.host; window.__dev = /[a-z0-9_\-]+\.[a-z0-9_\-]+\.[a-z0-9_\-]+\.[a-z0-9_\-]+/i.test(locHost); if (!__dev) __debugMode = false; window.locHash = location.hash.replace('#/', '').replace('#!', ''); window.locDomain = locHost.toString().match(/[a-zA-Z]+\.[a-zA-Z]+\.?$/)[0]; window.locBase = location.toString().replace(/#.+$/, ''); if (!browser.msie6 || document.domain != locDomain) document.domain = locDomain; function topMsg(text, seconds, color) { if (!color) color = '#D6E5F7'; if (!text) { hide('system_msg'); } else { clearTimeout(window.topMsgTimer); var el = ge('system_msg'); el.style.backgroundColor = color; el.innerHTML = text; show(el); if (seconds) { window.topMsgTimer = setTimeout(topMsg.pbind(false), seconds * 1000); } } } function topError(text, seconds) { if (text.message) { var e = text; text = 'JavaScript error: ' + e.message; if (e.stack && __debugMode) text += '
' + e.stack.replace(/\n/g, '
'); } topMsg(text, seconds, '#FFB4A3'); } function langNumeric(count, vars, formatNum) { if (!vars || !window.langConfig) { return count; } var res; if (!isArray(vars)) { result = vars; } else { res = vars[1]; if(count != Math.floor(count)) { res = vars[langConfig.numRules['float']]; } else { each(langConfig.numRules['int'], function(i,v){ if (v[0] == '*') { res = vars[v[2]]; return false; } var c = v[0] ? count % v[0] : count; if(indexOf(v[1], c) != -1) { res = vars[v[2]]; return false; } }); } } if (formatNum) { var n = count.toString().split('.'), c = []; for(var i = n[0].length - 3; i > -3; i -= 3) { c.unshift(n[0].slice(i > 0 ? i : 0, i + 3)); } n[0] = c.join(langConfig.numDel); count = n.join(langConfig.numDec); } res = (res || '%s').replace('%s', count); return res; } function langSex(sex, vars) { if (!isArray(vars)) return vars; var res = vars[1]; if (!window.langConfig) return res; each(langConfig.sexRules, function(i,v){ if (v[0] == '*') { res = vars[v[1]]; return false; } if (sex == v[0] && vars[v[1]]) { res = vars[v[1]]; return false; } }); return res; } function getLang() { try { var args = Array.prototype.slice.call(arguments); var key = args.shift(); if (!key) return '...'; var val = (window.cur.lang && window.cur.lang[key]) || (window.lang && window.lang[key]) || (window.langpack && window.langpack[key]) || window[key]; if (!val) { var res = key.split('_'); res.shift(); return res.join(' '); } if (isFunction(val)) { return val.apply(null, args); } else if (isArray(val)) { return langNumeric(args[0], val); } else { return val; } } catch(e) { debugLog('lang error:' + e.message + '(' + Array.prototype.slice.call(arguments).join(', ') + ')'); } } // Debug Log var _logTimer = (new Date()).getTime(); function debugLog(msg){ try { var t = '[' + (((new Date()).getTime() - _logTimer) / 1000) + '] '; if (ge('debuglog')) { if (msg === null) { msg = '[NULL]'; } else if (msg === undefined) { msg = '[UNDEFINED]'; } ge('debuglog').innerHTML += t + msg.toString().replace('<', '<').replace('>', '>')+'
'; } if (window.console && console.log) { Array.prototype.unshift.call(arguments, t); console.log.apply(console, arguments); } } catch (e) { } } // DOM function ge(el) { return (typeof el == 'string' || typeof el == 'number') ? document.getElementById(el) : el; } function geByTag(searchTag, node) { return (node || document).getElementsByTagName(searchTag); } function geByTag1(searchTag, node) { return geByTag(searchTag, node)[0]; } function geByClass(searchClass, node, tag) { var classElements = new Array(); if (node == null) { node = document; } if (tag == null) { tag = '*'; } if (node.getElementsByClassName) { classElements = node.getElementsByClassName(searchClass); if (tag != '*') { for (i = 0; i < classElements.length; ++i) { if (classElements.nodeName == tag) { classElements.splice(i, 1); } } } return classElements; } var els = geByTag(tag, node); var elsLen = els.length; var pattern = new RegExp('(^|\\s)' + searchClass + '(\\s|$)'); for (i = 0, j = 0; i < elsLen; ++i) { if (pattern.test(els[i].className)) { classElements[j] = els[i]; ++j; } } return classElements; } function geByClass1(searchClass, node, tag) { return geByClass(searchClass, node, tag)[0]; } function ce(tagName, attr, style) { var el = document.createElement(tagName); if (attr) extend(el, attr); if (style) setStyle(el, style); return el; } function show(elem) { if (arguments.length > 1) { for (var i = 0; i < arguments.length; ++i) { show(arguments[i]); } return; } elem = ge(elem); if (!elem || !elem.style) return; var old = elem.olddisplay, newStyle = 'block', tag = elem.tagName.toLowerCase(); elem.style.display = old || ''; if (getStyle(elem, 'display') == 'none') { if (hasClass(elem, 'inline')) { newStyle = 'inline'; } else if (tag == 'tr' && !browser.msie) { newStyle = 'table-row'; } else if (tag == 'table' && !browser.msie) { newStyle = 'table'; } else { newStyle = 'block'; } elem.style.display = elem.olddisplay = newStyle; } } function hide(elem) { if (arguments.length > 1) { for (var i = 0; i < arguments.length; i++) { hide(arguments[i]); } return; } elem = ge(elem); if (!elem || !elem.style) return; var d = getStyle(elem, 'display'); elem.olddisplay = (d != 'none') ? d : ''; elem.style.display = 'none'; } function isVisible(elem) { elem = ge(elem); if (!elem || !elem.style) return false; return getStyle(elem, 'display') != 'none'; } function toggle(elem, val) { if (val === undefined) { val = !isVisible(elem); } if (val) { show(elem); } else { hide(elem); } } var hfTimeout = 0; function toggleFlash(show, timeout) { //if (/mac/i.test(navigator.userAgent)) return; clearTimeout(hfTimeout); if (timeout > 0) { hfTimeout = setTimeout(function() {toggleFlash(show, 0)}, timeout); return; } var vis = show ? 'visible' : 'hidden'; var f = function() { if (this.getAttribute('preventhide')) { return; } else if (this.id == 'app_container' && browser.msie) { show ? setStyle(this, {position: 'static', top: 0}) : setStyle(this, {position: 'absolute', top: '-5000px'}); } else { this.style.visibility = vis; } }; each(geByTag('embed'), f); each(geByTag('object'), f); if (window.bnr1 && bnr1.el && bnr1.el.style) { bnr1.el.style.visibility = bnr2.el.style.visibility = vis; } } function getXY(obj) { if (!obj || obj == undefined) return; var left = 0, top = 0; if (obj.offsetParent) { do { left += obj.offsetLeft; top += obj.offsetTop; var pos = getStyle(obj, 'position'); if (pos == 'fixed' || pos == 'absolute' || (pos == 'relative' && obj.id == 'page_wrap')) { left -= obj.scrollLeft; top -= obj.scrollTop; if (pos == 'fixed') { left += ((obj.offsetParent || {}).scrollLeft || bodyNode.scrollLeft || htmlNode.scrollLeft); top += ((obj.offsetParent || {}).scrollTop || bodyNode.scrollTop || htmlNode.scrollTop); } } } while (obj = obj.offsetParent); } return [left,top]; } function getSize(elem, withoutBounds) { var s = [0, 0], de = document.documentElement; if (elem == document) { s = [Math.max( de.clientWidth, bodyNode.scrollWidth, de.scrollWidth, bodyNode.offsetWidth, de.offsetWidth ), Math.max( de.clientHeight, bodyNode.scrollHeight, de.scrollHeight, bodyNode.offsetHeight, de.offsetHeight )]; } else if (elem){ function getWH() { s = [elem.offsetWidth, elem.offsetHeight]; if (!withoutBounds) return; var padding = 0, border = 0; each(s, function(i, v) { var which = i ? ['Top', 'Bottom'] : ['Left', 'Right']; each(which, function(){ s[i] -= parseFloat(getStyle(elem, 'padding' + this)) || 0; s[i] -= parseFloat(getStyle(elem, 'border' + this + 'Width')) || 0; }); }); s = [Math.round(s[0]), Math.round(s[1])]; } if (!isVisible(elem)) { var props = {position: 'absolute', visibility: 'hidden', display: 'block'}; var old = {}; each(props, function(i, val){ old[i] = elem.style[i]; elem.style[i] = val; }); getWH(); each(props, function(i, val){ elem.style[i] = old[i]; }); } else getWH(); } return s; } /** * Useful utils */ Function.prototype.pbind = function() { var args = Array.prototype.slice.call(arguments); args.unshift(window); return this.bind.apply(this, args); }; Function.prototype.bind = function() { var func = this, args = Array.prototype.slice.call(arguments); var obj = args.shift(); return function() { var curArgs = Array.prototype.slice.call(arguments); return func.apply(obj, args.concat(curArgs)); } } function rand(mi, ma) { return Math.random() * (ma - mi + 1) + mi; } function irand(mi, ma) { return Math.floor(rand(mi, ma)); } function isFunction(obj) {return Object.prototype.toString.call(obj) === '[object Function]'; } function isArray(obj) { return Object.prototype.toString.call(obj) === '[object Array]'; } function isEmpty(o) { if(Object.prototype.toString.call(o) !== '[object Object]') {return false;} for(var i in o){ if(o.hasOwnProperty(i)){return false;} } return true; } function vkNow() { return +new Date; } function trim(text) { return (text || '').replace(/^\s+|\s+$/g, ''); } function stripHTML(text) { return text ? text.replace(/<(?:.|\s)*?>/g, '') : ''; } function escapeRE(s) { return s ? s.replace(/[.*+?^${}()|[\]\/\\]/g, '\\$0') : ''; } function intval(value) { if (value === true) return 1; return parseInt(value) || 0; } function floatval(value) { if (value === true) return 1; return parseFloat(value) || 0; } function positive(value) { value = intval(value); return value < 0 ? 0 : value; } function winToUtf(text) { var m, i, j, code; m = text.match(/&#[0-9]{2}[0-9]*;/gi); for (j in m) { var val = '' + m[j]; // buggy IE6 code = intval(val.substr(2, val.length - 3)); if (code >= 32 && ('&#' + code + ';' == val)) { // buggy IE6 text = text.replace(val, String.fromCharCode(code)); } } text = text.replace(/"/gi, '"').replace(/&/gi, '&').replace(/</gi, '<').replace(/>/gi, '>'); return text; } /** * Arrays, objects **/ function each(object, callback) { var name, i = 0, length = object.length; if (length === undefined) { for (name in object) if (callback.call(object[name], name, object[name]) === false) break; } else { for (var value = object[0]; i < length && callback.call(value, i, value) !== false; value = object[++i]) {} } return object; } function indexOf(arr, value, from) { for (var i = from || 0; i < arr.length; i++) { if (arr[i] == value) return i; } return -1; } function inArray(value, arr) { return indexOf(arr, value) != -1; } function clone(obj) { var newObj = isArray(obj) ? [] : {}; for (var i in obj) { newObj[i] = obj[i]; } return newObj; } // Extending object by another function extend() { var a = arguments, target = a[0] || {}, i = 1, length = a.length, deep = false, options; if (typeof target === 'boolean') { deep = target; target = a[1] || {}; i = 2; } if (typeof target !== 'object' && !isFunction(target)) target = {}; if (length == i) return target; for (; i < length; i++) { if ((options = a[i]) != null) { for (var name in options) { var src = target[name], copy = options[name]; if (target === copy) continue; if (deep && copy && typeof copy === 'object' && !copy.nodeType) { target[name] = extend(deep, src || (copy.length != null ? [] : {}), copy); } else if (copy !== undefined) { target[name] = copy; } } } } return target; } /** * CSS classes **/ function hasClass(obj, name) { obj = ge(obj); return obj && (new RegExp('(\\s|^)' + name + '(\\s|$)')).test(obj.className); } function addClass(obj, name) { if (obj && !hasClass(obj, name)) obj.className = (obj.className ? obj.className + ' ' : '') + name; } function removeClass(obj, name) { if (obj = ge(obj)) { obj.className = trim((obj.className || '').replace((new RegExp('(\\s|^)' + name + '(\\s|$)')), ' ')); } } function replaceClass(obj, oldName, newName) { removeClass(obj, oldName); addClass(obj, newName); } // Get computed style function getStyle(elem, name, force) { elem = ge(elem); if (isArray(name)) { var res = {}; each(name, function(i,v){res[v] = getStyle(elem, v);}); return res; } if (force === undefined) { force = true; } if (!force && name == 'opacity' && browser.msie) { var filter = elem.style['filter']; return filter ? (filter.indexOf('opacity=') >= 0 ? (parseFloat(filter.match(/opacity=([^)]*)/)[1] ) / 100) + '' : '1') : ''; } if (!force && elem.style && (elem.style[name] || name == 'height')) { return elem.style[name]; } if (force && (name == 'width' || name == 'height')) { return getSize(elem, true)[({'width': 0, 'height': 1})[name]] + 'px'; } var ret, defaultView = document.defaultView || window; if (defaultView.getComputedStyle) { name = name.replace(/([A-Z])/g, '-$1').toLowerCase(); var computedStyle = defaultView.getComputedStyle(elem, null); if (computedStyle) { ret = computedStyle.getPropertyValue(name); } } else if (elem.currentStyle) { if (name == 'opacity' && browser.msie) { var filter = elem.currentStyle['filter']; return filter && filter.indexOf('opacity=') >= 0 ? (parseFloat(filter.match(/opacity=([^)]*)/)[1]) / 100) + '' : '1'; } var camelCase = name.replace(/\-(\w)/g, function(all, letter){ return letter.toUpperCase(); }); ret = elem.currentStyle[name] || elem.currentStyle[camelCase]; //dummy fix for ie if (ret == 'auto') { ret = 0; } if (!/^\d+(px)?$/i.test(ret) && /^\d/.test(ret)) { var style = elem.style, left = style.left, rsLeft = elem.runtimeStyle.left; elem.runtimeStyle.left = elem.currentStyle.left; style.left = ret || 0; ret = style.pixelLeft + 'px'; style.left = left; elem.runtimeStyle.left = rsLeft; } } return ret; } function setStyle(elem, name, value){ elem = ge(elem); if (!elem) return; if (typeof name == 'object') return each(name, function(k, v) { setStyle(elem,k,v); }); if (name == 'opacity') { if (browser.msie) { if ((value + '').length) { elem.style.filter = 'alpha(opacity=' + value * 100 + ')'; } else { elem.style.filter = ''; } elem.style.zoom = 1; }; elem.style.opacity = value; } else { try{ var isN = typeof(value) == 'number'; if (isN && (/height|width/i).test(name)) value = Math.abs(value); elem.style[name] = isN && !(/z-?index|font-?weight|opacity|zoom|line-?height/i).test(name) ? value + 'px' : value; } catch(e){debugLog([name, value]);} } } /** * Store data connected to element **/ var vkExpand = 'VK' + vkNow(), vkUUID = 0, vkCache = {}; function data(elem, name, data) { var id = elem[vkExpand], undefined; if (!id) { id = elem[vkExpand] = ++vkUUID; } if (name && !vkCache[id]) { vkCache[id] = {}; if (__debugMode) vkCache[id].__elem = elem; } if (data !== undefined) { vkCache[id][name] = data; } return name ? vkCache[id][name] : id; } function removeAttr(el) { for (var i = 0; i < arguments.length; ++i) { var n = arguments[i]; if (el[n] === undefined) continue; try { delete el[n]; } catch(e) { try { el.removeAttribute(n); } catch(e) {} } } } function removeData(elem, name) { var id = elem ? elem[vkExpand] : false; if (!id) return; if (name) { if (vkCache[id]) { delete vkCache[id][name]; name = ''; for (name in vkCache[id]) { break; } if (!name) { removeData(elem); } } } else { removeEvent(elem); removeAttr(elem, vkExpand); delete vkCache[id]; } } function cleanElems() { var a = arguments; for (var i = 0; i < a.length; ++i) { var el = ge(a[i]); if (el) { removeData(el); removeAttr(el, 'btnevents'); } } } // Simple FX function animate(el, params, speed, callback) { el = ge(el); if (!el) return; var _cb = isFunction(callback) ? callback : function() {}; var options = extend({}, typeof speed == 'object' ? speed : {duration: speed, onComplete: _cb}); var fromArr = {}, toArr = {}, visible = isVisible(el), self = this, p; options.orig = {}; params = clone(params); if (browser.iphone) options.duration = 0; var tween = data(el, 'tween'), i, name, toggleAct = visible ? 'hide' : 'show'; if (tween && tween.isTweening) { options.orig = extend(options.orig, tween.options.orig); tween.stop(false); if (tween.options.show) toggleAct = 'hide'; else if (tween.options.hide) toggleAct = 'show'; } for (p in params) { if (!tween && (params[p] == 'show' && visible || params[p] == 'hide' && !visible)) { return options.onComplete.call(this, el); } if ((p == 'height' || p == 'width') && el.style) { if (options.orig.overflow == undefined) { options.orig.overflow = getStyle(el, 'overflow'); } el.style.overflow = 'hidden'; el.style.display = 'block'; } if (/show|hide|toggle/.test(params[p])) { if (params[p] == 'toggle') { params[p] = toggleAct; } if (params[p] == 'show') { var from = 0; options.show = true; if (options.orig[p] == undefined) { options.orig[p] = getStyle(el, p, false) || ''; setStyle(el, p, 0); } var o; if (p == 'height' && browser.msie6) { o = '0px'; el.style.overflow = ''; } else { o = options.orig[p]; } var old = el.style[p]; el.style[p] = o; params[p] = parseFloat(getStyle(el, p, true)); el.style[p] = old; if (p == 'height' && browser.msie) { el.style.overflow = 'hidden'; } } else { if (options.orig[p] == undefined) { options.orig[p] = getStyle(el, p, false) || ''; } options.hide = true; params[p] = 0; } } } if (options.show && !visible) { show(el); } tween = new Fx.Base(el, options); each(params, function(name, to) { if (/backgroundColor|borderBottomColor|borderLeftColor|borderRightColor|borderTopColor|color|borderColor|outlineColor/.test(name)) { var p = (name == 'borderColor') ? 'borderTopColor' : name; from = getColor(el, p); to = getRGB(to); } else { var parts = to.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/), start = tween.cur(name, true) || 0; if (parts) { to = parseFloat(parts[2]); if (parts[1]) { to = ((parts[1] == '-=' ? -1 : 1) * to) + to; } } if (options.hide && name == 'height' && browser.msie6) { el.style.height = '0px'; el.style.overflow = ''; } from = tween.cur(name, true); if (options.hide && name == 'height' && browser.msie6) { el.style.height = ''; el.style.overflow = 'hidden'; } if (from == 0 && (name == 'width' || name == 'height')) from = 1; if (name == 'opacity' && to > 0 && !visible) { setStyle(el, 'opacity', 0); from = 0; show(el); } } if (from != to || (isArray(from) && from.join(',') == to.join(','))) { fromArr[name] = from; toArr[name] = to; } }); tween.start(fromArr, toArr); data(el, 'tween', tween); return tween; } function fadeTo(el, speed, to, callback) { return animate(el, {opacity: to}, speed, callback); } var Fx = fx = { Transitions: { linear: function(t, b, c, d) { return c*t/d + b; }, sineInOut: function(t, b, c, d) { return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; }, halfSine: function(t, b, c, d) { return c * (Math.sin(Math.PI * (t/d) / 2)) + b; }, easeOutBack: function(t, b, c, d) { var s = 1.70158; return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; }, easeInCirc: function(t, b, c, d) { return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; }, easeOutCirc: function(t, b, c, d) { return c * Math.sqrt(1 - (t=t/d-1)*t) + b; }, easeInQuint: function(t, b, c, d) { return c*(t/=d)*t*t*t*t + b; }, easeOutQuint: function(t, b, c, d) { return c*((t=t/d-1)*t*t*t*t + 1) + b; } }, Attrs: [ [ 'height', 'marginTop', 'marginBottom', 'paddingTop', 'paddingBottom' ], [ 'width', 'marginLeft', 'marginRight', 'paddingLeft', 'paddingRight' ], [ 'opacity', 'left', 'top' ] ], Timers: [], TimerId: null } Fx.Base = function(el, options, name) { this.el = ge(el); this.name = name; this.options = extend({ onComplete: function() {}, transition: Fx.Transitions.sineInOut, duration: 500 }, options || {}); } function genFx(type, num) { var obj = {}; each(Fx.Attrs.concat.apply([], Fx.Attrs.slice(0, num)), function() { obj[this] = type; }); return obj; }; // Shortcuts for custom animations each({slideDown: genFx('show', 1), slideUp: genFx('hide', 1), slideToggle: genFx('toggle', 1), fadeIn: {opacity: 'show'}, fadeOut: {opacity: 'hide'}, fadeToggle: {opacity: 'toggle'}}, function(f, val) { window[f] = function(el, speed, callback) { return animate(el, val, speed, callback); } }); Fx.Base.prototype = { start: function(from, to){ this.from = from; this.to = to; this.time = vkNow(); this.isTweening = true; var self = this; function t(gotoEnd) { return self.step(gotoEnd); } t.el = this.el; if (t() && Fx.Timers.push(t) && !Fx.TimerId) { Fx.TimerId = setInterval(function() { var timers = Fx.Timers; for (var i = 0; i < timers.length; i++) { if (!timers[i]()) { timers.splice(i--, 1); } } if (!timers.length) { clearInterval(Fx.TimerId); Fx.TimerId = null; } }, 13); } return this; }, stop: function(gotoEnd) { var timers = Fx.Timers; for (var i = timers.length - 1; i >= 0; i--) { if (timers[i].el == this.el ) { if (gotoEnd) { timers[i](true); } timers.splice(i, 1); } } this.isTweening = false; }, step: function(gotoEnd) { var time = vkNow(); if (!gotoEnd && time < this.time + this.options.duration) { this.cTime = time - this.time; this.now = {}; for (p in this.to) { // color fx if (isArray(this.to[p])) { var color = [], j; for (j = 0; j < 3; j++) { if (this.from[p] === undefined || this.to[p] === undefined) { return false; } color.push(Math.min(parseInt(this.compute(this.from[p][j], this.to[p][j])), 255)); } this.now[p] = color; } else { this.now[p] = this.compute(this.from[p], this.to[p]); } } this.update(); return true; } else { setTimeout(this.options.onComplete.bind(this, this.el), 10); this.now = extend(this.to, this.options.orig); this.update(); if (this.options.hide) hide(this.el); this.isTweening = false; return false; } }, compute: function(from, to){ var change = to - from; return this.options.transition(this.cTime, from, change, this.options.duration); }, update: function(){ for (var p in this.now) { if (isArray(this.now[p])) setStyle(this.el, p, 'rgb(' + this.now[p].join(',') + ')'); else this.el[p] != undefined ? (this.el[p] = this.now[p]) : setStyle(this.el, p, this.now[p]); } }, cur: function(name, force){ if (this.el[name] != null && (!this.el.style || this.el.style[name] == null)) return this.el[name]; return parseFloat(getStyle(this.el, name, force)) || 0; } }; // Parse strings looking for color tuples [255,255,255] function getRGB(color) { var result; if (color && isArray(color) && color.length == 3) return color; if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color)) return [parseInt(result[1]), parseInt(result[2]), parseInt(result[3])]; if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color)) return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55]; if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color)) return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)]; if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color)) return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)]; } function getColor(elem, attr) { var color; do { color = getStyle(elem, attr); if (!color.indexOf('rgba')) color = ''; if (color != '' && color != 'transparent' || elem.nodeName.toLowerCase() == 'body') { break; } attr = 'backgroundColor'; } while (elem = elem.parentNode); return getRGB(color); } function scrollToTop(speed) { if (speed == undefined) speed = 400; if (speed) { if (browser.msie6) { animate(pageNode, {scrollTop: 0}, speed); } else { animate(htmlNode, {scrollTop: 0}, speed); animate(bodyNode, {scrollTop: 0}, speed); } } else { window.scroll(0, 0); if (browser.msie6) { pageNode.scrollTop = 0; } } } function notaBene(el, color, nofocus) { el = ge(el); if (!el) return; if (!nofocus) focus(el); var oldBack = data(el, 'back') || data(el, 'back', getStyle(el, 'backgroundColor')); var colors = {notice: '#FFFFE0', warning: '#FAEAEA'}; setStyle(el, 'backgroundColor', colors[color] || color || colors.warning); setTimeout(animate.pbind(el, {backgroundColor: oldBack}, 300), 400); } /** * Events **/ var KEY = window.KEY = { LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, DEL: 8, TAB: 9, RETURN: 13, ENTER: 13, ESC: 27, PAGEUP: 33, PAGEDOWN: 34, SPACE: 32 }; function addEvent(elem, types, handler, custom, context) { elem = ge(elem); if (!elem || elem.nodeType == 3 || elem.nodeType == 8) return; var realHandler = context ? function (e) { var prevData = e.data; e.data = context; var ret = handler.apply(this, [e]); e.data = prevData; return ret; } : handler; // For IE if (elem.setInterval && elem != window) elem = window; var events = data(elem, 'events') || data(elem, 'events', []), handle = data(elem, 'handle') || data(elem, 'handle', function() { _eventHandle.apply(arguments.callee.elem, arguments); }); // to prevent a memory leak handle.elem = elem; each(types.split(/\s+/), function(index, type) { if (!events[type]) { events[type] = []; if (!custom && elem.addEventListener) { elem.addEventListener(type, handle, false); } else if (!custom && elem.attachEvent) { elem.attachEvent('on' + type, handle); } } events[type].push(realHandler); }); elem = null; } function removeEvent(elem, types, handler) { elem = ge(elem); if (!elem) return; var events = data(elem, 'events'); if (!events) return; if (typeof(types) != 'string') { for (var i in events) { removeEvent(elem, i); } return; } each(types.split(/\s+/), function(index, type) { if (!isArray(events[type])) return; if (isFunction(handler)) { for (var i = 0; i < events[type].length; i++) { if (events[type][i] == handler) { for (var j = i + 1; j < events[type].length; j++) { events[type][j - 1] = events[type][j]; } events[type].pop(); break; } } } else { for (var i = 0; i < events[type].length; i++) { delete events[type][i]; } } if (!events[type].length) { if (elem.removeEventListener) { elem.removeEventListener(type, data(elem, 'handle'), false); } else if (elem.detachEvent) { elem.detachEvent('on' + type, data(elem, 'handle')); } delete events[type]; } }); } function triggerEvent(elem, type, ev) { var handle = data(elem, 'handle'); if (handle) { setTimeout(function() { handle.call(elem, extend((ev || {}), {type: type, target: elem})) }, 0); } } function cancelEvent(event) { var e = event.originalEvent || event; if (e.preventDefault) e.preventDefault(); if (e.stopPropagation) e.stopPropagation(); event.cancelBubble = e.cancelBubble = true; event.returnValue = e.returnValue = false; return false; } function _eventHandle(event) { event = event || window.event; var originalEvent = event; event = clone(originalEvent); event.originalEvent = originalEvent; if (!event.target) { event.target = event.srcElement || document; } // check if target is a textnode (safari) if (event.target.nodeType == 3) { event.target = event.target.parentNode; } if (!event.relatedTarget && event.fromElement) { event.relatedTarget = event.fromElement == event.target; } if (event.pageX == null && event.clientX != null) { var doc = document.documentElement, body = bodyNode; event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0); event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0); } if (!event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode)) { event.which = event.charCode || event.keyCode; } if (!event.metaKey && event.ctrlKey) { event.metaKey = event.ctrlKey; } // click: 1 == left; 2 == middle; 3 == right if (!event.which && event.button) { event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); } var handlers = data(this, 'events'); if (!handlers || typeof(event.type) != 'string' || !handlers[event.type] || !handlers[event.type].length) { return; } for (var i in (handlers[event.type] || [])) { if (event.type == 'mouseover' || event.type == 'mouseout') { var parent = event.relatedElement; while (parent && parent != this) { try { parent = parent.parentNode; } catch(e) { parent = this; } } if (parent == this) { continue } } var ret = handlers[event.type][i].apply(this, arguments); if (ret === false) { cancelEvent(event); } } } // Prevent memory leaks in IE addEvent(window, 'unload', function() { for (var id in vkCache) { if (vkCache[id].handle && vkCache[id].handle.elem != window) { removeEvent(vkCache[id].handle.elem); } } }); if (__debugMode) { function __checkData() { var r = []; for (var i in vkCache) { var c = vkCache[i], el; if (!c || !(el = c.__elem)) continue; var id = el.id; if (!id) el.id = id = '__vk' + irand(1000000, 9999999); if (ge(id) == el) continue; var d = []; for (var j in c) { if (j == '__elem' || j == 'handle' && c.events) continue; if (j == 'events') { var e = []; for (var k in c[j]) e.push(k + '(' + c[j][k].length + ')'); d.push('{' + e.join(', ') + '}'); } else { d.push(j); } } var n; if (!/^__vk/.test(id)) n = '#' + id; else if (trim(el.className)) n = '.' + el.className.split(' ').join('.'); else if (el.tagName) n = '<' + el.tagName.toLowerCase() + '>'; else n = el + ''; r.push(n + ': ' + d.join(', ')); } return r.join('
'); } addEvent(document, 'keydown', function(e) { if (e.keyCode == 120 && !e.charCode) { showFastBox({title: 'Debug'}, __checkData()); } }); } var _layerAnim = false; // Layers var layers = { sh: (!_layerAnim || browser.msie || browser.iphone) ? function(el, done) { show(el); if (done) done(); } : function(el, done) { fadeIn(el, 200, done); }, hd: (!_layerAnim || browser.msie || browser.iphone) ? function(el, done) { hide(el); if (done) done(); } : function(el, done) { fadeOut(el, 200, done); }, visible: false, _show: function(el, con, opacity, color) { setStyle(el, {opacity: opacity || 0, backgroundColor: color || ''}); if (!layers.visible) { toggleFlash(); if (browser.mozilla) { window._oldScroll = htmlNode.scrollTop; pageNode.style.height = (_oldScroll + lastWindowHeight) + 'px'; pageNode.style.marginTop = -_oldScroll + 'px'; } else if (!browser.msie6) { (browser.msie7 ? htmlNode : bodyNode).style.overflow = 'hidden'; } } layers.visible = true; show(con); layers.sh(el); }, _hide: function(el, con) { var done = function() { hide(con); if (!isVisible(layerWrap) && !isVisible(boxLayerWrap) && ((window.mvcur && mvcur.minimized) || !isVisible(window.mvLayerWrap))) { layers.visible = false; toggleFlash(true); if (browser.mozilla) { pageNode.style.height = 'auto'; pageNode.style.marginTop = '0px'; if (window._oldScroll) { htmlNode.scrollTop = _oldScroll; } } else if (!browser.msie6) { (browser.msie7 ? htmlNode : bodyNode).style.overflow = 'auto'; } } } layers.hd(el, done); } }; function updSideBackLink(resized) { if (!window.scrollNode || !isVisible(_sbLink)) return; var pb = ge('page_body'), xy = getXY(pb); if (resized === true) { setStyle(_sbLink, { left: vk.rtl ? (xy[0] + getSize(pb)[0] + 5) : (xy[0] - 5 - _sbLink.offsetWidth) + 'px' }); return; } var st = window.pageYOffset || scrollNode.scrollTop || document.documentElement.scrollTop; var sb = ge('side_bar'), is = isVisible(sb); var sz = is ? getSize(sb) : [0, 500], y = pb.offsetTop + ge('page_layout').parentNode.offsetTop + sz[1] - st; setStyle(_sbLink, { left: vk.rtl ? (xy[0] + getSize(pb)[0] + 5) : (xy[0] - 5 - _sbLink.offsetWidth) + 'px', top: (Math.max(y, 0) + 5) + 'px', opacity: Math.min(Math.max(1 - y / 100, 0), 1) }); } function updGlobalPlayer() { var _gp = ge('gp'); var _gb = ge('gp_back'); if (!_gp || !_gb || window.gpExpanded) return; var pb = ge('page_body'), xy = getXY(pb), psz = getSize(pb); var w = window, de = document.documentElement; if (!w.pageNode) return; var dheight = Math.max(intval(w.innerHeight), intval(de.clientHeight)); var dwidth = Math.max(intval(w.innerWidth), intval(de.clientWidth)); var gsz = getSize(_gp); var sb = ge('side_bar'), is = isVisible(sb), sz = is ? getSize(sb) : [118, 500], pos = getXY(sb); var pb = ge('page_body'); var st = window.pageYOffset || scrollNode.scrollTop || document.documentElement.scrollTop; var y = pb.offsetTop + ge('page_layout').parentNode.offsetTop + dheight - gsz[1] - 40; var sw = (vk.rtl) ? pos[0] - xy[0] - psz[0] : xy[0] - pos[0] - sz[0]; if (browser.msie7 || browser.msie6) y -= 33; setStyle(_gb, { width: sz[0] + 13 + sw + 'px' }); setStyle(_gp, { top: Math.max(y, 0) + 'px', left: (vk.rtl) ? pos[0] - sw - 2 + 'px' : pos[0] - 11 + 'px', width: sz[0] + 13 + sw + 'px' }); } function expandGlobalPlayer(open) { var _gp = ge('gp'); var _gb = ge('gp_back'); if (!_gp || !_gb) return; var _w = 504; if (open) { if (window.gp_timer) { clearTimeout(gp_timer); window.gp_timer = null; return; } window.gpExpanded = true; hide('gp_small'); show('gp_large'); if (audioPlayer && audioPlayer.player) { audioPlayer.player.callPlayProgress(); } var el = geByClass1('title_wrap', ge('gp_large')); if (el) { setStyle(el, {width: '330px'}); } var l = parseInt(_gp.style.left), w = getSize(_gp)[0]; setStyle(_gp, { width: _w+'px', left: (vk.rtl) ? l+w-_w+'px' : l+'px' }); setStyle(_gb, {width: _w+'px'}); } else { if (!window.gp_timer) { window.gp_timer = setTimeout(function(){ var pb = ge('page_body'), xy = getXY(pb), psz = getSize(pb); var sb = ge('side_bar'), is = isVisible(sb), sz = is ? getSize(sb) : [118, 500], pos = getXY(sb); var sw = (vk.rtl) ? pos[0] - xy[0] - psz[0] : xy[0] - pos[0] - sz[0]; setStyle(_gb, {width: sz[0] + 13 + sw + 'px'}); setStyle(_gp, { left: vk.rtl ? (pos[0] - sw - 2) + 'px' : pos[0] - 11 + 'px', width: sz[0] + 13 + sw + 'px' }); hide('gp_large'); show('gp_small'); window.gpExpanded = false; window.gp_timer = null; }, 800); } } } function toggleGlobalPlayer(open) { var _gp = ge('gp'); if (!_gp) return; if (open) { show(_gp); updGlobalPlayer(); var sz = getSize(_gp); geByClass1('wrap', ge('pad_wrap')).style.paddingBottom = sz[1]+'px'; var t_pos = parseInt(_gp.style.top); _gp.style.top = t_pos + getSize(_gp)[1] + 'px'; animate(_gp, {top: t_pos+'px'}, 200); } else { updGlobalPlayer(); var t_pos = parseInt(_gp.style.top); if (window.audioPlayer) { if (audioPlayer.id && !ge('audio'+audioPlayer.id)) audioPlayer.stop(); } animate(_gp, {top: t_pos + getSize(_gp)[1] + 'px'}, 200, function(){hide(_gp)}); } } function onBodyResize(force) { var w = window, de = document.documentElement; if (!w.pageNode) return; var dwidth = Math.max(intval(w.innerWidth), intval(de.clientWidth)); var dheight = Math.max(intval(w.innerHeight), intval(de.clientHeight)); var sbw = sbWidth(); if (browser.mobile) { dwidth = Math.max(dwidth, intval(bodyNode.scrollWidth)); dheight = Math.max(dheight, intval(bodyNode.scrollHeight)); } else if (browser.msie7) { if (htmlNode.scrollHeight > htmlNode.offsetHeight && !layers.visible) { dwidth += sbw + 1; } } else if (browser.msie8) { if (htmlNode.scrollHeight + 3 > htmlNode.offsetHeight && !layers.visible) { dwidth += sbw + 1; } } if (w.lastWindowWidth != dwidth || force === true) { w.lastWindowWidth = dwidth; layerWrap.style.width = boxLayerWrap.style.width = dwidth + 'px'; var layerWidth = layer.style.width = boxLayer.style.width = (dwidth - sbw - 2) + 'px'; if (window.mvLayerWrap) { mvLayerWrap.style.width = dwidth + 'px'; mvLayer.style.width = layerWidth; } if (bodyNode.offsetWidth < layoutWidth + sbw + 2) { dwidth = layoutWidth + sbw + 2; } if (dwidth) { for (var el = pageNode.firstChild; el; el = el.nextSibling) { if (!el.tagName) continue; for (var e = el.firstChild; e; e = e.nextSibling) { if (e.className == 'scroll_fix') { e.style.width = (dwidth - sbw * (browser.msie7 ? 2 : 1) - 2) + 'px'; } } } } } if (w.lastWindowHeight != dheight || force === true) { w.lastWindowHeight = dheight; layerBG.style.height = boxLayerBG.style.height = layerWrap.style.height = boxLayerWrap.style.height = dheight + 'px'; if (window.mvLayerWrap) { mvLayerWrap.style.height = dheight + 'px'; } if (browser.mozilla && layers.visible) { pageNode.style.height = (_oldScroll + dheight) + 'px'; } else if (browser.msie6) { pageNode.style.height = dheight + 'px'; } } updSideBackLink(); updGlobalPlayer(); } function onBodyScroll() { bnr1.onScroll(); bnr2.onScroll(); updSideBackLink(); updGlobalPlayer(); } function onCtrlEnter(ev, handler) { ev = ev || window.event; if (ev.keyCode == 10 || ev.ctrlKey && ev.keyCode == 13) { handler(); } } function setFavIcon(href, force) { if (!window.icoNode) return; if (icoNode.href == href && !force) return; var ico = ce('link', {rel: 'shortcut icon', type: 'image/gif', href: href}); headNode.replaceChild(ico, icoNode); icoNode = ico; } (function() { var step = 1, timer, to, func, title; if (browser.mozilla) { func = function() { setFavIcon('/images/icons/prgicon.gif'); } } else if (browser.chrome || browser.opera && !browser.opera_mobile) { func = function() { step = step % 4 + 1; setFavIcon('/images/icons/prgicon' + step + '.gif'); timer = setTimeout(arguments.callee, 250); } } else { func = function() { var newTitle = ''; for (var i = 1; i <= 5; ++i) { newTitle += (i == step) ? String.fromCharCode(0x25CF) : '-'; } document.title = newTitle; step = step % 5 + 1; timer = setTimeout(arguments.callee, 250); } } window.showTitleProgress = function(timeout) { if (browser.mozilla || browser.chrome) return; if (timeout > 0) { to = setTimeout(showTitleProgress.pbind(false), timeout); return; } if (timer) { return; } if (document.body) { document.body.style.cursor = 'progress'; } title = document.title; func(); } window.hideTitleProgress = function(newTitle) { if (browser.mozilla || browser.chrome) return; clearTimeout(to); document.body.style.cursor = 'default'; if (timer) { clearTimeout(timer); timer = false; } if (newTitle || title) { document.title = newTitle || title; title = false; } if (browser.mozilla || browser.chrome || browser.opera && !browser.opera_mobile) { setFavIcon('/images/favicon' + (vk.intnat ? 'vknew' : 'new') + '.ico'); } } })(); var layoutWidth = 791; function domStarted() { window.headNode = geByTag1('head'); extend(window, { icoNode: geByTag1('link', headNode), bodyNode: geByTag1('body'), htmlNode: geByTag1('html'), utilsNode: ge('utils') }); if (!utilsNode) return; if (browser.mozilla) { addClass(bodyNode, 'firefox'); } else if (browser.msie6) { addClass(bodyNode, 'nofixed'); } for (var i in StaticFiles) { var f = StaticFiles[i]; f.l = 1; if (f.t == 'css') { utilsNode.appendChild(ce('div', {id: f.n})); } } var l = ge('layer_bg'), lw = l.nextSibling, bl = ge('box_layer_bg'), blw = bl.nextSibling; extend(window, { layerBG: l, boxLayerBG: bl, layerWrap: lw, layer: lw.firstChild, boxLayerWrap: blw, boxLayer: blw.firstChild, _sbLink: ge('side_back_link') }); _sbLink.innerHTML = getLang('global_to_top'); extend(layers, { show: layers._show.pbind(l, lw), boxshow: layers._show.pbind(bl, blw), wrapshow: layers._show.pbind(l), hide: layers._hide.pbind(l, lw), boxhide: layers._hide.pbind(bl, blw), wraphide: layers._hide.pbind(l) }); hab.init(); } function domReady() { if (!utilsNode) return; extend(window, { pageNode: ge('page_wrap'), _tbLink: ge('top_back_link') }); window.scrollNode = browser.msie6 ? pageNode : ((browser.chrome || browser.safari) ? bodyNode : htmlNode); if (vk.al == 1) { showTitleProgress(); } onBodyResize(); setTimeout(showSideBackLink.pbind(false), 100); var scrolledNode = browser.msie6 ? pageNode : window, bnrCode = function(id, data) { var rnd = irand(1, 1000000), addate = new Date(); var def = 'p1=' + data.p1 + '&p2=' + data.p2; var params = ['p3=a', 'p4=a', 'pucn=a', 'pfc=a', 'pfb=a', 'pr=' + rnd, 'pt=b', 'pd=' + addate.getDate(), 'pw=' + addate.getDay(), 'pv=' + addate.getHours(), 'py=a', 'puid1=' + data.sex, 'puid2=' + data.year, 'puid3=' + data.status, def]; var src = 'http://a.adwolf.ru/getCode?' + params.join('&'); return ''; }, docEl = document.documentElement; var bnrLoader = function(id) { var el = ge(id) || {style: {}}, h = (id == 'banner1') ? 150 : 30; var res = { id: id, el: el, update: function() { el = res.el = ge(id) || {style: {}}; if (!el.id) return; var vis = isVisible(el); if (!vis) show(el); res.yc = intval(el.offsetTop + h); if (!vis) hide(el); }, onScroll: function() { if (!el.id || !res.data) return; var ch = window.innerHeight || docEl.clientHeight || bodyNode.clientHeight; var st = window.pageYOffset || scrollNode.scrollTop || docEl.scrollTop; if (res.yc > st && st + ch > res.yc) { show(el); el.innerHTML = bnrCode(el.id, res.data); res.data = false; } } } return res; } window.bnr1 = bnrLoader('banner1'); window.bnr2 = bnrLoader('banner2'); addEvent(scrolledNode, 'scroll', onBodyScroll); } function onDomReady(f) { f(); } // Ajax function serializeForm(form) { if (typeof(form) != 'object') { return false; } var result = {}; var g = function(n) { return geByTag(n, form); }; var nv = function(i, e){ if (!e.name) return; if (e.type == 'text' || !e.type) { result[e.name] = val(e); } else { result[e.name] = (browser.msie && !e.value && form[e.name]) ? form[e.name].value : e.value; } }; each(g('input'), function(i, e) { if ((e.type != 'radio' && e.type != 'checkbox') || e.checked) return nv(i, e); }); each(g('select'), nv); each(g('textarea'), nv); return result; } function ajx2q(qa) { var query = [], enc = function (str) { try { return encodeURIComponent(str); } catch (e) { return str;} }; for (var key in qa) { if (qa[key] == null || isFunction(qa[key])) continue; if (isArray(qa[key])) { for (var i = 0, c = 0; i < qa[key].length; ++i) { if (qa[key][i] == null || isFunction(qa[key][i])) { continue; } query.push(enc(key) + '[' + c + ']=' + enc(qa[key][i])); ++c; } } else { query.push(enc(key) + '=' + enc(qa[key])); } } query.sort(); return query.join('&'); } function q2ajx(qa) { if (!qa) return {}; var query = {}, dec = function (str) { try { return decodeURIComponent(str); } catch (e) { return str;} }; qa = qa.split('&'); each(qa, function(i, a) { var t = a.split('='); if (t[0]) { var v = dec(t[1] + ''); if (t[0].substr(t.length - 2) == '[]') { var k = dec(t[0].substr(0, t.length - 2)); if (!query[k]) { query[k] = []; } query[k].push(v); } else { query[dec(t[0])] = v; } } }); return query; } var stManager = { _add: function(f, old) { var name = f.replace(/[\/\.]/g, '_'); if (old && old.l && old.t == 'css') { var elem = ce('style', { type: 'text/css', media: 'screen' }); headNode.appendChild(elem); var text = '#' + name + ' { display: block; }'; if (elem.sheet) { elem.sheet.insertRule(text, 0); } else if (elem.styleSheet) { elem.styleSheet.cssText = text; } } StaticFiles[f] = {v: stVersions[f], n: name, l: 0, c: 0}; var f_full = f + '?' + stVersions[f]; if (f.indexOf('.js') != -1) { var p = 'js/'; if (stTypes.fromLib[f]) { p += 'lib/'; } else if (!/^lang\d/i.test(f) && !stTypes.fromRoot[f]) { p += 'al/'; } headNode.appendChild(ce('script', { type: 'text/javascript', src: p + f_full })); StaticFiles[f].t = 'js'; } else if (f.indexOf('.css') != -1) { var p = 'css/' + (stTypes.fromRoot[f] ? '' : 'al/'); headNode.appendChild(ce('link', { type: 'text/css', rel: 'stylesheet', href: p + f_full })); StaticFiles[f].t = 'css'; if (!ge(name)) { utilsNode.appendChild(ce('div', {id: name})); } } }, add: function(files, callback) { var wait = [], de = document.documentElement; if (!isArray(files)) files = [files]; for (var i in files) { var f = files[i]; if (f.indexOf('?') != -1) { f = f.split('?')[0]; } if (/^lang\d/i.test(f)) { stVersions[f] = stVersions['lang']; } else if (!stVersions[f]) { stVersions[f] = 1; } // Opera Speed Dial fix var opSpeed = browser.opera && de.clientHeight == 768 && de.clientWidth == 1024; if ((opSpeed || __debugMode) && f != 'common.js' && f != 'common.css' && stVersions[f] > 0 && stVersions[f] < 1000000000) stVersions[f] += irand(1000000000, 2000000000); var old = StaticFiles[f]; if (!old || old.v != stVersions[f]) { stManager._add(f, old); } if (callback && !StaticFiles[f].l) { wait.push(f); } } if (!callback) return; if (!wait.length) { return callback(); } var waiter = function() { var nwait = []; for (var i in wait) { var f = wait[i]; if (!StaticFiles[f].l && StaticFiles[f].t == 'css' && getStyle(StaticFiles[f].n, 'display') == 'none') { if (stVersions[f] < 0) { topMsg('Warning: Something is bad, please clear your cache and restart your browser.', 10); } StaticFiles[f].l = 1; } if (!StaticFiles[f].l) { if (++StaticFiles[f].c > 150) { // Can't load for 15 seconds. if (stVersions[f] < 0) { topError('Error: Could not load ' + f + '.', 3); StaticFiles[f].l = 1; } else { topMsg('Some problems with loading ' + f + '...', 3); stVersions[f] = irand(-10000, -1); stManager._add(f, StaticFiles[f]); } } } if (!StaticFiles[f].l) { nwait.push(f); } } wait = nwait; if (wait.length) { return setTimeout(arguments.callee, 100); } callback(); } setTimeout(waiter, 1); }, done: function(f) { StaticFiles[f].l = 1; } } function requestBox(box, onDone, onFail) { box.setOptions({onHide: onFail}); box.onDone = function() { box.setOptions({onHide: false}); onDone(); } return box; } function activateMobileBox(opts) { return requestBox(showBox('activation.php', { act: 'activate_mobile_box', hash: opts.hash }), function() { vk.nophone = 0; opts.onDone(); }, opts.onFail); } var ajaxCache = {}; var globalAjaxCache = {}; var ajax = { _init: function() { var r = false; try { if (r = new XMLHttpRequest()) { ajax._req = function() { return new XMLHttpRequest(); } return; } } catch(e) {} each(['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'], function() { try { var t = '' + this; if (r = new ActiveXObject(t)) { (function(n) { ajax._req = function() { return new ActiveXObject(n); } })(t); return false; } } catch(e) {} }); if (!ajax._req) { location.replace('/badbrowser.php'); } }, _getreq: function() { if (!ajax._req) ajax._init(); return ajax._req(); }, _frameover: function() { var node = iframeTransport.parentNode; node.innerHTML = ''; utilsNode.removeChild(node); iframeTransport = false; if (cur.onFrameBlocksDone) { cur.onFrameBlocksDone(); } }, _receive: function(cont, html, js) { cont = cont && ge(cont); if (cont && html) { html = ce('div', {innerHTML: html}); while (html.firstChild) { cont.appendChild(html.firstChild); } } if (js) { eval('(function(){' + js + ';})()'); } }, framedata: false, framegot: function(c, h, j) { if (ajax.framedata === false) { setTimeout(ajax._receive.pbind(c, h, j), 0); } else { ajax.framedata.push([c, h, j]); } }, framepost: function(url, query, done) { if (window.iframeTransport) { ajax._frameover(); } window.iframeTransport = utilsNode.appendChild(ce('div', {innerHTML: ''})).firstChild; ajax._framedone = done; iframeTransport.src = url + '?' + ((typeof(query) != 'string') ? ajx2q(query) : query); }, plainpost: function(url, query, done, fail) { var r = ajax._getreq(); var q = (typeof(query) != 'string') ? ajx2q(query) : query; r.onreadystatechange = function() { if (r.readyState == 4) { if (r.status >= 200 && r.status < 300) { if (done) done(r.responseText, r); } else if (r.status) { if (fail) fail(r.responseText, r); } } } try { r.open('POST', url, true); } catch(e) { topMsg('Ajax Error: ' + e.message); } r.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); r.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); r.send(q); return r; }, post: function(url, query, options) { if (url.substr(0, 1) != '/') url = '/' + url; var o = extend({_captcha: false, _box: false}, options || {}), q = extend({al: o.frame ? -1 : 1}, query); if (o.progress) { if (!o.showProgress) { o.showProgress = show.pbind(o.progress); } if (!o.hideProgress) { o.hideProgress = hide.pbind(o.progress); } } return ajax._post(url, q, o); }, preload: function(url, query, data) { if (url.substr(0, 1) != '/') url = '/' + url; ajaxCache[url + '#' + ajx2q(query)] = data; }, _debugLog: function(text) { window._updateDebug = function() { var dlw = ge('debuglogwrap'); if (dlw) { dlw.innerHTML = text; window._updateDebug = false; } } }, _parseRes: function(answer) { window._updateDebug = false; for (var i = 0; i < answer.length; ++i) { var ans = answer[i]; if (ans.substr(0, 2) == ''); var type = ans.substr(2, from - 2); ans = ans.substr(from + 1); switch (type) { case 'json' : answer[i] = eval('(' + ans + ')'); break; case 'int' : answer[i] = intval(ans); break; case 'float': answer[i] = floatval(ans); break; case 'bool' : answer[i] = intval(ans) ? true : false; break; case 'null' : answer[i] = null; break; case 'debug': ajax._debugLog(ans); answer.pop(); // must be last one break; } } } }, _post: function(url, q, o) { if (!q.captcha_sid && o.showProgress) o.showProgress(); var cacheKey = false; if (o.ads && vk.id) q.al_ad = 1; if (o.cache) { var boldq = clone(q); delete boldq.al; delete boldq.al_ad; delete boldq.captcha_sid; delete boldq.captcha_key; cacheKey = url + '#' + ajx2q(boldq); } var hideBoxes = function() { for (var i = 0; i < arguments.length; ++i) { var box = arguments[i]; if (box && box.isVisible()) { box.setOptions({onHide: false}); box.hide(); } } return false; } var fail = function(text) { if (o.hideProgress) o.hideProgress(); if (o._suggest) cleanElems(o._suggest); o._suggest = o._captcha = o._box = hideBoxes(o._box, o._captcha); if (isFunction(o.onFail)) { if (o.onFail(text)) { return; } } topError(text); } // Process response function var processResponse = function(code, answer) { if (o.cache && !o.forceGlobalCache) { if (!code) { ajaxCache[cacheKey] = answer; } if (o.cache === 2) { return; } } // Parse response if (o.hideProgress) o.hideProgress(); o._box = hideBoxes(o._box); if (o._captcha && code != 2) { if (o._suggest) cleanElems(o._suggest); o._suggest = o._captcha = hideBoxes(o._captcha); } switch (code) { case 1: // email not confirmed if (ge('confirm_mail')) { showFastBox({ width: 430, title: ge('confirm_mail_title').value, onHide: o.onFail }, '
' + ge('confirm_mail').innerHTML + '
'); } else { topMsg('Error! Email is not confirmed!'); } break; case 2: // captcha var resend = function(sid, key) { var nq = extend(q, {captcha_sid: sid, captcha_key: key}); var no = o.cache ? extend(o, {cache: -1}) : o; ajax._post(url, nq, no); } var addText = ''; if (vk.nophone == 1 && !vk.nomail) { addText = getLang('global_try_to_activate').replace('{link}', '').replace('{/link}', ''); addText = '
' + addText + '
'; } o._captcha = showCaptchaBox(answer[0], intval(answer[1]), o._captcha, { onSubmit: resend, addText: addText, onHide: function() { if (o.onFail) o.onFail(); } }); o._suggest = geByClass1('phone_validation_link', o._captcha.bodyNode); if (o._suggest) { addEvent(o._suggest, 'click', function() { o._box = activateMobileBox({onDone: o._captcha.submit}); }); } break; case 3: // auth failed var no = o.cache ? extend(o, {cache: -1}) : o; window.onReLoginDone = ajax._post.pbind(url, q, no); window.onReLoginFailed = function(toRoot) { if (toRoot) { nav.go('/'); } else { window.onReLoginDone(); } } var iframe = ce('iframe', {src: 'http://login.vk.com/?al_frame=1&from_host=' + locHost}), t = 0; utilsNode.appendChild(iframe); break; case 4: // redirect if (answer[1]) { // ajax layout redirect nav.go(answer[0]); } else { hab.stop(); location.href = answer[0]; } break; case 5: // reload nav.reload({force: intval(answer[0])}); // force reload break; case 6: // mobile activation needed var no = o.cache ? extend(o, {cache: -1}) : o; o._box = activateMobileBox({onDone: ajax._post.pbind(url, q, no), onFail: o.onFail, hash: answer[0]}); break; case 7: // message if (o.onFail) o.onFail(); topMsg(answer[0], 10); break; case 8: // error if (o.onFail) { if (o.onFail(answer[0])) { return; } } topError(answer[0], answer[1] ? 0 : 10); break; case 9: // votes payment o._box = showFastBox(answer[0], answer[1]); var no = extend(clone(o), {showProgress: o._box.showProgress, hideProgress: o._box.hideProgress}); if (o.cache) { no.cache = -1; } o._box = requestBox(o._box, function() { if (isVisible(o._box.progress)) return; ajax._post(url, extend(q, {_votes_ok: 1}), no); }, o.onFail); var f = eval('((function() { return function() { var box = this; ' + (answer[2] || '') + ' ;}; })())'); f.apply(o._box); break; case 10: //zero zone o._box = showFastBox({ title: answer[0] || getLang('global_charged_zone_title'), onHide: o.onFail }, answer[1], getLang('global_charged_zone_continue'), function() { var nq = extend(q, {charged_confirm: answer[3]}); ajax._post(url, nq, o); }, getLang('global_cancel')); break; default: if (code == -1) { var ad = answer.pop(); if (vk.id) { bnr1.data = false; hide('banner1'); var la = ge('left_ads'); if (la) la.parentNode.removeChild(la); ge('left_blocks').appendChild(ce('div', {id: 'left_ads', innerHTML: ad})); } } if (o.onDone) { // page, box or other o.onDone.apply(window, answer); } break; } if (window._updateDebug) _updateDebug(); } var done = function(text, data) { // data - for iframe transport post if (!trim(text).length) { data = [8, getLang('global_unknown_error')]; text = stVersions['nav'] + '' + vk.lang + '' + stVersions['lang'] + '8' + data[1]; } var answer = text.split(''); var navVersion = intval(answer.shift()); if (!navVersion) { return fail(text); } // First strict check for index.php reloading, in vk.al == 1 mode. if (vk.version && vk.version != navVersion) { if (navVersion && answer.length > 4) { nav.reload({force: true}); } else { if (nav.strLoc) { location.replace(locBase); } else { topError('Server error.'); } } return; } vk.version = false; // Common response fields var newStatic = answer.shift(); var langId = intval(answer.shift()); var langVer = intval(answer.shift()); if (o.frame) answer = data; var code = intval(answer.shift()); if (vk.lang != langId && o.canReload) { // Lang changed nav.reload({force: true}); return; } // Wait for attached static files var waitResponseStatic = function() { var st = ['common.css']; if (browser.msie6) { st.push('ie6.css'); } else if (browser.msie7) { st.push('ie7.css'); } if (newStatic) { newStatic = newStatic.split(','); for (var i = 0; i < newStatic.length; ++i) { st.push(newStatic[i]); } } if (stVersions['lang'] < langVer) { stVersions['lang'] = langVer; for (var i in StaticFiles) { if (/^lang\d/i.test(i)) { st.push(i); } } } if (!o.frame) { try { ajax._parseRes(answer); } catch(e) { topError('JSON Error: ' + e.message); } } stManager.add(st, processResponse.pbind(code, answer)); } // Static managing function if (navVersion <= stVersions['nav']) { return waitResponseStatic(); } headNode.appendChild(ce('script', { type: 'text/javascript', src: '/al_loader.php?act=nav&v=' + navVersion })); setTimeout(function() { if (navVersion <= stVersions['nav']) { return waitResponseStatic(); } setTimeout(arguments.callee, 100); }, 0); } if (o.cache > 0 || o.forceGlobalCache) { var answer = ajaxCache[cacheKey]; if (answer && !o.forceGlobalCache) { processResponse(0, answer); return; } else if (answer = globalAjaxCache[cacheKey]) { if (answer == -1) { globalAjaxCache[cacheKey] = o.onDone; } else { o.onDone.apply(window, answer); } return; } } return o.frame ? ajax.framepost(url, q, done) : ajax.plainpost(url, q, done, fail); } } function HistoryAndBookmarks(params) { // strict check for cool hash display in ff. var fixEncode = function(loc) { var l = loc.split('?'); return l[0] + (l[1] ? ('?' + ajx2q(q2ajx(l[1]))) : ''); } if (locHash.charAt(0) == '#') { location.hash = '#' + vk.navPrefix + locHash.replace(/^#/, ''); } var frame = null, withFrame = browser.msie6 || browser.msie7; var frameDoc = function() { return frame.contentDocument || (frame.contentWindow ? frame.contentWindow.document : frame.document); } var options = extend({onLocChange: function() {}}, params); var getLoc = function(skipFrame) { var loc = ''; if (withFrame && !skipFrame) { try { loc = frameDoc().getElementById('loc').innerHTML.replace(/</ig, '<').replace(/>/ig, '>').replace(/"/ig, '"').replace(/&/ig, '&'); } catch(e) { loc = curLoc; } } else { loc = browser.msie6 ? ((location.toString().match(/#(.*)/) || {})[1] || '') : location.hash.replace(/^#/, ''); if (loc.substr(0, 1) != '!' && vk.navPrefix == '!') { loc = (location.pathname || '') + (location.search || ''); } } if (!loc && vk.al > 1) { loc = (location.pathname || '') + (location.search || ''); } return fixEncode(loc.replace(/^(\/|!)/, '')); } var curLoc = getLoc(true); var setFrameContent = function(loc) { try { var d = frameDoc(); d.open(); d.write('' + '
' + loc.replace('&', '&').replace('"', '"').replace('>', '>').replace('<', '<') + '
' ); d.close(); } catch(e) {} } var setLoc = function(loc) { curLoc = fixEncode(loc.replace(/#(\/|!)?/, '')); var l = (location.toString().match(/#(.*)/) || {})[1] || ''; if (vk.al > 1) { if (!l) { l = (location.pathname || '') + (location.search || ''); } } l = fixEncode(l); if (l.replace(/^(\/|!)/, '') != curLoc) { if (vk.al == 3) { try { history.pushState({}, '', '/' + curLoc); return; } catch(e) {} } window.chHashFlag = true; location.hash = '#' + vk.navPrefix + curLoc; if (withFrame && getLoc() != curLoc) { setFrameContent(curLoc); } } } var locChecker = function() { var loc = getLoc(true); if (loc != curLoc) { if (browser.msie6) { location.reload(true); } else { setFrameContent(loc); } } } var checker = function(force) { var l = getLoc(); if (l == curLoc && force !== true) { return; } options.onLocChange(l); curLoc = l; if (withFrame && location.hash.replace('#' + vk.navPrefix, '') != l) { location.hash = '#' + vk.navPrefix + l; } } var checkTimer; var frameChecker = function() { try { if (frame.contentWindow.document.readyState != 'complete') { return; } } catch(e) { return; } checker(); } var init = function() { if (vk.al == 1) { checker(true); } if (vk.al < 3) { if (withFrame) { frame = document.createElement('iframe'); frame.id = 'hab_frame'; frame.attachEvent('onreadystatechange', frameChecker); frame.src = 'al_loader.php?act=hab_frame&loc=' + encodeURIComponent(curLoc); utilsNode.appendChild(frame); checkTimer = setInterval(locChecker, 200); } else { if ('onhashchange' in window) { addEvent(window, 'hashchange', function() { if (window.chHashFlag) { window.chHashFlag = false; } else { checker(); } }); } else { checkTimer = setInterval(checker, 200); } } } else if (vk.al == 3) { addEvent(window, 'popstate', checker); } } return { setLoc: setLoc, getLoc: getLoc, init: init, setOptions: function(params) { options = extend(options, params); }, checker: checker, stop: function() { if (vk.al < 3) { clearInterval(checkTimer); if (withFrame) { frame.detachEvent('onreadystatechange', frameChecker); } } else if (vk.al == 3) { removeEvent(window, 'popstate', checker); } } } } window.hab = new HistoryAndBookmarks({onLocChange: function(loc) { nav.go('/' + loc, undefined, {back: true}); }}); function checkEvent(e) { return (e && (e.which > 1 || e.button > 1 || e.ctrlKey)); } function leftBlockOver(block) { var timer = 'timer', over = 1; if (!block.id) { block = ge('left_hide' + block); over = 0; } if (over || !block.timer) { if (block.showing) { removeAttr(block, 'showing'); } else { animate(block, {opacity: over ? 1 : 0.5}, 200); if (over) { block.showing = 1; } } } if (block.timer) { clearTimeout(block.timer); removeAttr(block, 'timer'); } } function leftBlockOut(block) { var opacity = 0.5; if (!block.id) { block = ge('left_hide' + block); opacity = 0; } block.timer = setTimeout(function() { animate(block, {opacity: opacity}, 200); removeAttr(block, 'timer'); }, 1); } function leftBlockHide(block, hash) { ajax.post('al_index.php', {act: 'hide_block', block: block, hash: hash}); hide('left_block' + block); } function leftAdBlockHide(blockId, url) { ajax.post(url, {}, {onDone: function(response) { if (!response.done) return; var box = ge('ad_box' + blockId); var mask = ge('ad_hide_mask' + blockId); if (!box || !mask) return false; mask.timer = setTimeout(function() { animate(mask, {opacity: 1}, 200); delete mask.timer; }, 0); var x = getXY(box), s = getSize(box), btop = 1, bbot = 1; if (box.style.borderTop == '0px') { btop = 0; } if (btop) { s[1] -= btop; } if (bbot) { s[1] -= bbot; } var textH = (mask.firstChild.nextSibling === null) ? 40 : 108; var padtop; if (s[1] < textH + 10) { s[1] = textH + 10; padtop = Math.floor((s[1] - textH) / 2); box.style.height = s[1] - 6 - padtop + 'px'; } var padtop = Math.floor((s[1] - textH) / 2); setStyle(mask, {left: 4 /* x[0] */, top: x[1], height: s[1] - padtop, paddingTop: padtop, display: 'block'}); }}); var hideX = ge('left_hide' + blockId); if (hideX && hideX.parentNode) { hideX.parentNode.removeChild(hideX); } return false; } function updateAdsCounters(ad) { if (vk.zero) return; (new Image()).src = 'http://www.tns-counter.ru/V13a***R>' + document.referrer.replace(/\*/g,'%2a') + '*vkontakte_ru/ru/UTF-8/tmsec=' + (vk.intnat ? 'vk' : 'vkontakte') + '_total/' + Math.round(Math.random() * 1000000000); (new Image()).src = 'http://counter.yadro.ru/hit?r' + escape(document.referrer) + (window.screen === undefined ? '' : ';s' + screen.width + '*' + screen.height + '*' + (screen.colorDepth ? screen.colorDepth : screen.pixelDepth)) + ';u' + escape(document.URL) + ';' + Math.random() + ''; if (!ad) { hide('banner1', 'banner2'); } bnr1.data = ad ? extend(clone(ad), {p1: ad.lp1, p2: ad.lp2}) : false; bnr2.data = ad ? extend(clone(ad), {p1: ad.bp1, p2: ad.bp2}) : false; bnr1.update(); bnr2.update(); onBodyScroll(); } function handlePageParams(params) { vk.id = positive(params.id); if (vk.noleftmenu && !params.noleftmenu) { ge('page_body').className = ge('footer_wrap').className = 'fl_r'; show('side_bar'); } else if (!vk.noleftmenu && params.noleftmenu) { hide('side_bar'); ge('page_body').className = ge('footer_wrap').className = 'simple'; } vk.noleftmenu = params.noleftmenu; if (vk.notopmenu && !params.notopmenu) { show('quick_search', 'top_links', 'qsearch_border', 'bottom_nav'); } else if (!vk.notopmenu && params.notopmenu) { hide('quick_search', 'top_links', 'qsearch_border', 'bottom_nav'); } vk.notopmenu = params.notopmenu; var confMail = ge('confirm_mail_wrap'), chPhone = ge('change_phone_wrap'); if (confMail) { if (!params.nomail) { confMail.parentNode.removeChild(confMail); } else if (params.notopbars) { hide(confMail); } else { show(confMail); } } vk.nomail = params.nomail; if (chPhone) { if (!params.chphone) { chPhone.parentNode.removeChild(chPhone); } else if (params.notopbars) { hide(chPhone); } else { show(chPhone); } } vk.nophone = intval(params.nophone); if (vk.id) { ge('left_blocks').innerHTML = (params.leftblocks || ''); } setTimeout(updateAdsCounters.pbind(params.ad), 10); if (!params.counters) return; var cnts = (params.counters || '').split(','); var i = 0, sep = false, sh = false, ids = ['fr', 'ph', 'vid', 'msg', 'nts', 'gr', 'ev', 'wsh', 'mat', 'op', 'ap', 'ques', 'ads', 'nws']; var lnks = ['friends', 'albums' + vk.id, 'video', 'mail', 'notes', 'groups.php', 'events.php', 'gifts.php?act=wishlist', 'matches.php', 'opinions.php', 'apps.php', 'questions.php', 'ads.php?act=office', 'feed']; var adds = ['', 'act=added', 'section=tagged', '', 'act=comments', '', '', '', '', '', 'act=notifications', '', '', 'section=mentions']; var allnks = [1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1]; if (vk.counts === undefined) { vk.counts = {}; } if (vk.al_video) { lnks[2] = 'video'; allnks[2] = 1; adds[2] = 'section=tagged'; } if (vk.default_im) { lnks[3] = 'im'; } for (; i < 14; ++i) { if (vk.counts[i] === cnts[i]) { continue; } vk.counts[i] = cnts[i]; var v = intval(cnts[i]), e = ge('l_' + ids[i]); if (i == 8) { sep = e.previousSibling; } else if (i == 3) { ge('top_new_msg').innerHTML = (v > 0) ? ('  (' + v + ')') : ''; } if (v < 0) { hide(e); } else { geByTag1('span', e.firstChild).innerHTML = v ? ('(' + v + ')') : ''; if (i != 7) { e.firstChild.href = '/' + lnks[i] + ((v && adds[i]) ? ('?' + adds[i]) : ''); e.firstChild.onclick = (allnks[i] ? function (ev) { return nav.go(this, ev);} : null); } else { e.firstChild.href = '/' + (v ? ('gifts.php?act=wish&wish=' + vk.id + '_' + intval(cnts[i].split(':')[1])) : lnks[i]); } show(e); } } for (var e = sep.nextSibling; e; e = e.nextSibling) { if (e.tagName && e.tagName.toLowerCase() == 'li' && isVisible(e)) { sh = true; break; } } (sh ? show : hide)(sep); for (; i < cnts.length; ++i) { var id_v = cnts[i].split(':'), e = ge('l_app' + intval(id_v[0])); if (!e) continue; geByTag1('span', e.firstChild).innerHTML = intval(id_v[1]) ? ('(' + intval(id_v[1]) + ')') : ''; } } function processDestroy(c) { if (c._back && c._back.hide && c == cur) { for (var i in c._back.hide) { try {c._back.hide[i]();}catch(e){} } } if (!c.destroy || !c.destroy.length) return; for (var i in c.destroy) { try {c.destroy[i](c);}catch(e){} } } var globalHistory = []; function showSideBackLink(loc, text, check) { if (loc && check) { var i = 0, l = globalHistory.length; for (; i < l; ++i) { if (globalHistory[i].loc == loc) { break; } } if (i == l) { loc = false; } } _tbLink.loc = loc; if (loc) { extend(_tbLink, {href: '/' + loc, innerHTML: text}); show(_tbLink); } else { hide(_tbLink); } show(_sbLink); updSideBackLink(); } var nav = { getData: function(loc) { if (loc.length) { for (var i in navMap) { if (i[0] == '<') continue; var m = loc.match(new RegExp('^' + i, 'i')); if (m) { return {url: navMap[i][0], files: navMap[i][1]}; } } var m = loc.match(/^[a-z0-9\-_]+\.php$/i); if (m) { return {url: loc}; } return {url: navMap[''][0], files: navMap[''][1]}; } return {url: navMap[''][0], files: navMap[''][1]}; }, reload: function(opts) { opts = opts || {}; if (opts.force) { hab.stop(); location.href = '/' + nav.strLoc; } else { nav.go('/' + nav.strLoc, undefined, extend({nocur: true}, opts)); } }, go: function(loc, ev, opts) { if (checkEvent(ev)) return; if (loc.tagName && loc.tagName.toLowerCase() == 'a' && loc.href) { loc = loc.href; } var strLoc = '', objLoc = {}; if (typeof(loc) == 'string') { loc = loc.replace(new RegExp('^(http://' + locHost + ')?/?', 'i'), ''); strLoc = loc; objLoc = nav.fromStr(loc); } else { if (!loc[0]) loc[0] = ''; strLoc = nav.toStr(loc); objLoc = loc; } if (window.audioPlayer && audioPlayer.id) { if (objLoc[0] != 'audio' && objLoc[0] != 'al_audio.php' || nav.objLoc[0] != 'audio' && nav.objLoc[0] != 'al_audio.php') { audioPlayer.stop(); } } if (isVisible(ge('gp'))) { if (objLoc[0] != 'audio' && objLoc[0] != 'al_audio.php' || nav.objLoc[0] != 'audio' && nav.objLoc[0] != 'al_audio.php') { toggleGlobalPlayer(false); } } opts = opts || {}; if (!opts.nocur) { var changed = clone(objLoc); for (var i in nav.objLoc) { if (nav.objLoc[i] == changed[i]) { delete(changed[i]); } else if (changed[i] === undefined) { changed[i] = false; } } if (zNav(clone(changed)) === false) { return false; } for (var i in (cur.nav || {})) { if (cur.nav[i](clone(changed), nav.objLoc, objLoc, opts) === false) { return false; } } } if (vk.al == 4) { location.href = '/' + strLoc; return false; } if (opts.back) { for (var i = 0, l = globalHistory.length; i < l; ++i) { if (globalHistory[i].loc == strLoc) { var h = globalHistory.splice(i, 1)[0]; var wNode = ge('wrap3'), tNode = ge('title'); if (window.tooltips) tooltips.destroyAll(); processDestroy(cur); radioBtns = h.radioBtns; ajaxCache = h.ajaxCache; boxQueue.hideAll(); if (layers.fullhide) layers.fullhide(true); hide(_sbLink, _tbLink); cur = h.cur; if (gSearch.on) gSearch.hide(); setTimeout(function() { wNode.innerHTML = ''; wNode.parentNode.replaceChild(h.content, wNode); scrollNode.scrollTop = h.scrollTop; document.title = h.htitle; tNode.innerHTML = h.title; setStyle(tNode.parentNode, 'display', h.hideHeader ? 'none' : 'block'); for (var i = 0, l = cur._back.show.length; i < l; ++i) cur._back.show[i](); nav.setLoc(strLoc); var b = h.back || {}; setTimeout(showSideBackLink.pbind(b[0], b[1], true), 10); }, 20); return false; } } } var dest = objLoc[0]; delete(objLoc[0]); var where = nav.getData(dest); if (where.files) { stManager.add(where.files); } where.params = extend({__query: dest, al_id: vk.id}, objLoc); var done = function(title, html, js, params) { if (stVersions['common.js'] > StaticFiles['common.js'].v) { nav.setLoc(params.loc || ''); location.reload(true); return; } var newPage = (where.params.al_id === undefined) || (where.params.al_id != params.id); var _back = (strLoc != (cur._back || {}).loc) && cur._back, wNode = ge('wrap3'), tNode = ge('title'), hist = false; if (window.tooltips) tooltips.destroyAll(); if (gSearch.on) gSearch.hide(); if (_back && !newPage) { hist = { loc: _back.loc || nav.strLoc, cur: cur, radioBtns: radioBtns, ajaxCache: ajaxCache, scrollTop: scrollNode.scrollTop, htitle: document.title.toString(), back: _tbLink.loc ? [_tbLink.loc, _tbLink.innerHTML] : false }; if (tNode && tNode.parentNode && !isVisible(tNode.parentNode)) { hist.hideHeader = true; } for (var i = 0, l = globalHistory.length; i < l; ++i) { if (globalHistory[i].loc == hist.loc) { var h = globalHistory.splice(i, 1)[0]; processDestroy(h.cur); h.content.innerHTML = ''; --i; --l; } } if (globalHistory.length > 2) { var h = globalHistory.shift(); processDestroy(h.cur); h.content.innerHTML = ''; } for (var i = 0, l = cur._back.hide.length; i < l; ++i) cur._back.hide[i](); showSideBackLink(hist.loc, _back.text); } else { processDestroy(cur); if (globalHistory.length) { var h = globalHistory.shift(); processDestroy(h.cur); h.content.innerHTML = ''; } showSideBackLink(); } radioBtns = {}; ajaxCache = {}; boxQueue.hideAll(); if (layers.fullhide) layers.fullhide(true); cur = {destroy: [], nav: []}; if (newPage) { cleanElems('quick_login_button', 'quick_expire', 'search_form', 'top_links', 'bottom_nav') while(globalHistory.length) processDestroy(globalHistory.shift().cur); pageNode.innerHTML = html; if (!browser.mobile) onBodyResize(true); } else { if (_back) { var newW = ce('div', {id: 'wrap3'}); extend(hist, { content: wNode.parentNode.replaceChild(newW, wNode), title: tNode.innerHTML }); globalHistory.push(hist); wNode = newW; } wNode.innerHTML = html; tNode.innerHTML = title; (title ? show : hide)(tNode.parentNode); } handlePageParams(params); if (!opts.noscroll && !params.noscroll) scrollToTop(0); var wide = window.wideLayout; window.wideLayout = false; eval('(function(){' + js + ';})()'); if (wide && !window.wideLayout) { ge('page_layout').style.width = '791px'; ge('page_body').style.width = '631px'; } for (var i = 0, l = ajax.framedata.length; i < l; ++i) { var d = ajax.framedata[i]; setTimeout(ajax._receive.pbind(d[0], d[1], d[2]), 0); } ajax.framedata = false; if (browser.mobile) onBodyResize(); setTimeout(nav.setLoc.pbind(params.loc || ''), browser.chrome ? 100 : 50); } ajax.post(where.url, where.params, {onDone: function() { var a = arguments; if (__debugMode) { done.apply(null, a); } else try { done.apply(null, a); } catch (e) { topError(e, 15); } }, onFail: opts.onFail || function(text) { if (!text) return; setTimeout(showFastBox(getLang('global_error'), text).hide, 2000); return true; }, frame: opts.noframe ? 0 : 1, canReload: true, showProgress: showTitleProgress, hideProgress: hideTitleProgress, cache: opts.search ? 1 : ''}); return false; }, setLoc: function(loc) { if (typeof(loc) == 'string') { nav.strLoc = loc; nav.objLoc = nav.fromStr(loc); } else { nav.strLoc = nav.toStr(loc); nav.objLoc = loc; } hab.setLoc(nav.strLoc); }, change: function(loc, ev, opts) { var params = clone(nav.objLoc); each(loc, function(i,v) { if (v === false) { delete params[i]; } else { params[i] = v; } }); return nav.go(params, ev, opts); }, fromStr: function(str) { var res = str.split('?'); return extend(q2ajx(res[1] || ''), {'0': res[0] || ''}); }, toStr: function(obj) { obj = clone(obj); var res = obj[0] || ''; delete(obj[0]); var str = ajx2q(obj); return str ? (res + '?' + str) : res; }, init: function() { nav.strLoc = hab.getLoc(); nav.objLoc = nav.fromStr(nav.strLoc); } } nav.init(); /** * Cookies **/ var _cookies; function _initCookies() { _cookies = {}; var ca = document.cookie.split(';'); var re = /^[\s]*([^\s]+?)$/i; for (var i = 0; i < ca.length; i++) { var c = ca[i].split('='); if (c.length == 2) { _cookies[c[0].match(re)[1]] = unescape(c[1].match(re) ? c[1].match(re)[1] : ''); } } } function getCookie(name) { _initCookies(); return _cookies[name]; } function setCookie(name, value, days) { var expires = ''; if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); expires = '; expires='+date.toGMTString(); } var domain = locDomain; document.cookie = name + '='+escape(value) + expires + '; path=/' + (domain ? '; domain=.' + domain : ''); } /** * Other stuff **/ function dispatchIntro(step, params) { if (typeof dispatchIntroEvent != 'undefined') {dispatchIntroEvent(step, params);} } function parseLatin(text){ var outtext = text; var lat1 = ['yo','zh','kh','ts','ch','sch','shch','sh','eh','yu','ya','YO','ZH','KH','TS','CH','SCH','SHCH','SH','EH','YU','YA',"'"]; var rus1 = ['ё', 'ж', 'х', 'ц', 'ч', 'щ', 'щ', 'ш', 'э', 'ю', 'я', 'Ё', 'Ж', 'Х', 'Ц', 'Ч', 'Щ', 'Щ', 'Ш', 'Э', 'Ю', 'Я', 'ь']; for (var i = 0; i < lat1.length; i++) { outtext = outtext.split(lat1[i]).join(rus1[i]); } var lat2 = 'abvgdezijklmnoprstufhcyABVGDEZIJKLMNOPRSTUFHCYёЁ'; var rus2 = 'абвгдезийклмнопрстуфхцыАБВГДЕЗИЙКЛМНОПРСТУФХЦЫеЕ'; for (var i = 0; i < lat2.length; i++) { outtext = outtext.split(lat2.charAt(i)).join(rus2.charAt(i)); } return (outtext == text) ? null : outtext; } function placeholderSetup(id, curVal, back) { var el = ge(id); if (!el) return; var ph = el.getAttribute('placeholder') || el.placeholder; if (el.phevents || !ph) { return; } el.setAttribute('placeholder', ''); var prop = []; each(['Top', 'Bottom', 'Left', 'Right'], function(i,v) { prop.push('margin' + v); prop.push('padding' + v); prop.push('border' + v + 'Width'); }); var pad = extend(getStyle(el, prop), {borderStyle:'solid', borderColor:'#FFF'}); b1 = ce('div', {className: 'input_back_wrap'}); var to, b = ce('div', {className: 'input_back', innerHTML: '
' + ph + '
'}, pad), c = b.firstChild; el.phonsize = function() { var s = getSize(el, true); if (s[0] <= 0) { s[0] = parseFloat(getStyle(el, 'width', false)); } if (s[1] <= 0) { s[1] = parseFloat(getStyle(el, 'height', false)); } setStyle(b, {width: s[0], height: s[1]}); } if (browser.msie && !browser.msie8) { setStyle(b, {marginTop: 1}); } el.phonfocus = function(hid) { el.focused = true; if (hid) { setStyle(el, {backgroundColor: '#FFF'}); hide(b); } el.phonsize(); checkValue(true, false); } el.phonblur = function() { el.focused = false; setStyle(el, {backgroundColor: 'transparent'}); show(b); el.phonsize(); checkValue(false, true); } var shown = true; var animation = null; if (el.value) { shown = false; hide(c); }; var checkValue = function(focus, blur) { var cv = function() { var val = el.value; if (shown && (back && val || !back && (focus || val))) { hide(c); shown = false; } else if (!shown && !val && (back || blur)) { show(c); shown = true; } if (back && focus && !val) { clearTimeout(animation); animation = setTimeout(function() { animate(c, {color: '#C0C8D0'}, 200); }, 100); } if (back && blur && !val) { clearTimeout(animation); animation = setTimeout(function() { animate(c, {color: '#777777'}, 200); }, 100); } }; if (browser.mobile) { cv(); } else { setTimeout(cv, 0); } } var onFocus = function() {el.phonfocus();} var onBlur = function() {el.phonblur(); return false;} if (!browser.opera_mobile) { addEvent(c, 'focus click', function() { el.blur(); el.focus(); }); addEvent(el, 'focus', onFocus); addEvent(el, 'keydown paste cut input', checkValue); } addEvent(el, 'blur', onBlur); if (el.id != 'search_input') { cur.destroy.push(function() { removeEvent(el, 'focus', onFocus); removeEvent(el, 'blur', onBlur); removeEvent(el, 'keydown paste cut input', checkValue); }); } el.getValue = function(){return el.value;}; el.setValue = function(v){el.value = v; checkValue();} el.phevents = true; b1.appendChild(b); el.parentNode.insertBefore(b1, el); setStyle(el, {backgroundColor:'transparent',zIndex:parseInt(getStyle(b, 'zIndex')) + 1,position:'relative',resize: 'none'}); el.phonsize(); } function val (input, value) { input = ge(input); if (!input) return; if (value !== undefined) { if (input.setValue) { input.setValue(value); input.phonblur && input.phonblur(); } else { input.value = value; } } return input.getValue ? input.getValue() : input.value; } function focus(el, from, to) { el = ge(el); try { el.focus(); if (from === undefined || from === false) from = el.value.length; if (to === undefined || to === false) to = from; if (el.createTextRange) { var range = el.createTextRange(); range.collapse(true); range.moveEnd('character', from); range.moveStart('character', to); range.select(); } else if (el.setSelectionRange) { el.setSelectionRange(from, to); } } catch(e) {} } // Message box var _message_box_guid = 0, _message_boxes = [], _show_flash_timeout = 0; var __bq = boxQueue = { hideAll: function() { if (__bq.count()) { var box = _message_boxes[__bq._boxes.pop()]; box._in_queue = false; box._hide(); } while (__bq.count()) { var box = _message_boxes[__bq._boxes.pop()]; box._in_queue = false; } }, hideLast: function() { if (__bq.count()) { _message_boxes[__bq._boxes[__bq.count() - 1]].hide(); } }, hideBGClick: function(e) { if (e && e.target && /^box_layer/.test(e.target.id)) { __bq.hideLast(); } }, count: function() { return __bq._boxes.length; }, _show: function(guid) { var box = _message_boxes[guid]; if (!box || box._in_queue) return; if (__bq.count()) { _message_boxes[__bq._boxes[__bq.count() - 1]]._hide(true, true); } else if (window.tooltips) { tooltips.hideAll(); } box._in_queue = true; var notFirst = __bq.count() ? true : false; __bq.curBox = guid; box._show(notFirst || __bq.currHiding, notFirst); __bq._boxes.push(guid); }, _hide: function(guid) { var box = _message_boxes[guid]; if (!box || !box._in_queue || __bq._boxes[__bq.count() - 1] != guid || !box.isVisible()) return; box._in_queue = false; __bq._boxes.pop(); box._hide(__bq.count() ? true : false); if (__bq.count()) { var prev_guid = __bq._boxes[__bq.count() - 1]; __bq.curBox = prev_guid; _message_boxes[prev_guid]._show(true, true, true); } }, _boxes: [], curBox: 0 } function curBox() { var b = _message_boxes[__bq.curBox]; return (b && b.isVisible()) ? b : null; } if (!browser.mobile) { addEvent(document, 'keydown', function(e) { if (e.keyCode == KEY.ESC && __bq.count()) { __bq.hideLast(); return false; } }); } function MessageBox(options) { var defaults = { width: 410, animSpeed: browser.msie ? 0 : 200, height: 'auto', bodyStyle: '', selfDestruct: true, progress: false }; options = extend(defaults, options); var buttonsCount = 0, boxContainer, boxBG, boxContainer, boxLayout; var boxTitleWrap, boxTitle, boxCloseButton, boxBody; var boxControlsWrap, boxControls, boxProgress, boxControlsText; var guid = _message_box_guid++, visible = false; if (!options.progress) options.progress = 'box_progress' + guid; var controlsStyle = options.hideButtons ? ' style="display: none"' : ''; boxContainer = ce('div', { className: 'popup_box_container', innerHTML: '
' }, { display: 'none' }); boxContainer.className = 'popup_box_container'; hide(boxContainer); boxLayout = boxContainer.firstChild; boxTitleWrap = boxLayout.firstChild; boxCloseButton = boxTitleWrap.firstChild; boxTitle = boxCloseButton.nextSibling; boxBody = boxTitleWrap.nextSibling; boxControlsWrap = boxBody.nextSibling; boxControls = boxControlsWrap.firstChild; boxProgress = boxControls.firstChild; boxControlsText = boxProgress.nextSibling; boxLayer.appendChild(boxContainer); refreshBox(); refreshCoords(); // Refresh box position function refreshCoords() { var height = window.innerHeight ? window.innerHeight : (document.documentElement.clientHeight ? document.documentElement.clientHeight : boxLayerBG.offsetHeight); var top = browser.mobile ? intval(window.pageYOffset) : 0; containerSize = getSize(boxContainer); boxContainer.style.marginTop = Math.max(0, top + (height - containerSize[1]) / 3) + 'px'; } // Refresh box properties function refreshBox() { // Set title if (options.title) { boxTitle.innerHTML = options.title; removeClass(boxBody, 'box_no_title'); show(boxTitleWrap); } else { addClass(boxBody, 'box_no_title'); hide(boxTitleWrap); } // Set box dimensions boxContainer.style.width = typeof(options.width) == 'string' ? options.width : options.width + 'px'; boxContainer.style.height = typeof(options.height) == 'string' ? options.height : options.height + 'px'; } // Add button function addButton(label, onclick, type) { ++buttonsCount; if (type=='no') type = 'gray'; if (type=='yes') type = 'blue'; var buttonWrap = ce('div', { className: 'fl_r button_' + (type?type:'blue'), innerHTML: '' }); boxControls.insertBefore(buttonWrap, boxProgress); createButton(buttonWrap.firstChild, onclick); return buttonWrap; } // Add custom controls text function setControlsText(text) { boxControlsText.innerHTML = text; } // Remove buttons function removeButtons() { var buttons = []; each (boxControls.childNodes, function(i, x) { if (x && x.firstChild && x.className != 'box_controls_text') { cleanElems(x.firstChild.firstChild); buttons.push(x); } }); each(buttons, function() { boxControls.removeChild(this); }); } var destroyMe = function() { if (options.onClean) options.onClean(); removeButtons(); cleanElems(boxContainer, boxCloseButton, boxTitleWrap, boxControlsWrap); boxLayer.removeChild(boxContainer); delete _message_boxes[guid]; } // Hide box var hideMe = function(showingOther, tempHiding) { if (!visible) return; visible = false; var speed = (showingOther === true) ? 0 : options.animSpeed; if (options.hideOnBGClick) { removeEvent(document, 'click', __bq.hideBGClick); } if (isFunction(options.onBeforeHide)) { options.onBeforeHide(); } if (_layerAnim && !showingOther) { layers.boxhide(); } var onHide = function () { if (__bq.currHiding == _message_boxes[guid]) { __bq.currHiding = false; } if (!_layerAnim && !_message_boxes[guid].shOther && !showingOther) { layers.boxhide(); } if (!tempHiding && options.selfDestruct) { destroyMe(); } else { hide(boxContainer); } if (options.onHide) { options.onHide(); } } if (speed > 0) { __bq.currHiding = _message_boxes[guid]; fadeOut(boxContainer, speed, onHide); } else { onHide(); } } // Show box function showMe(noAnim, notFirst, isReturned) { if (visible || !_message_boxes[guid]) return; visible = true; var speed = (noAnim === true || notFirst) ? 0 : options.animSpeed; if (options.hideOnBGClick) { addEvent(document, 'click', __bq.hideBGClick); } // Show blocking background if (!notFirst) { layers.boxshow(); } if (__bq.currHiding) { __bq.currHiding.shOther = true; var cont = __bq.currHiding.bodyNode.parentNode.parentNode; data(cont, 'tween').stop(true); } // Show box if (speed > 0) { fadeIn(boxContainer, speed); } else { show(boxContainer); } refreshCoords(); if (options.onShow) { options.onShow(isReturned); } _message_box_shown = true; } var fadeToColor = function(color) { return function() { animate(this, {backgroundColor: color}, 200); } } addEvent(boxCloseButton, 'mouseover', fadeToColor('#FFFFFF')); addEvent(boxCloseButton, 'mouseout', fadeToColor('#9CB8D4')); addEvent(boxCloseButton, 'click', __bq.hideLast); var retBox = _message_boxes[guid] = { guid: guid, _show: showMe, _hide: hideMe, bodyNode: boxBody, // Show box show: function() { __bq._show(guid); return this; }, progress: boxProgress, showProgress: function() { hide(boxControlsText); show(boxProgress); }, hideProgress: function() { hide(boxProgress); show(boxControlsText); }, // Hide box hide: function(attemptParam) { if (isFunction(options.onHideAttempt) && !options.onHideAttempt(attemptParam)) return false; __bq._hide(guid); return true; }, isVisible: function() { return visible; }, bodyHeight: function() { return getStyle(boxBody, 'height'); }, // Insert html content into the box content: function(html) { if (options.onClean) options.onClean(); boxBody.innerHTML = html; refreshCoords(); refreshBox(); return this; }, // Add button addButton: function(label, onclick, type, returnBtn) { var btn = addButton(label, onclick ? onclick: this.hide, type); return (returnBtn) ? btn : this; }, setButtons: function(yes, onYes, no, onNo) { var b = this.removeButtons(); if (!yes) return b.addButton(box_close); if (no) b.addButton(no, onNo, 'no'); return b.addButton(yes, onYes); }, // Set controls text setControlsText: setControlsText, // Remove buttons removeButtons: function() { removeButtons(); return this; }, destroy: destroyMe, // Update box options setOptions: function(newOptions) { if (options.hideOnBGClick) { removeEvent(document, 'click', __bq.hideBGClick); } options = extend(options, newOptions); if ('bodyStyle' in newOptions) { var items = options.bodyStyle.split(';'); for (var i = 0; i < items.length; ++i) { var name_value = items[i].split(':'); if (name_value.length > 1 && name_value[0].length) { boxBody.style[trim(name_value[0])] = trim(name_value[1]); if (boxBody.style.setProperty) { boxBody.style.setProperty(trim(name_value[0]), trim(name_value[1]), ''); } } } } if (options.hideOnBGClick) { addEvent(document, 'click', __bq.hideBGClick); } if (options.hideButtons) { hide(boxControlsWrap); } else { show(boxControlsWrap); } refreshBox(); refreshCoords(); return this; }, evalBox: function(js, url, params) { var fn = eval('((function() { return function() { var box = this; ' + (js || '') + ';}; })())'); // IE :( fn.apply(this, [url, params]); } } return retBox; } function showBox(url, params, options, e) { var opts = options || {}, box = new MessageBox(opts.params || {}); if (checkEvent(e)) return false; if (url.substr(0, 1) != '/') url = '/' + url; var done = function(title, html, js) { try { box.setOptions({title: title, bodyStyle: 'background: #FFF'}); box.content(html).evalBox(js, url, params); if (isFunction(opts.onDone)) opts.onDone(); } catch(e) { topError(e, 15); box.hide(); } } var onDone = done; if (opts.stat) { stManager.add(opts.stat); onDone = function(title, html, js) { stManager.add(opts.stat, done.pbind(title, html, js)); } } var onFail = function(error) { box.failed = true; setTimeout(box.hide, 0); if (isFunction(opts.onFail)) return opts.onFail(error); } box.setOptions({title: false, hideButtons: false, bodyStyle: 'background: #FFF url(/images/progress7.gif) center no-repeat'}); box.removeButtons().addButton(getLang('global_close')); var h = intval(box.bodyHeight()); box.content('
'); box.show(); ajax.post(url, params, {onDone: onDone, onFail: onFail, cache: opts.cache}); return box; } function showTabbedBox(url, params, options, e) { options = options || {}; options.stat = options.stat || []; options.stat.push('box.js', 'boxes.css'); return showBox(url, params, options, e) } function showFastBox(o, c, yes, onYes, no, onNo) { return (new MessageBox(typeof(o) == 'string' ? {title: o} : o)).content(c).setButtons(yes, onYes, no, onNo).show(); } function showCaptchaBox(sid, dif, box, o) { var done = function(e) { if (e && e.keyCode !== undefined && e.keyCode != 10 && e.keyCode != 13) return; var key = geByTag1('input', box.bodyNode); if (!trim(key.value) && e !== true) { focus(key); return; } var imgs = geByTag1('img', box.bodyNode); var captcha = imgs[0], loader = imgs[1]; removeEvent(key); removeEvent(captcha); show(geByClass1('progress', box.bodyNode)); hide(key); o.onSubmit(sid, key.value); } var was_box = box ? true : false; var difficulty = intval(dif) ? '' : '&s=1'; var imgSrc = o.imgSrc || '/captcha.php?sid=' + sid + difficulty; if (!was_box) { var content = '\
\
\
\
' + (o.addText || ''); box = showFastBox({ title: getLang('captcha_enter_code'), width: 300, onHide: o.onHide }, content, getLang('captcha_send'), function() { box.submit(); }, getLang('captcha_cancel'), function() { var key = geByTag1('input', box.bodyNode); var captcha = geByTag1('img', box.bodyNode); removeEvent(key); removeEvent(captcha); box.hide(); }); } box.submit = done.pbind(true); var key = geByTag1('input', box.bodyNode); var captcha = geByTag1('img', box.bodyNode); if (was_box) { key.value = ''; captcha.src = '/captcha.php?sid=' + sid + difficulty; hide(geByClass1('progress', box.bodyNode)); } show(key); addEvent(key, 'keypress', done); addEvent(captcha, 'click', function() { this.src = '/captcha.php?sid=' + sid + difficulty + '&v=' + irand(1000000, 2000000); }); focus(key); return box; } // Three-state button function createButton(el, onClick) { el = ge(el); if (!el || el.btnevents) return; var p = el.parentNode; if (hasClass(p, 'button_blue') || hasClass(p, 'button_gray')) { if (isFunction(onClick)) el.onclick = onClick.pbind(el); return; } var hover = false; addEvent(el, 'click mousedown mouseover mouseout', function(e) { if (hasClass(p, 'locked')) return; switch (e.type) { case 'click': if (!hover) return; el.className = 'button_hover'; onClick(el); break; case 'mousedown': el.className = 'button_down'; break; case 'mouseover': hover = true; el.className = 'button_hover'; break; case 'mouseout': el.className = 'button'; hover = false; break; } }); el.btnevents = true; } function lockButton(el) { if (!el || el.tagName.toLowerCase() != 'button') return; var lock = ce('span', {className: 'button_lock'}); el.parentNode.insertBefore(lock, el); el['old_width'] = el.style.width; el['old_height'] = el.style.height; var s = getSize(el.parentNode); setStyle(el, {width: s[0] - 2, height: s[1] - 2}); if (browser.msie6 || browser.msie7) { el['old_html'] = el.innerHTML; el.innerHTML = ''; } else { el.style.textIndent = '-9999px'; } } function unlockButton(el) { var lock = geByClass('button_lock', el.parentNode, 'span')[0]; if (!lock) return; el.parentNode.removeChild(lock); el.style.width = el['old_width']; el.style.height = el['old_height']; if (browser.msie6 || browser.msie7) el.innerHTML = el['old_html']; el.style.textIndent = ''; } function sbWidth() { if (window._sbWidth === undefined) { var t = ce('div', {innerHTML: '
1
1
'}, { overflowY: 'scroll', position: 'absolute', width: '50px', height: '50px' }); bodyNode.appendChild(t); window._sbWidth = t.offsetWidth - t.firstChild.offsetWidth - 1; bodyNode.removeChild(t); } return window._sbWidth; } function imPopup(peer_id) { if (window.event && (window.event.which == 2 || window.event.button == 1)) { return true; } var params = 'scrollbars=0,resizable=1,menubar=0,location=0,width=810,height=669,toolbar=0,status=0'; var url = 'http://' + locHost + '/im.php?act=a_box&popup=1'; var js = 'window.im.activate_tab(0);'; if (peer_id) { url += '&sel=' + peer_id; js = 'window.im.add_peers(' + peer_id + ', ' + peer_id + ')'; } url = 'javascript: try { ' + js + ' } catch(e) { document.location = "' + url + '"; void(0); }'; window.im_popup_window = window.open(url, 'im', params); try { if (!browser.chrome && !browser.msie && !browser.mozilla && !browser.safari && window.im_popup_window.im) { window.im_already_box = new MessageBox({title: getLang('im_already_shown_title')}); im_already_box.content(getLang('im_already_shown')); im_already_box.addButton(getLang('box_close')); setTimeout('im_already_box.hide(400)', 2000); im_already_box.show(); } } catch (e) {} if (!browser.msie) { window.im_popup_window.blur(); } window.im_popup_window.focus(); return false; } function checkTextLength(maxLen, inp, warn, nobr) { var val = (inp.getValue) ? inp.getValue() : inp.value; if (inp.lastLen === val.length) return; inp.lastLen = val.length; var countRealLen = function(text, nobr) { var spec = {'&': 5, '<': 4, '>': 4, '"': 6, "\n": (nobr ? 1 : 4), "\r": 0, '!': 5, "'": 5}; var res = 0; for (var i = 0; i < text.length; i++) { var l = spec[text.charAt(i)], c = text.charCodeAt(i); if (l !== undefined) res += l; else if ((c > 0x80 && c < 0xC0) || c > 0x500) res += ('&#' + c + ';').length; else res += 1; } return res; } var realLen = countRealLen(val, nobr); warn = ge(warn); if (realLen > maxLen - 100) { show(warn); if (realLen > maxLen) { warn.innerHTML = getLang('text_exceeds_symbol_limit', realLen - maxLen); } else { warn.innerHTML = getLang('text_N_symbols_remain', maxLen - realLen); } } else { hide(warn); } } function autosizeSetup(el, options) { el = ge(el); if (!el) return; if (el.autosize) { el.autosize.update(); return; } options.minHeight = intval(options.minHeight) || intval(getStyle(el, 'height')); options.maxHeight = intval(options.maxHeight); var elwidth = intval(getStyle(el, 'width')); if (elwidth < 1) { elwidth = intval(getStyle(el, 'width', false)); } el.autosize = { options: options, helper: ce('textarea', {className: 'ashelper'}, { width: elwidth, height: 10, fontFamily: getStyle(el, 'fontFamily'), fontSize: intval(getStyle(el, 'fontSize')) + 'px', lineHeight: getStyle(el, 'lineHeight') }), handleEvent: function(val, e) { var ch = e.charCode ? String.fromCharCode(e.charCode) : e.charCode; if (ch === undefined) { ch = String.fromCharCode(e.keyCode); if (e.keyCode == 10 || e.keyCode == 13) { ch = '\n'; } else if (!browser.msie && e.keyCode <= 40) { ch = ''; } } if (!ch) { return val; } if (!browser.msie) { return val.substr(0, el.selectionStart) + ch + val.substr(el.selectionEnd); } var r = document.selection.createRange(); if (r.text) { val = val.replace(r.text, ''); } return val + ch; }, update: function(e) { var value = el.value; if (e && e.type != 'blur' && e.type != 'keyup' && (!browser.msie || e.type == 'keypress')) { if (!e.ctrlKey && !e.altKey) { value = el.autosize.handleEvent(value, e); } } if (!value) { value = ' '; } if (el.autosize.helper.value != value) { el.autosize.helper.value = value; } var opts = el.autosize.options; var oldHeight = getSize(el, true)[1]; var newHeight = el.autosize.helper.scrollHeight; if (newHeight < opts.minHeight) { newHeight = opts.minHeight; } var newStyle = {overflow: 'hidden'}; if (opts.maxHeight && newHeight > opts.maxHeight) { newHeight = opts.maxHeight; newStyle = extend(newStyle, {overflow: 'auto', overflowX: 'hidden'}); } if (oldHeight != newHeight) { newStyle.height = newHeight; setStyle(el, newStyle); if (el.phonsize) el.phonsize(); if (isFunction(opts.onResize)) { opts.onResize(newHeight); } } } } utilsNode.appendChild(el.autosize.helper); if (browser.opera_mobile) { setStyle(el, {overflow: 'hidden'}); el.autosize.update(); addEvent(el, 'blur', el.autosize.update); } else { addEvent(el, 'keydown keyup keypress', el.autosize.update); setTimeout(function() { setStyle(el, {overflow: 'hidden'}); el.autosize.update(); }, 0); } } function goAway(lnk, prms, e) { if (checkEvent(e)) return true; if (/https?:\/\/([a-zA-Z0-9\-_\.]+\.)?(vk\.com|vkontakte\.ru)(\/|$)/i.test(lnk)) { location.href = lnk; return false; } if (/http:\/\/(www\.)?(fontanka\.ru|regnum\.ru)(\/|$)/i.test(lnk)) { window.open(lnk, '_blank'); return false; } var no_warning = intval(getCookie('remixsettings_bits')); if (/https?:\/\/([a-zA-Z0-9\-_]+\.)(vk\.com|vkontakte\.ru)(\/|$)/i.test(locBase) || no_warning & 1) { window.open('/away.php?to=' + encodeURIComponent(lnk) + ((prms && prms.h !== undefined) ? '&h=' + prms.h : ''), '_blank'); return false; } var params = extend({act: 'a_go', to: lnk}, prms || {}); return !showBox('away.php', params, {}, e); } function isChecked(el) { el = ge(el); return hasClass(el, 'on') ? 1 : ''; } function checkbox(el, val) { el = ge(el); if (!el || hasClass(el, 'disabled')) return; if (val === undefined) { val = !isChecked(el); } if (val) { addClass(el, 'on'); } else { removeClass(el, 'on'); } return false; } function disable(el, val) { el = ge(el); if (val === undefined) { val = !hasClass(el, 'disabled'); } if (val) { addClass(el, 'disabled'); } else { removeClass(el, 'disabled'); } return false; } var radioBtns = {}; function radioval(name) { return radioBtns[name] ? radioBtns[name].val : false; } function radiobtn(el, val, name) { if (!radioBtns[name]) return; each(radioBtns[name].els, function() { if (this == el) { addClass(this, 'on'); } else { removeClass(this, 'on'); } }); radioBtns[name].val = val; } function renderFlash(cont, opts, params, vars) { if (!opts.url || !opts.id) { return false; } opts = extend({ version: 9, width: 1, height: 1 }, opts); var f = opts.url; if (!stVersions[f]) { stVersions[f] = ''; } if (__debugMode && stVersions[f] < 1000000) stVersions[f] += irand(1000000, 2000000); opts.url += ((opts.url.indexOf('?') == -1) ? '?' : '&') + '_stV=' + stVersions[f]; params = extend({ quality: 'high', flashvars: ajx2q(vars) }, params); if (browser.flash < opts.version) { // if (opts.express) { // params.flashvars += '&MMplayerType=PlugIn&MMredirectURL=' + encodeURIComponent(locBase + location.hash); // } else { return false; // } } ge(cont).innerHTML = browser.flashwrap(opts, params); return true; } function playAudio() { var args = arguments; stManager.add('player.js', function() { audioPlayer.operate.apply(null, args); }); } function playAudioNew() { var args = arguments; if (args[args.length-1] !== false) args = Array.prototype.slice.apply(arguments).concat([true]); if (!browser.ipad) { stManager.add(['new_player.js', 'new_player.css'], function() { audioPlayer.operate.apply(null, args); }); } else { audioPlayer.operate.apply(null, args); } } window.onLogout = window.onLoginDone = nav.reload; function onLoginFailed(code, opts) { switch (code) { case 2: location.href = '/login.php?r=1&email=' + opts.email; break; case 3: location.href = '/register.php?hash=' + opts.regh + '&gid=' + opts.inv; break; case 4: location.href = '/login.php?m=1&email=' + opts.email; break; default: location.href = '/login.php'; break; } } function onLoginCaptcha(sid, dif) { window.qloginBox = showCaptchaBox(sid, dif, window.qloginBox, {onSubmit: function(sid, key) { ge('quick_captcha_sid').value = sid; ge('quick_captcha_key').value = key; ge('quick_login_form').submit(); }, onHide: function() { window.qloginBox = false; }}); } function callHub(func, count) { this.count = count || 1; this.done = function(c) { this.count -= c || 1; if (this.count <= 0) { func(); } }; } function showWriteMessageBox(e, id) { gSearch.hide(e, true); var box = showBox('al_mail.php', {act: 'write_box', to: id}, {params: {width: 450}, stat: ['page.js', 'mail.css'], cache: 1}, e); if (box) cancelEvent(e); return !box; } var gSearch = new (function() { this.on = 0; var self = this; this.hub = new callHub(function() { if (self.onShow) self.onShow(); }, 2); this.hintsHub = new callHub(function() { self.showStartHints(); }, 2); this.load = function() { if (!ge('quick_search')) return; if (this.loading) return; this.loading = true; stManager.add('qsearch.js', function() { self.hub.done(); }); ajax.post('hints.php', {act: 'a_start_hints'}, {onDone: function(text) { self.startHintsText = trim(text); self.hintsHub.done(); }}); }, this.show = function(e, noAnim) { if (!ge('quick_search')) return; if (this.on) { return this.go(e); } this.on = 1; show(self.sCont); placeholderSetup('search_input'); ge('search_input').setAttribute('autocomplete', 'off'); addClass(ge('qsearch_link'), 'active'); this.prev_content = ge('content'); if (!this.qsearch_cont) { this.qsearch_cont = ce('div', {id: 'content', innerHTML: '
'}); } // hide('header'); this.prev_content.parentNode.replaceChild(this.qsearch_cont, this.prev_content); if (!this.loading) this.load(); self.hub.done(); self.hintsHub.done(); if (e) return cancelEvent(e); }; this.go = function (e) { var url = '/gsearch.php?section=' + (self.last_section || 'people') + '&q=' + trim(ge('search_input').value) + '&name=1'; cancelEvent(e || window.event); location.href = url; return false; }; this.hide = function(e, force) { if (!ge('quick_search')) return; if ((self.active && !force) || !self.on) return; self.on = 0; toggleFlash(); if (self.beforeHide && self.beforeHide()) { return true; } if (ge('search_input').setValue) { ge('search_input').setValue(''); } else { ge('search_input').value = ''; } // show('header'); hide(self.sCont); removeClass(ge('qsearch_link'), 'active'); self.qsearch_cont.parentNode.replaceChild(self.prev_content, self.qsearch_cont); }; this.init = function(options) { this.sCont = ge('quick_search'); this.opt = options || {}; }; var qsearch_start = false, qsearch_requested = false; this.preload = function () { var url = '/al_search.php', params = {__query: 'search', al_id: vk.id}, q = url + '#' + ajx2q(params); if (globalAjaxCache[q] !== undefined) return; globalAjaxCache[q] = -1 ajax.post(url, extend(params, {al: 1}), {onDone: function () { var cb = globalAjaxCache[q]; globalAjaxCache[q] = arguments; if (isFunction(cb)) { cb.apply(window, globalAjaxCache[q]); } }, onFail: function () { delete globalAjaxCache[q]; }}); }; })(); // opts: {url: '...', params: {}} or {text: '...'} or {content: '...'} var _cleanHide = function(el) { if (el.temphide) { removeEvent(el, 'mouseout', el.temphide); removeAttr(el, 'temphide'); } } function showTooltip(el, opts) { _cleanHide(el); var showing = true; el.temphide = function() { showing = false; } addEvent(el, 'mouseout', el.temphide); if (opts.stat) stManager.add(opts.stat); stManager.add(['tooltips.js', 'tooltips.css'], function() { if (!showing) return; _cleanHide(el); if (!el.tt || !el.tt.el || opts.force) { tooltips.create(el, opts); } tooltips.show(el, opts); }); } function reportAd(aid) { showBox('reports.php', {act: 'a_report_ad_box', aid: aid}, {params: {width: 350}, stat: ['ui_controls.js', 'ui_controls.css']}); } function updateMoney(data) { if (!data) return; vk.balance = data[0]; vk.money = data[1]; var el = ge('left_money_box'); if (data[2]) { if (el) el.innerHTML = data[2]; show(el); } else { hide(el); } } function zNav(changed, opts) { var z = changed.z; delete(changed.z); if (!isEmpty(changed)) return; if (z === false) { if (layers.fullhide) { layers.fullhide(); } return false; } if (!z) return; var zType = z.match(/^([a-z]+)(-?\d+_\d+)\/?(.*)/i); if (zType) { var onFail = function() { delete nav.objLoc.z; nav.setLoc(nav.objLoc); return true; }; switch (zType[1]) { case 'photo': showPhoto(zType[2], zType[3], extend(opts || {}, {onFail: onFail})); return false; break; case 'video': showVideo(zType[2], zType[3], extend(opts || {}, {onFail: onFail})); return false; break; } } } function showPhotoProgress(img) { var xy = getXY(img), sz = getSize(img) setStyle(ge('global_prg'), { left: (xy[0] + Math.floor((sz[0] + 6) / 2) - 16) + 'px', top: (xy[1] + Math.floor((sz[1] + 9) / 2) - 4) + 'px', display: 'block' }); } function showPhoto(photoId, listId, options, ev) { if (checkEvent(ev)) return; var stat = ['photoview.js', 'photoview.css'], res; if (options.img) { options.showProgress = showPhotoProgress.pbind(options.img); options.hideProgress = hide.pbind('global_prg'); } if (window.photoview && (photoview.showPhoto(photoId, listId, options) === false)) { return false; } if (options.temp) { stManager.add(stat, function() { extend(cur, {pvBig: options.big, pvDark: options.dark}); if (!cur.pvData) cur.pvData = {}; cur.pvData.temp = [options.temp]; photoview.show('temp', 0); }); } if (window.photoview) { return false; } extend(options, {onDone: function(lst) { photoview.list(photoId, listId, lst); photoview.loaded.apply(window, arguments); photoview.showPhoto(photoId, listId, options); }, stat: stat, cache: 1}); ajax.post('al_photos.php', {act: 'show', photo: photoId, list: listId}, options); return false; } function showVideo(videoId, listId, options, ev) { if (checkEvent(ev)) return true; var stat = ['videoview.js', 'videoview.css']; var hub = new callHub(function() { videoview.showVideo.apply(videoview, hub.data); }, 2); if (!options) { options = {}; } stManager.add(stat, function() { videoview.show(ev, videoId, listId, options); hub.done(); }); extend(options, {onDone: function() { hub.data = arguments; hub.done(); }, cache: 1}); ajax.post('al_video.php', {act: 'show', video: videoId, list: listId, autoplay: (options.autoplay) ? 1 : 0}, options); return false; } function videoCallback(params) { var method = params.shift(); debugLog(method, params); if (window.videoview && videoview.playerCallback[method]) { videoview.playerCallback[method].apply(videoview, params); } else { throw Error('Unregistered player callback: ' + method); } } try{stManager.done('common.js');}catch(e){} var page = { inviteToGroup: function(gid, mid, invited, hash) { var setInvited = function(invited) { var row = ge('member_row'+mid); geByClass('actions', row)[0].innerHTML = invited ? ''+getLang('friends_cancel_event_invite')+'' : ''+getLang('friends_send_event_invite')+''; } if (invited) { ajax.post('/al_page.php', {act: 'a_cancel_invite', mid: mid, gid: gid, hash: hash}, {onDone: function(res){ }}); setInvited(0); } else { ajax.post('/al_page.php', {act: 'a_invite', mid: mid, gid:gid, hash: hash}, {onDone: function(res, message) { if (!res) { setInvited(0); ge('res'+mid).innerHTML = '
' + message + '
'; var row = ge('member_row' + mid); hide(geByClass('actions', row)[0]); } }}); setInvited(1); } return false; }, memberListAction: function(el, action, gid, mid, hash) { ajax.post('al_page.php', {act:'a_member_list_action', action:action, gid:gid, mid:mid, hash:hash}, {onDone: function(res) { el.parentNode.innerHTML = res; }}); }, showPageMembers: function(ev, oid, tab) { return !showTabbedBox('al_page.php', {act: 'show_members_box', gid: -oid, tab:tab}, {cache: 1}, ev); }, newPhoto: function(params) { cur.hideOther(); showBox('al_page.php', extend(params || {}, {act: 'a_new_photo'})); }, editPhoto: function(newph) { cur.hideOther(); showBox('al_page.php', extend(newph || {}, {act: 'a_edit_photo'}), { params: {onHide: (newph && newph.photo) ? page.newPhoto.pbind({oid: newph.oid}) : false, bodyStyle: 'padding: 16px 7px'}, stat: ['tagger.js', 'tagger.css'] }); }, deletePhoto: function(oid, hash) { cur.hideOther(); var box = showFastBox({title: getLang('global_warning')}, getLang('sure_delete_photo'), getLang('global_delete'), function() { ajax.post('al_page.php', { act: 'a_delete_photo', hash: hash, oid: oid }, { showProgress: box.showProgress, hideProgress: box.hideProgress }); }, getLang('global_cancel')); }, showContacts: function(oid, edit, callback) { var b = showBox('/al_page.php', {act: 'a_get_contacts', oid: oid, edit: edit}, {params:{width:467}}); b.setOptions({onHideAttempt: function() { if (cur.reloadAfterClose) { if (callback) { callback(); } else { nav.reload({noscroll: true}); cur.reloadAfterClose = false; } } return true; }}); }, editContact: function(oid, cid, hash, callback) { var b = showBox('al_page.php', {act: 'a_edit_contact_box', cid: cid, oid: oid}).setButtons(getLang('global_save'), function() { cur.reloadAfterClose = true; function onSearch() { var params = {act: 'a_add_contact', cid: cid, oid: oid}; params.hash = hash; if (!hash) params.hash = ge('public_contact_hash').value; if (ge('public_contact_memlink')) params.page = ge('public_contact_memlink').value; params.title = ge('public_contact_position').value; params.phone = ge('public_contact_phone').value; params.email = ge('public_contact_email').value; ajax.post('al_page.php', params, {onDone: function(res) { b.hide(); if (curBox()) { curBox().content(res); } else { page.showContacts(oid, 1, callback); } }, onFail: function(error) { if (ge('public_contact_error')) { ge('public_contact_error').innerHTML = error; show('public_contact_error'); return true; } }}); } if (!cid && cur.lastContact != ge('public_contact_memlink').value) { page.searchContact(ge('public_contact_memlink').value, onSearch); } else { onSearch(); } }, getLang('global_cancel')); }, searchContact: function(oid, page, onSearch) { if (!trim(page)) { cur.lastContact = ''; return; } if (page == cur.lastContact) return; ajax.post('al_page.php', {act: 'a_search_contact', pid: oid, page: page}, {onDone:function(uid, img, name, hash) { cur.lastContact = page; ge('public_contact_name').innerHTML = name; ge('public_contact_image').innerHTML = img; ge('public_contact_hash').value = hash; if (!uid) { notaBene('public_contact_memlink', '', true); hide('public_contact_error'); } else { if (onSearch) { onSearch(); } else { hide('public_contact_error'); } } }}); }, deleteContact: function(oid, cid, hash) { cur.reloadAfterClose = true; ajax.post('al_page.php', {act:'a_delete_contact', oid:oid, cid:cid, hash:hash}, {onDone: function(res){ curBox().content(res); }}); }, showInput: function(el) { el = el.parentNode; addClass(el, 'unshown'); var input_wrap = geByClass('input_wrap', el.parentNode)[0]; removeClass(input_wrap, 'unshown'); geByClass('text', input_wrap)[0].focus(); }, hideInput: function(el, val) { return; } }; var wall = { switchWall: function() { var cnts = {all: 0, own: 0}, sw = ge('page_wall_switch'); if (ge('page_wall_count_all')) cnts.all = intval(ge('page_wall_count_all').value); if (ge('page_wall_count_own')) cnts.own = intval(ge('page_wall_count_own').value); if (!cnts.own || cnts.own >= cnts.all) { return false; } cur.wallType = ge('page_wall_posts').className = (cur.wallType == 'own') ? 'all' : 'own'; wall.update(); return false; }, cmp: function(id1, id2) { var l1 = id1.length, l2 = id2.length; if (l1 < l2) { return -1; } else if (l1 > l2) { return 1; } else if (id1 < id2) { return -1; } else if (id1 > id2) { return 1; } return 0; }, receive: function(rows, names) { var n = ce('div', {innerHTML: rows}), posts = ge('page_wall_posts'); var current = posts.lastChild; for (el = n.lastChild; el; el = n.lastChild) { if (el.tagName.toLowerCase() == 'input') { var old = ge(el.id), el = n.removeChild(el); if (old) { posts.replaceChild(el, old); } continue; } while (current && current.tagName.toLowerCase() == 'div' && wall.cmp(current.id, el.id) < 0) { current = current.previousSibling; } if (!current) { posts.insertBefore(el, posts.firstChild); } else if (!wall.cmp(current.id, el.id)) { posts.replaceChild(el, current); current = el; } else if (current.nextSibling) { posts.insertBefore(el, current.nextSibling); } else { posts.appendChild(el); } } each(geByTag('textarea', posts), function() { placeholderSetup(this); }); wall.update(); extend(cur.options.reply_names, names); }, showMore: function(offset) { if (cur.viewAsBox) return cur.viewAsBox(); var type = cur.wallType; var pr = ge('wall_more_progress'); ajax.post('al_wall.php', {act: 'get_wall', owner_id: cur.oid, offset: offset, type: type}, { onDone: wall.receive, showProgress: function() { show(pr); hide(pr.nextSibling); }, hideProgress: function() { show(pr.nextSibling); hide(pr); } }); }, lenLimit: function(post, def) { var el = ge('reply_len_limit' + post); return el ? intval(el.value) : def; }, checkPostLen: function(val, force) { var pf = ge('post_field'); val = trim(val); val = val.replace(/\n\n\n+/g, '\n\n'); if (pf.lastLen === val.length && !force) return; var realLen = pf.lastLen = val.length, maxLen = cur.options.max_post_len, noteName = ge('post_note_name_wrap'); var brCount = realLen - val.replace(/\n/g, '').length; warn = ge('post_warn'); if (realLen > maxLen - 100 || brCount > 4) { var canNote = (cur.oid == vk.id) && !(cur.wallAddMedia || {}).chosenMedia; if (realLen > maxLen) { warn.innerHTML = getLang('text_exceeds_symbol_limit', realLen - maxLen); } else { warn.innerHTML = getLang('text_N_symbols_remain', maxLen - realLen); } if (canNote && (realLen > maxLen || brCount > 4)) { show(noteName); placeholderSetup(noteName.firstChild); hide(warn); } else { hide(noteName); if (realLen > maxLen - 100) { show(warn); } } } else { hide(warn, noteName); } }, showEditPost: function() { if (cur.viewAsBox) { setTimeout(function() { ge('post_field').blur() }, 0); return cur.viewAsBox(); } if (cur.editing === 0) return; if (cur.withMentions && !cur.mentionsAdded) { cur.mentionsAdded = true; stManager.add(['ui_controls.css', 'ui_controls.js', 'mentions.js'], function() { initMentionClass(); cur.postMention = new MentionAutocomplete('post_field', { minHeight: cur.fullPostView ? (cur.fullPostHeight || 50) : 32, introText: getLang('profile_mention_start_typing'), noResult: getLang('profile_mention_not_found'), onSubmit: wall.sendPost, checkLen: wall.checkPostLen, onValueChange: (cur.wallAddMedia || {}).checkPostLink }); addEvent(cur.postMention.rtaEl, 'focus', wall.showEditPost); if (ge('post_field').focused !== false) { triggerEvent(ge('post_field'), 'focus'); } }); } else if (cur.postMention) { cur.postMention.options.minHeight = cur.fullPostView ? (cur.fullPostHeight || 50) : 32; } wall.hideEditPostReply(); show('submit_post'); ge('send_post').onclick = wall.sendPost; autosizeSetup('post_field', {minHeight: cur.fullPostView ? (cur.fullPostHeight || 50) : 32}); cur.editing = 0; }, hideEditPost: function(force) { cur.editing = false; var rf = ge('post_field'); if (browser.opera_mobile || !rf || cur.fullPostView) return; if (!force && rf.getValue && trim(rf.getValue())) return; hide('submit_post'); if (rf && !rf.value) { if (cur.postMention) { cur.postMention.options.minHeight = 14; } setStyle(rf, {height: 14}); rf.phonsize(); } }, sendPost: function() { var addmedia = cur.wallAddMedia || {}, media = addmedia.chosenMedia || {}, share = (addmedia.shareData || {}); var msg = ge('post_field').getValue(), noteName = ge('post_note_name'), noteNameWrap = ge('post_note_name_wrap'); if (share.initialPattern) { msg = msg.replace(share.initialPattern, ' '); } if (media[0] == 'share') { if (share.failed || !share.url) { media = {}; } else { media[1] = share.user_id + '_' + share.photo_id; } } if (!media[0] && !msg) { focus('post_field'); return; } if (isVisible(noteNameWrap) && !noteName.value) { focus(noteName); return; } var params = { act: 'post', media_type: media[0], media: media[1], message: msg, to_id: cur.postTo, type: cur.wallType, note_title: ge('post_note_name').value, friends_only: isChecked('friends_only'), status_export: isChecked('status_export'), facebook_export: ge('facebook_export') ? (isChecked('facebook_export') ? 1 : 0) : '', official: isChecked('official'), hash: cur.options.post_hash }, ownmsg = (cur.postTo == vk.id || params.official || cur.options.only_official); if (media[0] == 'poll') { var poll = addmedia.pollData(); if (!poll) { return; } params = extend(params, poll); } show('page_post_progress'); hide('page_add_media'); if (media[0] == 'share') { if (share.images && share.images.length) { addmedia.uploadShare(wall.sendPost); return; } params = extend(params, { url: share.url, title: share.title, description: share.description, extra: share.extra, extra_data: share.extraData, open_graph_data: (share.openGraph || {}).data, open_graph_hash: (share.openGraph || {}).hash }); } ajax.post('al_wall.php', params, { onDone: function(rows, names) { show('page_add_media'); var rf = ge('post_field'); if (cur.withMentions) { var mention = data(rf, 'mention'); if (mention) { mention.rtaEl.innerHTML = ''; hide(mention.cont); show(rf); } } rf.value = ''; rf.blur(); rf.phonblur(); wall.hideEditPost(true); if (cur.wallAddMedia) cur.wallAddMedia.unchooseMedia(); checkbox('export_status', false); hide('post_warn'); if (cur.wallOffset) { var nloc = nav.objLoc; delete(nloc.offset); if (vk.id != cur.oid) { delete(nloc.own); } return nav.go(nloc); } if (vk.id != cur.oid && cur.wallType == 'full_own') { var nloc = nav.objLoc; delete(nloc.own); return nav.go(nloc); } if (cur.wallType == 'feed') { return cur.wallPostCb(); } wall.receive(rows, names); if (!ownmsg && cur.wallType == 'own') { wall.switchWall(); } }, onFail: show.pbind('page_add_media'), showProgress: function() { show('page_post_progress'); hide('page_add_media'); }, hideProgress: function() { show('page_add_media'); hide('page_post_progress'); } }); }, _repliesLoaded: function(post, hl, replies, names) { var r = ge('replies' + post); if (hl) { var el = browser.msie6 ? pageNode : ((browser.chrome || browser.safari) ? bodyNode : htmlNode); var h = r.offsetHeight; r.innerHTML = replies; el.scrollTop = intval(el.scrollTop) + (r.offsetHeight - h); setTimeout(wall.highlightReply.pbind('post' + hl), 0); } else { r.innerHTML = replies; } extend(cur.options.reply_names, names); }, highlightReply: function(el) { el = ge(el); if (!el) return; var hlfunc = animate.pbind(el, {backgroundColor: '#ECEFF3'}, 200, function() { setTimeout(function() { animate(el, {backgroundColor: '#FFF'}, 200); }, 1000); }); var xy = getXY(el), top = xy[1] - (bodyNode.scrollTop || htmlNode.scrollTop || 0); if (top < 0) { var cont = browser.msie6 ? pageNode : ((browser.chrome || browser.safari) ? bodyNode : htmlNode); animate(cont, {scrollTop: cont.scrollTop + top - 50}, 300, hlfunc); } else { hlfunc(); } }, showReply: function(post, reply) { if (cur.viewAsBox) return false; var p = ge('post' + reply); if (p) { wall.highlightReply(p); } else { wall.showReplies(post, false, reply); } return false; }, showReplies: function(post, count, hl) { if (cur.viewAsBox) return cur.viewAsBox(); hide('replies_link' + post); ajax.post('al_wall.php', {act: 'get_replies', post: post, count: count}, { onDone: wall._repliesLoaded.pbind(post, hl), onFail: show.pbind('replies_link' + post), progress: 'replies_progress' + post }); }, moreReplies: function(post, offset, count) { hide('replies_link' + post); ajax.post('al_wall.php', {act: 'get_replies', offset: offset, post: post, count: count}, { onDone: function(replies, names) { var r = ge('replies' + post); r.removeChild(r.firstChild); // remove header r.innerHTML = replies + r.innerHTML; extend(cur.options.reply_names, names); }, onFail: show.pbind('replies_link' + post), progress: 'replies_progress' + post }); }, showEditReply: function(post) { if (cur.viewAsBox) { setTimeout(function() { ge('reply_field' + post).blur() }, 0); return cur.viewAsBox(); } var rf = ge('reply_field' + post); if (cur.editing === post) { focus(rf); return; } autosizeSetup(rf, {minHeight: 32}); wall.hideEditPostReply(); show('replies_wrap' + post, 'submit_reply' + post); hide('reply_link' + post); ge('reply_button' + post).onclick = wall.sendReply.pbind(post); cur.editing = post; focus(rf); }, hideEditReply: function(post) { cur.editing = false; if (browser.opera_mobile) return; hide('submit_reply' + post); var replyLink = ge('reply_link' + post); if (replyLink) { show(replyLink); hide('replies_wrap' + post); } var rf = ge('reply_field' + post); rf.blur(); if (!rf.active) { setStyle(rf, {height: 14}); } if (rf.phonblur) rf.phonblur(); ge('reply_to' + post).value = ge('reply_to_title' + post).innerHTML = ''; }, replyTo: function(post, toMsgId, toId) { ge('reply_to' + post).value = toMsgId; ge('reply_to_title' + post).innerHTML = cur.options.reply_names[toId]; wall.showEditReply(post); }, sendReply: function(post) { var msg = ge('reply_field' + post).value; if (!trim(msg).length) { focus('reply_field' + post); return; } var post_hash = ge('post_hash' + post) ? ge('post_hash' + post).value : cur.options.post_hash; ajax.post('al_wall.php', { act: 'post', type: cur.wallType, reply_to: post, reply_to_msg: ge('reply_to' + post).value, start_id: ge('start_reply' + post).value, message: msg, hash: post_hash }, { onDone: function(reply, replies, names) { var replyLink = ge('reply_link' + post); if (replyLink) { replyLink.parentNode.removeChild(replyLink); } ge('reply_field' + post).setValue(''); hide('reply_warn' + post); wall.hideEditReply(post); wall._repliesLoaded(post, false, replies, names); }, progress: 'page_reply_progress' + post }); }, postTooltip: function(el, post, opts) { if (cur.viewAsBox) return; showTooltip(el, { url: 'al_wall.php', params: extend({act: 'post_tt', post: post}, opts || {}), slide: 15, shift: [35, -3, 0], ajaxdt: 100, showdt: 400, hidedt: 200, className: 'rich wall_tt' }); }, hideEditPostReply: function(e) { if (cur.editing === false || isVisible(boxLayerBG) || isVisible(layerBG)) return; var el = (e && e.target) ? e.target : {}; var id = el.id; if (cur.editing) { if (!e || !hasClass(el, 'reply_link') && id != 'reply_field' + cur.editing && el.className != 'reply_to_link') { wall.hideEditReply(cur.editing); } } else if (!cur.chosenMedia) { if (!e || id != 'post_field') { wall.hideEditPost(); } } }, deletePost: function(post, hash) { ajax.post('al_wall.php', { act: 'delete', post: post, hash: hash }, { onDone: function(msg) { var r = ge('post' + post), t = geByTag1('table', r); var pd = ge('post_del' + post); if (pd) { pd.innerHTML = msg; show(pd); } else { r.appendChild(ce('div', {id: 'post_del' + post, className: 'dld', innerHTML: msg})); } hide(t); } }); }, markAsSpam: function(post, hash) { ajax.post('al_wall.php', { act: 'spam', post: post, hash: hash }, { onDone: function(msg) { var r = ge('post' + post), t = geByTag1('table', r); var pd = ge('post_del' + post); if (pd) { pd.innerHTML = msg; show(pd); } else { r.appendChild(ce('div', {id: 'post_del' + post, className: 'dld', innerHTML: msg})); } hide(t); } }); }, restorePost: function(post, hash) { ajax.post('al_wall.php', { act: 'restore', post: post, hash: hash }, { onDone: function(msg) { var pd = ge('post_del' + post); if (!pd) return; var r = ge('post' + post), t = geByTag1('table', r); show(t); hide(pd); } }); }, postOver: function(post) { if (!vk.id) return; var lnk = ge('like_link' + post), el = ge('post' + post), icon = ge('like_icon' + post), no_likes = hasClass(icon, 'no_likes'); if (hasClass(el, 'one')) return; if (!lnk) { wall.showDeletePost(post); return; } if (lnk.timeout) { clearTimeout(lnk.timeout); removeAttr(lnk, 'timeout'); } else { wall.showDeletePost(post); lnk.style.visibility = 'visible'; animate(lnk, {opacity: 1}, 200); if (no_likes) { icon.style.visibility = 'visible'; animate(icon, {opacity: 0.4}, 200); } } }, postOut: function(post) { if (!vk.id) return; var lnk = ge('like_link' + post), el = ge('post' + post), icon = ge('like_icon' + post), hid = function(el) { el.style.visibility = 'hidden'; } if (hasClass(el, 'one')) return; if (!lnk) { wall.hideDeletePost(post); return; } lnk.timeout = setTimeout(function() { removeAttr(lnk, 'timeout'); wall.hideDeletePost(post); animate(lnk, {opacity: 0}, 200, hid.pbind(lnk)); if (hasClass(icon, 'no_likes')) { animate(icon, {opacity: 0}, 200, hid.pbind(icon)); } }, 0); }, actsOver: function(post) { if (!vk.id) return; var acts = ge('actions' + post); if (!acts) return; if (acts.timeout) { clearTimeout(acts.timeout); removeAttr(acts, 'timeout'); } else { fadeIn(acts, 200); } }, actsOut: function(post) { if (!vk.id) return; var acts = ge('actions' + post); if (!acts) return; acts.timeout = setTimeout(function() { removeAttr(acts, 'timeout'); fadeOut(acts, 200); }, 1); }, likeOver: function(post) { var icon = ge('like_icon' + post); if (!icon) return; if (!hasClass(icon, 'my_like')) { setTimeout(animate.pbind(icon, {opacity: 1}, 200, false), 1); } else { icon.style.visibility = 'visible'; setStyle(icon, {opacity: 1}); } var leftShift = vk.id ? 35 : 55, matches = post.match(/(-?\d+)_(photo|video|note|topic|)(\d+)/), like_obj = (matches[2] || 'wall') + matches[1] + '_' + matches[3]; if (cur.viewAsBox) return; showTooltip(icon.parentNode, { url: 'like.php', params: {act: 'a_get_stats', 'object': like_obj}, slide: 15, shift: [leftShift, -3, 0], ajaxdt: 100, showdt: 400, hidedt: 200, tip: { over: function() { wall.postOver(post); wall.likeOver(post); }, out: function() { wall.likeOut(post); wall.postOut(post); } }, className: 'rich like_tt' }); }, likeOut: function(post) { var icon = ge('like_icon' + post); if (!icon) return; if (!hasClass(icon, 'my_like')) { setTimeout(animate.pbind(ge('like_icon' + post), {opacity: 0.4}, 200, false), 1); } }, likeUpdate: function(post, my, count, title) { count = intval(count); var m = post.match(/(-?\d+)_(photo|video|note|topic|)(\d+)/), like_obj = (m[2] || 'wall') + m[1] + '_' + m[3]; var countInput = ge('like_real_count_' + like_obj) || {}, rows = ge('like_table_' + like_obj); var titleNode = ge('like_title_' + like_obj), countNode = ge('like_count' + post); var icon = ge('like_icon' + post); var tt = countNode.parentNode.tt || {}, opts = clone(tt.opts || {}), newleft = (my ? 0 : -31); if (title && titleNode) { titleNode.innerHTML = title; } countInput.value = count; countNode.innerHTML = count ? count : ''; if (my) { addClass(icon, 'my_like'); } else { removeClass(icon, 'my_like'); var cb = ge('like_share_wall' + post); if (cb) checkbox(cb, false); } if (count) { var styleName = vk.rtl ? 'right' : 'left'; if (tt.el && !isVisible(tt.container) && !title) { rows.style[styleName] = newleft + 'px'; tooltips.show(tt.el, extend(opts, {showdt: 0})); } else if (rows) { var params = {}; params[styleName] = newleft; animate(rows, params, 200); } removeClass(icon, 'no_likes'); } else { if (tt.el) tt.hide(); addClass(icon, 'no_likes'); } }, like: function(post, hash) { if (!vk.id || cur.viewAsBox) return; var my = hasClass(ge('like_icon' + post), 'my_like'), matches = post.match(/(-?\d+)_(photo|video|note|topic|)(\d+)/), like_obj = (matches[2] || 'wall') + matches[1] + '_' + matches[3]; ajax.post('like.php', {act: 'a_do_' + (my ? 'un' : '') + 'like', 'object': like_obj, hash: hash, wall: 1}, { onDone: wall.likeUpdate.pbind(post, !my) }); var countInput = ge('like_real_count_wall' + post); var count = countInput ? countInput.value : ge('like_count' + post).innerHTML; wall.likeUpdate(post, !my, intval(count) + (my ? -1 : 1)); }, likeShare: function(post, hash) { var el = ge('like_share_wall' + post), was = isChecked(el); checkbox(el); ajax.post('like.php', {act: 'a_do_' + (was ? 'un' : '') + 'publish', object: 'wall' + post, hash: hash, wall: 1}, { onDone: wall.likeUpdate.pbind(post, true) }); var countInput = ge('like_real_count_wall' + post); var count = countInput ? countInput.value : ge('like_count' + post).innerHTML; var my = hasClass(ge('like_icon' + post), 'my_like'); wall.likeUpdate(post, true, intval(count) + (my ? 0 : 1)); }, showLikesPage: function(post, published, offset) { cur.likesBox.loadTabContent('like.php', {act: 'a_get_members', object: 'wall' + post, published: published, offset: offset, wall: 1}, published); }, showPhoto: function(to_id, ph, hash, el, ev) { return !showBox('al_photos.php', {act: 'photo_box', to_id: to_id, photo: ph, hash: hash}, {cache: 1}, el.href ? ev : false); }, _animDelX: function(opacity, new_active, post) { if (post === undefined) { post = new_active; new_active = undefined; } var el = ge('delete_post' + post); if (!el) return; if (new_active !== undefined) { el.active = new_active; } else if (el.active) { return; } animate(el, {opacity: opacity}, 200); }, update: function(count) { if (cur.wallType != 'all' && cur.wallType != 'own') return; var cnts = {}, sw = ge('page_wall_switch'), pnw = ge('page_no_wall'); each(['all', 'own'], function() { var el = ge('page_wall_count_' + this); cnts[this + ''] = el && intval(el.value); }); if (cnts.all && pnw) { pnw.parentNode.removeChild(pnw); } if (!cnts.own || cnts.own >= cnts.all) { hide(sw); } else { show(sw); sw.innerHTML = cur.options[cur.wallType + '_link']; } ge('page_wall_posts_count').innerHTML = cnts[cur.wallType] ? langNumeric(cnts[cur.wallType], cur.options.wall_counts) : ''; ge('page_wall_header').href = '/wall' + cur.oid + ((cur.wallType == 'own') ? '?own=1' : ''); var morelnk = ge('wall_more_link'), count = geByClass(cur.wallType, ge('page_wall_posts')).length; if (count >= cnts[cur.wallType]) { hide(morelnk); } else { show(morelnk); morelnk.onclick = wall.showMore.pbind(count); } }, init: function(opts) { extend(cur, { postField: ge('post_field'), postNoteName: ge('post_note_name'), wallType: opts.wall_type, withMentions: !(browser.mozilla && browser.version.match(/^2\./) || browser.mobile) }); cur.destroy.push(function(c) { cleanElems(c.postField, c.postNoteName); }); var rem = removeEvent.pbind(document, 'click', wall.hideEditPostReply); if (cur._back) { cur._back.hide.push(rem); cur._back.show.push(rem); cur._back.show.push(addEvent.pbind(document, 'click', wall.hideEditPostReply)); } else { cur.destroy.push(rem); } var ownCnt = ge('page_wall_count_own'); if (cur.wallType == 'own' && !intval(ownCnt && ownCnt.value)) { cur.wallType = ge('page_wall_posts').className = 'all'; } wall.update(); placeholderSetup(cur.postField); each(geByTag('textarea', ge('page_wall_posts')), function() { placeholderSetup(this); }); removeEvent(document, 'click', wall.hideEditPostReply); addEvent(document, 'click', wall.hideEditPostReply); if (opts.media_types) { cur.wallAddMedia = initAddMedia(ge('page_add_media').firstChild, 'media_preview', opts.media_types); cur.wallAddMedia.onChange = function() { wall.checkPostLen(ge('post_field').value, true); } } } } wall = extend(wall, { showDeletePost: wall._animDelX.pbind(0.3), hideDeletePost: wall._animDelX.pbind(0), activeDeletePost: function(post, tt) { wall._animDelX(1, 1, post); if (tt) showTooltip(ge('delete_post' + post), {text: tt, showdt: 500}); }, deactiveDeletePost: wall._animDelX.pbind(0.3, 0) }); var urlActiveExp = /([!()?., \n\r\t \u00A0]|^)((https?:\/\/)?((?:[a-z0-9_\-]+\.)+[a-z]{2,6})(\/.*?)?)( |[ \t\r\n \u00A0])/i, urlInactiveExp = /([!()?., \n\r\t \u00A0]|^)((https?:\/\/)?((?:[a-z0-9_\-]+\.)+[a-z]{2,6})(\/.*?)?)( |[ \t\r\n \u00A0]|$)/i; function initAddMedia(lnk, previewId, types) { lnk = ge(lnk); if (!lnk) return; if (!window.__addMediaIndex) __addMediaIndex = 0; var lnkId = ++__addMediaIndex; previewId = previewId || 'media_preview'; var icons = '/images/icons/wall_icons.gif'; (new Image()).src = icons; var bgposes = {graffiti: 0, video: -22, photo: -44, audio: -66, poll: -88}; var rows = '', spec_style = (/mac/.test(_ua) && browser.mozilla) ? 'height: 19px; padding-top: 3px;' : ''; each(types, function(i, v) { var isApp = (v[0] == 'app'); var icon = isApp ? v[4] : icons; var bgpos = isApp ? '3px 3px;' : ('0px ' + bgposes[v[0]] + 'px;'); var url = isApp ? ('/app' + v[2] + '?to_id=' + cur.postTo) : false; var name = v[1].replace(/\s/g, ' '); rows += '' + name + ''; }); var html = '\ \ \ \ \ \ \ \ \ \
' + rows + '
\
\
'; var menuNode = ce('div', { id: 'add_media_menu_' + lnkId, className: 'add_media_menu', innerHTML: '
' + lnk.innerHTML + '
' + html + '
' }); bodyNode.appendChild(menuNode); var addMedia = { _addMediaLink: lnk, lnkId: lnkId, _showAddMedia: function() { clearTimeout(addMedia._hideAddMediaTimer); var el = menuNode; cur.chooseMedia = addMedia.chooseMedia; if (el && !isVisible(el)) { addMedia._addMediaLink.blur(); var coords = getXY(addMedia._addMediaLink); var left = coords[0] - 8 + (browser.msie6 ? 1 : 0); var top = coords[1] - 4 + (browser.msie && !browser.msie8 ? 1 : 0); setStyle(el, {left: left, top: top}); if (/mac/.test(_ua) && browser.mozilla) { setStyle(geByClass('add_media_rows', el), 'top', 22); } browser.msie ? show(el) : fadeIn(el, 100); } }, _hideAddMedia: function(noTimeout) { var hideFunc = browser.msie ? hide.pbind(menuNode) : fadeOut.pbind(menuNode, 100); if (noTimeout === true) { hideFunc(); } else { addMedia._hideAddMediaTimer = setTimeout(hideFunc, 300); } }, chooseMedia: function(type, media, data) { if (addMedia.onChange && addMedia.onChange(type, media, data) === false) { return false; } addMedia.unchooseMedia(); var preview = ''; switch (type) { case 'graffiti': preview = ''; break; case 'photo' : preview = ''; break; case 'video' : preview = ''; break; case 'audio' : preview = '
' + data[0] + ' - ' + data[1] + '
'; break; case 'app' : preview = '
' + data[1] + '
'; break; case 'share' : preview = ''; addMedia.shareData = {domain: data[0], url: data[1], initialPattern: data[2]}; addMedia.loadPreview(data[1]); break; case 'poll' : preview = '
' + getLang('create_poll') + '
'; addMedia.createPoll(data); break; } var prevNode = ge(previewId); prevNode.innerHTML = '
' + preview + '
'; show(prevNode); addMedia.chosenMedia = [type, media]; boxQueue.hideLast(); return false; }, unchooseMedia: function() { var prevNode = ge(previewId); if (addMedia.chosenMedia) { var x = prevNode.firstChild.nextSibling; if (x && x.tt && x.tt.el) { x.tt.destroy(); } addMedia.chosenMedia = false; hide(prevNode); } var share = addMedia.shareData; if (share) { if (share.url) { addMedia.urlsCancelled.push(share.url); } if (share.initialPattern) { addMedia.urlsCancelled.push(share.initialPattern); } addMedia.shareData = {}; } var pr = [addMedia.sharePreview, addMedia.pollPreview]; for (var i in pr) { if (pr[i]) { pr[i].parentNode.removeChild(pr[i]); } } addMedia.sharePreview = addMedia.pollPreview = false; if (addMedia.onChange) addMedia.onChange(false); }, // Inline Polls createPoll: function(labels) { var prevNode = ge(previewId), h = browser.msie6 ? '' : 'height: 1px'; addMedia.pollPreview = prevNode.parentNode.insertBefore(ce('div', {className: 'poll_preview', innerHTML: '\
\
\
' + labels[0] + '
\
\
\ \
\
\ '}), prevNode.parentNode.firstChild); var html = [], content = addMedia.pollPreview.firstChild; for (var i = 0; i < 10; ++i) { html.push(''); } ge('create_poll_answers' + lnkId).innerHTML = html.join(''); if (browser.msie6) { focus('create_poll_question' + lnkId); return; } animate(content, {height: 87}, 200, function() { content.style.height = 'auto'; focus('create_poll_question' + lnkId); }); }, incPoll: function() { var answers = ge('create_poll_answers' + lnkId); for (var el = answers.firstChild; el; el = el.nextSibling) { if (!isVisible(el)) { break; } } if (el) { ge('create_poll_dec' + lnkId).className = ''; show(el); } if (!el || !el.nextSibling) { ge('create_poll_inc' + lnkId).className = 'disabled'; } }, decPoll: function() { var answers = ge('create_poll_answers' + lnkId), first = answers.firstChild; for (var el = answers.lastChild; el; el = el.previousSibling) { if (isVisible(el)) { break; } } if (el) { if (el == first || el == first.nextSibling) { el = false; } if (el) { ge('create_poll_inc' + lnkId).className = ''; hide(el); } } if (!el || !el.previousSibling || el.previousSibling == first.nextSibling) { ge('create_poll_dec' + lnkId).className = 'disabled'; } }, updatePoll: function() { var q = trim(ge('create_poll_question' + lnkId).value); ge('create_poll_question_preview' + lnkId).innerHTML = q ? (': ' + q + '') : ''; }, pollData: function() { var answers = ge('create_poll_answers' + lnkId), q = trim(ge('create_poll_question' + lnkId).value); var result = {media: q, answers: []}; for (var el = answers.firstChild; el; el = el.nextSibling) { if (isVisible(el) && trim(el.value)) { result.answers.push(trim(el.value)); } } if (!q) { focus('create_poll_question' + lnkId); return false; } if (!result.answers.length) { focus(answers.firstChild); return false; } return result; }, // Inline Share urlsCancelled: [], shareData: {}, checkPostLink: function(wikiValue, noFocus) { //if (vk.id != cur.oid) return; // temp if (addMedia.chosenMedia) return; var rx = noFocus ? urlInactiveExp : urlActiveExp, matchesUrl; while (wikiValue && (matchesUrl = wikiValue.match(rx))) { wikiValue = wikiValue.substr(matchesUrl.index + matchesUrl[0].length); var url = matchesUrl[2], initialUrl = url; url = url.replace(/[,.;'!@#$%^&*()?:]+$/, ''); if (!url.match(/^https?:\/\//)) url = 'http://' + url; if (inArray(url, addMedia.urlsCancelled) || inArray(initialUrl, addMedia.urlsCancelled)) { continue; } if (matchesUrl[4].match(/vkontakte\.ru|vk\.com|vkontakte\.com|vk\.cc/)) { var query = matchesUrl[5] || '', mediaMatches = null, mediaType = false; if ((mediaMatches = query.match(/#photo\/(\-?\d+)_(\d+)/)) || (mediaMatches = query.match(/photo(\-?\d+)_(\d+)/)) || (mediaMatches = query.match(/photos\.php\?oid=\-?\d+&act=show&id=(\-?\d+)_(\d+)/))) { mediaType = 'photo'; } else if (mediaMatches = query.match(/video(\-?\d+)_(\d+)/)) { mediaType = 'video'; } else if (mediaMatches = query.match(/audio\.php\?id=(\-?\d+)&audio_id=(\d+)/)) { mediaType = 'audio'; } if (!mediaType) continue; if (addMedia.mediaInfoLoading) return; addMedia.mediaInfoLoading = true; var media = mediaMatches[1] + '_' + mediaMatches[2]; ajax.post('share.php', {act: 'media_info', type: mediaType, media: media}, { onDone: function(data) { addMedia.chooseMedia(mediaType, media, data); addMedia.shareData = {initialPattern: initialUrl}; addMedia.mediaInfoLoading = false; }, onFail: function () { addMedia.urlsCancelled.push(url); addMedia.mediaInfoLoading = false; return true; } }); return; } addMedia.chooseMedia('share', '', [matchesUrl[4], url, initialUrl]); return; } }, loadPreview: function(url) { if (!url) return; var prevNode = ge(previewId); addMedia.sharePreview = prevNode.parentNode.insertBefore(ce('div', {className: 'share_preview', innerHTML: '\
\
\ \ '}), prevNode.parentNode.firstChild); var parseForm = addMedia.sharePreview.appendChild(ce('form', {action: cur.options.share.url, method: 'post', target: 'share_parse_iframe' + lnkId})); each({ act: 'parse_share', from_host: locHost, mid: vk.id, hash: cur.options.share.hash, rhash: cur.options.share.rhash, url: url }, function(i, v) { parseForm.appendChild(ce('input', {type: 'hidden', name: i, value: v})); }); window.onParseDone = function(data) { var data = addMedia.shareData = extend(addMedia.shareData, data); if (!data.images || !data.images.length) { addMedia.showPreview(); return; } var tmpImg = new Image(); var url = ''; data.imagesStyles = {}; if (/^\//.test(data.images[0])) { url = (/^https:\/\//i.test(data.url) ? 'https://' : 'http://') + data.domain; } else if (!/^https?:\/\//i.test(data.images[0])) { url = data.url.replace(/[^\/]*$/, ''); if (/^https?:\/\/$/i.test(url)) { url = data.url + '/'; } } data.images[0] = url + data.images[0]; tmpImg.src = data.images[0]; var imgLoadInterval = setInterval(function() { if (tmpImg.width || tmpImg.height) { var w = tmpImg.width, h = tmpImg.height; if (w < 10 || h < 10) { data.images = []; } else { if (w > h && w > 150) { h = 150 * h / w; w = 150; } else if (h > 150) { w = 150 * w / h; h = 150; } data.imagesStyles[0] = 'style="width: ' + w + 'px; height: ' + h + 'px;"'; } clearInterval(imgLoadInterval); imgLoadInterval = true; addMedia.showPreview(); } }, 500); setTimeout(function() { if (imgLoadInterval === true) return; data.images = []; clearInterval(imgLoadInterval); addMedia.showPreview(); }, 5000); } window.onParseFail = function () { data.failed = true; addMedia.showPreview(); } parseForm.submit(); }, showPreview: function() { var data = addMedia.shareData, prev = addMedia.sharePreview; if (data.failed) { var html = getLang('page_not_loaded'); } else { var html = (data.images && data.images[0] ? '' : '') + (data.title ? '

' + data.title + '

' : '') + (data.description ? '
' + data.description + '
' : '') + '
'; } var tmpDiv = ge(previewId).appendChild(ce('div', {innerHTML: ''}, {position: 'absolute', width: getSize(prev)[0] - 10, visibility: 'hidden'})); var height = getSize(tmpDiv)[1]; tmpDiv.parentNode.removeChild(tmpDiv); animate(prev.firstChild, {height: height}, 200, function () { prev.firstChild.innerHTML = html; }); }, uploadShare: function(callback) { var data = addMedia.shareData, prev = addMedia.sharePreview; var uploadCont = prev.appendChild(ce('div', {innerHTML: ''})), uploadForm = uploadCont.appendChild(ce('form', {action: '/share.php', method: 'post', target: 'share_upload_iframe' + lnkId})); each({ act: 'a_photo', url: data.url, index: lnkId, image: data.images[0], extra: data.extra || 0 }, function (i, v) { uploadForm.appendChild(ce('input', {type: 'hidden', name: i, value: v})); }); window.onUploadDone = function(index, params) { window.onUploadFail = window.onUploadDone = function () {}; prev.removeChild(uploadCont); addMedia.shareData = extend(addMedia.shareData, { user_id: params.user_id, photo_id: params.photo_id, images: [] }); callback(); } window.onUploadFail = function(index, msg) { window.onUploadFail = window.onUploadDone = function () {}; prev.removeChild(uploadCont); addMedia.shareData.images = []; callback(); } uploadForm.submit(); } } each(types, function(i, v) { var handler = false, params = {to_id: cur.postTo, scrollbar_width: sbWidth()}, loc = hab.getLoc(); if (/^(mail|im|al_mail\.php|al_im\.php)($|\?)/.test(loc)) { params.mail_add = 1; } switch (v[0]) { case 'graffiti': handler = showBox.pbind('al_wall.php', {act: 'draw_box', to_id: cur.postTo, flash: browser.flash}, {cache: 1}); break; case 'photo': handler = showBox.pbind('photos.php', extend(params, {act: 'a_choose_photo_box'}), {cache: 1}); break; case 'video': handler = showBox.pbind('video.php', extend(params, {act: 'a_choose_video_box'}), {cache: 1}); break; case 'audio': handler = showBox.pbind('audio.php', extend(params, {act: 'a_choose_audio_box'}), {cache: 1, params: {onClean: function() {if (window.audioPlayer) audioPlayer.stop();}}}); break; case 'poll': handler = addMedia.chooseMedia.pbind('poll', '', v[2]); break; case 'app': handler = showBox.pbind('apps.php', {act: 'a_choose_app_box', to_id: cur.postTo, aid: v[2]}, {stat: ['apps_flash.js'], cache: 1}); break; default: topError('Unknown type: ' + v[0]); } addEvent(ge('add_media_type_' + lnkId + '_' + i), 'click', function() { addMedia._hideAddMedia(true); handler(); return false; }); }); removeEvent(lnk, 'click'); addEvent(lnk, 'click', addMedia._showAddMedia); addEvent(menuNode, 'mouseover', addMedia._showAddMedia); addEvent(menuNode, 'mouseout', addMedia._hideAddMedia); addEvent(geByClass1('add_media_header', menuNode), 'click', function(e) { addMedia._hideAddMedia(true); cancelEvent(e); }); cur.destroy.push(function() { cleanElems(geByClass1('add_media_header', menuNode), menuNode); bodyNode.removeChild(menuNode); removeEvent(lnk, 'click', addMedia._showAddMedia); }); if (!cur.addMedia) { cur.addMedia = {}; } cur.addMedia[lnkId] = addMedia; return addMedia; } try{stManager.done('page.js');}catch(e){} #wk_css { display: none; } .wk_from_group { text-align: center; padding: 10px; } .wk_right { padding-right: 1px; } .wk_gray, ul.listing li span .wk_gray { color: #777; } a.wk_ext_link { border-bottom: 1px dashed #A7B7C9; padding-right: 8px; background-image: url(/images/wikiextarr.gif); background-repeat: no-repeat; background-position: right 4px; } a.wk_ext_link:hover { text-decoration: none; border-bottom: 1px solid #A7B7C9; } a.wk_vk_link { border-bottom: 1px dashed #A7B7C9; } a.wk_vk_link:hover { text-decoration: none; border-bottom: 1px solid #A7B7C9; } .wk_header, .wk_sub_header { color: #45688E; font-size: 12px; font-weight: bold; margin-bottom: 5px; border-bottom: 1px solid #DAE1E8; } .wk_sub_header { font-size: 11px; } .wk_sub_sub_header { color: #45688E; font-size: 11px; font-weight: bold; margin-bottom: 5px; } .wk_table { border: 1px solid #DEE4E8; border-right: 0; border-top: 0; padding: 0px; margin: 0 auto 10px auto; border-collapse: collapse; width: 90%; } .wk_table td { border-top: 1px solid #DEE4E8; border-right: 1px solid #DEE4E8; vertical-align: top; padding: 5px; margin: 0; } .wk_table th { background-color: #F5F7F8; border: 0; margin: 0; border-top: 1px solid #DEE4E8; border-right: 1px solid #DEE4E8; padding: 5px; text-align: left; } .wk_table td.wk_cell_no_padding, .wk_table th.wk_cell_no_padding { padding: 0px; } .wk_table caption { padding: 6px; } .wk_table.wk_table_no_border, .wk_table_no_border>tbody>tr>td, .wk_table_no_border>tbody>tr>th { border: none; } .wk_table.wk_table_no_margin { margin-left: 0px; margin-right: 0px; width: 100%; } .wk_table.wk_table_fixed { margin-left: 0px; margin-right: 0px; width: 0%; } .wk_hider_header { color: #2B587A; background-color: #F5F7F8; font-weight: bold; background-repeat: no-repeat; background-position: left center; padding-left:24px; } .wk_hider_box_opened .wk_hider_header { background-image: url(/images/light_arrow_open.gif); border-bottom: 1px solid #ECF0F2; } .wk_hider_box .wk_hider_header{ background-image: url(/images/light_arrow_shut.gif); border-bottom: 0px; } .wk_hider_body { padding: 10px; } .wk_hider_box .wk_hider_body { display:none; } .wk_hider_box, .wk_hider_box_opened { border: 1px solid #DEE4E8; margin: 5px auto 5px auto; } .wk_hider_table{ width: 90%; border: 0; } .wk_hider_table .wk_hider_header { border: 1px solid #DEE4E8; } .wk_hider_table .wk_hider_body { padding: 0; margin-top: -1px; } .wk_hider_table .wk_table { border-top: 0; margin: 0; width: 100%; border-collapse: separate; } .wk_hider_title { color: #2B587A; cursor: pointer; padding: 5px 0; width: 100%; } a.wk_photo img, a.wk_photo_no_border img, img.wk_photo, img.wk_photo_no_border { vertical-align: middle; background-color: #FFF; margin: 3px 6px 3px 0px; } img.wk_photo_no_padding { vertical-align: top; } .wk_photo_no_padding img { vertical-align: middle; } a.wk_video img { vertical-align: top; background-color: #FFF; margin: 3px 6px 3px 0px; } .wk_diff_add { background: #DDFFDD; } .wk_diff_add_block { overflow: hidden; background: #EEFFEE; } .wk_diff_add_block td { background: #F6FFF6; } .wk_diff_remove { background: #FFDDDD; } .wk_diff_remove_block { overflow: hidden; background: #FFEEEE; } .wk_diff_remove_block td { background: #FFF6F6; } .wk_diff_arrow { background: #FFEEFF; } .wk_text blockquote { padding: 10px; border-left: 9px solid #C9D8DF; border-bottom: 2px solid #EBEFF2; background-color: #F5F7F8; margin: 10px 0px 0px 0px; } .wk_no_page { margin: 20px; text-align: center; font-size: 12px; color: #808080; }