﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>Jaydson Gomes &#187; Jquery</title>
	<atom:link href="http://jaydson.org/category/jq/feed/" rel="self" type="application/rss+xml" />
	<link>http://jaydson.org</link>
	<description>Desenvolvimento Web e outras coisas</description>
	<lastBuildDate>Mon, 06 Sep 2010 03:23:23 +0000</lastBuildDate>
	<language>pt</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
		<item>
		<title>jQuery &#8211; Customizando expressões</title>
		<link>http://jaydson.org/jquery-customizando-expressoes/</link>
		<comments>http://jaydson.org/jquery-customizando-expressoes/#comments</comments>
		<pubDate>Wed, 26 May 2010 04:40:17 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Jquery]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=583</guid>
		<description><![CDATA[O jQuery é uma excelente biblioteca, e suas constantes atualizações e profissionalismo fazem com que nós programadores tenhamos uma potente arma na mão para solucionar qualquer problema.Mas mesmo o jQuery sendo tão completo, sempre haverá alguma situação ímpar em que ele não suprirá sua necessidade.Um dos motivos que levou o jQuery a chegar ao nível [...]]]></description>
			<content:encoded><![CDATA[<p>O jQuery é uma excelente biblioteca, e suas constantes atualizações e profissionalismo fazem com que nós programadores tenhamos uma potente arma na mão para solucionar qualquer problema.<br />Mas mesmo o jQuery sendo tão completo, sempre haverá alguma situação ímpar em que ele não suprirá sua necessidade.<br />Um dos motivos que levou o jQuery a chegar ao nível de biblioteca Javascript mais utilizada do mundo, além de sua excelente performance e extremo profissionalismo foi a facilidade e possibilidade de extender suas funcionalidades.<br />Hoje já são incontáveis os plugins que  existem para o jQuery.</p>
<p><span id="more-583"></span>Mas hoje venho falar de uma possibilidade muito interessante que mais uma vez devo a  dica ao <a title="Twitter Ricard Tomasi" href="http://twitter.com/ricardobeat" target="_blank">Ricardo Tomasi</a>, que é a customização de expressões.<br />Uma rápida pesquisa no Google e voces encontraram varios posts espalhados pelo mundo falando a respeito.<br />Customizar uma expressão consiste em incorporar ao jQuery um método que ele não possui nativamente.</p>
<p>Mas porque diabos fazer isso?<br />Acreditem, pode ser bem útil.</p>
<p>No curso de jQuery que estou ministrando na <a title="Target Trust" href="http://www.targettrust.com.br/web/" target="_blank">Target Trust</a>, ontem bolei um exercício simples para os alunos:</p>
<p><em><strong>&#8220;Mude a cor de fundo de todas as TD&#8217;s com indice ímpar da tabela com id tabela2&#8243;<br /></strong></em></p>
<p><em><span style="font-style: normal;">Sacaram a ideia?<br />Simples. O que eu queria, é que eles fizessem da maneira deles, usando um loop, verificando o <a title="Mod" href="http://pt.wikipedia.org/wiki/Opera%C3%A7%C3%A3o_m%C3%B3dulo" target="_blank">mod</a> do indice e assim aplicar o css no elemento, para então depois apresentar o <a title="Seletor :odd" href="http://api.jquery.com/odd-selector/" target="_blank">seletor odd</a> que faz exatamente isso, só que em uma linha.</span></em></p>
<p><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;"><em> </em></span></p>
<p><em> </em></p>
<p>$(&#8220;table td:odd&#8221;).css(&#8220;background-color&#8221;, &#8220;#bbbbff&#8221;);</p>
<p> </p>
<p><em> </em></p>
<p><em><span style="font-style: normal;">Tudo tranquilo, mas um dos alunos muito antenado achou o seletor e resolveu o problema facilmente!</span><span style="font-style: normal;"><br /></span><span style="font-style: normal;">Então mudei a estratégia, e pedi para ele implementar um algoritmo que apenas aplicasse o estilo nas TD&#8217;s com indice que fosse </span><span style="font-style: normal;"><a title="Numeros Primos" href="http://pt.wikipedia.org/wiki/N%C3%BAmero_primo" target="_blank">número primo</a></span><span style="font-style: normal;">.</span><span style="font-style: normal;"><br /></span><span style="font-style: normal;">Novamente o aluno conseguiu.</span><span style="font-style: normal;"><br /></span><span style="font-style: normal;">Foi ai que lembrei da possibilidade de customização das expressões!</span><span style="font-style: normal;"><br /></span><span style="font-style: normal;">Fiz a proposta para o aluno: Se tu conseguir criar uma expressão customizada que retorne elementos baseando-se nos numeros primos terá um post no meu blog!</span><span style="font-style: normal;"><br /></span><span style="font-style: normal;">Então ai esta. Abaixo segue o código implementado pelo aluno <a href='http://www.twitter.com/AndreLMPinto'>Andre Pinto</a> da turma de jQuery Maio/2010:</span></em></p>
<p> </p>
<pre>
<pre class="brush: jscript;">
jQuery.extend( jQuery.expr[':'], {
	prime: function(a, index){
		function isPrime(num){
			var numHalf = num / 2, counter, divCheck;
				if (num === 2){
					return true;
				}
				if (num &amp;amp;lt; 2 || numHalf === Math.floor(numHalf) ||
                                   num !== Math.floor(num)){
					return false;
				}else{
					for (counter = 3; counter &amp;amp;lt;= Math.sqrt(num);
                                              counter += 2){
						divCheck = num / counter;
						if (divCheck === Math.floor(divCheck)) {
							return false;
						}
					}
				return true;
			       }
		}
           return isPrime(index);
     }
});</pre>
</pre>
<p>
Para usar a expressão:</p>
<pre>
<pre class="brush: jscript;">
$('#tabela2 td:prime').css( { 'background-color' : 'red' } );
</pre>
</pre>
<p>
</p>
<p>
Parabéns ao André pela implementação.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/jquery-customizando-expressoes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>Como fazer mais em aplicações RIA escrevendo menos</title>
		<link>http://jaydson.org/como-fazer-mais-em-aplicacoes-ria-escrevendo-menos/</link>
		<comments>http://jaydson.org/como-fazer-mais-em-aplicacoes-ria-escrevendo-menos/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 03:54:53 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=492</guid>
		<description><![CDATA[Quando falamos em aplicações RIA utilizando Javascript, logo pensamos em uma biblioteca que nos auxilie na construção dessas aplicações. Dentre uma infinidade de bibliotecas e frameworks existentes atualmente, o jQuery continua sendo minha alternativa preferida. Sua simplicidade e ao mesmo tempo robustez proporcionam diversas funcionalidades indispensáveis no desenvolvimento de uma aplicação rica. Juntamente com o [...]]]></description>
			<content:encoded><![CDATA[<p>Quando falamos em aplicações RIA utilizando Javascript, logo pensamos em uma biblioteca que nos auxilie na construção dessas aplicações.<br />
Dentre uma infinidade de bibliotecas e frameworks existentes atualmente, o jQuery continua sendo minha alternativa preferida.<br />
Sua simplicidade e ao mesmo tempo robustez proporcionam diversas funcionalidades indispensáveis no desenvolvimento de uma aplicação rica.</p>
<p>Juntamente com o <a title="Felipe Nascimento" href="http://felipenascimento.org/" target="_blank">Felipe Nascimento</a>, palestrei na <a title="Target Trust" href="http://www.targettrust.com/web/" target="_blank">Target Trust</a> (empresa de TI especializada em treinamentos aqui em Porto Alegre)  nesta terça-feira(17/11/2009) sobre a biblioteca <a title="jQuery" href="http://jquery.com/" target="_blank">jQuery</a>.<br />
O objetivo da palestra foi introduzir o jQuery de maneira que os ouvintes pudessem compreender o poder da biblioteca e do Javascript em si.<br />
Quem teve a oportunidade de acompanhar a palestra conheceu um pouco da história do jQuery, sua origem e também ver as inúmeras possibilidades e funcionalidades.</p>
<p><span id="more-492"></span></p>
<p>Abaixo então seguem os slides:</p>
<div id="__ss_2524938" style="width: 425px; text-align: left;"><a style="font: 14px Helvetica,Arial,Sans-serif; display: block; margin: 12px 0 3px 0; text-decoration: underline;" title="Como fazer mais em aplicações RIA escrevendo menos" href="http://www.slideshare.net/jaydson/como-fazer-mais-em-aplicaes-ria-escrevendo-menos-2524938">Como fazer mais em aplicações RIA escrevendo menos</a><object style="margin: 0px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=comofazermaisemaplicaesriaescrevendomenos-091117204710-phpapp01&amp;stripped_title=como-fazer-mais-em-aplicaes-ria-escrevendo-menos-2524938" /><param name="allowfullscreen" value="true" /><embed style="margin: 0px;" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=comofazermaisemaplicaesriaescrevendomenos-091117204710-phpapp01&amp;stripped_title=como-fazer-mais-em-aplicaes-ria-escrevendo-menos-2524938" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration: underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration: underline;" href="http://www.slideshare.net/jaydson">Jaydson Gomes</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/como-fazer-mais-em-aplicacoes-ria-escrevendo-menos/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>Javascript levado a sério</title>
		<link>http://jaydson.org/javascript-levado-a-serio/</link>
		<comments>http://jaydson.org/javascript-levado-a-serio/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 01:35:57 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[JSON]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Palestras]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=327</guid>
		<description><![CDATA[Javascript é a linguagem de script mais popular da internet. Porém, mesmo com toda essa fama, o Javascript ainda é incompreendido. Segundo Douglas Crockford, um dos mestres da linguagem, essa incompreensão tem varias origens. Este foi um dos tópicos na palestra que fiz na III Mostra de iniciação científica do Senac-RS. A palestra conta um [...]]]></description>
			<content:encoded><![CDATA[<p>Javascript é a linguagem de script mais popular da internet.<br />
Porém, mesmo com toda essa fama, o Javascript ainda é incompreendido.<br />
Segundo <a title="Douglas Crockford" href="http://en.wikipedia.org/wiki/Douglas_Crockford" target="_blank">Douglas Crockford</a>, um dos mestres da linguagem, essa incompreensão tem varias origens.<br />
Este foi um dos tópicos na palestra que fiz na III Mostra de iniciação científica do Senac-RS.</p>
<p><span id="more-327"></span><br />
A palestra conta um pouco da história do Javascript, explicando o porque do prefixo JAVA no nome da linguagem entre outros detalhes.<br />
A palestra foca muito no desenvolvimento de Javascript profissional, como sugere o nome.</p>
<p>Espero que todos aproveitem. E qualquer dúvida, comentem ai.</p>
<div id="__ss_2318172" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Javascript levado a serio" href="http://www.slideshare.net/jaydson/javascript-levado-a-serio">Javascript levado a serio</a><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=javascriptlevadoaserio-091022063308-phpapp01&amp;stripped_title=javascript-levado-a-serio" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=javascriptlevadoaserio-091022063308-phpapp01&amp;stripped_title=javascript-levado-a-serio" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/jaydson">jaydson</a>.</div>
</div>
<p>Para quem assistiu a palestra e para quem não assistiu também, segue abaixo o link dos códigos utilizados:</p>
<p><a href="http://jaydson.org/code/palestras/js-levado-a-serio/source.rar">http://jaydson.org/code/palestras/js-levado-a-serio/source.rar</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/javascript-levado-a-serio/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>Javascript &#8211; Problema com Evento Change</title>
		<link>http://jaydson.org/javascript-problema-com-evento-change/</link>
		<comments>http://jaydson.org/javascript-problema-com-evento-change/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 04:58:42 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=319</guid>
		<description><![CDATA[Semana passada deparei-me com um problema no Internet Explorer (Déjà vu). A funcionalidade que precisavamos implementar era bem simples: Verificar se o formulário foi alterado. Ou seja, se o usuário está na página e resolve simplesmente sair e o formulário foi alterado, precisavamos alerta-lo. O que me ocorreu na hora foi utilizar o Evento change [...]]]></description>
			<content:encoded><![CDATA[<p>Semana passada deparei-me com um problema no Internet Explorer <strong><em>(Déjà vu)</em></strong>.<br />
A funcionalidade que precisavamos implementar era bem simples:<br />
<strong>Verificar se o formulário foi alterado. </strong>Ou seja, se o usuário está na página e resolve simplesmente sair e o formulário foi alterado, precisavamos alerta-lo.<br />
O que me ocorreu na hora foi utilizar o Evento <span style="color: #0000ff;"><a title="Evento Change" href="http://www.quirksmode.org/dom/events/change.html" target="_blank">change</a> </span>do &lt;form&gt;.<br />
<span id="more-319"></span><br />
Fiz o teste no Firefox e tudo ocorreu como o previsto. Ao alterar o valor de qualquer elemento dentro do formulário o evento <span style="color: #0000ff;">change </span>é disparado.<br />
Mas&#8230; e no nosso &#8220;amigo&#8221; Internet Explorer?<br />
Surpresa!<br />
Não funcionou. Então fui pesquisar para ver o porque do problema.<br />
Neste link  <a title="Evento Change" href="http://www.quirksmode.org/dom/events/change.html" target="_blank">http://www.quirksmode.org/dom/events/change.html</a> do QuirksMode fica bem fácil de entender.<br />
O que acontece é que no Internet Explorer o evento <span style="color: #0000ff;">change</span> não é disparado ao alterar um formulário.</p>
<p><strong>Nota:</strong> Percebam que é somente no IE que isso acontece. Abaixo segue a lista de Browsers que suportam o evento change no Formulário:</p>
<table class="compatibility" border="0" cellspacing="5">
<tbody>
<tr class="compheader">
<th>FF 2.0</th>
<th>FF 3.0</th>
<th>FF 3.1b2</th>
<th>Saf 3.0 Win</th>
<th>Saf 3.1 Win</th>
<th>iPhone 3G</th>
<th>Chrome 1.0</th>
<th>Opera 9.62</th>
<th>Opera 10a</th>
<th>Konqueror 3.5.7</th>
</tr>
</tbody>
</table>
<address>Fonte: QuirksMode.</address>
<address> </address>
<p><strong>Outra Nota:</strong> No IE o evento change também não é disparado nos objetos window e document. Em todos da lista acima sim.<br />
Para o Internet Explorer o único elemento que dispara o evento change corretamente  é o &lt;input&gt;.</p>
<p><strong>Solução:</strong><br />
Como o projeto estava utilizando jQuery foi simples resolver mais um problema no IE. Segue o código abaixo:</p>
<pre class="brush: jscript;">

$(&quot;form *&quot;).bind(&quot;change&quot;, function(){ /* Código aqui*/});
</pre>
<p>O código acima varre todos elementos do formulário e &#8220;atacha&#8221; o evento change para cada um deles.</p>
<p>Bom, é isso.<br />
Trabalhando e aprendendo.</p>
<address> </address>
<address><strong></strong></address>
<address> </address>
<address> </address>
<address> </address>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<table class="compatibility" border="0" cellspacing="5">
<tbody>
<tr class="compheader">
<th>FF 2.0</th>
<th>FF 3.0</th>
<th>FF 3.1b2</th>
<th>Saf 3.0 Win</th>
<th>Saf 3.1 Win</th>
<th>iPhone 3G</th>
<th>Chrome 1.0</th>
<th>Opera 9.62</th>
<th>Opera 10a</th>
<th>Konqueror 3.5.7</th>
</tr>
</tbody>
</table>
</div>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/javascript-problema-com-evento-change/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>Capturar erros Ajax com jQuery</title>
		<link>http://jaydson.org/capturar-erros-ajax-com-jquery/</link>
		<comments>http://jaydson.org/capturar-erros-ajax-com-jquery/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 05:15:15 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Jquery-Plugins]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=272</guid>
		<description><![CDATA[Capturar erros Ajax é mais uma tarefa que o jQuery nos da uma boa ajuda. O que quero dizer com isso é que a biblioteca nos fornece uma série de informações úteis que as vezes passam desapercebidas pelos desenvolvedores. A primeira coisa a se notar é o evento error. Neste evento podemos passar uma função(callback) [...]]]></description>
			<content:encoded><![CDATA[<p>Capturar erros Ajax é mais uma tarefa que o jQuery nos da uma boa ajuda.<br />
O que quero dizer com isso é que a biblioteca nos fornece uma série de informações úteis que as vezes passam desapercebidas pelos desenvolvedores.<br />
A primeira coisa a se notar é o evento <strong>error</strong>.<br />
Neste evento podemos passar uma função(<em>callback</em>) que será executada quando a requisição falhar. São passados 3 parâmetros para esta função:<br />
O objeto XMLHttpRequest, uma String que descreve o tipo do erro que aconteceu e um objeto exceção(opcional).<br />
Uma boa observação é que nunca teremos o evento <strong>Success </strong>e o evento <strong>Error </strong>juntos na mesma requisição(meio óbvio isso).</p>
<p><span id="more-272"></span><br />
Vamos a um exemplo simples de uma requisição Ajax:</p>
<pre class="brush: jscript;">

$.ajax({
type: &quot;POST&quot;,
url: &quot;teste.php&quot;,
success: function(retorno){
alert(retorno);
}
});
</pre>
<p>Neste exemplo fazemos uma requisição Ajax e no sucesso damos um alerta do conteúdo retornado.<br />
Mas e se der algum tipo de erro?<br />
Vai de aplicação para aplicação, mas dependendo do caso podemos querer capturar o erro e fazer algum tratamento, ou simplesmente mostrar o erro.<br />
Vamos agora ver um exemplo capturando o erro:</p>
<pre class="brush: jscript;">

$.ajax({
type: &quot;POST&quot;,
url: &quot;teste.php&quot;,
success: function(retorno){
alert(retorno);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
alert(&quot;Erro!&quot;);
}
});
</pre>
<p>Agora capturamos o erro e damos um alerta de erro caso ocorra falha na requisição.<br />
Agora para ficar pouco mais útil, vamos ver as propriedades e métodos do objeto XMLHttpRequest.<br />
Basta fazer um &#8220;for in&#8221; no objeto que conseguimos pegar todas suas propriedades. Abaixo listo algumas:<br />
<strong><br />
dispatchEvent()<br />
removeEventListener()<br />
open()<br />
setRequestHeader()<br />
send()<br />
readyState<br />
status<br />
channel<br />
responseXML<br />
responseText<br />
statusText<br />
abort()<br />
getAllResponseHeaders()<br />
getResponseHeader()<br />
</strong><br />
Caso queiram fazer o teste e varrer o objeto e ver suas propriedades:</p>
<pre class="brush: jscript;">
for(i in XMLHttpRequest){
if(i!=&quot;channel&quot;)
document.write(i +&quot; : &quot; + XMLHttpRequest[i] +&quot;&lt;br&gt;&quot;)
}
</pre>
<p>OBS:<br />
Este filtro testando se a propriedade é &#8220;channel&#8221; é necessário, pois o browser gera uma exceção de permissão negada para ler essa propriedade.</p>
<p>Bom, com isso já da pra ter uma boa noção sobre como capturar erros Ajax, agora o que fazer com eles é com vocês.<br />
Usei bastante esta técnica na manipulação de Ajax no projeto <a href="http://thewebmind.org">TheWebMind.org</a>, e em alguns outros sistemas.<br />
Estou preparando um plugin para o jQuery que auxiliará bastante.<br />
Segue uma prévia do que já implementei abaixo:</p>
<pre class="brush: jscript;">
error: function(XMLHttpRequest, textStatus, errorThrown){
$(XMLHttpRequest).AjaxDebug({
containerId : 'load',
nativeConsole : false
});
}
</pre>
<p>A idéia é fornecer um console que mostre estas informações, ou passar as informações para um determinado elemento.<br />
Em breve posto aqui quando estiver pronto!</p>
<p>E claro, não vamos esquecer do <a href="http://getfirebug.com">Firebug</a> que é um excelente debugador para Ajax também.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/capturar-erros-ajax-com-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>jQuery Marcar / Desmarcar CheckBoxes</title>
		<link>http://jaydson.org/jquery-marcar-desmarcar-checkboxes/</link>
		<comments>http://jaydson.org/jquery-marcar-desmarcar-checkboxes/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 02:23:31 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Jquery]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=239</guid>
		<description><![CDATA[Sabem quando temos uma lista bem grande de &#60;inputs&#62; do tipo checkbox, onde o usuário terá de selecionar quais são as opções desejadas? Exemplo: Check1 Check2 Check3 Check4 Check5 Check6 Bom, agora imaginem que esta lista é um pouco maior. Fica extremamente desagradável ter que marcar ou desmarcar um a um. Uma boa prática é [...]]]></description>
			<content:encoded><![CDATA[<p>Sabem quando temos uma lista bem grande de &lt;inputs&gt; do tipo checkbox, onde o usuário terá de selecionar quais são as opções desejadas?</p>
<p>Exemplo:</p>
<input type="checkbox" />
<p>Check1</p>
<input type="checkbox" /> Check2</p>
<input type="checkbox" /> Check3</p>
<input type="checkbox" /> Check4</p>
<input type="checkbox" /> Check5</p>
<input type="checkbox" /> Check6</p>
<p><span id="more-239"></span></p>
<p>Bom, agora imaginem que esta lista é um pouco maior. Fica extremamente desagradável ter que marcar ou desmarcar um a um.<br />
Uma boa prática é colocar uma opção para o usuário marcar ou desmarcar todos.</p>
<p>Isso é uma tarefa bem fácil de se implementar em Javascript &#8220;puro&#8221;, mas o jQuery como sempre nos da aquela ajuda.</p>
<p><strong>Solução:</strong></p>
<pre class="brush: jscript;">

// Atribuímos a variavel ipts todos os inputs encontrados dentro do elemento &quot;#checkboxes&quot;
var ipts = $(&quot;#checkboxes&quot;).find(&quot;input&quot;);

function checkAll()
{
// CheckBox que ao ser clicado marca ou desmarca todos elementos
var check = document.getElementById(&quot;checkboxCheckAll&quot;);

// Testamos o CheckBox para ver se devemos marcar ou desmarcar
check.checked ?
jQuery.each(ipts, function(){
// Se esta &quot;checado&quot; então marcamos todos elementos como checked=true
this.checked = true;
}) :
jQuery.each(ipts, function(){
// Se não esta &quot;checado&quot; então marcamos todos elementos como checked=false
this.checked = false;
});
}
</pre>
<p>Simples e rápido.</p>
<p>Testei com mais de 50 elementos e a rotina não ultrapassou 2 milisegundos.</p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/jquery-marcar-desmarcar-checkboxes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>Serializando um formulário com jQuery</title>
		<link>http://jaydson.org/serializando-um-formulario-com-jquery/</link>
		<comments>http://jaydson.org/serializando-um-formulario-com-jquery/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 07:21:38 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=186</guid>
		<description><![CDATA[Buenas pessoal! Hoje vim falar sobre um dos métodos que acho bem interessante no Jquery, o serialize(). Como o próprio nome já diz, esse método serializa um conjunto de inputs de um formulário em uma string. Essa string é padronizada e compatível com  a maioria das linguagens server-side. Isso é muito útil por exemplo quando [...]]]></description>
			<content:encoded><![CDATA[<p>Buenas pessoal!</p>
<p>Hoje vim falar sobre um dos métodos que acho bem interessante no Jquery, o <a title="Serialize Jquery" href="http://docs.jquery.com/Ajax/serialize" target="_blank">serialize()</a>.<br />
Como o próprio nome já diz, esse método serializa um conjunto de inputs de um formulário em uma string.<br />
Essa string é padronizada e compatível com  a maioria das linguagens server-side.<br />
Isso é muito útil por exemplo quando queremos enviar uma série de dados para o servidor com Ajax.</p>
<p><strong>Como fazer?</strong></p>
<p>Bom, começamos criando o formulário:</p>
<p><span id="more-186"></span></p>
<pre class="brush: xml;">
&lt;form action=&quot;minha_pagina.php&quot; id=&quot;meu_formulario&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;input_1&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;input_2&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;input_3&quot;&gt;
&lt;/form&gt;
</pre>
<p>Note que criamos um formulário de maneira tradicional, porém omitimos o atributo method na tag &lt;form&gt;, pois esse será tratado mais adiante.</p>
<p><strong>Bom, e agora como Serializar?</strong></p>
<p>Com uma linha o Jquery permite que façamos isso, vamos ao exemplo:</p>
<pre class="brush: jscript;">

var formdata = $(&quot;#meu_formulario&quot;).serialize();
</pre>
<p>Agora a variável formdata é uma string serializada mais ou menos como essa:</p>
<p><span style="color: #ff0000;">input_1=valor1&amp;input_2=valor2&amp;input_3=valor3</span></p>
<p>A string fica com esse formato de chave/valor concatenadas com &#8220;&amp;&#8221;.<br />
Agora que temos a string, basta passa-la para o servidor. Como fazer isso? De maneira bem simples com o método <a title="Ajax" href="http://docs.jquery.com/Ajax/jQuery.ajax#options" target="_blank">Ajax()</a> do Jquery:</p>
<pre class="brush: jscript;">

$.ajax({
type: &quot;POST&quot;,
url: form.attr('action'),
data: formdata,
success: function(msg){
alert('Sucesso!');
}
});
</pre>
<p>Lembram que omitimos o atributo method do form?<br />
Fizemos isso porque estamos fazendo um requisição Ajax usando o método Post, de qualquer maneira ele seria ignorado em nosso exemplo.</p>
<p>Vamos ao Ajax:<br />
<strong>type &#8211; </strong>Especifica o método de como os dados serão enviados ao servidor. Em nosso exemplo estamos usando POST.<br />
<strong>url </strong>-  Especifica para qual a página os dados serão submetidos. No nosso exemplo estou pegando o atributo action do formulario, o que fará com que os dados sejam submetidos para o arquivo minha_pagina.php.<br />
<strong>data</strong> &#8211; Os dados que serão submetidos. A string serializada é passada aqui.<br />
<strong>success</strong> &#8211; Função que será executada quando obtivermos sucesso. No exemplo, um alerta.</p>
<p>Pronto!</p>
<p>Criamos um formulário, serializamos todos os inputs em uma string, enviamos todos os dados para um página PHP via Ajax.<br />
Simples não?</p>
<p>Por hoje é isso.</p>
<p>Qualquer dúvida postem ai.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">&lt;input type=&#8221;text&#8221; name=&#8221;input_1&#8243;&gt;</div>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/serializando-um-formulario-com-jquery/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>Gradient &#8211; Jquery Plugin</title>
		<link>http://jaydson.org/gradient-jquery-plugin/</link>
		<comments>http://jaydson.org/gradient-jquery-plugin/#comments</comments>
		<pubDate>Wed, 20 May 2009 04:47:39 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Jquery-Plugins]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=159</guid>
		<description><![CDATA[Javascript é realmente uma linguagem de programação muito poderosa. Não falo isso só por ser apaixonado pela linguagem, mas sim por diariamente programar Javascript e ver o seu poder. Frameworks ajudam claro, mas não se esqueçam que no fundo é tudo o mais puro e belo Javascript. Na lista do Jquery que participo, seguido vejo [...]]]></description>
			<content:encoded><![CDATA[<p>Javascript é realmente uma linguagem de programação muito poderosa. Não falo isso só por ser apaixonado pela linguagem, mas sim por diariamente programar Javascript e ver o seu poder.<br />
Frameworks ajudam claro, mas não se esqueçam que no fundo é tudo o mais puro e belo Javascript.<br />
Na lista do Jquery que participo, seguido vejo algumas pessoas equivocadamente confundindo um pouco isso, mas isso fica pra um próximo Post.</p>
<p><span id="more-159"></span></p>
<p>O que vou abordar neste Post é um plugin muito bom desenvolvido pelo <a title="Brandon" href="http://brandonaaron.net/" target="_blank">Brandon Aaron</a>.<br />
Pra quem não conhece, esse cara mora lá pelas bandas do Texas e é um dos principais membros do<a title="Time do Jquery" href="http://docs.jquery.com/Contributors" target="_blank"> time de desenvolvedores do Jquery</a>.</p>
<p>A idéia básica do plugin é criar um efeito de Gradient(vai de uma cor para outra) em um elemento HTML. Isso mesmo! Nada de Photoshop. \O/<br />
O que precisamos:  obviamente o <a title="Download do Jquery" href="http://docs.jquery.com/Downloading_jQuery" target="_blank">Jquery</a>, e o <a title="Plugin Gradient" href="http://github.com/brandonaaron/jquery-gradient/tree/master" target="_blank">plugin Gradient</a>.</p>
<p>Mas dessa vez vou um pouco mais além&#8230;<br />
O plugin nos permite especificar o código RGB inicial, o o código RGB final e ainda a direção do Gradient(vertical ou horizontal).<br />
Vamos ver o código pra entender melhor:</p>
<pre class="brush: jscript;">
$('#meu_elemento').gradient({
from:      'ffffff',
to:        '000000',
direction: 'vertical';
});
</pre>
<p>Neste exemplo o efeito Gradient será aplicado no elemento com o ID meu_elemento, começando de branco e indo até preto com direção vertical.<br />
Simples !</p>
<p>Bom, mas como eu disse acima, vamos um pouco mais além.  Se precisamos passar valores RGB para o plugin, então quem sabe podemos usar um outro plugin bem conhecido e muito bom também, o <a title="Color Picker" href="http://www.eyecon.ro/colorpicker" target="_blank">Color Picker</a>.<br />
Preparei um script onde uso as funcionalidades dos  2 plugins. Vejam abaixo como ficou. E novamente vejam o poder do Javascript:</p>
<p>Veja aqui o exemplo: <a title="Gradient Plugin" href="http://jaydson.org/code/jquery/plugins/gradient/index.html" target="_blank">http://jaydson.org/code/jquery/plugins/gradient/index.html</a></p>
<p>Espero que tenham gostado e que seja útil para alguma Aplicação de vocês.<br />
Qualquer dúvida comentem ai.<br />
Abraço, e até a próxima.</p>
<p><strong>Minha Avaliação: <span style="color: blue;">Nota 8.0</span></strong><br />
<strong>Compatibilidade: <span style="color: blue;">Firefox 2.0+, IE 6+, Safari 3.0+, Chrome 2.0+</span></strong></p>
<p><strong>Site oficial do Plugin:</strong><a title="Site Oficial do Plugin" href="http://docs.jquery.com/Plugins/Autocomplete" target="_blank"></a><a title="Site Oficial do Plugin" href="http://brandonaaron.net/code" target="_blank"> http://brandonaaron.net/code</a></p>
<div id="attachment_114" class="wp-caption alignnone" style="width: 70px"><a href="http://jaydson.org/code/jquery/plugins/gradient/gradient.rar"><img class="size-full wp-image-114" title="Download Gradient" src="http://jaydson.org/wp-content/uploads/2009/05/hd_download.jpg" alt="Download" width="60" height="52" /></a><p class="wp-caption-text">Download</p></div>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/gradient-jquery-plugin/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>Flip! Jquery Plugin</title>
		<link>http://jaydson.org/flip-jquery-plugin/</link>
		<comments>http://jaydson.org/flip-jquery-plugin/#comments</comments>
		<pubDate>Sun, 10 May 2009 04:34:03 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Jquery-Plugins]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=145</guid>
		<description><![CDATA[Mais um da série de plugins testados e avaliados. Particularmente eu achei esse plugin muito legal! Ele aplica um efeito de Flip em um elemento HTML. Ai vai da imaginação e criatividade do desenvolvedor para implementa-lo em seu sistema. A idéia é aquela básica do Jquery, pouquissímas linhas, e um efeito impressionante. Estou esperando o [...]]]></description>
			<content:encoded><![CDATA[<p>Mais um da série de plugins testados e avaliados.<br />
Particularmente eu achei esse plugin muito legal!<br />
Ele aplica um efeito de Flip em um elemento HTML. Ai vai da imaginação e criatividade do desenvolvedor para implementa-lo em seu sistema.<br />
A idéia é aquela básica do Jquery, pouquissímas linhas, e um efeito impressionante.<br />
Estou esperando o momento certo e a idéia surgir para usa-lo em algum sistema&#8230;</p>
<p><strong>Vamos ver como fica o código:<br />
</strong></p>
<pre class="brush: jscript;">

&lt;script type=&quot;text/javascript&quot;&gt;
     $(document).ready(function () {
         $(&quot;.home&quot;).click(function () {
              $(&quot;#flipBox&quot;).flip({
                   direction: 'bt',
                  color: 'blue',
                  speed: 400,
                  content: &quot;&quot;
            });
       });
      $(&quot;.home&quot;).trigger(&quot;click&quot;);
});
&lt;/script&gt;
</pre>
<p>Simples não?</p>
<p>No click do elemento com a classe &#8220;home&#8221;  invocamos o método <strong>flip()</strong> que aplica esse efeito no elemento com Id &#8220;flipBox&#8221;.<br />
Obs:  $(&#8220;.home&#8221;).trigger(&#8220;click&#8221;) só faz com que a animação aconteça no load da página.<br />
Aqueles parâmetros são interessantes:</p>
<ul>
<li><strong>direction</strong>: Especifica em que direção vai ser o giro. Os valores suportados são &#8216;tb&#8217;, &#8216;bt&#8217;, &#8216;lr&#8217;, &#8216;rl&#8217;</li>
<li><strong>color:</strong> Define que cor de fundo o elemento terá após o giro.</li>
<li><strong>speed</strong>: A velocidade da animação</li>
<li><strong>content</strong>: O conteúdo que esse elemento terá após o giro.</li>
</ul>
<p>Fora essas opções, ainda existem funções que podemos executar em algum evento do giro, como por exemplo:</p>
<ul>
<li><strong>onBefore</strong>:  Essa função é executada antes da animação começar.</li>
<li><strong>onAnimation</strong>: Essa função é executada na metade da animação.</li>
<li><strong>onEnd</strong>: Essa função é executada quando a animação termina.</li>
</ul>
<p>Com esses eventos e opções podemos fazer muita coisa. A opção <strong>content</strong> por exemplo permite que seja passado um conteúdo que será exibido no elemento após a animação, então nada nos impede de carregar um conteúdo com Ajax e jogar dentro desse elemento. O céu é o limite.</p>
<p><strong>Vejam o resultado:</strong></p>
<div style="border:solid 2px gray">
     <iframe src="http://jaydson.org/code/jquery/plugins/flip/index.html" style="width:600px;height:250px;border:none;"></iframe>
</div>
<p><strong><br />
</strong></p>
<p><strong>Minha Avaliação: <span style="color: blue;">Nota 10.0</span></strong><br />
<strong>Compatibilidade: <span style="color: blue;">Firefox 2.0+, IE 6+, Safari 3.0+, Chrome 2.0+,</span></strong><strong><span style="color: blue;">Opera</span></strong><strong></strong></p>
<p><strong>Site oficial do Plugin:</strong><a title="Site Oficial do Plugin" href="http://lab.smashup.it/flip/" target="_blank"> http://lab.smashup.it/flip/</a></p>
<div id="attachment_114" class="wp-caption alignnone" style="width: 70px"><a href="http://jaydson.org/code/jquery/plugins/flip/flip.rar"><img class="size-full wp-image-114" title="Download Flip!" src="http://jaydson.org/wp-content/uploads/2009/05/hd_download.jpg" alt="Download" width="45" height="52" /></a><p class="wp-caption-text">Download</p></div>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/flip-jquery-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
		<item>
		<title>Autocomplete &#8211; Jquery Plugin</title>
		<link>http://jaydson.org/autocomplete-jquery-plugin/</link>
		<comments>http://jaydson.org/autocomplete-jquery-plugin/#comments</comments>
		<pubDate>Sat, 09 May 2009 21:35:26 +0000</pubDate>
		<dc:creator>jaydson</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Jquery-Plugins]]></category>

		<guid isPermaLink="false">http://jaydson.org/?p=140</guid>
		<description><![CDATA[Um recurso muito bom que podemos aplicar em nossos Sistemas é o Autocomplete. Isso ajuda muito o usuário na hora de selecionar uma opção. Além de ser visualmente mais agradavél, este recurso faz com que apenas apareçam as opções de acordo com o que é digitado no campo. Imaginei a situação onde o usuário precisa [...]]]></description>
			<content:encoded><![CDATA[<p>Um recurso muito bom que podemos aplicar em nossos Sistemas é o Autocomplete.<br />
Isso ajuda muito o usuário na hora de selecionar uma opção. Além de ser visualmente mais agradavél, este recurso faz com que apenas apareçam as opções de acordo com o que é digitado no campo.<br />
Imaginei a situação onde o usuário precisa selecionar um determinado valor em um &lt;selectbox&gt;. O porém é que esse campo será populado com centenas de valores. É extremamente ruim ter que ficar procurando a opção correta em uma lista enorme de opções.<br />
O que esse plugin nos proporciona é uma forma simples de implementar um campo do tipo Autocomplete.</p>
<p>O exemplo que preparei é bem simples, mas mostra o poder deste plugin(um dos melhores que já usei).<br />
O que vamos fazer é um script PHP que retorne os Posts aqui do Blog. Segue o código abaixo do arquivo <strong>search.php</strong>:</p>
<pre class="brush: php;">

&lt;?php
$items = array(
'Text Area Resizer - JQuery Plugin'=&gt;'1',
'Text Limiter - Jquery Plugin'=&gt;'2',
'Plugins Jquery'=&gt;'3',
'theWebMind.org'=&gt;'4',
'Hacks CSS'=&gt;'5',
'Json'=&gt;'6',
'PHP - Problema ao carregar a DLL php_pgsql.dll'=&gt;'7',
'RichBlocks - Um Framework Para Implantar Interfaces RIA em Sistemas Web'=&gt;'8',
'PHP Classes'=&gt;'9',
'RIA - Aplicacoes Ricas para Internet'=&gt;'10',
'Campanha Atualize o seu Navegador'=&gt;'11',
'Internet Explorer 8'=&gt;'12',
'Projeto PHP Counter'=&gt;'13',
'Jquery'=&gt;'14'
);

foreach ($items as $key=&gt;$value){
echo &quot;$key|$value\n&quot;;
}
?&gt;
</pre>
<p>Note que neste código eu montei &#8220;na mão&#8221; um array de Posts. Mas nada me impediria de ter feito uma consulta no banco de dados e ter montado o array dinâmicamente. Isso serve para qualquer situação.<br />
Bom, já temos os dados que precisamos para popular o campo de Autocomplete.<br />
Basta criar um campo do tipo &lt;input&gt; com uma ID especifica. No meu ficou assim:</p>
<pre class="brush: xml;">

&lt;body&gt;
&lt;p&gt;
&lt;label style=&quot;font-family:verdana;
font-weight:bold;
font-size:18px;&quot;&gt;
Posts Jaydson.org:
&lt;/label&gt;
&lt;br&gt;
&lt;input style=&quot;width:300px;&quot; type=&quot;text&quot; id=&quot;posts&quot; /&gt;
&lt;/p&gt;
&lt;/body&gt;
</pre>
<p>Agora que já temos o HTML, vamos implementar o Plugin.<br />
O que deve ser feito é informar qual &lt;input&gt; será capaz de se autocompletar, desta forma:</p>
<pre class="brush: jscript;">

&lt;script type=&quot;text/javascript&quot;&gt;
$().ready(function() {

$(&quot;#posts&quot;).autocomplete(&quot;search.php&quot;, {
width: 440,
scrollHeight: 220,
selectFirst: true
});
})
&lt;/script&gt;
</pre>
<p>Desta maneira, o &lt;input id=&#8221;posts&#8221;&gt; receberá o conteúdo da página PHP que criamos anteriormente.</p>
<p><strong><span style="color: #0000ff;">Nota:</span></strong> O Plugin ainda possui uma série de opções que podem ser especificadas além de width, scrollHeight e selectFirst .</p>
<p><strong>Veja o resultado:</strong></p>
<div style="border:solid 2px gray">
     <iframe src="http://jaydson.org/code/jquery/plugins/jquery.autocomplete/index.html" style="width:600px;height:350px;border:none;"></iframe>
</div>
<p><strong>Minha Avaliação: <span style="color: blue;">Nota 10.0</span></strong><br />
<strong>Compatibilidade: <span style="color: blue;">Firefox 2.0+, IE 6+, Safari 3.0+, Chrome 2.0+</span></strong></p>
<p><strong>Site oficial do Plugin:</strong><a title="Site Oficial do Plugin" href="http://docs.jquery.com/Plugins/Autocomplete" target="_blank"> http://docs.jquery.com/Plugins/Autocomplete<br />
</a></p>
<div id="attachment_114" class="wp-caption alignnone" style="width: 70px"><a href="http://jaydson.org/code/jquery/plugins/jquery.autocomplete/jquery-autocomplete.rar"><img class="size-full wp-image-114" title="Download" src="http://jaydson.org/wp-content/uploads/2009/05/hd_download.jpg" alt="Download Text Limiter" width="45" height="52" /></a><p class="wp-caption-text">Download </p></div>
<p><strong><span style="color: blue;"></span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://jaydson.org/autocomplete-jquery-plugin/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/2.5/br/</creativeCommons:license>
	</item>
	</channel>
</rss>
