Jamendo.formElements.userselector={"onload":function(M,G,N,J,I,H){var D=$(G);D.show();var O=$(N);var F=[];var A={};var B={};var L=$(N);L._managed.options.set("onBoxadd",function(E){return $(N)._managed.options.get("alreadyContains")(E)}.bind(L));L._managed.options.set("onBoxesadd",function(E,P){return this._managed.options.get("alreadyContains")(E,P)}.bind(L));L._managed.options.set("alreadyContains",function(E,P){res=-1;if(typeof (P)=="undefined"){P=this._managed.bits.pluck("value")}if(P.size()==0){return false}if(P.find(function(Q){if(Q.value.id&&Q.value.id==E.id){res=Q.box._bitNo}else{if(Q.value.name&&Q.value.name.toLowerCase()==E.name.toLowerCase()){res=Q.box._bitNo}}})){res=1}if(E.origin=="grabber"&&res>-1){D._grabberDB.get(E.id).set("bitno",res)}else{if(E.origin!="grabber"){if(E.id){D._grabberDB.each(function(Q){if(Q.key==E.id){$(G+"-contacts-"+Q.key).checked="checked";Jamendo.formElements.contactGrabber._value.set(Q.key,$H({"idstr":E.name,"onjam":true}));return false}})}else{if(E.name){D._grabberDB.each(function(Q){if(Q.value.get("idstr").toLowerCase()==E.name.toLowerCase()){$(G+"-contacts-"+Q.key).checked="checked";Jamendo.formElements.contactGrabber._value.set(Q.key,$H({"idstr":E.name,"onjam":false}));return false}})}}}}return(res>-1)?true:false}.bind(L));function K(P){P.stop();var E=$(G+"-membersearch-input");if(E.getValue()==""){E.focus();return }B.membersearch.style.height="250px";$(G+"-membersearch-view").update("");$(G+"-membersearch-results").show();D._userDB=$H({});Jamendo.forms[M].memberDataFetcher=new Jamendo.classes.DataFetcher({api:"ml2",url:"idstr+id+image+url/user/json/",params:{"order":"alpha_asc","imagesize":$H(I).get("templates_friend_imagesize"),"fuzzysearch":$(G+"-membersearch-input").value,"fuzzyfocus":"idstr","n":"20","method":"get"},page:1,gap:20});Jamendo.forms[M].memberDataFetcher.applyToDiv({id:G+"-membersearch-view",idMore:"Jamform_element_loadmore",layout:"div",colspan:1,more:Jamendo.getStr("_More")+"...",wait:'<img src="http://img.jamendo.com/superboxloading.gif" width="24" height="24" />',beforeDisplayCallback:function(Q){$(G+"-membersearch-view").addClassName("Jamform_element_loading")},afterDisplayCallback:function(Q){$(G+"-membersearch-view").removeClassName("Jamform_element_loading");if(!Q||!Q.length){$(G+"-membersearch-view").update(Jamendo.getStr("USERSELECTOR_MEMBERSEARCH_ZERO"))}},renderItemCallback:function(R,S,Q){D._userDB.set(R.id,R);R.isFriend=false;return $H(I).get("templates_friend").interpolate(R)}})}var C=$H({"friends":function(){B.friends.style.height="200px";if(C.get("friends_done")){return }C.set("friends_done",true);D._friendsDB=$H({});$(G+"-friends-view").addClassName("Jamform_element_loading").update(new Element("img",{"width":"24","height":"24","src":"http://img.jamendo.com/superboxloading.gif"})).show();Jamendo.get2("idstr+id+image+url/user/json/user_user2_friend/",{"order":"alpha_asc","user2_id":J,"imagesize":$H(I).get("templates_friend_imagesize"),"n":"all"},function(E){$(G+"-friends-view").removeClassName("Jamform_element_loading");if(!E||!E.length){$(G+"-friends-view").update(Jamendo.getStr("USERSELECTOR_FRIENDS_ZERO")).show();$(G+"-friends-addall").hide();return true}$(G+"-friends-view").innerHTML=E.map(function(P){D._friendsDB.set(P.id,P);P.isFriend=true;return $H(I).get("templates_friend").interpolate(P)}).join("");$(G+"-friends-addall").observe("click",function(P){P.stop();O._managed.addBoxes(D._friendsDB.map(function(Q){return{"id":Q.value.id,"name":Q.value.idstr,"origin":"friends"}}));O._managed.focus();Jamendo.forms[M].checkRules(N,"onblur");return false})},null,{"method":"get"})},"membersearch":function(){B.membersearch.style.height="75px";$(G+"-membersearch-results").hide();$(G+"-membersearch-input").value="";$(G+"-membersearch-input").focus();if(C.get("members_done")){return }C.set("members_done",true);$(G+"-membersearch-button").observe("click",K);$(G+"-membersearch-input").observe("keypress",function(E){if(E.keyCode==Event.KEY_RETURN){K(E)}})},"contactgrabber":function(){Jamendo.formElements.contactGrabber=new Jamendo.classes.ContactGrabber(Object.extend({"target":"grabber","parent":G,"mode":"separated","showAlreadyAsked":true},H));Jamendo.onReady(function(){Jamendo.formElements.contactGrabber.initGrabbers()});$(N)._managed.options.set("onBoxdel",function(E){if($(G+"-contacts-"+$(N)._managed.bits._object[E].value.id)){$(G+"-contacts-"+$(N)._managed.bits._object[E].value.id).checked=""}Jamendo.formElements.contactGrabber._value.unset($(N)._managed.bits._object[E].value.id)});$(N)._managed.options.set("postOnBoxdel",function(E){Jamendo.formElements.contactGrabber.updateGlobalCheckbox()})}.bind(this),"usergroup":function(){B.friends.style.height="200px";if(C.get("usergroup_done")){return }C.set("usergroup_done",true);D._usergroupDB=$H({});$(G+"-usergroup-view").addClassName("Jamform_element_loading").update(new Element("img",{"width":"24","height":"24","src":"http://img.jamendo.com/superboxloading.gif"})).show();Jamendo.get2("id+image+url+name/usergroup/json/user_usergroup_moderator/",{"order":"alpha_asc","user_id":J,"imagesize":$H(I).get("templates_usergroup_imagesize"),"n":"all"},function(E){$(G+"-usergroup-view").removeClassName("Jamform_element_loading");if(!E||!E.length){$(G+"-usergroup-view").update(Jamendo.getStr("USERSELECTOR_GROUP_ZERO")).show();$(G+"-usergroup-addall").hide();return true}$(G+"-usergroup-view").innerHTML=E.map(function(P){D._usergroupDB.set(P.id,P);return $H(I).get("templates_usergroup").interpolate(P)}).join("")},null,{"method":"get"})}.bind(this)});C.keys().each(function(E){if($(G+"-"+E+"-title")){F.push(E);A[E]=$(G+"-"+E+"-title");B[E]=$(G+"-"+E+"-content");A[E].observe("click",function(){$H(B).each(function(P){if(P.key==E){if(!P.value.visible()){A[P.key].addClassName("Jamform_element_userselector_title_selected");P.value.show();C.get(P.key)()}}else{P.value.hide();A[P.key].removeClassName("Jamform_element_userselector_title_selected")}})});$(G+"-"+E+"-closer").observe("click",function(){B[E].hide();if(E=="contactgrabber"){Jamendo.formElements.contactGrabber.stopPEGrabber();Jamendo.formElements.contactGrabber.hideGrabbers()}A[E].removeClassName("Jamform_element_userselector_title_selected")})}});D._userDB=$H({});D._friendsDB=$H({});D._grabberDB=$H({});D._clickUser=function(P,Q){var E=false;var R="search";if(Q){E=D._friendsDB.get(P);R="friends"}else{E=D._userDB.get(P)}if(!E){return false}O._managed.addBox({"id":E.id,"name":E.idstr,"origin":R});O._managed.focus()};D._clickGroup=function(E){groupName=D._usergroupDB.get(E).name;O._managed.addBox({"id":E,"name":groupName,"origin":"usergroup"});O._managed.focus()};D._clickContact=function(P,E,S,R,T){if(!R){O._managed.removeBox(D._grabberDB.get(P).get("bitno"));O._managed.focus();$(G+"-allcontacts").checked=""}else{var Q=O._managed.addBox({"id":P,"name":E,"origin":"grabber"});if(Q){D._grabberDB.get(P).set("bitno",Q)}}if(T){O._managed.focus()}return true};D._selectAllContacts=function(Q){if(Q){var P=[];D._grabberDB.map(function(S){if(!$(G+"-contacts-"+S.key).checked){$(G+"-contacts-"+S.key).checked="checked";Jamendo.formElements.contactGrabber._value.set(S.key,$H({"idstr":S.value.get("idstr"),"onjam":S.value.get("onjam")}));var R=-1;$("Jamform_share_usernames")._managed.bits.pluck("value").each(function(T){if(T.value.id&&T.value.id==S.key){R=T.box._bitNo}else{if(T.value.name&&S.value.get("email")&&T.value.name.toLowerCase()==S.value.get("email").toLowerCase()){R=T.box._bitNo}}});if(R>-1){Jamendo.formElements.contactGrabber._value.get(S.key).set("bitno",R)}this.push({"id":S.key,"name":S.value.get("idstr"),"origin":"grabber"})}},P);var E=O._managed.addBoxes(P);E.map(function(R){D._grabberDB.get(R[0]).set("bitno",R[1])});O._managed.focus()}else{var P=D._grabberDB.map(function(R){Jamendo.formElements.contactGrabber._value.unset(R[0]);return R[1].get("bitno")});O._managed.removeBoxes(P);O._managed.focus();$(G+"-allcontacts").checked=""}}}};Jamendo.classes.ContactGrabber=Class.create({initialize:function(A){this.o=A;if($(this.o.parent)._grabberDB==null){$(this.o.parent)._grabberDB=$H({})}this._value=$H({});this.maxcount=null;this.popup=null;this.errorcount=0;this.currentGrabber=false;this.funnelLogClickDelayedSwitch=new Jamendo.DelayedSwitch(function(){this.funnel_log("select",this._value.size())}.bind(this),false,5000);this.funnel_log("display",this.o.context)},funnel_log:function(A,B){Jamendo.writeApi("funnel_log",["contactgrabber",A,B],function(){},{"retryDelay":0,"retryCount":0,"timeout":0})},showGrabber:function(A){this.currentGrabber=A;$("subgrabbers").style.display="";$("grabber"+A).style.display="";$("selectgrabber").style.display="none";this.initGrabbers();this.funnel_log("choosegrabber",this.currentGrabber)},initGrabbers:function(){$H(this.o.grabbers).each(function(A){if($("radio"+A.key)){$("radio"+A.key).checked=""}});if(this.o.onInit){this.o.onInit()}},checkGrabber:function(){this.pe=new PeriodicalExecuter(function(A){if(this.popup&&this.popup.closed){Jamendo.writeApi("grabber_isready",[],function(B){if(B==1){this.pe.stop();this.grabContacts();this.grabbed=true}else{if(B=="notready"||B=="null"){this.pe.stop();this.grabbed=false;this.hideGrabbers()}}}.bind(this))}}.bind(this),3)},stopPEGrabber:function(){if(this.pe){this.pe.stop()}},openPopup:function(A){this.funnel_log("popup",A);this.popup=window.open(this.o.grabbers[A]["url_delauth"],"grabber","location=yes, toolbar=no, resizable=yes, scrollbars=yes, "+this.o.grabbers[A]["size"]);if(this.pe){this.pe.stop()}this.checkGrabber()},hideGrabbers:function(){$("subgrabbers").style.display="none";$H(this.o.grabbers).each(function(A){$("grabber"+A.key).style.display="none"});$("selectgrabber").style.display="";if(this.popup){this.popup.close()}$("subcontacts").hide();$("subcontactsdetails").hide()},grabContacts:function(){this.funnel_log("accept",this.currentGrabber);$("subgrabbers").hide();$("subcontacts").show();$("subcontacts").addClassName("Jamform_element_loading").update(new Element("img",{"width":"24","height":"24","src":"http://imgjam.com/superboxloading.gif"})).show();$("subcontacts").innerHTML+=Jamendo.getStr("CONTACTGRABBER_GRABBING")+"<br />";Jamendo.writeApi("grabber_getcontacts",[this.o.mode,this.o.showAlreadyAsked],function(A){if(A=="error"&&this.errorcount<5){this.errorcount++;$("subcontacts").innerHTML=Jamendo.getStr("CONTACTGRABBER_ERROR_OCCURED")+"<br />";$("subgrabbers").style.display="none";$("subcontacts").style.display="";this.grabContacts()}else{if(A=="error"&&this.errorcount==5){$("subcontacts").innerHTML=Jamendo.getStr("CONTACTGRABBER_ERROR_GRABBER_STOPPED")+"<br />";$("subcontacts").innerHTML+='<a href="#" onclick="Jamendo.formElements.contactGrabber.hideGrabbers();Jamendo.formElements.contactGrabber.stopPEGrabber();">'+Jamendo.getStr("CONTACTGRABBER_CHOOSE_ANOTHER_WEBMAIL")+"</a>";$("subgrabbers").style.display="none";$("subcontacts").style.display="";this.stopPEGrabber()}else{if(A!="grabbing"&&A!="error"){this.showGrabbedContacts(A)}}}}.bind(this),Prototype.K,{"retryDelay":0,"retryCount":0,"timeout":0})},showGrabbedContacts:function(A){if(this.o.mode=="separated"){this.funnel_log("showcontacts",(A["in"].length+A["out"].length))}else{this.funnel_log("showcontacts",(A.length))}$("subcontacts").addClassName("Jamform_element_loading").update(new Element("img",{"width":"24","height":"24","src":"http://imgjam.com/superboxloading.gif"})).show();if(A){if(this.o.mode=="separated"){this.showGrabbedContactsSeparated(A)}else{this.showGrabbedContactsAlpha(A)}}else{$("subcontacts").innerHTML=Jamendo.getStr("CONTACTGRABBER_ERROR_OCCURED")+"<br />";$("subgrabbers").style.display="none";$("subcontacts").style.display="";this.checkGrabber()}$("subcontacts").removeClassName("Jamform_element_loading");if(this.o.allchecked){this.selectAllContacts(true)}},showGrabbedContactsSeparated:function(A){var B=-1;this.maxcount=(A["in"].length+A["out"].length);if(this.maxcount>0){var C="";if(this.o.templates.templates_header_contacts_in&&A["in"].length>0){C=this.o.templates.templates_header_contacts_in}C+=A["in"].map(function(D){$(this.o.parent)._grabberDB.set(D.id,$H({"idstr":D.idstr,"bitno":null,"onjam":true}));B++;return this.o.templates.templates_contacts_in.interpolate(Object.extend(D,{"class":(B%2==0)?"odd":"even"}))}.bind(this)).join("");if(this.o.templates.templates_header_contacts_out&&A["out"].length>0){C+=this.o.templates.templates_header_contacts_out}C+=A["out"].map(function(D){$(this.o.parent)._grabberDB.set(D.emailstrip,$H({"idstr":D.idstr,"bitno":null,"onjam":false}));B++;return this.o.templates.templates_contacts_out.interpolate(Object.extend(D,{"class":(B%2==0)?"odd":"even"}))}.bind(this)).join("");$("subcontacts").innerHTML=Jamendo.getStr("CONTACTGRABBER_SELECT_DEST")+"<br /><br />";$("subcontacts").innerHTML+=this.o.templates.templates_allcontacts;$("subcontacts").innerHTML+="<div style='height:250px; overflow:auto;border : 1px solid #c0c0c0; background-color: #fff;'>"+C;$("subcontacts").innerHTML+="</div>";if(this.o.showdetails){$("subcontactsdetails").style.display=""}$("subgrabbers").style.display="none";$("subcontacts").style.display="";if(this.o.onGrabbed){this.o.onGrabbed()}}else{$("subcontacts").innerHTML=Jamendo.getStr("CONTACTGRABBER_NO_CONTACT_GRABBED")+'<a href="#" onclick="Jamendo.formElements.contactGrabber.hideGrabbers();Jamendo.formElements.contactGrabber.stopPEGrabber();">'+Jamendo.getStr("CONTACTGRABBER_TRY_ANOTHER_WEBMAIL")+"</a>";$("subgrabbers").style.display="none";$("subcontacts").style.display=""}},showGrabbedContactsAlpha:function(A){var B=-1;this.maxcount=A.length;if(this.maxcount>0){var C="";C+=A.map(function(D){if(D.id>0){$(this.o.parent)._grabberDB.set(D.id,$H({"idstr":D.idstr,"bitno":null,"onjam":true}));B++;return this.o.templates.templates_contacts_in.interpolate(Object.extend(D,{"class":(B%2==0)?"odd":"even"}))}else{$(this.o.parent)._grabberDB.set(D.emailstrip,$H({"idstr":D.idstr,"bitno":null,"onjam":false}));B++;return this.o.templates.templates_contacts_out.interpolate(Object.extend(D,{"class":(B%2==0)?"odd":"even"}))}}.bind(this)).join("");$("subcontacts").innerHTML=Jamendo.getStr("CONTACTGRABBER_SELECT_DEST")+"<br /><br />";$("subcontacts").innerHTML+=this.o.templates.templates_allcontacts;$("subcontacts").innerHTML+="<div style='height:250px; overflow:auto;border : 1px solid #c0c0c0; background-color: #fff;'>"+C;$("subcontacts").innerHTML+="</div>";if(this.o.showdetails){$("subcontactsdetails").style.display=""}$("subgrabbers").style.display="none";$("subcontacts").style.display="";if(this.o.onGrabbed){this.o.onGrabbed()}}else{$("subcontacts").innerHTML=Jamendo.getStr("CONTACTGRABBER_NO_CONTACT_GRABBED")+'<a href="#" onclick="Jamendo.formElements.contactGrabber.hideGrabbers();Jamendo.formElements.contactGrabber.stopPEGrabber();">'+Jamendo.getStr("CONTACTGRABBER_TRY_ANOTHER_WEBMAIL")+"</a>";$("subgrabbers").style.display="none";$("subcontacts").style.display=""}},getValue:function(){return this._value},updateGlobalCheckbox:function(){$(this.o.parent+"-allcontacts").checked=(this._value.toArray().length==this.maxcount)?"checked":""},clickContact:function(B,A,D,C,E){this.funnelLogClickDelayedSwitch.reset();if($(this.o.parent)._clickContact){$(this.o.parent)._clickContact(B,A,D,C,E)}if(C){this._value.set(B,$H({"idstr":A,"onjam":D}))}else{this._value.unset(B)}if(E){this.updateGlobalCheckbox()}},selectAllContacts:function(A){if(A){this.funnel_log("selectall")}else{this.funnel_log("selectnone")}if($(this.o.parent)._selectAllContacts){$(this.o.parent)._selectAllContacts(A);return }$(this.o.parent)._grabberDB.each(function(B){this.clickContact(B.key,B.value.get("idstr"),B.value.get("onjam"),A,false);$(this.o.parent+"-contacts-"+B.key).checked=A?"checked":""}.bind(this));this.updateGlobalCheckbox()}})