var generateSwf=function(d,f,c){var b=document.createElement("embed");for(name in d){var g=d[name];b.setAttribute(name,g)}var a=document.getElementById(f);var e=document.getElementById(c);e.style.display="none";a.appendChild(b)};var globalSimpleFriendList=null;var createMultiFriendSelectPanelNode=function(a,e){var f=document.createElement("li");var d=a.id;var c=genId(e,d);f.setAttribute("id",c);f.onclick=function(){mfspOnClick(f,d,e)};var b='<a href="#nogo"><span class="picbox"><span class="pic" style="background-image: url('+a.pic+');"><img src="http://rrimg.com/img/tiny_friend_selector_pic_selected.gif" class="added" /></span></span><h4>'+a.name+'</h4><span class="atnet">'+a.network+"</span></a>";f.innerHTML=b;return f};var genId=function(a,b){return a+"_"+b};var mfspOnClick=function(obj,uid,namespace){var a=eval(genId(namespace,"selectedIds"));if(obj.className=="select"){obj.className="";var offset=-1;for(var i=0;i<a.length;i++){if(a[i]==uid){offset=i;break}}if(offset!=-1){a.splice(offset,1)}}else{var max=eval(genId(namespace,"maxFriends"));if(a.length==max){var msg="<p>您一次最多只能选择"+max+"个好友。</p>";(new pop_dialog("explanation")).show_message("操作提示",{summary:"",body:msg},"确定");return}a.push(uid);obj.className="select"}var inputObj=document.getElementById(genId(namespace,"multi_friend_hidden_input"));a.sort();inputObj.value=a.toString()};var createMultiFriendSelectPanel=function(e){var g=document.getElementById(genId(e,"multi_friend_select_panel"));var h=document.createElement("ul");g.appendChild(h);var c=friendList;for(var d=0;d<c.length;d++){if(c[d]){var f=createMultiFriendSelectPanelNode(c[d],e);if(f){h.appendChild(f)}}}var b=document.getElementById(genId(e,"multi_friend_select_panel_root"));b.className="friend-selector"};var mfsp_namespaces=[];var friendList=[];var friendListLoaded=false;var loadFriendList=function(){if(friendListLoaded){return}friendListLoaded=true;new Ajax.Request("/xnml/getfriendlist.do",{method:"get",onSuccess:function(transport){var response=transport.responseText||"[]";friendList=eval(response);for(var i=0;i<mfsp_namespaces.length;i++){createMultiFriendSelectPanel(mfsp_namespaces[i])}}})};function multi_friends_selector(c,a,b){this.form=$(c);this.pre=a;this.container=$(a)||document.body;for(var d in b){this[d]=b[d]}this.init()}multi_friends_selector.prototype={form:null,inputName:"__fids",container:null,url:"/common.php?method=getFriends",maxNum:1000,selectedIds:[],excludeIds:[],includeMe:false,tfl:0,pre:null,currentNum:0,searchBar:null,search:null,unselectC:null,selectedC:null,friends:null,searchName:null,_empty:null,_error:null,init:function(){var h,e,a,g,b,d,c,f;h=document.createElement("div");e=this.unselectC=h.cloneNode(false);g=this.selectedC=h.cloneNode(false);a=h.cloneNode(false);h.className="search_holder";e.className="unselected_list";a.className="selected_list";b=this.searchBar=document.createElement("input");b.onkeyup=this.searchFriends.bind(this);b.type="text";b.value="输入好友姓名进行筛选...";b.onclick=function(){if(this.value=="输入好友姓名进行筛选..."){this.value="";Element.removeClassName(this,"gray")}};b.onblur=function(){if(this.value==""){this.value="输入好友姓名进行筛选...";Element.addClassName(this,"gray")}};b.className="search_freinds gray";h.appendChild(b);c=this._empty=document.createElement("div");c.className="empty-list";c.innerHTML="请从左侧选择好友";f=this._error=document.createElement("div");f.className="error";f.innerHTML="您最多只能选择"+this.maxNum+"位好友";f.style.display="none";a.appendChild(c);a.appendChild(g);a.appendChild(f);new Ajax.Request(this.url,{method:"post",postBody:this.prepareLoadFriendParams(),onSuccess:this.loadFriends.bind(this)});this.container.className="condensed_multi_friend_selector clearfix";this.container.appendChild(h);this.container.appendChild(e);this.container.appendChild(a)},prepareLoadFriendParams:function(){var b="v=_";if(this.includeMe){b+="&includeMe=true"}if(this.excludeIds){for(var a=0;a<this.excludeIds.length;a++){b+="&excludeIds[]="+this.excludeIds[a]}}return b},searchFriends:function(){if(this.searchBar.value==""){this.showSearchFriends(this.friends);this.searchName=null;return}this.searchName=new RegExp(this.searchBar.value,"i");var a=this.searchName;var e=[],d=this.friends;for(var c=0,b=d.length;c<b;c++){if(a.test(d[c].name)){e.push(d[c])}}this.showSearchFriends(e)},bindSelAll:function(){var c=document.getElementById("sel_tg");var b=this,a=true;c.onclick=function(){if(a){b.selectAll();a=false}else{b.deSelectAll();a=true}}},loadFriends:function(r){var friends,_s=this,sC,uC,s,u,id;var json=r.responseText;friends=eval(json);globalSimpleFriendList=eval(json);this.friends=friends;this.showFriends(friends);this.tfl=this.friends.length;this.bindSelAll();this.selectUids(this.selectedIds)},showSearchFriends:function(f){var d=this.unselectC.getElementsByTagName("DIV");for(var e=0,c=d.length;e<c;e++){Element.hide(d[e])}for(var b=0,a=f.length;b<a;b++){if(!f[b].selected){Element.show(this.pre+"condensed_u_"+f[b].fid)}}},showFriends:function(e){var g,a,f,c,h;this.selectedC.innerHTML="";this.unselectC.innerHTML="";f=document.createDocumentFragment();c=document.createDocumentFragment();for(var d=0,b=e.length;d<b;d++){e[d].selected=false;e[d].fid=d;g=document.createElement("div");g.appendChild(document.createTextNode(e[d].name));a=g.cloneNode(true);g.multi_friends_selector=this;g.style.display="none";g.fid=d;g.id=this.pre+"condensed_s_"+d;g.className="selected";g.onmouseover=function(){Element.addClassName(this,"shover")};g.onmouseout=function(){Element.removeClassName(this,"shover")};a.multi_friends_selector=this;a.fid=d;a.id=this.pre+"condensed_u_"+d;a.className="unselected";a.onmouseover=function(){Element.addClassName(this,"uhover")};a.onmouseout=function(){Element.removeClassName(this,"uhover")};g.onclick=this.sClick;a.onclick=this.uClick;c.appendChild(a);f.appendChild(g)}this.selectedC.appendChild(f);this.unselectC.appendChild(c)},selectUids:function(e){var b=this.friends;for(var d=0;d<b.length;d++){for(var c=0;c<e.length;c++){if(b[d].id==e[c]){this.select(d);break}}}},select:function(c){var b=this;if(this.currentNum>=this.maxNum){Element.show(this._error);setTimeout(function(){Element.hide(b._error)},2000);return}Element.hide(this._empty);this.currentNum++;var a;this.friends[c].selected=true;Element.hide(this.pre+"condensed_u_"+c);Element.show(this.pre+"condensed_s_"+c);if(XN.BROWSER.IE){a=document.createElement('<input name="'+this.inputName+'">')}else{a=document.createElement("input");a.name=this.inputName}a.type="hidden";a.id=this.pre+"_cmsi_"+c;a.value=this.friends[c].id;this.form.appendChild(a)},selectAll:function(){for(var a=0;a<this.tfl;a++){this.select(a)}},deSelectAll:function(){for(var a=0;a<this.tfl;a++){this.deSelect(a)}},deSelect:function(a){this.currentNum--;this.friends[a].selected=false;Element.hide(this.pre+"condensed_s_"+a);this.form.removeChild($(this.pre+"_cmsi_"+a));if(this.currentNum==0){Element.show(this._empty)}if(this.searchName!==null&&!this.searchName.test(this.friends[a].name)){return}Element.show(this.pre+"condensed_u_"+a)},sClick:function(){this.multi_friends_selector.deSelect(this.fid)},uClick:function(){this.multi_friends_selector.select(this.fid)}};var onInviteFormSubmit=function(b){var h=b.offsetTop;var a=b.offsetHeight;var j=h+((a-80)>=0?(a-80):0)/2;var d=[];var g=-1;for(var c=0;c<b.elements.length;c++){var f=b.elements[c];if(f.name=="ids[]"){if(f.type=="checkbox"||f.type=="radio"){if(f.checked){d.push(f.value)}}else{d.push(f.value)}}else{if(f.name=="app_id"){g=f.value}}}sendAppInvitation(b,d,g);return false};var sendAppInvitation=function(a,c,d){var e="app_id="+d;for(var b=0;b<c.length;b++){e+="&ids[]="+c[b]}new Ajax.Request("/xnml/sendappinvitation.do",{method:"post",postBody:e,onFailure:function(f){alert("发生错误，邀请失败，请联系管理员。")},onSuccess:function(f){a.submit()}})};var confirmSubmitInviteForm=function(c,f){if(c.length==0){XN.DO.alert("您至少应当选择一名好友！","邀请好友安装",null,f);return false}if(c.length>5){XN.DO.alert("您一次最多只能邀请5个好友！","邀请好友安装",null,f);return false}var d=[];if(globalSimpleFriendList){for(var b=0;b<globalSimpleFriendList.length;b++){for(var a=0;a<c.length;a++){if(globalSimpleFriendList[b].id==c[a]){d.push(globalSimpleFriendList[b].name);break}}}}else{for(var b=0;b<c.length;b++){d.push(c[b]+"(id)")}}var e=d[0];for(var b=1;b<d.length;b++){e+="、";e+=d[b]}return d};