O que está "por trás" do AJAX?

Olá a todos.

Essa é para quem manja de AJAX. Em um mini-editor de texto via web, mais ou menos como o Google Docs, gostaria de saber:

  1. Como é possível adicionar funcionalidades a botões, tipo o botão B, que transforma o texto em negrito e o botão I, que o transforma em itálico etc? Existe algum livro que ensine a criar estes, digamos, "componentes" (botões "apertáveis")?

  2. Onde o texto criado por este mini-editor será salvo no servidor? Eu posso definir um diretório para isto?

  3. Como o texto produzido será salvo, como XML?

  4. No caso deu implementar um recurso que permite exportação para .pdf, como a aplicação irá interagir com o micro local do usuário (para salvar o arquivo localmente)? Que recurso faz esta integração aplicação AJAX &gt micro local?

  5. No caso de uma aplicação de planilha de cálculos, como eu posso criar fórmulas (para que o usuário automatize cálculos como média, auto-soma etc)?

  6. Como conseguir que meus botões se pareçam com os botões do Office 2007?

Alguém já leu algum livro/site que ensine a criar este tipo de aplicação (AJAX, mas com cara de desktop)?

Qualquer ajuda é bem vinda!

Forte abraço,

oi dá uma olhada no fckeditor.net