function FormatItemString(a){return a.toLowerCase()}function SuggestItems(a,h,c,e,g,d){e=e||"";e=FormatItemString(e).toLowerCase();var b=[];$A(a).each(function(k,j){var i=(e==FormatItemString(k).toLowerCase());var f=(c==null)?null:c[j];b.push({name:k,lowerName:FormatItemString(k),id:h[j],img:f,selected:i,showed:false,drawMe:g,template:d})});return b}function SuggestItemsFriends(a,d,b){var c=function(i,k,h,g){var e=g.matchedString(this.name);var j=(k==h)?"keyOver":"";var f=new Element("a",{id:"label"+k,"class":j}).insert(e);f.observe("click",function(){g.addItemByClicking(k)});return f};return SuggestItems(a,d,null,b,c,null)}function SuggestItemsFriendsProfile(c,e){var b;var a=function(f,g,m,h){var k=(g==m)?"result friend current":"result friend";var i=new Element("div",{"class":k});var l;if(ImageCacheManager.isInCache(this.id)){l=ImageCacheManager.get(this.id)}var p=h.matchedString(this.name);var j=(g==m)?"keyOver":"";var o=new Element("a",{id:"label"+g,"class":j}).insert(p);o.observe("click",function(){h.goSelectedURLByClick(g)});i.insert(l).insert(o);return i};var d=new Template("profiles/#{id}/#{lowerName}");return SuggestItems(c,e,null,"",a,d)}function SuggestItemsGames(a,g,b,d){var e=function(f,h,o,i){var l=this.img;var m=(h==o)?"result current":"result";var j=new Element("div",{"class":m});var q=i.matchedString(this.name);var k=(h==o)?"keyOver":"";var p=new Element("a",{id:"label"+h}).insert(q);p.observe("click",i.goSelectedURLByClick.bind(i,h));j.insert(p);p.addClassName(k);p.setStyle({backgroundImage:"url("+l+")"});return j};var c=new Template("#{id}");return SuggestItems(a,g,b,d,e,c)}function SuggestionsCollector(){this.container=null;this.items=[];this.selected=[];this.pmMaxRecipients=null;this.addItem=function(a){if(this.selected.length<this.pmMaxRecipients){this.selected.push(a);this.redraw()}};this.deleteItem=function(a){this.selected[a].selected=false;this.selected=this.selected.without(this.selected[a]);this.redraw()};this.deleteLastItem=function(){if(this.selected.length>0){this.selected[this.selected.length-1].selected=false;this.deleteItem(this.selected.length-1);this.redraw()}};this.getElements=function(){if(this.selected.length==0){return""}var c=this.selected[0].id;var a=this;for(var b=1;b<this.selected.length;b++){c+=","+a.selected[b].id}return c};this.redraw=function(){var b=this;var a=this.container.down("input");this.container.update();$A(this.selected).each(function(d,c){b.container.insert(b.drawItem(d,c))});this.container.insert(new Element("li").insert(a))};this.drawItem=function(d,b){var a=this;var c=new Element("li",{id:"snd_to_"+d.id,className:"tagAdded"}).insert(d.name+"&nbsp;&nbsp;");c.observe("click",a.deleteItem.bind(a,b));return c};this.init=function(b,a){this.container=$(b);this.pmMaxRecipients=a;this.loadDefaultChargedItems()};this.loadItems=function(a){this.items=a};this.loadDefaultChargedItems=function(){var a=this;this.items.each(function(b){if(b.selected){a.addItem(b)}})}}function SuggestBox(){this.input=null;this.listContainer=null;this.suggestionCollector=null;this.word="";this.items=[];this.suggested=[];this.maxSuggestions=5;this.currentPos=null;this.firstItemDefault=null;this.moveUp=function(){if(this.currentPos>0){this.currentPos--}this.redraw()};this.moveDown=function(){if(this.currentPos<this.suggested.length-1){this.currentPos++}this.redraw()};this.findAndShow=function(){this.word=$F(this.input);this.suggested=[];if(this.word.length>0){for(var b=0;this.suggested.length<this.maxSuggestions&&b<this.items.length;b++){var c=this.items[b];if(c.selected){continue}c.showed=false;var a=true;this.word.scan(/[^ ]+/,function(d){d=d[0];a=(c.name.toLowerCase().indexOf(" "+d)>0||c.name.toLowerCase().indexOf(d)==0)&&a}.bind(this));if(a){c.showed=true;this.suggested.push(c)}}if(this.firstItemDefault){this.currentPos=0}else{this.currentPos=-1}this.redraw()}else{this.listContainer.hide();this.listContainer.update()}};this.matchedString=function(a){this.word.scan(/[^ ]+/,function(b){b=b[0];if(a.toLowerCase().indexOf(b)==0){a="<strong>"+a.slice(0,b.length)+"</strong>"+a.slice(b.length)}if(a.toLowerCase().indexOf(" "+b)>1){var c=a.toLowerCase().indexOf(" "+b);c++;a=a.slice(0,c)+"<strong>"+a.slice(c,c+b.length)+"</strong>"+a.slice(c+b.length)}}.bind(this));return a};this.addCurrentPosItem=function(){if(this.suggested.length>0&&this.currentPos!=-1&&!this.suggested[this.currentPos].selected){this.suggested[this.currentPos].selected=true;this.suggestionCollector.addItem(this.suggested[this.currentPos]);this.findAndShow();this.input.value="";setTimeout(function(){this.input.focus()}.bind(this),100);this.listContainer.hide();this.listContainer.update()}};this.addItemByClicking=function(a){this.currentPos=a;this.addCurrentPosItem()};this.deleteLastChoosed=function(){this.suggestionCollector.deleteLastItem();setTimeout(function(){this.input.focus()}.bind(this),100)};this.goSelectedURLByClick=function(a){this.currentPos=a;this.goSelectedURL()};this.goSelectedURL=function(){if(this.suggested.length>0){window.location=getMainHref()+this.suggested[this.currentPos].template.evaluate(this.suggested[this.currentPos])}};this.redraw=function(){this.listContainer.hide();this.listContainer.update();var a=this;this.searchCache(this.suggested);this.suggested.each(function(c,b){a.listContainer.insert(c.drawMe(a.word,b,a.currentPos,a))});if(this.suggested.length>0){a.listContainer.insert(new Element("div",{"class":"foot"}))}this.listContainer.show()};this.delayedHide=function(){setTimeout(function(){this.listContainer.hide()}.bind(this),100)};this.searchCache=function(b){var a=[];b.each(function(c){var d=myJsonFriendsNames.indexOf(c.name);if(myJsonFriendsCodes[d]!=undefined&&!ImageCacheManager.isInCache(myJsonFriendsCodes[d])){ImageCacheManager.set(myJsonFriendsCodes[d],"");a.push(myJsonFriendsCodes[d])}});if(a.length>0){new Ajax.Request(getMainHref()+"user-data/ajaxGetUserAvatar",{method:"get",parameters:{codes:a.toJSON()},onSuccess:function(d){var c=d.responseJSON;c.each(function(f){ImageCacheManager.set(f.code,f.url)})}})}};this.init=function(a,c,b){this.listContainer=$(a);this.input=$(c);this.listContainer.hide();this.currentPos=0;this.firstItemDefault=typeof(b)!="undefined"?b:false};this.loadItems=function(b){var a=this;$A(b).each(function(c){a.items.push(c)})};this.setSuggestionCollector=function(a){this.suggestionCollector=a}}ImageCacheManager={collection:[],isInCache:function(b){var a=false;this.collection.each(function(c){if(c.key==b){a=true}});return a},set:function(b,c){if(this.isInCache(b)){this.collection.each(function(d){if(d.key==b){d.pic.src=c}})}else{var a=new Element("img");a.src=c;this.collection.push({key:b,pic:a})}},get:function(a){var b=null;this.collection.each(function(c){if(c.key==a){b=c.pic}});return b}};function InjectSuggestProperties(c,a){var b=$(c);if(b){b.observe("keyup",function(f){var d=(window.event)?f.keyCode:f.which;if(d==Event.KEY_DOWN){a.moveDown()}else{if(d==Event.KEY_UP){a.moveUp()}else{a.findAndShow()}}}.bindAsEventListener());b.observe("keydown",function(g,f){var d=(window.event)?g.keyCode:g.which;if(d==Event.KEY_RETURN||d==Event.KEY_TAB){a.addCurrentPosItem()}else{if(d==Event.KEY_BACKSPACE&&b.value.length==0){a.deleteLastChoosed();g.stop()}}return false}.bindAsEventListener(this));b.observe("blur",function(){setTimeout(function(){a.listContainer.hide()},200)})}}function InjectSuggestPropertiesSearchAndGo(c,a){var b=$(c);if(b){b.observe("keyup",function(f){var d=(window.event)?f.keyCode:f.which;if(d==Event.KEY_DOWN){this.moveDown()}else{if(d==Event.KEY_UP){this.moveUp()}else{this.findAndShow()}}}.bindAsEventListener(a));b.observe("keydown",function(f){var d=(window.event)?f.keyCode:f.which;if(d==Event.KEY_RETURN||d==Event.KEY_TAB){if(this.suggested.length>0&&this.currentPos!=-1){f.stop();this.goSelectedURL()}else{return true}}return false}.bindAsEventListener(a));b.observe("blur",function(){setTimeout(function(){a.listContainer.hide()},200)});b.setAttribute("autocomplete","off")}};