I want to add a chat now button that uses IM to permit visitors to talk to us if we are online. Has anybody done this?

Is it necessary to provide each service (msn, yahoo, aol) or is there any common standard.

Does it launch the client on the vistors desktop or is there a programmatic way to handle the actual "chat"?