<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-16663224</id><updated>2007-08-20T00:40:44.555-03:00</updated><title type='text'>Ajax e DHTML</title><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml'/><author><name>Pedro Eugenio Antunes</name></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-16663224.post-3334067427619741204</id><published>2007-08-02T18:28:00.000-03:00</published><updated>2007-08-02T19:36:53.541-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Facilidade'/><category scheme='http://www.blogger.com/atom/ns#' term='Uteis'/><category scheme='http://www.blogger.com/atom/ns#' term='DOM'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='Prototype'/><category scheme='http://www.blogger.com/atom/ns#' term='Métodos'/><title type='text'>Métodos úteis da Prototype</title><summary type='text'>A biblioteca Prototype provê uma série de funcionalidade úteis para o dia-à-dia.
Vários desses métodos são uma representação mais fácil de métodos já existentes no JavaScript, com exceção do método $ que identifica os elementos do DOM com algumas funcionalidades a mais.
Estes métodos são simples, de fácil memorização e mais úteis que os existentes no JavaScript.
O mais utilizado é o $(), não só </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2007/08/mtodos-uteis-da-prototype.html' title='Métodos úteis da Prototype'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=3334067427619741204&amp;isPopup=true' title='0 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/3334067427619741204'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/3334067427619741204'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-2434003174355673919</id><published>2007-08-02T10:57:00.000-03:00</published><updated>2007-08-02T11:10:45.898-03:00</updated><title type='text'>Não se assustem</title><summary type='text'>Não se assustem, é o mesmo site, só procurei trocar o layout para dar uma renovada.
O Blog já existe há quase 2 anos e agora resolvi dar uma mudada, apesar dos poucos posts.
Vou começar a montar uma série de tutoriais sobre as funcionalidades da prototype, em breve vou começar a postar aqui.</summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2007/08/no-se-assustem.html' title='Não se assustem'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=2434003174355673919&amp;isPopup=true' title='0 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/2434003174355673919'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/2434003174355673919'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-755350806682534589</id><published>2007-06-20T16:48:00.000-03:00</published><updated>2007-06-27T10:39:34.962-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dinâmico'/><category scheme='http://www.blogger.com/atom/ns#' term='popup'/><category scheme='http://www.blogger.com/atom/ns#' term='div'/><category scheme='http://www.blogger.com/atom/ns#' term='create'/><category scheme='http://www.blogger.com/atom/ns#' term='element'/><title type='text'>Criando elementos html dinamicamente</title><summary type='text'>Para trabalhar com elementos HTML criados dinamicamente é utilizado o comando: document.creatElement(tag)
Uma coisa que você precisa saber antes de seguir fazendo o seu aplicativo é que para funcionar, é necessário que todo o código HTML já tenha sido carregado na página. Use sempre em funções.
Vamos direto ao assunto.
Primeiro criamos o elemento e guardamos em uma variável:

 //Criando o </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2007/06/criando-elementos-html-dinamicamente.html' title='Criando elementos html dinamicamente'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=755350806682534589&amp;isPopup=true' title='0 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/755350806682534589'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/755350806682534589'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-116110502239665096</id><published>2006-10-17T14:09:00.000-03:00</published><updated>2007-06-27T10:43:35.686-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quebra cabeça'/><category scheme='http://www.blogger.com/atom/ns#' term='drag'/><category scheme='http://www.blogger.com/atom/ns#' term='dhtml'/><category scheme='http://www.blogger.com/atom/ns#' term='puzzle'/><category scheme='http://www.blogger.com/atom/ns#' term='arrastar'/><category scheme='http://www.blogger.com/atom/ns#' term='mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='drop'/><category scheme='http://www.blogger.com/atom/ns#' term='mover'/><title type='text'>Drag-Drop -&gt; Quebra Cabeça</title><summary type='text'>Finalmente vou postar algo realmente explicativo sobre Drag and Drop.
Primeiramente veja esse exemplo que será explicado: Quebra Cabeça.
Pra começar, vou colocar a uma div que contém a chamada as funções que captura os eventos sobre ela.

&lt;div id="objeto1" class="normal" 
 style="top:100px;left:100px;width:100px;height:100px;"
 onmousedown="drag(this)"
 onmouseup="drop(this)"&gt;
 1
&lt;/div&gt;

Foram </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/10/drag-drop-quebra-cabea.html' title='Drag-Drop -&gt; Quebra Cabeça'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=116110502239665096&amp;isPopup=true' title='0 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/116110502239665096'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/116110502239665096'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-114538601179703444</id><published>2006-04-18T15:46:00.000-03:00</published><updated>2006-04-18T15:46:51.843-03:00</updated><title type='text'>Mais um brinquedo do Google</title><summary type='text'>Descobri hoje o novo Google Calendar. Uma ferramenta muito boa pra quem quer organizar as datas especiais.Uma coisa interessante que dá pra ser feito é importar calendários de alguém que já catalogou, por exemplo, os feriados do Brasil, assim você vincula no seu calendário sem precisar ficar cadastrando todas as datas, sendo que dá pra vincular uma cor diferente para cada calendário importado. </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/04/mais-um-brinquedo-do-google.html' title='Mais um brinquedo do Google'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=114538601179703444&amp;isPopup=true' title='0 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/114538601179703444'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/114538601179703444'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-114321700259209128</id><published>2006-03-24T13:16:00.000-03:00</published><updated>2006-03-24T13:16:42.680-03:00</updated><title type='text'>Duvidas!? Comentem!!</title><summary type='text'>Aê galera, caso tenha alguma dúvida referente aos assuntos aqui abordados mandem comentários, assim posso ajudar com o que for possível.Se quiserem ver alguma matéria sobre algo mais especifico sugiram que eu vou procurar atender... abraços </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/03/duvidas-comentem.html' title='Duvidas!? Comentem!!'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=114321700259209128&amp;isPopup=true' title='2 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/114321700259209128'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/114321700259209128'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-114289185762708978</id><published>2006-03-20T18:57:00.000-03:00</published><updated>2006-03-20T18:57:37.686-03:00</updated><title type='text'>Google adquire a Writely</title><summary type='text'>Já havia mencionado sobre Writely (Gerenciador de arquivos em Ajax), mas hoje fiquei sabendo que esta foi comprada pelo  Google.Google adora idéias e compra as empresas que as criam. Quisera eu de criar uma boa idéia para o Google comprar. </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/03/google-adquire-writely.html' title='Google adquire a Writely'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=114289185762708978&amp;isPopup=true' title='0 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/114289185762708978'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/114289185762708978'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-114196018173962653</id><published>2006-03-10T00:03:00.001-03:00</published><updated>2006-03-10T10:15:50.326-03:00</updated><title type='text'>Combos Dinâmicas</title><summary type='text'>Vou explicar um pouco de como trabalhar com elementos SELECT do HTML de forma inâmica e com conteúdo atualizavel via AJAX.
Para isso é necessário que se tenha uma combo. Abaixo segue um exemplo em HTML:
&lt;select name="cmbteste" id="cmbteste"&gt;
  &lt;optgroup label="Grupo 1"&gt;
  &lt;option&gt;teste1&lt;/option&gt;
  &lt;option&gt;teste2&lt;/option&gt;
  &lt;option&gt;teste3&lt;/option&gt;
  &lt;option&gt;teste4&lt;/option&gt;
  &lt;/optgroup&gt;
&lt;/select&gt;
</summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/03/combos-dinmicas.html' title='Combos Dinâmicas'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=114196018173962653&amp;isPopup=true' title='4 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/114196018173962653'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/114196018173962653'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-114170088511557157</id><published>2006-03-06T22:04:00.000-03:00</published><updated>2006-03-07T00:10:05.320-03:00</updated><title type='text'>Prototype -&gt; Login Ajax</title><summary type='text'>Respondendo a uma duvida da comunidade no Orkut resolvi criar aqui um validador de login e senha em Ajax. Primeiro vamos criar
uma página de login:
&lt;body&gt;
&lt;div id="loginDIV"&gt;
&lt;h3&gt;Login&lt;/h3&gt;
&lt;form name="frmLogin"&gt;
Login: &lt;input type="text" name="login" id="login" /&gt;
Senha: &lt;input type="password" name="senha" id="senha" /&gt;
&lt;input type="button" value="login" onclick="Login()" /&gt;
&lt;/form&gt;
&lt;/div&gt;
&lt;/</summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/03/prototype-login-ajax.html' title='Prototype -&gt; Login Ajax'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=114170088511557157&amp;isPopup=true' title='8 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/114170088511557157'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/114170088511557157'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-114091249969313758</id><published>2006-02-25T13:08:00.000-03:00</published><updated>2006-02-25T21:20:44.750-03:00</updated><title type='text'>Drag and Drop -&gt; Mouse</title><summary type='text'>O conceito de Drag and Drop é poder segurar, arrastar e soltar os componentes.
Em DHTML não é complicado fazê-lo, mas com criatividade pode-se fazer algo muito interessante e facilitar muito o usuário em ambientes de sistemas.
Vou começar com algo bem simples, captura de eventos do mouse. Talvez pra quem já mexe com isso pode parecer até meio bobo, mas acho que pode mover a imaginação de muita </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/02/drag-and-drop-mouse.html' title='Drag and Drop -&gt; Mouse'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=114091249969313758&amp;isPopup=true' title='1 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/114091249969313758'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/114091249969313758'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-113985657685947775</id><published>2006-02-13T14:59:00.000-02:00</published><updated>2006-02-13T16:49:40.066-02:00</updated><title type='text'>Dúvida sobre cargamenu.php</title><summary type='text'>Respondendo a um comentário no artigo Tutorial prototype -&gt; Ajax.Updater vou passar o conteúdo do arquivo cargamenu.php, que é simplesmente mostrar uma string com tag LI:

&lt;?php
header("Content-type: text/html; charset=ISO-8859-1");
echo "&lt;ul&gt;";
switch ($_REQUEST["item"]){
  case "cidade":
    echo "&lt;li&gt;São Paulo&lt;/li&gt;";
    echo "&lt;li&gt;Araraquara&lt;/li&gt;";
    echo "&lt;li&gt;Araras&lt;/li&gt;";
    echo "&lt;li&gt;</summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/02/dvida-sobre-cargamenuphp.html' title='Dúvida sobre cargamenu.php'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=113985657685947775&amp;isPopup=true' title='0 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113985657685947775'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113985657685947775'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-113889617374681887</id><published>2006-02-02T14:02:00.000-02:00</published><updated>2006-02-02T14:02:55.223-02:00</updated><title type='text'>Drag and Drop</title><summary type='text'>Estive ocupado e não pude atualizar o blog, mas agora vou trazer novidades Estou preparando uma série de tutoriais para fazer Drag and Drop em DHTML.Dentre o que vou falar está: - Capturando objetos - Movendo Objetos  - Z-index - Controlando varios objetos - Criando "Janelas" em DHTMLExiste muita coisa pronta por aí, mas tem gente, como eu, que gosta de fazer na unha essas coisas.Aproveitando </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/02/drag-and-drop.html' title='Drag and Drop'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=113889617374681887&amp;isPopup=true' title='4 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113889617374681887'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113889617374681887'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-113812909741986339</id><published>2006-01-24T16:37:00.000-02:00</published><updated>2006-04-25T10:24:10.510-03:00</updated><title type='text'>Tabelas Dinâmicas</title><summary type='text'>Em meu último post eu fiz uma página HTML que acessava uma página em PHP que retornava um array de objetos JavaScript e inseria em uma tabela.
Acho que muitos não conheciam essa técnica HTML de inserção de dados em uma tabela via JavaScript, fazendo assim uma tabela dinâmica.
Continuo usando a prototype, que ela ajuda muito no desenvolvimento de programas em JavaScript, reduzindo o tamanho dos </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/01/tabelas-dinmicas.html' title='Tabelas Dinâmicas'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=113812909741986339&amp;isPopup=true' title='8 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113812909741986339'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113812909741986339'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-113795430851267752</id><published>2006-01-22T16:20:00.001-02:00</published><updated>2006-01-22T17:48:17.603-02:00</updated><title type='text'>Acessando banco de dados</title><summary type='text'>Existem várias maneiras de fazer comunicação entre banco e páginas pelo conceito de HTTPRequest.
O método que mais uso, e nem sei se posso chamar de AJAX, pois não utilizo XML, é retornando um array de uma página que acessa informações no banco em JavaScript que contém um objeto com o resultado do banco.
Para isso veremos o codigo da página php que processa a requisição:

Pode-se perceber que o </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/01/acessando-banco-de-dados.html' title='Acessando banco de dados'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=113795430851267752&amp;isPopup=true' title='1 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113795430851267752'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113795430851267752'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-113741084344677793</id><published>2006-01-16T09:27:00.000-02:00</published><updated>2006-01-16T09:27:24.186-02:00</updated><title type='text'>Tutorial prototype -&gt; Objeto Insertion</title><summary type='text'>Mais um meio de manipular conteúdo que a prototype proporciona. O Objeto Insertion serve para que se possa controlar um elemento, podendo colocar conteúdo dentro do elemento ou fora, podendo ser definido antes do elemento, no inicio, no fim ou após o elemento.   Olá Senhor &lt;span id="texto"&gt;, como está?&lt;/span&gt; &lt;script&gt;new Insertion.Before("texto","Pedro");&lt;/script&gt;    O texto resultante seria:    </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/01/tutorial-prototype-objeto-insertion.html' title='Tutorial prototype -&gt; Objeto Insertion'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=113741084344677793&amp;isPopup=true' title='0 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113741084344677793'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113741084344677793'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-113698956672043124</id><published>2006-01-11T12:26:00.000-02:00</published><updated>2006-01-11T12:26:06.736-02:00</updated><title type='text'>Tutorial prototype -&gt; Classes em JavaScript</title><summary type='text'>Fazer Classes em JavaScript não é complicado, mas com a biblioteca prototype ficou ainda mais facil fazer. Se você tem experiência em Orientação a Objetos verá que utilizar classes em JavaScript ajuda muito, principalmente em um sistema em Ajax. Criando classes é possivel separar funções que muitas vezes ficam jogadas no meio do código e isso facilita o acesso a essas funções. Vou mostrar um </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/01/tutorial-prototype-classes-em.html' title='Tutorial prototype -&gt; Classes em JavaScript'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=113698956672043124&amp;isPopup=true' title='3 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113698956672043124'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113698956672043124'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-113637848845902773</id><published>2006-01-04T10:41:00.000-02:00</published><updated>2006-01-04T10:47:27.026-02:00</updated><title type='text'>Gerenciador de documentos AJAX</title><summary type='text'>Poderia ser só mais um editor de documentos, mas o Writely gerencia documentos e as edições. Imagina você editando um texto que fica compartilhado na rede e clica em salvar. Simples não?! Só imagina que antes de você salvar alguém foi lá e abriu o mesmo documento e depois veio a salvá-lo novamente, só que perdendo o que você tinha feito.  Acho que já aconteceu com todos algo parecido. Bem, o </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/01/gerenciador-de-documentos-ajax.html' title='Gerenciador de documentos AJAX'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=113637848845902773&amp;isPopup=true' title='0 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113637848845902773'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113637848845902773'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-113637750067215214</id><published>2006-01-04T10:25:00.000-02:00</published><updated>2006-01-04T10:25:00.676-02:00</updated><title type='text'>Microsoft x Google</title><summary type='text'>A disputa está ficando boa. Depois do Google desktop e MSN Desktop (exemplo mais recente da disputa) a Microsoft agora vem bater de frente com o Google novamente. Foi lançado o Live (http://www.live.com/), uma home page personalizada como o Google tem investido na sua home page de busca. Achei que o Live tem um ambiente bem mais leve que o Google e funciona muito bem. Há a possibilidade de </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/01/microsoft-x-google.html' title='Microsoft x Google'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=113637750067215214&amp;isPopup=true' title='0 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113637750067215214'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113637750067215214'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-113637666190071513</id><published>2006-01-04T10:11:00.000-02:00</published><updated>2006-01-04T10:11:01.940-02:00</updated><title type='text'>Ajax Desktop</title><summary type='text'>Vou quebrar um pouco a série de tutoriais prototype porque acabei descobrindo um site que usa Ajax que achei que vale a pena ser citado. http://www.gritwire.com/ A idéia é de você ter um desktop no site deles, contendo RSS Reader, Links prediletos, entre outras coisas. Vale a pena se cadastrar para dar uma olhada. </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/01/ajax-desktop.html' title='Ajax Desktop'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=113637666190071513&amp;isPopup=true' title='0 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113637666190071513'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113637666190071513'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-113629349586027452</id><published>2006-01-03T11:04:00.000-02:00</published><updated>2006-01-03T11:04:55.906-02:00</updated><title type='text'>Tutorial prototype -&gt; Ajax.Updater</title><summary type='text'>Eis uma ajuda pra quem nem conhece muito de programação. Ajax.Updater é uma daquelas ferramentas que realmente ajudam nas atualizações de conteúdo em páginas de forma dinâmica e instantânea. Imagina uma div numa página dessa maneira:   &lt;div id="teste1"&gt;&lt;/div&gt;   Agora vamos popular essa DIV com algum conteúdo fixo na página:   document.getElementById("teste1").innerHTML = "&lt;b&gt;Olá Mundo&lt;/b&gt;";   Bom</summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/01/tutorial-prototype-ajaxupdater.html' title='Tutorial prototype -&gt; Ajax.Updater'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=113629349586027452&amp;isPopup=true' title='3 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113629349586027452'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113629349586027452'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-113622938191669596</id><published>2006-01-02T17:16:00.000-02:00</published><updated>2006-01-02T17:16:22.420-02:00</updated><title type='text'>Tutorial prototype -&gt; Ajax.Request</title><summary type='text'>A biblioteca prototype contém várias classes para auxiliar no processo de desenvolvimento, mas muitas delas foram criadas para dar suporte ao desenvolvimento dos métodos principais da biblioteca, por isso abordarei somente o que é necessário para utilizar as ferramentas de Ajax.     A Classe Ajax.Request é a principal quando se quer trabalhar com acesso a dados em outras páginas através de </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/01/tutorial-prototype-ajaxrequest.html' title='Tutorial prototype -&gt; Ajax.Request'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=113622938191669596&amp;isPopup=true' title='1 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113622938191669596'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113622938191669596'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-113622092388466402</id><published>2006-01-02T14:55:00.000-02:00</published><updated>2006-01-02T16:04:07.030-02:00</updated><title type='text'>Tutorial prototype -&gt; Atalhos e funções</title><summary type='text'>A biblioteca já vem com diversas funções com utilitários que ajudam no processo de desenvolvimento, evitando redigitação e até mesmo ajudando a evitar erros que podem vir com códigos muito longos.

Função $("ID do elemento")

Essa função é sensacional.. Sam Stephenson estava inspirado quando criou ela.. alias, ela já devia ter sido criado pela Netscape quando lançou o JavaScript.
Com essa função </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/01/tutorial-prototype-atalhos-e-funes.html' title='Tutorial prototype -&gt; Atalhos e funções'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=113622092388466402&amp;isPopup=true' title='1 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113622092388466402'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113622092388466402'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-113621281009878659</id><published>2006-01-02T12:40:00.000-02:00</published><updated>2006-01-02T13:41:47.890-02:00</updated><title type='text'>Tutorial prototype -&gt; Objeto Form</title><summary type='text'>Vou procurar criar um mini tutorial da biblioteca prototype para que possa facilitar o uso da mesma no dia-á-dia. O objeto Form do prototype contém funções que facilitam a vida das pessoas que desenvolvem em JavaScript. Com ele você consegue acessar métodos de formulários de forma bem mais facil e rápida, economizando muitos caracteres no seu código. Vou falar um pouco sobre os métodos dessa </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2006/01/tutorial-prototype-objeto-form.html' title='Tutorial prototype -&gt; Objeto Form'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=113621281009878659&amp;isPopup=true' title='0 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113621281009878659'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113621281009878659'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-113595568313969610</id><published>2005-12-30T13:12:00.000-02:00</published><updated>2005-12-31T14:44:56.180-02:00</updated><title type='text'>Prototype.js</title><summary type='text'>Já ouviu falar em Prototype.js?
Essa é uma biblioteca que ajuda no desenvolvimento de aplicações AJAX e DHTML.
O criador, Sam Stephensom, é também colaborador de um projeto de uma linguagem de programação WEB chamada Ruby on Rails que parece que tem se difundido por aí, sendo que essa linguagem ganhou em 2005 o prêmio "Open Source Award" que é promovido pelo Google e O'Reilly.
Bem, vou voltar a </summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2005/12/prototypejs_30.html' title='Prototype.js'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=113595568313969610&amp;isPopup=true' title='1 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113595568313969610'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/113595568313969610'/><author><name>Pedro Eugenio Antunes</name></author></entry><entry><id>tag:blogger.com,1999:blog-16663224.post-112656696444497561</id><published>2005-09-12T20:14:00.000-03:00</published><updated>2005-09-12T20:16:04.446-03:00</updated><title type='text'>Conteúdo Ativo</title><summary type='text'>Quero ver se passo a deixar o conteúdo sempre ativo.
Começo ele daqui, vamos ver se sempre atualizo.

Vou falar um pouco de Ajax e Scripts DHTML.</summary><link rel='alternate' type='text/html' href='http://www.lolados.com/ajax/2005/09/contedo-ativo.html' title='Conteúdo Ativo'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16663224&amp;postID=112656696444497561&amp;isPopup=true' title='0 Comentários'/><link rel='replies' type='application/atom+xml' href='http://www.lolados.com/ajax/atom.xml' title='Postar comentários'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/112656696444497561'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16663224/posts/default/112656696444497561'/><author><name>Pedro Eugenio Antunes</name></author></entry></feed>