Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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='Устали вводить коды? Пройдите бесплатную<br>{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='Пожалуйста, проверьте Ваш почтовый ящик <b>%s</b> и пройдите по ссылке, которая указана в письме. В большинстве случаев письма приходят в течение одной минуты, но иногда для этого требуется до 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:<br>%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=['','У Вас <b>%s</b> неиспользованный голос.','У Вас <b>%s</b> неиспользованных голоса.','У Вас <b>%s</b> неиспользованных голосов.'];
- 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='<b>Внимание!</b> Вы покидаете сайт <b>ВКонтакте</b> по внешней ссылке {link}, предоставленной одним из участников.<br><br>Администрация <b>ВКонтакте</b> не несет ответственности за содержимое сайта и настоятельно рекомендует <b>не указывать</b> никаких своих данных, имеющих отношение к <b>ВКонтакте</b> (особенно <b>E-Mail</b>, <b>пароль</b> и <b>cookies</b>), на сторонних сайтах.';
- 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='Вы можете сохранить этот список друзей.<br />В дальнейшем Вы сможете использовать его снова.';
- 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='Здесь Вы можете хранить Ваши аудиозаписи.<br>Для того, чтобы загрузить Вашу первую аудиозапись, {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=['','Вы уменьшили баланс приложения на <b>%s</b> голос.','Вы уменьшили баланс приложения на <b>%s</b> голоса.','Вы уменьшили баланс приложения на <b>%s</b> голосов.'];
- apps_balance_plus_X_done=['','Вы пополнили баланс приложения на <b>%s</b> голос.','Вы пополнили баланс приложения на <b>%s</b> голоса.','Вы пополнили баланс приложения на <b>%s</b> голосов.'];
- 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=['','Приложение просит Вас внести <b>%s</b> голос.','Приложение просит Вас внести <b>%s</b> голоса.','Приложение просит Вас внести <b>%s</b> голосов.'];
- apps_noappsingroup2='В группе не подключено ни одного приложения.';
- apps_noparticipants='нет участников';
- apps_notifies_sure_delete_all='Вы уверены, что хотите удалить все приглашения?<br>Это действие нельзя будет отменить.';
- 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='Удалить эту запись из <b>LiveJournal</b>.';
- // 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='Вы выбрали основной вариант кафедры.<br>Теперь Вы можете приклеивать к ней другие кафедры, избавляясь от дублей.';
- edit_chair_youshould='Сначала Вам необходимо выбрать основной вариант кафедры с помощью кнопки <b>Клеить к ней</b>.<br>После этого Вы сможете приклеивать к ней клоны кнопкой <b>Склеить</b>.';
- edit_city_addingcity='Добавление города';
- edit_city_addingregion='Добавление региона';
- edit_city_ifsame='Если названия совпадают, не следует их дублировать.';
- edit_city_name='Название города';
- edit_city_natname='Национальное название';
- edit_city_suredelete='Вы уверены, что хотите удалить этот город?';
- edit_city_youselected='Вы выбрали основной вариант города.<br>Теперь Вы можете приклеивать к нему другие города, избавляясь от дублей.';
- edit_city_youshould='Сначала Вам необходимо выбрать основной вариант города с помощью кнопки <b>Клеить к нему</b>.<br>После этого Вы сможете приклеивать к нему клоны кнопкой <b>Склеить</b>.';
- 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='Вы выбрали основной вариант факультета.<br>Теперь Вы можете приклеивать к нему другие факультеты, избавляясь от дублей.';
- edit_fac_youshould='Сначала Вам необходимо выбрать основной вариант факультета с помощью кнопки <b>Клеить к нему</b>.<br>После этого Вы сможете приклеивать к нему клоны кнопкой <b>Склеить</b>.';
- 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='Вы выбрали основной вариант региона.<br>Теперь Вы можете приклеивать к нему другие регионы, избавляясь от дублей.';
- edit_region_youshould='Сначала Вам необходимо выбрать основной вариант региона с помощью кнопки <b>Клеить к нему</b>.<br>После этого Вы сможете приклеивать к нему клоны кнопкой <b>Склеить</b>.';
- 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='Вы выбрали основной вариант школы.<br>Теперь Вы можете приклеивать к ней другие школы, избавляясь от дублей.';
- edit_school_youshould='Сначала Вам необходимо выбрать основной вариант школы с помощью кнопки <b>Клеить к ней</b>.<br>После этого Вы сможете приклеивать к ней клоны кнопкой <b>Склеить</b>.';
- edit_selected_objects=['','Выбран %s объект','Выбраны %s объекта','Выбраны %s объектов'];
- edit_some_words1='<b>Н</b>есколько слов';
- edit_some_words2='<b>Н</b>есколько <b>С</b>лов';
- edit_some_words3='<b>Н</b>есколько <b>с</b>лов';
- edit_station_name='Название станции метро';
- edit_station_suredelete='Вы уверены, что хотите удалить эту станцию?';
- edit_street_name='Название улицы';
- edit_street_suredelete='Вы уверены, что хотите удалить эту улицу?';
- edit_street_youselected='Вы выбрали основной вариант улицы.<br>Теперь вы можете приклеивать к ней другие улицы избавляясь от дублей.';
- edit_street_youshould='Сначала Вам необходимо выбрать основной вариант улицы с помощью кнопки <b>Клеить к ней</b>.<br>После этого Вы сможете приклеивать к ней клоны кнопкой <b>Склеить</b>.';
- edit_unbold='Разжирнить';
- edit_uniabbr='Сокращение университета:';
- edit_unifullname='Полное название университета:';
- edit_uni_abbrev='Сокращение';
- edit_uni_abbrevs='Сокращённые названия:';
- edit_uni_addinguni='Добавление ВУЗов';
- edit_uni_name='Название ВУЗа:';
- edit_uni_suredelete='Вы уверены, что хотите удалить этот ВУЗ?';
- edit_uni_youselected='Вы выбрали основной вариант ВУЗа.<br>Теперь Вы можете приклеивать к нему другие ВУЗы, избавляясь от дублей.';
- edit_uni_youshould='Сначала Вам необходимо выбрать основной вариант ВУЗа с помощью кнопки <b>Клеить к нему</b>.<br>После этого Вы сможете приклеивать к нему клоны кнопкой <b>Склеить</b>.';
- // 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=['','Вы можете отправить<br>не более <b>%s</b> подарка.','Вы можете отправить<br>не более <b>%s</b> подарков.','Вы можете отправить<br>не более <b>%s</b> подарков.'];
- gifts_confirm_N_Votes=['','<b>%s</b> голос','<b>%s</b> голоса','<b>%s</b> голосов'];
- gifts_confirm_send_to_N_friends=['','Подарок будет отправлен %s другу ({votes}). Продолжить?','Подарок будет отправлен %s друзьям ({votes}). Продолжить?','Подарок будет отправлен %s друзьям ({votes}). Продолжить?'];
- gifts_rate_increase='При отправке этого подарка рейтинг получателя увеличится на <b>{gifts_count}</b>.';
- gifts_X_gifts=['','<b>%s</b> подарок','<b>%s</b> подарка','<b>%s</b> подарков'];
- 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='Пользователи приняты в группу<br>';
- 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=['','При текущем балансе это обеспечит объявлению <b>%s</b> переход.','При текущем балансе это обеспечит объявлению <b>%s</b> перехода.','При текущем балансе это обеспечит объявлению <b>%s</b> переходов.'];
- 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=['','У Вас недостаточно голосов. Сейчас у Вас <b>%s</b> голос.','У Вас недостаточно голосов. Сейчас у Вас <b>%s</b> голоса.','У Вас недостаточно голосов. Сейчас у Вас <b>%s</b> голосов.'];
- 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='Данная сумма составляет приблизительно <b>$%s</b> за каждого пользователя.';
- market_X_votes=['','%s голос','%s голоса','%s голосов'];
- market_your_ad_will_take_places=['','При текущей оплате (<b>%s</b> голос за клик) Ваше объявление будет занимать следующие места в разделах:','При текущей оплате (<b>%s</b> голоса за клик) Ваше объявление будет занимать следующие места в разделах:','При текущей оплате (<b>%s</b> голосов за клик) Ваше объявление будет занимать следующие места в разделах:'];
- // 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='Пожалуйста, введите корректный ИНН.<br>Обратите внимание, что услуга поддерживается <b>только</b> для юридических лиц.';
- payments_please_enter_correct_okpo='Пожалуйста, введите корректный ОКПО.<br>Обратите внимание, что услуга поддерживается <b>только</b> для юридических лиц.';
- 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='Сумму авторизационной транзакции Вы можете узнать:<br><ul class="listing"><li><span> обратившись в службу клиентской поддержки банка по телефону, указанному на обратной стороне вашей карты. Сообщите оператору, что Вы только что произвели оплату в интернет-магазине, и, для подтверждения права на использование карты, Вам необходима информация о сумме транзакции. Вас попросят идентифицировать себя, после чего предоставят информацию.</span></li><li><span> через систему удаленного банковского обслуживания интернет-банк/банк-клиент - в случае предоставления данной услуги банком-эмитентом;</span></li><li><span> c помощью услуги SMS-информирования - в случае предоставления данной услуги банком-эмитентом.</span></li></ul>';
- 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='Вы пытаетесь загрузить слишком маленькую фотографию.<br>Выберите фотографию большего размера и повторите попытку.';
- 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 style=\"font-size:60%\"> <\/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 = {'<void>':['al_index.php',['index.js']],'<other>':['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 '<embed ' + wrapParam + paramsStr.join('') + '/>';
- } : 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('<param name="' + i + '" value="' + escapeAttr(p) + '" />');
- }
- }
- return '<object ' + wrapParam + attrStr.join('') +'>' + paramsStr.join('') + '</object>';
- }
- 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 = '<b>JavaScript error:</b> ' + e.message;
- if (e.stack && __debugMode) text += '<br/>' + e.stack.replace(/\n/g, '<br/>');
- }
- 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('>', '>')+'<br/>';
- }
- 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('<br>');
- }
- 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 '<iframe src="' + src + '" id="' + id + '_' + rnd + '" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"><a href="http://a.adwolf.ru/goDefaultLink?' + def + '" target="_top"><img src="http://a.adwolf.ru/getDefaultImage?' + def + '"></a></iframe>';
- }, 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('<b>Warning:</b> Something is bad, please <b><a href="/techsupp.php?fid=1&act=t&tid=497998">clear your cache</a></b> 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('<b>Error:</b> Could not load <b>' + f + '</b>.', 3);
- StaticFiles[f].l = 1;
- } else {
- topMsg('Some problems with loading <b>' + f + '</b>...', 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: '<iframe></iframe>'})).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('<b>Ajax Error:</b> ' + 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 from = ans.indexOf('>');
- 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(); // <!debug> 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
- }, '<div class="confirm_mail">' + ge('confirm_mail').innerHTML + '</div>');
- } else {
- topMsg('<b>Error!</b> 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}', '<a class="phone_validation_link">').replace('{/link}', '</a>');
- addText = '<div class="phone_validation_suggest">' + addText + '</div>';
- }
- 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('<b>JSON Error:</b> ' + 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('<script type="text/javascript">var u=navigator.userAgent,d=location.host.toString().match(/[a-zA-Z]+\\.[a-zA-Z]+$/)[0];if(/opera/i.test(u)||!/msie 6/i.test(u)||document.domain!=d)document.domain=d;</script>' +
- '<div id="loc">' +
- loc.replace('&', '&').replace('"', '"').replace('>', '>').replace('<', '<') +
- '</div>'
- );
- 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) ? (' <b>(</b><span>' + v + '</span><b>)</b>') : '';
- }
- if (v < 0) {
- hide(e);
- } else {
- geByTag1('span', e.firstChild).innerHTML = v ? ('(<b>' + v + '</b>)') : '';
- 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]) ? ('(<b>' + intval(id_v[1]) + '</b>)') : '';
- }
- }
- 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['<other>'][0], files: navMap['<other>'][1]};
- }
- return {url: navMap['<void>'][0], files: navMap['<void>'][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: '<div>' + ph + '</div>'}, 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: '<div class="box_layout"><div class="box_title_wrap"><div class="box_x_button"></div><div class="box_title"></div></div><div class="box_body" style="' + options.bodyStyle + '"></div><div class="box_controls_wrap"' + controlsStyle + '><div class="box_controls"><div class="progress" id="' + options.progress + '"></div><div class="box_controls_text"></div></div></div></div>'
- }, {
- 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: '<button>'+label+'</button>'
- });
- 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('<div style="height: 50px"></div>');
- 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 = '\
- <div class="captcha">\
- <div><img src="' + imgSrc + '"/></div>\
- <div><input type="text" class="text" maxlength="7" /><div class="progress" /></div></div>\
- </div>' + (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: '<div style="height: 75px;">1<br>1</div>'}, {
- 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: '<div style="padding: 200px; text-align: center;"><img src="/images/progress7.gif"/></div>'});
- }
- // 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 ? '<a href="" onclick="return page.inviteToGroup('+gid+', '+mid+', 1, \''+hash+'\')">'+getLang('friends_cancel_event_invite')+'</a>' : '<a href="" onclick="return page.inviteToGroup('+gid+', '+mid+', 0, \''+hash+'\')">'+getLang('friends_send_event_invite')+'</a>';
- }
- 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 = '<div class="res">' + message + '</div>';
- 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 += '<a' + (url ? ' href="' + url + '"' : '') + ' id="add_media_type_' +lnkId+ '_' + i + '" style="background-image: url(' + icon + '); background-position: ' + bgpos + spec_style + '"><nobr>' + name + '</nobr></a>';
- });
- var html = '\
- <table cellspacing="0" cellpadding="0">\
- <tr>\
- <td class="side"><div></div></td>\
- <td><div class="rows">' + rows + '</div></td>\
- <td class="side"><div></div></td>\
- </tr>\
- <tr>\
- <td colspan="3">\
- <div class="bottom"></div><div class="bottom2"></div>\
- </td>\
- </tr>\
- </table>';
- var menuNode = ce('div', {
- id: 'add_media_menu_' + lnkId,
- className: 'add_media_menu',
- innerHTML: '<div class="add_media_header"><div><nobr>' + lnk.innerHTML + '</nobr></div></div><div class="add_media_rows">' + html + '</div>'
- });
- 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 = '<img class="graffiti" src="' + data + '" />'; break;
- case 'photo' : preview = '<img class="photo" src="' + (isArray(data) ? data[0] : data) + '" />'; break;
- case 'video' : preview = '<img class="video" src="' + data + '" />'; break;
- case 'audio' : preview = '<div class="audio"><div class="media_audio_icon"></div><span><b>' + data[0] + '</b> - ' + data[1] + '</span></div>'; break;
- case 'app' : preview = '<div class="app"><img src="' + data[0] + '" /><span>' + data[1] + '</span></div>'; break;
- case 'share' :
- preview = '<div class="share"><b class="fl_l"></b>' + getLang('forum_link_link') + ': <a href="/away.php?to=' + encodeURIComponent(data[1]) + '" target="_blank">' + data[0] + '</a></div>';
- addMedia.shareData = {domain: data[0], url: data[1], initialPattern: data[2]};
- addMedia.loadPreview(data[1]);
- break;
- case 'poll' :
- preview = '<div class="poll"><b class="fl_l"></b>' + getLang('create_poll') + '<span id="create_poll_question_preview' + lnkId + '"></span></div>';
- addMedia.createPoll(data);
- break;
- }
- var prevNode = ge(previewId);
- prevNode.innerHTML = '<div class="fl_l">' + preview + '</div><div class="x fl_l" onmouseover="showTooltip(this, {text: \'' + getLang('dont_attach') + '\', shift: [6, 3, 3]})" onclick="cur.addMedia[' + lnkId + '].unchooseMedia()"></div>';
- 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: '\
- <div class="content" style="' + h + '">\
- <div class="clear_fix">\
- <div class="label fl_l ta_r">' + labels[0] + '</div>\
- <div class="labeled fl_l"><input type="text" onkeyup="cur.addMedia[' + lnkId + '].updatePoll()" class="text" id="create_poll_question' + lnkId + '" /></div>\
- </div>\
- <div class="clear_fix">\
- <div class="label fl_l ta_r">' + labels[1] + '\
- <nobr class="no_select" onselectstart="return false;" ondblclick="return false;">\
- <a id="create_poll_inc' + lnkId + '" onclick="cur.addMedia[' + lnkId + '].incPoll()">' + getLang('global_add') + '</a><span class="sdivide">|</span><a id="create_poll_dec' + lnkId + '" class="disabled" onclick="cur.addMedia[' + lnkId + '].decPoll()">' + getLang('global_delete') + '</a>\
- </nobr>\
- </div>\
- <div class="labeled fl_l" id="create_poll_answers' + lnkId + '"></div>\
- </div>\
- </div>\
- <div class="bottom_pointer"></div>\
- '}), prevNode.parentNode.firstChild);
- var html = [], content = addMedia.pollPreview.firstChild;
- for (var i = 0; i < 10; ++i) {
- html.push('<input type="text" class="text" style="' + (i > 1 ? 'display: none' : '') + '" />');
- }
- 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 ? (': <span>' + q + '</span>') : '';
- },
- 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: '\
- <div class="content"><div></div><div class="progress"></div></div>\
- <div class="bottom_pointer"></div>\
- <iframe class="upload_frame" name="share_parse_iframe' + lnkId + '"></iframe>\
- '}), 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] ? '<img src="' + data.images[0] + '" class="fl_l" ' + data.imagesStyles[0] + ' />' : '') + (data.title ? '<h4 class="header">' + data.title + '</h4>' : '') + (data.description ? '<div class="descr">' + data.description + '</div>' : '') + '<div class="clear"></div>';
- }
- var tmpDiv = ge(previewId).appendChild(ce('div', {innerHTML: '<div class="share_preview">' + html + '</div>'}, {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: '<iframe class="upload_frame" name="share_upload_iframe' + lnkId + '"></iframe>'})),
- 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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement