Файл: touchSpace/js/spacesLib.js
Строк: 1194
<?php
function deviceCheker(){$("body").hasClass("touch")&&(device="touch")}function parse_query(e){var t,a,s,r,n={},i=e.split(/&|&|;/);for(t=0;t<i.length;++t)a=i[t].split("=",2),void 0!==a[0]&&a[0].length>0&&(s=decodeURIComponent(a[0]),r=void 0!==a[1]&&null!==a[1]?decodeURIComponent(a[1]):null,void 0!==n[s]?n[s]instanceof Array?n.push(r):n[s]=[n[s],r]:n[s]=r);return n}function get_caret_pos(e){var t,a=0;return document.selection?(e.focus(),t=document.selection.createRange(),t.moveStart("character",-e.value.length),a=t.text.length):e.selectionStart&&(a=e.selectionStart),a}function set_caret_pos(e,t,a){if(e.setSelectionRange)e.focus(),e.setSelectionRange(t,a);else if(e.createTextRange){var s=e.createTextRange();s.collapse(!0),s.moveStart("character",t),s.moveEnd("character",a),s.select()}}var device,_origin,CK,myAvatarUrl,myName,mysite_link,myNid,mySid,Codes,Url,FormState;window.Spaces=window.Spaces||{},device="desktop",_origin="_origin="+location.protocol+"//"+location.host,Spaces.setTimeout=setTimeout,Spaces.setInterval=setInterval,deviceCheker(),Spaces.api_cache={},Spaces.cache={},Spaces.global={},Spaces.LongPollingTypes={NOTIFICATION_SEND:20,TOP_COUNTER_UPDATE:21,VIDEO_CONVERT:25,REFRESH_WIDGETS:26,COMM_COUNTER_UPDATE:27,SETTINGS:28},Spaces.TYPES={FILE:5,MUSIC:6,PICTURE:7,VIDEO:25},Spaces.FILES_LIST={DIRS:1,FILES:2,FILES_ALL:23},Spaces.api=function(e,t,a,s){var r,n,i,o,c,_,l;return t=t||{},s=extend({cache:!1,prefix:"api"},s),e.indexOf("/")>=0?r=e:(n=e.split("."),r="/"+s.prefix+"/"+n[0],t.method=n[1]),t._origin=location.protocol+"//"+location.host,void 0!==t.CK&&null===t.CK&&(t.CK=Spaces.params.CK,null===t.CK)?void Spaces.core.check(function(){Spaces.api(e,t,a,s)}):(i=Spaces.encodePostArgs(t),o=!1,c=function(t){s.cache&&!o&&(Spaces.api_cache[e+"?"+i]=t),Spaces.defaultAjaxCallback(t,l)&&a&&a(t,l)},s.cache&&(_=Spaces.api_cache[e+"?"+i],void 0!==_)?(o=!0,void c(_,!0)):(l={method:e,params:t,callback:a,opts:s},void $.post(r,i,c,"json").fail(function(e){Spaces.defaultAjaxErrorCallback(e,l)})))},Spaces.encodePostArgs=function(e){var t,a,s="",r=1;for(t in e){if(e[t]instanceof Array)for(a=0;a<e[t].length;++a)s+=(r?"":"&")+encodeURIComponent(t)+"="+encodeURIComponent(e[t][a]),r&&(r=0);else s+=(r?"":"&")+encodeURIComponent(t)+"="+encodeURIComponent(e[t]);r&&(r=0)}return s},Spaces.defaultAjaxCallback=function(e,t){return e.code==Codes.COMMON.ERR_WRONG_CK?(Spaces.params.CK=null,t.params.CK=null,Spaces.api(t.method,t.params,t.callback,t.opts),!1):e.code==Codes.AUTH.ERR_AUTH_REQUIRED?(document.location.reload(),!1):!0},Spaces.defaultAjaxErrorCallback=function(e,t){console.log("[API ERROR] "+t.method+": "+e.status)},Spaces.getHttpError=function(e){switch(e=parseInt(e)){case 501:case 502:case 503:case 504:return"Внимание! На Spaces в данный момент проводятся технические работы!<br />Подождите несколько секунд и вповторите попытку. "+(502==e&&ge("#sandbox_indicator")?"<br />(Возможно, перезагрузка песочницы)<br />":"");case 500:case 525:return'Внимание! При выполнении вашего запроса, произошла внутренняя ошибка сервера!<br />Попробуйте сейчас обновить страницу, и, если ошибка повторяется, немедленно сообщите об этом в сообществе <a href="/soo/support">support</a><br />Опишите подробно, где произошла данная ошибка, в какой момент, и что нужно сделать для того, чтобы повторить данную ошибку. <br />Спасибо вам за помощь в нахождении ошибок на сайте!<br />';case-500:return'Внимание! При выполнении вашего запроса, сервер ответил неожиданным ответом!<br />Попробуйте сейчас обновить страницу, и, если ошибка повторяется, немедленно сообщите об этом в сообществе <a href="/soo/support">support</a><br />Опишите подробно, где произошла данная ошибка, в какой момент, и что нужно сделать для того, чтобы повторить данную ошибку. <br />Спасибо вам за помощь в нахождении ошибок на сайте!<br />';case 403:case 404:return"Запрашиваемый URL не найден. ";case 0:return"Ошибка подключения. Проверьте ваше подключение к интернету. ";default:return"При выполнении вашего запроса произошла ошибка HTTP: "+e}},Spaces.clearError=function(e){e=e||"common_error",$("#"+e).remove()},Spaces.clearErrors=function(){$("#siteContent").find(".error, .system-message, .system-message_alert").remove()},Spaces.showError=function(e,t){t=t||"common_error",$("#"+t).remove();var a=$(Spaces.templates.notification({type:"alert",icon:"alert",text:e,close:!0}));return a.attr("id",t).find(".notif_close").click(function(){Spaces.clearError(t)}),$("#siteContent").prepend(a),a},Spaces.showApiError=function(e,t){return Spaces.showError(Spaces.services.processingCodes(e),t)},Spaces.getHumanSize=function(e){return e>=1073741824?Math.round(e/1024/1024/1024,2)+" Гб":e>=1048576?Math.round(e/1024/1024,2)+" Мб":e>=1024?Math.round(e/1024,2)+" Кб":e+" б"},Spaces.getFileIcon=function(e){switch(e.toLowerCase()){case"gif":return"icon_img_gif.gif";case"jpg":case"jpeg":return"icon_img_jpg.gif";case"png":return"icon_img_png.png";case"bmp":return"icon_img_bmp.png";case"txt":return"file_txt.gif";case"jar":return"file_jar.gif";case"sis":return"file_sis.gif";case"exe":case"elf":return"icon_exe.gif";case"zip":case"gz":return"icon_gzip.gif";case"avi":case"mpg":case"mp4":case"mpeg":case"asf":case"wmv":case"3gp":case"3gpp":case"flv":case"mov":case"webm":return"icon_video.gif";case"amr":case"mp3":case"midi":case"wav":return"file_mp3.gif";case"apk":return"file_apk.gif";default:return"icon_file_unknown.gif"}},Spaces.redirect=function(e){page_loader&&page_loader.loadPage({url:e})||document.location.replace(e)},Spaces.prepareLink=function(e){if("string"!=typeof e)return"";var t=cookie.get("sid");return e.replace(/::CK::/g,t.substr(-4)).replace(/::sid::/g,t)},Spaces.view={pushWidget:function(e){var t=$("#widgets_container");t.length||(t=$('<div class="widgets-group" id="widgets_container">'),$("#main_content").append(t)),t.append(e)},modal:{open:function(e){var t,a,s;return ge("#Gallery")&&Spaces.view.modal.close(),t=$(window).scrollTop(),e=extend({title:"",header:!0,shadow:!1},e),a='<div id="Gallery" class="gallery gallery_light gallery_fileselector"><div class="gallery_tools default_bg'+(e.header?"":" hide")+'">'+e.title+'<div class="gallery_tools_button user_color_link gallery__exit" id="gallery_exit"></div></div><div class="gallery__image-wrapper"><div class="oh modal_content"></div></div>'+(e.shadow,""),$(document.body).append(a).addClass("open_gallery"),s=$("#Gallery"),$(document.body).on("keydown.gallery",function(e){27==e.keyCode&&Spaces.view.modal.close()}),s.prop({content:s.find(".modal_content"),scroll:t,headContent:s.find(".head_modal_content")}),s.find(".gallery__exit").click(function(e){e.preventDefault(),Spaces.view.modal.close()}),s},close:function(){var e,t=$("#Gallery");t.length&&($(document.body).off(".gallery"),e=new $.Event("closewindow"),t.trigger(e),e.isDefaultPrevented()||(t.remove(),$(document.body).removeClass("open_gallery"),$("html, body").scrollTop(t.prop("scroll"))))},scroll:function(e){var t=$("desktop"==Device.type?"#Gallery .gallery__image-wrapper":"html, body");t.scrollTop(e)}},clock:function(){var e,t,a,s,r;Spaces.global.clock_timer&&clearInterval(Spaces.global.clock_timer),e=Date.getTimezoneNow(),t=$("#user_time").text(),a=t.match(/(d+):(d+)/),a&&(s=60*a[1]+a[1],r=60*e.getHours()+e.getMinutes(),Math.abs(s-r)>15&&Spaces.showError("У вас неправильно настроено время!")),Spaces.global.clock_timer=setInterval(function(){var e=$("#user_time"),t=e.data("tz"),a=Date.getTimezoneNow(t),s="";e.data("show_date")&&(s+=a.getFullYear()+"."+pad(a.getMonth(),2)+"."+pad(a.getDate(),2)+" "),s+=pad(a.getHours(),2)+":"+pad(a.getMinutes(),2),e.data("show_seconds")&&(s+=":"+pad(a.getSeconds(),2)),e.text(s)},1e3)}},Spaces.templates={mainpageFooter:function(e){return'<div class="horiz-menu horiz-menu_bottom" id="main_page_footer"><table cellspacing="0" cellpadding="0" class="horiz-menu__wrapper" width="100%"><tr width="100%"><td width="20%" class="horiz-menu__col"><a href="'+e.about_us+'" class="horiz-menu__link">О сайте</a></td><td width="20%" class="horiz-menu__col"><a href="'+e.rules+'" class="horiz-menu__link">Правила</a></td><td width="20%" class="horiz-menu__col"><a href="'+e.tech_support+'" class="horiz-menu__link">Помощь</a></td><td width="20%" class="horiz-menu__col"><a href="'+e.reklama+'" class="horiz-menu__link">Реклама</a></td><td width="20%" class="horiz-menu__col"><a href="'+e.contacts+'" class="horiz-menu__link">Контакты</a></td></tr></table><div class="horiz-menu__counter" id="index_counters"></div></div>'},mainpageShareButtons:function(){return'<div style="margin:0 auto;max-width:900px;" id="sharing_buttons_wrap"><div class="stnd_padd sup_block"><div id="sharing_buttons" class="t_center"></div></div></div>'},selectFile:function(){},pagination:function(e,t){var a,s,r,n,i,o,c,_,l;if(!e||!e.prev_link_url&&!e.next_link_url)return"";for(a='<div class="pagination" id="pagination_widget">',s=$(window).width(),r=1,n="",n+='<div class="t_center"><div class="page_links">',i=0;i<e.numbered_links.length;i++)e.numbered_links[i].url?n+='<a href="'+e.numbered_links[i].url+'" data-P="'+e.numbered_links[i].name+'"><span> '+e.numbered_links[i].name+" </span></a><i>"+e.numbered_links[i].separator+"</i>":(r=e.numbered_links[i].name,n+='<span class="current"><span> '+e.numbered_links[i].name+" </span></span><i>"+e.numbered_links[i].separator+"</i>");return a+='<div class="pagination_ar oh"><div class="left pg_link_wrap">',a+=e.prev_link_url?'<a href="'+e.prev_link_url+'" data-P="'+(r-1)+'" class="adv_user_link pg_link left_corners border_r_fix text_right">'+(400>=s||"desktop"==Device.type?"← ":"")+(s>400?"Предыдущая":"Назад")+"</a>":'<div class="adv_user_link pg_link left_corners border_r_fix text_right active_state">'+(400>=s||"desktop"==Device.type?"← ":"")+(s>400?"Предыдущая":"Назад")+"</div>",a+='</div><div class="left pg_link_wrap">',a+=e.next_link_url?'<a href="'+e.next_link_url+'" data-P="'+(r+1)+'" class="adv_user_link pg_link right_corners">'+(s>400?"Следующая":"Вперёд")+(400>=s||"desktop"==Device.type?" →</a>":"</a>"):'<div class="adv_user_link pg_link right_corners active_state">'+(s>400?"Следующая":"Вперёд")+(400>=s||"desktop"==Device.type?" →</div>":"</div>"),a+="</div></div>"+n,e.navigation_form&&(a+='<span class="search_page_block"><form method="get" action="'+e.navigation_form.action+'" class="pagination_goto"><span class="wrap_page_num_input"><input name="'+e.navigation_form.input_name+'" size="3" maxlength="5" value="" class="page_num_input" /></span><input type="submit" value="GO" class="go" /></form></span>'),a+="</div></div></div>",t?(o=$(a),c=e.navigation_form?e.navigation_form.input_name:"",_=e.numbered_links[0].name,l=e.numbered_links[e.numbered_links.length-1].name,o.on("click",".page_links a, .pagination_ar a",function(e){var t=jQuery.Event("pagechange");t.page=this.getAttribute("data-P"),t.page_link=this.href,o.trigger(t),t.isDefaultPrevented()&&e.preventDefault()}),o.on("submit",".pagination_goto",function(e){var t=jQuery.Event("pagechange");t.page=parseInt(this.elements[c].value),t.page_link=this.action+"&"+c+"="+t.page,t.page>=_&&t.page<=l&&(o.trigger(t),t.isDefaultPrevented()&&e.preventDefault())}),o):a},attach_item_tile:function(e){var t='<div class="attaches_list_item pl_photo_item" id="'+e.file+"_"+e.type+'"><div class="pl_photo_item_inner"><div class="pl_photo_image_cont"><div class="pl_photo_image_wrap"><div class="pl_photo_image_current">';return e.preview&&(t+='<a href="'+e.preview.URL+'"',"25"!=e.type&&(t+=' class="gview_link" sharecnt="'+e.preview.shareCnt+'" group="'+e.preview.group+'" commentcnt="'+e.preview.commentCnt+'" dloadlink="'+e.preview.downloadLink+'" originalimage="'+e.preview.showLink+'" sharelink="#"'),t+='><img src="'+e.preview.previewURL+'" alt="" /><input type="submit" name="att_del_'+e.file+'" value="" title="Удалить" data-id="'+e.file+"_"+e.type+'" class="delete_attaches_list_item url-btn font_medium rotate_button m right delete_attach" style="border:none !important; background:#fff url(/i/cross_r.gif) center no-repeat !important;" /></a>'),t+="</div></div></div></div></div>"},attach_item:function(e){var t='<div class="attaches_list_item stnd_padd oh" id="'+e.file+"_"+e.type+'">';return e.preview&&e.preview.previewURL&&(t+='<div class="left font0 dot_pic"><img src="'+e.preview.previewURL+'" alt="" /></div>'),t+='<div class="oh"><input type="submit" name="att_del_'+e.file+'" value="" title="Удалить" data-id="'+e.file+"_"+e.type+'" class="delete_attaches_list_item url-btn font_medium rotate_button m right delete_attach" style="border:none !important; background: url(/i/cross_r.gif) center no-repeat !important;" /><a class="arrow_link strong_link" href="'+e.link+'">',e.icon&&(t+='<img src="/i/'+e.icon+'" alt="" class="m" /> '),t+='<span class="m">'+Spaces.services.fromStrondWrapping(e.name)+"</span></a></div></div>"},locationbar:function(e){var t,a,s='<div class="location-bar" id="header_path">';if(e.homeLink&&(s+='<span class="location-bar__item location-bar__item_home"><a href="'+e.homeLink+'" class="location-bar__home-link ico"></a> <span class="location-bar__sep ico"></span> </span>'),e.links)for(t=e.links.length,a=0;t>a;a++)s+='<span class="location-bar__item"> <span class="location-bar__sep ico"></span> ',e.links[a].url?(s+='<a href="'+e.links[a].url+'"',e.links[a].ajax&&(s+='class="ajax_link"'),s+=">"+e.links[a].text+"</a>"):s+='<span class="location-bar__title">'+e.links[a].text+"</span>",t>a+1&&(s+='<span class="location-bar__sep ico"></span>'),s+="</span>";return s+="</div>"},changeTitle:function(e){document.title=e,oldTitle=e},notification:function(e){var t='<div class="system-message '+("alert"==e.type?"system-message_alert ":"")+'">'+("alert"==e.type?'<span class="ico ico_alert"></span> ':"")+e.text+(e.close?'<img src="'+ICONS_BASEURL+'cross_r.gif" alt="" class="pointer right notif_close" />':"")+"</div>";return t}},Spaces.init={init_done:{},section:!1,selectFile:function(){if(Spaces.services.delete_attaches_list_item(),void 0===Spaces.init.init_done.file_selector){Spaces.init.init_done.file_selector=1,Spaces.core.check();var e=$(document.body);e.delegate("#selectFileButton","click",function(t){if(t.preventDefault(),t.stopPropagation(),0==$("#type_attach").length){var a='<div id="type_attach" class="type_attach_list no_word_break"><a href="#" class="type_attach_link arrow_link" data-type="7"><span>Фото</span></a><a href="#" class="type_attach_link arrow_link" data-type="6"><span>Музыка</span></a><a href="#" class="type_attach_link arrow_link" data-type="5"><span>Файлы</span></a><a href="#" class="type_attach_link arrow_link " data-type="25"><span>Видео</span></a></div>';$(this).after(a),e.on("click.hide_type_attach",function(){$("#type_attach").remove(),e.off("click.hide_type_attach")})}else $("#type_attach").remove(),e.off("click.hide_type_attach")}),e.delegate(".type_attach_link","click",function(e){e.preventDefault(),e.stopPropagation();var t=$(this);$("#type_attach").hasClass("js_in_action")||($("#type_attach").addClass("js_in_action"),t.append(' <img src="'+ICONS_BASEURL+'roundPreloader.gif" alt="" class="m" />'),require("files_selector",function(){FilesSelector.open({type:t.data("type"),maxFiles:Spaces.params.name.match(/^zhumarin|dj_mixxxer$/i)?10-$("div.attaches_list_item").length:1,onRender:function(){$("#type_attach").remove()},onFileSelect:function(e,t,a){return Spaces.core.selectAttach(a)}})}))})}}},Spaces.services={getStickers:function(e){Spaces.api("common.getStickers",{},function(t){var a,s,r,n,i,o;if(0==t.code){for(a={},s=0;s<t.categories.length;s++){for(r=t.categories[s],n={bought:r.bought,info_link:r.info_link,stickers:[]},i=r.stickers,o=0;o<r.stickers.length;o++)n.stickers.push(r.stickers[o].name+"|"+r.stickers[o].img);a[r.id]=n}e&&e(a)}},{cache:!0})},windowScrollY:function(){return window.scrollY?window.scrollY:document.documentElement.scrollTop},scrollDocumentToQuantity:function(e){e||(e=0),window.scrollTo(0,e)},gallery_resizer:function(){var e=Spaces.services.getClientWidth();e>900&&(e=900),document.getElementById("Gallery").style.width=e+"px"},delete_attaches_list_item:function(){$(".delete_attaches_list_item").off("click"),$(".delete_attaches_list_item").on("click",function(e){e.preventDefault(),e.stopPropagation();var t=$(this),a=t.data("id"),s={};s.CK=CK,"privateChat"==Spaces.init.section?(s.rid=$("textarea").data("rid"),s.attach_num=a,Spaces.core.deleteAttach(s)):(s.contact=contactInfoNid,s.move=0,s.atT=a,Spaces.core.moveTempContactAtt(s)),$("#"+a).remove(),$("#attachesLimitError").remove(),0==$(".attaches_list_item").length?($("#attaches_list").hide(),$("#tempAttachesWrapper").remove()):0==$("#tempAttachesWrapper .attaches_list_item").length&&$("#tempAttachesWrapper").remove(),"privateChat"==Spaces.init.section&&"desktop"==device&&setFormHeight(),GALLERY.addPhoto(),"desktop"==device&&$("#textarea").focus()})},substrCode:function(e){return parseInt(e.substr(2,3))},substrSection:function(e){return parseInt(e.substr(0,2))},processingCodes:function(e){if(e.error)return e.error;if(e.auth_errror&&Spaces.AUTH_ERRORS[e.auth_errror])return Spaces.AUTH_ERRORS[e.auth_errror];switch(parseInt(e.code)){case Codes.COMMON.SUCCESS:return"Успех";case Codes.COMMON.ERR_NEED_CAPTCHA:return"Нужна капча";case Codes.COMMON.ERR_UNKNOWN_METHOD:return"Неизвестный метод";case Codes.COMMON.ERR_USER_NOT_FOUND:return"Обитатель не найден";case Codes.COMMON.ERR_WRONG_CAPTCHA_CODE:return"Неверный код с капчи";case Codes.COMMON.ERR_EMPTY_MESSAGE:return"Пустое сообщение";case Codes.COMMON.ERR_UNKNOWN_ERROR:return e.error?e.error:"Неизвестная ошибка";case Codes.COMMON.ERR_OFTEN_OPERATION:return"Слишком частая операция";case Codes.COMMON.ERR_WRONG_CK:return"Неверный CK";case Codes.COMMON.ERR_SMS_NOT_SEND:return"SMS не было отправлено (если была в этом необходимость)";case Codes.COMMON.ERR_UNKNOWN_ERROR_PLEASE_RETRY:return"Неизвестная ошибка, повторите";case Codes.COMMON.ERR_FORBIDDEN:return"Доступ запрещён";case Codes.COMMON.ERR_BAD_REQUEST:return"Дурной запрос";case Codes.COMMON.ERR_NEED_CONFIRM_ACTION:return"Нужно подтверждение регистрации";case Codes.COMMON.ERR_USER_IN_YOUR_BLACKLIST:return"Обитатель в ЧС инициатора запроса";case Codes.COMMON.ERR_YOU_IN_USER_BLACKLIST:return"Инициатор запроса в ЧС обитателя";case Codes.COMMON.ERR_MESSAGE_TOO_LONG:return"Слишком длинное сообщение";case Codes.COMMON.ERR_MESSAGE_WITH_UNPAID_STICKERS:return"В сообщении использованы неоплаченные стикеры";case Codes.COMMON.ERR_GCM:return"Ошибка GCM";case Codes.COMMON.ERR_USER_ACT_PHONE_NOT_FOUND:return"Не найден телефон обитателя";case Codes.COMMON.ERR_OBJECT_NOT_FOUND:return"Объект не найден";case Codes.COMMON.ERR_USER_IS_OWNER:return"Обитатель - владелец объекта";case Codes.COMMON.ERR_COMM_NOT_FOUND:return"Сообщество не найдено";case Codes.COMMON.ERR_WRONG_EMAIL:return"Неправильный емейл";case Codes.COMMON.ERR_FREQ_LIMITER:return"Сработало ограничение на количество одинаковых действий";case Codes.COMMON.ERR_WRONG_PHONE:return"Неправильный номер телефона";case Codes.AUTH.ERR_AUTH_REQUIRED:return"Необходима авторизация";case Codes.AUTH.ERR_EMPTY_LOGIN_OR_PASSWORD:return"Пустой логин или пароль";case Codes.AUTH.ERR_WRONG_LOGIN_OR_PASSWORD:return"Неверный логин или пароль";case Codes.AUTH.ERR_SESSION_NOT_FOUND:return"Сессия не найдена";case Codes.AUTH.ERR_USER_MODEL_NOT_CONSTRUCTED:return"Невозможно сконструировать модель обитателя";case Codes.AUTH.ERR_AUTH_ERROR:return"Ошибка авторизации";case Codes.AUTH.ERR_ALREADY_LOGGED_IN:return"Уже авторизован";case Codes.AUTH.ERR_ACTIVATION_REQUIRED:return"Ошибка активации";case Codes.MAIL.ERR_CONTACT_NOT_FOUND:return"Контакт не найден";case Codes.MAIL.ERR_MESSAGE_ERROR:return"Ошибка в сообщении";case Codes.MAIL.ERR_SPAM_CONTROL:return"Сработала защита от СПАМа";case Codes.MAIL.ERR_ADMIN_SEND_DENIED:return"Запрет на отсылку сообщения админам";case Codes.MAIL.ERR_GARBAGE_IS_CLEARING:return"Происходит очистка корзины";case Codes.MAIL.ERR_CONTACT_IS_SWAPPING:return"Происходит перенос контакта";case Codes.MAIL.ERR_MESSAGE_NOT_FOUND:return"Сообщение не найдено";case Codes.MAIL.ERR_WRONG_EMAIL_FORMAT:return"Неверный формат E-mail";case Codes.MAIL.ERR_MESSAGE_SEND_DENIED:return"Запрет на отправку сообщений";case Codes.MAIL.ERR_DUP_MESSAGE:return"Дублирование сообщения";case Codes.MAIL.ERR_WRONG_PHONE_FORMAT:return"Неверный формат телефона";case Codes.REG.ERR_WRONG_CONTACT:return"Неверный формат контакта (E-mail или номер телефона)";case Codes.REG.ERR_CONTACT_ALREADY_USED:return"Контакт был использован ранее при регистрации";case Codes.REG.ERR_CONTACT_ALREADY_REGISTERED:return"С использованием этого контакта только что была регистрация";case Codes.REG.ERR_IP_LIMIT_EXCEEDED:return"Исчерпан лимит регистраций с данного IP адреса";case Codes.FRIENDS.ERR_HIS_LIMIT_EXCEEDED:return"Ему больше нельзя";case Codes.FRIENDS.ERR_YOUR_LIMIT_EXCEEDED:return"Вам больше нельзя";case Codes.FRIENDS.ERR_OFFER_EXISTS:return"Предложение уже существует";case Codes.FRIENDS.ERR_ALREADY_FRIENDS:return"Обитатели уже друзья";case Codes.FRIENDS.ERR_OFFER_BLOCKED:return"Обитатель заблокировал возможность предложения ему дружбы";case Codes.FRIENDS.ERR_FRIEND_NOT_FOUND:return"Обитатель не является другом";case Codes.FRIENDS.ERR_PENDING_NOT_FOUND:return"Запрос на предложение дружбы не найден";case Codes.FRIENDS.ERR_INVITE_EXISTS:return"Приглашение было отправлено раньше";case Codes.CHAT.ERR_ATTACH_SEND_DENIED:return"Запрет на отправку аттачей";case Codes.CHAT.ERR_ROOM_NOT_FOUND:return"Комната не найдена";case Codes.CHAT.ERR_CONTACT_DENIED:return"Контакт запрещён";case Codes.FORUM.ERR_COMMENT_NOT_FOUND:return"Комментарий не найден";case Codes.FORUM.ERR_TOPIC_NOT_FOUND:return"Топик не найден";case Codes.FRIENDS.ERR_FROM:return"Неправильно заполнено поле с подписью отправившего приглашение";case Codes.FRIENDS.ERR_EMAIL_USED:return"Почта, на которую отправлено приглашение, уже использована";case Codes.TRASH.ERR_OBJ_DELETED:return"Объект удалён";case Codes.TRASH.ERR_OBJ_RESTORED:return"Объект восстановлен";case Codes.VOTING.ERR_VOTE_NOT_FOUND:return"Голос не найден";case Codes.FILES.ERR_DIR_ACCESS_DENIED:return"Доступ к папке запрещён";case Codes.FILES.ERR_FILE_NOT_FOUND:return"Файл не найден";case Codes.FILES.ERR_RESOLUTION_NOT_AVAILABLE:return"Разрешение не поддерживается";case Codes.FILES.ERR_WRONG_SIZE:return"Неправильное значение размера";case Codes.FILES.ERR_BAD_VIDEO_CONVERTER_KEY:return"Неправильный ключ видеоконвертера";case Codes.FILES.ERR_UPLOAD_ERROR:return"Ошибка загрузки файла";case Codes.LENTA.ERR_AUTHOR_NOT_FOUND:return"Автор не найден";case Codes.LENTA.ERR_AUTHOR_IS_PRIVATE_GROUP:return"Автор - приватная группа";case Codes.LENTA.ERR_AUTHOR_ALREADY_EXISTS:return"Автор уже существует";case Codes.GIFTS.ERR_GIFT_NOT_FOUND:return"Подарок не найден";default:return"Ошибка"}},wrappingText:function(e){return $.trim(e).replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")},toStrondWrapping:function(e){return $.trim(e).replace(/</g,"[lt;]").replace(/>/g,"[gt;]").replace(/"/g,"[quot;]")},fromStrondWrapping:function(e){return $.trim(e).replace(/[lt;]/g,"<").replace(/[gt;]/g,">").replace(/[quot;]/g,""")},pageReload:function(){page_loader?page_loader.loadPage({url:document.location.href,state:history.state,history:!1}):location.reload()},getClientWidth:function(){return"CSS1Compat"!=document.compatMode||window.opera?document.body.clientWidth:document.documentElement.clientWidth}},Spaces.core={fixFile:function(e,t,a){if(e.type||(e.type=t),!e.nid){if(!e.id)return!1;e.nid=e.id}if((!e.filename||!e.fileext)&&e.name){var s=e.name.match(/^(.*?).([^.]+)$/i);if(t!=Spaces.TYPES.MUSIC||s&&s[2]&&/^mp3|aac$/i.test(s[2])){if(!s)return!1;e.filename=s[1],e.fileext=s[2]}else e.filename=e.name,e.fileext="mp3"}return a&&e.preview&&e.thumbLink&&(e.preview.previewURL=e.thumbLink),e.name||(e.name=e.filename+"."+e.fileext),e},moveTempContactAtt:function(e){Spaces.api("mail.moveTempContactAtt",e,function(e){if(e.code!=Codes.COMMON.SUCCESS){var t=Spaces.services.processingCodes(e);$("#attaches_list").prepend('<div class="error margin0" id="attachesLimitError">'+t+"</div>")}})},selectAttach:function(e){var t,a,s;return $("#"+e.nid+"_"+e.type).length>0?"Файл можно прикрепить только один раз.":$("div.attaches_list_item").length>10?"Количество вложений не может быть больше 10.":(t={file:e.nid,name:e.name,type:e.type,link:e.URL,preview:e.show_preview?e.preview:null,icon:Spaces.getFileIcon(e.fileext)},e.show_preview?(a=Spaces.templates.attach_item_tile(t),s=$("#tempAttachesWrapper"),s.length>0?s.append(a):$("#attaches_list").prepend('<div id="tempAttachesWrapper" class="attaches_wrapper_block">'+a+"</div>"),25!=e.type&&GALLERY.addPhoto()):$("#attaches_list").append(Spaces.templates.attach_item(t)),Spaces.services.delete_attaches_list_item(),"privateChat"==Spaces.init.section?("desktop"==device&&window.setFormHeight(),Spaces.api("files.select",{rid:window.messageTextarea.data("rid"),Pic_id:e.nid,Type:e.type,Pc:1,CK:null},function(){Spaces.core.saveAttach({rid:window.messageTextarea.data("rid"),CK:null})})):Spaces.core.moveTempContactAtt({contact:window.contactInfoNid,move:1,atT:e.nid+"_"+e.type,CK:null}),void $("#attaches_list").show())},check:function(e){Spaces.params.CK||Spaces.api("auth.check",{},function(t){0==t.code&&(Spaces.params.CK=window.CK=t.attributes.CK,window.myNid=t.attributes.nid,window.mySid=t.attributes.sid,e&&e())});var t=$("#sidebar_wrap").find(".avatar_link");t.length>0&&(window.myName=$.trim(t.text()),Spaces.params.avatar=window.mysite_link=t.attr("href"),Spaces.params.mysite_link=window.myAvatarUrl=t.find("img").attr("src"))},saveAttach:function(e){Spaces.api("private_chat.saveAttach",e)},deleteAttach:function(e){Spaces.api("private_chat.deleteAttach",e)}},Spaces.AUTH_ERRORS={1:"Дуп сессии",2:"Невалидная кука песка",3:"Слишком быстрые запросы",4:"Ваш аккаунт заблокирован",5:"Ошибка XSRF",6:"Дубль запроса. ",7:"Нужны последние цифры номера"},Codes={COMMON:{code:0,SUCCESS:0,ERR_NEED_CAPTCHA:1,ERR_UNKNOWN_METHOD:2,ERR_USER_NOT_FOUND:3,ERR_WRONG_CAPTCHA_CODE:4,ERR_EMPTY_MESSAGE:5,ERR_UNKNOWN_ERROR:6,ERR_OFTEN_OPERATION:7,ERR_WRONG_CK:8,ERR_SMS_NOT_SEND:9,ERR_UNKNOWN_ERROR_PLEASE_RETRY:10,ERR_FORBIDDEN:11,ERR_BAD_REQUEST:12,ERR_NEED_CONFIRM_ACTION:13,ERR_USER_IN_YOUR_BLACKLIST:14,ERR_YOU_IN_USER_BLACKLIST:15,ERR_MESSAGE_TOO_LONG:16,ERR_MESSAGE_WITH_UNPAID_STICKERS:17,ERR_GCM:18,ERR_USER_ACT_PHONE_NOT_FOUND:19,ERR_OBJECT_NOT_FOUND:20,ERR_USER_IS_OWNER:21,ERR_COMM_NOT_FOUND:22,ERR_WRONG_EMAIL:23,ERR_WRONG_PHONE:24},AUTH:{code:1,ERR_AUTH_REQUIRED:1001,ERR_EMPTY_LOGIN_OR_PASSWORD:1002,ERR_WRONG_LOGIN_OR_PASSWORD:1003,ERR_SESSION_NOT_FOUND:1004,ERR_USER_MODEL_NOT_CONSTRUCTED:1005,ERR_AUTH_ERROR:1006,ERR_ALREADY_LOGGED_IN:1007,ERR_ACTIVATION_REQUIRED:1008},MAIL:{code:2,ERR_CONTACT_NOT_FOUND:2001,ERR_MESSAGE_ERROR:2002,ERR_SPAM_CONTROL:2003,ERR_ADMIN_SEND_DENIED:2004,ERR_GARBAGE_IS_CLEARING:2005,ERR_CONTACT_IS_SWAPPING:2006,ERR_MESSAGE_NOT_FOUND:2007,ERR_WRONG_EMAIL_FORMAT:2008,ERR_MESSAGE_SEND_DENIED:2009,ERR_DUP_MESSAGE:2010,ERR_WRONG_PHONE_FORMAT:2011},REG:{code:3,ERR_WRONG_CONTACT:3001,ERR_CONTACT_ALREADY_USED:3002,ERR_CONTACT_ALREADY_REGISTERED:3003,ERR_IP_LIMIT_EXCEEDED:3004},FRIENDS:{code:4,ERR_HIS_LIMIT_EXCEEDED:4001,ERR_YOUR_LIMIT_EXCEEDED:4002,ERR_OFFER_EXISTS:4003,ERR_ALREADY_FRIENDS:4004,ERR_OFFER_BLOCKED:4005,ERR_FRIEND_NOT_FOUND:4006,ERR_PENDING_NOT_FOUND:4007,ERR_FROM:4008,ERR_EMAIL_USED:4009,ERR_INVITE_EXISTS:4010},CHAT:{code:5,ERR_ATTACH_SEND_DENIED:5001,ERR_ROOM_NOT_FOUND:5002,ERR_CONTACT_DENIED:5003},FORUM:{code:6,ERR_COMMENT_NOT_FOUND:6001,ERR_TOPIC_NOT_FOUND:6002},TRASH:{code:7,ERR_OBJ_DELETED:7001,ERR_OBJ_RESTORED:7002},VOTING:{code:8,ERR_VOTE_NOT_FOUND:8001},FILES:{code:9,ERR_DIR_ACCESS_DENIED:9001,ERR_FILE_NOT_FOUND:9002,ERR_RESOLUTION_NOT_AVAILABLE:9003,ERR_WRONG_SIZE:9004,ERR_BAD_VIDEO_CONVERTER_KEY:9005,ERR_UPLOAD_ERROR:9006},LENTA:{code:11,ERR_AUTHOR_NOT_FOUND:11001,ERR_AUTHOR_IS_PRIVATE_GROUP:11002,ERR_AUTHOR_ALREADY_EXISTS:11003},GIFTS:{code:12,ERR_GIFT_NOT_FOUND:12001}},Date.prototype.isLeapYear=function(){var e=this.getFullYear();return e%4==0&&e%100!=0||e%400==0},Date.prototype.getDaysInMonth=function(){return arguments.callee[this.isLeapYear()?"L":"R"][this.getMonth()]},Date.prototype.getDaysInMonth.R=[31,28,31,30,31,30,31,31,30,31,30,31],Date.prototype.getDaysInMonth.L=[31,29,31,30,31,30,31,31,30,31,30,31],Date.prototype.getHumanMonth=function(){var e=["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"];return e[this.getMonth()]},Date.getDaylightSavingMode=function(){var e=new Date,t=e.getTimezoneOffset(),a=new Date(e.getFullYear(),1,1).getTimezoneOffset(),s=new Date(e.getFullYear(),7,1).getTimezoneOffset();return a===s?!1:t===a?"winter":t===s?"summer":!1},Date.getTimezoneNow=function(e){var t=new Date;return new Date(t.getTime()+60*t.getTimezoneOffset()*1e3+3600*e*1e3)},Url=function(e,t){e=e||"",this.parse(e,t)},extend(Url,{default_ports:{http:80,https:443},regexp:/^(([a-z0-9_.-]+:)?(//([^/#?@:]+))?(:d+)?)?([^?#]+)?(?[^#]*)?(#.*)?$/i,parseQuery:function(e){var t,a,s,r,n={},i=e.split(/&|&|;/);for(t=0;t<i.length;++t)s=null,r=i[t].indexOf("="),-1!=r?(a=decodeURIComponent(i[t].substr(0,r)),s=decodeURIComponent(i[t].substr(r+1))):(a=decodeURIComponent(i[t]),s=null),a.length&&(void 0!==n[a]?n[a]instanceof Array?n[a].push(s):n[a]=[n[a],s]:n[a]=s);return n},buildQuery:function(e,t,a){var s,r,n=!0,i="";t=t||"&",a=a||"";for(s in e)if(e[s]instanceof Array)for(r=0;r<e[s].length;++r)i+=(n?a:t)+encodeURIComponent(s)+"="+encodeURIComponent(e[s][r]).replace(/%2F/g,"/"),n&&(n=!1);else i+=(n?a:t)+encodeURIComponent(s)+"="+encodeURIComponent(e[s]).replace(/%2F/g,"/"),n&&(n=!1);return i}}),extend(Url.prototype,{parse:function(e,t){var a=e.match(Url.regexp)||[];return this.scheme=a[2]||"",this.domain=a[4]||"",this.port=a[5]||"",this.path=a[6]||"",this.query=a[7]||"",this.hash=a[8]||"",t&&this._mergeWithCurrent(),this.domain=this.domain.toLowerCase(),this.scheme=this.scheme.substr(0,this.scheme.length-1).toLowerCase(),this.port=this.port.substr(1),this.query=this.query.substr(1),this.hash=this.hash.substr(1),this.query=Url.parseQuery(this.query),this},isSame:function(e){return this.url(!0)===e.url(!0)},_mergeWithCurrent:function(){var e=window.location;return this.scheme.length||(this.scheme=e.protocol,this.domain.length||(this.domain=e.hostname,this.path.length?"/"!=this.path.substr(0,1)&&(this.path=e.pathname+("/"==e.pathname.substr(e.pathname.length-1)?"":"/")+this.path):(this.path=window.location.pathname,this.query.length||(this.query=e.search,this.hash.length||(this.hash=e.hash))))),this},merge:function(e){return this.scheme.length||(this.scheme=e.scheme,this.domain.length||(this.domain=e.domain,this.path.length?"/"!=this.path.substr(0,1)&&(this.path=e.path+("/"==e.path.substr(e.path.length-1)?"":"/")+this.path):(this.path=e.path,$.isEmptyObject(this.query)&&(this.query=$.extend({},e.query),this.hash.length||(this.hash=e.hash))))),this},url:function(e){var t="";return this.scheme.length&&(t+=this.scheme+":"),(this.domain.length||this.port.length)&&(t+="//",this.domain.length&&(t+=this.domain),this.port.length&&(t+=":"+this.port)),this.path.length&&(t+=this.path),$.isEmptyObject(this.query)||(t+=Url.buildQuery(this.query,"&","?")),this.hash.length&&!e&&(t+="#"+this.hash),t},parseDomain:function(){var e,t={domain:this.domain,sub_domain:"",sub_domains:[],base_domain:""};return(e=this.domain.match(/((.*?).|^)([^.]+.[^.]+)$/))&&(void 0!==e[2]&&(t.sub_domain=e[2].toLowerCase(),t.sub_domains=t.sub_domain.split(".")),void 0!==e[3]&&(t.base_domain=e[3].toLowerCase())),t}}),FormState={save:function(e){var t,a,s,r,n,i,o,c,_,l=[],p={hidden:1,reset:1,file:1,image:1,buttom:1,submit:1},d=e.getElementsByTagName("form");for(t=0;t<d.length;++t){for(a={id:d[t].getAttribute("id"),name:d[t].getAttribute("name"),radios:{},texts:{},checkboxes:{},selects:{}},s=d[t],r=0;r<s.elements.length;++r)if(n=s.elements[r],
i="INPUT"!=n.tagName?n.tagName:n.type.toLowerCase(),"INPUT"!=n.tagName||!p[i])if("SELECT"==i)if(void 0===a.selects[n.name]&&(a.selects[n.name]=[]),n.multiple){for(o={},c=n.getElementsByTagName("option"),_=0;_<c.length;++_)o[c[_].value]=c[_].selected;a.selects[n.name].push(o)}else a.selects[n.name].push(n.value);else"radio"==i?n.checked&&(a.radios[n.name]=n.value):"checkbox"==i?(void 0===a.checkboxes[n.name]&&(a.checkboxes[n.name]={}),a.checkboxes[n.name][n.value]=n.checked):(void 0===a.texts[n.name]&&(a.texts[n.name]=[]),a.texts[n.name].push(n.value));l.push(a)}return l},restore:function(e,t){var a,s,r,n,i,o,c,_,l,p,d,R,u,E,h,m=e.getElementsByTagName("form"),g={},f=0;for(a=0;a<m.length;++a)s=m[a],r=s.getAttribute("id"),n=s.getAttribute("name"),i=r?"#"+r:n?":"+n:f++,g[i]=s;for(o=function(e,t,a,s){var r,n,i;if(void 0!==e)for(void 0===e.length&&(e=[e]),r={hidden:1,reset:1,file:1,image:1,buttom:1,submit:1,radio:1,checkbox:1},n=0;n<e.length;++n)i="INPUT"!=e[n].tagName?e[n].tagName:e[n].type.toLowerCase(),(":text"!=t||r[i])&&i!=t||void 0!==a&&null!==a&&a!=e[n].value||s(e[n])},f=0,a=0;a<t.length;++a)if(c=t[a],i=c.id?"#"+c.id:c.name?":"+c.name:f++,s=g[i],s){for(_ in c.selects)for(l=0,p=s.getElementsByTagName("select"),d=0;d<p.length&&(R=p[d],void 0!==c.selects[_][l]);++d)if("object"==typeof c.selects[_][l]){for(u=R.getElementsByTagName("option"),E=0;E<u.length;++E)u[E].selected=!!c.selects[_][l][u[E].value];l++}else R.value=c.selects[_][l++];for(_ in c.radios)o(s.elements[_],"radio",null,function(e){e.checked=e.value==c.radios[_]});for(_ in c.checkboxes)o(s.elements[_],"checkbox",null,function(e){e.checked=!!c.checkboxes[_][e.value]});for(_ in c.texts)h=0,o(s.elements[_],":text",null,function(e){void 0!==c.texts[_][h]&&(e.value=c.texts[_][h++])})}}},$.fn.visible=function(e){if(void 0===e)return this.length>0&&"none"!==this[0].style.display;for(var t=0;t<this.length;++t)this[t].style.display=e?"block":"none";return this},Spaces.params=eval("("+$("#spaces_lib").data("params")+")"),Spaces.PushStream&&Spaces.params.lp&&(pushstream=Spaces.PushStream.create({host:Spaces.params.lp.host,port:Spaces.params.lp.port}),pushstream.addChannel(Spaces.params.lp.ch)),"operamini"!=Device.browser&&require(["likes"]),$(document).ready(function(){if("operamini"!=Device.browser){Spaces.view.clock();var e=$(document.body);e.on("click.form_submit",'input[type="submit"], button',function(){if(this.form)this.form.submit_btn=this;else{var e=parent_form(this);e&&(this.form=e,e.submit_btn=this)}}),"desktop"==Device.type&&e.on("keypress",".form_submit",function(e){var t,a,s;13!=e.keyCode&&10!=e.keyCode||!(!e.ctrlKey&&"ENTER"==Spaces.params.form_submit_key||e.ctrlKey&&"CTRL_ENTER"==Spaces.params.form_submit_key)||(e.stopPropagation(),e.preventDefault(),e.stopImmediatePropagation(),t=$(this),t.trigger("hotkey_form_submit"),a=t.data("submit_btn"),a?$("#"+a).click():$(parent_form(this)).find(".main_submit").click()),!e.ctrlKey||"ENTER"!=Spaces.params.form_submit_key||13!=e.keyCode&&10!=e.keyCode||(s=get_caret_pos(this),document.selection?(this.focus(),document.selection.createRange().text="rn"):void 0!==this.selectionStart?this.value=this.value.substr(0,this.selectionStart)+"rn"+this.value.substr(this.selectionStart+(this.selectionEnd-this.selectionStart)):this.value+="rn",set_caret_pos(this,s+1,s+1))})}deviceCheker()});
?>