var FriendBlockController=function(block){var _block=block;var _showFriendsLink=$("#showFriendsLink");var _showFriendsOfLink=$("#showFriendsOfLink");var _openLink=$("#controlLink");var _inner=_block.find('#sideFriendsInner');var _innerDiv=_block.find("div.innerbox");if(_innerDiv.length>0){var _id=_innerDiv.attr("id").replace("user-","");}
var _isHidden=function(){return _innerDiv.css("display")=="none";}
var _changeVisibility=function(){_inner.slideToggle('slow');_openLink.toggleClass("opened");_openLink.toggleClass("closed");}
var _showFriendsAction=function(){_showFriendsLink.addClass('black bold');_showFriendsOfLink.removeClass('black bold');$.cookie("showFriendsOf","no");$.getJSON("/showfriendsajax/?id="+_id+"&of=0",_callback,"json");return true;}
var _showFriendsOfAction=function(){_showFriendsOfLink.addClass('black bold');_showFriendsLink.removeClass('black bold');$.cookie("showFriendsOf","yes");$.getJSON("/showfriendsajax/?id="+_id+"&of=1",_callback,"json");return true;}
var _callback=function(response){if(response.success){_innerDiv.html(response.friendString);return;}}
_showFriendsLink.bind("click",_showFriendsAction);_showFriendsOfLink.bind("click",_showFriendsOfAction);_openLink.bind("click",_changeVisibility);};$(document).ready(function(){new FriendBlockController($("#sideFriend"));});$(document).ready(function(){$("#sideViewers > h3 > a").bind("click",function(event){var link=$(event.target);link.toggleClass("opened");link.toggleClass("closed");$("#sideViewers > div.innerbox").slideToggle("slow");});});var LoginFormController=function(){var _self=this;var _messages;this.setMessages=function(messages){_messages=messages;}
this.isFormOpened=function(){return!$("#divLoginForm").hasClass("hide");}
this.registerFormOpenEvent=function(){$("#linkLogin").bind("click",_openLoginForm);}
var _openLoginForm=function(){$("#divRegistrationForm").addClass("hide");if(_self.isFormOpened())return;_drawLoginForm();_registerSubmitEvent();_registerFormCloseEvent();}
var _drawLoginForm=function(){var width=145;$("#divLoginForm").removeClass("hide");$("#fieldLogin").focus();}
var _registerFormCloseEvent=function(){$("#linkCloseLoginForm").click(function(){$("#divLoginForm").addClass("hide");});}
var _registerSubmitEvent=function(){$("#divLoginForm form").bind("submit",_submitEvent);}
var _submitEvent=function(event){$("#divLoginForm p.error").remove();var errors=_validate();if(errors.length){_drawErrors(errors);return false;}
$("#divLoginForm input[type=submit]").attr("disabled",true);return true;}
var _validate=function(){var errors=[];if(!$("#divLoginForm input[name=login]").val()){errors.push("illegal_login");}
if(!$("#divLoginForm input[name=password]").val()){errors.push("illegal_password");}
return errors;}
var _drawErrors=function(errors){_translate(errors);$.each(errors,function(idx,error){$("#divLoginForm legend").after('<p class="error">'+error+'</p>');});}
var _translate=function(errors){for(var i=0;i<errors.length;i++){errors[i]=_messages.loginErrors[errors[i]];}}}
$(document).ready(function(){$("#linkLogin").attr("href","javascript:void(0);");var lfc=new LoginFormController();lfc.setMessages(messages);lfc.registerFormOpenEvent();});if(!Memori)var Memori={}
Memori.RegistrationFormController=function(item,div){var _self=this;var _messages;var _item=item;var _div=div;var _errors=[];var _err_login;var _err_password;var _err_rep_password;var _err_email;this.isFormOpened=function(){return!_div.hasClass("hide");}
this.registerFormOpenEvent=function(){_item.attr("href","javascript:void(0);");_item.bind("click",_openRegistrationForm);}
var _openRegistrationForm=function(){if(_self.isFormOpened())return;_drawRegistrationForm();_registerSubmitEvent();_registerFormCloseEvent();}
var _drawRegistrationForm=function(){_div.removeClass("hide");$("#divLoginForm").addClass("hide");_div.find("#userLogin").focus();}
var _registerFormCloseEvent=function(){$("#linkCloseRegistrationForm").click(function(){_div.addClass("hide");});}
var _registerSubmitEvent=function(){_div.find("#btnRegister").bind("click",_submitEvent);}
var _submitEvent=function(event){_errors=[];_err_login="";_err_password="";_err_rep_password="";_err_email="";_validate();if(_errors.length){_drawErrors();return false;}
return false;}
var _validate=function(){var login=_div.find("input[name=login]").val();var password=_div.find("input[name=password]").val();var confirm_password=_div.find("input[name=password_confirm]").val();var email=_div.find("input[name=email]").val();if(login&&password&&confirm_password&&email){var request='?login='+login+'&password='+password+'&confirm_password='+confirm_password+'&email='+email;_div.find("#btnRegister").attr('disabled',true);$.getJSON("/suggestedregformajax/"+request,_validateResponse);}else{if(!login)_checkLogin();if(!password)_checkPas();if(!email)_checkEmail();if(password&&!confirm_password)_checkPasConfirm();}}
var _validateResponse=function(response){_div.find("#btnRegister").attr('disabled','');if(response.login!=0){_err_login="Введите корректный логин<br />";_errors.push("illegal_login");}
if(response.password!=0){_err_password="Введите корректный пароль<br />";_errors.push("illegal_password");}else if(response.confirm_password!=0){_err_rep_password="Повтор Пароля и Пароль не совпадают<br /><br />";_errors.push("illegal_confirm_password");}
if(response.email!=0){_err_email="Введите корректный e-mail<br />";_errors.push("illegal_email");}
if(!_errors.length){_div.find("form").submit();}else{_drawErrors();}}
var _checkLogin=function(){var login=_div.find("input[name=login]").val();if(login==''){_err_login="Введите логин<br />";_errors.push("illegal_login");}}
var _checkPas=function(){var password=_div.find("input[name=password]").val();if(password==''){_err_password="Введите пароль<br />";_errors.push("illegal_password");}
else if(_div.find("input[name=password_confirm]").val()){_checkPasConfirm();}else{_err_rep_password="Повторите пароль<br />";_errors.push("illegal_password_confirm");}}
var _checkPasConfirm=function(){if(_div.find("input[name=password]").val()!=_div.find("input[name=password_confirm]").val()){_err_rep_password="Повтор Пароля и Пароль не совпадают<br />";_errors.push("illegal_password_confirm");}}
var _checkEmail=function(){var email=_div.find("input[name=email]").val();if(!email.match("^([a-zA-Z0-9_!\"\.\#\$\%\&\'\*\+\/\=\?\{\|\}\~\`-]+?)@([a-zA-Z0-9_-]+\.){1,3}([a-zA-Z]){2,4}$")){_err_email="Введите корректный e-mail<br />";_errors.push("illegal_email");}}
var _drawErrors=function(errors){_div.find("#loginError").html(_err_login);_div.find("#emailError").html(_err_email);_div.find("#pasError").html(_err_password);_div.find("#confirmPasError").html(_err_rep_password);}}
$(document).ready(function(){if($("div.reg").length==0){var regfc=new Memori.RegistrationFormController($("#linkRegistration"),$("#divRegistrationForm"));regfc.registerFormOpenEvent();}});$(document).ready(function(){$("#linkUserInfo").click(function(){$("#additionalInfo").toggleClass("hide");});});$(document).ready(function(){$("#sort").bind("change",Memori.sortAndView);$("#viewFormat").bind("change",Memori.sortAndView);});if(Memori==undefined)var Memori={}
Memori.SideTagsObserver=function(){var _objects=new Array();function _register(object){_objects.push(object);}
function _sendMessage(message,param){for(var k in _objects){_objects[k].notify(message,param);}}
return{register:function(object){_register(object);},sendMessage:function(message,param){_sendMessage(message,param);}}}
Memori.SideTagsObserver.instance=null;Memori.SideTagsObserver.getInstance=function(){if(!Memori.SideTagsObserver.instance){Memori.SideTagsObserver.instance=new Memori.SideTagsObserver()}
return Memori.SideTagsObserver.instance;}
Memori.controlSideTagsLinks=function(element,param,message,cookieName){var _link=element;var _param=param;var _message=message;var _cookieName=cookieName;var _conteiner=Memori.SideTagsObserver.getInstance();_controlClick=function(){if(!_link.hasClass('choose')&&!_link.hasClass('disabledControl')){_sendMessage(_message,_param);_link.addClass('choose');$.cookie(cookieName,_param,{expires:365,path:"/"});}}
function _sendMessage(message){_conteiner.sendMessage(message,param);}
function _setClass(message,param){if(param!=_param){_link.attr('class','hand');}}
function _disable(){if(!_link.hasClass('choose')){_link.addClass('disabledControl');_link.unbind('click',_controlClick);}}
function _enable(){if(!_link.hasClass('choose')){_link.removeClass('disabledControl');_link.bind('click',_controlClick);}}
function _doAction(message,param){if(message==_message){_setClass(message,param);}else{switch(message){case'disableControl':_disable();break;case'enableControl':_enable()
break;}}}
_link.bind('click',_controlClick);return{notify:function(message,param){_doAction(message,param);}}}
Memori.controlSideTags=function(div,mode){var _div=div;var _mode=mode;var _sideTagsTypeList='sideTagsTypeList';var _sideTagsTagsCount='sideTagsTagsCount';var _sideTagsSortBy='sideTagsSortBy';var _sideTagsInBundle='sideTagsInBundle';var _sideTagsUserId=0;var _conteiner=Memori.SideTagsObserver.getInstance();function _init(){_sideTagsTypeList=_setParamValue(_sideTagsTypeList,new Array('list','cloud'),$('#setSideTagsTypeListCloud').hasClass('choose')?'cloud':'list');var countArray=new Array(50,100,150,200,300);var selectCount=50;for(var i in countArray){if($("#setSideTagsTagsCount"+countArray[i]).hasClass('choose')){selectCount=countArray[i];break;}}
_sideTagsTagsCount=_setParamValue(_sideTagsTagsCount,new Array(50,100,150,200,300),selectCount);_sideTagsSortBy=_setParamValue(_sideTagsSortBy,new Array('abc','pop'),$('#setSideTagsSortByAbc').hasClass('choose')?'abc':'pop');_sideTagsInBundle=_setParamValue(_sideTagsInBundle,new Array('all','inBundle'),$('#setSideTagsInBundleOn').hasClass('choose')?'all':'inBundle');if('spectator'==mode){_sideTagsUserId=$("#sideTagsUserId").attr('value');}}
function _setParamValue(variable,values,defValue){var cookValue=$.cookie('"'+variable+'"');if(!cookValue){variable=defValue;}else if(values.indexOf(cookValue)!==false){variable=cookValue;;}else{variable=defValue;}
return variable;}
function _refreshParam(message,param){switch(message){case'changeTypeList':_sideTagsTypeList=param;return true;case'changeTagsCount':_sideTagsTagsCount=param;return true;case'changeSortBy':_sideTagsSortBy=param;return true;case'changeInBundle':_sideTagsInBundle=param;return true;}
return false;}
function _refreshDiv(message,param){if(_refreshParam(message,param)){_conteiner.sendMessage('disableControl',1);_div.html('<div align=center>загрузка...</div>');$requestParam='mode='+_mode+'&_sideTagsTypeList='+_sideTagsTypeList+'&_sideTagsTagsCount='+_sideTagsTagsCount+'&_sideTagsSortBy='+_sideTagsSortBy+'&_sideTagsInBundle='+_sideTagsInBundle+'&userId='+_sideTagsUserId;$.post('/getsidetagsajax/',$requestParam,_sendCallback,"html");}}
var _sendCallback=function(response){_div.html(response);_conteiner.sendMessage('enableControl',1);}
_init();return{notify:function(message,param){_refreshDiv(message,param);}}}
Memori.conteiner=null;$(document).ready(function(){Memori.conteiner=Memori.SideTagsObserver.getInstance();Memori.conteiner.register(new Memori.controlSideTagsLinks($("#setSideTagsTypeListCloud"),"cloud","changeTypeList","sideTagsTypeList"));Memori.conteiner.register(new Memori.controlSideTagsLinks($("#setSideTagsTypeListList"),"list","changeTypeList","sideTagsTypeList"));var countArray=new Array(50,100,150,200,300);for(var i in countArray){Memori.conteiner.register(new Memori.controlSideTagsLinks($("#setSideTagsTagsCount"+countArray[i]),countArray[i],"changeTagsCount","sideTagsTagsCount"));}
Memori.conteiner.register(new Memori.controlSideTagsLinks($("#setSideTagsSortByAbc"),"abc","changeSortBy","sideTagsSortBy"));Memori.conteiner.register(new Memori.controlSideTagsLinks($("#setSideTagsSortByPop"),"pop","changeSortBy","sideTagsSortBy"));Memori.conteiner.register(new Memori.controlSideTagsLinks($("#setSideTagsInBundleOn"),"inBundle","changeInBundle","sideTagsInBundle"));Memori.conteiner.register(new Memori.controlSideTagsLinks($("#setSideTagsInBundleOff"),"all","changeInBundle","sideTagsInBundle"));Memori.conteiner.register(new Memori.controlSideTags($("#sortedListOfTags"),$("#sideTagsMode").attr("value")));$("#sideBlockTags > h3 > a").bind("click",function(event){var link=$(event.target);link.toggleClass("opened");link.toggleClass("closed");$("#sideBlockTags > div.innerbox").slideToggle("slow");});$("div#sideTagsFade").bind("mouseover",function(){$("div#sideTagsFade").removeClass("fade");});$("div#sideTagsFade").bind("mouseout",function(){$("div#sideTagsFade").addClass("fade");});});(function(B){B.tinysort={id:"TinySort",version:"1.0.0",defaults:{order:"asc",attr:"",place:"start",returns:false}};B.fn.extend({tinysort:function(G,H){if(G&&typeof(G)!="string"){H=G;G=null}var D=B.extend({},B.tinysort.defaults,H);var N={};this.each(function(R){var T=(!G||G=="")?B(this):B(this).find(G);var S=D.order=="rand"?""+Math.random():(D.attr==""?T.text():T.attr(D.attr));var Q=B(this).parent();if(!N[Q]){N[Q]={s:[],n:[]}}if(T.length>0){N[Q].s.push({s:S,e:B(this),n:R})}else{N[Q].n.push({e:B(this),n:R})}});for(var F in N){oParent=N[F];oParent.s.sort(function I(S,R){var Q=S.s.toLowerCase();var T=R.s.toLowerCase();if(C(S.s)&&C(R.s)){Q=parseFloat(S.s);T=parseFloat(R.s)}return(D.order=="asc"?1:-1)*(Q<T?-1:(Q>T?1:0))})}var K=[];for(var F in N){oParent=N[F];var L=[];var E=B(this).length;switch(D.place){case"first":B.each(oParent.s,function(Q,R){E=Math.min(E,R.n)});break;case"org":B.each(oParent.s,function(Q,R){L.push(R.n)});break;case"end":E=oParent.n.length;break;default:E=0}var O=[0,0];for(var J=0;J<B(this).length;J++){var M=J>=E&&J<E+oParent.s.length;if(A(L,J)){M=true}var P=(M?oParent.s:oParent.n)[O[M?0:1]].e;P.parent().append(P);if(M||!D.returns){K.push(P.get(0))}O[M?0:1]++}}return this.setArray(K)}});function C(D){return(parseFloat(D)+"")==D}function A(E,F){var D=false;B.each(E,function(H,G){if(!D){D=G==F}});return D}B.fn.TinySort=B.fn.Tinysort=B.fn.tsort=B.fn.tinysort})(jQuery);function changebg(what){what.style.backgroundColor="#fed6e2";}
function returnbg(what){what.style.backgroundColor="transparent";}
if(Memori==undefined){var Memori={};}
Memori.ItIsSpamButton=function(elem){var _elem=elem;var _param={};var _alreadySend=0;var _init=function(){_param.lid=_elem.attr('lid');_param.unique_lid=_elem.attr('unique_lid');_param.userId=_elem.attr('userId');_param.tidArray=_elem.attr('tidArray')?_elem.attr('tidArray'):'';}
var _bindEvents=function(){_elem.bind('click',_sendMessage);}
var _sendMessage=function(){if(_alreadySend==0){_alreadySend=1;_elem.html('<span class="pink">Запрос обрабатывается ...</span>');$.post('/spamLinkSendAjax/','lid='+_param.lid+'&unique_lid='+_param.unique_lid+'&userId='+_param.userId+'&tidArray='+_param.tidArray,_sendCallback,'json');}}
var _sendCallback=function(response){if(response.success){_elem.html('<span class="grey2">Ваше сообщение получено</span>');setTimeout(_hide,1000);}}
var _hide=function(){_elem.animate({opacity:'hide'},'slow');}
_init();_bindEvents();}
Memori.ModerationUtil=function(elem){var _elem=elem;var _controlBlock;var _param={};var _alreadySend=0;var _init=function(){_param.lid=_elem.attr('lid');_param.unique_lid=_elem.attr('unique_lid');_param.userId=_elem.attr('userId');_controlBlock=$('#moderationControlBlock-'+_param.lid);}
var _bindEvents=function(){_elem.bind('click',_showControlBlock);_controlBlock.find('.grey').bind('click',_hideControlBlock);_controlBlock.find('.green').bind('click',_sendMessage);}
var _showControlBlock=function(){_elem.hide();_controlBlock.show();}
var _hideControlBlock=function(){_elem.show();_controlBlock.hide();}
var _sendMessage=function(event){if(_alreadySend==0){_alreadySend=1;_elem.html('<span class="pink">Запрос обрабатывается ...</span>');_hideControlBlock();elem=$(event.target);var tidParam=elem.attr('tid')?'&tid='+elem.attr('tid'):'';$.post('/moderationLinksHideAjax/','lid='+_param.lid+'&unique_lid='+_param.unique_lid+'&userId='+_param.userId+tidParam,_sendCallback,'json');}}
var _sendCallback=function(response){if(response.success){_elem.html('<span class="grey2">Закладки скрыты</span>');setTimeout(_hide,1000);}}
var _hide=function(){_elem.animate({opacity:'hide'},'slow');}
_init();_bindEvents();}
Memori.UserBlockUtil=function(elem,userId){var _elem=elem;var _userId=userId;var _alreadySend=0;var _bindEvents=function(){_elem.bind('click',function(){if(confirm("Данная операция скроет все закладки пользователя и не даст ему в дальнейшем добавлять открытые закладки. \r\n\r\n Выполнить запрос?")){if(_alreadySend==0){_alreadySend=1;_sendMessage();}}});}
var _sendMessage=function(){reason=prompt('Укажите причину блокировки','Спам');if(reason){_elem.removeClass('dashed').removeClass('hand').attr('title','Ждём...');_elem.html('<span class="pink">Запрос обрабатывается ...</span>');$.post('/spamUserSendAjax/','&userId='+_userId+'&reason='+reason,_sendCallback,'json');}else{_alreadySend=0;}}
var _sendCallback=function(response){if(response.success){_elem.html('<span class="grey2">Негодяй наказан</span>');setTimeout(_hide,1000);}}
var _hide=function(){_elem.animate({opacity:'hide'},'slow');}
_bindEvents();}
$(document).ready(function(){$('a[@name="itIsSpam[]"]').each(function(idx,elem){new Memori.ItIsSpamButton($(elem));});$('a[@name="moderationUtil[]"]').each(function(idx,elem){new Memori.ModerationUtil($(elem));});$('#hideAllUserBookmark').each(function(idx,elem){new Memori.UserBlockUtil($(elem),$(elem).attr('userId'));});});