'Copyright 2000 Microsoft Corporation Dim A_ A_=False Dim B_,C_,D_ B_=False C_=False D_=False Dim E_,F_,G_ E_=False F_=False G_=3000 Dim H_(),I_ I_=0 Dim J_,K_,L_,M_,N_,O_,P_ J_="" K_="" M_=""&"Sign in to MSN Messenger Service"&"" N_=M_&"http://msimg.com/w/msgr/online1.gif"&" ALT="""&"Online"&""">" O_=M_&"http://msimg.com/w/msgr/busy1.gif"&" ALT="""&"Busy"&""">" P_=M_&"http://msimg.com/w/msgr/idle1.gif"&" ALT="""&"Away"&""">" M_=" new message(s)" DrawLogin False Else DrawLogin True End If End Sub Sub DrawLogin(S_) Dim T_,U_ T_="none" U_="none" If S_ Then If hotLog Then U_="block" document.all.email.innerHTML="Inbox" Else T_="block" End If Else If(MsgrObj.UnreadEmail(0)=-1)Then U_="none" Else U_="block" End IF End If document.all.goinbox.style.display=U_ document.all.loginbox.style.display=T_ document.all.emailhdr.style.display=U_ document.all.emailsep.style.display=U_ End Sub Sub DrawContacts Dim V_,W_,X_,Y_ V_="none" W_="none" X_="none" Y_="none" If E_ Then mcClearCache End If If MsgrObj.LocalState AND 2 Then If Not F_ Then mcLoadCache End If If I_>0 Then Dim Z_,ol,nc Z_="" ol=0 nc=30 Dim i i=0 While i"&getStateImage(s)&" "&""&K_&AB_ Z_=Z_&"
" End If i=i+1 Wend If ol>0 Then W_="block" document.all.mlink.innerHTML="Open MSN Messenger main window" Else V_="block" document.all.noneol.innerHTML=K_&"You have no contacts online right now"&"" document.all.mlink.innerHTML="Open MSN Messenger Service" End If Y_="block" document.all.mUser.innerHTML=Z_ Else V_="block" document.all.noneol.innerHTML=K_&"Your contact list is empty.
Add contacts to your list."&"" End If Else If MsgrObj.LocalState=256 Or MsgrObj.LocalState=512 Then B_=True X_="block" document.all.status.innerHTML="Signing in..." Else X_="block" If Not B_ Then document.all.status.innerHTML=L_ End If End If End If document.all.mUser.style.display=W_ document.all.cmore.style.display=Y_ document.all.msgrlogon.style.display=X_ document.all.noneol.style.display=V_ End Sub Sub mcClearCache I_=0 Erase H_ F_=False E_=False D_=True End Sub Sub mcLoadCache Dim BB_ Set BB_=MsgrObj.List(0) Dim CB_ CB_=0 Dim DB_ DB_=BB_.Count Redim H_(DB_) For Each u In BB_ Set H_(CB_)=u CB_=CB_+1 Next I_=CB_ SortUsers 0,I_-1 F_=True End Sub Sub SortUsers(EB_,FB_) Dim GB_ if FB_>EB_ then GB_=ptn(EB_,FB_) SortUsers EB_,GB_-1 SortUsers GB_+1,FB_ end if End Sub Function ptn(EB_,FB_) Dim HB_,tmp Randomize HB_=Int(Rnd()Mod(FB_-EB_+1))+EB_ Set tmp=H_(HB_) Set H_(HB_)=H_(EB_) Set H_(EB_)=tmp Dim a,b a=EB_ b=FB_ While b>a If StrComp(H_(b).FriendlyName,tmp.FriendlyName,1)>=0 Then b=b-1 Else Set H_(a)=H_(b) Set H_(b)=H_(a+1) Set H_(a+1)=tmp a=a+1 End If Wend ptn=a End Function SUB MsgrObj_OnLocalStateChangeResult(ByVal hr,ByVal mLocalState,ByVal pService) If 0=hr And Err.description="" And A_ Then If mLocalState=256 Or mLocalState=512 Then B_=True document.all.status.innerHTML="Signing in..." ElseIf mLocalState=1024 Then B_=True document.all.status.innerHTML="Signing out..." End If RefreshMC End If END SUB SUB MsgrObj_OnUserStateChanged(ByVal pUser,ByVal mPrevState,ByVal pfEnableDefault) If Err.description="" Then RefreshMC End If END SUB SUB MsgrObj_OnListRemoveResult(ByVal hr,ByVal MLIST,ByVal pUser) If 0=hr And 0=MLIST And Err.description="" Then E_=True RefreshMC End If END SUB SUB MsgrObj_OnListAddResult(ByVal hr,ByVal MLIST,ByVal pUser) If 0=hr And 0=MLIST And Err.description="" Then E_=True RefreshMC End If END SUB SUB MsgrObj_OnLogonResult(ByVal hr,ByVal pService) If 0=hr And Err.description="" Then B_=False RefreshMC Else mcClearCache B_=False RefreshMC End If END SUB SUB MsgrObj_OnLogoff() mcClearCache B_=False RefreshMC END SUB SUB MsgrObj_OnAppShutdown() RefreshMC END SUB SUB MsgrObj_OnUnreadEmailChanged(ByVal mFolder,ByVal cUnreadInboxEmail,ByVal pfEnableDefault) RefreshMC END SUB Function op(n) If HasMsgrApp Then If n>=0 Then document.all.mctrack.src="http://go.msn.com/P/6/" On Error Resume Next MsgrApp.LaunchIMUI H_(n) ElseIf-1=n Then MsgrApp.LaunchLogonUI Else MsgrApp.Visible=1 End If End If End Function Function htmlesc(str) str=Replace(str,"&","&") str=Replace(str,"<","<") htmlesc=Replace(str,">",">") End Function Function fixName(s,max) If Len(s)>max Then s=Left(s,max-2)&"..." End If fixName=htmlesc(s) End Function Function getStateImage(t) Dim i If t=2 Then i=0 ElseIf t=10 Or t=50 Then i=2 Else i=1 End If If i=0 Then getStateImage=N_ ElseIf i=2 Then getStateImage=O_ Else getStateImage=P_ End If End Function Function valHotmail() Dim IB_ valHotmail=True IB_=document.all.login.value If(IB_=null Or IB_="")Then alert("Please enter a valid Hotmail member name.") document.all.login.focus valHotmail=False Exit Function End If Dim ch ch=Asc(Mid(IB_,1,1)) If(ch<=122 And ch>=97)Or(ch>=65 And ch<=90)Then For i=1 To Len(IB_) ch=Asc(Mid(IB_,i,1)) If(ch>=0 And ch<=47)Or(ch>=58 And ch<=64)Or(ch>=91 And ch<=94)Or(ch=96)Or(ch>=123)Then alert("Please enter a valid Hotmail member name.") document.all.login.focus valHotmail=False Exit For End If Next Else alert("Please enter a valid Hotmail member name.") document.all.login.focus valHotmail=False End If document.forms.HotmailForm.login.value=IB_ document.all.mctrack.src="http://go.msn.com/P/7/" End Function