var DropdownIcon=function(B,A){this.element=B;this.options=sono.extend({container:null,renderState:false,autoRenderState:true,showText:false,showFullText:false},A);this.items=[];this.initLayout();};DropdownIcon.prototype={initLayout:function(){this.element.className="dropdownContainer";this.icon=sono.Dom.buildNode("img",{src:"/images/msw/icons/icon_16x16_action_up.gif"});
var A=sono.bind(function(){this.toggle();return false;},this);this.element.appendChild(sono.Dom.buildNode("a",{className:"dropdownIconLink",href:"#",onclick:A},this.icon));if(this.options.showText){this.textLink=sono.Dom.buildNode("a",{className:"dropdownLink",href:"#",onclick:A});this.element.appendChild(this.textLink);
}this.menu=sono.Dom.buildNode("div",{className:"dropdownMenu",onmouseover:sono.bind(function(){this.unregisterHideEvents();},this),onmouseout:sono.bind(function(){this.registerHideEvents();},this),style:{zIndex:"999"}});this.element.appendChild(this.menu);},addItem:function(B){var A=sono.Dom.buildNode;
this.menu.appendChild(A("div",{className:"dropdownMenuItem"},[A("div",{className:"dropdownMenuItemIcon",style:(sono.BrowserEngine.isIE6?{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+B.icon+"', sizingMethod='crop')"}:{backgroundImage:"url("+B.icon+")"})}),A("a",{href:B.url||"#",onclick:(B.action?sono.bind(function(){this.hide();
B.action();if(this.options.renderState&&this.autoRenderState){this.setState(B);}return false;},this):function(){})},B.text)]));if(this.options.container&&(this.element.offsetTop+this.menu.offsetHeight+20>this.options.container.offsetHeight)){this.menu.className+=" dropdownOpenUp";}if(this.items.length==0&&this.options.renderState&&this.options.autoRenderState){this.setState(B);
}this.items.push(B);},setState:function(A){this.icon.src=A.icon;if(sono.BrowserEngine.isIE6){this.icon.src="/images/look/decorations/blank.gif";this.icon.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+A.icon+"', sizingMethod='crop')";}if(this.options.showText){sono.Event.onDOMReady(function(){this.textLink.innerHTML=(this.options.showFullText?A.text:(A.shortText||A.text));
},this,true);}},registerHideEvents:function(){var A=this;document.onmousedown=function(){A.hide();};},unregisterHideEvents:function(){document.onmousedown=function(){};},hide:function(){this.menu.style.visibility="hidden";this.redrawSafari();this.onhide();this.unregisterHideEvents();},onhide:function(){},show:function(){this.registerHideEvents();
this.menu.style.visibility="visible";this.redrawSafari();},visible:function(){return(this.menu.style.visibility=="visible");},toggle:function(){this.visible()?this.hide():this.show();},redrawSafari:function(){if(sono.BrowserEngine.isWebKit){window.resizeBy(-1,0);window.resizeBy(1,0);}}};
var BREAD_CRUMS_MAX_LENGTH=20;var BREAD_CRUMS_HEADER_MAX_LENGTH=35;function BreadCrumbs(B,C){if(!B){B=document.body;}if(!C){return ;}var F=this;var D="";var I;var G=C;var J=false;var H;var A;for(var E=0;E<G.length;E++){I=G[E];if(I){if(I.link){D+="<a href='"+I.link+"'>";if(I.full==true){D+=I.caption;}else{D+=truncate(I.caption,BREAD_CRUMS_MAX_LENGTH);
}D+="</a>";}else{if(I.full==true){D+=I.caption;}else{D+=truncate(I.caption,BREAD_CRUMS_MAX_LENGTH);}}if(E!=G.length-1){D+='<span class="pagename_delimiter"> : </span>';}}}Ext.onReady(function(){B.innerHTML=D;});}function truncate(C,A,B){A=A||30;B=B===undefined?"...":B;return C.length>A?C.slice(0,A-B.length)+B:C;
}
Sono.view.ImprovedTextField=function(A){Sono.view.ImprovedTextField.superclass.constructor.call(this,A);this.addEvents({textchanged:true});if(A&&A.maxChars){this.maxChars=A.maxChars;}else{this.maxChars=-1;}};Ext.extend(Sono.view.ImprovedTextField,Ext.form.TextField,{isArea:false,initEvents:function(){Sono.view.ImprovedTextField.superclass.initEvents.call(this);
this.el.on("keyup",this.onKeyPressed,this);if(this.maxChars>-1){this.setMaxChars(this.maxChars);}},setMaxChars:function(A){if(A>-1){this.el.set({maxlength:A});this.maxLength=A;this.maxChars=A;}else{this.el.set({maxlength:99999999});this.maxLength=null;this.maxChars=-1;}},applyTo:function(A){if(Ext.get(A).dom.tagName.toLowerCase()=="textarea"){this.isArea=true;
}else{this.isArea=false;}this.target=A;this.el=Ext.get(A);this.render(this.el.dom.parentNode);return this;},onKeyPressed:function(A){this.fireEvent("textchanged",this,A);},filterKeys:function(C){var A=C.getKey();var D=C.getCharCode();if((C.isNavKeyPress()||A==C.BACKSPACE||A==C.DELETE||A==C.CTRL)){if(this.isArea&&A==C.ENTER){}else{var B=this;
setTimeout(function(){B.onKeyPressed();},10);return ;}}if(this.maskRe&&!this.maskRe.test(String.fromCharCode(D)||"")){C.stopEvent();return ;}else{}if(this.el.getValue().length>=this.maxChars&&C.browserEvent.ctrlKey===false){if(Ext.isIE&&(C.isNavKeyPress()||A==C.BACKSPACE||A==C.DELETE||A==C.CTRL)&&A!=C.ENTER){}else{if(!isTextSelected(this.el.dom)){C.stopEvent();
return ;}}}}});function isTextSelected(B){var A="";var C="";if(!Ext.isIE){A=(B.selectionEnd-B.selectionStart>0)?" ":"";}else{if(Ext.isIE){A=document.selection.createRange().text;}else{A="";}}return A.length>0;}
function FriendStatusIcon(C,F,D){var E=this;var B=C;var A=F;this.init=function(){if(typeof B=="undefined"){throw new Error("Element should be defined.");}var G="";switch(A.relationStatus){case 0:case 4:break;case 1:G="/images/msw/icons/icon_16x16_inviting_up.gif";break;case 2:G="/images/msw/icons/icon_16x16_invited_up.gif";
break;case 3:if(A.showOnMobile&&D){G="/images/msw/icons/icon_16x16_friend_mobile_up.gif";}else{G="/images/msw/icons/icon_16x16_friend_up.gif";}break;default:break;}if(G&&G!=""){B.style.display="inline";if(window.attachEvent&&!window.opera){B.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+G+"', sizingMethod='crop')";
}else{B.innerHTML='<img src="'+G+'" />';}}else{B.style.display="none";}};Ext.onReady(function(){E.init();});}
function FriendActionMenu(A,H,C,G,I,B){I=I||DropdownIcon;var F=this;var E=A;var D=H;this.persona=D;this.menuButton;this.barElement=C;this.isMenuOpened=false;this.isMouseOver=false;this.isMobileSubscriber=G;this.isUserAuthenticated=B;this.init=function(){if(typeof E=="undefined"){throw new Error("Element should be defined.");
}if(D.relationStatus==4){E.innerHTML="It's you";}else{var M=this.menuRelationMobileFriend;var L="Actions";switch(D.relationStatus){case 0:M=this.menuRelationNone;break;case 1:M=this.menuRelationInvited;break;case 2:M=this.menuRelationInviting;break;case 3:if(this.isMobileSubscriber){if(D.showOnMobile){if(D.isMobileSubscriber){M=this.menuRelationMobileFriendSubscriber;
}else{M=this.menuRelationMobileFriend;}}else{if(D.isMobileSubscriber){M=this.menuRelationFriendSubscriber;}else{M=this.menuRelationFriend;}}}else{if(D.isMobileSubscriber){M=this.menuRelationNonMobileFriendSubscriber;}else{M=this.menuRelationNonMobileFriend;}}break;default:break;}this.menuButton=new I(E,{container:document.getElementById("bigbox")});
for(var K=0;K<M.length;K++){this.menuButton.addItem(M[K]);}var J,O=E.id.replace("dropdown","holder");if(O!=E.id){J=document.getElementById(O);}if(J){E.style.visibility="hidden";var N=this.menuButton;J.onmouseover=function(){E.style.visibility="visible";N.onhide=function(){};};J.onmouseout=function(Q){if(sono.BrowserEngine.isIE){if(!Q){var Q=window.event;
}var P=(Q.relatedTarget)?Q.relatedTarget:Q.toElement;if(!P){return ;}while(P!=this&&P.nodeName!="BODY"){P=P.parentNode;}if(P==this){return ;}}if(!N.visible()){E.style.visibility="hidden";}else{N.onhide=function(){E.style.visibility="hidden";this.onhide=function(){};};}};}J=null;}};this.onMenuShow=function(){this.isMenuOpened=true;
this.showComponent();};this.onMenuHide=function(){this.isMenuOpened=false;if(this.isMouseOver){this.hideComponent();}};this.showComponent=function(){this.isMouseOver=true;this.menuButton.setVisible(true);};this.hideComponent=function(){if(this.menuButton&&!this.isMenuOpened){this.isMouseOver=false;this.menuButton.setVisible(false);
}};this.doSendInvite=function(){if(!B){document.location.href="/mvc/network/member/registerMember.html?action=register&invitee="+D.id;return ;}var K=FriendActionMenu.inviteDialog;if(!K){FriendActionMenu.inviteDialog=K=new Ext.BasicDialog("sono-invite-dlg",{title:"Invitation to be friends",width:295,height:165,shadow:true,resizable:false,collapsible:false,modal:true,autoScroll:false,proxyDrag:true,closable:false});
var J=function(N,Q){var M=FriendActionMenu.inviteDialog;var L=FriendActionMenu.persona.id;var P=InviteDialog.messageInput;var O=P.getValue();var R=P.validateValue(O);if(R){M.hide();callService({service:ServiceName.PERSONA,method:"sendInvite",handler:commonServiceHandler,params:[L,O]});}else{return ;}};
K.addKeyListener(27,K.hide,K);K.addButton("Invite",J,K);K.addButton("Cancel",K.hide,K);}InviteDialog.messageInput.setValue("Will you be my friend? Accept this invite to be added to my list.");InviteDialog.messageInput.clearInvalid();setFieldFocus(InviteDialog.messageInput);FriendActionMenu.persona=D;
if(!FriendActionMenu.inviteMaxlengthSet){sono.Dom.maxlength("invite_message",200,"invite_messageMonitor");FriendActionMenu.inviteMaxlengthSet=true;}else{sono.Dom.get("invite_message").updateMonitor();}K.show();};this.doAcceptInvite=function(){callService({service:ServiceName.PERSONA,method:"acceptInvite",handler:commonServiceHandler,params:[D.id]});
};this.doDeclineInvite=function(){callService({service:ServiceName.PERSONA,method:"rejectInvite",handler:commonServiceHandler,params:[D.id]});};this.doCancelInvite=function(){callService({service:ServiceName.PERSONA,method:"cancelInvite",handler:commonServiceHandler,params:[D.id]});};this.doDeleteFriend=function(){callService({service:ServiceName.PERSONA,method:"terminateRelation",handler:commonServiceHandler,params:[D.id,1]});
};this.doMakeMobile=function(){callService({service:ServiceName.MOBILE_PERSONA,method:"allowShowOnMobile",handler:function(J,K){if(K){onServiceFailed(K);return ;}if(J){onServiceSucces();}else{var L=function(W,U){if(!U){var V=W.frame.list;var S="<table>";for(var R=0;R<V.length;R++){var P=V[R];var M=P.firstName+" "+P.lastName;
var N=P.id;var Q;if(P.picture==null||P.picture.length==0){if(P.gender==0){Q='<img src="/images/msw/pict_25x25_profile_default_men.png"/>';}else{if(P.gender==1){Q='<img src="/images/msw/pict_25x25_profile_default_women.png"/>';}else{Q='<img src="/images/msw/pict_25x25_profile_unknown.png"/>';}}}else{Q='<img src="/mvc/picture/getContent?name='+P.picture+"&personaId="+N+'&width=25&height=25&crop=true">';
}S+='<tr><td width="30"><input type="radio" name="friend" id="friend'+N+'" /></td><td width="30">'+Q+'</td><td><label for="friend'+N+'">'+M+"</label></td></tr>";}S+="</table>";var T=FriendActionMenu.removeFriendDialog;if(T==null){FriendActionMenu.removeFriendDialog=T=new Ext.BasicDialog("sono-removeFriend-dlg",{title:"Select friend to remove",width:300,height:200,shadow:true,resizable:false,collapsible:false,proxyDrag:true,modal:true,closable:false});
var O=function(){var Z=document.getElementById("inner_dialog");var X=Z.getElementsByTagName("input");var a=[];for(var Y=0;Y<X.length;Y++){if(X[Y].checked==true){a.push(parseInt(X[Y].id.replace("friend","")));}}if(a.length>0){callService({service:ServiceName.MOBILE_PERSONA,method:"allowShowOnMobile",handler:F.doMakeMobile,params:[a[0],false]});
}};T.addButton("Remove",O,T);T.addButton("Cancel",T.hide,T);}T.show();document.getElementById("inner_dialog").innerHTML=S;}else{onServiceFailed(U);}};callService({service:ServiceName.MOBILE_PERSONA,method:"getShowedOnMobile",handler:L,params:[0,9999999]});}},params:[D.id,true]});};this.doMakeUnmobile=function(){callService({service:ServiceName.MOBILE_PERSONA,method:"allowShowOnMobile",handler:commonServiceHandler,params:[D.id,false]});
};this.doSendEmail=function(){var J=FriendActionMenu.emailDialog;if(!J){FriendActionMenu.emailDialog=J=new Ext.BasicDialog("sono-email-dlg",{title:"Send email",width:410,height:240,shadow:true,resizable:false,collapsible:false,modal:true,autoScroll:false,proxyDrag:true,closable:false});var K=function(O,U){var R=FriendActionMenu.emailDialog;
var N=EmailDialog.subjectInput;var M=EmailDialog.messageInput;var L=N.getValue();var P=M.getValue();var T=N.validateValue(L);var S=M.validateValue(P);if(T&&S){R.hide();var Q=FriendActionMenu.persona.id;callService({service:ServiceName.MESSAGING,method:"sendEmail",handler:commonServiceHandler,params:[createJSONArrayList([Q]),L,P]});
}else{return ;}};J.addKeyListener(27,J.hide,J);J.addButton("Send",K,J);J.addButton("Cancel",J.hide,J);}EmailDialog.messageInput.setValue("");EmailDialog.subjectInput.setValue("");EmailDialog.messageInput.clearInvalid();EmailDialog.subjectInput.clearInvalid();setFieldFocus(EmailDialog.subjectInput);J.show();
FriendActionMenu.persona=D;};this.doSendSms=function(){var K=FriendActionMenu.smsDialog;if(!K){FriendActionMenu.smsDialog=K=new Sono.msw.SendSmsDialog("sono-sms-dlg",{message:"sms_message",counter:"sms_counter",title:"Send sms",width:263,height:240,shadow:true,resizable:false,collapsible:false,modal:true,proxyDrag:true,autoScroll:false,closable:false});
var J=function(Q,R){var P=FriendActionMenu.smsDialog;var O=P.getMessage();if(P.validate()==true){P.hide();var N=FriendActionMenu.persona.id;callService({service:ServiceName.MESSAGING,method:"sendSMS",handler:commonServiceHandler,params:[createJSONArrayList([N]),O]});}else{return ;}};K.addKeyListener(27,K.hide,K);
sendButton=K.addButton("Send",J,K);K.addButton("Cancel",K.hide,K);}FriendActionMenu.persona=D;K.reset();var M=D.firstName+" "+D.lastName;var L=30;if(M.length>L){M=M.substr(0,L)+"...";}document.getElementById("recepient").innerHTML=formatNicely(M);callService({service:ServiceName.MESSAGING,method:"getMySMSSignature",handler:function(N,P){if(!P){var O=N;
Ext.get("sms_signature").dom.innerHTML=String.format("{0}",O);callService({service:ServiceName.SEND_SMS,method:"getSmsStatusVO",handler:function(Q,R){if(!R){var S=Q;K.setMaxChars(S.maxMessageSize);K.setSignature(O);K.setPartCount(S.multipartAmount);K.reset();sendButton.disable();K.block();K.show();$get("sms_message").disabled=true;
if(browserDetect.browser=="Safari"){$get("sms_message").style.height="95px";$get("sms_message").style.width="97%";}}else{onServiceFailed(R);}},params:["",N]});}else{onServiceFailed(P);}},params:[]});};this.menuRelationNone=[{text:"Send Invite",icon:"/images/icons/icon_16x16_join_up.gif",action:this.doSendInvite}];
this.menuRelationInvited=[{text:"Cancel Invite",icon:"/images/msw/icons/icon_16x16_decline_up.png",action:this.doCancelInvite}];this.menuRelationInviting=[{text:"Accept Invite",icon:"/images/icons/icon_16x16_accept_up.gif",action:this.doAcceptInvite},{text:"Decline Invite",icon:"/images/icons/icon_16x16_delete_up.gif",action:this.doDeclineInvite}];
this.menuRelationNonMobileFriend=[{text:"Remove Friend",icon:"/images/icons/icon_16x16_delete_up.gif",action:this.doDeleteFriend},{text:"Send E-mail",icon:"/images/icons/icon_16x16_send_email_up.gif",action:this.doSendEmail}];this.menuRelationNonMobileFriendSubscriber=[{text:"Remove Friend",icon:"/images/icons/icon_16x16_delete_up.gif",action:this.doDeleteFriend},{text:"Send E-mail",icon:"/images/icons/icon_16x16_send_email_up.gif",action:this.doSendEmail}];
if(window.mobileServicesEnabled){this.menuRelationNonMobileFriendSubscriber.push({text:"Send SMS",icon:"/images/icons/icon_16x16_send_sms_up.gif",action:this.doSendSms});}this.menuRelationFriend=[{text:"Remove Friend",icon:"/images/icons/icon_16x16_delete_up.gif",action:this.doDeleteFriend}];if(window.mobileServicesEnabled){this.menuRelationFriend.push({text:"Add to Mobile",icon:"/images/icons/icon_16x16_make_mobile_up.gif",action:this.doMakeMobile});
}this.menuRelationFriend.push({text:"Send E-mail",icon:"/images/icons/icon_16x16_send_email_up.gif",action:this.doSendEmail});this.menuRelationMobileFriend=[{text:"Remove Friend",icon:"/images/icons/icon_16x16_delete_up.gif",action:this.doDeleteFriend}];if(window.mobileServicesEnabled){this.menuRelationMobileFriend.push({text:"Remove from Mobile",icon:"/images/icons/icon_16x16_make_unmobile_up.gif",action:this.doMakeUnmobile});
}this.menuRelationMobileFriend.push({text:"Send E-mail",icon:"/images/icons/icon_16x16_send_email_up.gif",action:this.doSendEmail});this.menuRelationFriendSubscriber=[{text:"Remove Friend",icon:"/images/icons/icon_16x16_delete_up.gif",action:this.doDeleteFriend}];if(window.mobileServicesEnabled){this.menuRelationFriendSubscriber.push({text:"Add to Mobile",icon:"/images/icons/icon_16x16_make_mobile_up.gif",action:this.doMakeMobile});
}this.menuRelationFriendSubscriber.push({text:"Send E-mail",icon:"/images/icons/icon_16x16_send_email_up.gif",action:this.doSendEmail});if(window.mobileServicesEnabled){this.menuRelationFriendSubscriber.push({text:"Send SMS",icon:"/images/icons/icon_16x16_send_sms_up.gif",action:this.doSendSms});}this.menuRelationMobileFriendSubscriber=[{text:"Remove Friend",icon:"/images/icons/icon_16x16_delete_up.gif",action:this.doDeleteFriend}];
if(window.mobileServicesEnabled){this.menuRelationMobileFriendSubscriber.push({text:"Remove From mobile",icon:"/images/icons/icon_16x16_make_unmobile_up.gif",action:this.doMakeUnmobile});}this.menuRelationMobileFriendSubscriber.push({text:"Send E-mail",icon:"/images/icons/icon_16x16_send_email_up.gif",action:this.doSendEmail});
if(window.mobileServicesEnabled){this.menuRelationMobileFriendSubscriber.push({text:"Send SMS",icon:"/images/icons/icon_16x16_send_sms_up.gif",action:this.doSendSms});}Ext.onReady(function(){F.init();});}FriendActionMenu.persona=null;FriendActionMenu.emailDialog=null;FriendActionMenu.inviteDialog=null;
FriendActionMenu.smsDialog=null;
var SMS_REGEXP=/[\x20-\x7E\x0D]/;var ERROR_NOT_LATIN="Please use only latin characters";var SIGNATURE_DELIMETER_LEN=1;function smsValidator(B){var A=SMS_REGEXP;if(!A.test(B)){return ERROR_NOT_LATIN;}return requiredValidator(B);}var SendSmsMessage=null;Sono.msw.SendSmsDialog=function(B,A){Sono.msw.SendSmsDialog.superclass.constructor.call(this,B,A);
this.maxChars=127;this.partCount=2;if(A&&typeof A.maxChars=="number"){this.maxChars=A.maxChars;}this.messageEl=this.getMessageField();this.counterEl=Ext.get(A.counter);this.onMessageChanged();};Ext.extend(Sono.msw.SendSmsDialog,Ext.BasicDialog,{messageEl:null,signature:"",onMessageChanged:function(){var C=this.getMessageField().getValue().length+this.signature.length+SIGNATURE_DELIMETER_LEN;
var D=(this.maxChars-C);var B=parseInt(this.maxChars/this.partCount);D=(D+B)%B;var A=parseInt((C-1)/B)+1;if(A>this.partCount){D=0;}this.counterEl.dom.innerHTML=String.format("{0} characrers left",((D>0)?D:0));},reset:function(){this.messageEl.setValue("");this.messageEl.clearInvalid();var A=Ext.get(this.messageEl);
if(A){A.remove();}this.messageEl=null;this.messageEl=this.getMessageField();this.onMessageChanged();},block:function(){$get("onstart_text").style.display="block";$get("sms_message").disabled=true;},recalculateMaxLength:function(){var A=this.maxChars-(this.signature||"").length-SIGNATURE_DELIMETER_LEN;
this.getMessageField().setMaxChars(A);},getMessageField:function(){if(SendSmsMessage==null){var A=this.maxChars-(this.signature||"").length-SIGNATURE_DELIMETER_LEN;var C={allowBlank:true,blankText:"Message required",validator:smsValidator,maxLength:A,maxLengthText:"Not more then {0} chars allowed",maxChars:A,maskRe:SMS_REGEXP,msgTarget:"under",errorEl:Ext.get("error_block")};
var B=new Sono.view.ImprovedTextField(C);B.applyTo(this.message);B.on("textchanged",this.onMessageChanged,this);this.messageEl=SendSmsMessage=B;}return SendSmsMessage;},setMaxChars:function(A){if((typeof A=="number")&&(A!=this.maxChars)){this.maxChars=A;this.recalculateMaxLength();}},setPartCount:function(A){if((typeof A=="number")&&(A!=this.maxChars)){this.partCount=A;
this.recalculateMaxLength();}},setSignature:function(A){this.signature=A;this.recalculateMaxLength();},validate:function(){var C=this.getMessageField().getValue();var A=this.getMessageField().validateValue(C);if(A!=true){return A;}var B=callService({service:ServiceName.SEND_SMS,method:"getSmsStatusVO",params:[C,this.signature]});
if(B.encodingSupport!=true){this.getMessageField().markInvalid(ERROR_NOT_LATIN);return ERROR_NOT_LATIN;}return(smsValidator(C));},getMessage:function(){return this.getMessageField().getValue();}});
