mirror of
https://gitverse.ru/kpa39l/yaru.nixg.ru.git
synced 2026-09-29 18:05:05 +00:00
1 line
65 KiB
JavaScript
1 line
65 KiB
JavaScript
Friends.YauserSearch=function(a,b){if(arguments.length>0){this.init.apply(this,arguments)}};Friends.YauserSearch.prototype={init:function(a,b){this.control=a;this.control.YauserSearchControl=this;this.params=b;this.searchError_b=y5.Dom.getDescendants(this.control,"b","b-note-attention")[0];this.search_input=y5.Dom.getDescendant(this.control,"input","text");this.usersList_table=y5.Dom.getDescendant(this.control,"table","b-write-users-list");this.search_btn=y5.Dom.getDescendants(this.control,"input","submit")[0];this.myFriends_link=y5.Dom.getDescendant(this.control,"a","my-friends");this.friendControl=new Friends.FriendControl(this.control);this.search_btn.disabled=false;this.INVALID_SEARCH_TEXT="Логин или имя пользователя должны быть заданы";this.ajaxMethod_search="ajax/search_users_by_name_not_me";if(this.params){this.ajaxMethod_get="ajax/"+this.params.ajaxMethod_get}this.setEvents()},setEvents:function(){var a=this;$(this.control).find(".my-friends").die("click.yausersearch").live("click.yausersearch",function(g){a.hideErrorMessages();a.resetSearchResults();g.preventDefault();a.friendControl.setStatusMessage('Идёт загрузка пользователей<br /><img src="'+g_globals.img_base+'bar.gif" alt=""/>');y5.Events.notify("y5:usersAreFound",a.friendControl,true);if(a.friendsHTML){a.onFriendsSearch(a.friendsHTML);return}var b=a;function f(e,h){b.onFriendsSearch(e.html);b.friendsHTML=e.html}function d(e){a.friendControl.setStatusMessage("ошибка "+e)}var c=friendsURL(a.ajaxMethod_get);jQuery.ajax({url:c,dataType:"json",success:f,error:d})});y5.ShortCut.down([{key:y5.ShortCut.ENTER}],function(b){return new y5.Event("click",this.search_btn,true)},this.search_input,{checkTarget:false,context:this})},onFriendsSearch:function(a){this.fillUsers_select(a);if(this.users_select.options.length===0){this.friendControl.setStatusMessage("никого не найдено");return}this.users_select.selectedIndex=0;this.friendControl.setStatusMessage("← выберите человека");this.friendControl.list=this.users_select;this.friendControl.showUserInfo();y5.Events.notify("y5:userIsSelected",this.friendControl,true);new y5.AEventListener("change",function(){this.friendControl.list=this.users_select;this.friendControl.showUserInfo();y5.Events.notify("y5:userIsSelected",this.friendControl,true)},this.users_select,true,this)},fillUsers_select:function(a){this.users_select=y5.Dom.getDescendant(this.control,"td","list").getElementsByTagName("select")[0];var b=this.users_select.parentNode;a=a.replace(/'/g,"\x27");b.innerHTML=a;this.users_select=b.firstChild},onSearch:function(){this.resetSearchResults();if(!this.isYauserLogin()){this.showErrorMessage(this.searchError_b,this.INVALID_SEARCH_TEXT);return false}y5.Events.notify("y5:usersAreFound",this.friendControl,true);return true},isYauserLogin:function(){return !y5.Strings.isVoid(this.search_input.value)},showErrorMessage:function(a,b){if(b){a.innerHTML=b}y5.Classes.remove(a,"i-hidden")},hideErrorMessages:function(a){y5.Classes.add(this.searchError_b,"i-hidden");y5.Events.notify("y5:hideErrorMessages",this.friendControl,true)},resetSearchResults:function(){this.hideErrorMessages();y5.Events.notify("y5:resetSearchResults",this.friendControl,true)},initUsers_select:function(){this.users_select=y5.Dom.getDescendant(this.control,"td","list").getElementsByTagName("select")[0];new y5.AEventListener("change",function(){y5.Events.notify("y5:userIsSelected",this.friendControl,true)},this.users_select,true,this)}};y5.require(["Dom","Events","ShortCuts","{Friends}.FriendControl"],function(){y5.loaded("{Friends}.YauserSearch");Friends.FriendControl.prototype.searchResponseOKOld=Friends.FriendControl.prototype.searchResponseOK;Friends.FriendControl.prototype.searchResponseOK=function(a,b){var c=b.parent;c.searchResponseOKOld(a,b);if(c.list.length){c.list.selectedIndex=0;c.showUserInfo();c.control.YauserSearchControl.initUsers_select();y5.Events.notify("y5:userIsSelected",c.control.YauserSearchControl.friendControl,true)}};Friends.FriendControl.prototype.searchResponseError=function(a){var b=a.parent;b.setStatusMessage("ошбика "+a)};Friends.FriendControl.prototype.onSearch=function(){if(!this.control.YauserSearchControl.onSearch()){return false}var c=this;this.setStatusMessage('Идёт загрузка пользователей<br /><img src="'+g_globals.img_base+'bar.gif" alt=""/>');var a=getByTagName("input",this.submit.form);var b=friendsURL(this.control.YauserSearchControl.ajaxMethod_search,y5.FormCollector.collectTags(this.control));jQuery.ajax({url:b,dataType:"json",success:function(d){c.searchResponseOK(d,{parent:c})},error:function(d){c.searchResponseError(d,{parent:c})}});return false}});y5.require(["{Friends}.YauserSearch","{Friends}.CommonConstructor"],function(){var a=Friends.CommonConstructor(Friends.YauserSearch);a.prototype.init=function(){Friends.YauserSearch.prototype.init.apply(this,arguments);this.insertError_b=y5.Dom.getDescendants(this.control,"b","b-note-attention")[1];this.yauser_span=y5.Dom.getDescendant(this.control,"b","b-user");this.yauserPreview_div=y5.Dom.getDescendant(this.control,"div","b-friend-name-preview");this.toChange_link=y5.Dom.getDescendant(this.control,"a","to-change");this.yauserName_input=y5.cssQuery('input[name="yauser-name"]',this.control)[0];this.dialogBtns=y5.Dom.getDescendant(this.control,"div","y5-w-buttons");this.ajaxMethod_search="ajax/search_users_by_name";this.ajaxMethod_get="ajax/get_friends";y5.Events.observe("y5:userIsSelected",this.showPreviewBlock,this.friendControl,true,this);y5.Events.observe("y5:usersAreFound",this.showSearchResult,this.friendControl,true,this);y5.Events.observe("y5:resetSearchResults",this.resetSearchResults,this.friendControl,true,this);y5.Events.observe("y5:hideErrorMessages",function(){y5.Classes.add(this.insertError_b,"i-hidden")},this.friendControl,true,this);y5.Events.observe("click",function(b){this.hideErrorMessages();this.yauserName_input.value=this.yauserName;y5.Classes.add(this.yauserPreview_div,"b-friend-name-preview-edit");this.yauserName_input.focus();this.yauserName_input.select();b.preventDefault()},this.toChange_link,true,this);if(!this.has_been_inited){y5.Events.observe("y5:show",function(b){if(typeof b.caller==="object"){this.caller=b.caller;this.caller_params=b.caller_params||{};this.title=this.caller_params.title||"Вставить ссылку на страницу пользователя Я.ру";this.showWidget()}},a,true,this);y5.Events.observe("y5:make",function(c){this.dialog=c;this.control=c.window;var b=this.dialog.element;this.init(this.control);y5.ShortCut.down([{key:y5.ShortCut.ENTER}],function(d){y5.Events.notify("click",this.dialog.button_ok)},this.yauserName_input,{checkTarget:false,context:this});y5.Events.notify("y5:yauser_make",this.caller,true,{caller:this});this.initDialogEvents()},this.getWidgetInitElement(),true,this);this.has_been_inited=true}y5.loaded("{Friends}.YauserSearchInPostInstance")};a.prototype.showSearchResult=function(){y5.Classes.remove(this.usersList_table,"i-hidden")};a.prototype.resetSearchResults=function(){this.yauserLogin="";this.yauserName="";this.yauser_span.innerHTML="";y5.Classes.add(this.usersList_table,"i-hidden");y5.Classes.add(this.yauserPreview_div,"i-hidden");if(this.dialogBtns){y5.Classes.add(this.dialogBtns,"i-hidden")}};a.prototype.showPreviewBlock=function(){y5.Classes.add(this.insertError_b,"i-hidden");if(!this.caller_params.dont_preview){y5.Classes.remove(this.yauserPreview_div,"i-hidden");y5.Classes.remove(this.yauserPreview_div,"b-friend-name-preview-edit")}var c=this.users_select;$(".b-friend-name-preview").yhide();if(c.options&&c.options.length){var b=c.options[this.users_select.selectedIndex];this.yauserLogin=b.id;var d=b.onclick();this.yauserName=d.title;this.data=d;this.data.id=b.value;this.setYauserName();$(".b-friend-name-preview").yshow();y5.Classes.remove(this.dialogBtns,"i-hidden")}};a.prototype.setYauserName=function(){this.yauser_span.innerHTML=this.createYauserLink(this.yauserLogin,this.yauserName)};a.prototype.createYauserLink=function(b,d){var e=d.substring(0,1);var c=d.substring(1);return'<a class="b-user__link" href="'+friendsFullURL(b)+'" target="_blank"><b class="b-user__first-letter">'+ya.xmlEscape(e)+"</b>"+ya.xmlEscape(c)+"</a>"};a.prototype.defineYauserName=function(){if(!y5.Strings.isVoid(this.yauserName_input.value)){this.yauserName=this.yauserName_input.value;this.setYauserName()}};a.prototype.getWidgetInitElement=function(){var b=this.dialog?this.dialog.element:this.control;return b};a.prototype.showWidget=function(){var b={title:this.title},d=this.caller_params;if("valign" in d){b.valign=d.valign}if("halign" in d){b.halign=d.halign}var c=y5.Widget.make(this.getWidgetInitElement(),"Widget.Dialog.Standard",b)};a.prototype.showErrorMessage=function(b,c){if(c){b.innerHTML=c}y5.Classes.remove(b,"i-hidden")};a.prototype.initDialogEvents=function(){var b=this.dialog.element;y5.Events.observe("y5:ok",this.onDialogOK,b,true,this);y5.Events.observe("y5:esc",this.onDialogEsc,b,true,this);y5.Events.observe("y5:cancel",this.onDialogCancel,b,true,this);this.initDialogEvents=function(){}};a.prototype.onDialogOK=function(){this.hideErrorMessages();this.defineYauserName();if(this.yauserName.length){y5.Events.notify("y5:yauser_defined",this.caller,true,{login:this.yauserLogin,name:this.yauserName,inflects:this.data.inflects,id:this.data.id})}else{this.showErrorMessage(this.insertError_b,"Не задано имя пользователя");return false}return true};a.prototype.onDialogEsc=function(){y5.Events.notify("y5:yauser_src",this.caller,true,{caller:this});return true};a.prototype.onDialogCancel=function(){y5.Events.notify("y5:yauser_cancel",this.caller,true,{caller:this});return true};Friends.YauserSearchInPost=a;y5.loaded("{Friends}.YauserSearchInPost")});y5.jsonT=function(self,rules){var T={output:false,init:function(){for(var rule in rules){if(rule.substr(0,4)!="self"){rules["self."+rule]=rules[rule]}}return this},apply:function(expr){var trf=function(s){return s.replace(/{([A-Za-z0-9_\$\.\[\]\'@\(\)]+)}/g,function($0,$1){return T.processArg($1,expr)})};var x=expr.replace(/\[[0-9]+\]/g,"[*]");var res;if(x in rules){if(typeof(rules[x])=="string"){res=trf(rules[x])}else{if(typeof(rules[x])=="function"){res=trf(rules[x](eval(expr)).toString())}}}else{res=T.eval(expr)}return res},processArg:function(arg,parentExpr){var expand=function(a,e){return(e=a.replace(/^\$/,e)).substr(0,4)!="self"?("self."+e):e};var res="";T.output=true;if(arg.charAt(0)=="@"){res=eval(arg.replace(/@([A-za-z0-9_]+)\(([A-Za-z0-9_\$\.\[\]\']+)\)/,function($0,$1,$2){return"rules['self."+$1+"']("+expand($2,parentExpr)+")"}))}else{if(arg!="$"){res=T.apply(expand(arg,parentExpr))}else{res=T.eval(parentExpr)}}T.output=false;return res},eval:function(expr){var v=eval(expr),res="";if(typeof(v)!="undefined"){if(v instanceof Array){for(var i=0;i<v.length;i++){if(typeof(v[i])!="undefined"){res+=T.apply(expr+"["+i+"]")}}}else{if(typeof(v)=="object"){for(var m in v){if(typeof(v[m])!="undefined"){res+=T.apply(expr+"."+m)}}}else{if(T.output){res+=v}}}}return res}};return T.init().apply("self")};y5.loaded("jsonT");y5.Components.Classes=function(a){this.classes=a;this.setClasses=function(b){this.cachedClasses=null;this.classes=b};this.setClass=function(b,c){this.cachedClasses=null;this.classes[b]=c};this.getClasses=function(){if(this.cachedClasses){return this.cachedClasses}this.cachedClasses={};for(var b in this.classes){if(b!="prefix"){this.cachedClasses[b]=this.classes.prefix+this.classes[b]}else{this.cachedClasses[b]=this.classes.prefix}}b=null;return this.cachedClasses}};y5.loaded("Components.Classes");y5.Components.AutoComplete=new function(){this.className="y5-AutoComplete-";this.cache={};this.createFromTag=function(b,c){var d=this;var a=y5.Dom.getElementByClass(new RegExp(this.className+"\\w+",""),b);if(c.data){this.initComponent(a,c.data,c);return}y5.require(["Ajax","AjaxJS"],function(){d.loadData(b,c,a)})};this.loadData=function(c,e,b){if(!e.link){return}var a=this.getCacheRow(e.id);if(a.result==null){a.result="";jQuery.ajax({url:e.link,dataType:"json",data:{requestid:e.id},success:function(g){d(g.html)}})}if(a.result==""){a.inputs.push(b)}else{if(a.result){this.initComponent(b,a.result,e)}}var f=this;function d(g){a.result=g;for(var j=0,h=a.inputs.length;j<h;j++){f.initComponent(a.inputs[j],g,e)}a.inputs=[]}};this.getCacheRow=function(a){if(!this.cache[a]){this.cache[a]={};this.cache[a].result=null;this.cache[a].inputs=[]}return this.cache[a]};this.initComponent=function(a,b,c){y5.Components.AutoComplete.create(a.parentNode,a,b,y5.Components.getName(a.className,this.className),c)};this.create=function(f,a,d,g,h){var c={};function e(){a.setAttribute("autocomplete","off");c.params=h;c.input=a;c.autocomplete=new y5.Components.AutoComplete[y5.Strings.capitalize(g)](c);c.autocomplete.init(f,h.template?y5.moduleObject(h.template):null,h.noDefaultSelect);c._string_=d;c.string=new y5.Components.AutoComplete.Strings(h.onlybyparent?"":d);a.setById=function(l){y5.Components.AutoComplete.setById(l,c,a)};a.specify=function(l){y5.Components.AutoComplete.specify(l,c,a)};if(a.value.length){var k=y5.Strings.trim(a.value);var j=k.length?c.string.match(k):null;if(j){c.autocomplete.reload(j,k);var i=c.autocomplete.getEvent();y5.CallBacks.dispatch("change",a,i)}}if(d!=""){c.string=new y5.Components.AutoComplete.Strings(d)}y5.Components.AutoComplete.setEvents(f,c,a)}var b=["{y5}.Components.AutoComplete."+g];if(h.template){b[b.length]=h.template}y5.require(b,e)};this.specify=function(d,c,a){var b="";if(d){c.string=new y5.Components.AutoComplete.Strings(c._string_);b=c.string.match(d,"parent");b=b?b.join(""):""}else{b=c.params.onlybyparent?"":c._string_}c.string=new y5.Components.AutoComplete.Strings(b)};this.setById=function(d,b,a){if(!d||(d&&d==a.value)){return}var c=b.string.match(d,"value")[0];var f={};f.text=b.string.getText(c);f.value=b.string.getValue(c);f.parent=b.string.getParent(c);y5.CallBacks.dispatch("change",b.autocomplete,f)};this.setEvents=function(a,s,h){var u=false,l=false;function g(v){if(v.closed){return}h.value=v.text;k();y5.CallBacks.dispatch("change",h,v)}y5.CallBacks.add("change",g,s.autocomplete);function m(){y5.CallBacks.dispatch("click",h);h.focus()}y5.CallBacks.add("click",m,s.autocomplete);function q(v){y5.CallBacks.dispatch("keyup",h,{keyCode:y5.ShortCut.ENTER});s.autocomplete.change();l=true}var j=y5.ShortCut.down([{key:y5.ShortCut.ENTER}],q,h,{checkTarget:false});j.remove();function r(v){y5.CallBacks.dispatch("keyup",h,{keyCode:y5.ShortCut.ESC});k()}y5.ShortCut.down([{key:y5.ShortCut.ESC}],r,h,false);function i(){j.add();b.add();y5.CallBacks.dispatch("open",h)}y5.CallBacks.add("open",i,s.autocomplete);function n(v){s.autocomplete.open();if(s.autocomplete.isOnly(v)){s.autocomplete.change()}}y5.CallBacks.add("reload",n,s.autocomplete);function t(){j.remove();b.remove();y5.CallBacks.dispatch("close",h)}y5.CallBacks.add("close",t,s.autocomplete);function k(){s.autocomplete.close();if(!h.disabled&&!u&&h.offsetHeight>0){try{h.focus()}catch(v){}}}function f(){s.autocomplete.down()}y5.ShortCut.press([{key:y5.ShortCut.DOWN_ARROW}],f,h,false);y5.ShortCut.down([{key:y5.ShortCut.DOWN_ARROW}],y5.NULL,h,false);function e(){s.autocomplete.up()}y5.ShortCut.press([{key:y5.ShortCut.UP_ARROW}],e,h,false);y5.ShortCut.down([{key:y5.ShortCut.UP_ARROW}],y5.NULL,h,false);function p(){var x=y5.Strings.trim(h.value);var w=x.length?s.string.match(x):null;if(!w){s.autocomplete.reload(null,x);var v={value:null,parent:null};y5.CallBacks.dispatch("change",h,v);return}s.autocomplete.reload(w,x)}new y5.InputObserver(p,h,true);function d(v){u=(v.keyCode==y5.ShortCut.TAB);if(l&&v.keyCode==y5.ShortCut.ENTER){v.preventDefault()}else{l=false}}y5.Events.observe("keypress",d,h,true);function o(v){s.autocomplete.change()}new y5.AEventListener("blur",o,h,true);function c(w){var v=w.target;while(v&&v!=y5.Dom.getBody()){if(v==a){return}v=v.parentNode}s.autocomplete.close()}var b=y5.Events.create("click",c,document,false)}};y5.Components.AutoComplete.Strings=function(a){this.setString=function(b){this.string=b};this.setString(a);this.match=function(c,b){return this.string.match(this.getRegExp(c,b))};this.getRegExp=function(c,b){switch(b){case"full":return new RegExp("<[^>]*>"+y5.Strings.escapeRegexp(c)+"</[^>]*>","ig");case"value":return new RegExp('<[^v]*v="'+y5.Strings.escapeRegexp(c)+'"[^>]*>[^<]*</[^>]*>',"i");case"parent":return new RegExp('<[^p]*p="'+y5.Strings.escapeRegexp(c)+'"[^>]*>[^<]*</[^>]*>',"ig");case"gettext":return new RegExp("<[^>]*>([^<]*)</[^>]*>","i");case"getvalue":return new RegExp('<[^v]*v="([^"]*)[^>]*>[^<]*</[^>]*>',"i");case"getstyle":return new RegExp('<[^s]*s="([^"]*)[^>]*>[^<]*</[^>]*>',"i");case"getparent":return new RegExp('<[^p]*p="([^"]*)[^>]*>[^<]*</[^>]*>',"i");case"node":return new RegExp('<[^v]*v="([^"]*)[^p]*p="([^"]*)[^>]*>([^<]*)</[^>]*>',"i");default:return new RegExp("<[^/>]*>"+y5.Strings.escapeRegexp(c)+"[^<]*</[^>]*>","ig")}return new RegExp("","")};this.getText=function(b){return b.match(this.getRegExp("","gettext"))[1]};this.getValue=function(b){return b.match(this.getRegExp("","getvalue"))[1]};this.getParent=function(b){var c=b.match(this.getRegExp("","getparent"));return c?c[1]:""};this.getStyle=function(b){var c=b.match(this.getRegExp("","getstyle"));return c?c[1]:""};this.createDataForNode=function(b){return{value:this.getValue(b),text:this.getText(b),parent:this.getParent(b),style:this.getStyle(b)}}};y5.require(["Strings","CallBacks","ShortCuts","Dom","Events","EventsExt"],function(){y5.loaded("Components.AutoComplete")});y5.Components.AutoComplete.Divs=function(a){this.input=a;this.init=function(c,d,b){this.noDefaultSelect=b;this.templates=d?new d():new y5.Components.AutoComplete.Divs.Templates();this.select=this.templates.apply({},"select");this.platform=this.select.length?this.select[0]:this.select;this.setEvents(this.platform);y5.Dom.getBody().appendChild(this.platform);this.select=this.select.length?this.select[1]:this.select;return this.select};this.setEvents=function(b){var f=this;function e(g){f.setActive(g.target.index,true);y5.CallBacks.dispatch("change",f,f.getEvent())}function d(g){e(g);y5.CallBacks.dispatch("click",f)}y5.Events.create("click",d,b,true);function c(g){f.setActive(g.target.index,true)}y5.Events.create("mouseover",c,b,true)};this.reload=function(b,c){if(this.timeout){window.clearTimeout(this.timeout)}if(!b||!b.length){this.close();return}this._reload(b,c)};this._reload=function(c,h){y5.Dom.clearNode(this.select);this.setSize(c.length);this.select.options=[];for(var d=0,b=c.length;d<b;d++){var f=this.input.string.createDataForNode(c[d]);var g=f.value;var e=f.parent;f=this.templates.apply(f,"option");f.parent=e;f.index=d;f.value=g;this.select.appendChild(f);this.select.options.push(f)}if(this.noDefaultSelect){this.setActive(-1,true)}else{this.setActive(0,true)}y5.CallBacks.dispatch("reload",this,h)};this.open=function(){if(this.select.options.length==0){return}var b=this.input.input,e=y5.Dom.offsetTop(b)+b.offsetHeight-1,d=y5.Dom.offsetLeft(b)-2,c=b.offsetWidth-2;if(y5.is_ie7down){c+=2}this.platform.style.cssText="display:block;top:"+e+"px;left:"+d+"px;width:"+c+"px !important;";y5.CallBacks.dispatch("open",this)};this.close=function(b){this.platform.style.display="none";y5.CallBacks.dispatch("close",this)};this.focus=function(){this.select.focus()};this.getEvent=function(){var b=this.select.options[this.select.selectedIndex],c;if(b){c={text:b.firstChild.nodeValue,value:b.value,parent:b.parent,closed:false}}else{c={text:null,value:null,parent:null,closed:true}}return c};this.change=function(){var b;if(this.platform.style.display=="none"){b={closed:true}}else{b=this.getEvent()}y5.CallBacks.dispatch("change",this,b);this.close()};this.up=function(){var b=0;if(y5.Types.def(this.select.selectedIndex)){b=Math.max(this.select.selectedIndex-1,0)}this.setActive(b,true)};this.down=function(){var b=0;if(y5.Types.def(this.select.selectedIndex)){b=Math.min(this.select.selectedIndex+1,this.select.options.length-1)}this.setActive(b,false)};this.isOnly=function(b){return this.select.options.length==1&&y5.Strings.trim(b).toLowerCase()==this.select.options[0].firstChild.nodeValue.toLowerCase()};this.setActive=function(b,d){if(isNaN(b)){return}var c=this.select.selectedIndex;if(c==b&&y5.Classes.test(this.select.options[b],this.templates.classes.selected)){return}if(typeof(c)!=y5.UNDEF&&this.select.options[c]){this.select.selectedIndex=undefined;y5.Classes.remove(this.select.options[c],this.templates.classes.selected)}if(this.select.options[b]){y5.Classes.add(this.select.options[b],this.templates.classes.selected);this.select.selectedIndex=b;d?this.scrollIntoViewTop():this.scrollIntoViewBottom()}};this.scrollIntoViewTop=function(){if(this.select.selectedIndex==0&&this.select.scrollTop==0){return}var b=this.select.options[this.select.selectedIndex];var c=y5.Dom.offsetTop(b)-y5.Dom.offsetTop(this.select);if(c<=this.select.scrollTop){this.select.scrollTop=c}c=null};this.scrollIntoViewBottom=function(){var c=this.select.options[this.select.selectedIndex];var b=y5.Dom.offsetTop(c)-y5.Dom.offsetTop(this.select)+c.offsetHeight;if(b>this.select.scrollTop+this.select.offsetHeight){this.select.scrollTop=b-this.select.offsetHeight}b=null};this.setSize=function(b){this.select.style.height=this.templates.getSize(b)}};y5.Components.AutoComplete.Divs.Templates=function(){y5.Styles.createStyle(y5.constructURL("{y5}.Components.AutoComplete.divs","css"),true);var a={prefix:"y5-autocomplete-",autocomplete:"autocomplete",selected:"selected"};this.classes=new y5.Components.Classes(a).getClasses();this.apply=function(d,c){var b=y5.jsonT(d,this.templates(c));return y5.Elements.createElementFromHTML(b)};this.templates=function(c){var b=this.classes;var d={};switch(c){case"select":d={self:'<span style="display:none;" class="'+b.autocomplete+'"></span>'};break;case"option":d={self:'<span style="{$.style}">{$.text}</span>'};break}return d};this.getSize=function(d){var b=10,c=1;return(Math.min(b,Math.max(c,d))*1.4+(y5.is_opera||y5.is_ie?0.5:0))+"em"}};y5.require(["Utils","Events","Classes","ShortCuts","Elements","Styles","jsonT","Components.Classes","Strings","Dom","cssQuery"],function(){y5.loaded("Components.AutoComplete.Divs")});Friends.AutoCompleteTemplate=function(){var a={prefix:"y5-autocomplete-",autocomplete:"autocomplete",selected:"selected"};this.classes=new y5.Components.Classes(a).getClasses();this.apply=function(d,c){var b=y5.jsonT(d,this.templates(c));if(c=="select"){b=y5.Elements.createFromHTML(b);return[b,b.firstChild]}return y5.Elements.createFromHTML(b)};this.templates=function(c){var b=this.classes;var d={};switch(c){case"select":d={self:'<span class="b-autocomplete" style="display:none;"><span class="'+b.autocomplete+'"></span></span>'};break;case"option":d={self:'<span style="{$.style}">{$.text}</span>'};break}return d};this.getSize=function(d){var b=10,c=1;return(Math.min(b,Math.max(c,d))*1.93+(y5.Vars.is_opera||y5.Vars.is_ie?0.1:0))+"em"}};y5.require(["Components","Elements","jsonT"],function(){y5.loaded("{Friends}.AutoCompleteTemplate")});y5.Components.MultiAutoComplete=new function(){this.createFromTag=function(e,g){var b=y5.Dom.getElementsByClass(new RegExp(y5.Components.AutoComplete.className+"\\w+",""),e);function f(h){function i(k){var m=h.getAttribute("id");var j=g.parents[m]?y5.$(g.parents[m]):null;if(j&&typeof(j.setById)=="function"){j.setById(k.parent)}var l=g.childs[m]?y5.$(g.childs[m]):null;if(l&&typeof(l.specify)=="function"){l.specify(k.value)}}y5.CallBacks.add("change",i,h)}for(var d=0,a=b.length;d<a;d++){var c=b[d];f(c)}d=a=b=null}};y5.require(["Dom","CallBacks","Components.AutoComplete"],function(){y5.loaded("Components.MultiAutoComplete")});Friends.FieldValidator=new function(){this.prefix="FieldValidator-";this.createFromTag=function(a,b){new Friends.FieldValidator[b.type](a,b)};this.getNotes=function(f){var e={__visible__:null};var c=y5.Dom.getDescendants(f,"*",new RegExp(this.prefix+"note-\\w+","ig"));for(var d=0,a=c.length;d<a;d++){var b=y5.Components.getName(c[d].className,this.prefix+"note-");e[b]=c[d];if(e[b].style.display!="none"){e.__visible__=e[b]}}return e};this.showNote=function(a,b){if(a.__visible__){a.__visible__.style.display="none"}if(a[b]){a[b].style.display="block";a.__visible__=a[b]}else{a.__visible__=null}};this.onlyNumbers=function(a){return/^\d+$/.test(a)};this.ERROR="error";this.SUCCESS="success";this.EMPTY="empty";this.PROVED="proved";this.NOT_PROVED="notProved"};Friends.FieldValidator.ICQ=function(b,c){var d=this;this.field=y5.Dom.getDescendant(b,"*",this.prefix+"field");this.notes=this.getNotes(b);function a(){d.check()}y5.Events.create("keyup",a,b,true);this.check=function(){var e=this.SUCCESS;if(this.field.value.length&&!this.onlyNumbers(this.field.value)){e=this.ERROR}y5.Events.notify("y5:validationState",this.field,true,{state:e,element:this.field});this.showNote(this.notes,e)}};Friends.FieldValidator.ICQ.prototype=Friends.FieldValidator;Friends.FieldValidator.Email=function(b,e){var f=this;this.field=y5.Dom.getDescendant(b,"*",this.prefix+"field");this.notes=this.getNotes(b);function a(g){if(typeof(g.value)!=y5.Vars.UNDEF&&g.value===null){return}f.check(true)}if(e.eventType){var c=document.getElementsByTagName(e.eventTargetTagName);if(c.length>0){var d=c[e.eventTargetName];new y5.AEventListener(e.eventType,function(g){if(f.check()==f.ERROR){g.preventDefault()}},d,true)}}else{y5.Events.create("change",a,this.field,true);y5.Events.observe("y5:change",a,this.field,true)}this.email=function(g){return/^[\w-]+([\.+][\w-]+)*@([\w-]+\.)+[a-z]{2,7}$/i.test(g)};this.check=function(j){var g=this.NOT_PROVED;var h=this.field.value;var i=this.field.getAttribute("placeholder");if((h==""||i&&h==i)&&j){g=this.EMPTY}else{if(new RegExp("\\|"+h+"\\|").test(this.validated)){g=this.PROVED}else{if(!this.email(h)){g=this.ERROR}}}y5.Events.notify("y5:validationState",this.field,true,{state:g,element:this.field});this.showNote(this.notes,g);return g};this.getValidatedEmails=function(g){return g.replace(/<[^>]*>/ig,"|").replace(/\|\|/ig,"|")};this.validated=e.data?this.getValidatedEmails(e.data):"";this.check(true)};Friends.FieldValidator.Email.prototype=Friends.FieldValidator;y5.require(["Events"],function(){y5.loaded("{Friends}.FieldValidator")});Friends.MetroRegion=new function(){this.createFromTag=function(b,e){var a=y5.Dom.getDescendant(b,"*","profile-fields-city");var d=y5.$("title-metro");var c=y5.$("title-region");function f(g){if(g.value=="213"){y5.Classes.add(c,"i-hidden");y5.Classes.remove(d,"i-hidden")}else{y5.Classes.add(d,"i-hidden");y5.Classes.remove(c,"i-hidden")}}y5.Events.observe("y5:change",f,a,true)}};y5.require(["Dom","Events","Classes"],function(){y5.loaded("{Friends}.MetroRegion")});y5.require(["Strings","Types"],function(){var f=/\%e[^\%]*\%B/,b=/((\d+):(\d+):?(\d+)?)?\s?((\d+)[-.\/,](\d+)[-.,\/,](\d+))\s?((\d+):(\d+):?(\d+)?)?/,a=["Y","y","m","n","B","b","d","e","H","M","S"],e={},d,g=a.length;for(d=0;d<g;d++){e[a[d]]=new RegExp("%"+a[d],"g")}y5.Dates={days:{Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6},dayNames:["\u041f","\u0412","\u0421","\u0427","\u041f","\u0421","\u0412"],dayNames2:["\u041F\u043D","\u0412\u0442","\u0421\u0440","\u0427\u0442","\u041F\u0442","\u0421\u0431","\u0412\u0441"],monthNames:["\u042f\u043d\u0432\u0430\u0440\u044c","\u0424\u0435\u0432\u0440\u0430\u043b\u044c","\u041c\u0430\u0440\u0442","\u0410\u043f\u0440\u0435\u043b\u044c","\u041c\u0430\u0439","\u0418\u044e\u043d\u044c","\u0418\u044e\u043b\u044c","\u0410\u0432\u0433\u0443\u0441\u0442","\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c","\u041e\u043a\u0442\u044f\u0431\u0440\u044c","\u041d\u043e\u044f\u0431\u0440\u044c","\u0414\u0435\u043a\u0430\u0431\u0440\u044c"],monthShortNames:["\u042f\u043d\u0432","\u0424\u0435\u0432","\u041c\u0430\u0440","\u0410\u043f\u0440","\u041c\u0430\u0439","\u0418\u044e\u043d","\u0418\u044e\u043b","\u0410\u0432\u0433","\u0421\u0435\u043d","\u041e\u043a\u0442","\u041d\u043e\u044f","\u0414\u0435\u043a"],monthNamesPartitive:["\u044f\u043d\u0432\u0430\u0440\u044f","\u0444\u0435\u0432\u0440\u0430\u043b\u044f","\u043c\u0430\u0440\u0442\u0430","\u0430\u043f\u0440\u0435\u043b\u044f","\u043c\u0430\u044f","\u0438\u044e\u043d\u044f","\u0438\u044e\u043b\u044f","\u0430\u0432\u0433\u0443\u0441\u0442\u0430","\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f","\u043e\u043a\u0442\u044f\u0431\u0440\u044f","\u043d\u043e\u044f\u0431\u0440\u044f","\u0434\u0435\u043a\u0430\u0431\u0440\u044f"],toFormat:function(m,j){var p=(f.test(j)?this.monthNamesPartitive:this.monthNames),h=[[e.Y,"%04d",m.getFullYear()],[e.y,"%02d",m.getFullYear()%100],[e.m,"%02d",m.getMonth()+1],[e.n,"%d",m.getMonth()+1],[e.d,"%02d",m.getDate()],[e.e,"%d",m.getDate()],[e.H,"%02d",m.getHours()],[e.M,"%02d",m.getMinutes()],[e.S,"%02d",m.getSeconds()],[e.B,"%s",p[m.getMonth()]],[e.b,"%s",this.monthShortNames[m.getMonth()]]],n,k=h.length,o=null;for(n=0;n<k;n++){o=h[n];j=j.replace(o[0],y5.Strings.printf(o[1],[o[2]]))}h=null;return j},changeMonth:function(j,h){j=this.clone(j);var k=j.getMonth()+h,i=i>0?k%12:(k+(12*Math.ceil(Math.abs(k/12))))%12;j.setMonth(k);if(i!=j.getMonth()){j.setDate(0)}return j},changeYear:function(i,h){i=this.clone(i);var j=i.getMonth();i.setFullYear(i.getFullYear()+h);if(j!=i.getMonth()){i.setDate(0)}return i},strToTime:function(p){var q=this,j=NaN,t=0,k=0,r=0,o=0,l=0,v=0,n=p.match(b);if(n&&n[5]){if(n[6].length==4){t=parseInt(n[6],10);if(1<=n[7]&&n[7]<=12){k=parseInt(n[7],10);r=parseInt(n[8],10)}else{k=parseInt(n[8],10);r=parseInt(n[7],10)}}else{if(n[8].length==4){t=parseInt(n[8],10);if(1<=n[7]&&n[7]<=12){k=parseInt(n[7],10);r=parseInt(n[6],10)}else{k=parseInt(n[6],10);r=parseInt(n[7],10)}}else{if(1<=n[6]&&n[6]<=31){r=parseInt(n[6],10);k=parseInt(n[7],10);t=parseInt(n[8],10)}else{r=parseInt(n[8],10);k=parseInt(n[7],10);t=parseInt(n[6],10)}t=t<70?2000+t:1900+t}}if(n[1]){o=parseInt(n[2],10);l=parseInt(n[3],10);v=parseInt(n[4],10)}else{if(n[9]){o=parseInt(n[10],10);l=parseInt(n[11],10);v=parseInt(n[12],10)}}v=isNaN(v)?0:v;j=new Date(t,k-1,r,o,l,v)}else{if((n=p.match(/(\d+)\s+(.*)\s+(\d+)/))){r=parseInt(n[1],10);t=parseInt(n[3],10);k=u(n[2],10);if(!isNaN(r)&&!isNaN(t)&&k!=-1){j=new Date();j.setDate(r);j.setMonth(k);j.setYear(t)}}else{if((n=p.match(/(\d+)\s+(.*)/))){r=parseInt(n[1],10);k=u(n[2]);if(!isNaN(r)&&k!=-1){j=new Date();j.setDate(r);j.setMonth(k)}}}}function u(m){m=m.toLowerCase();var w=["monthNamesPartitive","monthShortNames","monthNames"],s,x=-1,h;for(s=0;s<3;s++){for(h=0;h<12;h++){if(m==q[w[s]][h].toLowerCase()){x=h;break}}if(x!=-1){break}}return x}return j},getMonthDays:function(i,h){if(y5.Types.date(i)){h=i.getYear();i=i.getMonth()}var j=[31,((h%4==0)?29:28),31,30,31,30,31,31,30,31,30,31];return j[i]},getDayOffset:function(i,h){if(this.days[h]){h=this.days[h]}else{h=parseInt(h,10)}if(isNaN(h)){h=1}if(this.days[i]){i=this.days[i]}else{i=parseInt(i,10)}if(isNaN(i)){i=1}if(i<h){return 7-h+i}else{return i-h}},clone:function(h){return new Date(h)}};var c=y5.Dates;c.getDay=c.getDayOffset;y5.loaded("Dates")});y5.require(["Events","Dom","Dates","Components.Calendar","Widget.Popup","ShortCuts"],function(){var d=/y5-calendar-result-\w+/i,c=/y5-calendar-text/i,a=/y5-calendar-result/i,b=/y5-calendar-button/i;y5.Components.Calendar.FiveInputs=function(e,f){this.element=e;this.calendarContainer=document.createElement("div");this.inputs=y5.Dom.getElementsByClass(d,this.element);this.text=y5.Dom.getElementByClass(c,this.element);this.result=y5.Dom.getElementByClass(a,this.element);this.button=y5.Dom.getElementByClass(b,this.element);if(this.button){this.button.style.display="";this.button.style.visibility="visible"}this.className=f.className?" "+f.className:"";this.textFormat=f.textFormat||"%e %B %Y %H:%M";f.date=this.setDate();if(y5.Types.undef(f.initWithNow)){f.initWithNow=true}if(f.initWithNow){this.selectDate(f.date,true)}if(this.text){this.text.innerHTML=y5.Dates.toFormat(f.date,this.textFormat)}this.init(f)};y5.Components.Calendar.FiveInputs.prototype=new function(){this.init=function(f){this.calendar=new y5.Components.Calendar(f);this.calendarContainer.appendChild(this.calendar);if(this.text){function g(){this.text.style.display="none";this.result.style.display="block"}y5.Events.observe("click",g,this.text,true,this)}function e(){y5.Widget.make(this.calendarContainer,"Widget.Popup",{element:this.element,saveState:true,className:"y5-calendar-popup"+this.className});y5.Events.notify("y5:Calendar:open",this.element,true)}y5.Events.observe("click",e,this.button,true,this);y5.Events.observe("y5:kill",function(){y5.Events.notify("y5:Calendar:close",this.element,true);this.button.disabled=false},this.calendarContainer,true,this);y5.Events.observe("y5:activate",function(){this.button.disabled=true},this.calendarContainer,true,this);this.inputs.forEach(function(h){y5.Events.observe("change",this.setDate,h,true,this)},this);this.inputs.forEach(function(h){y5.ShortCut.press([{key:y5.ShortCut.ENTER}],this.setDate,h,{checkTarget:false,context:this,preventDefault:true})},this);y5.Events.observe("y5:Calendar:selectDate",this.selectDate,this.calendar,true,this)};this.selectDate=function(e,f){y5.Dates.toFormat(e,"%d|%m|%Y|%H|%M").split("|").forEach(function(h,g){if(this.inputs[g]){this.inputs[g].value=h}},this);if(!f){y5.Widget.get(this.calendarContainer).kill();y5.Events.notify("y5:Calendar:selectDate",this.element,true,e);y5.Events.notify("y5:Calendar:close",this.element,true)}};this.setDate=function(f){var e=new Date();["Date","Month","Year","Hours","Minutes"].forEach(function(j,g){if(this.inputs[g]){var h=parseInt(this.inputs[g].value,10);if(h){if(g==1){h--}e["set"+j](h)}}},this);if(f){y5.Events.notify("y5:Calendar:setDate",this.calendar,true,e)}return e}};y5.loaded("Components.Calendar.FiveInputs")});function ProfileEdit(a){this.control=a;this.saveButton=0;this.saveAllButton=0;this.tracker=0;this.form=getParentOrSelfByTagName(this.control,"form");this.story=0;this.special=0;this.proccessDeleteStory=false;this.proccessDeleteSpecial=false;this.errors=[];var c=this;function b(){c.init();c.process_marking={send:function(){if(c.timer){window.clearTimeout(this.timer)}y5.Classes.remove(c.spin,"i-hidden")},responseSuccess:function(d,e){if(d=="error"){this.error(d,e)}else{y5.Classes.add(c.spin,"i-hidden");c.synchronizeEntries(d);y5.Classes.remove(c.control,c.BLOCKCLASSNAME+"-changed");c.tracker.initialState=c.tracker.controlsState();c.process_text.deleteData(0,16)}},responseError:function(d,e){y5.Classes.add(c.spin,"i-hidden");var f="Ошибка при сохранении.";c.process_text.deleteData(0,16);c.process_text.insertData(0,f);c.timer=window.setTimeout(function(){c.process_text.deleteData(0,f.length)},5000);y5.Classes.remove(c.control,c.BLOCKCLASSNAME+"-changed")}}}y5.require(["Events","cssQuery","Dom","Classes"],b)}ProfileEdit.prototype={TAGNAME:"div",CLASSNAME:"c-profile-edit",BLOCKCLASSNAME:"b-profile-edit",activate:function(){if(y5.Classes.test(this.control,this.BLOCKCLASSNAME+"-active")){return}y5.Classes.add(this.control,this.BLOCKCLASSNAME+"-active");y5.Classes.remove(this.control,this.BLOCKCLASSNAME+"-closed");this.setSwitcherState(this.control);this.deactivateOtherBlocks();this.collapseOtherBlocks();this.resizeAutoareas()},checkChanges:function(){if(this.errors.length>0){if(this.saveAllButton){this.saveAllButton.disabled=true}return this.saveButton.disabled=true}var d=this.tracker.controlsState()!=this.tracker.initialState;this.saveButton.disabled=!d;if(d){y5.Classes.add(this.control,this.BLOCKCLASSNAME+"-changed");if(this.saveAllButton){this.saveAllButton.value="Сохранить сделанные изменения";this.saveAllButton.disabled=false}}else{y5.Classes.remove(this.control,this.BLOCKCLASSNAME+"-changed");var a=y5.Dom.getDescendants(this.control.parentNode.parentNode,this.TAGNAME,this.BLOCKCLASSNAME);for(var c=0,b=a.length;c<b;c++){if(y5.Classes.test(a[c],this.BLOCKCLASSNAME+"-changed")){return}}if(this.saveAllButton){this.saveAllButton.value="Изменений ещё не внесено";this.saveAllButton.disabled=true}}},trigger:function(a){a.preventDefault();a.stopPropagation();if(y5.Classes.test(this.control,this.BLOCKCLASSNAME+"-closed")){y5.Classes.remove(this.control,this.BLOCKCLASSNAME+"-closed");y5.Classes.add(this.control,this.BLOCKCLASSNAME+"-opened");y5.Classes.add(this.control,this.BLOCKCLASSNAME+"-active");this.deactivateOtherBlocks();this.collapseOtherBlocks();this.resizeAutoareas()}else{y5.Classes.remove(this.control,this.BLOCKCLASSNAME+"-opened");y5.Classes.add(this.control,this.BLOCKCLASSNAME+"-closed");y5.Classes.remove(this.control,this.BLOCKCLASSNAME+"-active")}this.setSwitcherState(this.control);return false},sample:function(b,e){var f=b;while(!y5.Dom.testTagName(f,"fieldset")){f=f.parentNode}var a=f.getElementsByTagName("textarea");if(!a.length){a=y5.cssQuery('input[type="text"], input:not(input[type])',f)}y5.Console.log(a);var g=b.innerHTML.replace(/ /g," ");var d=a[e[0]];if(e.length==1){if(d.autoarea){if(d.value.indexOf(g)==-1){if(/\S+/.test(d.value)){d.value+=", "}d.value+=g;d.autoarea.resizeArea()}}else{d.value=g}}else{if(e.length==2){var c=g.split("-");d.value=c[0];a[e[1]].value=c[1]}}this.checkChanges()},addSpecial:function(f){if(!this.n_input.value.length){alert('Поле "'+this.n_input.previousSibling.data.replace(":","")+'" не заполнено');this.n_input.focus();return false}else{if(!this.v_input.value.length){alert('Поле "'+this.v_input.previousSibling.data.replace(":","")+'" не заполнено');this.v_input.focus();return false}}var a=this.n_input.value.substr(0,1).toUpperCase()+this.n_input.value.substr(1);var b=f.getElementsByTagName("p");if(this.form){for(var h=0,e=b.length;h<e;h++){var d=b.item(h).getElementsByTagName("input")[0].name.substr(2);var c=this.form["v-name_"+d];if(c){if(c.value==a){alert("Такая запись уже существует");return false}}}}var m="custom_entry_temporary"+this.special;this.special++;var g="m"+Math.round(Math.random()*1000000000);var n=document.createElement("label");n.htmlFor="id-"+g;var j=document.createElement("p");var k=document.createTextNode(a+": ");n.appendChild(k);appendInputField(n,{name:"v-value_"+m,id:"id-"+g,type:"text",value:this.v_input.value});j.className="full "+g;appendInputField(j,{name:"c_"+m,type:"hidden",value:"Special"});appendInputField(j,{name:"n_"+m,type:"hidden",value:"custom_entry"});appendInputField(j,{name:"t_"+m,type:"hidden",value:"xml"});appendInputField(j,{name:"v-name_"+m,type:"hidden",value:y5.Strings.escapeHTML(a)});n=j.appendChild(n);appendInputField(j,{name:"v-marker_"+m,type:"hidden",value:g});f.appendChild(j);this.v_input.value=this.n_input.value="";this.createSpecialDelButtons(j);this.checkChanges();new y5.Event("click",f);return true},delSpecial:function(a,b){if(!a){return}var c=a.parentNode.parentNode;if(!c){return}y5.Dom.removeNode(a);y5.Dom.removeNode(c);this.noSpecialEntries(b,"p");this.checkChanges();new y5.Event("click",b)},changeSchoolType:function(b){var a=this.control.getElementsByTagName("li");y5.Classes.remove(a,"active");y5.Classes.add(a[b],"active")},synchronizeEntries:function(data){if(data.substr(0,6)=="window"){var result=eval(data);var id,c;for(var i in result){if(i=="progress"){continue}if(i.match(/g_/)){var inputs=this.control.getElementsByTagName("input");for(var j in inputs){if(inputs[j].type=="checkbox"){var n;for(n in result[i]){if(n==inputs[j].value){var name=inputs[j].name.substr(2);var id="i_"+name;var c="c_"+name;if(y5.TYPES.undef(this.form[id])){appendInputField(inputs[j].parentNode,{type:"hidden",name:id,value:result[i][n]})}}}}}}else{id="i_"+i;c="c_"+i;if(y5.TYPES.undef(this.form[id])){appendInputField(this.form[c].parentNode,{type:"hidden",name:id,value:result[i]})}}}}else{var entryArray=data.split(",");if(entryArray.length){for(var i=0,l=entryArray.length;i<l;i++){if(i=="progress"){continue}if(entryArray[i].indexOf(":")=="-1"){continue}var entry=entryArray[i].split(":");this.synchronizeEntry(entry)}}}if(this.proccessDeleteStory){var dt_old=y5.Dom.getDescendants(this.control,"dt","i-hidden");for(var j=0,k=dt_old.length;j<k;j++){var p=dt_old[j].parentNode;p.removeChild(dt_old[j])}var dd_old=y5.Dom.getDescendants(this.control,"dd","i-hidden");for(var j=0,k=dd_old.length;j<k;j++){var p=dd_old[j].parentNode;p.removeChild(dd_old[j])}this.proccessDeleteStory=false}if(this.proccessDeleteSpecial){var special_entry_old=y5.Dom.getDescendants(this.control,"p","i-hidden");for(var j=0,k=special_entry_old.length;j<k;j++){special_entry_old[j].parentNode.removeChild(special_entry_old[j])}this.proccessDeleteSpecial=false}},synchronizeEntry:function(d){var a=d[0];var e=d[1];var c=y5.Dom.getDescendant(this.control,"dt",a);var b=y5.Dom.getDescendant(this.control,"p",a);if(c){this.synchronizeEntryStory(c,a,e)}else{if(b){this.synchronizeEntrySpecial(b,a,e)}}return true},synchronizeEntryStory:function(f,g,b){var h=f.getElementsByTagName("input");var c=null;for(var e=0,d=h.length;e<d;e++){if(h.item(e).name.match(/^n_/)){c=h.item(e).value}if(h.item(e).value==g){h.item(e).parentNode.removeChild(h.item(e));continue}h.item(e).name=h.item(e).name.replace(/(temporary)(\S)*/,g)}if(!c){return}var a=c+"_"+g;appendInputField(f,{type:"hidden",name:"i_"+a,value:b});var l=getNextElement(f,"dd");var i=document.createElement("label");i.setAttribute("for","id"+b);i.className="del i-hidden";i=l.appendChild(i);appendInputField(i,{type:"checkbox",name:"d_"+a,value:b})},synchronizeEntrySpecial:function(f,g,b){var h=f.getElementsByTagName("input");var c=null;for(var e=0,d=h.length;e<d;e++){if(h.item(e).name.match(/^n_/)){c=h.item(e).value}if(h.item(e).value==g){h.item(e).parentNode.removeChild(h.item(e));continue}h.item(e).name=h.item(e).name.replace(/(temporary)(\S)*/,g)}if(!c){return}var a=c+"_"+g;appendInputField(f,{type:"hidden",name:"i_"+a,value:b});var i=document.createElement("label");i.setAttribute("for","id"+b);i.className="del i-hidden";i=f.appendChild(i);appendInputField(i,{type:"checkbox",name:"d_"+a,value:b});y5.Classes.remove(f,g)},addStory:function(f){var n,p;var o=this.control.getElementsByTagName("li");for(var h=0,c=o.length;h<c;h++){if(y5.Classes.test(o[h],"active")){p=h;n=o[h].getElementsByTagName("input");break}}if(!n[3].value){alert("Необходимо заполнить поле: "+n[3].previousSibling.data.replace(":",""));n[3].focus();return false}var r=f.getElementsByTagName("span");if(r.length){f.innerHTML="<dl></dl>"}var k="m"+Math.round(Math.random()*1000000000);var g='<dt class="'+k+'">';var a=y5.Strings.escapeHTML(n[3].value);var e=y5.Strings.escapeHTML(n[4].value);var m=n[5].value;var s=n[6].value;var b=y5.Strings.escapeHTML(n[7].value);for(var d in n){if(y5.TYPES.def(n[d].value)){g+="<input type='hidden' name='"+n[d].name+"_temporary"+this.story+"' value='"+y5.Strings.escapeHTML(n[d].value)+"'/>"}}g+="<input type='hidden' name='v-marker_"+n[1].value+"_temporary"+this.story+"' value='"+k+"'/>";g+=' <i class="g-nowrap">';if(m.length||s.length){g+=prettyDate(m,s)}g+="</i></dt><dd>";this.story++;switch(p){case 0:g+="<strong>Школа</strong> №"+a;if(b.length){g+=" ("+b+")"}if(e.length){g+=", "+e}break;case 1:g+="<strong>ВУЗ</strong> ";g+=a;if(b.length){g+=" ("+b+")"}if(e.length){g+=", "+e}break;case 2:g+="<strong>"+a+"</strong>";if(b.length||e.length){g+=" —"}if(b.length){g+=" "+b}if(e.length){g+=", "+e}break}n[3].value=n[4].value=n[5].value=n[6].value=n[7].value="";var q=getByTagName("dl",f)[0];q.innerHTML+=g+"</dd>";this.createSchoolDelButtons(f);this.checkChanges();new y5.Event("click",f);return true},delStory:function(a,c){var b=a.parentNode.parentNode;b.parentNode.removeChild(getNextElement(b,"dd"));b.parentNode.removeChild(b);this.noSpecialEntries(c,"dt");this.checkChanges();new y5.Event("click",c)},save:function(){var c=this;var b=function(d,e){c.checkChanges()};var a=function(d){};return false},getSwitcher:function(a){return a.getElementsByTagName("img")[0]},setSwitcherState:function(a){var b=this.getSwitcher(a);if(y5.Classes.test(a,this.BLOCKCLASSNAME+"-closed")){b.alt="+";b.src=g_globals.img_base+"control/profile-block-closed.gif"}else{b.alt=String.fromCharCode(8722);if(y5.Classes.test(a,this.BLOCKCLASSNAME+"-active")){b.src=g_globals.img_base+"control/profile-block-active.gif"}else{b.src=g_globals.img_base+"control/profile-block-opened.gif"}}},deactivateOtherBlocks:function(){if(!this.other){this.other=y5.Dom.getDescendants(getParentOrSelfByTagName(this.control,"table"),this.TAGNAME,this.BLOCKCLASSNAME)}for(var b=0,a=this.other.length;b<a;b++){if(this.other[b]!=this.control){y5.Classes.remove(this.other[b],this.BLOCKCLASSNAME+"-active");this.setSwitcherState(this.other[b])}}},collapseOtherBlocks:function(){var d=getParentOrSelfByTagName(this.control,"td");if(y5.Classes.test(d,"single")){var a=y5.Dom.getDescendants(d,this.TAGNAME,this.BLOCKCLASSNAME);for(var c=0,b=a.length;c<b;c++){if(a[c]!=this.control){y5.Classes.remove(a[c],this.BLOCKCLASSNAME+"-opened");y5.Classes.add(a[c],this.BLOCKCLASSNAME+"-closed");this.setSwitcherState(a[c])}}}},resizeAutoareas:function(){var a=getByTagName("textarea",this.control);for(var c=0,b=a.length;c<b;c++){if(a[c].autoarea){a[c].autoarea.resizeArea()}}},createSpecialDelButtons:function(g){var e=g.getElementsByTagName("input");var h=this;function d(i,j){y5.Events.create("click",function(k){k.stopPropagation();h.delSpecial(i,j)},i,true)}for(var f=0,b=e.length;f<b;f++){if(e[f].type!="text"){continue}var c=getPrevElement(e[f],"img");if(!c){c=this.createDelButton();e[f].parentNode.insertBefore(c,e[f])}c.id="img-"+f;d(c,g)}var a=y5.Dom.getDescendants(g,"label","del");for(var f=0,b=a.length;f<b;f++){y5.Classes.add(a[f],"i-hidden")}},noSpecialEntries:function(b,a){if(!getByTagName(a,b).length){b.innerHTML='<span class="b-note">Пока вы ещё ничего не добавили.</span>'}},createSchoolSwitcher:function(f,e,d,c){var h=this;var g="i"+new Date().getTime()+d;var a=document.createElement("span");a.innerHTML='<label for="'+g+'"><i><input id="'+g+'" name="type" type="radio"/></i>'+e+"</label>";f.appendChild(a);var b=getById(g);b.checked=c;new y5.AEventListener("click",function(i){h.changeSchoolType(d)},b,true,this)},createSchoolDelButtons:function(g){var h=this;var f=g.getElementsByTagName("dt");for(var e=0,c=f.length;e<c;e++){var d=getByTagName("img",f[e]);if(!d.length){d=this.createDelButton();var a=f[e].getElementsByTagName("nobr");if(a.length&&a[0].innerHTML.length){d.className="row-delete"}f[e].getElementsByTagName("i")[0].appendChild(d)}else{d=d[0]}new y5.AEventListener("click",function(i){h.delStory(i.target,g)},d,true,this)}var b=y5.Dom.getDescendants(g,"label","del");for(var e=0,c=b.length;e<c;e++){y5.Classes.add(b[e],"i-hidden")}},createDelButton:function(){var a=document.createElement("img");a.src="http://img.yandex.net/i/delete.gif";a.alt=" x ";a.title="Удалить";return a},init:function(){var s=this;function h(i){s.activate()}y5.Events.create("click",h,this.control,true);var o=document.createElement("p");o.className="submit";this.saveButton=document.createElement("input");this.saveButton.type="submit";this.saveButton.value="Сохранить";this.spin=document.createElement("img");this.spin.setAttribute("src",g_globals.img_base+"bar.gif");this.spin.setAttribute("width",62);this.spin.setAttribute("height",5);y5.Classes.add(this.spin,"i-hidden");y5.Classes.add(this.spin,"progress-r");o.appendChild(this.saveButton);this.spin=o.appendChild(this.spin);var e=(this.control.nodeName.toLowerCase()!="fieldset")?this.control:this.control.parentNode;e.appendChild(o);this.category=this.control.getElementsByTagName("input")[0].value;function v(){function i(x){var j;if(s.control.tagName.toLowerCase()=="fieldset"){j=s.control}else{if(typeof(s.control.getElementsByTagName("fieldset")[0])!="undefined"){j=s.control.getElementsByTagName("fieldset")[0]}else{getParentOrSelfByTagName(x.target,"fieldset")}}if(j){s.process_text=document.createTextNode("");s.process_text=s.saveButton.parentNode.appendChild(s.process_text);s.saveButton.disabled=true;if(s.category=="CV"){var p=y5.Dom.getDescendants(j,"li","active")[0];if(p.getElementsByTagName("input")[3].value.length){getById("addStory").click()}}else{if(s.category=="Special"){s.v_input.value=s.n_input.value=""}}var l;if(s.category=="Abilities"){l=friendsURL("ajax/profile_category_abilities_do_update")}else{if(s.category=="Favourites"){l=friendsURL("ajax/profile_category_favourites_do_update")}else{l=friendsURL("ajax/profile_category_do_update")}}window.ajaxForm=new AjaxForm(j,l,s.process_marking);window.ajaxForm.submit(true);x.preventDefault();return false}return true}y5.Events.create("click",i,s.saveButton,true);return true}y5.require(["Events","Dom","Classes","Ajax","AjaxObject"],v);var c=y5.Dom.getDescendant(this.control,"table","head");var d=c.rows[0];var b=d.cells[d.cells.length-1];b.innerHTML+="<span>не сохр.</span>";b.style.paddingRight="0";var q=d.getElementsByTagName("a")[0];new y5.AEventListener("click",function(i){s.trigger(i)},q,true,this);this.switcher=document.createElement("img");new y5.AEventListener("click",function(i){s.trigger(i)},this.switcher,true,this);var a=document.createElement("td");a.className="switcher";this.switcher=a.appendChild(this.switcher);d.appendChild(a);this.setSwitcherState(this.control);this.saveAllButton=document.getElementById("saveAll");var s=this;var g=y5.Dom.getDescendants(this.control,"*","b-note");for(var u=0,r=g.length;u<r;u++){var m=g[u].getElementsByTagName("a");for(var t=0,f=m.length;t<f;t++){new y5.AEventListener("click",function(i){s.sample(i.target,getParams(i.target))},m[t],true,this)}}if(this.category=="Special"){var k=y5.Dom.getDescendant(this.control,"div","profile-fields-special");o=document.createElement("p");o.innerHTML='<input type="button" value="Добавить ↓"/>';var n=getPrevElement(k,"p");this.v_input=getByTagName("input",n)[0];this.n_input=getByTagName("input",getPrevElement(n,"p"))[0];new y5.AEventListener("click",function(i){s.addSpecial(k)},y5.Dom.getDescendant(o,"input","*"),true,this);k.parentNode.insertBefore(o,k);this.noSpecialEntries(k,"p");this.createSpecialDelButtons(k)}if(this.category=="CV"){var k=y5.Dom.getDescendant(this.control,"div","exist-fields");var o=document.createElement("p");o.innerHTML="Добавляйте места учёбы или работы по одному. Начните со школы.";insertAfter(o,c);var w=document.createElement("p");w.className="list";insertAfter(w,o);this.createSchoolSwitcher(w,"школа или колледж",0,1);this.createSchoolSwitcher(w,"университет или институт (ВУЗ)",1,0);this.createSchoolSwitcher(w,"место работы",2,0);this.changeSchoolType(null,0);o=document.createElement("p");o.style.clear="both";o.innerHTML='<input type="button" id="addStory" value="Добавить ↓"/>';new y5.AEventListener("click",function(i){s.addStory(k)},y5.Dom.getDescendant(o,"input","*"),true,this);k.parentNode.insertBefore(o,k);this.noSpecialEntries(k,"dt");this.createSchoolDelButtons(k)}this.tracker=new FormTracker(this.control);this.tracker.addOnchangeListener(associateEventWithObject(this,"checkChanges"));this.checkChanges();this.tracker.addListener("focus",associateEventWithObject(this,"activate"));for(var u in this.tracker.controls){for(var t=0;t<this.tracker.controls[u].length;t++){y5.Events.observe("y5:validationState",function(l){if(s.errors.length==0&&l.state!="error"){return}for(var j=0;j<s.errors.length;j++){if(s.errors[j]==l.element){if(l.state!="error"){s.errors.splice(j,1)}return s.checkChanges()}}if(l.state=="error"){s.errors.push(l.element)}s.checkChanges()},this.tracker.controls[u][t],true)}}}};function prettyDate(a,b){var c;if(Number(a)&&Number(b)){if((a.length==b.length)&&(a.length==4)&&(a.substr(0,2)==b.substr(0,2))){c=y5.Strings.escapeHTML(a)+"—"+y5.Strings.escapeHTML(b.substr(2))}else{c=y5.Strings.escapeHTML(a)+"—"+y5.Strings.escapeHTML(b)}c+=" гг."}else{if(Number(a)&&!b.length){c="c "+y5.Strings.escapeHTML(a)+" г."}else{if(!a.length&&Number(b)){c="по "+y5.Strings.escapeHTML(b)+" г."}else{c=y5.Strings.escapeHTML(a);if(a.length&&b.length){c+="—"}c+=y5.Strings.escapeHTML(b)}}}return c}g_controls.ProfileEdit=ProfileEdit;Friends.ProfileView=function(a){this.control=a;this.controlEdit=null;this.controlEditElements=[];this.headerId=null;this.contentNodeId=null;this.init();this.prevClassName=null};Friends.ProfileView.prototype={TAGNAME:"div",CLASSNAME:"c-profile-view",selectControl:function(b){var a=y5.Dom.getAncestorOrSelf(this.control,"*","b-profile-section-holster").parentNode;if(y5.Classes.test(a,"special")){this.control.style.borderColor=this.control.style.backgroundColor=getById(this.headerId).style.backgroundColor="#ffdba9"}else{this.control.style.borderColor="#c7c8ca"}},unselectControl:function(a){this.control.style.borderColor=this.control.style.backgroundColor=getById(this.headerId).style.backgroundColor=""},saveControlEditElements:function(){this.controlEditElements=[];var b=this.control.getElementsByTagName("input"),d,a;for(d=0,a=b.length;d<a;d++){var e=b[d];if(["hidden","text"].indexOf(e.type.toLowerCase())>-1){this.controlEditElements.push({element:e,value:e.value})}else{if(["checkbox","radio"].indexOf(e.type.toLowerCase())>-1){this.controlEditElements.push({element:e,checked:e.checked})}}}var c=this.control.getElementsByTagName("select");for(d=0,a=c.length;d<a;d++){var e=c[d];this.controlEditElements.push({element:e,value:e.value})}},cancelChanges:function(){var b,a;for(b=0,a=this.controlEditElements.length;b<a;b++){var c=this.controlEditElements[b];if(typeof(c.value)!=="undefined"){c.element.value=c.value}else{if(typeof(c.checked)!=="undefined"){c.element.checked=c.checked}else{if(typeof(c.display)!=="undefined"){c.element.style.display=c.display}}}if(c.element.type&&c.element.type=="text"){y5.Events.notify("y5:change",c.element,true,true)}}},editCategory:function(b){var c=this;var a={responseSuccess:function(d,f){c.container_edit=y5.Dom.getDescendant(c.control,"div","edit");c.container_view=y5.Dom.getDescendant(c.control,"div","view");c.container_edit.innerHTML=d;c.control.onclick=function(){return{name:c.categoryName}};var e=getById(c.contentNodeId);c.switchToProfileEdit();initAutoareas(e);appendInputField(e,{type:"hidden",name:"view_category",value:c.categoryName});c.controlEdit=new g_controls.ProfileEdit(e,false);c.controlEdit.activate=function(){return false};c.controlEdit.resizeAutoareas();c.controlEdit.trigger=function(g){g.preventDefault();g.stopPropagation();if(!c.controlEdit.saveButton.disabled){if(confirm("Профиль был изменен. Вы уверены, что хотите закрыть блок?")){c.cancelChanges();c.viewCategory()}}else{c.viewCategory()}return false};c.controlEdit.process_marking.responseSuccess=function(g,h){y5.Classes.add(c.controlEdit.spin,"i-hidden");c.viewCategory(g);c.controlEdit.tracker.initialState=c.controlEdit.tracker.controlsState()};y5.Components.init(c.control);c.saveControlEditElements()},responseError:function(d,e){y5.Console.error("Error loading form")}};jQuery.ajax({url:"ajax/profile_category_form.xml?category="+this.categoryName,dataType:"json",success:function(d){a.responseSuccess(d.html,{})},error:function(d){a.responseSuccess(d,{})}});b.preventDefault()},viewCategory:function(a){this.container_edit.style.display="none";y5.Classes.remove(getById(this.contentNodeId),"edit-mode");y5.Classes.remove(getById(this.headerId),"i-hidden");if(this.controlEdit.control.id=="id-category-special"){y5.Dom.removeNode(this.controlEdit.saveButton.parentNode)}else{y5.Classes.add(this.controlEdit.saveButton,"i-hidden")}y5.Classes.remove(y5.Dom.getAncestorOrSelf(this.control,"*","b-profile-section-holster"),"b-profile-section-holster-edit");this.control.className=this.prevClassName;getById(this.contentNodeId).className="profile-content";if(a){this.container_view.innerHTML=a}this.container_view.style.display="block";this.controlEdit.saveButton.disabled=true},init:function(){this.categoryName=this.control.getElementsByTagName("input")[0].value;this.contentNodeId=this.control.getElementsByTagName("fieldset")[0].id="id-category-"+this.categoryName.toLowerCase();this.headerId=this.control.getElementsByTagName("h3")[0].id="header-"+this.contentNodeId;var c=getById(this.headerId).getElementsByTagName("a");if(c){var d=this;function a(e){y5.Events.create("mouseover",function(f){d.selectControl(f)},e,true);y5.Events.create("mouseout",function(f){d.unselectControl(f)},e,true);y5.Events.create("click",function(f){if(!d.controlEdit||d.controlEdit.control.id=="id-category-special"){d.editCategory(f)}else{d.switchToProfileEdit();y5.Classes.add(getById(d.contentNodeId),"edit-mode");d.saveControlEditElements();y5.Classes.remove(d.controlEdit.saveButton,"i-hidden");d.controlEdit.resizeAutoareas();f.preventDefault()}},e,true)}for(var b=0;b<c.length;b++){a(c.item(b))}}},switchToProfileEdit:function(){this.prevClassName=this.control.className;y5.Classes.remove(this.control,"b-profile-view c-profile-view");var a=this.categoryName.toLowerCase();var b="Friends-c-ProfileBlock c-profile-edit b-profile-edit b-profile-edit-active i-clearfix b-profile-edit-"+a+" y5-friendsprofile-"+a;y5.Classes.add(this.control,b);y5.Classes.add(y5.Dom.getAncestorOrSelf(this.control,"*","b-profile-section-holster"),"b-profile-section-holster-edit");y5.Classes.add(getById(this.headerId),"i-hidden");y5.Classes.add(getById(this.contentNodeId),"edit-mode");if(this.categoryName=="Special"){y5.Classes.remove(this.control.parentNode.parentNode,"special")}this.container_edit.style.display="block";this.container_view.style.display="none"}};y5.require(["Events","Ajax","AjaxJS","Dom","cssQuery","Components","Classes"],function(){y5.loaded("{Friends}.ProfileView")});Friends.ProfileBlock=new function(){this.createFromTag=function(a,b){(new Friends.ProfileBlock[b.name]).init(a)}};Friends.ProfileBlock.Fields=new function(){this.prefix="profile-fields-";this.init=function(a){var f=this;this.fields=y5.Dom.getDescendants(a,"*",new RegExp(this.prefix+"\\w+","ig"));this.progressbar=y5.Dom.getDescendant(a,"*","y5-c-Components-Progressbar");for(var c=0,b=this.fields.length;c<b;c++){var d=this.fields[c];y5.Events.create("keyup",e,d,true);if(y5.Dom.testTagName(d,"select")){y5.Events.create("change",e,d,true)}y5.Events.observe("y5:change",e,d,true);if(y5.Dom.testTagName(d,["p","div"])){y5.Events.create("click",e,d,true)}}function e(){var g={progress:f.getProgress(),name:f.name};window.setTimeout(function(){y5.Events.notify("y5:changeProgress",y5,true,g)},10)}return this};this.getProgress=function(){var c=0;var e=0;var g=false;var b=0;for(var d=0,a=this.fields.length;d<a;d++){var f=this.getField(this.fields[d]);if(y5.Classes.test(this.fields[d],"profile-fields-birthday")||y5.Classes.test(this.fields[d],"profile-fields-birthmonth")){b+=f.progress;g=true;continue}c+=f.progress;e+=f.total}if(b==2){c++}if(g){e++}return{total:e,progress:c}};this.getField=function(a){switch(a.tagName.toLowerCase()){case"input":return{progress:this.getInput(a),total:1};case"select":return{progress:this.getSelect(a),total:1};case"div":case"p":return this.getCustom(a)}return{progress:0,total:0}};this.getInput=function(a){return a.value.length?1:0};this.getSelect=function(a){return a.selectedIndex>0?1:0};this.getCustom=function(a){return this.getList(a,1)};this.getList=function(g,d){if(!g.fields){g.fields=this.collectFields(g)}var b=0;for(var c=0,a=g.fields.length;c<a;c++){var f=g.fields[c];if(f.type&&f.type=="checkbox"){b+=f.checked?1:0}else{if(y5.Dom.testTagName(f,"textarea")||f.type=="text"){var e=y5.Strings.trim(f.value);e=e.replace(/\s/ig,"").replace(/,+/ig,",").replace(/^,/ig,"").replace(/,$/ig,"");b+=e.length?e.split(",").length:0}}}return{progress:Math.min(b,d),total:d}};this.collectFields=function(h){var d=getByTagName("input",h);var f=getByTagName("textarea",h);var b=[],a=[];for(var e=0,c=d.length;e<c;e++){b[b.length]=d.item(e)}for(var e=0,c=f.length;e<c;e++){b[b.length]=f.item(e)}for(var e=0,c=b.length;e<c;e++){var g=b[e];if(g.type!="hidden"&&g.offsetHeight!=0&&g.name){a[a.length]=g}}return a}};Friends.ProfileBlock.CCustom=function(){this.base={};this.tag="dt";this.getField=function(g){var b=getByTagName(this.tag,g);var c=0,e=0,d,a;for(d in this.base){this.base[d].progress=0}for(d=0,a=b.length;d<a;d++){var f=this.getData(getByTagName("input",b[d]));f.hidden=y5.Classes.test(b[d],"i-hidden");if(this.base[f._name_]){this.base[f._name_].progress=Math.min(this.base[f._name_].total,Math.max(this.count(f,this.base[f._name_].total),this.base[f._name_].progress))}}for(d in this.base){c+=this.base[d].progress;e+=this.base[d].total}return{progress:c,total:e}};this.count=function(d,c){var a=0;if(d.hidden){return a}for(var b in d){if(b=="_name_"||b=="year_start"||b=="year_end"||(b=="info"&&c<4)||b=="hidden"){continue}a+=y5.Strings.trim(d[b]).length?1:0}if(d.year_start&&d.year_end){a+=y5.Strings.trim(d.year_start).length||y5.Strings.trim(d.year_end).length?1:0}return a};this.getData=function(b){var f={};for(var e=0,a=b.length;e<a;e++){var d=b[e];if(d.name.match(/n_\w+_.*/)){f._name_=d.name.match(/^n_([a-z_]+)_[^_]*$/)[1]}}for(var e=0,a=b.length;e<a;e++){var d=b[e];if(d.name.match(/v[\w-]*_\w+_.*/)){var c=d.name.replace(new RegExp("_"+f._name_+"_\\w+\\d+$",""),"");if(c=="v"){f.value=d.value}else{f[c.replace(/v-/,"")]=d.value}}}return f}};Friends.ProfileBlock.CCustom.prototype=Friends.ProfileBlock.Fields;Friends.ProfileBlock.Custom=new Friends.ProfileBlock.CCustom();Friends.ProfileBlock.Minimum=function(){this.name="Minimum"};Friends.ProfileBlock.Minimum.prototype=Friends.ProfileBlock.Fields;Friends.ProfileBlock.Personal=function(){this.name="Personal";this.getInput=function(a){var b=y5.Components.getName(a.className,this.prefix);switch(b){case"signature":return 1;case"sex":return(a.value=="unknown"?0:1)}return a.value.length?1:0}};Friends.ProfileBlock.Personal.prototype=Friends.ProfileBlock.Fields;Friends.ProfileBlock.CV=function(){this.name="CV";this.base={school:{progress:0,total:3},higher_education:{progress:0,total:4},job:{progress:0,total:4}}};Friends.ProfileBlock.CV.prototype=Friends.ProfileBlock.Custom;Friends.ProfileBlock.Special=function(){this.name="Special";this.base={custom_entry:{progress:0,total:1}};this.tag="p"};Friends.ProfileBlock.Special.prototype=Friends.ProfileBlock.Custom;Friends.ProfileBlock.Abilities=function(){this.name="Abilities";this.getCustom=function(b){var a=y5.Components.getName(b.className,this.prefix);switch(a){case"language":return this.getList(b,1);case"cando":case"know":return this.getList(b,3)}return this.getList(1)}};Friends.ProfileBlock.Abilities.prototype=Friends.ProfileBlock.Fields;Friends.ProfileBlock.Favourites=function(){this.name="Favourites";this.getCustom=function(b){var a=y5.Components.getName(b.className,this.prefix);switch(a){case"music":case"books":case"cinema":case"freetime":return this.getList(b,3);case"pets":return this.getList(b,1)}return this.getList(1)}};Friends.ProfileBlock.Favourites.prototype=Friends.ProfileBlock.Fields;Friends.ProfileBlock.FreeCode=function(){this.name="FreeCode";this.init=function(){return this};this.getProgress=function(){return{progress:0,total:0}}};y5.require(["Dom","Strings","Events","Classes"],function(){y5.loaded("{Friends}.ProfileBlock")});function FormTracker(a){this.form=a;this.controls={input:getByTagName("input",a),textarea:getByTagName("textarea",a),select:getByTagName("select",a)};this.initialState=0;this.init()}FormTracker.prototype={addListener:function(b,e){for(var c in this.controls){for(var d=0,a=this.controls[c].length;d<a;d++){if(document.addEventListener){this.controls[c][d].addEventListener(b,e,false)}else{this.controls[c][d].attachEvent("on"+b,e)}}}},addOnchangeListener:function(a){this.addListener("change",a);this.addListener("click",a);this.addListener("keyup",a)},controlsState:function(){var state="";with(this.controls){for(var i=0,l=input.length;i<l;i++){if(!input[i].name.length||input[i].name=="v-name_custom_entry"||input[i].name=="v_value_custom_entry"){continue}if(input[i].value){state+=input[i].value}if(input[i].checked){state+=input[i].checked}if(input[i].selected){state+=input[i].selected}}for(var i=0,l=textarea.length;i<l;i++){if(textarea[i].value&&textarea[i].name.length){state+=textarea[i].value}}for(var i=0,l=select.length;i<l;i++){if(select[i].name.length){state+=select[i].selectedIndex}}}return state},init:function(){if(!window.notInitialState){this.initialState=this.controlsState()}}};function AjaxForm(a,b,d,c){this.method=typeof(c)=="undefined"?"POST":c;this.fieldset=a;this.action=b;this.markProcess=d}AjaxForm.prototype={formTags:["input","textarea","select"],submit:function(){var b=this.createRequestData();if(b.length){this.markProcess.send();try{var a=new y5.Ajax(new y5.AjaxObject(),this.action,this.markProcess.responseSuccess,this.markProcess.responseError,null,this.method,b);a.send()}catch(c){throw c}}},createRequestData:function(){var a="";for(var c=0,b=this.formTags.length;c<b;c++){a+=this.getTagsValue(this.formTags[c])}return a},getTagsValue:function(b){var a="";var f=this.fieldset.getElementsByTagName(b);for(var e=0,c=f.length;e<c;e++){var d=f.item(e);if(d.disabled){continue}if(a.length){a+="&"}switch(b){case"input":a+=this.getInputValue(d);break;case"select":if(!d.name.length){continue}if(d.multiple){for(var e=0,c=d.options.length;e<c;e++){if(d.options[e].selected){a+="&"+d.name+"="+EncodeURIComponent(d.options[e].value)}}}else{a+="&"+d.name+"="+EncodeURIComponent(d.options[d.selectedIndex].value)}break;case"textarea":a+="&"+d.name+"="+EncodeURIComponent(d.value);break}}return a},getInputValue:function(a){switch(a.getAttribute("type")){case"checkbox":case"radio":if(a.checked){return a.name+"="+EncodeURIComponent(a.value)}break;default:return a.name+"="+EncodeURIComponent(a.value)}return""}};function EncodeURI(a){try{return encodeURI(a)}catch(b){return escape(a)}}function EncodeURIComponent(a){try{return encodeURIComponent(a)}catch(b){return escape(a)}}; |