Getting messages even if user is not online anymore

I'd like to ask 3 questions.
1. Can I use a chat for private conversations with each user on different pages?
2. Can user see a new private chat on any new page ?
3. Is the conversation kept on server, so when i'm not online while an user is writting a message, can I read it when i'll get online and if the chat histroy will be there? (basicly something like fb)
..maby there are some specific already predesigned plugins/modules to server that facility...
any information will be helpful