    function MSNInstantMessage(person)
    {
        //Check if person has messenger installed
        try{MsgrObj.classid="clsid:B69003B3-C55E-4B48-836C-BC5946FC3B28";}
        catch(e){if(!(e.number && 2148139390) == 2148139390)return;}

        //Check if you are logged in
        if(MsgrObj.MyStatus == 1)
        {
            alert("You are not logged into Messenger.");
            return;
        }

        MsgrObj.InstantMessage(person);
    }
    
    function MSNGetUserStatus(person)
    {
        //Check if person has messenger installed
        try{MsgrObj.classid="clsid:B69003B3-C55E-4B48-836C-BC5946FC3B28";}
        catch(e){if(!(e.number && 2148139390) == 2148139390)return;}

		var status = "Unknown";

        //Check if you are logged in
        if(MsgrObj.MyStatus == 1)
        {
            return;
        }
        
        // Add contact
        MSNAddContact(person);
        
        var contact;
        try
        {
			contact = MsgrObj.GetContact(person,"");
		}
        catch(e)
        {
                return;
        }
	
		switch (contact.Status)
		{
			case 1:
				status = "Offline";
				break;
			case 2:
				status = "Online";
				break;	
			case 10:
				status = "Busy";
				break;
			case 14:
				status = "Be Right Back";
				break;
			case 34:
				status = "Away";
				break;
			case 50:
				status = "On The Phone";
				break;
			case 66:
				status = "Out To Lunch";
				break;
		}
		
		return status;
    }

    function MSNAddContact(person)
    {
        //Check if person has messenger installed
        try{MsgrObj.classid="clsid:B69003B3-C55E-4B48-836C-BC5946FC3B28";}
        catch(e){if(!(e.number && 2148139390) == 2148139390)return;}

        //Check if you are logged in
        if(MsgrObj.MyStatus == 1)
        {
            alert("You are not logged into Messenger.");
            return;
        }

        //Check if person is already in contact list
        try{var contact = MsgrObj.GetContact(person,"");}
        catch(e)
        {
            if((e.number && 2164261642) == 2164261642) //MSGR_E_USER_NOT_FOUND
            {
                MsgrObj.AddContact(0,person);
                return
            }
        }

        alert("That person is already in your contact list!");
    }
