Certain times of the week I would like the phone to be on vibrate and other times of the week I want it to be on ringer. I would like to setup a schedule for these changes to happen automatically. Can this be done? If not natively is there an app that can do this?
For a simple and free app to schedule changes ring tone/mode based on time of day and day of the week I recommend SoundManager.
Another free app that does this is Profile Changer. I've looked at it but haven't actually used it.
For full featured automation including time based, location based, app based... I'd go with Bryan's recommendation of Tasker.