




if (typeof(disqus_iframe_css) == 'undefined') {
	disqus_iframe_css = '';
}
if (typeof(disqus_def_name) == 'undefined') {
	disqus_def_name = '';
}
if (typeof(disqus_def_email) == 'undefined') {
	disqus_def_email = '';
}
if (typeof(disqus_skip_auth) == 'undefined') {
	disqus_skip_auth = false;
}
if (typeof(disqus_default_text) == 'undefined') {
	disqus_default_text = 'Digite seu comentário aqui.';
}

(function(){
	
	var ie = document.uniqueID
		&& document.compatMode
		&& !window.XMLHttpRequest
		&& document.execCommand ;

	try {
		if(!!ie) {
			document.execCommand("BackgroundImageCache", false, true);
		}
	} catch(e) {};
})();

var Dsq = new function() {
	this.container = document.getElementById('dsq-content');
	this.jsonData = {"reactions": [], "has_more_reactions": false, "users": {"1f0919f888b0e9f7093b09aca6ad0772": {"username": "viperbruno", "tumblr": "", "display_name": "viperbruno", "url": "http://disqus.com/guest/1f0919f888b0e9f7093b09aca6ad0772/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "12c504d5093c3ff5a388b2ad8e78f8e8": {"username": "Ricardo", "tumblr": "", "display_name": "Ricardo", "url": "http://disqus.com/guest/12c504d5093c3ff5a388b2ad8e78f8e8/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "a22f6e22b62b179d92cdbb23d12e8221": {"username": "Maur\u00edcio", "tumblr": "", "display_name": "Maur\u00edcio", "url": "http://disqus.com/guest/a22f6e22b62b179d92cdbb23d12e8221/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "01004ff22336939ef35241711c8e214c": {"username": "ze roberto", "tumblr": "", "display_name": "ze roberto", "url": "http://disqus.com/guest/01004ff22336939ef35241711c8e214c/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4b1bfea8d03b472122f3f1f3f042d119": {"username": "Rogerio", "tumblr": "", "display_name": "Rogerio", "url": "http://disqus.com/guest/4b1bfea8d03b472122f3f1f3f042d119/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ef8a38cb0c33bdf3286d40cf5c16814b": {"username": "Roberto", "tumblr": "", "display_name": "Roberto", "url": "http://disqus.com/guest/ef8a38cb0c33bdf3286d40cf5c16814b/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "Leo_Koester": {"username": "Leo_Koester", "tumblr": "", "display_name": "Leo_Koester", "url": "http://disqus.com/Leo_Koester/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 11, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/80/8195/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "114c15dac66af668a770c7ff6b1b8f79": {"username": "Felipe", "tumblr": "", "display_name": "Felipe", "url": "http://disqus.com/guest/114c15dac66af668a770c7ff6b1b8f79/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "88de3c2736b4f7e27462e61b162c225a": {"username": "Vin\u00edcius Novais", "tumblr": "", "display_name": "Vin\u00edcius Novais", "url": "http://disqus.com/guest/88de3c2736b4f7e27462e61b162c225a/", "registered": false, "linkedin": "", "blog": "http://www.viniciusnf.co.cc/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/271/4489/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0573abb543fdfb1a093d55dfbc65e5ed": {"username": "Luiz", "tumblr": "", "display_name": "Luiz", "url": "http://disqus.com/guest/0573abb543fdfb1a093d55dfbc65e5ed/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "30fa8f49eda2cbb40ae7b8ff11b95b70": {"username": "Pedro", "tumblr": "", "display_name": "Pedro", "url": "http://disqus.com/guest/30fa8f49eda2cbb40ae7b8ff11b95b70/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "2f73be8cb59cdde47ede52443bd391a5": {"username": "Seu Madruga", "tumblr": "", "display_name": "Seu Madruga", "url": "http://disqus.com/guest/2f73be8cb59cdde47ede52443bd391a5/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6ec11c3c0bf8932da61fb25212891956": {"username": "fii", "tumblr": "", "display_name": "fii", "url": "http://disqus.com/guest/6ec11c3c0bf8932da61fb25212891956/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "marceloapgouveia": {"username": "marceloapgouveia", "tumblr": "", "display_name": "Marcelo Gouveia", "url": "http://disqus.com/marceloapgouveia/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 8, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/78/5074/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3092b3313edba2ae0ea28dc16fd176a2": {"username": "Andr\u00e9 Luiz", "tumblr": "", "display_name": "Andr\u00e9 Luiz", "url": "http://disqus.com/guest/3092b3313edba2ae0ea28dc16fd176a2/", "registered": false, "linkedin": "", "blog": "http://buscaespiritual.zip.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c75349333df8f924f76d11ac41e4f49d": {"username": "Guilherme", "tumblr": "", "display_name": "Guilherme", "url": "http://disqus.com/guest/c75349333df8f924f76d11ac41e4f49d/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c7a9e171246f5317ed7d585da5a9e9e1": {"username": "M\u00e1rio", "tumblr": "", "display_name": "M\u00e1rio", "url": "http://disqus.com/guest/c7a9e171246f5317ed7d585da5a9e9e1/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ghedin": {"username": "ghedin", "tumblr": "", "display_name": "Rodrigo Ghedin", "url": "http://disqus.com/ghedin/", "registered": true, "linkedin": "", "blog": "http://sobre.rodrigoghedin.com.br/", "remote_domain": null, "points": 132, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/70/6864/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "dae1f0de85df4161c5c338e88d41fd50": {"username": "Fabr\u00edcio", "tumblr": "", "display_name": "Fabr\u00edcio", "url": "http://disqus.com/guest/dae1f0de85df4161c5c338e88d41fd50/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6917ba9b8e087910cd1e72d6ab4a5d1a": {"username": "JuaAo", "tumblr": "", "display_name": "JuaAo", "url": "http://disqus.com/guest/6917ba9b8e087910cd1e72d6ab4a5d1a/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/281/6468/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ab4505ca81fca656b5893fba64b07d16": {"username": "Willian Rosa", "tumblr": "", "display_name": "Willian Rosa", "url": "http://disqus.com/guest/ab4505ca81fca656b5893fba64b07d16/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "1e6fd8e56879c84999cd481255530592": {"username": "2", "tumblr": "", "display_name": "2", "url": "http://disqus.com/guest/1e6fd8e56879c84999cd481255530592/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "68dd6c20f8f30e6ebbc9e6afd77ed532": {"username": "Nelson", "tumblr": "", "display_name": "Nelson", "url": "http://disqus.com/guest/68dd6c20f8f30e6ebbc9e6afd77ed532/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3e029bd38954bb294caa283c0f8e2d37": {"username": "Frederico Bittencourt", "tumblr": "", "display_name": "Frederico Bittencourt", "url": "http://disqus.com/guest/3e029bd38954bb294caa283c0f8e2d37/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/281/6563/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ef18030b1fb84515296f4937f8b9a9cc": {"username": "Octavio Augusto", "tumblr": "", "display_name": "Octavio Augusto", "url": "http://disqus.com/guest/ef18030b1fb84515296f4937f8b9a9cc/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "73314b5659fc3feaa1999da1b5048f43": {"username": "Gutuu", "tumblr": "", "display_name": "Gutuu", "url": "http://disqus.com/guest/73314b5659fc3feaa1999da1b5048f43/", "registered": false, "linkedin": "", "blog": "http://gutuu.deviantart.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c4f6e81e3983c8b63f417d5adc329d55": {"username": "Eduardo Garcia", "tumblr": "", "display_name": "Eduardo Garcia", "url": "http://disqus.com/guest/c4f6e81e3983c8b63f417d5adc329d55/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "214914fd28945ca7bd93e1e0559ed402": {"username": "Fabiano Matheus", "tumblr": "", "display_name": "Fabiano Matheus", "url": "http://disqus.com/guest/214914fd28945ca7bd93e1e0559ed402/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/281/6343/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8718db3d4241bd1cc74e61542aa45115": {"username": "Rafael", "tumblr": "", "display_name": "Rafael", "url": "http://disqus.com/guest/8718db3d4241bd1cc74e61542aa45115/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "bbd6bac3e3bc74a803ff650fc37bcbcb": {"username": "William Koch", "tumblr": "", "display_name": "William Koch", "url": "http://disqus.com/guest/bbd6bac3e3bc74a803ff650fc37bcbcb/", "registered": false, "linkedin": "", "blog": "http://wkoch.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "lucasdillmann": {"username": "lucasdillmann", "tumblr": "", "display_name": "Lucas Dillmann", "url": "http://disqus.com/lucasdillmann/", "registered": true, "linkedin": "", "blog": "http://www.technowbr.com", "remote_domain": null, "points": 11, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/92/1052/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "WinAjuda", "streaming_realtime": false, "url": "winajuda", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 0, "show_avatar": true, "allow_anon_votes": true, "disqus_auth_disabled": false}, "realtime_enabled": false, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "winajuda", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-22_11:18:22", "remote_domain": "", "page": 1, "is_moderator": false, "display_username": "", "points": null, "subscribe_on_post": 2, "moderator_can_edit": false, "is_remote": false, "is_verified": false, "missing_perm": "locked"}, "realtime_paused": false, "posts": {"16158976": {"up_voted": false, "ip": "", "has_replies": false, "message": "Belo post Ghedin<br>Particularmente acho o Safari o melhor navegador..<br>Abre p\u00e1ginas em uma velocidade surpreendente, inicializa\u00e7\u00e3o r\u00e1pida, textura das fontes perfeita<br>Pra quem tem 1GB de Ram ele n\u00e3o deve ser l\u00e1 essas coisas, mais pra quem tem 2GB + eu recomendo..<br>Sim, ainda falta muita coisa pra se melhorar, principalmente seu so excessivo de mem\u00f3ria RAM<br>Gostei mais dessa vers\u00e3o do que a anterior, em que as abas eram no estilo do Chrome.<br>A apple est\u00e1 de parab\u00e9ns", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-11_11:46:57", "killed": false, "user_key": "3e029bd38954bb294caa283c0f8e2d37", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158977": {"up_voted": false, "ip": "", "has_replies": true, "message": "Como n\u00e3o escreveu Ghedin? Quem \"escreveu\" FASTEST na figura do IE8 ent\u00e3o, o lugar onde o apelo visual seria mais forte que as famosas 1000 palavras? <br><br>Al\u00e9m do mais, \"n\u00e3o lembro\" de voc\u00ea questionar a veracidade ou mostrar outro \"teste\".", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-13_06:27:07", "killed": false, "user_key": "01004ff22336939ef35241711c8e214c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": 16158956, "depth": 3, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158978": {"up_voted": false, "ip": "", "has_replies": true, "message": "\u00c0s vezes eu acho que esse tipo de coment\u00e1rio \u00e9 feito de prop\u00f3sito, s\u00f3 para me sacanear. A imagem foi feita para <strong>ilustrar</strong> o <em>post</em>. Sabe o que \u00e9 ilustrar? Segundo o Michaelis, ilustrar \u00e9: \"Adornar com estampas ou gravuras\". Se voc\u00ea acha que uma imagem vale mais que palavras, desculpe, meu caro, mas voc\u00ea est\u00e1 no site errado.<br><br>Sei que ler n\u00e3o \u00e9 seu forte, mas d\u00e1 uma lida no \u00faltimo par\u00e1grafo daquele <em>post</em>, por favor. Para facilitar, transcrevo aqui:<br><br><em>\"Venho utilizando a vers\u00e3o final do navegador desde o lan\u00e7amento, e como as diferen\u00e7as, mostradas no teste acima, s\u00e3o m\u00ednimas, \u00e9 dif\u00edcil dizer se \u00e9 mais r\u00e1pido ou mais lento que os concorrentes. A sensa\u00e7\u00e3o (vejam, \u00e9 uma sensa\u00e7\u00e3o, algo sem base cient\u00edfica, uma opini\u00e3o emitida no \u201colh\u00f4metro\u201d) \u00e9 de que Chrome, Firefox e, principalmente, Opera* s\u00e3o mais r\u00e1pidos. Mas, na pr\u00e1tica, fica a d\u00favida no ar.\"</em><br><br>[]'s!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-13_07:56:17", "killed": false, "user_key": "ghedin", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 16158977, "depth": 4, "points": 0, "author_is_creator": true, "is_realtime": false}, "16158979": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sempre tem gente que \"n\u00e3o se toca\", nem vale a pena se \"estressar\" por eles...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-13_09:58:45", "killed": false, "user_key": "lucasdillmann", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 16158978, "depth": 5, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158980": {"up_voted": false, "ip": "", "has_replies": false, "message": "J\u00e1 havia atualizado para ele ontem e, pena que o Glasser n\u00e3o funciona mais nele (pra variar), porem o AllGlass continua funcionando...", "is_last_child": true, "can_reply": false, "down_voted": false, "real_date": "2009-06-13_10:00:15", "killed": false, "user_key": "lucasdillmann", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 16158973, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158981": {"up_voted": false, "ip": "", "has_replies": false, "message": "bom, eu testo o windows 7 .................<br><br>e ja usei o ff , o i8 , safari , opera 10 , chrome , e o netscape..........<br><br>olha n\u00e3o tem jeito no windows 7 ( na minha opini\u00e3o ) vc sempre volta ou para o firefox ou para o i8<br>por\u00e9m no i8 no windows 7 sempre que pesquiso algo na barra de pesquisa ele coloca um E no final e axo isso muito desagradavel......<br><br>no xp o internet explorer 8 \u00e9ra bem lento e travava muito , eu se fosse vcs usaria ou o firefox , ou o chrome , pois \u00e9 os que axo mais rapido por inquanto .............<br><br><br>cumprimentos", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-20_20:46:49", "killed": false, "user_key": "114c15dac66af668a770c7ff6b1b8f79", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158917": {"up_voted": false, "ip": "", "has_replies": true, "message": "Um bom navegador, uma pena que consuma tanta mem\u00f3ria do PC, depois de 10 minutos de uso ficou oscilando entre 160~180 MB com apenas uma pagina aberta.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_18:48:22", "killed": false, "user_key": "c75349333df8f924f76d11ac41e4f49d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158918": {"up_voted": false, "ip": "", "has_replies": false, "message": "Pode ser r\u00e1pido, mas \u00e9 extremamente cru, tal qual o Chrome. Precisam melhorar nesse quesito.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_19:04:30", "killed": false, "user_key": "c7a9e171246f5317ed7d585da5a9e9e1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158919": {"up_voted": false, "ip": "", "has_replies": true, "message": "A vers\u00e3o final ficou excelente. O unico ponto fraco \u00e9 o consumo elevado de mem\u00f3ria (aqui, oscula entre 110~120 MB) mas, ainda assim, o melhor navegador na minha opini\u00e3o.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_19:26:53", "killed": false, "user_key": "6ec11c3c0bf8932da61fb25212891956", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158920": {"up_voted": false, "ip": "", "has_replies": false, "message": "oscila*", "is_last_child": true, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_19:29:18", "killed": false, "user_key": "6ec11c3c0bf8932da61fb25212891956", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 16158919, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158921": {"up_voted": false, "ip": "", "has_replies": false, "message": "Opera manda abra\u00e7os!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_20:02:24", "killed": false, "user_key": "ab4505ca81fca656b5893fba64b07d16", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158922": {"up_voted": false, "ip": "", "has_replies": true, "message": "O meu pc que ta no corredor da morte faz um temp\u00e3o ta oscilando o consumo de mem\u00f3ria entre 45 e 60 MB com uma p\u00e1gina aberta e fazendo download!... mas ainda prefiro Opera!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_20:10:04", "killed": false, "user_key": "4b1bfea8d03b472122f3f1f3f042d119", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 1, "is_first_child": true, "email": "", "parent_post_id": 16158917, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158923": {"up_voted": false, "ip": "", "has_replies": false, "message": "...corrigindo.... entre 55 e 60MB o consumo de mem\u00f3ria", "is_last_child": true, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_20:11:50", "killed": false, "user_key": "4b1bfea8d03b472122f3f1f3f042d119", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 16158922, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158924": {"up_voted": false, "ip": "", "has_replies": true, "message": "Testei aqui, achei o consumo de mem\u00f3ria estupidamente alto, sem falar no uso constante (e alto tamb\u00e9m) do processador. O irm\u00e3o \"bastardo\", tamb\u00e9m conhecido como Google Chrome, faz mais e cobra menos do PC. Continuo com ele.<br><br>[]'s!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_20:30:10", "killed": false, "user_key": "ghedin", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": true, "is_realtime": false}, "16158925": {"up_voted": false, "ip": "", "has_replies": false, "message": "Me recuso a usar um navegador que n\u00e3o me permite controlar o tamanho de seu cache.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_20:34:01", "killed": false, "user_key": "ef18030b1fb84515296f4937f8b9a9cc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158926": {"up_voted": false, "ip": "", "has_replies": false, "message": "opera manda boas-vindas isso sim", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_20:41:21", "killed": false, "user_key": "1e6fd8e56879c84999cd481255530592", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158927": {"up_voted": false, "ip": "", "has_replies": false, "message": "Como um bom designer, preciso t\u00ea-lo instalado... sem contar que curti a interface... e realmente, Safari com as abas pra cima n\u00e3o estava vingando n\u00e3o... deixa pro Papai Chrome essa fun\u00e7\u00e3o. :D<br><br>Ah... sobre o consumo de mem\u00f3ria... hoje em dia \u00e9 \"padr\u00e3o\", ter uns 3GB, ent\u00e3o um consumo de 110 ~140 eu acho razo\u00e1vel.<br><br>Uma coisa que n\u00e3o ficou bacana aqui no Win7, \u00e9 que ele separa os \u00edcone de executar o programa dos que est\u00e3o sendo utilizados e o lado bom, como o Chrome, \u00e9 que cada aba \u00e9 um processo diferente. :D<br><br>[]'s", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_20:53:19", "killed": false, "user_key": "a22f6e22b62b179d92cdbb23d12e8221", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158928": {"up_voted": false, "ip": "", "has_replies": false, "message": "Logo logo lan\u00e7am uma atualiza\u00e7\u00e3o xD", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_20:56:18", "killed": false, "user_key": "a22f6e22b62b179d92cdbb23d12e8221", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 16158924, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158929": {"up_voted": false, "ip": "", "has_replies": false, "message": "Cara, ainda fico com o FF, mas estou sebando que ele tem a ferramenta Cover Flow, existente no iTunes, onde o usu\u00e1rio poder\u00e1 explorar seus favoritos em uma interface 3D; Se tiver isso para o FF seria massa.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_21:09:37", "killed": false, "user_key": "2f73be8cb59cdde47ede52443bd391a5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158930": {"up_voted": false, "ip": "", "has_replies": false, "message": "Muito r\u00e1pido, demais! CoverFlow incr\u00edvel :) <br><br>N\u00e3o sei porque, mas s\u00f3 o FF e o IE funcionam direito no orkut, o resto tudo buga :S", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_22:23:54", "killed": false, "user_key": "214914fd28945ca7bd93e1e0559ed402", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158931": {"up_voted": false, "ip": "", "has_replies": true, "message": "Agrade\u00e7o, mas o FIREFOX  \u00e9 \"O Cara\" !!!  N\u00e3o abro m\u00e3o por nada, o novo 3.5 ent\u00e3o,vai arrasar a concorr\u00eancia.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_22:50:54", "killed": false, "user_key": "ef8a38cb0c33bdf3286d40cf5c16814b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 3, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158933": {"up_voted": false, "ip": "", "has_replies": false, "message": "\u00abA nova onda \u00e9 dizer que seu navegador \u00e9 \u201co mais r\u00e1pido do mundo\u201d.\u00bb<br><br>A Apple usava esse slogan para o Safari muito antes de outros navegadores come\u00e7arem a disputar o t\u00edtulo.<br><br>\u00abInforma\u00e7\u00f5es da Apple \u00e0 parte, o Lifehacker fez testes comparativos entre o Safari 4 e concorrentes, h\u00e1 algum tempo, utilizando a vers\u00e3o beta.\u00bb<br><br>Esperemos pelos comparativos com a vers\u00e3o final... ;)<br><br>\u00ab(...) e implementou um sistema anti-travamento a la Internet Explorer 8.\u00bb<br><br>Que por sua vez implementou um sistema anti-travamento a la Google Chrome. :P", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_22:53:23", "killed": false, "user_key": "12c504d5093c3ff5a388b2ad8e78f8e8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158935": {"up_voted": false, "ip": "", "has_replies": false, "message": "T\u00e1 vacilando o WinAjuda puxando a sardinha para o IE.<br>Quando o IE 8 veio \u00e0 tona, o tom aqui no WinAjuda era que este sim era o navegador mais r\u00e1pido...<br>Eu sei que este blog \u00e9 do mundo Microsoft, posso at\u00e9 estar vacilando, mas...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_23:36:37", "killed": false, "user_key": "88de3c2736b4f7e27462e61b162c225a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158936": {"up_voted": false, "ip": "", "has_replies": true, "message": "Opini\u00e3o a gente respeita. Mas na minha vis\u00e3o e acompanho o WinAjuda desde sua inaugura\u00e7\u00e3o, a cobertura que se d\u00e1 a qualquer mat\u00e9ria \u00e9 a mesma, com pr\u00f3s e contras. Haja visto o Chrome com sua ves\u00e3o final lan\u00e7ada recentemente,  que o Ghedin inclusive est\u00e1 usando e que eu n\u00e3o estou no momento porque ele s\u00f3 tem o gerenciador de downloads nativo. N\u00e3o aceita nehnum outro. No momento o IE8, FF, \u00d3pera e Chrome se equivalem, cada um com suas vantagens, dependendo da m\u00e1quina e do operacional.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_04:20:28", "killed": false, "user_key": "3092b3313edba2ae0ea28dc16fd176a2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 7, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158937": {"up_voted": false, "ip": "", "has_replies": true, "message": "Eu n\u00e3o testei essa vers\u00e3o nova do Safari no windows, mas a vers\u00e3o anterior era uma grande porcaria no windows.<br><br>N\u00e3o se enganem, o Safari \u00e9 bom no Mac, \u00e9 o navegador mais r\u00e1pido, o FF e Opera demoram de 3 a 5 vezes o tempo que o Safari leva para abrir, e a navega\u00e7\u00e3o tamb\u00e9m \u00e9 mais r\u00e1pida no Safari que nos outros, isso no Mac.<br><br>A vers\u00e3o windows do Safari eu sempre considerei um dos piores navegadores, e nem acho utiliz\u00e1vel no dia a dia. O Safari do Windows e o do Mac tem desempenho totalmente diferente.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_06:17:42", "killed": false, "user_key": "bbd6bac3e3bc74a803ff650fc37bcbcb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 4, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158938": {"up_voted": false, "ip": "", "has_replies": false, "message": "Concordo. o Safari no Windows \u00e9 fraqu\u00edssimo. Tem uma lnga caminhada se quiser chegar aos p\u00e9s dos quatro melhores que citei a\u00ed em cima.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_06:46:48", "killed": false, "user_key": "3092b3313edba2ae0ea28dc16fd176a2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 16158937, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158939": {"up_voted": false, "ip": "", "has_replies": true, "message": "Eu tambem concordo, o Safari no Mac nem se compara com o do Windows (a mesma coisa para o iTunes), mas mesmo assim, o Chrome, no Mac, e bem mais rapido que o Safari.<br><br>So e uma pena que o Chrome no Mac ainda esteja num estagio muito prematuro de desenvolvimento.<br><br>Obs.: esotu comentando pelo Chrome rodando no Mac OSX.<br>Obs.2: o Chrome esta tao prematuro que os acentos ainda nao estao funcionando nele, por isso que nao tem nenhum acento nesse comentario.<br><br>Obs.3: mesmo sendo bem fraco no Windows se comparado com o Mac, o Safari melhorou muito, nem se compara que a primeira versao liberada pra Windows.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_07:00:14", "killed": false, "user_key": "30fa8f49eda2cbb40ae7b8ff11b95b70", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": 16158937, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158940": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sauda\u00e7\u00f5es Ghedin! nesse exato momento o safari ta degustando de 51mb... do pouco que o meu pc tem e n\u00e3o ta usando tanto o processador. Estou usando um xp modificado no nlite, ser\u00e1 esse o motivo? a \u00fanica coisa que percebi \u00e9 que o safari da umas travadinhas quando entro em algumas p\u00e1ginas (n\u00e3o todas) mas ja volta ao normal. []'s", "is_last_child": true, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_07:41:48", "killed": false, "user_key": "4b1bfea8d03b472122f3f1f3f042d119", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 16158924, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158941": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ultimamente o Ghedin est\u00e1 criticando tanto a Apple :S .<br><br>Se eu n\u00e3o o conhecesse, j\u00e1 estaria pensando besteira :P .", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_07:53:55", "killed": false, "user_key": "dae1f0de85df4161c5c338e88d41fd50", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158942": {"up_voted": false, "ip": "", "has_replies": false, "message": "Caro Rodrigo,<br><br>Tamb\u00e9m acho a auto-conclama\u00e7\u00e3o fora de medida. Mas, convenhamos que os testes citados por voc\u00ea s\u00e3o de fevereiro, contra o IE 7, I8 beta 2, o FireFox 3.1 beta 2, Opera 9.63 e Chrome 1.0.154.<br><br>Portanto, vamos dar um cr\u00e9dito e aguardar os pr\u00f3ximos testes que o pr\u00f3prio site Lifehacker afirmou que ir\u00e1 realizar em breve: <a href=\"http://lifehacker.com/5283294/safari-4-leaves-beta-calls-itself-worlds-fastest-browser\" rel=\"nofollow\">http://lifehacker.com/5283294/safari-4-leaves-b...</a>.<br><br>Concordo com quem disse aqui que o Safari \u00e9 melhor no Mac, e estou de pleno acordo de que o Chrome \u00e9 o mais leve e por isso s\u00f3 uso ele desde o come\u00e7o.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_08:29:18", "killed": false, "user_key": "marceloapgouveia", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158943": {"up_voted": false, "ip": "", "has_replies": true, "message": "O melhor navegador \u00e9 o Internet Explorer 8 no Windows 7, apenas no Windows 7. N\u00e3o sei porque, mas o navegador no Windows XP trava e fica lento. O FF \u00e9 o mais demorado para abrir, parecendo o Netscape quando us\u00e1vamos l\u00e1 pelos meados de 1994. O Chrome \u00e9 o mais r\u00e1pido de todos, por\u00e9m \u00e9 \"pelado\". O Opera e o Safari consomem muita mem\u00f3ria e s\u00e3o lentos, principalmente o Opera 10, por apresentar abas gigantes que ocupam o navegador pela metade, possibilitando (ainda bem) ajustes para a sua redu\u00e7\u00e3o.<br><br>O Internet Explorer 8, que funciona apenas no Windows 7, \u00e9 o mais completo (j\u00e1 possui add-ons, \u00e9 r\u00e1pido e consumo pouca mem\u00f3ria, comparado com o Opera e Safari).<br><br>Se voc\u00ea \u00e9 um usu\u00e1rio que apenas \"navega na Internet\", recomendad\u00edssimo o Google Chrome.<br><br>Se voc\u00ea quer um navegador ao seu estilo, use o Firefox 3.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_09:19:30", "killed": false, "user_key": "8718db3d4241bd1cc74e61542aa45115", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 11, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158944": {"up_voted": false, "ip": "", "has_replies": false, "message": "Percebi a mesma coisa, o IE 8 no XP \u00e9 uma carro\u00e7a, trava e as vezes (pelo menos aqui) fecha sozinho.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_09:22:38", "killed": false, "user_key": "marceloapgouveia", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 16158943, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158945": {"up_voted": false, "ip": "", "has_replies": false, "message": "Faz tanto 60 Mb como passa para os 120Mb e ja vi a ir aos 160 MB. O processador vai aos 20 % com ele.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_09:28:43", "killed": false, "user_key": "1f0919f888b0e9f7093b09aca6ad0772", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158946": {"up_voted": false, "ip": "", "has_replies": false, "message": "Para quem tem RAM de sobra (DDR2 2GB+) \u00e9 \u00f3timo, mas para quem usa PC com 1GB DDR400, \u00e9 muito pesado, assim como o Firefox. E certamente em um MAC ele deve tem um desempenho superior.<br><br>Mesmo assim, um belo navegador. Renderiza as p\u00e1ginas de forma muito bonita e bem feita. Um pena terem tirado as abas do topo da janela e colocado na posi\u00e7\u00e3o &lt;strike&gt;errada&lt;/strike&gt; \"normal\".<br><br>Mas at\u00e9 agora, o Google Chrome \u00e9 o melhor. Disparado.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_09:40:04", "killed": false, "user_key": "Leo_Koester", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158947": {"up_voted": false, "ip": "", "has_replies": true, "message": "Uma pergunta: voc\u00ea acessa (ou j\u00e1 acessou) algum site de banco usando esse IE8 lento do XP? <br>Algo como Banco Real, Unibanco, Bradesco, Caixa ou BB?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_09:43:21", "killed": false, "user_key": "Leo_Koester", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 8, "is_first_child": false, "email": "", "parent_post_id": 16158943, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158948": {"up_voted": false, "ip": "", "has_replies": true, "message": "N\u00e3o uso o IE, somente o Chrome, portanto nunca acessei esses sites por ele.<br><br>Me desculpe pela devolu\u00e7\u00e3o da pergunta, mas, qual \u00e9 a d\u00favida?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_09:51:54", "killed": false, "user_key": "marceloapgouveia", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 7, "is_first_child": false, "email": "", "parent_post_id": 16158947, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158949": {"up_voted": false, "ip": "", "has_replies": true, "message": "Desculpe a confus\u00e3o, Marcelo. <br>A pergunta foi para o Rafael.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_11:10:05", "killed": false, "user_key": "Leo_Koester", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 6, "is_first_child": false, "email": "", "parent_post_id": 16158948, "depth": 3, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158950": {"up_voted": false, "ip": "", "has_replies": true, "message": "Eu j\u00e1 acessei Santander e Caixa Federal. O maior problema do IE8 no XP \u00e9 a sua lentid\u00e3o, e muita lentid\u00e3o, que chega at\u00e9 a dar desespero.<br><br>Comigo acontece algo bastante diferente: quando digito algum texto, que pode esse aqui mesmo, ou ent\u00e3o na barra de endere\u00e7os, o mesmo n\u00e3o completa, ou seja, algumas vogais e consoantes ficam faltando, n\u00e3o sendo eu que esqueci de digitar, mas sim o navegador de n\u00e3o exibir da tela. Testei o IE8 no Windows XP em 4 (quatro) computadores Dual Core e todos eles apresentaram este defeito. Destes quatro, fiz a desintala\u00e7\u00e3o da vers\u00e3o 8 para a vers\u00e3o 7 e o problema foi solucionado.<br><br>Realmente o IE8 no XP \u00e9 imposs\u00edvel de usar, meu primo, meus irm\u00e3os testaram em seus PC\u00b4s e este problema persistiu. Agora, no Windows 7, \u00e9 uma maravilha, inclusive, n\u00e3o tenho nenhum outro navegador instalado, apenas o IE8.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_11:35:25", "killed": false, "user_key": "8718db3d4241bd1cc74e61542aa45115", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 5, "is_first_child": false, "email": "", "parent_post_id": 16158949, "depth": 4, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158951": {"up_voted": false, "ip": "", "has_replies": false, "message": "muito pessado", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_12:06:17", "killed": false, "user_key": "6917ba9b8e087910cd1e72d6ab4a5d1a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158952": {"up_voted": false, "ip": "", "has_replies": true, "message": "Eu sei... j\u00e1 vi mat\u00e9rias interessantiss\u00edmas aqui sobre o Flock...<br>Estou dizendo que quando o IE 8 saiu, o WinAjuda disse que o mesmo era o navegador mais r\u00e1pido do mercado, e v\u00e1rias pesquisas mostraram o contr\u00e1rio...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_12:16:14", "killed": false, "user_key": "88de3c2736b4f7e27462e61b162c225a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 5, "is_first_child": true, "email": "", "parent_post_id": 16158936, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158953": {"up_voted": false, "ip": "", "has_replies": true, "message": "Realmente! Constatei exatamente isso aqui. O IE 8 fica comendo alguma letras na hora de digitar qualquer coisa dentro do navegador.<br>A solu\u00e7\u00e3o foi id\u00eantica, remover o IE 8 e voltar a usar o IE 7.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_12:24:22", "killed": false, "user_key": "marceloapgouveia", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 16158950, "depth": 5, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158954": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ent\u00e3o agora voc\u00ea j\u00e1 pode come\u00e7ar a usar (o Chrome), porque o FreeDownloadManager j\u00e1 gerencia os downloads do Chrome:<br><br><a href=\"http://www.freedownloadmanager.org/\" rel=\"nofollow\">http://www.freedownloadmanager.org/</a><br><br>Al\u00e9m do Chrome ele tamb\u00e9m gerencia os downloads do IR, FF, Safari, Opera, etc. E ainda por cima \u00e9 gratuito.", "is_last_child": true, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_12:27:00", "killed": false, "user_key": "marceloapgouveia", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 16158936, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158955": {"up_voted": false, "ip": "", "has_replies": false, "message": "PS: meus usu\u00e1rios aqui usam o IE 7, que atualizaram automaticamente para o IE 8, que me deu um trabalh\u00e3o para descobrir o problema.<br>\u00c9 muito dif\u00edcil mudar o gosto dos usu\u00e1rios e tentar convenc\u00ea-los a usar o Chrome.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_12:30:34", "killed": false, "user_key": "marceloapgouveia", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 16158950, "depth": 5, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158956": {"up_voted": false, "ip": "", "has_replies": true, "message": "Vin\u00edcius, eu nunca escrevi isso :roll: . <a href=\"http://www.winajuda.ig.com.br/2009/03/25/polemica-seria-o-internet-explorer-8-o-navegador-mais-rapido/\" rel=\"nofollow\">O que escrevi</a> foi sobre uma pesquisa encomendada pela Microsoft e realizada pela Unesp que apontava o IE8 como mais r\u00e1pido. Veja, n\u00e3o fui eu, foi a pr\u00f3pria Microsoft quem afirmou - da mesma maneira que a Apple fez com o Safari 4, a Google com o Chrome, e por a\u00ed vai.<br><br>Na realidade, n\u00e3o me lembro de ter dito que navegador \"a\" \u00e9 o mais r\u00e1pido. Particularmente, prefiro o Chrome, mas isso n\u00e3o quer dizer, em termos absolutos, que ele \u00e9 o mais r\u00e1pido.<br><br>[]'s!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_12:34:26", "killed": false, "user_key": "ghedin", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 4, "is_first_child": false, "email": "", "parent_post_id": 16158952, "depth": 2, "points": 0, "author_is_creator": true, "is_realtime": false}, "16158957": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ser\u00e1 que a Microsoft vai lan\u00e7ar uma corre\u00e7\u00e3o para este bug?<br><br>Muita gente est\u00e1 tendo esse problema. Esse erro deve-se ao fato de usar um navegador lan\u00e7ado recentemente em um sistema operacional de 8 anos.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_12:59:24", "killed": false, "user_key": "8718db3d4241bd1cc74e61542aa45115", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 16158953, "depth": 6, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158958": {"up_voted": false, "ip": "", "has_replies": true, "message": "Rafa, o problema no seu IE8 \u00e9 o <em>G-Buster Browser Defense</em>, um plugin de seguran\u00e7a (ridiculamente mal feito) instalado pelos bancos que eu citei que simplesmente <strong>acaba</strong> com a navega\u00e7\u00e3o dos sites.<br><br>Eu sei disso pois tive o mesmo problema que voc\u00ea relatou em (pasme) 22 m\u00e1quinas das filiais da empresa onde trabalho. Remover o G-Buster foi a \u00fanica solu\u00e7\u00e3o, al\u00e9m de ser obrigado a bloquear <em>todos</em> os sites de Internet Banking do Brasil nessas lojas.<br><br>Esse problema realmente n\u00e3o aparece no Windows 7, e tamb\u00e9m n\u00e3o aparece no Windows Vista. Acho que tem alguma coisa a ver com o acesso \u00e0 mem\u00f3ria, que \u00e9 diferente do XP.<br><br>Se quiser saber como fazer para remover esta praga, acesse: <a href=\"http://insanebits.blogspot.com/2007/04/g-buster-browser-defense-analysis-and.html\" rel=\"nofollow\">http://insanebits.blogspot.com/2007/04/g-buster...</a>. D\u00e1 trabalho, mas funciona.<br><br>Se quiser continuar utilizando o IE8 com os sites dos bancos, aconselho a usar o Sandboxie (<a href=\"http://www.sandboxie.com/\" rel=\"nofollow\">http://www.sandboxie.com/</a>) em m\u00e1quinas x86. Assim, voc\u00ea n\u00e3o compromete seu sistema.<br><br>Espero ter ajudado.<br><br>A prop\u00f3sito: uso o IE8 no Windows XP e n\u00e3o volto para o IE7 nem por decreto. :D", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_14:01:51", "killed": false, "user_key": "Leo_Koester", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 16158950, "depth": 5, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158960": {"up_voted": false, "ip": "", "has_replies": false, "message": "Obrigado pelas dicas! :-)<br><br>Realmente nunca iria imaginar que um programa instalado pelos sites de bancos iria comprometer o navegador.<br><br>Vou seguir este tutorial e assim que eu fizer a remo\u00e7\u00e3o do plugin, estarei comentando aqui os resultados.<br><br>OBRIGADO", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_14:19:06", "killed": false, "user_key": "8718db3d4241bd1cc74e61542aa45115", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 16158958, "depth": 6, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158961": {"up_voted": false, "ip": "", "has_replies": true, "message": "O Chrome do MAC ainda t\u00e1 na vers\u00e3o alpha do alpha... Estou usando o chrome no windows e ele \u00e9 o melhor que j\u00e1 vi at\u00e9 agora..<br>Obs.: J\u00e1 passei pelo FF,IE,SAFARI,NETSCAPE(antigo), parei no melhor (chrome)...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_15:27:26", "killed": false, "user_key": "c4f6e81e3983c8b63f417d5adc329d55", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 16158939, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158962": {"up_voted": false, "ip": "", "has_replies": false, "message": "L\u00e1 vai o chrome com sua agilidade conseguindo usuarios :D", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_15:32:57", "killed": false, "user_key": "c4f6e81e3983c8b63f417d5adc329d55", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158963": {"up_voted": false, "ip": "", "has_replies": false, "message": "Motor JavaScript tem que ser V8 potente... :D", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_15:35:31", "killed": false, "user_key": "c4f6e81e3983c8b63f417d5adc329d55", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158964": {"up_voted": false, "ip": "", "has_replies": true, "message": "Axei ele bem bacana, r\u00e1pido e as ferramentas dele s\u00e3o bacanas<br>gostei do coverflow e da interface em geral.<br><br>Mas n\u00e3o troco o Chrome por ele n\u00e3o ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_16:13:01", "killed": false, "user_key": "73314b5659fc3feaa1999da1b5048f43", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158965": {"up_voted": false, "ip": "", "has_replies": true, "message": "e eu acho que quando vier os addons pro Chrome ele vai passar o Firefox ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_16:18:17", "killed": false, "user_key": "73314b5659fc3feaa1999da1b5048f43", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 1, "is_first_child": true, "email": "", "parent_post_id": 16158964, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158967": {"up_voted": false, "ip": "", "has_replies": false, "message": "Bom... estive usando ele de ontem pra hoje e pelo menos aqui no Win7 x86, est\u00e1 com uma tanto de \"probleminhas\"... N\u00e3o posso reclamar muito porque o SO est\u00e1 em RC, mas no \"meu\" ponto de vista, isso n\u00e3o justifica os \"probleminhas\"... Mais tarde tiro umas shots e posto... Agora vou jantar.<br><br>[]'s", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_17:26:30", "killed": false, "user_key": "a22f6e22b62b179d92cdbb23d12e8221", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158968": {"up_voted": false, "ip": "", "has_replies": false, "message": "Desculpem... substituam o \"... uma tanto de ...\" por \"... uns ...\", hehehe.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_17:28:25", "killed": false, "user_key": "a22f6e22b62b179d92cdbb23d12e8221", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158969": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jo\u00e3o sem bra\u00e7o.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_17:30:11", "killed": false, "user_key": "0573abb543fdfb1a093d55dfbc65e5ed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 16158956, "depth": 3, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158970": {"up_voted": false, "ip": "", "has_replies": false, "message": "O IE8 funciona tamb\u00e9m muit\u00edsimo bem no Vista. Pelo menos no meu pc. Realmente em outros 2 pcs com o Windows 7 ele funciona muito bem.", "is_last_child": true, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_17:39:17", "killed": false, "user_key": "3092b3313edba2ae0ea28dc16fd176a2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 16158943, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158971": {"up_voted": false, "ip": "", "has_replies": false, "message": "As extens\u00f5es j\u00e1 est\u00e3o chegando no Chrome e no canal DEV j\u00e1 chegou (numa vers\u00e3o prematura):<br><a href=\"http://www.winajuda.ig.com.br/forum/viewtopic.php?f=5&amp;t=2603\" rel=\"nofollow\">http://www.winajuda.ig.com.br/forum/viewtopic.p...</a>", "is_last_child": true, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_18:27:36", "killed": false, "user_key": "30fa8f49eda2cbb40ae7b8ff11b95b70", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 16158965, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158972": {"up_voted": false, "ip": "", "has_replies": false, "message": "Eu sei que ele est\u00e1 bem cru, alpha do alpha, mas mesmo assim j\u00e1 \u00e9 bem mais r\u00e1pido que o Safari 4.<br><br><br>Obs.: tamb\u00e9m j\u00e1 passei por todos esses navegadores e mais alguns outros e parei no Chrome (e n\u00e3o consigo mais largar).", "is_last_child": true, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_18:29:40", "killed": false, "user_key": "30fa8f49eda2cbb40ae7b8ff11b95b70", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 16158961, "depth": 3, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158973": {"up_voted": false, "ip": "", "has_replies": true, "message": "J\u00e1 atualizou o Firefox para a vers\u00e3o:  Mozilla/5.0 (Windows; U; Windows NT 6.1; pt-BR; rv:1.9.1b99) Gecko/20090605 Firefox/3.5b99 (.NET CLR 3.5.30729)?<br>Aqui estou achando e mais r\u00e1pida que anterior.<br>Abra\u00e7os.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_21:24:31", "killed": false, "user_key": "68dd6c20f8f30e6ebbc9e6afd77ed532", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 2, "is_first_child": true, "email": "", "parent_post_id": 16158931, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158974": {"up_voted": false, "ip": "", "has_replies": false, "message": "Corrigindo: achando melhor mais r\u00e1pida que a vers\u00e3o anterior.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_21:26:02", "killed": false, "user_key": "68dd6c20f8f30e6ebbc9e6afd77ed532", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 16158973, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "16158975": {"up_voted": false, "ip": "", "has_replies": false, "message": "Estava vendo aki... Ele tem maior integra\u00e7\u00e3o com o Windows 7 exibindo aba por aba na taskbar como o IE8...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-09_21:26:18", "killed": false, "user_key": "c4f6e81e3983c8b63f417d5adc329d55", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": false, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "33224934", "user_id": "anonymous", "forum_id": "186060", "hash": -5366390356039466582}, "thread": {"total_posts": 61, "paginate": true, "per_page": 80, "slug": "apple_libera_versao_final_do_safari_4", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 33224934, "num_posts": 61, "closed": true, "queued": false, "killed": false}, "reactions_limit": 10, "context": {"show_reply": false, "use_fb_connect": true, "forum_facebook_key": "49ff60b424d3928b76bcf678bdb69771", "use_yahoo": true, "subscribed": false, "use_twitter_signin": true, "use_openid": true, "realtime_speed": 5000}, "reactions_start": 0, "settings": {"debug": false, "disqus_url": "http://disqus.com", "media_url": "http://media.disqus.com"}, "media_url": "http://media.disqus.com"};
	/* */ this.jsonData.cookie_messages = {"user_created": null, "post_has_profile": null, "post_twitter": null, "post_not_approved": null}; this.jsonData.session = {"url": null, "name": null, "email": null}; /* */

	
	this.curPageId = 'dsq-comments';

	this.frames = {};
};

var disqus_popup_reference = null;

if(typeof DsqLocal == 'undefined') {
	DsqLocal = {};
}



/**
 * Dsq.Strings: UI strings
 */
Dsq.Strings = new function() {
	this.ADD_NEW_COMMENT = "Adicionar comentário";
	this.LOG_INTO_DISQUS = "Log into DISQUS";
	this.USE_MEDIA = "Usar multimídia";
	this.LOGOUT = "Logout";
	this.SHARING_OPTIONS = "Sharing options";
	this.SHARE_ON = "Share on";
	this.TWEET_THIS_COMMENT = "Tweet this comment";
	this.SHARE_ON_NEWSFEED = "Share on news feed";
	this.SEND_UPDATE_TO_YAHOO = "Send update to Yahoo!";
	this.REBLOG_ON = "Reblog on";
	this.CONFIGURE_OPTIONS = "Configure options";
	this.POST_AS = "Post as";
	this.SORT_BY = "Ordenar discussão por:";
	this.SUBSCRIBE_BY_EMAIL = "Subscribe by email";
	this.SUBSCRIBE_BY_RSS = "Subscribe by RSS";
	this.POPULAR_NOW = "Popular now";
	this.BEST_RATING = "Melhor avaliação";
	this.NEWEST_FIRST = "Recentes primeiro";
	this.OLDEST_FIRST = "Antigos primeiro";
	this.HIGHLIGHTED = "Highlighted";
	this.UNSUBSCRIBE = "Unsubscribe";
	this.REQUIRED = "Required";
	this.OPTIONAL = "Optional";
	this.YOU_ARE_COMMENTING_AS_A = "You are commenting as a";
	this.LOGIN_BELOW = "Login below";
	this.PLEASE_LOGIN_BELOW_TO_COMMENT = "Please login below to comment.";
	this.SUBSCRIBE_TO_ALL_COMMENTS_BY_EMAIL = "Subscribe to all comments by email";
	this.DO_NOT_SUBSCRIBE_TO_COMMENTS = "Do not subscribe to comments";
	this.REALTIME_UPDATING_IS = "Real-time updating is";
	this.ENABLED = "enabled";
	this.PAUSED = "paused";
	this.PAUSE = "Pause";
	this.RESUME = "Resume";
	this.SHOW = "Show";
	this.JUST_NOW = "Just now";
	this.REPLY = "responder";
	this.EDIT = "editar";
	this.FLAG = "Flag";
	this.MODERATE = "Moderate";
	this.CANCEL = "cancelar";
	this.REPLYING_TO = "Replying to";
	this.REPORT_MISSING_REACTIONS = "Report missing reactions";
	this.POST_A_COMMENT = "Post a comment";
	this.FLAG_INAPPROPRIATE_COMMENT = "Flag inappropriate comment";
	this.FLAGGED = "Flagged";
	this.NO = "Não";
	this.YES = "Sim";
	this.NEVER_MIND = "Never mind";
	this.ARE_YOU_SURE_YOU_WOULD_LIKE_TO_REPORT_THIS_COMMENT_TO_A_MODERATOR = "Are you sure you would like to report this comment to a moderator";
	this.THIS_WILL_FLAG_COMMENTS_FOR_MODERATORS_TO_TAKE_ACTION = "This will flag comments for moderators to take action";
	this.TO_RATE_PLEASE_LOG_IN = "To rate, please log in";
	this.JUST_A_MOMENT = "Just a moment...";
	this.GUEST = "Guest";
	this.NAME = "Nome";
	this.EMAIL = "E-mail";
  this.WEBSITE = "Website";
  this.IN_REPLY_TO = "in reply to";
  this.SETTINGS = "Settings";
  this.MODERATOR_OPTIONS = "Moderator options: ";
  this.MODERATE_OPTIONS = "Moderate Options";

  // Thread moderator actions
  this.CLOSE_THREAD = "Close thread";
  this.OPEN_THREAD = "Open thread";
  this.REMOVE_THREAD = "Remove thread";
  this.RESTORE_THREAD = "Restore thread";
  this.ACTIONS = "Actions";
};
// Dsq.Strings

/**
 * Dsq.FmtStrings: functions that return interpolated UI strings
 */
Dsq.FmtStrings = new function() {
	// Seems we have to use named interpolation for Django to translate. Investigate more.
	this.LOGGED_IN_AS = function(username) {
		return Dsq.Utils.interpolate('Logged in as %(username)s', {username:username});
	};

	this.LOGOUT_FROM = function(disqus) {
		return Dsq.Utils.interpolate('Logout from %(disqus)s', {disqus:disqus});
	};

	this.SHOWING_COMMENTS_FULL = function(total, num) {
		if (num === 1) {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> of <span id='dsq-total-posts'>%(total)s</span> comment", {num:num, total:total});
		} else {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> of <span id='dsq-total-posts'>%(total)s</span> comments", {num:num, total:total});
		}
	};

	this.SHOWING_COMMENTS_WITHOUT_PAGINATION = function(num) {
		if (num === 1) {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> comment", {num:num});
		} else {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> comments", {num:num});
		}
	};

	this.NUMBER_OF_COMMENTS = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s comment'
				: '%(num)s comments'
			), {num:num});
	};

	this.NUMBER_OF_LIKES = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s like'
				: '%(num)s likes'
			), {num:num});
	};

	this.NUMBER_OF_POINTS = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s point'
				: '%(num)s points'
			), {num:num});
	};
};
// Dsq.FmtStrings






Dsq.CSRF_TOKEN = '49645233e44f7d1a82290f178d2e9fa8';
Dsq.COMMENTS_RE = /(<li.*?id="?dsq-comment-(\d+)"?.*?>)((?:.|\s)*?)(<\/li>)/gim;
Dsq.POST_RE = /(<div.*?id="?dsq-comment-header-(\d+)"?.*?>)((?:.|\s)*?)(<\/div>)\s*(<div.*?class="?dsq-comment-body"?.*?>)((?:.|\s)*)(<\/div>)/gim;
Dsq.POST_BODY_RE = /\s*(<div.*?id="?dsq-comment-message-(\d+)"?.*?>)((?:.|\s)*)(<\/div>)/gim;
// HACK: Safari ends with "-->" while other browsers end with "--&gt;" as expected.
Dsq.MEDIA_POST_RE = /&lt;!--\[(.*?)\]--(?:>|&gt;)/gim;



var FragmentPacket = function(reader, writer, writer_url, is_child, receiveCallback) {
	var that = this;
	this.reader = reader;
	this.writer = writer;
	this.writer_url = writer_url;

	this.is_child = is_child || false;
	this.receiveCallback = receiveCallback;

	this._lastHash = null;

	this._accumMsg = '';

	this._lastSeqno = 0;

	this.MAX_DATA_LEN	= 1024;

	this.WAIT_TIME		= 10;

	this.READY		= 0x1;
	this.WRITING	= 0x2;
	this.FIN		= 0x4;
	this.ACK		= 0x8;

};

FragmentPacket.prototype.createListener = function() {
	var that = this;
	var listener = function() {
		that.recv();
	};
	return window.setInterval(listener, 10);
};

FragmentPacket.prototype.log = function(msg) {



};

FragmentPacket.prototype.recv = function() {
	var hash;
	if (/MSIE/.test(navigator.userAgent)) {

		hash = this.reader.name;
	} else {

		var hashIndex = this.reader.location.href.indexOf('#');
		if (hashIndex == -1) {
			return;
		}
		hash = this.reader.location.href.substring(hashIndex+1);
	}
	var flags = parseInt(hash.substring(0, 4), 10);
	var seqno = parseInt(hash.substring(4, 24), 10);
	var data  = hash.substring(24);

	if (this._lastHash !== hash) {
		this._lastHash = hash;
		this.log('recv: ' + hash);

		this.log(' flags: ' + flags);
		this.log(' seqno: ' + seqno + ' len: ' + hash.substring(4, 24).length + ' (' + hash.substring(4, 24) + ')');
		this.log(' data: ' + data + ' len: ' + data.length);

		this._lastSeqno = seqno;

		if (flags & this.WRITING) {
			this._accumMsg += data;
			this.sendFlag(this.ACK, seqno);
			if (flags & this.FIN) {
				this.log('recv finished: ' + decodeURIComponent(this._accumMsg));
				this.receiveCallback(decodeURIComponent(this._accumMsg));

				this._accumMsg = '';

				this.sendFlag(this.READY | this.ACK, this._lastSeqno);
			}
		}
	}

	return {
		flags: flags,
		seqno: seqno,
		data: data
	};
};

FragmentPacket.prototype.sendRawPacket = function(packet) {
	if (/MSIE/.test(navigator.userAgent)) {
		this.writer.name = packet;
	} else {

		this.writer.location.href = this.writer_url + '#' + packet;
	}

};

FragmentPacket.prototype.sendFlag = function(flag, seqno) {
	this.sendRawPacket(this._zerofill(flag, 4) + this._zerofill(seqno, 20));
};

FragmentPacket.prototype.send = function(msg) {
	this._send(0, encodeURIComponent(msg));
};

FragmentPacket.prototype._send = function(packetNum, msg) {
	var that = this;
	var recvBuf = this.recv();

	if (packetNum === 0) {

		if (!(recvBuf.flags & this.READY)) {
			this.log('client is not ready, waiting...');
			window.setTimeout(function() { that._send(packetNum, msg); }, this.WAIT_TIME);
			return;
		}
	} else {

		if (!( (recvBuf.flags & this.ACK) && (recvBuf.seqno === this._lastSeqno) )) {
			this.log('waiting for ack from client...');
			window.setTimeout(function() { that._send(packetNum, msg); }, this.WAIT_TIME);
			return;
		} else {
			this.log('received ack: ' + this._lastSeqno + ' ' + recvBuf.seqno);
		}
	}

	var flags = this.WRITING;
	var num_packets = Math.ceil(msg.length / this.MAX_DATA_LEN);
	this.log('num_packets: ' + num_packets);

	if (num_packets === packetNum) {

		this.log('message successfully sent!');
		this.sendFlag(this.READY | this.ACK, this._lastSeqno);
		return true;
	}

	this._lastSeqno++;

	if (packetNum == num_packets-1) {
		flags |= this.FIN;
	}

	var data = msg.substring(packetNum * this.MAX_DATA_LEN, (packetNum+1) * this.MAX_DATA_LEN);
	var packet = this._zerofill(flags, 4) + this._zerofill(this._lastSeqno, 20) + data;

	this.log('sending raw packet: ' + packet);
	this.sendRawPacket(packet);

	return this._send(packetNum + 1, msg);
};

FragmentPacket.prototype._zerofill = function(num, width) {
	var retval = num.toString();
	var retval_len = retval.length;
	for (var i = 0; i < width - retval_len; i++) {
		retval = '0' + retval;
	}
	return retval;
};

var PostMessagePacket = function(receiver, receiveCallback, id, receiverId) {
	var that = this;
	this.receiver = receiver;
	this.receiveCallback = receiveCallback;
	this.id = id;


	this.receiverId = receiverId;
};

PostMessagePacket.prototype.createListener = function() {
	var that = this;

	var listener = function(e) {

		if (!that.id) {
			that.id = e.data;
			return;
		}


		var id = e.data.split(';')[0];
		if (id !== that.id) {
			return;
		}
		var data = e.data.substring(e.data.indexOf(';') + 1);

		that.receiveCallback(data);
	};

	if (typeof window.attachEvent == 'function') {
		window.attachEvent('onmessage', listener);
	} else if (typeof window.addEventListener == 'function') {
		window.addEventListener('message', listener, false);
	} else {
		throw new Error('No method found to create event listener for PostMessagePacket.');
	}
};

PostMessagePacket.prototype.send = function(msg) {



	var needs_reget = false;
	try {
		if (typeof this.receiver.id == 'undefined' || typeof this.receiver.postMessage == 'undefined') {
			needs_reget = true;
		}
	} catch(e) {


	}
	if (needs_reget && typeof this.receiverId != 'undefined') {
		this.receiver = document.getElementById(this.receiverId).contentWindow;
	}

	var packet;
	if (!msg) {

		packet = this.id;
	} else {
		packet = this.id + ';' + msg;
	}
	this.receiver.postMessage(packet, '*');
};

PostMessagePacket._last_unique_id = null;
PostMessagePacket._get_unique_id = function() {
	var id = (new Date()).getTime();
	if (id == PostMessagePacket._last_unique_id) {
		id++;
	}
	PostMessagePacket._last_unique_id = id;
	return id.toString();
};

var JsonRpc = function() {

	this.ids = {};

	this.objectToJSON = function(obj) {
		var json = '';
		var results = [];

		if (obj === undefined || obj === null) {
			return 'null';
		}

		switch (obj.constructor) {
			case Object:
				for (var property in obj) {
					if (obj.hasOwnProperty(property)) {
						results.push(this.objectToJSON(property) + ': ' + this.objectToJSON(obj[property]));
					}
				}
				json = '{' + results.join(', ') + '}';
				break;
			case Array:
				for (var i = 0; i < obj.length; i++) {
					results.push(this.objectToJSON(obj[i]));
				}
				json = '[' + results.join(', ') + ']';
				break;
			case Number:
			case Boolean:
				json = obj.toString();
				break;
			case String:

				var specialChars = {'\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '\\': '\\\\'};

				json = obj.replace(/[\x00-\x1f\\]/g, function(match) {
					var ch = specialChars[match];
					return ch ? ch : '\\u00' + match.charCodeAt().toPaddedString(2, 16);
				});

				json = '"' + json.replace(/"/g, '\\"') + '"';
				break;
			default:

				json = 'null';
				break;
		}

		return json;
	};

	this.createHandler = function(send_func, registered_funcs) {
		var that = this;
		var handler = function(message) {

			try {
				var rpc = eval('(' + message + ')');
			} catch(e) {
				alert('bad JSON: ' + message);
				return;
			}
			if (rpc.method) {

				if (!registered_funcs[rpc.method]) {
					return;
				}

				var retval = registered_funcs[rpc.method].apply(null, rpc.params);
				if (rpc.id) {
					var response = {
						result: retval,
						error: null,	// TODO
						id: rpc.id
					};
					send_func(that.objectToJSON(response));
				}
			} else if(rpc.result) {

				if (!that.ids[rpc.id]) {
					return;
				}

				that.ids[rpc.id](rpc.result);
				delete that.ids[rpc.id];
			}
		};
		return handler;
	};

	this.execute = function(send_func, method, params, response_callback) {
		response_callback = response_callback || null;
		var id = (response_callback) ? (new Date()).getTime() : null;

		var request = {
			method: method,
			params: params,
			id: id
		};

		send_func(this.objectToJSON(request));

		if (id) {
			this.ids[id] = response_callback;
		}
	};
};
JsonRpc = new JsonRpc();

var ParentMessenger = function(childUrl, receiverUrl, container, receiveCallback) {


	if (navigator.userAgent.indexOf('Safari') >= 0 && parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf('Version/') + 8), 10) == 3) {
		throw new Error("unsupported.");
	} else if (window.opera) {
		throw new Error("unsupported.");
	}



	if (!receiverUrl &&
		navigator.userAgent.indexOf('Gecko') >= 0 &&
		parseFloat(navigator.userAgent.slice(navigator.userAgent.indexOf('rv:') + 3, navigator.userAgent.indexOf('rv:') + 6)) < 1.9) {
		throw new Error("unsupported.");
	}


	if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) {


		if (document.domain == window.location.hostname) {
			receiverUrl = '';
		}
	}

	var that = this;
	this.childUrl = childUrl;
	this.receiverUrl = receiverUrl;
	this.container = container || document.body;

	this.packetHandler = null;


	this._ready = false;
	this._error = false;


	var _createReceiverForFragmentPacket = function() {

		that.receiver = document.createElement('iframe');
		that.receiver.src = receiverUrl;
		that.receiver.id = 'receiver_' + (new Date()).getTime();
		that.receiver.name = that.receiver.id;

		that.receiver.frameBorder = '0';
		that.receiver.frameSpacing = '0';
		that.receiver.style.borderStyle = 'none';

		var receiver_onload = function() {
			var receiver = document.getElementById(that.receiver.id).contentWindow;

			try {
				receiver.document.body.innerHTML = '';
			} catch(e) {

				that._error = true;
			}
			receiver.document.body.style.padding = '0px';
			receiver.document.body.style.margin = '0px';

			var child = receiver.document.createElement('iframe');
			child.id = 'child';
			child.name = 'child';
			child.src = that.childUrl;

			child.frameBorder = '0';
			child.frameSpacing = '0';
			child.style.borderStyle = 'none';
			child.style.width = '100%';
			child.style.height = '100%';
			receiver.document.body.appendChild(child);

			that.child = receiver.document.getElementById('child').contentWindow;
			that.receiver = receiver;

			that.packetHandler = new FragmentPacket(that.receiver, that.child, that.childUrl, false, receiveCallback);

			that._listener = that.packetHandler.createListener();

			that.packetHandler.sendFlag(that.packetHandler.READY, 0);

			that._ready = true;
		};

		that.receiver.onreadystatechange = function() {
			if (this.readyState == 'complete') {
				receiver_onload();
			}
		};

		that.receiver.onload = receiver_onload;







		if (Dsq.Utils.ie) {
			if (that.container.clientWidth === 0) {

				var _waitForWidth = function() {
					if (that.container.clientWidth > 0) {
						Dsq.Utils.fixIframesIE(that.container.id);
					} else {
						window.setTimeout(_waitForWidth, 100);
					}
				};
				_waitForWidth();

				that._once = false;
				that.receiver.onresize = function() {
					if (!that._once) {
						Dsq.Utils.fixIframesIE(that.container.id);
					}
					that._once = true;
				};
			}
		}

		that.container.appendChild(that.receiver);
	};


	var _createReceiverForPostMessage = function() {

		var receiver_onload = function() {

			that.packetHandler.send();
			that._ready = true;
		};

		var id = PostMessagePacket._get_unique_id();
		var receiverId = 'child_' + id;


		ParentMessenger['_receiver_onload_' + receiverId] = receiver_onload;

		that.container.innerHTML += '<iframe ' +
			'src="' + childUrl + '" ' +
			'id="' + receiverId + '" ' +
			'name="' + receiverId + '" ' +
			'onload="ParentMessenger._receiver_onload_' + receiverId +'();" ' +
			'></iframe>';

		that.receiver = document.getElementById(receiverId).contentWindow;
		that.packetHandler = new PostMessagePacket(that.receiver, receiveCallback, id, receiverId);
		that._listener = that.packetHandler.createListener();
	};

	if (typeof window.postMessage == 'function') {
		_createReceiverForPostMessage();
	} else {
		_createReceiverForFragmentPacket();
	}

};

ParentMessenger.prototype.sendMessage = function(message) {
	var that = this;
	if (!this._ready) {

		window.setTimeout(function() { that.sendMessage(message); }, 10);
		return;
	}
	this.packetHandler.send(message);
	return true;
};

Dsq.NewFrames = function(url) {
	this.url = url;
};

Dsq.NewFrames.prototype.init = function(onFailure) {
	var that = this;

	try {
		this.messenger = new ParentMessenger(this.url, Dsq.jsonData.integration.receiver_url, this.container, this.receive_callback);
	} catch(e) {
		if (typeof onFailure == 'function') {
			onFailure();
		}
	}

	if (typeof onFailure == 'function') {
		var iId = window.setInterval(function() {
			if (typeof that.messenger == 'undefined') {
				window.clearInterval(iId);
				return;
			}
			if (that.messenger._ready) {
				window.clearInterval(iId);
			} else if (that.messenger._error) {
				window.clearInterval(iId);
				onFailure();
			}
		}, 10);
	}
};

Dsq.NewFrames.prototype._execute = function(method, args, callback) {
	var that = this;
	if (typeof that.messenger == 'undefined') {
		return false;
	}
	JsonRpc.execute(
		function(msg) { that.messenger.sendMessage(msg); },
		method,
		args || [],
		callback);
	return true;
};

Dsq.ReplyFrame = function(container, parent_post_id) {
	var that = this;
	this.container = container;
	this.parent_post_id = parent_post_id;

	var sendFunc = function(msg) {

		Dsq.Debug.log('Dsq.ReplyFrame.sendFunc');
		that.messenger.sendMessage(msg);
	};


	var postComment_onSuccess = function(response) {
		Dsq.jsonData.posts[response.message.id] = response.message.post_meta;
		if (!Dsq.jsonData.users[response.message.post_meta.user_key]) {
			Dsq.jsonData.users[response.message.post_meta.user_key] = response.message.user_meta;
		}


		var reply_position = (typeof(disqus_insert_wrt_sort) == 'undefined' 
			? (Dsq.jsonData.forum.reply_position ? -1 : null) 
			: (Dsq.jsonData.request.sort == 2 ? null : -1));
		
		if (response.message.post_meta.approved) {
			Dsq.Post.insert(response.message.post_meta.parent_post_id || reply_position, response.message.id, response.message.post_meta.message);
		}

		Dsq.Templates.postComment_onSuccess(response, parent_post_id, response.message.id);
	};

	var postComment_onFailure = function(response) {
		Dsq.Popup.popModal(response.message, 'Error');
		Dsq.Templates.postComment_onFailure(response, parent_post_id, response.message.id);
	};

	var editComment_onSuccess = function(response) {
		var post_id = parent_post_id;
		var message = Dsq.$('dsq-comment-message-' + post_id);
		
		message.innerHTML = response.message;
		Dsq.Templates.toggleEdit(post_id);
		Dsq.Templates.setLoadingButton(false);
	};
	
	var editComment_onFailure = function(response) {
		var post_id = parent_post_id;
		
		Dsq.Popup.popModal('Sorry, there was an error editing this comment.', 'Edit Error');
		Dsq.Templates.toggleEdit(post_id);
		Dsq.Templates.setLoadingButton(false);
	};

	var getUserByEmail_onSuccess = function(response) {
		var msg = response.message;
		var fields = Dsq.Templates.getFormFields(parent_post_id);

		if (msg.username) {

			Dsq.Templates.lightboxAuthenticate(parent_post_id, 'login', {
				'username': msg.username,
				'display_name': msg.display_name,
				'avatar_url': msg.avatar_url,
				'verified': msg.verified,
				'email': fields.email.value
			});
		} else {

			Dsq.Templates.lightboxAuthenticate(parent_post_id, 'register');
		}
	};

	var validateAuth_onSuccess = function(response, auth_choice) {
		Dsq.Templates.postComment(parent_post_id, null, true, auth_choice);
	};

	var validateAuth_onFailure = function(response, auth_choice) {
		var pid = parent_post_id ? '-' + parent_post_id : '';
		var msg = response.message;

		if (auth_choice == 'register') {
			var fields = ['email', 'username', 'password'];

			for (var i = 0; i < fields.length; i++) {
				var field = fields[i];
				var errorDiv = Dsq.$('dsq-' + field + '-errors' + pid);

				if (msg[field]) {
					errorDiv.innerHTML = msg[field];
				} else {
					errorDiv.innerHTML = '';
				}
			}
		} else if (auth_choice == 'login') {
			Dsq.$('dsq-lightbox-errors' + pid).innerHTML = '<p>We couldn\'t log you in. Please verify your login.</p>';
		}
		
		Dsq.Templates.setLoadingButton(false);
	};

	this.receive_callback = JsonRpc.createHandler(sendFunc, {
		'postComment.onSuccess': postComment_onSuccess,
		'postComment.onFailure': postComment_onFailure,
		'editComment.onSuccess': editComment_onSuccess,
		'editComment.onFailure': editComment_onFailure,		
		'getUserByEmail.onSuccess': getUserByEmail_onSuccess,
		'validateAuth.onSuccess': validateAuth_onSuccess,
		'validateAuth.onFailure': validateAuth_onFailure,
		'reload': function() { window.location.reload(); }
	});

	this.url = Dsq.Urls.REPLY +
		'?' + (new Date()).getTime() +
		'&f=winajuda' +
		'&t=apple_libera_versao_final_do_safari_4' +
		'&ff=' + Dsq.Thread.ff +
		'&default_text=' + encodeURIComponent(disqus_default_text) +
		'&ifrs=' + encodeURIComponent(disqus_iframe_css);
	if (this.parent_post_id) {
		this.url += '&parent_post=' + this.parent_post_id;
	}
};

Dsq.ReplyFrame.prototype = new Dsq.NewFrames(Dsq.ReplyFrame.url);

Dsq.ReplyFrame.prototype.post = function(author_name, author_email, author_url, authenticate, sharing_services, subscribe) {
	this._execute('postComment', [author_name, author_email, author_url, authenticate, sharing_services, subscribe]);
};

Dsq.ReplyFrame.prototype.edit = function(post_id, message) {
	this._execute('editComment', [post_id, message]);
};

Dsq.ReplyFrame.prototype.setState = function(parent_post_id, depth) {
	this._execute('setState', [parent_post_id, depth]);
};

Dsq.ReplyFrame.prototype.getUserByEmail = function(email) {
	this._execute('getUserByEmail', [email]);
};

Dsq.ReplyFrame.prototype.validateAuth = function(auth_choice, email, username, password) {
	this._execute('validateAuth', [auth_choice, email, username, password]);
};

Dsq.ReplyFrame.prototype.authenticateFacebook = function(session, forum_url) {
	this._execute('authenticateFacebook', [session, forum_url]);
};

	Dsq.Facebook = function() {
	var that = this;

	var handleSessionData = function(session) {

		var forum_url = Dsq.jsonData.forum.url;




		if (typeof disqus_facebook_forum != 'undefined') {
			forum_url = disqus_facebook_forum;
		}
		Dsq.frames.reply_0.authenticateFacebook(session, forum_url);
	};

	var onLogin = function() {
		FB.Connect.getSignedPublicSessionData(handleSessionData);
	};

	this.login = function() {
		FB.Connect.requireSession(onLogin, true);
	};
};
Dsq.Facebook = new Dsq.Facebook();


	






Dsq.Themes = {};

Dsq.Themes.narcissus = new function() {
	this.addPostContainer = 'dsq-form-area';
	this.textareaContainer = 'dsq-textarea-wrapper';



	
	this.header = function() {
		var comments_count, total_posts, num_posts;
		var html = '';
		var missing_perm_tmpl;

		if (Dsq.jsonData.request.missing_perm) {
			missing_perm_tmpl = Dsq.Templates.missingPermissions();
			if (missing_perm_tmpl) {
				html += '<div class="dsq-missing-permissions">' + missing_perm_tmpl + '</div>';
			}
		}

		total_posts = Dsq.jsonData.thread.total_posts;
		num_posts = Dsq.jsonData.thread.num_posts;

		if (total_posts) {
			comments_count = Dsq.FmtStrings.SHOWING_COMMENTS_FULL(total_posts, num_posts);
		} else {
			comments_count = Dsq.FmtStrings.SHOWING_COMMENTS_WITHOUT_PAGINATION(num_posts);
		}

		html += ' \
		<div id="dsq-comments-title"> \
			<h3>' + comments_count + '</h3> \
		</div> \
		';

		html += ' \
		<div class="dsq-options"> \
			<span class="dsq-item-sort">'
				+ Dsq.Strings.SORT_BY + ' \
				<select id="dsq-sort-select" onchange="Dsq.Thread.sortBy(this.value);"> \
					<option value="hot" ' + (Dsq.jsonData.request.sort == 4 ? 'selected="selected"' : '') + '>' + Dsq.Strings.POPULAR_NOW + '</option> \
					<option value="best" ' + (Dsq.jsonData.request.sort == 3 ? 'selected="selected"' : '') + '>' + Dsq.Strings.BEST_RATING + '</option> \
					<option value="newest" ' + (Dsq.jsonData.request.sort == 2 ? 'selected="selected"' : '') + '>' + Dsq.Strings.NEWEST_FIRST + '</option> \
					<option value="oldest" ' + (Dsq.jsonData.request.sort == 1 ? 'selected="selected"' : '') + '>' + Dsq.Strings.OLDEST_FIRST + '</option> \
				</select> \
				&nbsp; \
			</span> \
			<span class="dsq-subscribe-email"> \
				<img src="http://media.disqus.com/images/embed/email.png" style="width:12px;height:12px;vertical-align:middle"> \
				<span id="dsq-subscribe">'
					+ (Dsq.jsonData.context.subscribed
						? '<a href="#" onclick="Dsq.Thread.subscribe(0); return false">' + Dsq.Strings.UNSUBSCRIBE + '</a>'
						: '<a href="#" onclick="Dsq.Thread.subscribe(1); return false">' + Dsq.Strings.SUBSCRIBE_BY_EMAIL + '</a>')
				+ '</span> \
			</span> \
			<span class="dsq-subscribe-rss" style="width:12px;height:12px;vertical-align:middle"> \
				<img src="http://media.disqus.com/images/embed/bullet-feed.png" alt="" /> \
				<a href="http://winajuda.disqus.com/apple_libera_versao_final_do_safari_4/latest.rss">' + Dsq.Strings.SUBSCRIBE_BY_RSS + '</a> \
			</span> \
		</div> \
		';

		
		
			html += Dsq.Templates.realtime();
			html += Dsq.Templates.showThreadSettings();
			html = Dsq.Templates.postBox() + html;

		
		

		return html;

	};
	
	this.footer = function() {
		var html = '';

		html += Dsq.Templates.pagination();


		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		


		if (Dsq.jsonData.request.is_global_moderator) {
 			html += ' \
				<div class="dsq-global-moderator-extras">'
					+ '<strong>shortname:</strong> ' + Dsq.jsonData.forum.url
					+ '<strong>thread id:</strong> ' + Dsq.jsonData.thread.id
					+ '<strong>thread slug:</strong> ' + Dsq.jsonData.thread.slug
				+ '</div> \
			';
		}

		return html;
	};
	
	this.realtime = function() {
		var html = '';
		
		if (Dsq.jsonData.realtime_enabled) {
			html += '<div id="dsq-realtime-options" class="dsq-options">'
					 + Dsq.Strings.REALTIME_UPDATING_IS + ' <strong id="dsq-realtime-status" style="text-transform: lowercase">' + Dsq.Strings.ENABLED + '</strong>. \
					 <a href="#" id="dsq-realtime-toggle" style="text-transform: capitalize"></a> \
					</div>';
		}

		if (!Dsq.jsonData.forum.streaming_realtime) {
			html += ' \
				<div style="display: none" id="dsq-realtime-alert" class="dsq-realtime-alert"><span id="dsq-realtime-queued"></span> <a href="#" id="dsq-realtime-show"></a></div> \
			';
		}
		
		return html;
	};

	this.showThreadSettings = function() {
		if (!Dsq.jsonData.request.is_moderator) {
			return '';
		}

		html = '<div id="dsq-thread-settings" class="dsq-thread-settings">' + Dsq.Strings.MODERATOR_OPTIONS;
		html += '<a href="#" onclick="Dsq.Thread.showSettings(); return false;">' + Dsq.Strings.SETTINGS + '</a>';
		html += '<a href="#" onclick="Dsq.Thread.showModeratorActions(); return false;">' + Dsq.Strings.MODERATE + '</a>';
		if (Dsq.jsonData.forum.reactions_enabled && Dsq.jsonData.reactions.length === 0) {
			html += '<a href="#" onclick="Dsq.Reaction.reportMissingReactions(); return false;">'
						+ Dsq.Strings.REPORT_MISSING_REACTIONS
						+ '</a>';
		}
		html +='</div>';

		return html;
	};

	this.postBox = function(post_id, use_fallback_iframe) {


		var html;
		var display_sharing_options = Dsq.jsonData.request.is_authenticated;

		if (!Dsq.jsonData.request.is_authenticated && Dsq.jsonData.forum.disqus_auth_disabled && !Dsq.jsonData.forum.allow_anon_post) {
			return '';
		}
		
		if (Dsq.jsonData.request.is_remote) {


			if (!Dsq.jsonData.request.sharing.hasOwnProperty(Dsq.jsonData.request.remote_domain)) {
				display_sharing_options = false;
			}
		}
		
		if (post_id) {
			var _meta = Dsq.jsonData.posts[post_id];
			var userData = Dsq.jsonData['users'][_meta.user_key];				
		}
		
		var pid = post_id ? '-' + post_id : '';

		var _requestUserInfo = function() {
			var html;



			var user_has_email = false;

			html = '<div class="dsq-request-user-info"> <!-- // If authenticated --> \
				<a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.LOGOUT + '?ctkn=' + Dsq.CSRF_TOKEN + '" class="dsq-request-user-logout">' + Dsq.Strings.LOGOUT + '</a> \
				<table> \
					<tr> \
						<td rowspan="2">'
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '<a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE + '">' : '')
								+ '<img src="' + Dsq.Urls.REQUEST_USER_AVATAR + '" width="48" height="48" class="dsq-request-user-avatar">'
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '</a>' : '')
						+ '</td> \
						<td class="dsq-request-user-name">'
								+ (Dsq.jsonData.request.is_remote
									 ? '<span class="dsq-badge-small dsq-badge-' + Dsq.jsonData.request.remote_domain + '">' + Dsq.jsonData.request.remote_domain + '</span>'
									 : (Dsq.jsonData.request.is_verified
											? '<span class="dsq-badge-small dsq-badge-verified">Verified</span>'
											: '<span class="dsq-badge-small dsq-badge-registered">Registered</span>'))
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? ' <a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE + '">' : '') 
								+ Dsq.jsonData.request.display_username 
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '</a>' : '')
							+  (Dsq.jsonData.request.is_remote && user_has_email ? ' <small>(<a href="#" onclick="Dsq.Popup.remoteAccountSettings(); return false;">change settings</a>)</small>' : '')
							+  (!Dsq.jsonData.request.is_remote && !Dsq.jsonData.forum.disqus_auth_disabled ? ' <small>(<a href="' + Dsq.jsonData.settings.disqus_url + '/profile/info/" target="_blank">change name</a> ou <a href="' + Dsq.jsonData.settings.disqus_url + '/profile/avatar/" target="_blank">picture</a>)</small>' : '')
						+ '</td> \
					</tr> \
					<tr> \
						<td class="dsq-request-user-stats"> \
							<span><big>' + Dsq.jsonData.request.comments_count + '</big> ' + (Dsq.jsonData.request.comments_count == 1 ? 'comentário' : 'comments') + '</span> \
							<span><big>' + Dsq.jsonData.request.likes_count + '</big> ' + (Dsq.jsonData.request.likes_count == 1 ? 'like' : 'likes') + '</span> \
							<span><big>' + Dsq.jsonData.request.points + '</big> ' + (Dsq.jsonData.request.points == 1 ? 'point' : 'points') + '</span> \
						</td> \
					</tr> \
				</table> \
			</div> \
			';
			return html;
		};

		var _loginOptions = function() {
			var html;
			html = ' \
			<div class="dsq-authenticate"> \
				<p class="dsq-autheneticate-copy">'
				+ (Dsq.jsonData.forum.allow_anon_post
					? Dsq.Strings.YOU_ARE_COMMENTING_AS_A + ' <a class="dsq-help" title="Click for more information" href="#" onclick="Dsq.Popup.helpBadges(); return false">Guest</a>. ' + Dsq.Strings.OPTIONAL + ': ' + Dsq.Strings.LOGIN_BELOW + '.'
					: Dsq.Strings.REQUIRED + ': ' + Dsq.Strings.PLEASE_LOGIN_BELOW_TO_COMMENT + '.')
				+ '</p> \
				<ul class="dsq-login-buttons">'
					+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Popup.login(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-disqus.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_fb_connect ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Facebook.login(); return false;"><img src="http://media.disqus.com/images/themes/narcissus/login-facebook.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_twitter_signin ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Twitter.startTwitterConnect(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-twitter.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_openid ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.OpenID.requestURL(); return false" ><img src="http://media.disqus.com/images/themes/narcissus/login-openid.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_yahoo ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Yahoo.startYahooConnect(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-yahoo.gif" /></a></li>' : '')
				+ '</ul> \
			</div> \
			';
			return html;
		};

		if (!Dsq.jsonData.context.show_reply) {


			if (!Dsq.jsonData.request.is_authenticated) {



				return '<div id="dsq-form-area" style="display:none"><div id="dsq-textarea-wrapper"></div></div>' + _loginOptions();
			} else {
				return '';
			}
		}

		html = ' \
		<div id="' + (post_id 
			? 'dsq-reply-post-' + post_id
			: 'dsq-new-post')
		 	+ '" class="dsq-post-area"> \
			<div class="dsq-dc-logo"> \
				<a href="http://disqus.com/comments" target="_blank"><img src="http://media.disqus.com/images/themes/narcissus/disqus-logo.png"></a> \
			</div>'
			+ (post_id 
				? '<h3>' + Dsq.Strings.REPLYING_TO + ' ' + userData.display_name + '</h3>'
				: '<h3>' + Dsq.Strings.ADD_NEW_COMMENT + '</h3>')
			+ (Dsq.jsonData.request.is_authenticated 
				? _requestUserInfo()
				: _loginOptions() )
			+ '<div id="dsq-form-area' + pid + '">'
			+ '<div class="dsq-textarea"> \
				<div class="dsq-textarea-wrapper" id="dsq-textarea-wrapper' + pid + '"></div> \
			</div>'
			+ (!Dsq.jsonData.request.is_authenticated
			? ' \
			<div class="dsq-post-fields"> \
				<table> \
					<tr> \
						<td class="dsq-post-fields-left"><div class="dsq-input-wrapper"><input id="dsq-field-name' + pid + '" type="text" value="' + (disqus_def_name ? disqus_def_name : (Dsq.jsonData.session.name ? Dsq.jsonData.session.name : Dsq.Strings.NAME + '" class="dsq-placeholder')) + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'name\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'name\')" /></div></td> \
						<td class="dsq-post-fields-right"><div class="dsq-input-wrapper"><input id="dsq-field-website' + pid + '" type="text" value="' + (Dsq.jsonData.session.url ? Dsq.jsonData.session.url : Dsq.Strings.WEBSITE + ' (' + Dsq.Strings.OPTIONAL.toLowerCase() + ')" class="dsq-placeholder') + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'website\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'website\')" /></div></td> \
					</tr> \
					<tr> \
						<td class="dsq-post-fields-left"><div class="dsq-input-wrapper"><input id="dsq-field-email' + pid + '" type="text" value="' + (disqus_def_email ? disqus_def_email : (Dsq.jsonData.session.email ? Dsq.jsonData.session.email : Dsq.Strings.EMAIL + '" class="dsq-placeholder')) + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'email\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'email\')" /></div></td> \
						<td class="dsq-post-fields-right"> \
							<div class="dsq-subscribe"> \
								<a href="#" onclick="Dsq.Templates.chooseSubscribe(' + post_id + '); return false" class="dsq-subscribe-menu"><span id="dsq-subscribe-select' + pid + '">' + (Dsq.jsonData.request.subscribe_on_post ? Dsq.Strings.SUBSCRIBE_TO_ALL_COMMENTS_BY_EMAIL : Dsq.Strings.DO_NOT_SUBSCRIBE_TO_COMMENTS) + '</span> <small>&#9660;</small></a> \
								<ul class="dsq-panel" id="dsq-subscribe-menu' + pid + '"> \
									<li><a href="#" onclick="Dsq.Templates.setSubscribe(2, this, ' + post_id + '); return false">' + Dsq.Strings.SUBSCRIBE_TO_ALL_COMMENTS_BY_EMAIL + '</a></li> \
									<li><a href="#" onclick="Dsq.Templates.setSubscribe(0, this, ' + post_id + '); return false">' + Dsq.Strings.DO_NOT_SUBSCRIBE_TO_COMMENTS + '</a></li> \
								</ul> \
								<input id="dsq-subscribe-on-post' + pid + '" type="hidden" value="' + Dsq.jsonData.request.subscribe_on_post + '" /> \
							</div> \
						</td> \
					</tr> \
				</table> \
			</div>'
			: '')
			+ '<div class="dsq-post-footer"> \
				<div class="dsq-sharing-options" ' + (!display_sharing_options ? 'style="display:none;"' : '') + '> \
					<button type="button" class="dsq-button-small" onfocus="document.getElementById(\'dsq-post-button' + pid + '\').focus();"><span>' + Dsq.Strings.SHARING_OPTIONS + ' <small>&#9660;</small></span></button> \
					<div class="dsq-panel"> '
						+ (Dsq.jsonData.request.sharing.twitter !== undefined
								&& Dsq.jsonData.request.sharing.twitter.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-twitter' + pid + '"'
								  + (Dsq.jsonData.request.sharing.twitter.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-twitter' + pid + '">' + Dsq.Strings.SHARE_ON + ' Twitter</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.facebook
								&& (Dsq.jsonData.request.sharing.facebook.enabled === true ||
										(Dsq.jsonData.request.is_remote && Dsq.jsonData.request.remote_domain == 'facebook'))
							? '<div><input type="checkbox" id="dsq-sharing-facebook' + pid + '"'
									+ (Dsq.jsonData.request.sharing.facebook.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-facebook' + pid + '">' + Dsq.Strings.SHARE_ON + ' Facebook</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.yahoo !== undefined
								&& Dsq.jsonData.request.sharing.yahoo.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-yahoo' + pid + '"'
									+ (Dsq.jsonData.request.sharing.yahoo.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-yahoo' + pid + '">' + Dsq.Strings.SHARE_ON + ' Yahoo!</label> \
								</div>'
							: '')
						+ (Dsq.jsonData.request.sharing.tumblr !== undefined
								&& Dsq.jsonData.request.sharing.tumblr.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-tumblr' + pid + '"'
									+ (Dsq.jsonData.request.sharing.tumblr.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-tumblr' + pid + '">' + Dsq.Strings.SHARE_ON + ' Tumblr</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.wordpress !== undefined
								&& Dsq.jsonData.request.sharing.wordpress.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-wordpress' + pid + '"'
									+ (Dsq.jsonData.request.sharing.wordpress.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-wordpress' + pid + '">' + Dsq.Strings.SHARE_ON + ' Wordpress</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.movabletype !== undefined
							  && Dsq.jsonData.request.sharing.movabletype.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-movabletype' + pid + '"'
									+ (Dsq.jsonData.request.sharing.movabletype.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-movabletype' + pid + '">' + Dsq.Strings.SHARE_ON + ' Movable Type</label> \
							   </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.typepad !== undefined
							  && Dsq.jsonData.request.sharing.typepad.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-typepad' + pid + '"'
									+ (Dsq.jsonData.request.sharing.typepad.auto === true ? 'checked=true' : '') + '/> \
								  <label for="dsq-sharing-typepad' + pid + '">' + Dsq.Strings.SHARE_ON + ' TypePad</label> \
							   </div>'
							: '')
						+ '<div><a href="' + Dsq.jsonData.settings.disqus_url + '/profile/connections/" target="_blank" class="dsq-configure-options">' + Dsq.Strings.CONFIGURE_OPTIONS + '</a></div>'
					+ '</div> \
				</div>'
				+ '<button type="button" class="dsq-button" id="dsq-post-button' + pid + '" onclick="Dsq.Templates.postComment(' + post_id + ', this, false)"><span>' + Dsq.Strings.POST_AS + ' '
				+ (Dsq.jsonData.request.display_username
					? Dsq.jsonData.request.display_username
					: Dsq.Strings.GUEST)
				+ '</span></button>'
				+ (post_id
					? '<button type="button" class="dsq-button" id="dsq-cancel-button' + pid + '" onclick="Dsq.Post.toggleReply(' + post_id +', this)"><span>' + Dsq.Strings.CANCEL + '</span></button>'
					: '')
			+ '</div>'
			+ '</div>' // end dsq-form-area
		+ '</div> \
		';
		
		return html;
	};




	this.appendPost = function(post_id) {
		var html = '<div id="dsq-append-post-' + post_id + '"></div>';
		return html;
	};

	this.postPrependHeader = function(post_id) {
		var html;
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		
		html = ' \
		<table> \
			<tr> \
				<td id="dsq-header-avatar-' + post_id + '" class="dsq-header-avatar" onmouseover="Dsq.Post.dropProfile(' + post_id + ')"> \
					<a id="dsq-avatar-' + post_id + '" class="dsq-avatar" href="' + userData.url + '" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">'
					+ (Dsq.jsonData.forum.show_avatar
					? '<img src="' + Dsq.jsonData.users[_meta.user_key].avatar + '" alt="" />'
					: '')
				+ '</a> \
				</td> \
				<td class="dsq-comment-header-meta"> \
		';

		
		return html;
	};
	
	this.postAppendHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var html;
		var parent_display_name = '';
		
		if(_meta.parent_post_id) {

			var _parent_meta = Dsq.jsonData.posts[_meta.parent_post_id];

			if (_parent_meta) {
				var parentUserData = Dsq.jsonData['users'][_parent_meta.user_key];
				parent_display_name = parentUserData.display_name;
			}
		}

		html = ' \
		<img src="http://media.disqus.com/images/themes/narcissus/moderator.png" class="dsq-moderator-star" title="Moderator" /> \
		<span class="dsq-comment-header-time"><a href="#comment-' + post_id + '" onclick="Dsq.Popup.permalink(' + post_id + ')" title="Permalink">' + (_meta.is_realtime ? Dsq.Strings.JUST_NOW : _meta.date) + '</a></span> '
		+ (_meta.parent_post_id && parent_display_name
			? '<a onclick="Dsq.Post.showParent(' + _meta.parent_post_id + '); return false" href="#comment-' + _meta.parent_post_id + '" title="Jump to comment">' + Dsq.Strings.IN_REPLY_TO + ' ' + parent_display_name + '</a>'
			: '')
		+ '</td> \
		<td id="dsq-like-pts-' + post_id + '" class="dsq-comment-header-likes">'
		+ (_meta.points
			? _meta.points + Dsq.Utils.pluralize(_meta.points, ' person', ' people') + ' liked this.'
			: '')
		+ '</td> \
		</tr> \
		</table> \
		';
		return html;
	};

	this.preBody = function(post_id) {
		var html = '';
		return html;
	};

	this.postFooter = function(post_id) {
		var html;
		var _meta = Dsq.jsonData.posts[post_id];
		if(_meta.killed || !_meta.approved) { return ''; }
		
		html = ' \
		<div class="dsq-comment-footer" id="dsq-comment-footer-' + post_id + '"> \
			<div class="dsq-comment-footer-left">'
				+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator
					? '<a href="#" onclick="Dsq.Templates.moderateOptions(' + post_id+ '); return false">' + Dsq.Strings.MODERATE + '</a>'
					: '')
				+ '<a href="#" id="dsq-post-report-' + post_id + '" class="dsq-post-report" onclick="Dsq.Post.report(' + post_id + ', false); return false;">' + Dsq.Strings.FLAG + '</a> \
			</div> \
			<div class="dsq-comment-footer-right">'
				+ (_meta.votable 
					? '<span id="dsq-like-' + post_id + '" class="dsq-like">'
					+ (!_meta.up_voted
						? '<button type="button" class="dsq-button-small" onclick="Dsq.Post.rate(this, ' + post_id + ', 1)" >Gostei</button>'
						: 'Você gostou deste comentário.&nbsp;&nbsp;')
					+ '</span>'
					: '')
				+ (_meta.can_reply && !_meta.has_replies && _meta.from_request_user
					? '<button type="button" class="dsq-button-small dsq-post-edit" onclick="Dsq.Post.edit(this, ' + post_id + ')" >' + Dsq.Strings.EDIT + '</button>'
					: '')
				+ (_meta.can_reply
					? '<span class="dsq-comment-footer-reply" id="dsq-comment-footer-reply-' + post_id + '" onclick="Dsq.Post.toggleReply(' + post_id +', this)"> \
						<button type="button" class="dsq-button-small">' + Dsq.Strings.REPLY + '</button> \
						<button type="button" class="dsq-comment-footer-reply-tab">' + Dsq.Strings.REPLY + '</button><span></span> \
					</span>'
					: '')
			+ '</div> \
		</div> \
		';
		
		return html;
	};



	
	this.showRetweets = function(id, limit, element_id /* Optional */) {
		var source, html = '';

		for (var i = 0, reaction; reaction = Dsq.jsonData.reactions[i]; i++) {
			if (reaction.id === id) {
				source = reaction.retweets;
			}
		}

		if (source) {
			if (limit === 0) {
				limit = source.length;
			}

			for (var j = 0; j < limit; j++) {
				var rt = source[j];
				html += '<a href="' + rt.url + '">' + rt.author_name + '</a>'	+ ((j === (limit - 1)) ? '.' : ', ');
			}
		}

		if (element_id === undefined) {
			return html;
		}

		var element = document.getElementById(element_id);
		element.innerHTML = html;
		return element;
	};

	this.showMoreReactions = function(reactions, has_more, start, limit) {
		var link = document.getElementById('dsq-show-more-reactions');
		var container = link.parentNode;
		container.removeChild(link);

		for (var i = 0, reaction; reaction = reactions[i]; i++) {
			var el = Dsq.Templates.generateReactionHTML(reaction);
			if (el) {
				container.innerHTML += el;
			}
		}

		if (has_more) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = start;
			var l = limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			container.innerHTML += '<li id="dsq-show-more-reactions" class="dsq-show-more-reactions"><button type="button" class="dsq-button-small" onclick="' + handler + '">Show more reactions</button></li>';
		}
	};

	this.generateReactionHTML = function(reaction) {
		if (reaction.body === null || reaction.body == '') {
			return;
		}

		if (reaction.author_name === '') {
			reaction.author_name = '&nbsp;';
		}

		if (reaction.url === '') {
			reaction.url = reaction.get_service_url;
		}

		var item = '<li class="dsq-comment dsq-reaction" id="dsq-reaction-' + reaction.id + '">'
			+ '<div class="dsq-comment-header"> \
			<table> \
			<tr> \
			<td class="dsq-header-avatar"> \
			';

		if (reaction.author_url && reaction.author_url !== '') {
			item += '<a target="_blank" href="' + reaction.author_url +'" class="dsq-avatar">';
		}

		if (reaction.avatar_url && reaction.avatar_url !== '') {
			item += '<img src="' + reaction.avatar_url + '"/>';
		} else {

			item += '<img src="' + Dsq.jsonData.media_url + '/images/noavatar92.png"/>';
		}

		var service_icon = (reaction.get_service_name == 'trackback' || reaction.get_service_name == 'pingback' ? 'rss' : reaction.get_service_name.replace(' ', ''));
		item += (reaction.author_url && reaction.author_url !== ''
				? '</a>'
				: '')
			+ '</td>'
			+ '<td><cite class="dsq-comment-cite">' + reaction.author_name + '</cite> <span class="dsq-comment-header-time">' + reaction.date_created + '</span></td>'
			+ '<td class="dsq-comment-header-likes"></td>'
			+ '</tr></table></div>' // end dsq-comment-header
			+ '<div class="dsq-reaction-header" \
				<table> \
					<tr> \
						<td class="dsq-reaction-header-left">'
							+ '<img class="dsq-service-icon" src="' + Dsq.jsonData.media_url + '/images/reactions/services/' + service_icon + '.png" />'
							+ ' From <a class="dsq-service-name" target="_blank" href="' + reaction.url + '">' + reaction.get_service_name + '</a> '
							+ 'via <a href="' + reaction.source_url + '">' + (reaction.source == 'backtype' ? 'BackType' : 'UberVU') + '</a>'
						+ '</td>'
						+ '<td class="dsq-reaction-header-right">';

			if(reaction.retweets) {
				var num_retweets = reaction.retweets.length;
				if (num_retweets > 0) {
					if (num_retweets == 1) {
						item += 'One more retweet from <a href="' + reaction.retweets[0].url + '">'  + reaction.retweets[0].author_name + '</a>';
					} else {
						item += (num_retweets + ' more retweets from ');
						item += '<span id="dsq-reaction-retweets-' + reaction.id + '">';
						var n_tweets = (num_retweets > 3) ? 3 : num_retweets;
						item += Dsq.Templates.showRetweets(reaction.id, n_tweets);
						if (n_tweets != num_retweets) {
							item += '</span> <a onclick="Dsq.Templates.showRetweets(' + reaction.id + ', 0, \'dsq-reaction-retweets-' + reaction.id + '\');'
								+ 'this.parentNode.removeChild(this); return false;" href="#">Show all</a>';
						}
					}
				}
			}	
			item += '</td></tr> \
			</table> \
			</div>' // end dsq-reaction-header
			+ '<div class="dsq-comment-body"> \
				<div class="dsq-comment-message">' + reaction.body + '</div>'
			+ '</div> \
			<div class="dsq-comment-footer"> \
				<div class="dsq-comment-footer-left"> \
				</div>'
				+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator 
					? ' \
					<div class="dsq-comment-footer-right"> \
						<button type="button" class="dsq-button-small dsq-hide-reaction" onclick="Dsq.Reaction.hide(' + reaction.id + ')">Hide</button> \
					</div>'
					: '')
			+ '</div>'
		item += '</li>'; /* Reaction HTML ends */
		return item;
	};

	this.reactions = function() {
		var html, reaction;

		if (Dsq.jsonData.reactions === undefined || Dsq.jsonData.reactions.length === 0) {
			return '';
		}

		html = '';
		for (var i = 0; reaction = Dsq.jsonData.reactions[i]; i++) {
			var item = Dsq.Templates.generateReactionHTML(reaction);
			if (item) {
				html += item;
			}
		}

		if (Dsq.jsonData.has_more_reactions) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = Dsq.jsonData.reactions_start;
			var l = Dsq.jsonData.reactions_limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			html += '<li id="dsq-show-more-reactions" class="dsq-show-more-reactions"><button type="button" class="dsq-button-small" onclick="' + handler + '">Show more reactions</button></li>';
		}

		return '<h3 id="dsq-reactions-title" class="dsq-h3-reactions">Reactions</h3><ul id="dsq-reactions" class="dsq-reactions">' + html + '</ul>';
	};
	
	this._popupGeneric = function(content) {
		return ' \
		<div class="dsq-popup-container"> \
			<table> \
				<tbody> \
					<tr> \
						<td class="dsq-popup-tl"></td><td class="dsq-popup-b"></td><td class="dsq-popup-tr"></td> \
					</tr> \
					<tr> \
						<td class="dsq-popup-b"></td> \
						<td class="dsq-popup-body"> \
							<div class="dsq-popup-content"> \
								<div class="dsq-popup-title"> \
									<button type="button" class="dsq-button-small" style="float:right" onclick="Dsq.Popup._closePopup(null, true)">Close</button>'
									+ content['header'] 
								+ '</div>'
								+ content['body']
							+ '</div> \
							<div class="powered-by"><a href="http://disqus.com/comments/">Powered by <img src="http://media.disqus.com/images/embed/disqus-logo.png" alt="Disqus Comments" style="margin-bottom:-5px" /></a></div> \
						</td> \
						<td class="dsq-popup-b"></td> \
					</tr> \
					<tr> \
						<td class="dsq-popup-bl"></td><td class="dsq-popup-b"></td><td class="dsq-popup-br"></td> \
					</tr> \
				</tbody> \
			</table> \
		</div> \
		';
	};



	
	this.chooseSubscribe = function(post_id) {

		var pid = post_id ? '-' + post_id : '';
		var menu = Dsq.$('dsq-subscribe-menu' + pid);
		
		menu.style.display = menu.style.display == 'block' ? 'none' : 'block';
		
	};
	
	this.setSubscribe = function(value, el, post_id) {

		var pid = post_id ? '-' + post_id : '';
		var input = Dsq.$('dsq-subscribe-on-post' + pid);
		var select = Dsq.$('dsq-subscribe-select' + pid);
		var menu = Dsq.$('dsq-subscribe-menu' + pid);
		
		select.innerHTML = el.innerHTML;
		input.value = value;
		this.chooseSubscribe(post_id);
	};
	
	this.getFormFields = function(post_id) {

		var fields = {};
		var pid = post_id ? '-' + post_id : '';
		var name = Dsq.$('dsq-field-name' + pid);
		var email = Dsq.$('dsq-field-email' + pid);
		var website = Dsq.$('dsq-field-website' + pid);
		var username = Dsq.$('dsq-field-username' + pid);
		var password = Dsq.$('dsq-field-password' + pid);

		fields = {
			'name': name,
			'email': email,
			'website': website,
			'username': username,
			'password': password
		}
		
		return fields;
	}
	
	this.validateFields = function(post_id) {
		
		if(Dsq.jsonData.request.is_authenticated) { return true; }
		
		var fields = Dsq.Templates.getFormFields(post_id);
		
		var nameField = fields.name;
		var websiteField = fields.website;
		var emailField = fields.email;
		
		websiteField.value = (websiteField.value == Dsq.Templates.placeholder['website']) ? '' : websiteField.value;
		
		var v = [{

			validator: Dsq.Validators.name,
			value: nameField.value
		}, {

			validator: Dsq.Validators.email,
			value: emailField.value
		}, {

			validator: Dsq.Validators.url,
			value: websiteField.value
		}];
		
		return Dsq.Validators.validate(v, function(e) { Dsq.Popup.popModal(e, 'Oops...') } );
	};
	
	this.checkExistingUser = function(post_id) {
		var fields = Dsq.Templates.getFormFields(post_id);		
		Dsq.Popup.loading(post_id);
		
		if (post_id) {
			Dsq.frames['reply_' + post_id].getUserByEmail(fields.email.value);
		} else {
			Dsq.frames['reply_0'].getUserByEmail(fields.email.value);
		}
	};

	this.validateAuth = function(el_clicked, post_id, auth_choice) {
		var fields = Dsq.Templates.getFormFields(post_id);
		var email = fields.email ? fields.email.value : '';
		var username = fields.username ? fields.username.value : '';
		var password = fields.password ? fields.password.value : '';
		
		Dsq.Templates.setLoadingButton(el_clicked, post_id);
		
		if (post_id) {
			Dsq.frames['reply_' + post_id].validateAuth(auth_choice, email, username, password);
		} else {
			Dsq.frames['reply_0'].validateAuth(auth_choice, email, username, password);
		}
	};

	this.lightboxUpdateEmail = function(post_id, new_email) {
		var fields = Dsq.Templates.getFormFields(post_id);
		fields.email.value = new_email;
	};

	this.lightboxAuthenticate = function(post_id, auth_choice, auth_data) {
		var title, body;
		var pid = post_id ? '-' + post_id : '';

		if(typeof(auth_data) == 'undefined') {
			var auth_data = Dsq.Templates.getFormFields(post_id);
		}

		d = auth_data;

		switch(auth_choice) {
			case 'register':
				var suggestedUsername = d.name.value.replace(/[^a-zA-Z0-9-]/g,'').toLowerCase();
			
				title = Dsq.jsonData.forum.allow_anon_post ? 'Optional:' : 'Required:';
				title += ' Register a <img src="http://media.disqus.com/images/embed/disqus-profile.png" alt=Disqus Profile" />';

				body = ' \
				<ul class="dsq-lightbox-register-reasons"> \
				<li>Verify your comments</li> \
				<li>Edit and delete comments</li> \
				<li>Manage comments and replies</li> \
				</ul> \
				';

				body += ' \
				<div class="dsq-lightbox-auth-fields"> \
					<table> \
						<tr> \
							<td>Email</td> \
							<td><input type="text" value="' + d.email.value + '" onchange="Dsq.Templates.lightboxUpdateEmail(' + post_id + ', this.value)" /><div id="dsq-email-errors' + pid + '"></div></td> \
						</tr> \
						<tr> \
							<td>Username</td> \
							<td><input id="dsq-field-username' + pid + '" type="text" value="' + suggestedUsername + '"/><div id="dsq-username-errors' + pid + '"></div></td> \
						</tr> \
						<tr> \
							<td>Password</td> \
							<td><input id="dsq-field-password' + pid + '" type="password" /><div id="dsq-password-errors' + pid + '"></div></td> \
						</tr> \
					</table> \
					<div class="dsq-lightbox-switch-auth"><a href="#" onclick="Dsq.Templates.lightboxAuthenticate(' + post_id + ',\'login\'); return false">Login instead</a></div> \
				</div> \
				<div id="dsq-lightbox-errors' + pid + '" class="dsq-lightbox-errors"></div> \
				<div class="dsq-lightbox-submit"> \
					<div class="dsq-lightbox-auth-post"><button type="button" class="dsq-button" onclick="Dsq.Templates.validateAuth(this, ' + post_id + ',\'' + auth_choice + '\')">Register and Post comment</button></div>'
					+ (Dsq.jsonData.forum.allow_anon_post
						? '<div class="dsq-lightbox-auth-skip"><button type="button" class="dsq-button-small" onclick="Dsq.Templates.postComment(' + post_id + ', this, true)">Just post as a Guest</button></div>'
						: '')
				+ '</div> \
				';
				break;
			case 'login':
				title = Dsq.jsonData.forum.allow_anon_post ? 'Optional:' : 'Required:';
				title += ' Login to your <img src="http://media.disqus.com/images/embed/disqus-profile.png" alt=Disqus Profile" />';
				body = '';
				
				if(d.avatar_url) {
					body += '<div class="dsq-lightbox-recognized"><table><tr>';
					body += '<td><img src="' + d.avatar_url + '" alt="" /></td>';
					body += '<td><span class="dsq-badge ' + (d.verified ? 'dsq-badge-verified' : 'dsq-badge-registered') + '">' + (d.verified ? 'Verified' : 'Registered') + '</span></td>';
					body += '<td>Hey <strong>' + d.display_name + '</strong>, is that you? Login below to claim this comment.';
					body += '</tr></table></div>';
				}

				body += ' \
				<div class="dsq-lightbox-auth-fields"> \
					<table> \
						<tr> \
							<td>Username or Email</td> \
							<td><input id="dsq-field-username' + pid + '" type="text" value="' + (d.avatar_url ? d.username : '') + '" /></td> \
						</tr> \
						<tr> \
							<td>Password <a href="http://disqus.com/forgot" target="_blank">(cannot log in?)</a></td> \
							<td><input id="dsq-field-password' + pid + '" type="password" /></td> \
						</tr> \
					</table> \
					<div class="dsq-lightbox-switch-auth"><a href="#" onclick="Dsq.Templates.lightboxAuthenticate(' + post_id + ',\'register\'); return false">Register instead</a></div> \
				</div> \
				<div id="dsq-lightbox-errors' + pid + '" class="dsq-lightbox-errors"></div> \
				<div class="dsq-lightbox-submit"> \
					<div class="dsq-lightbox-auth-post"><button type="button" class="dsq-button" onclick="Dsq.Templates.validateAuth(this, ' + post_id + ',\'' + auth_choice + '\')">Login and Post comment</button></div>'
					+ (Dsq.jsonData.forum.allow_anon_post
						? '<div class="dsq-lightbox-auth-skip"><button type="button" class="dsq-button-small" onclick="Dsq.Templates.postComment(' + post_id + ', this, true)">Just post as a Guest</button></div>'
						: '')
				+ '</div> \
				';
				break;
			default:
				break;
		}
		Dsq.Popup.lightbox(body, title, post_id);
		Dsq.$('dsq-field-username' + pid).focus();
	};
	
	this.buttonsToRestore = [];
	this.setLoadingButton = function(btn, post_id) {
		var pid = post_id ? '-' + post_id : '';
		if (btn) {

			var loadingBtn = document.createElement('button');
			loadingBtn.id = btn.id + '-loading';
			loadingBtn.innerHTML = '<img src="http://media.disqus.com/images/loading-lite.gif" alt="" /> ' + Dsq.Strings.JUST_A_MOMENT;
			loadingBtn.className = btn.className + ' dsq-post-loading';
			btn.parentNode.appendChild(loadingBtn);
			btn.style.display = 'none';
			var cancelBtn = Dsq.$('dsq-cancel-button' + pid);
			if(cancelBtn) { cancelBtn.style.display = 'none'; this.buttonsToRestore.push(cancelBtn); }
			this.buttonsToRestore.push(btn);
		} else {

			var buttons = this.buttonsToRestore;
			for(var i = 0; i < buttons.length; i++) {
				buttons[i].style.display = 'inline';
				Dsq.Utils.deleteNode(Dsq.$(buttons[i].id + '-loading'));
			}
		}
		
	};

	this.postComment = function(post_id, el_clicked, force, auth_choice) {
		var append_id = post_id ? '-' + post_id : '';
		var fields = Dsq.Templates.getFormFields(post_id);

		if (Dsq.Templates.validateFields(post_id)) {

			if (!Dsq.jsonData.request.is_authenticated && !force &&
				((!Dsq.Utils.readCookie('skipped_auth') && !disqus_skip_auth && !Dsq.jsonData.forum.disqus_auth_disabled) || !Dsq.jsonData.forum.allow_anon_post)) {
				Dsq.Templates.checkExistingUser(post_id);
				return false;
			}
			var params = [];
			if (!Dsq.jsonData.request.is_authenticated) {
				params.push(fields.name.value,
					fields.email.value,
					fields.website.value);

				if (auth_choice == 'login' || auth_choice == 'register') {
					params.push({
						auth_choice: auth_choice,
						username: fields.username.value,
						password: fields.password.value,
						email: fields.email.value
					});
				} else {
					params.push(null);
				}

				params.push(null /* sharing options */, Dsq.$('dsq-subscribe-on-post' + append_id).value);
			} else {
				var service_checked = function(name) {
					var el = Dsq.$('dsq-sharing-' + name + append_id);
					return (el !== null && el.checked === true) ? '1' : '0';
				};
				params.push(null, null, null, null, {
					tw: service_checked('twitter'),
					fb: service_checked('facebook'),
					tr: service_checked('tumblr'),
					wp: service_checked('wordpress'),
					mt: service_checked('movabletype'),
					tp: service_checked('typepad'),
					yh: service_checked('yahoo')
				});
			}

			var frame = Dsq.frames['reply_' + (post_id ? post_id : 0)];
			frame.post.apply(frame, params);

			if (el_clicked) {
				Dsq.Templates.setLoadingButton(el_clicked, post_id);
			}
			
			if (force) {
				Dsq.Utils.createCookie('skipped_auth', true);	
			}
			
		} else {
			return false;
		}
	};

	this.editComment = function(el_clicked, post_id) {
		var edited_message = Dsq.$('dsq-edit-textarea-' + post_id).value;

		Dsq.Templates.setLoadingButton(el_clicked, post_id);
		Dsq.frames['edit_' + post_id].edit(post_id, edited_message);
	};

	this.toggleEdit = function(post_id) {
		var body = Dsq.$('dsq-comment-body-' + post_id);
		var message = Dsq.$('dsq-comment-message-' + post_id);

		if (!Dsq.Post.stateEditToggled[post_id]) {


			message.style.display = 'none';
			if (Dsq.$('dsq-edit-' + post_id)) {
				Dsq.$('dsq-edit-' + post_id).style.display = 'block';
			} else {

				var edit_area = document.createElement('div');
				edit_area.id = 'dsq-edit-' + post_id;
				edit_area.className = 'dsq-edit dsq-textarea';
				edit_area.innerHTML = ' \
				<div class="dsq-textarea-wrapper"> \
					<textarea class="dsq-edit-textarea" id="dsq-edit-textarea-' + post_id + '">' + message.innerHTML + '</textarea> \
				</div> \
				<div class="dsq-save-edit"> \
					<button type="button" onclick="Dsq.Templates.editComment(this, ' + post_id + ')" class="dsq-button-small">Save Edit</button> \
				</div> \
				<div id="dsq-edit-iframe-' + post_id + '" style="display: none"></div> \
				';

				body.appendChild(edit_area);

				if (!Dsq.frames['edit_' + post_id]) {
					var _meta = Dsq.jsonData.posts[post_id];
					Dsq.frames['edit_' + post_id] = new Dsq.ReplyFrame(Dsq.$('dsq-edit-iframe-' + post_id), post_id);
					Dsq.frames['edit_' + post_id].init();
					Dsq.frames['edit_' + post_id].setState(post_id, _meta.depth);
				}
			}
		} else {

			message.style.display = 'block';
			Dsq.$('dsq-edit-' + post_id).style.display = 'none';
		}
		
		Dsq.Post.stateEditToggled[post_id] = !Dsq.Post.stateEditToggled[post_id];
	};
	
	this.edit = function(el, post_id) {

		Dsq.Templates.toggleEdit(post_id);
	};

	this.toggleReply = function(post_id, button) {
		
		if(!this.stateReplyToggled[post_id]) {

			if (Dsq.$('dsq-reply-post-' + post_id)) {
				Dsq.$('dsq-append-post-' + post_id).style.display = 'block';
			} else {
				Dsq.$('dsq-append-post-' + post_id).innerHTML = Dsq.Templates.postBox(post_id);
				var container = Dsq.$('dsq-textarea-wrapper-' + post_id);
				if (!Dsq.frames['reply_' + post_id] && container) {
					var _meta = Dsq.jsonData.posts[post_id];
					Dsq.frames['reply_' + post_id] = new Dsq.ReplyFrame(container, post_id);
					Dsq.frames['reply_' + post_id].init(function() {

						Dsq.$('dsq-append-post-' + post_id).innerHTML = Dsq.Templates.postBox(post_id, true);
						Dsq.$('dsq-form-area-' + post_id).innerHTML = '';

						var theme = (typeof disqus_frame_theme == 'undefined') ? 'default' : disqus_frame_theme;
						Dsq.Iframes.showReplyIframeInContainer(Dsq.$('dsq-form-area-' + post_id), post_id, {theme: theme});

					});
					Dsq.frames['reply_' + post_id].setState(post_id, _meta.depth);
				}
			}
			Dsq.$('dsq-append-post-' + post_id).className = 'dsq-append-post';
			Dsq.$('dsq-comment-footer-reply-' + post_id).className = 'dsq-comment-footer-reply-active';
			
		} else {

			Dsq.$('dsq-append-post-' + post_id).style.display = 'none';
			Dsq.$('dsq-append-post-' + post_id).className = '';
			Dsq.$('dsq-comment-footer-reply-' + post_id).className = 'dsq-comment-footer-reply';
		}
		
		this.stateReplyToggled[post_id] = !this.stateReplyToggled[post_id];

		if(Dsq.Utils.ie && this.stateReplyToggled[post_id]) {

		}

		Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_TOGGLED, {
			postId: post_id,
			opened: this.stateReplyToggled[post_id]
		});
	};
	
	this.moderateOptions = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		
		if(!Dsq.jsonData.request.is_moderator && !Dsq.jsonData.request.is_global_moderator) { return false; }

		var html;
		
		html = ' \
		<div class="dsq-moderate-options"> \
		<table>'
		+ (_meta.email ? '<tr><td>Email</td><td>' + _meta.email + '</td></tr>' : '')
		+ (_meta.ip ? '<tr><td>IP address</td><td>' + _meta.ip + '</td></tr>' : '')
		+ '<tr> \
			<td>Actions</td> \
			<td><ul>'
			+ (Dsq.jsonData.request.moderator_can_edit
				? '<li><a href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); Dsq.Popup._closePopup(null, true); return false;">Publicar comentário</a></li>'
				: '')
			+ '<li><a href="#" onclick="Dsq.Post.removePost(' + post_id + ', 1); Dsq.Popup._closePopup(null, true); return false;">Delete Comment</a></li> \
			<li><a href="#" onclick="Dsq.Post.reportSpam(' + post_id + '); Dsq.Popup._closePopup(null, true); return false;">Mark Spam</a></li> \
			<li><a href="#" onclick="Dsq.Popup.blacklist(' + post_id + '); return false">Block User</a></li> \
			</ul></td> \
			</table> \
		</div> \
		';
		
		html += '<p>Go to the full <a href="http://disqus.com/comments/moderate/" target="_blank">moderate panel</a> for more options.</p>';
		
		return Dsq.Popup.popModal(html, 'Moderate Options', post_id);
	};
	
	this.placeholder = {
		'class': 'dsq-placeholder',
		'name': Dsq.Strings.NAME,
		'email': Dsq.Strings.EMAIL,
		'website': Dsq.Strings.WEBSITE + ' (' + Dsq.Strings.OPTIONAL.toLowerCase() + ')'
	};
	
	this.handlePlaceholder = function(evt, el, key) {
		var placeholder = Dsq.Templates.placeholder[key];
		var className = Dsq.Templates.placeholder['class'];
		
		switch(evt.type) {
			case 'focus':
				if(el.value == placeholder) {
					el.value = '';
					el.className = '';
				}
				break;

			case 'blur':
				if(el.value == '') {
					el.value = placeholder;
					el.className = className;
				}
				break;
			default:
				break;
		}
	};
	
	this.paginate = function(page, el_clicked) {

		var extra_params = '';

		if(typeof disqus_per_page != 'undefined') {
			extra_params += '&per_page=' + disqus_per_page;
		}
		if(typeof disqus_sort != 'undefined') {
			extra_params += '&sort=' + disqus_sort;
		}

		Dsq.$('dsq-pagination').innerHTML += '<img src="http://media.disqus.com/images/loading-small.gif">';
		
		if(el_clicked) {
			Dsq.Templates.setLoadingButton(el_clicked);
		}
		
		Dsq.Utils.execScript('http://disqus.com/forums/winajuda/thread.js'
			+ '?slug='	+ 'apple_libera_versao_final_do_safari_4'
			+ '&p='		+ page
			+ extra_params);
	};
	
	
	this.rate = function(el, id, vote) {


		if(Dsq.jsonData.request.is_authenticated || Dsq.jsonData.forum.allow_anon_votes) {
			if(vote == 1) {
				Dsq.$('dsq-like-' + id).innerHTML = '<img src="http://media.disqus.com/images/loading-small.gif">';
			}
			Dsq.Utils.execScript('http://disqus.com/forums/winajuda/vote.js'
				+ '?post_id='    + id
				+ '&vote='        + vote);
		} else {
			Dsq.Popup.login('To rate, please log in');
		}
	};

	this.voted = function(post_id, points, vote) {

		Dsq.$('dsq-like-pts-' + post_id).innerHTML = points + Dsq.Utils.pluralize(points, ' person', ' people') + ' liked this.';

		if(vote) {
			Dsq.$('dsq-like-' + post_id).innerHTML = 'Você gostou deste comentário.&nbsp;&nbsp;';
		}
	};




	this.postComment_onSuccess = function(response, parent_post_id, post_id) {
		var approved = response.message.post_meta.approved;

		if (parent_post_id) {
			Dsq.Post.toggleReply(parent_post_id);
		}

		Dsq.Popup._closePopup(null, true);
		
		if (approved) {
			Dsq.Post.incrementPostCount();
			Dsq.Post.outlineComment(post_id);
		} else {			
			var unapproved_msg = 'Thanks for posting!\
	 Your comment must be approved by a moderator before appearing here.\
			';
			Dsq.Popup.popModal(unapproved_msg, 'Comment awaiting approval', post_id);
		}

		var sharing_results = response.message.sharing_results;
		var sharing_errors = '';
		for (var service in sharing_results) {
			if (sharing_results.hasOwnProperty(service) === true) {
				if (sharing_results[service].error === true) {
					sharing_errors += service + ', ';
				}
			}
		}

		if (sharing_results.facebook && sharing_results.facebook.callback) {
			FB.ensureInit(function() {
				FB.Connect.streamPublish('', sharing_results.facebook.attachment);
			});
		}

		if (sharing_errors !== '') {
			var message = 'Your comment was posted, but there were errors sharing with the following connections: ';
			message += sharing_errors.replace(/,\s$/, '');
			message += '<p><a href="' + Dsq.jsonData.settings.disqus_url + '/profile/connections" target="_blank">Configure your connections here</a></p>'
			Dsq.Popup.popModal(message, 'Sharing options');
		}

		Dsq.Templates.setLoadingButton(false);
	};

	this.postComment_onFailure = function(response, parent_post_id, post_id) {

		Dsq.Templates.setLoadingButton(false);
	};
};




// TODO: It might be faster to use string methods to find all <li (...) </li> blocks and pass to Dsq.PostHandler manually.
Dsq.CommentsHandler = function(str, head, post_id, content, tail, offset, s) {
	var prepend_post = Dsq.Templates.prependPost(post_id);
	var append_post = Dsq.Templates.appendPost(post_id);

	content = content.replace(Dsq.POST_RE, Dsq.PostHandler);
	Dsq.Templates.postLoopCounter++;
	head = Dsq.Templates.Filters.commentContainer(post_id, head);
	return prepend_post + head + content + tail + append_post;
};

Dsq.PostHandler = function(str, h_head, post_id, h_content, h_tail, b_head, b_content, b_tail, offset, s) {
	var prepend_header = Dsq.Templates.postPrependHeader(post_id);
	var append_header = Dsq.Templates.postAppendHeader(post_id);
	var prepend_body = Dsq.Templates.preBody(post_id);
	var append_body = Dsq.Templates.postBody(post_id);
	var append_footer = Dsq.Templates.postFooter(post_id);

	b_content = b_content.replace(Dsq.POST_BODY_RE, Dsq.PostBodyHandler);
	return h_head + prepend_header + h_content + append_header + h_tail + b_head + prepend_body + b_content + append_body + b_tail + append_footer;
};

Dsq.PostBodyHandler = function(str, head, post_id, content, tail, offset, s) {
	content = Dsq.Templates.Filters.commentContent(post_id, content);
	return head + content + tail;
};

Dsq.MediaPostHandler = function(str, args, offset, s) {
	args = args.split(' ');
	if(args[0] == 'seesmic') {
		return '<br />' + Dsq.Templates.mediaSeesmic(args[1], args[2]);
	}
	return '';
};


/**
 * Shorcuts
 */
Dsq.$ = function(element) { return document.getElementById(element); };
Dsq.$b = document.body || document.getElementsByTagName('body')[0];


/**
 * Dsq.Debug: Logging functions.
 */

Dsq.Debug = new function() {this.log=function(s){};this.profile=function(f){if(typeof f == 'function')return f();else return eval(f);};};


/**
 * Dsq.Urls: URL paths
 */
Dsq.Urls = new function() {
	this.LOGIN = '/profile/login/';
	this.LOGOUT = '/logout/';
	this.REPLY = 'http://winajuda.disqus.com/apple_libera_versao_final_do_safari_4/reply.html';
	this.REQUEST_USER_PROFILE = '/AnonymousUser/';
	this.REQUEST_USER_AVATAR = 'http://media.disqus.com/images/noavatar92.png';
};
// Dsq.Urls

/**
 * Dsq.Validators: Validation for form fields
 */
Dsq.Validators = new function() {
	this.VALID_EMAIL_RE = /^[a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*\@(([a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*)+\.[a-z]{2,}|([0-9]+\.){3}[0-9]+)$/i;
	this.name = function(name) {
		var error = false;

		if(typeof Dsq.Templates.placeholder !== 'undefined' &&
		   name == Dsq.Templates.placeholder.name) {
			error = true;
		}
		if(name.length <= 1) {
			error = true;
		}

		if(error) {
			return "Por favor, digite um nome para comentar.";
		} else {
			return true;
		}
	};
	this.email = function(addr) {
		if(Dsq.Validators.VALID_EMAIL_RE.test(addr)) {
			return true;
		} else {
			return "Por favor, digite um e-mail válido para comentar.";
		}
	};
	this.url = function(addr) {
		if(!addr || addr.indexOf('.') != -1) {
			return true;
		} else {
			return "Por favor, verifique a URL de seu site (este campo é opcional).";
		}
	};

	this.validate = function(bulk_validation, failure_callback) {
		failure_callback = failure_callback || function(e){ alert(e); };

		for(var i = 0; i < bulk_validation.length; i++) {
			v = bulk_validation[i];
			ret = v.validator(v.value);
			if(ret !== true) {
				failure_callback(ret);
				return false;
			}
		}
		return true;
	};
};

/**
 * Dsq.Utils: Generic utility functions.
 */
Dsq.Utils = new function() {
	this.ie = /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
	this.ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false;
	this.ie6 = (!window.XMLHttpRequest) ? true: false;
	this.webkit = navigator.userAgent.indexOf('AppleWebKit/') >= 0;
	this.gebiFromElementCollectionCache = {};
	this._styleSheet = null;

	this.gebiFromElement = function(el, id, tag) {
		// This only method only helps IE.
		if(!this.ie) {
			return Dsq.$(id);
		} else {
			var cacheKey = el.id + '-' + tag;
			tag = tag || 'div';
			if(typeof this.gebiFromElementCollectionCache[cacheKey] != 'undefined') {
				collection = this.gebiFromElementCollectionCache[cacheKey];
			} else {
				collection = el.getElementsByTagName(tag);
				this.gebiFromElementCollectionCache[cacheKey] = collection;
			}

			for(var i = 0; i < collection.length; i++) {
				if(collection[i].id == id) {
					return collection[i];
				}
			}
			return null;
		}
	};

	this.execOnReady = function(func) {
		var node = document.createElement('document:ready');
		try {
			node.doScroll('left');
			func();
			node = null;
		} catch(err) {
			setTimeout(function() { Dsq.Utils.execOnReady(func); }, 10);
		}
	};


	// Courtesy of http://www.quirksmode.org/js/cookies.html
	this.createCookie = function(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	};

	this.readCookie = function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	};

	this.eraseCookie = function(name) {
		Dsq.Utils.createCookie(name,"",-1);
	};

	this.deleteNode = function(node) {
		if(node) {
			this.deleteChildren(node);
			if(typeof node.outerHTML != 'undefined') { node.outerHTML = ''; }
			else if(node.parentNode) { node.parentNode.removeChild(node); }
			delete node;
		}
	};

	this.deleteChildren = function(node) {
		if(node) {
			for(var x = node.childNodes.length-1; x >= 0; x--) {
				var childNode = node.childNodes[x];
				if(childNode.hasChildNodes()) { this.deleteChildren(childNode); }
				if(typeof childNode.outerHTML != 'undefined') { childNode.outerHTML = ''; }
				else node.removeChild(childNode);
				delete childNode;
			}
		}
	};

	this.findPos = function(obj) {
		var curleft = 0;
		var curtop = 0;
		if (obj.offsetParent) {
			do {
				curleft += obj.offsetLeft;
				curtop += obj.offsetTop;
			} while (obj = obj.offsetParent);
		}
		return [curleft,curtop];
	};

	this.getWindowSize = function() {
		var windowWidth = -1;
		var windowHeight = -1;

		if(typeof(window.innerWidth) == 'number') { //Non-IE
			windowWidth = window.innerWidth;
			windowHeight = window.innerHeight;
		} else if(document.documentElement) { // IE 6+ in 'standards compliant mode'
			windowWidth = document.documentElement.clientWidth || document.body.clientWidth;
			windowHeight = document.documentElement.clientHeight || document.body.clientHeight;
		}

		return [windowWidth, windowHeight];
	}

	this.getScrollPos = function() {
		var scrollWidth, scrollTop;

		if(document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollWidth)) {
			scrollWidth = document.documentElement.scrollWidth;
			// IE is weird here.  If no doctype is provided, document.body.scrollTop is 0,
			// otherwise document.documentElement.scrollTop is 0.
			scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
		} else if(document.body.scrollTop && document.body.scrollWidth) {
			scrollWidth = document.body.scrollWidth;
			scrollTop = document.body.scrollTop;
		}

		return [scrollWidth, scrollTop];
	}

	this.addEventListener = function(instance, eventName, listener) {
		var listenerFn = listener;
		if (instance.addEventListener) {
			instance.addEventListener(eventName, listenerFn, false);
		} else if (instance.attachEvent) {
			listenerFn = function() {
				listener(window.event);
			};
			instance.attachEvent("on" + eventName, listenerFn);
		} else {
			throw new Error("Event registration not supported");
		}
		return {
			instance: instance,
			name: eventName,
			listener: listenerFn
		};
	};

	this.removeEventListener = function(event) {
		var instance = event.instance;
		if (instance.removeEventListener) {
			instance.removeEventListener(event.name, event.listener, false);
		} else if (instance.detachEvent) {
			instance.detachEvent("on" + event.name, event.listener);
		}
	};

	this.fixIframesIE = function(id) {
		var disqusThread = Dsq.$(disqus_container_id);
		var iframes = disqusThread.getElementsByTagName('iframe');

		if(id) {
			var container = Dsq.$(id);
		} else {
			var container = Dsq.$('dsq-content');
		}

		for(i = 0; i < iframes.length; i++) {
			if (container) {
				iframes[i].style.width = container.offsetWidth;
			}
		}
	};

	this.getElementsByClassName = function(oElm, strTagName, strClassName) {
	/* Credit: Jonathan Snook [http://www.snook.ca/jonathan], Robert Nyman [http://www.robertnyman.com] */
		var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
		var arrReturnElements = new Array();
		strClassName = strClassName.replace(/\-/g, "\\-");
		var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
		var oElement;
		for(var i = 0; i < arrElements.length; i++) {
			oElement = arrElements[i];
			if(oRegExp.test(oElement.className)) {
				arrReturnElements.push(oElement);
			}
		}
		return (arrReturnElements);
	};

	this.postToUrl = function(url, post_data, opt_redirect) {
		var form = document.createElement('form');
		var iframe_container = document.createElement('div');
		var id = 'dsq-temp-iframe-' + (new Date()).getTime();

		form.method = 'POST';
		form.action = url;
		if (!opt_redirect) {
			form.target = id;
		}
		iframe_container.innerHTML = '<iframe style="display:none" name="' + id + '" id="' + id + '"></iframe>';

		for(var key in post_data) {
			if(post_data.hasOwnProperty(key)) {
				var input = document.createElement('input');
				input.name = key;
				input.type = 'hidden';
				input.value = post_data[key];

				form.appendChild(input);
			}
		}

		Dsq.$b.appendChild(iframe_container);
		Dsq.$b.appendChild(form);
		form.submit();
	};

	// Strips integer id from id of element in the form ('some-id-###')
	this.extractId = function(e) {
		var chunks = e.id.split('-');
		if(chunks.length <= 1) {
			return 0;
		} else {
			var retval = parseInt(chunks[chunks.length-1]);
			return !isNaN(retval) ? retval : null;
		}
	};

	this.getStyle = function(el, styleProp) {
		if(el.currentStyle) {
			var y = el.currentStyle[styleProp];
		} else if(window.getComputedStyle) {
			var y = document.defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);
		}

		if(y == 'transparent' || y == '') {
			this.getStyle(el.parentNode, styleProp);
		} else {
			return y;
		}
	};

	this.execScript = function(url, append_qs, container) {
		var script = document.createElement('script');
		append_qs = typeof append_qs == 'undefined' ? true : append_qs;
		container = container || Dsq.container;

		if(append_qs) {
			var j = (url.indexOf('?') >= 0) ? '&' : '?';
			url += j + (new Date()).getTime();
		}
		script.type = 'text/javascript';
		script.charset = 'UTF-8';
		script.src = url;
		container.appendChild(script);
		return script;
	};

	this.pluralize = function(num, singular, plural) {
		return (num != 1) ? plural || 's' : singular || '';
	};

	this.getRequestParams = function(queryString /* optional */) {
		var pairs, tuple;
		var params = {};

		queryString = queryString || window.location.search.substring(1);
		pairs = queryString.split('&');

		for (var i = 0, pair; pair = pairs[i]; i++) {
			tuple = pair.split('=');
			params[tuple[0]] = (tuple[1] || true);
		}

		return params;
	};

	this.addCssRule = function(selector, styleText, index) {
		var stylesheet;
		index = index || 0;

		if(!this._styleSheet) {
			var styleEl = document.createElement('style');
			document.getElementsByTagName('head')[0].appendChild(styleEl);
			this._styleSheet = styleEl.sheet;
			if(!this._styleSheet) {
				// IE does not like our newly created stylesheet.
				this._styleSheet = document.styleSheets[document.styleSheets.length-1];
			}
		}
		stylesheet = this._styleSheet;

		if(stylesheet.insertRule) {
			var ruleText = selector + ' { ' + styleText + ' }';
			if(index == -1) {
				index = stylesheet.cssRules.length;
			}
			stylesheet.insertRule(ruleText, index);
		} else if(stylesheet.addRule) {
			stylesheet.addRule(selector, styleText, index);
		}
	};

	this.forEachIn = function(obj, callback) {
		for(var key in obj) {
			if(obj.hasOwnProperty(key)) {
				callback(key, obj[key]);
			}
		}
	};

	this._interpolateGlobalContext = {
		// values that get used a lot and are global to the request
		'profile_url': Dsq.Urls.REQUEST_USER_PROFILE,

		'disqus_url': Dsq.jsonData.settings.disqus_url,
		'media_url': Dsq.jsonData.settings.media_url,
		'request_username': Dsq.jsonData.request.username,
		'request_display_username': Dsq.jsonData.request.display_username,
		'forum_name': Dsq.jsonData.forum.name
	};

	this.renderFromContextStack = function(key, contexts) {
		// Returns the first instance of `key` in the array of objects `contexts` or else ''
		for (var i=0; i<contexts.length; i++) {
			if (contexts[i][key] !== undefined) {
				return String(contexts[i][key]);
			}
		}
		throw new Error('key ' + key + ' not found in context');
	};

	var that = this;
	this.interpolate = function(fmt, opt_localContext) {
		// Interpolate `fmt` named-format string with an assumed global context.
		// Based on `interpolate` in django.views.i18n
		var contextStack = [opt_localContext || {}, that._interpolateGlobalContext];
		return fmt.replace(/%\(\w+\)s/g, function(match){
			return that.renderFromContextStack(match.slice(2,-2), contextStack);
		});
	};

	this.stripTags = function(s) {
		// Removes HTML tags from `s`
		return s.replace(/(<([^>]+)>)/g,"");

	};

	this.assert = function(b) {
		if (!b) {
			throw new Error('Assertion error.');
		}
	};

};
// Dsq.Utils

/**
 * Dsq.Popup: Popup helper functions.
 */
Dsq.Popup = new function() {
	this.timeHide = new Array();
	this.timeShow = new Array();
	this.activePopup = {};
	this.profileCache = {};
	this.statusCache = {};

	this.showTimer = function(post_id) {
		// clear the hide timer
		clearTimeout(this.timeHide[post_id]);

		// start the timer
		if(!Dsq.Popup.profileIsOn && !Dsq.Thread.adminIsOn) {
			this.timeShow[post_id] = setTimeout("Dsq.Popup.popProfile(\"" + post_id + "\")", 400);
		}
	};

	this.hideTimer = function(post_id) {
		// clear the show timer
		clearTimeout(this.timeShow[post_id]);
	};

	this.updateProfile = function(username) {
		// Callback from /embed/profile.js
		if (this.statusCache[username]) {
			var statusEl = Dsq.$('dsq-profile-status-' + username);
			statusEl.innerHTML = this.statusCache[username];
			statusEl.style.display = 'block';
		}

		if (this.profileCache[username]) {
			var _cache = this.profileCache[username];

			var _genhtml = function(text) { return '<span><big>' + text + '</big></span>'; };
			var _no_comments = _genhtml(Dsq.FmtStrings.NUMBER_OF_COMMENTS(_cache.comments_count));
			var _no_likes = _genhtml(Dsq.FmtStrings.NUMBER_OF_LIKES(_cache.likes_count));
			var _no_points = _genhtml(Dsq.FmtStrings.NUMBER_OF_POINTS(_cache.points));

			var statsEl = Dsq.$('dsq-popup-profile-user-stats-' + username);
			statsEl.innerHTML = '';

			if (Dsq.jsonData.users[username].registered) {
				statsEl.innerHTML = _no_comments + _no_likes;
			}
			statsEl.innerHTML += _no_points;

			var activeSites = '';
			for (var i = 0; i < _cache.active_sites.length; i++) {
				var site = _cache.active_sites[i];
				activeSites += '<li><a href="' + site.url + '"> \
					<img src="' + site.favicon + '"/ width="16" height="16"/></a>\
					<a href="' + site.url + '">' + site.name + '</a></li>';
			}
			if (activeSites !== '') {
				Dsq.$('dsq-popup-profile-active-sites-' + username).innerHTML = activeSites;
			} else {
				Dsq.$('dsq-popup-profile-active-sites-' + username).innerHTML = 'This site.';
			}

			var moderatedSites = '';
			for (var i = 0; i < _cache.moderated_sites.length; i++) {
				var site = _cache.moderated_sites[i];
				moderatedSites += '<li><a href="' + site.url + '"> \
					<img src="' + site.favicon + '"/ width="16" height="16"/></a>\
					<a href="' + site.url + '">' + site.name + '</a></li>';
			}
			if (moderatedSites !== '') {
				Dsq.$('dsq-popup-profile-moderated-' + username).innerHTML = moderatedSites;
			} else {
				Dsq.$('dsq-popup-profile-moderated-wrapper-' + username).innerHTML = '';
			}
		}

		// Reposition popup after full HTML is rendered
		if(Dsq.Popup.activePopup && Dsq.Popup.activePopup.el) {
			Dsq.Popup.initPopup(Dsq.Popup.activePopup.el, Dsq.Popup.activePopup.id, Dsq.Popup.activePopup.type);
		}

	};

	this.showCookieMsgs = function() {
		var title = '';
		var message = '';
		var numAlerts = 0;

		Dsq.Utils.forEachIn(Dsq.jsonData.cookie_messages, function(k, v) {
			if (!v) return;

			switch(k) {
				// Cookie: Twitter
				case 'post_twitter':
					if (v === 'error') {
						title = 'Twitter Error!';
						message += '<li id="dsq-msg-twitter-error">Oops, we couldn\'t tweet this comment. Please check your <a href="http://disqus.com/account/services">account settings</a>.</li>';
					} else {
						var _msg = v.split(':');
						title = 'Tweeted!';
						message += '<li id="dsq-msg-twitter-success">Your comment was successfully tweeted. <a href="http://twitter.com/' + _msg[0] + '/status/' + _msg[1] + '">Click here to view the tweet</a>.</li>';
					}
					break;
				// Cookie: Unapproved Post
				case 'post_not_approved':
					title = 'Comment awaiting approval by a moderator';
					message += '<li id="dsq-msg-post-not-approved">Your comment must be approved by a moderator before appearing here.</li>';
					break;
				// Cookie: Profile Found
				case 'post_has_profile':
					title = 'Use your existing commenter profile';
					message += '<li id="dsq-msg-post-has-profile">You have just posted your commment as a <span class="dsq-badge-guest">Guest</span>, but you may already have a <span class="logo-disqus">Disqus</span> Profile.<br /><br /><a href="http://disqus.com/claim">Log in and claim this comment!</a></li>';
					break;
				case 'user_created':
					var _data = v.split(':');
					title = 'Profile created!';
					message += '<li id="dsq-msg-user-created">You have just created a <span class="logo-disqus">Disqus</span> Profile, the best way to claim, manage, and track your comments all over the web. \
					<br /><br />A confirmation is being sent to <strong>' + _data[1] + '</strong>. Please check for this email in order to verify your profile. \
					<ul class="dsq-list-tick"> \
						<li>Your username is <strong>' + _data[0] +'</strong>. <a href="http://disqus.com/people/' + _data[0] + '/" target="_blank">Click here to view your public profile</a>.</li> \
						<li>Be sure to set your profile picture, as well as connect your <span class="dsq-badge-facebook">Facebook</span> and <span class="dsq-badge-twitter">Twitter</span> accounts. <a href="http://disqus.com/account/" target="_blank">Click here for account settings</a>.</li> \
					</ul> \
					</li>'
					break;
				default:
					break;
			}
			numAlerts++;
		});

		if(numAlerts > 1) {
			message = '<ul class="dsq-list-bluebullet">' + message;
			message += '</ul>';
			title = 'Thanks for posting!';
		}
		if(numAlerts > 0) {
			if(typeof(disqus_cookie_msgs) == 'function') {
				disqus_cookie_msgs(message, title);
			} else {
				Dsq.Popup.popModal(message, title);
			}
		}
	};

	this.helpBadges = function(post_id) {
		var html = ' \
			<ul class="dsq-popup-help"> \
				<li><span class="dsq-badge dsq-badge-verified">Verified</span> has a <span class="logo-disqus">Disqus</span> Profile with a confirmed email address.</li> \
				<li><span class="dsq-badge dsq-badge-registered">Registered</span> has a <span class="logo-disqus">Disqus</span> Profile, but has not yet confirmed his or her email address.</li> \
				<li><span class="dsq-badge dsq-badge-guest">Guest</span> is not logged in with any account and has not claimed his or her comments.</li> \
				<li class="dsq-help-otheraccts">Other accounts</li> \
				<li><span class="dsq-badge dsq-badge-facebook">Facebook</span> is using his or her Facebook profile via Facebook Connect.</li> \
				<li><span class="dsq-badge dsq-badge-twitter">Twitter</span> is using his or her Twitter profile via Twitter Sign-in.</li> \
				<li><span class="dsq-badge dsq-badge-openid">OpenID</span> is using his or her OpenID.</li> \
			</ul> \
		';

		this.popModal(html, 'Help: Types of Commenters', post_id);
		return;
	};

	this.permalink = function(post_id) {
		var header = 'Link to this comment';
		var body = '<strong>You are anchored to</strong>:<br />' + document.location.protocol + '//' + document.location.host + document.location.pathname + document.location.search + '#comment-' + post_id;

		this.popModal(body, header, post_id);
	};

	this.login = function(header, body) {
		var h = header || 'Login or Register';
		var b = body || '';
		b += Dsq.Templates.frameLogin({id: 'dsq-popup-login'});
		b += '</iframe>'; // HACK: Sometimes there is something funky with the IFRAME SRC that causes no end tag
		this.popModal(b, h, null, true, 'dsq-popup-login');
	};

	this.blacklist = function(id) {
		var _meta = Dsq.jsonData.posts[id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		var title = 'Add to Blacklist';
		var message = ' \
		Adding this person to the blacklist will block him or her from commenting on this site. Check the following types that you would like to add to the blacklist:'
		+ (userData['registered'] ?
			'<div class="dsq-blacklist-option"> \
				<input id="dsq-blacklist-username" type="checkbox" checked> \
				<label for="dsq-blacklist-username"><strong>Username</strong>: ' + userData['username'] + '</label> \
			</div>'
			: '')
		+ (_meta.email ?
			'<div class="dsq-blacklist-option"> \
				<input id="dsq-blacklist-email" type="checkbox" checked> \
				<label for="dsq-blacklist-email"><strong>Email address</strong>: ' + _meta.email + '</label> \
			</div>'
			: '')
		+ '<div class="dsq-blacklist-option"> \
			<input id="dsq-blacklist-ip" type="checkbox" onclick="Dsq.$(\'dsq-blacklist-ip-warning\').style.display=\'block\'"> \
			<label for="dsq-blacklist-ip"><strong>IP address</strong>: ' + _meta.ip + '</label> \
		</div> \
		';

		message += ' \
			<p id="dsq-blacklist-ip-warning" style="display:none">	\
				Note: Blocking this person\'s IP address may also unintentionally prevent others, who share his/her IP address, from commenting on this site. \
				This may include people who are sharing the same computer, living in the same house, or using the same Internet provider. Only block an IP address as a last resort. \
			</p> \
		';

		message += ' \
			<p style="text-align:center"><button type="button" onclick="Dsq.Post.blockUser(' + id + '); this.disabled=true; this.innerHTML=\'Just one moment...\'">Add to Blacklist</button></p> \
		';

		Dsq.Popup.popModal(message, title);
	};

	this.remoteAccountSettings = function() {
		var body = '';
		// Set up IFrame.
		var params = {};
		var base_url = 'http://disqus.com/forums/winajuda/_auth/embed/remote_settings/';
		var attributes = {id: 'dsq-popup-account-settings'};
		if (typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}

		body = Dsq.Templates._frameGeneric(base_url, params, attributes);
		this.popModal(body, 'Account Settings', null, true, 'dsq-popup-account-settings');
	};

	this.popModal = function(message, title, post_id, use_listener, extra_classes) {
		var container = document.createElement('div');
		var header, body;

		Dsq.Popup._closePopup(null, true);

		if(typeof(title) == 'undefined') { title = ''; }
		if(typeof(use_listener) == 'undefined') { use_listener = true; }

		if(post_id) {
			container.id = 'dsq-popup-message-' + post_id;
		} else {
			container.id = 'dsq-popup-message';
		}

		header = title;
		body = message;

		container.innerHTML = Dsq.Templates.popupModal(header, body);
		Dsq.Popup.initPopup(container, post_id, 'message', extra_classes);
		if(use_listener) {
			Dsq.Popup.popupListener = Dsq.Utils.addEventListener(document, 'mouseup', Dsq.Popup._closePopup);
		}
	};

	this.popAlert = this.popModal;

	this.loading = function(post_id) {
		var title = Dsq.Strings.JUST_A_MOMENT;
		var body = '<div style="text-align:center; padding: 5px 0 10px 0"><img src="http://media.disqus.com/images/loading.gif" alt="" /></div>'
		Dsq.Popup.lightbox(body, title, post_id);
	};

	this.lightbox = function(message, title, post_id) {
		// Wraps Dsq.Popup.popModal

		var overlay = document.createElement('div');
		overlay.id = 'dsq-overlay';
		overlay.className = 'dsq-overlay';
		Dsq.$b.appendChild(overlay);
		
		Dsq.Popup.popModal(message, title, post_id, false, 'dsq-lightbox');
	};

	this.popProfile = function(post_id, userKey) {
		var post = Dsq.jsonData['posts'][post_id];
		if (post && post.has_been_anonymized) {
			Dsq.Popup.popModal('This message was anonymized by its previous owner.', 'Anonymized', post_id);
			return;
		}

		if(post_id) {
			userKey = Dsq.jsonData['posts'][post_id].user_key;	
		}
		var userData = Dsq.jsonData['users'][userKey];
		var elId = 'dsq-popup-profile-' + userKey;
		var container = document.createElement('div');

		if(this.activePopup.el) {
			this._closePopup(null, true);
			if(this.activePopup.linkClicked) {
				this.activePopup.linkClicked = false;
				return;
			}
		}

		container.id = elId;
		container.innerHTML = Dsq.Templates.popupProfile(userKey);

		this.initPopup(container, post_id, 'profile');
		this.popupListener = Dsq.Utils.addEventListener(document, 'mouseup', this._closePopup);

		if(!this.profileCache[userKey]) {
			Dsq.Utils.execScript('http://disqus.com/embed/profile.js'
				+ '?username=' + userKey
				+ '&anon=' + (userData['registered'] ? 0 : 1)
				+ '&f=' + Dsq.jsonData['request'].forum);
		} else {
			this.updateProfile(userKey);
		}
	};

	this._closePopup = function(e, force) {
		var activePopup = Dsq.Popup.activePopup.el;
		var id = Dsq.Popup.activePopup.id;
		var link = 'dsq-avatar-' + id; // HACK: Specific to profile toggle target

		// HACK: This event should be gone if there is no active popup.
		if(!activePopup) {
			return;
		}
		if(force || !Dsq.Popup.isClicked(e, activePopup.id)) {
			// TODO: This is breaking iE?
			if(Dsq.Popup.popupListener) {
				Dsq.Utils.removeEventListener(Dsq.Popup.popupListener);
			}
			
			// Kill overlay
			var overlay = Dsq.$('dsq-overlay');
			if(overlay) { Dsq.Utils.deleteNode(overlay); }
			
			try {
				Dsq.Utils.deleteNode(activePopup);
			} catch(e) {
				// HACK: IE6 throws an error when using deleteNode() with a node containing a <table> in the html.
				activePopup.parentNode.removeChild(activePopup);
			}
			Dsq.Popup.activePopup = {};
		}

		if(!force && Dsq.Popup.isClicked(e, link)) {
 			Dsq.Popup.activePopup.linkClicked = true;
		}

	};

	this.initPopup = function(popup, post_id, type, extra_classes) {
		popup.className = 'dsq-popup dsq-popup-' + type + ' ' + (extra_classes ? extra_classes : '');
		if(Dsq.Utils.ie6 || Dsq.Utils.ie7) {
			// HACK: We can't modify the body before it's ready, so we need
			//       to use an IE-safe "DOMReady" workaround before loading
			//       our popup.
			Dsq.Utils.execOnReady(function() {Dsq.$b.appendChild(popup); });
		} else {
			Dsq.$b.appendChild(popup);
		}

		popup.style.display = 'block';

		var xPos = (Dsq.Utils.getWindowSize()[0] - popup.offsetWidth) / 2;
		var yPos = (Dsq.Utils.getWindowSize()[1] - popup.offsetHeight) / 2;

		if(Dsq.Utils.ie6) {
			yPos += Dsq.Utils.getScrollPos()[1];
		}

		popup.style.left = xPos + 'px';
		popup.style.top = yPos + 'px';

		Dsq.Popup.activePopup = {
			'el' : popup,
			'id' : post_id,
			'type': type,
			'linkClicked' : false
		};
	};

	this.isClicked = function(e, id) {
		var t = e.target || e.srcElement;
		while(t && t.parentNode) {
			if(t.id == id) {
				return true;
			}

			t = t.parentNode;
		}
		return false;
	};
};
// Dsq.Popup

/**
 * Dsq.Templates
 */
Dsq.Templates = new function() {
	/*
	 * Counter keeping track of the number of posts iterated over.
	 */
	this.postLoopCounter = 0;
	this.filters = {};
	this.addPostContainer = 'dsq-post-add';
	this.textareaContainer = 'dsq-post-add';

	this.registerTemplate = function(name, func) {
		this['$$_' + name] = func;

		if(typeof DsqLocal.Filters != 'undefined'
		&& typeof DsqLocal.Filters[name] == 'function') {
			// Push filters to this.filters to unify code.
			this.filters[name] = this.filters[name] || [];
			this.filters[name].push(DsqLocal.Filters[name]);
		}

		this[name] = function() {
			var ret;

			if(typeof DsqLocal.Templates != 'undefined'
			&& typeof DsqLocal.Templates[name] == 'function') {
				ret = DsqLocal.Templates[name].apply(this, arguments);
			}

			if(ret === undefined) {
				ret = this['$$_' + name].apply(this, arguments);
			}

			if(this.filters[name]) {
				var args = [ret];

				args.push.apply(args, arguments);
				for(var i = 0; i < this.filters[name].length; i++) {
					ret = this.filters[name][i].apply(this, args);
				}
			}

			return ret;
		};
	};

	this.registerFilter = function(name, func) {
		this.filters[name] = this.filters[name] || [];
		this.filters[name].push(func);
	};

	/**
	 * Dsq.Templates.Filters
	 */
	this.Filters = new function() {
		this.commentContainer = function(post_id, s) {
			var _meta = Dsq.jsonData.posts[post_id];
			var classes = [];
			if(Dsq.jsonData.request.page > 1) {
				classes.push('dsq-append');
			}

			//
			// Extra classes used for custom themes
			//

			if(_meta.depth) {
				classes.push('dsq-comment-child', 'dsq-depth-' + _meta.depth, 'dsq-parent-is-' + _meta.parent_post_id);
			}


			//

			if(_meta.author_is_creator) {
				// TODO: We need to deprecate the "special" class since it is not properly prefixed.
				classes.push('special', 'dsq-special');
			}
			if(_meta.author_is_moderator) {
				classes.push('dsq-moderator');
			}
			classes.push(['dsq-odd', 'dsq-even'][Dsq.Templates.postLoopCounter % 2]);

			s = s.substring(0, s.lastIndexOf('>'));
			return s + ' class="dsq-comment ' + classes.join(' ') + '" style="margin-left:' + _meta.depth*30 + 'px">';
		};

		this.commentContent = function(post_id, s) {
			var _meta = Dsq.jsonData.posts[post_id];
			if (_meta.killed) {
				return '<em>Comentário removido.</em>';
			} else if (!_meta.approved) {
				return '<em>This comment was flagged for review.</em>';
			}

			s = s.replace(Dsq.MEDIA_POST_RE, Dsq.MediaPostHandler);
			return s;
		};
	};

	//
	// Thread
	//
	// TODO: These need to be stripped of all Django template tags.

	this.authPost = function() {
		if (!Dsq.jsonData.context.show_reply) {
			return '';
		}
		var result = [];
		result = result.concat([
				'<div id="dsq-auth"',
						Dsq.jsonData.integration.reply_position ? 'class="dsq-auth-bottom"' : '',
						'>',
					'<div class="dsq-by">',
						'<a href="http://disqus.com" target="_blank">',
							(Dsq.jsonData.integration.disqus_logo ?
								Dsq.Utils.interpolate('<img src="%(media_url)s/images/embed/by-disqus.png" alt="discussion by DISQUS">') :
								Dsq.Utils.interpolate('<img src="%(media_url)s/images/embed/dsq-button-120x19.png" alt="discussion by DISQUS">')
							),
						'</a>',
					'</div>',
					'<div class="dsq-auth-header">',
						'<h3 id="dsq-add-new-comment" class="dsq-h3-addcomment">',
								Dsq.Strings.ADD_NEW_COMMENT,
						'</h3>',
						'<div id="dsq-login">',
						(!Dsq.jsonData.request.is_authenticated && Dsq.jsonData.forum.allow_anon_post
								? '<p class="dsq-login-message" id="dsq-login-message">You are commenting as a <a class="dsq-help" title="Click for more information" href="#" onclick="Dsq.Popup.helpBadges(); return false">Guest</a>. You may select one to log into:</p>'
								: '')
		]);
		if (!Dsq.jsonData.request.is_authenticated) {
			result = result.concat([
							Dsq.Utils.interpolate(
								'<a id="dsq-login-toggle" href="%(disqus_url)s%(login_url)s?next=article:%(thread_id)s" onclick="Dsq.Popup.login(); return false"><img class="dsq-login-icon" src="%(media_url)s/images/dsq-profile-btn.png" title="%(log_into)s" alt="%(log_into)s"/></a>',
								{login_url: Dsq.Urls.LOGIN, thread_id: Dsq.jsonData.thread.id, log_into: Dsq.Strings.LOG_INTO_DISQUS}
								),
							'&nbsp; ',
							(Dsq.jsonData.context.use_fb_connect ?
								'<div id="dsq-fbc-login" onlogin="DisqusFbcParentController.onLogin()" size="medium" background="light" length="short" style="display:inline; margin-right:7px"></div>' :
								''
							),
							(Dsq.jsonData.context.use_twitter_signin ?
								Dsq.Utils.interpolate(
									'<div id="dsq-twitter-login" class="dsq-twitter-login" onclick="Dsq.Twitter.startTwitterConnect();" style="display:inline; cursor: pointer"><img src="%(media_url)s/images/twitter-signin-short.png" style="margin-right:7px" /></div>', {}) : ''),
							(Dsq.jsonData.context.use_openid ?
								Dsq.Utils.interpolate(
									'<div id="dsq-openid-login" class="dsq-openid-login" onclick="Dsq.OpenID.requestURL();" style="display:inline; cursor:pointer;"><img src="%(media_url)s/images/openid-login-button.png"/></div>', {}
								) : '')
			]);
		}
		result = result.concat([
						'</div>', // dsq-login
					'</div>', // dsq-auth-header
					'<div id="dsq-authenticated" class="dsq-authenticated" ',
						Dsq.jsonData.request.is_authenticated ? 'style="display:block"' : '',
						'>',
						'<div class="dsq-authenticated-pic">',
								Dsq.Utils.interpolate('<a href="%(url)s" title="%(request_display_username)s">' +
																			'<img class="dsq-post-avatar" src="%(avatar_url)s" alt="" /></a>',
																			{avatar_url: Dsq.Urls.REQUEST_USER_AVATAR,
																			url: (Dsq.jsonData.request.is_remote
																					 ? Dsq.jsonData.request.url
																					 : Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE) }),
						'</div>',
						'<div class="dsq-authenticated-info">',
							'<ul>',
								'<li>',
									(Dsq.jsonData.request.is_remote
										? Dsq.FmtStrings.LOGGED_IN_AS(
												Dsq.Utils.interpolate('<a href="%(url)s" title="%(request_display_username)s">%(request_display_username)s</a>', {url:Dsq.jsonData.request.url})
										  )
										: Dsq.FmtStrings.LOGGED_IN_AS(
												Dsq.Utils.interpolate('<a href="%(disqus_url)s%(profile_url)s" title="%(request_display_username)s">%(request_display_username)s</a>')
											)
									),
								'</li>',
								'<li class="logout">',
									(!Dsq.jsonData.request.is_remote
										? Dsq.Utils.interpolate('<img class="dsq-login-icon" src="%(media_url)s/images/dsqicon12.png" alt="%(logged_in_as)s"/>&nbsp',
											{logged_in_as: Dsq.FmtStrings.LOGGED_IN_AS(Dsq.jsonData.request.display_username)})
										: ''),

									(!Dsq.jsonData.request.is_remote
										? Dsq.Utils.interpolate('<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="%(logout_from_disqus)s">',
											{logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN, logout_from_disqus: Dsq.FmtStrings.LOGOUT_FROM('DISQUS')})
										: ((Dsq.jsonData.request.remote_domain == 'twitter')
												? Dsq.Utils.interpolate('using Twitter (<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="Logout">Logout</a>)',
												 {logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN})
												: ((Dsq.jsonData.request.remote_domain == 'openid')
													 ? Dsq.Utils.interpolate('using OpenID (<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="Logout">Logout</a>)',
													 {logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN})
													 : ''
													)
											)
									),

									(!Dsq.jsonData.request.is_remote ? Dsq.FmtStrings.LOGOUT_FROM('<span class="logo-disqus">DISQUS</span>') : ''),
									'</a>',
								'</li>',
							'</ul>',
						'</div>',
					'</div>'
		]);
		if (Dsq.jsonData.context.use_fb_connect) {
			result = result.concat([
					'<div id="dsq-fbc-authenticated" class="dsq-authenticated">',
						'<div id="dsq-fbc-profilepic" class="dsq-authenticated-pic" uid="loggedinuser" type="FB.XFBML.ProfilePic" size="square" facebook-logo="true"></div>',
						'<div class="dsq-authenticated-info">',
							'<ul>',
								'<li>',
									'Logged in as <span id="dsq-fbc-name" uid="loggedinuser" type="FB.XFBML.Name" linked="true" useyou="false"></span>',
								'</li>',
								'<li class="logout">using Facebook Connect <a href="#" onclick="javascript:DisqusFbcParentController.logout();return false;">(Logout)</a></li>',
							'</ul>',
						'</div>',
					'</div>'
			]);
		}
		result = result.concat([
				'</div>', // dsq-auth
				'<div id="dsq-toolbar-items">',
				'</div>'
		]);
		result = result.concat([
					//
					//
					//
				((!Dsq.jsonData.forum.allow_anon_post && !Dsq.jsonData.request.is_authenticated) ?
					// Needs to be translated:
					('<p id="dsq-no-anon-msg">Required: Please log into <span class="logo-disqus">Disqus</span> ' +
					(Dsq.jsonData.context.use_fb_connect ? 'or connect with Facebook ' : '') +
					(Dsq.jsonData.context.use_twitter_signin ? 'or sign in with Twitter ' : '') +
					(Dsq.jsonData.context.use_openid ? 'or sign in using OpenID ' : '') +
					Dsq.Utils.interpolate('to comment on <strong>%(forum_name)s</strong>.</p>')) :
					''
				),
				'<div id="dsq-post-add"></div>',
				'<div style="margin:10px 0">',
				((Dsq.jsonData.forum.use_media) ?
						'<a href="#" id="dsq-media-link" onclick="Dsq.Post.showMenu(this, false, \'media\'); return false">' + Dsq.Strings.USE_MEDIA + ' <small>&#9660;</small></a>' :
						''),
				'</div>'
		]);
		return result.join('');
	};


	this.header = function() {

		var html = '\<h3 id="dsq-comments-count" class="dsq-h3-commentcount">\
	 Showing <span id="dsq-num-posts">61</span> of <span id="dsq-total-posts">61</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://winajuda.disqus.com/apple_libera_versao_final_do_safari_4/latest.rss"><img src="http://media.disqus.com/images/embed/bullet-feed.png"></a>\
	 </span>\
	 </h3>\
	 <div id="dsq-options" style="margin:15px 0">\
	 <span class="dsq-item-sort">\
	 Ordenar discussão por:\
	 <select id="dsq-sort-select" onchange="Dsq.Thread.sortBy(this.value);">\
	 <option value="hot" selected="selected">Popular now</option>\
	 <option value="best" >Melhor avaliação</option>\
	 <option value="newest" >Recentes primeiro</option>\
	 <option value="oldest" >Antigos primeiro</option>\
	 </select>\
	 &nbsp;\
	 </span>\
	 <span class="dsq-item-cp"><a href="http://winajuda.disqus.com/apple_libera_versao_final_do_safari_4/">Página da comunidade</a>&nbsp;&nbsp;&nbsp;</span>\
	 <span class="dsq-item-subscribe">\
	 <img src="http://media.disqus.com/images/embed/email.png" style="width:12px;height:12px;vertical-align:middle">\
	 <span id="dsq-subscribe">\
	 <a href="#" onclick="Dsq.Thread.subscribe(1); return false">Subscribe by email</a>\
	 </span>\
	 </span>\
	 </div>\
	 <div id="dsq-alerts">\
	 <p>Comments for this page are closed.</p>\
	 </div>\
		';

		
			html = Dsq.Templates.authPost() + html;
		

		
		if (Dsq.jsonData.request.is_moderator) { 
			html = ' \
			<div class="dsq-alert-message dsq-upgrade-message"> \
				<strong>Disqus upgrade available.</strong> Hi ' + Dsq.jsonData.request.display_username + ', this message is being displayed to you because you are a moderator of this site. <a href="#" onclick="Dsq.$(\'dsq-upgrade-message\').style.display=\'block\';this.style.display=\'none\';return false">Click here for details.</a> \
				<div style="display:none; margin-top:10px;" id="dsq-upgrade-message"> \
					A new theme is available with added features. <a href="http://disqus.com/comments/settings/' + Dsq.jsonData.forum.url + '/?p=customize">To change your theme, click here</a> and choose the theme Narcissus. \
					If you do not upgrade, you are missing out on features such as: real-time commenting, new sign-in integrations, and an upgrade interface. \
					<strong>This message will automatically go away in one week.</strong> \
				</div> \
			</div> \
			' + html; 
		}
		return html;
	};

	this.footer = function() {
		var html = Dsq.Templates.pagination();

		

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		

		return html;
	};

	this.pagination = function() {
		var html = '';
		
		if (Dsq.$('dsq-pagination')) { Dsq.$('dsq-pagination').innerHTML = ''; }
		if (!Dsq.jsonData.thread.paginate) { return ''; }

		//
		// TODO: num_paginator still uses the template tag for pagination, 
		// 		while append_paginator does it all in JavaScript.
		//		This should all be in JavaScript.
		//

		if (Dsq.jsonData.thread.num_pages > 1 && Dsq.jsonData.request.page < Dsq.jsonData.thread.num_pages) {
			html = ' \<a class="dsq-paginate-append-text" href="#" onclick="Dsq.Thread.paginate(Dsq.jsonData.request.page + 1, this); return false">Mais comentários...</a>\
	 <button type="button" class="dsq-button-small dsq-paginate-append-button" onclick="Dsq.Thread.paginate(Dsq.jsonData.request.page + 1, this);">Load more comments</button>\
			';
		}
		
		if (Dsq.$('dsq-pagination')) {
			Dsq.$('dsq-pagination').innerHTML = html;
			return '';
		} else {
			return '<div id="dsq-pagination" class="dsq-pagination">' + html + '</div>';
		}
	};

	this.trackbacks = function() {
		var html = '';

		if(typeof DsqLocal != 'undefined' && DsqLocal.trackback_url && DsqLocal.trackbacks) {
			var trackbacks = DsqLocal.trackbacks;
			var trackback_url = DsqLocal.trackback_url;
		} else {
			var trackbacks = [
			
			
			];
			var trackback_url = 'http://winajuda.disqus.com/apple_libera_versao_final_do_safari_4/trackback/';
		}

		html += '<div class="dsq-item-trackback">URL de Trackback&nbsp;&nbsp;<input class="dsq-trackback-url" onclick="this.select()" readonly="true" value="' + trackback_url + '"></div>';

		if(trackbacks.length) {
			html += '<ul id="dsq-references">'
			for(var i = 0; i < trackbacks.length; i++) {
				var trackback = trackbacks[i];
				html += '<li><cite><a href="' + trackback.author_url + '" rel="nofollow">' + trackback.author_name + '</a></cite> \
						<p class="dsq-meta">' + trackback.date + '</p> \
						<p class="dsq-content">' + trackback.excerpt + '</p></li>';
			}
			html += '</ul>';
			html = '<h3 class="dsq-h3-trackbacks">Trackbacks</h3>' + html;
		}

		return html;
	}

	this.showRetweets = function(id, limit, element_id /* Optional */) {
		var source, html = '';

		for (var i = 0, reaction; reaction = Dsq.jsonData.reactions[i]; i++) {
			if (reaction.id === id) {
				source = reaction.retweets;
			}
		}

		if (source) {
			if (limit === 0) {
				limit = source.length;
			}

			for (var j = 0; j < limit; j++) {
				var rt = source[j];
				html += '<a href="' + rt.url + '">' + rt.author_name + '</a>'	+ ((j === (limit - 1)) ? '.' : ', ');
			}
		}

		if (element_id === undefined) {
			return html;
		}

		var element = document.getElementById(element_id);
		element.innerHTML = html;
		return element;
	};

	this.showMoreReactions = function(reactions, has_more, start, limit) {
		var link = document.getElementById('dsq-show-more-reactions');
		var container = link.parentNode;
		container.removeChild(link);

		for (var i = 0, reaction; reaction = reactions[i]; i++) {
			var el = Dsq.Templates.generateReactionHTML(reaction);
			if (el) {
				container.innerHTML += el;
			}
		}

		if (has_more) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = start;
			var l = limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			container.innerHTML += '<li id="dsq-show-more-reactions"><a href="#" onclick="' + handler + '">Show more reactions</a></li>';
		}
	};

	this.generateReactionHTML = function(reaction) {
		if (reaction.body === null || reaction.body == '') {
			return;
		}

		if (reaction.author_name === '') {
			reaction.author_name = '&nbsp;';
		}

		if (reaction.url === '') {
			reaction.url = reaction.get_service_url;
		}

		/* Reaction HTML begins */
		var item = '<li class="dsq-reaction" id="dsq-reaction-' + reaction.id + '">'
			+ '<div class="dsq-reaction-header">'
			+ '<div class="dsq-header-avatar">';

		if (reaction.author_url && reaction.author_url !== '') {
			item += '<a target="_blank" href="' + reaction.author_url +'">';
		} else {
			item += '<a target="_blank" href="#" onclick="return false;">';
		}

		if (reaction.avatar_url && reaction.avatar_url !== '') {
			item += '<img src="' + reaction.avatar_url + '"/>';
		} else {
			item += '<img src="' + Dsq.jsonData.media_url + '/images/noavatar32.png"/>';
		}

		var service_icon = (reaction.get_service_name == 'trackback' || reaction.get_service_name == 'pingback' ? 'rss' : reaction.get_service_name.replace(' ', ''));
		item += '<img class="dsq-service-icon" src="' + Dsq.jsonData.media_url + '/images/reactions/services/' + service_icon + '.png"/>'
			+ '</a></div>'
			+ '<cite><span>' + reaction.author_name + '</span></cite>'
			+ '<span class="dsq-header-meta"><a class="dsq-header-time">' + reaction.date_created + '</a></span>'
			+ '</div><div class="dsq-reaction-body">'
			+ '<div class="dsq-reaction-message">' + reaction.body + '</div>'
			+ '<div class="dsq-reaction-footer">From <a class="dsq-service-name" target="_blank" href="' + reaction.url + '">' + reaction.get_service_name + '</a> '
			+ 'via <a href="' + reaction.source_url + '">' + (reaction.source == 'backtype' ? 'BackType' : 'UberVU') + '</a>'
			+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator ? '&nbsp;&bull;&nbsp;<a class="dsq-hide-reaction" href="#" onclick="Dsq.Reaction.hide(' + reaction.id + '); return false;">Hide</a>' : '') + '</div></div>';

		if(reaction.retweets) {
			var num_retweets = reaction.retweets.length;
			if (num_retweets > 0) {
				item += '<div class="dsq-reaction-retweets">';
				if (num_retweets == 1) {
					item += 'One more retweet from <a href="' + reaction.retweets[0].url + '">'  + reaction.retweets[0].author_name + '</a>';
				} else {
					item += (num_retweets + ' more retweets from ');

					item += '<span id="dsq-reaction-retweets-' + reaction.id + '">';
					var n_tweets = (num_retweets > 15) ? 15 : num_retweets;
					item += Dsq.Templates.showRetweets(reaction.id, n_tweets);

					if (n_tweets != num_retweets) {
						item += '</span> <a onclick="Dsq.Templates.showRetweets(' + reaction.id + ', 0, \'dsq-reaction-retweets-' + reaction.id + '\');'
							+ 'this.parentNode.removeChild(this); return false;" href="#">Show all</a>';
					}
				}
				item += '</div>';
			}
		}

		item += '</li>'; /* Reaction HTML ends */
		return item;
	};

	this.reactions = function() {
		var html, reaction;

		if (Dsq.jsonData.reactions === undefined || Dsq.jsonData.reactions.length === 0) {
			return '';
		}

		html = '';
		for (var i = 0; reaction = Dsq.jsonData.reactions[i]; i++) {
			var item = Dsq.Templates.generateReactionHTML(reaction);
			if (item) {
				html += item;
			}
		}

		if (Dsq.jsonData.has_more_reactions) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = Dsq.jsonData.reactions_start;
			var l = Dsq.jsonData.reactions_limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			html += '<li id="dsq-show-more-reactions"><a href="#" onclick="' + handler + '">Show more reactions</a></li>';
		}

		return '<h3 class="dsq-h3-reactions">Reactions</h3><ul id="dsq-reactions" class="dsq-reactions">' + html + '</ul>';
	};
	
	this.missingPermissions = function() {
		return '	<p>Comments for this page are closed.</p>\n';
	};

	//
	// Post
	//

	this.prependPost = function(post_id) {
		var html = '<div id="comment-' + post_id + '"></div>';
		return html;
	};

	this.appendPost = function(post_id) {
		var html = '<div id="dsq-comment-reply-' + post_id + '"></div>';
		return html;
	};

	this.postPrependHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];

		var _includeServices = function() {
			var userServices = Dsq.Post.getUserServices(null, post_id);
			var html = '';
			var hiddenThreshold = 3; // Define # of services to show before stuffing them in hidden div

			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == hiddenThreshold
					? '<li id="dsq-drop-hidden-' + post_id +'" class="dsq-drop-hidden"><ul>'
					: '')
				+ '<li class="dsq-drop-services"> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank"> \
						<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '">'
					+ userServices[i].name
					+ '</a> \
				</li>';
			}

			if(i >= hiddenThreshold) {
				html += '</ul></li> \
				<li id="dsq-drop-more-' + post_id + '" class="dsq-drop-more"><a href="#" onclick="Dsq.Post.dropProfileMore(this, '+ post_id + '); return false"><small>&#9660;</small></a></li> \
				';
			}
			return html;
		};

		return ' \
			<div class="dsq-header-avatar" id="dsq-header-avatar-' + post_id + '" onmouseover="Dsq.Post.dropProfile(' + post_id + ')"> \
				<a id="dsq-avatar-' + post_id + '" class="dsq-avatar" href="' + userData.url + '" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">'
			+ (Dsq.jsonData.forum.show_avatar
				? '<img src="' + Dsq.jsonData.users[_meta.user_key].avatar + '" alt="" />'
				: '')
			+ '</a>'
			+ '</div> \
		';
	};

	this.postAppendHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];

		return ''
			+ (_meta.author_is_moderator
				? '<img class="dsq-mod-star" src="http://media.disqus.com/images/bullet-star.png" title="Moderator" alt="" />'
				: '')
			+ '<span class="dsq-header-meta"> \
				<a id="dsq-time-' + post_id + '" class="dsq-header-time" href="#comment-' + post_id + '" title="Permalink">' + _meta.date + '</a> \
			</span>';
	};

	this.preBody = function(post_id) {
		return '';
	}

	this.postBody = function(post_id) {
		// TODO: Deprecate flagging conditional
		var _meta = Dsq.jsonData.posts[post_id];
		return ''
			+ (_meta.edited
				? '<p class="dsq-editedtxt">(Edited by a moderator)</p>'
				: '')
			;
	};

	this.postFooter = function(post_id) {
		// TODO: Use media should be conditional
		var _meta = Dsq.jsonData.posts[post_id];
		if(_meta.killed) { return ''; }

		return ' \
			<div class="dsq-comment-footer" id="dsq-comment-footer-' + post_id + '"> \
				<div id="dsq-points-' + post_id + '" class="dsq-likedtxt">'
				+ (_meta.points
					? _meta.points + Dsq.Utils.pluralize(_meta.points, ' person', ' people') + ' liked this comment.'
					: '')
				+ '</div>'
				+ '<ul class="dsq-comment-options dsq-list-style">'
				+ (_meta.votable
					? '<li class="dsq-list-first dsq-rate" id="dsq-rate-cont-' + post_id + '">'
					+ (!_meta.up_voted
						? '<a href="#" onclick="Dsq.Post.rate(this, ' + post_id + ', 1); return false;">Gostei</a>'
						: 'Você gostou deste comentário.') + '</li>'
					: '')
				+ '<li class="dsq-report' + (!_meta.votable ? ' dsq-list-first' : '') + '" id="dsq-post-report-' + post_id + '"><a href="#" class="dsq-post-report" onclick="Dsq.Post.report(' + post_id + ', false); return false;">Reportar</a></li> \
				</ul> \
				<ul class="dsq-list-style">'
				+ (_meta.can_reply
					? '<li class="dsq-list-first"><a href="#" id="dsq-reply-link-' + post_id +'" onclick="Dsq.Post.toggleReply(this, ' + post_id +'); return false;">responder</a></li>'
					: '')
				+ (_meta.can_reply && !_meta.has_replies && _meta.from_request_user
					? '<li id="dsq-edit-el-' + post_id + '"><a id="dsq-edit-link-' + post_id + '" href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); return false;">editar</a></li>'
					: '')
				+ '<li class="' + (!_meta.can_reply ? 'dsq-list-first' : '') + '" id="dsq-more-el-' + post_id + '"><a id="dsq-more-link-' + post_id + '" href="#" onclick="Dsq.Post.showMenu(this, ' + post_id + ', \'more\'); return false">mais <small>&#9660;</small></a></li>'
				+ (Dsq.jsonData.forum.use_media
					? '<li id="dsq-media-el-' + post_id +'" style="display:none"><a id="dsq-media-link-' + post_id + '" href="#" onclick="Dsq.Post.showMenu(this, ' + post_id + ', \'media\'); return false">Usar multimídia <small>&#9660;</small></a></li>'
					: '')
				+ '</ul>'
				+ '<div id="dsq-reply-bar-' + post_id + '" class="dsq-reply-bar" style="display:none"> \
						<div id="dsq-reply-bar-items-' + post_id + '" class="dsq-reply-bar-items"> \
						</div> \
						<div id="dsq-reply-bar-auth-' + post_id + '" class="dsq-reply-bar-auth"> \
							 \
								 \
								 	<a href="#" class="dsq-help dsq-reply-req-opt" title="You are commenting as a Guest. You may choose to log into an existing DISQUS Profile, your Facebook, Twitter or OpenID account to comment on WinAjuda" onclick="Dsq.Popup.helpBadges(); return false">Optional:</a> \
								 \
								<img class="dsq-login-icon" src="http://media.disqus.com/images/dsq-favicon-16x16.png" alt="" /> \
								<a id="dsq-reply-login-' + post_id + '" href="http://disqus.com/profile/login/?next=article:33224934" onclick="Dsq.Popup.login(); return false">Login</a> \
								 \
									&nbsp;or&nbsp; \
									<img class="fb_login_image" src="http://static.ak.fbcdn.net/images/fbconnect/login-buttons/connect_light_small_short.gif" alt="Facebook Connect"/> \
									<a href="#" onclick="FB.Connect.requireSession(DisqusFbcParentController.onLogin); return false;">Connect</a> \
								 \
								&nbsp;or&nbsp; \
									<img src="http://media.disqus.com/images/twitter-signin-icon.png" alt="" /> \
									<a href="#" onclick="Dsq.Twitter.startTwitterConnect(); return false">Sign-in</a> \
								 \
								&nbsp;or&nbsp; \
									 <img src="http://media.disqus.com/images/openid-login-icon.png" alt="" /> \
									 <a href="#" onclick="Dsq.OpenID.requestURL(); return false">OpenID</a> \
								 \
							 \
						</div> \
					</div> \
					<div id="dsq-reply-' + post_id + '"></div> \
			</div> \
		';
	};

	//
	// Iframes
	//

	this._makeAttributes = function(attributes) {
		// Makes a tag attributes string out of an object.
		// Caller is responsible for making sure nothing needs to be escaped.
		var result = [];
		for (key in attributes) {
			result.push(' ' + key + '="' + attributes[key] + '"');
		}
		result = result.join('');
		return result;
	};

	this._frameGeneric = function(base_url, params, attributes) {
		if(typeof(disqus_callback_params) == 'undefined') {
			disqus_callback_params = '';
		}

		var default_params = {
			// TODO: These should be moved to Dsq.jsonData.
			'f'				: 'winajuda',
			't'				: 'apple_libera_versao_final_do_safari_4',
			// Do we need encodeURIComponent here?
			'ifrs'			: encodeURIComponent(disqus_iframe_css),
			'to_redirect'	: encodeURIComponent(window.location),
			'cbp'			: disqus_callback_params,
			'ff'			: Dsq.Thread.ff,
			'fc'			: Dsq.Thread.fc,
			'ac'			: Dsq.Thread.ac,
			'default_text'	: disqus_default_text
		};

		base_url += '?' + (new Date()).getTime();
		// Add params to default_params.
		if(params) {
			for(var key in params) {
				if(params.hasOwnProperty(key)) {
					default_params[key] = encodeURIComponent(params[key]);
				}
			}
		}
		// Build querystring.
		for(var key in default_params) {
			if(default_params[key] && default_params.hasOwnProperty(key)) {
				base_url += '&' + key + '=' + default_params[key];
			}
		}

		return [
			'<iframe marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0"',
			(' allowtransparency="true" src="' + base_url + '"'),
			this._makeAttributes(attributes),
			'</iframe>'].join('');
	};

	this.frameLogin = function(opt_attributes) {
		var params = {};
		var base_url = 'http://disqus.com/embed/login.html';
		var attributes = opt_attributes || {};
		attributes['class'] = 'dsq-post-login';

		if(typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}
		return this._frameGeneric(base_url, params, attributes);
	};

	this.frameReply = function(post_id, extra_params, attributes) {
		// Returns the HTML for a reply iframe. Called by Dsq.Iframes.setReplyIframeToContainer
		var _meta = (typeof post_id != 'undefined') ? Dsq.jsonData.posts[post_id] : false;
		var base_url = Dsq.Urls.REPLY;
		var params = {
			'def_email'		: disqus_def_email,
			'def_name'		: disqus_def_name
		};
		if(extra_params) {
			for(var key in extra_params) {
				if(extra_params.hasOwnProperty(key)) {
					params[key] = extra_params[key];
				}
			}
		}
		if(_meta) {
			params['parent_post'] = post_id;
		}
		if(typeof disqus_per_page != 'undefined') {
			params['per_page'] = disqus_per_page;
		}
		if(typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}
		if(Dsq.jsonData.request.is_authenticated) {
			attributes['class'] += '-authenticated';
		}
		return this._frameGeneric(base_url, params, attributes);
	};

	this.frameEdit = function(post_id) {
		var _meta = (typeof post_id != 'undefined') ? Dsq.jsonData.posts[post_id] : false;
		var base_url = 'http://disqus.com/embed/edit.html';
		var params = {
			'p' : post_id
		};
		return this._frameGeneric(base_url, params, {'class': 'dsq-post-edit', 'name': 'dsq-edit_' + post_id + '-frame'});
	};

	//
	// Menus
	//

	this.menuMore = function(post_id) {
		// TODO: "Remove post" button should hide menu.
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		return ' \
			<li><a href="#comment-' + post_id + '" onclick="Dsq.Popup.permalink(' + post_id + ')">link</a></li> \
			<li><a href="#" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">Perfil</a></li>'
	+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator
		? '	<li class="dsq-menu-sep"></li>' + (_meta.email ? '<li class="dsq-admin-email">' + _meta.email + '</li>' : '')
		+ '	<li class="dsq-admin-ip">' + _meta.ip + '</li> \
			<li class="dsq-menu-sep"></li>'
		+ (Dsq.jsonData.request.moderator_can_edit
			? ' <li class="dsq-admin-edit"><a href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); return false;">Publicar comentário</a></li>'
			: '')
		+ ' <li class="dsq-remove"><a href="#" onclick="Dsq.Post.removePost(' + post_id + ', 1); return false;">Remover comentário</a></li> \
			<li class="dsq-report-spam"><a href="#" onclick="Dsq.Post.reportSpam(' + post_id + '); return false;">Mark Spam</a></li> \
			<li class="dsq-block-user"><a href="#" onclick="Dsq.Popup.blacklist(' + post_id + '); return false">Block User</a></li>'
		: '');
	};

	this.menuMedia = function(post_id) {
		return ' \
			<li><a href="#" onclick="Dsq.Post.toggleMediaReply(this, ' + post_id + ', \'seesmic\'); return false;">Gravar vídeo</a></li> \
		';
	};

	this.dropProfile = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];

		var _includeServices = function() {
			var userServices = Dsq.Post.getUserServices(null, post_id);
			var html = '';
			var hiddenThreshold = 3; // Define # of services to show before stuffing them in hidden div

			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == hiddenThreshold
					? '<li id="dsq-drop-hidden-' + post_id +'" class="dsq-drop-hidden"><ul>'
					: '')
				+ '<li class="dsq-drop-services"> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank"> \
						<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '">'
					+ userServices[i].name
					+ '</a> \
				</li>';
			}

			if(i >= hiddenThreshold) {
				html += '</ul></li> \
				<li id="dsq-drop-more-' + post_id + '" class="dsq-drop-more"><a href="#" onclick="Dsq.Post.dropProfileMore(this, '+ post_id + '); return false"><small>&#9660;</small></a></li> \
				';
			}
			return html;
		};


		var menu = '<li class="dsq-drop-showlnk"><a href="#" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">Expand &#8663;</a></li>';
		var pointsMessage = '';
		if (userData['registered']) {
			pointsMessage = 'with ' + userData['points'] + ' points (more points are better).';
		}

		if (userData['is_remote']) {
			var domain = userData['remote_domain_name'];
			menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' is a ' + domain + ' user ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
			menu += '<span class="dsq-badge-' + domain.toLowerCase() + '">' + domain + '</span></li>';
		} else if (userData['registered']) {
			if (userData['verified']) {
				menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has a verified commenter profile ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
				menu += '<span class="dsq-badge-verified">Verified</span></li>';
			} else {
				menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has a registered, but unverified, commenter profile ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
				menu += '<span class="dsq-badge-registered">Registered</span></li>';
			}
		} else {
			menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has not claimed this commenter profile." onclick="Dsq.Popup.helpBadges()"><span class="dsq-badge-guest">Guest</span></li>';
		}

		menu += _includeServices();
		return menu;
	};

	//
	// Popups
	//

	this._popupGeneric = function(content) {
		return ' \
		<div class="dsq-popup-content"> \
			<div class="dsq-popup-top"></div> \
			<div class="dsq-popup-body" class="clearfix"> \
				<div class="dsq-popup-body-padding"> \
					<div class="dsq-popup-header"> \
						<a class="dsq-close-link" href="#" onclick="Dsq.Popup._closePopup(null, true); return false"><img src="http://media.disqus.com/images/modal-close.png" alt="" /></a>'
						+ content['header']
					+ '</div>'
					+ content['body']
					+ '<div class="powered-by"><a href="http://disqus.com/comments/">Powered by <img src="http://media.disqus.com/images/embed/disqus-logo.png" alt="Disqus Comments" style="margin-bottom:-5px" /></a></div> \
				</div> <!-- padding --> \
			</div> <!-- body --> \
			<div class="dsq-popup-bottom"></div> \
		</div> \
		';
	};

	this.popupProfile = function(user_key) {
		var userServices = Dsq.Post.getUserServices(user_key, null);
		var userData = Dsq.jsonData['users'][user_key];
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		var _includeServices = function() {
			var html = '';
			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == 0
					? '<h4>Connections</h4><ul>'
					: '')
				+ '<li> \
					<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '" title="' + userServices[i].name.toLowerCase() + '" /> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank">'
					+ userServices[i].name
					+ '</a> \
				</li>'
				+ (i+1 == userServices.length ? '</ul>' : '');
			}
			return html;
		};

		headerHtml = ' \
			<table> \
				<tr> \
					<td> \
						<a class="dsq-profile-userurl" href="' + userData.url + '"><img class="dsq-popup-profile-avatar" src="' + userData['avatar'] + '" alt="" /></a> \
					</td> \
					<td> \
						<div class="dsq-popup-profile-user"> \
							<h3>' + userData['display_name'] + '</h3> \
							<div class="dsq-popup-profile-user-stats" id="dsq-popup-profile-user-stats-' + user_key + '">Loading...</div> \
						</div> \
					</td> \
				</tr> \
			</table> \
		';

		bodyHtml = ' \
			<div class="dsq-popup-profile-state"> \
				This is a&nbsp;<span class="'
					+ (userData['registered']
						? (userData['verified']
							? ' dsq-badge-verified'
							: (userData['is_remote']
								? ' dsq-badge-' + userData['remote_domain_name'].toLowerCase()
								: ' dsq-badge-registered')
							)
							: ' dsq-badge-guest') + '">'
			+ (userData['registered']
				? (userData['verified']
					? 'Verified'
					: (userData['is_remote']
						 ? userData['remote_domain_name']
						 : 'Registered')
					)
				: 'Guest')
			+ '</span>&nbsp;commenter profile.'
			+ '&nbsp;<a class="dsq-profile-userurl" href="' + userData.url + '"><strong>View more comments </strong></a>'
			+ (!userData['points']
				? '<p class="dsq-popup-notice">If this is you, <a href="http://disqus.com/profile" target="_blank">claim it now</a> to manage your comments.</p>'
				: '')
			+ ((userData['registered'] && !userData['verified'] && (Dsq.jsonData.request.username && (Dsq.jsonData.request.username == userData['username'])) && !userData['is_remote'])
				? '<p class="dsq-popup-notice"><strong>Alert</strong>: You have not verified this account. <a href="http://disqus.com/verify">Verify it now.</a></p>'
				: '')
			+ '</div> \
			<div id="dsq-profile-status-' + user_key + '" class="dsq-popup-profile-status" style="display:none"></div> \
			<div class="dsq-popup-profile-snapshot"> \
				<table> \
					<tr> \
						<td> \
							<div id="dsq-popup-profile-active-sites-wrapper-' + user_key + '"> \
								<h4>Most active sites</h4> \
								<ul id="dsq-popup-profile-active-sites-' + user_key + '"> \
									<li>Loading...</li> \
								</ul> \
							</div> \
						</td> \
						<td>'
							+ _includeServices()
							+ '<div id="dsq-popup-profile-moderated-wrapper-' + user_key + '"> \
								<h4>Moderator of</h4> \
								<ul id="dsq-popup-profile-moderated-' + user_key + '"> \
									<li>Loading...</li> \
								</ul> \
							</div> \
						</td> \
					</tr> \
				</table> \
			</div> \
			';

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.popupReblog = function() {
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		headerHtml = ' \
			<cite><span>Reblog this comment</span></cite> \
		';

		bodyHtml = ' \
			<div id="dsq-reblog-form" class="dsq-reblog-form"> \
			</div> \
		';

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.popupModal = function(title, message) {
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		headerHtml = ' \
			<h3>' + title + '</h3> \
		';

		bodyHtml = message;

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.alertContent = function(name, post_id) {
		var alert = {
			'post_not_approved': {
				'title': 'Comment awaiting approval by a moderator',
				'message': 'Thanks for posting. Your comment must be approved by a moderator before appearing here.'
			},
			'post_has_profile': {
				'title': 'Use your existing commenter profile',
				'message': 'You have just posted your commment as a <span class="dsq-badge dsq-badge-guest">Guest</span>, but you may already have a <span class="dsq-badge dsq-badge-registered">Registered</span> commenter profile.<br /><br /><a href="http://disqus.com/claim">Log in and claim this comment!</a>'
			}
		};
		return alert[name] || false;
	};

	//
	// Actions
	//

	this.voted = function(post_id, points, vote) {
		// Update number of points
		Dsq.$('dsq-points-' + post_id).innerHTML = points + Dsq.Utils.pluralize(points, ' person', ' people') + ' liked this comment.';

		// Update link text
		if(vote) {
			Dsq.$('dsq-rate-cont-' + post_id).innerHTML = 'Você gostou deste comentário.';
		}
	};

	this.subscribed = function(status) {
		var title, message;

		if(status) {
			title = 'Subscribed!';
			message = 'You have subscribed to this comment thread. New comments will be sent directly to your email inbox, where you may read and respond by email.';
			Dsq.$('dsq-subscribe').innerHTML = ' \
				<a href="#" onclick="Dsq.Thread.subscribe(0); return false">Unsubscribe</a> \
			';
		} else {
			title = 'Unsubscribed';
			message = 'You have unsubscribed to this comment thread. New comments will no longer be sent to your email inbox.';
			Dsq.$('dsq-subscribe').innerHTML = ' \
				<a href="#" onclick="Dsq.Thread.subscribe(1); return false">Subscribe by email</a> \
			';
		}

		Dsq.Popup.popModal(message, title);

	};
	
	this.highlighted = function() {
		Dsq.Popup.popModal('This comment has been highlighted.', 'Highlighted comment');
	};

	//
	// Media
	//

	this.mediaSeesmic = function(id, thumb) {
		return ' \
			<div id="dsq-seesmic-' + id + '_preview" class="dsq-seesmic-preview"><a href="http://www.seesmic.com/video/' + id + '" target="_blank" class="see_link">&nbsp;</a> \
				<div style="display:block;width:160px; height:120px; border:none; background-image:url(http://t.seesmic.com/thumbnail/' + thumb + ')"> \
					<div id="dsq-seesmic-' + id + '_hide" class="seePlayOverlay" style="display:none;"><img onclick="see_play_video(\'' + id + '\',false)" src="http://media.disqus.com/images/seesmic/stopOverlay.png" width="50" height="50" style="cursor:pointer; cursor:hand; padding-top: 30px; padding-left: 50px" alt="" /></div> \
					<div id="dsq-seesmic-' + id + '_show" class="seePlayOverlay"><img onclick="see_play_video(\'' + id + '\',true)" src="http://media.disqus.com/images/seesmic/playOverlay.png" width="50" height="50" style="cursor:pointer; cursor:hand; border:none; padding-top: 30px; padding-left: 50px" alt="" /></div> \
				</div> \
			</div> \
			<div id="' + id + '_content" style="display:block; width:100%; padding-top:5px"></div> \
		';
	};

	//
	// Callbacks
	//

	this.postComment_onSuccess = function(parent_post_id) {
		// Increment post count
		var num_posts = Dsq.$('dsq-num-posts');
		var total_posts = Dsq.$('dsq-total-posts');
		
		if (num_posts) { 
			num_posts.innerHTML = parseInt(num_posts.innerHTML) + 1;
		}
		if (total_posts) { 
			total_posts.innerHTML = parseInt(total_posts.innerHTML) + 1;
		}
	};
};
// Dsq.Templates


/**
 * Dsq.Post
 */
Dsq.Post = new function() {
	this.openedMenu = {};
	this.menuEventListener = null;
	this.stateReplyToggled = {};
	this.stateEditToggled = {};
	this.stateRecordLink = {};

	/**
	 * Inserts a new post into the document.
	 *
	 * @param after_id {Number}	Insert a post before specified id.  If after_id
	 *							evaluates to false, then post in the front.  If
	 *							after_id is -1, post at the end.
	 */
	this.insert = function(after_id, id, message, author) {
		// Skeleton template from thread_posts.html.
		var skeleton = ' \
			<li id="dsq-comment-%(id)s"> \
				<div id="dsq-comment-header-%(id)s" class="dsq-comment-header"> \
					<cite id="dsq-cite-%(id)s" class="dsq-comment-cite"> \
						<a id="dsq-author-user-%(id)s" href="%(author_url)s" target="_blank" rel="nofollow">%(author_name)s</a> \
					</cite> \
				</div> \
				<div id="dsq-comment-body-%(id)s" class="dsq-comment-body"> \
					<div id="dsq-comment-message-%(id)s" class="dsq-comment-message">%(message)s</div> \
				</div> \
			</li> \
		';
		var _meta = Dsq.jsonData.posts[id];
		var _user_meta = Dsq.jsonData.users[_meta.user_key];
		var markup = Dsq.Utils.interpolate(skeleton, {
			id: id,
			message: message,
			author_url: _user_meta.blog,
			author_name: _user_meta.display_name
		});
		var div = document.createElement('div');
		markup = markup.replace(Dsq.COMMENTS_RE, Dsq.CommentsHandler);
		div.innerHTML = markup;

		if (after_id === -1) {
			Dsq.$('dsq-comments').appendChild(div);
		} else if (!after_id) {
			Dsq.$('dsq-comments').insertBefore(div, Dsq.$('dsq-comments').firstChild);
		} else if (Dsq.$('dsq-comment-' + after_id)) {
			// Get next node after "after_id", so we can insert before it.
			// If "after_id" is the last comment, the target node is the
			// last node.
			
			// var append_post_id = Dsq.Templates.appendPost(after_id).replace('<div id="','').replace('"></div>', '');
			var append_post_id = 'dsq-append-post-' + after_id;
			var node = Dsq.$(append_post_id);
			while (node = node.nextSibling) {
				if (!node || node.nodeType == 1) { // 1 == Node.ELEMENT_NODE
					break;
				}
			}
			if (!node) {
				node = Dsq.$(append_post_id);
			}
			node.parentNode.insertBefore(div, node);
		}
	};

	this.incrementPostCount = function() {
		
		var num_posts = Dsq.$('dsq-num-posts');
		var total_posts = Dsq.$('dsq-total-posts');

		if (num_posts) {
			num_posts.innerHTML = parseInt(num_posts.innerHTML, 10) + 1;
		}
		if (total_posts) {
			total_posts.innerHTML = parseInt(total_posts.innerHTML, 10) + 1;
		}
	}
	
	this.outlineComment = function(post_id) {
		Dsq.$('dsq-comment-' + post_id).className += ' dsq-comment-outline';
		setTimeout("(function () { Dsq.Post.clearOutlineComment(" + post_id + ") })()", 3000);
	};
	
	this.clearOutlineComment = function(post_id) {
		Dsq.$('dsq-comment-' + post_id).className = Dsq.$('dsq-comment-' + post_id).className.replace('dsq-comment-outline', '');
	};

	this.showMenu = function(el, id, name) {
		var anchorPos = Dsq.Utils.findPos(el);
		var menu = document.createElement('ul');

		if(this.openedMenu) {
			if(this.openedMenu.linkClicked) {
				this.openedMenu.linkClicked = false;
				return;
			}
		}

		switch(name) {
			case 'more':
				menu.innerHTML = Dsq.Templates.menuMore(id);
				break;
			case 'media':
				menu.innerHTML = Dsq.Templates.menuMedia(id);
				break;
			default:
				break;
		}

		// Add menu to document body
		menu.id = 'dsq-menu-' + id;
		menu.className = 'dsq-menu';
		Dsq.$b.appendChild(menu);

		// Position and show
		anchorPos[1] += 15;
		menu.style.left = anchorPos[0] + 'px';
		menu.style.top = anchorPos[1] + 'px';
		menu.style.display = 'block';

		// Set global reference
		this.openedMenu = {
			'el' : menu,
			'id' : id,
			'name' : name,
			'linkClicked' : false
		};

		// Set listener
		this.menuEventListener = Dsq.Utils.addEventListener(document, 'mouseup', this._hideMenu);
	};

	this._hideMenu = function(e) {
		var el = e.target || e.srcElement;
		var openedMenu = Dsq.Post.openedMenu.el;
		var id = Dsq.Post.openedMenu.id;

		if(!id) {
			var link = 'dsq-' + Dsq.Post.openedMenu.name + '-link';
		} else {
			var link = 'dsq-' + Dsq.Post.openedMenu.name + '-link-' + id;
		}

		if(!openedMenu) {
			return;
		}

		if(!Dsq.Popup.isClicked(e, openedMenu.id)) {
			openedMenu.style.display = 'none';
			Dsq.Utils.removeEventListener(Dsq.Post.menuEventListener);
			Dsq.Utils.deleteNode(openedMenu);

		} else {
			// Hide the menu if a link was clicked inside the menu.  We can't
			// completely remove the menu until the onclick event on the link
			// fires, but the menuEventListener will prevent multiple menus
			// from polluting the DOM.
			if(el && typeof el.href != 'undefined') {
				openedMenu.style.display = 'none';
				Dsq.Post.openedMenu.el = null;
			}
		}

		if(Dsq.Popup.isClicked(e, link)) {
 			Dsq.Post.openedMenu.linkClicked = true;
		}
	};


	this.getUserServices = function(user_key, id) {
		if(!user_key && id) {
			var _meta = Dsq.jsonData.posts[id];
			user_key = _meta.user_key;
		}
		var userData = Dsq.jsonData['users'][user_key];
		var userServices = [];

		// Keep a full list of supported services. This is the order they will display in the drop-profile.
		// Each service must have a corresponding case in _buildServiceUrl()
		var supportedServices = ['blog', 'twitter', 'facebook', 'tumblr'];

		function _buildServiceUrl(serviceName) {
			var data = userData[serviceName];
			var services = {
				blog:		function(d) { return d; },
				twitter:	function(d) { return d; },
				facebook:	function(d) { return d; },
				tumblr:		function(d) { return 'http://' + d + '.tumblr.com'; }
			};
			return services[serviceName](data);
		}

		for(var i = 0; i < supportedServices.length; i++) {
			if(userData[supportedServices[i]]) {
				var serviceUrl = _buildServiceUrl(supportedServices[i]);
				userServices.push({'name' : supportedServices[i], 'url' : serviceUrl});
			}
		}
		return userServices;
	}

	this.dropProfile = function(id) {
		var dp = Dsq.$('dsq-drop-profile-' + id);

		// IE6 needs JS to display/hide. All other browsers use CSS.
		if(dp) {
			if(Dsq.Utils.ie6) dp.style.display = (dp.style.display == 'inline') ? 'none' : 'inline';
			return false;
		} else {
			dp = document.createElement('ul');
		}

		dp.id = 'dsq-drop-profile-' + id;
		dp.className = 'dsq-drop-profile';

		if(Dsq.Utils.ie6) { dp.style.display = 'inline'; }

		var container = Dsq.$('dsq-header-avatar-' + id);
		dp.innerHTML = Dsq.Templates.dropProfile(id);
		container.appendChild(dp);
	};

	this.dropProfileMore = function(el, id) {
		var hiddenItems = Dsq.$('dsq-drop-hidden-' + id);

		hiddenItems.style.display = 'inline';
		el.parentNode.style.display = 'none';
	};

	this._updateReplyLinks = function(el, id) {
		// Update "reply / cancel" links based on state.
		var displayDict = {};

		if(id) {
			if(this.stateReplyToggled[id]) {
				el.innerHTML = 'cancelar';
				displayDict['media'] = 'inline';
				displayDict['edit'] = 'none';
			} else {
				el.innerHTML = 'responder';
				displayDict['media'] = 'none';
				displayDict['edit'] = 'inline';
			}
		}

		for(var key in displayDict) {
			if(displayDict.hasOwnProperty(key)) {
				var	linkEl = Dsq.$('dsq-' + key + '-el-' + id),
					spacer = Dsq.$('dsq-' + key + '-spacer-' + id);

				if(linkEl) {
					linkEl.style.display = displayDict[key];
					if(spacer) spacer.style.display = displayDict[key];
				}
			}
		}
	};

	this._updateMediaLinks = function(el, id) {
		// Update "use media / cancel" links based on state.
		var appendId = (id) ? ('-' + id) : '';
		var link = Dsq.$('dsq-media-link' + appendId);

		if(this.stateRecordLink[id]) {
			link.innerHTML = 'Cancelar multimídia';
			link.onclick = function() { Dsq.Post.toggleMediaReply(link, id); return false; };
		} else {
			link.innerHTML = 'Usar multimídia <small>&#9660;</small>';
			link.onclick = function() { Dsq.Post.showMenu(link, id, 'media'); return false; };
		}
	};

	this.toggleReply = function(el, id) {
		// Create reply IFrame
		if (window.disqus_use_postmessage) {
			if (!this.stateReplyToggled[id]) {
				Dsq.$('dsq-reply-' + id).style.display = 'block';
				Dsq.$('dsq-reply-bar-' + id).style.display = 'block';
				// Create IFrame if it doesn't exist.
				if (!Dsq.frames['reply_' + id]) {
					var _meta = Dsq.jsonData.posts[id];
					Dsq.frames['reply_' + id] = new Dsq.ReplyFrame(Dsq.$('dsq-reply-frame-' + id), id);
					Dsq.frames['reply_' + id].init();
					Dsq.frames['reply_' + id].setState(id, _meta.depth);
				}
			} else {
				Dsq.$('dsq-reply-' + id).style.display = 'none';
				Dsq.$('dsq-reply-bar-' + id).style.display = 'none';
			}
		} else {
			// DEPRECATED
			if(!this.stateReplyToggled[id]) {
				// Reply toolbar
				Dsq.$('dsq-reply-bar-' + id).style.display = 'block';
				Dsq.Iframes.showReplyIframeInContainerIfAllowed(Dsq.$('dsq-reply-' + id), id);
			} else {
				Dsq.$('dsq-reply-bar-' + id).style.display = 'none';
				Dsq.Iframes.hideAllInContainer(Dsq.$('dsq-reply-' + id));
				if(this.stateRecordLink[id]) {
					// HACK: Cancel media before canceling self.
					this.toggleMediaReply(Dsq.$('dsq-media-link-' + id), id);
				}
			}
		}

		this.stateReplyToggled[id] = !this.stateReplyToggled[id];
		this._updateReplyLinks(el, id);

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE('dsq-reply-' + id); }

		Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_TOGGLED, {
			postId: id,
			opened: this.stateReplyToggled[id]
		});
	};

	this.toggleMediaReply = function(el, id, xtype) {
		id = id || 0;
		if(id) {
			var container = Dsq.$('dsq-reply-' + id);
		} else {
			var container = Dsq.$('dsq-post-add');
		}

		if(!this.stateRecordLink[id]) {
			Dsq.Iframes.showReplyIframeInContainer(container, id, {xtype:xtype}, 'dsq-post-video');
		} else {
			Dsq.Iframes.showReplyIframeInContainer(container, id);
		}
		this.stateRecordLink[id] = !this.stateRecordLink[id];
		this._updateMediaLinks(el, id);

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
	};

	this.edit = function(el, id) {
		Dsq.$('dsq-comment-message-' + id).innerHTML = Dsq.Templates.frameEdit(id);
		el.parentNode.style.display = 'none';
		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE('dsq-comment-message-' + id); }
	};

    this.rate = function(el, id, vote) {
		if(Dsq.jsonData.request.is_authenticated || Dsq.jsonData.forum.allow_anon_votes) {
			if(vote == 1) {
                Dsq.$('dsq-rate-cont-' + id).innerHTML = '<img src="http://media.disqus.com/images/loading-small.gif">';
            }

            Dsq.Utils.execScript('http://disqus.com/forums/winajuda/vote.js'
                + '?post_id='    + id
                + '&vote='        + vote);

		} else {
			Dsq.Popup.login(Dsq.Strings.TO_RATE_PLEASE_LOG_IN);
		}
    };

	this.showParent = function(id) {
		var author = Dsq.$('dsq-author-user-' + id).innerHTML;
		var post = Dsq.$('dsq-comment-message-' + id).innerHTML;
		
		post += '<br /><br /><a href="#comment-' + id + '">Jump to comment</a>';
		
		Dsq.Popup.popModal(post, author + ' said...', id);
	}

	this.report = function(id, confirmed) {
		if(confirmed) {
			Dsq.Utils.postToUrl('http://disqus.com/forums/winajuda/apple_libera_versao_final_do_safari_4/post_report/', {'post_id': id});
			Dsq.Popup.popModal('Thank you. This comment has been flagged for moderator attention.', 'Successfully flagged');
			Dsq.Utils.deleteNode(Dsq.$('dsq-post-report-' + id));
		} else {
			var title = Dsq.Strings.FLAG_INAPPROPRIATE_COMMENT;
			var message = Dsq.Strings.ARE_YOU_SURE_YOU_WOULD_LIKE_TO_REPORT_THIS_COMMENT_TO_A_MODERATOR + '? \
			<br /><br /> \
			<button type="button" onclick="Dsq.Popup._closePopup(null, true)"><strong>' + Dsq.Strings.NO + '</strong>, ' + Dsq.Strings.NEVER_MIND + '</button>&nbsp;&nbsp;&nbsp;<button type="button" onclick="Dsq.Post.report(' + id + ', true);"><strong>' + Dsq.Strings.YES + '</strong>, ' + Dsq.Strings.FLAG_INAPPROPRIATE_COMMENT + '</button><br /><br />'
			+ Dsq.Strings.THIS_WILL_FLAG_COMMENTS_FOR_MODERATORS_TO_TAKE_ACTION + '. \
			';

			Dsq.Popup.popModal(message, title, id);
		}
	};



	this.showAlert = function(id, msg) {
		var msgEl = Dsq.$('dsq-comment-message-' + id);
		var alert = '<div class="dsq-comment-alert">' + msg + '</div>';

		msgEl.innerHTML = alert + msgEl.innerHTML;
	};

};
// Dsq.Post


/**
 * Dsq.Thread
 */
Dsq.Thread = new function() {
	this.fc = null;
	this.ff = null;
	this.ac = null;

	
	this.adminIsOn = false;

	
	
	

	this.hlComment = null;
	this.hlCommentClass = null;

	this.getNextComment = function(el) {
		var start_id = el.id;
		while(el = el.nextSibling) {
			if(el.id && el.id.indexOf('dsq-comment-') != -1 && el.id != start_id) {
				return el;
			}
		}
		return null;
	};

	this.getActiveCommentId = function() {
		if (document.URL.indexOf('#comment-') >= 0) {
			var anchor = document.URL.slice(document.URL.indexOf('#') + 1);
			return anchor.replace('comment-', '');
		}
		return null;
	};

	this.highlightAnchor = function() {
		var i = this.getActiveCommentId();
		if (i == null) return false;
		var id = 'dsq-comment-' + i;
		var hash = window.location.hash;

		// Toggle the hash incase the comment isn't available when the page loads
		// for WebKit-based browsers.
		if (Dsq.Utils.webkit) {
			window.location.hash = '';
			window.location.hash = hash;
		}

		this.hlComment = Dsq.$(id);
		// Adding this conditional guard pending #289
		if (!this.hlComment) {
			return;
		}
		this.hlCommentClass = this.hlComment.className;
		this.hlComment.className += ' dsq-hl-anchor';

		setTimeout("Dsq.Thread.highlightClear()", 3000);
	};

	this.highlightClear = function() {
		if (!this.hlComment) {
			return;
		}
		this.hlComment.className = this.hlCommentClass;
	};

	this.login = function(toggle) {
		// toggle id is #dsq-reply-login-[id]
		var postId;
		if(toggle.id.indexOf('dsq-reply-login') != -1) {
			postId = toggle.id.slice(16);
			var container = Dsq.$('dsq-reply-' + postId);
		} else {
			var container = Dsq.$('dsq-post-add');
		}

		if(toggle) {
			if(toggle.className == 'dsq-login-active') {
				Dsq.Iframes.showReplyIframeInContainerIfAllowed(container, postId);
				toggle.className = '';
			} else {
				Dsq.Iframes.showLoginIframeInContainer(container, postId);
				toggle.className = 'dsq-login-active';
			}
		} else {
			Dsq.Iframes.showLoginIframeInContainer(container, postId);
		}

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
	};


	this.paginate = function(page, el_clicked, per_page) {
		// Use extra_params to pass any override parameters that we need to persist.
		var extra_params = '';

		// "Per page" can either be overriden by providing it as an argument
		// (per-call) or setting the disqus_per_page override variable (global).
		if(typeof per_page == 'undefined') {
			per_page = null;
		}
		if(typeof disqus_per_page != 'undefined' && per_page === null) {
			per_page = disqus_per_page;
		}

		if(typeof disqus_sort != 'undefined') {
			extra_params += '&sort=' + disqus_sort;
		}
		if(per_page !== null) {
			extra_params += '&per_page=' + per_page;
		}

		Dsq.$('dsq-pagination').innerHTML += '<img src="http://media.disqus.com/images/loading-small.gif">';
		
		if(el_clicked) {
			el_clicked.style.display = 'none';
		}
		
		Dsq.Utils.execScript('http://disqus.com/forums/winajuda/thread.js'
			+ '?slug='	+ 'apple_libera_versao_final_do_safari_4'
			+ '&p='		+ page
			+ extra_params);
	};

	this.sortBy = function(sort) {
		var disqus_script = document.createElement('script');
		var disqus_date = new Date();

		if (location.hash != '') {
			location.hash = '#disqus_thread';
		}

		if(typeof(disqus_url) == 'undefined') {
			disqus_url = disqus_href;
		}
		disqus_script.type = 'text/javascript';
		disqus_script.src = 'http://disqus.com/forums/winajuda/thread.js'
			+ '?slug='	+ 'apple_libera_versao_final_do_safari_4'
			+ '&sort='	+ sort
			+ '&title='
			+ '&'		+ disqus_date.getTime();

		Dsq.$('dsq-comments').innerHTML = '<img src="http://media.disqus.com/images/loading.gif">';
		Dsq.container.appendChild(disqus_script);
	};

	this.subscribe = function(status, email) {
		// `status` is an int -- 1 to subscribe, 0 to unsubscribe
		if(Dsq.jsonData.request.is_authenticated || email) {
			// If authenticated user OR anonymous email provided

			if(email) {
				Dsq.Popup._closePopup(null, true);
			}

			Dsq.Utils.execScript('http://disqus.com/forums/winajuda/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'apple_libera_versao_final_do_safari_4'
				+ '&email=' 	+ encodeURIComponent(email));

		} else if(!email) {
			// If anonymous user and no email has been provided yet, prompt for email

			var title = 'Subscribe to this comment thread';
			var message = ' \
				New comments will be sent directly to your email inbox! \
				<div class="dsq-subscribe-submit"> \
					<p><strong>Enter your email address below.</strong></p> \
					<input type="text" id="dsq-subscribe-email"> \
					<button type="button" onclick="Dsq.Thread.subscribe(1, Dsq.$(\'dsq-subscribe-email\').value)">Subscribe</button> \
				</div> \
			';

			Dsq.Popup.popModal(message, title);
		}
	};

	this.showSettings = function() {
		if (!Dsq.jsonData.request.is_moderator) {
			return;
		}

		/* The form has to be re-designed when more options will come out. */
		var html = 'Automatically close comments after <input size="3" id="dsq-thread-days-alive" value="' + Dsq.jsonData.thread.days_alive + '" type="text" /> days. Existing comments will still be displayed.<br /><br />(Using 0 days will disable this feature)<br /><br />'
								 + '<button type="button" onclick="Dsq.Thread.updateDaysAlive();" class="dsq-button-small"><span>Save</span></button>'
								 + '<span id="dsq-thread-settings-status" class="dsq-options-status"></span>';

		Dsq.Popup.popModal(html, 'Settings');
	};

  this.showModeratorActions = function() {
      if (!Dsq.jsonData.request.is_moderator) {
          return;
      }

      var html = '<div class="dsq-moderate-options"><table><tr>' +
                 '<td>' + Dsq.Strings.ACTIONS + '</td><td><ul>';
      html += '<li><a href="#" onclick="Dsq.Thread.toggleClosed(); return false;">' +
              (Dsq.jsonData.thread.closed ? Dsq.Strings.OPEN_THREAD : Dsq.Strings.CLOSE_THREAD) +
              '</a></li>';
      html += '<li><a href="#" onclick="Dsq.Thread.toggleKilled(); return false;">' +
              (Dsq.jsonData.thread.killed ? Dsq.Strings.RESTORE_THREAD : Dsq.Strings.REMOVE_THREAD) +
              '</a></li>';
      html += '</ul></td></tr></table></div>' +
              '<p>Go to the full <a href="http://disqus.com/comments/moderate-threads/" target="_blank">moderate panel</a> for more options.</p>';
      Dsq.Popup.popModal(html, Dsq.Strings.MODERATE_OPTIONS);
  };

	this.updateDaysAlive = function() {
		  var days = Dsq.$('dsq-thread-days-alive').value;
		  var status = Dsq.$('dsq-thread-settings-status');
		  Dsq.Utils.postToUrl('http://disqus.com/forums/winajuda/update_days_alive.js', {days:days,thread:Dsq.jsonData.thread.id});
		  status.innerHTML = 'Saved!';
		  window.setTimeout(function() { status.innerHTML = ''; }, 1000);
	};

  this.toggleClosed = function() {
      Dsq.Utils.postToUrl('http://disqus.com/forums/winajuda/toggle_thread_closed.js', {thread:Dsq.jsonData.thread.id});
      window.setTimeout(function() { window.location.reload(); }, 500);
  };

  this.toggleKilled = function() {
      Dsq.Utils.postToUrl('http://disqus.com/forums/winajuda/toggle_thread_killed.js', {thread:Dsq.jsonData.thread.id});
      window.setTimeout(function() { window.location.reload(); }, 500);
  };
};
// Dsq.Thread

Dsq.Events = function() {
	var obj = {};

	// Private
	var handlers = {};
	var getHandlers = function(event) {
		if (handlers[event] === undefined) {
			handlers[event] = [];
		}
		return handlers[event];
	};

	// Public
	// Value keys : postId, node, xtype
	obj.REPLY_IFRAME_CREATED = 1;
	// Value keys : postId, opened
	obj.REPLY_IFRAME_TOGGLED = 2;
	obj.fire = function(event, opt_value) {
		if (!event) {
			throw new Error('Unknown event');
		}
		var value = opt_value || {};
		for (var i=0; i<getHandlers(event).length; i++) {
			getHandlers(event)[i](value);
		}
	};
	obj.addHandler = function(event, callback) {
		getHandlers(event).push(callback);
	};

	return obj;
}();

/**
 * Dsq.Realtime
 */
Dsq.Realtime = new function() {
	var initialized = false;
	var interval = null;
	var last_checked = Dsq.jsonData.request.timestamp;
	var new_posts = [];
	var ongoing_request = false;
	var prev_script = null;

	function updateNewPostCount() {
		Dsq.$('dsq-realtime-alert').style.display = new_posts.length ? 'block' : 'none';

		Dsq.$('dsq-realtime-queued').innerHTML = new_posts.length
		+ ' new '
		+ Dsq.Utils.pluralize(new_posts.length, 'comment', 'comments')
		+ Dsq.Utils.pluralize(new_posts.length, ' was', ' were')
		+ ' just posted.';

		Dsq.$('dsq-realtime-show').innerHTML = '(' + Dsq.Strings.SHOW + ')';
	}

	function insertNewPosts() {
		var post_id = null;
		var after_id = Dsq.$('dsq-sort-select').value === 'oldest' ? -1 : null;

		for (var i=0; i<new_posts.length; i++) {
			post_id = new_posts[i];
			Dsq.Post.insert(after_id, post_id, Dsq.jsonData.posts[post_id].message);
			Dsq.Post.incrementPostCount();
			Dsq.Post.outlineComment(post_id);
		}
		new_posts = [];
	}

	this.enableInterval = function() {
		interval = setInterval(Dsq.Realtime.check, Dsq.jsonData.context.realtime_speed);
		Dsq.$('dsq-realtime-status').innerHTML = Dsq.Strings.ENABLED;
		Dsq.$('dsq-realtime-toggle').innerHTML = '(' + Dsq.Strings.PAUSE + ')';
	}

	this.disableInterval = function() {
		if (interval) {
			clearInterval(interval);
			interval = null;
		}
		Dsq.$('dsq-realtime-status').innerHTML = Dsq.Strings.PAUSED;
		Dsq.$('dsq-realtime-toggle').innerHTML = '(' + Dsq.Strings.RESUME + ')';
	}

	this.toggleInterval = function() {
		if (!interval) {
			Dsq.Realtime.enableInterval();
		} else {
			Dsq.Realtime.disableInterval();
		}
		return false;
	}

	this.initialize = function() {
		if (!initialized) {
			initialized = true;
			Dsq.$('dsq-realtime-toggle').onclick = this.toggleInterval;
			if (!Dsq.jsonData.forum.streaming_realtime) {
				Dsq.$('dsq-realtime-show').onclick = this.show;
				updateNewPostCount();
			}
			if (Dsq.jsonData.thread.realtime_paused) {
				Dsq.Realtime.disableInterval();
			} else {
				Dsq.Realtime.enableInterval();
			}
		}
	}

	this.show = function() {
		insertNewPosts();
		updateNewPostCount();
		return false;
	}

	this.check = function() {
		if (!ongoing_request && Dsq.jsonData.realtime_enabled) {
			if (prev_script) {
				prev_script.parentNode.removeChild(prev_script);
			}
			ongoing_request = true;
			prev_script = Dsq.Utils.execScript('http://disqus.com/forums/33224934/realtime.js?timestamp=' + last_checked);
		}
	};

	this.update = function(timestamp, posts, users) {
		ongoing_request = false;
		last_checked = timestamp;

		if (users) {
			for (var user_id in users) {
				if (users.hasOwnProperty(user_id)) {
					if (!Dsq.jsonData.users[user_id]) {
						Dsq.jsonData.users[user_id] = users[user_id];
					}
				}
			}
		}

		if (posts) {
			for (var post_id in posts) {
				if (posts.hasOwnProperty(post_id)) {
					if (!Dsq.jsonData.posts[post_id]) {
						Dsq.jsonData.posts[post_id] = posts[post_id];
						new_posts.push(post_id);
					}
				}
			}

			if (Dsq.jsonData.forum.streaming_realtime) {
				insertNewPosts();
			} else {
				updateNewPostCount();
			}
		}
	};

}();

// DEPRECATED
Dsq.Iframes = function() {
	// Different style of object from the above. Hoping to switch to this for some reason.
	var obj = {};

	// Private
	var showIframeInContainer = function(container, id, markup) {
		// Look through container for iframes, hiding them, except show one that matches id
		// If none of them matched id, create a new iframe using markup and insert it.
		// Returns the iframe node if and only if it was newly created.
		var found = false;
		for (var i=0; i<container.childNodes.length; i++) {
			var child = container.childNodes[i];
			if (child.nodeName == 'IFRAME') {
				if (child.id == id) {
					child.style.display = 'block';
					found = true;
				} else {
					child.style.display = 'none';
				}
			}
		}
		if (found) {
			return;
		}
		// The iframe wasn't found, so construct it and add it to the container.
		// Don't use innerHTML because it might reload iframes
		var div = document.createElement('div');
		div.innerHTML = markup;
		var iframe = div.childNodes[0];
		div.removeChild(iframe);
		container.appendChild(iframe);
		return iframe;
	};

	// Public
	obj.makeReplyIframeId = function(opt_postId, opt_xtype) {
		var id = 'dsq-post-add-iframe';
		if (opt_xtype) {
			id += '-' + opt_xtype;
		}
		if (opt_postId) {
			id += '-' + opt_postId;
		}
		return id;
	};
	obj.makeLoginIframeId = function(opt_postId) {
		if (!opt_postId) {
			return 'dsq-login-iframe';
		}
		return 'dsq-login-iframe-' + opt_postId;
	};
	obj.makeReplyIframeName = function(opt_postId, opt_xtype) {
		var name = 'dsq-reply-frame';
		if (opt_xtype) {
			name += '-' + opt_xtype;
		}
		if (opt_postId) {
			name += '-' + opt_postId;
		}
		return name;
	};
	obj.showReplyIframeInContainer = function(container, opt_postId, opt_extraParams, opt_className) {
		// Construct the id so we can check if it's already present.
		// Hide any other iframes we find, and show this one if it's found.
		var params = opt_extraParams || {};
		// use xtype in the id and name so we can distinguish media replies from text replies:
		var id = Dsq.Iframes.makeReplyIframeId(opt_postId, params.xtype);
		var name = Dsq.Iframes.makeReplyIframeName(opt_postId, params.xtype);
		var attributes = {
			'id': id,
			'name': name,
			'class': opt_className || 'dsq-post-reply'
			};
		var markup = Dsq.Templates.frameReply(opt_postId, opt_extraParams, attributes);
		var iframe = showIframeInContainer(container, id, markup);
		// It was newly created
		if (iframe) {
			Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_CREATED, {
				postId: opt_postId,
				node: iframe,
				xtype: params.xtype
			});
		}
	};
	obj.showLoginIframeInContainer = function(container, opt_postId) {
		var id = Dsq.Iframes.makeLoginIframeId(opt_postId);
		var markup = Dsq.Templates.frameLogin({id: id});
		showIframeInContainer(container, id, markup);
	};
	obj.showReplyIframeInContainerIfAllowed = function(container, opt_postId) {
		if (Dsq.jsonData.context.show_reply) {
			obj.showReplyIframeInContainer(container, opt_postId);
		} else {
			obj.hideAllInContainer(container);
		}
	};
	obj.hideAllInContainer = function(container) {
		for (var i=0; i<container.childNodes.length; i++) {
			var child = container.childNodes[i];
			if (child.nodeName == 'IFRAME') {
				child.style.display = 'none';
			}
		}
	};

	return obj;
}();

Dsq.Twitter = new function() {
	var that = this;

	this.startTwitterConnect = function() {
		var popupParams = 'location=0,status=0,width=800,height=400';
		that._twitterWindow = window.open(Dsq.jsonData.settings.disqus_url + '/_ax/twitter/begin/', 'twitterWindow', popupParams);
		that._twitterInterval = window.setInterval(that.completeTwitterConnect, 1000);
	};

	this.completeTwitterConnect = function() {
		if (that._twitterWindow.closed) {
			window.clearInterval(that._twitterInterval);
			window.location.reload();
		}
	};
};

Dsq.Yahoo = new function() {
	var that = this;

	this.startYahooConnect = function() {
		var popupParams = 'location=0,status=0,width=800,height=400';
		that._yahooWindow = window.open(Dsq.jsonData.settings.disqus_url + '/_ax/yahoo/begin/', 'yahooWindow', popupParams);
		that._yahooInterval = window.setInterval(that.completeYahooConnect, 1000);
	};

	this.completeYahooConnect = function() {
		if (that._yahooWindow.closed) {
			window.clearInterval(that._yahooInterval);
			window.location.reload();
		}
	};
};

Dsq.OpenID = new function() {
	var that = this;

	this.requestURL = function() {
		var message = '<table class="dsq-openid-form"><tr><td style="vertical-align:top;" rowspan="2"><img src="' + Dsq.jsonData.settings.media_url + '/images/openid-icon-100x100.png" /></td>';
		message += '<td><label for="dsq-openid-url">OpenID URL:</label></td><td><input type="text" id="dsq-openid-url" /></td></tr>';
		message += '<tr><td><label for="dsq-openid-username">Display name:</label></td><td><input type="text" id="dsq-openid-username" /></td></tr>';
		message += '<tr><td class="dsq-openid-submit" colspan="3"><input type="button" value="Sign in" onclick="Dsq.OpenID.startConnect();" /></td></tr>';
		message += "</table>";

		Dsq.Popup.popModal(message, 'Sign in using OpenID');
	};

	this.startConnect = function() {
		var isblank = function(str) {
			return /^\s*$/.test(str);
		};

		var openid_url = Dsq.$('dsq-openid-url').value;
		var username = Dsq.$('dsq-openid-username').value;

		if (isblank(openid_url)) {
			return;
		}

		var popupParams = 'location=0,status=0,width=800,height=500';
		var url = Dsq.jsonData.settings.disqus_url + '/_ax/openid/begin/' + '?url=' + encodeURIComponent(openid_url) + '&username=' + encodeURIComponent(username);
		that._openidWindow = window.open(url, 'openidWindow', popupParams);
		that._openidInterval = window.setInterval(that.completeConnect, 1000);
	};

	this.completeConnect = function() {
		if (that._openidWindow.closed) {
			window.clearInterval(that._openidInterval);
			window.location.reload();
		}
	};
};

Dsq.Reaction = new function() {
	var that = this;

	this.hide = function(id) {
		Dsq.Utils.execScript('http://disqus.com/forums/winajuda/hidereaction.js?' + 'reaction_id=' + id);
	};

	this.reportMissingReactions = function() {
		if (!Dsq.jsonData.request.is_moderator || !Dsq.jsonData.forum.reactions_enabled) {
			return;
		}

		if (Dsq.jsonData.thread.queued) {
			Dsq.Popup.popModal('Your report has been received. The system will automatically search for new reactions; if any are found, they will be displayed on this comment thread.<br/><br/>Thank&nbsp;you.',
												 'Reported missing reactions');
			return;
		}

		Dsq.Utils.execScript(Dsq.jsonData.settings.disqus_url + '/forums/winajuda/queueurl.js');
	};
};

Dsq.CNN = function() {
	var obj = {};

	obj.authenticate = function() {
		var url = Dsq.jsonData.settings.disqus_url + "/saml/cnn/try/";
		Dsq.Utils.postToUrl(url, {'target': document.location}, true);
	};

	return obj;
}();


if(Dsq.Utils.ie6) {
	(function() {
		DSQ_HEADER_AVATAR_RE = /<div class="dsq-header-avatar"(.*?)>/gim;
		Dsq.Templates.registerFilter('postPrependHeader', function(html, post_id) {
			// Add "onmouseout" for dsq-header-avatar for dropProfile
			// functionality since IE6 cannot use :hover.
			function _headerAvatarReplace(content, inner, _unused, html) {
				return '<div class="dsq-header-avatar" '
					+ inner
					+ ' onmouseout="Dsq.Post.dropProfile(' + post_id + ')">';
			}
			html = html.replace(DSQ_HEADER_AVATAR_RE, _headerAvatarReplace);
			return html;
		});
	})();
}





	// TODO: Move Seesmic code outside of the main script.  Don't let this script clobber the global namespace.
	if(typeof seesmic == 'undefined') { var seesmic = {}; }
	seesmic.widget = new function () {
		this.callback = function (data) {
			playerVersion = data.disqusplayer;
		};
	};

	
	var scriptEl = document.createElement('script');
	scriptEl.setAttribute('type', 'text/javascript');
	scriptEl.setAttribute('src', 'http://seesmic.com/version.js?callback=seesmic.widget.callback');
	document.getElementsByTagName('head')[0].appendChild(scriptEl);

	
	var scriptEl = document.createElement('script');
	scriptEl.setAttribute('type', 'text/javascript');
	scriptEl.setAttribute('src', 'http://media.disqus.com/javascript/library/swfobject.js');
	document.getElementsByTagName('head')[0].appendChild(scriptEl);

	function see_play_video(_videoUri, _add) {
		var swf = !!playerVersion ? playerVersion : 'http://seesmic.com/embeds/StandalonePlayer.swf';

		flashcontentDiv = Dsq.$(_videoUri + '_content');
		previewDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_preview');
		hideDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_hide');
		showDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_show');
		if(_add) {
			// push flash widget
			var so = new SWFObject(swf, 'sotester', '300', '270', '9', '#000000');
			so.addVariable('video', _videoUri);
			so.addParam('allowFullScreen', 'true');
			so.addParam('allowScriptAccess','always');
			so.useExpressInstall('swfobject/expressinstall.swf');
			so.write(_videoUri + '_content');

			previewDiv.style.display = 'none';
			hideDiv.style.display = 'block';
			showDiv.style.display = 'none';
		}
		else {
			flashcontentDiv.innerHTML = '';
			previewDiv.style.display = 'block';
			hideDiv.style.display = 'none';
			showDiv.style.display = 'block';
		}
	};





(function() {
	//
	// Load theme.  This overrides the base templates with template functions
	// from the respective themes.
	//
	if (Dsq.jsonData.integration.theme == 4) {
		var theme = 'narcissus';
		// HACK: Set variable on window to use post message.
		window.disqus_use_postmessage = true;

		
		for(var prop in Dsq.Themes[theme]) {
			if(Dsq.Themes[theme] && Dsq.Themes[theme].hasOwnProperty(prop)) {
				Dsq.Templates[prop] = Dsq.Themes[theme][prop];
			}
		}
		
		for(var prop in Dsq.Post) {
			if(Dsq.Themes[theme] && Dsq.Themes[theme].hasOwnProperty(prop)) {
				Dsq.Post[prop] = Dsq.Themes[theme][prop];
			}
		}
	}

	//
	// Register templates.  This must be done after all themes are loaded.
	//
	Dsq.Templates.registerTemplate('authPost', Dsq.Templates.authPost);
	Dsq.Templates.registerTemplate('header', Dsq.Templates.header);
	Dsq.Templates.registerTemplate('footer', Dsq.Templates.footer);
	Dsq.Templates.registerTemplate('trackbacks', Dsq.Templates.trackbacks);
	Dsq.Templates.registerTemplate('reactions', Dsq.Templates.reactions);
	Dsq.Templates.registerTemplate('prependPost', Dsq.Templates.prependPost);
	Dsq.Templates.registerTemplate('appendPost', Dsq.Templates.appendPost);
	Dsq.Templates.registerTemplate('postPrependHeader', Dsq.Templates.postPrependHeader);
	Dsq.Templates.registerTemplate('postAppendHeader', Dsq.Templates.postAppendHeader);
	Dsq.Templates.registerTemplate('preBody', Dsq.Templates.preBody);
	Dsq.Templates.registerTemplate('postBody', Dsq.Templates.postBody);
	Dsq.Templates.registerTemplate('postFooter', Dsq.Templates.postFooter);
	Dsq.Templates.registerTemplate('_popupGeneric', Dsq.Templates._popupGeneric);
	Dsq.Templates.registerTemplate('voted', Dsq.Templates.voted);
	Dsq.Templates.registerTemplate('popupProfile', Dsq.Templates.popupProfile);
	Dsq.Templates.registerTemplate('postBox', Dsq.Templates.postBox);
	Dsq.Templates.registerTemplate('pagination', Dsq.Templates.pagination);
	Dsq.Templates.registerTemplate('postComment_onSuccess', Dsq.Templates.postComment_onSuccess);

})();

Dsq.container.className = "clearfix";
Dsq.container.innerHTML = ' \
<ul id="dsq-comments">\
	 <li id="dsq-comment-16158917">\
	 <div id="dsq-comment-header-16158917" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158917" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158917">Guilherme</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158917" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158917" class="dsq-comment-message">Um bom navegador, uma pena que consuma tanta memória do PC, depois de 10 minutos de uso ficou oscilando entre 160~180 MB com apenas uma pagina aberta.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158922">\
	 <div id="dsq-comment-header-16158922" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158922" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158922">Rogerio</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158922" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158922" class="dsq-comment-message">O meu pc que ta no corredor da morte faz um tempão ta oscilando o consumo de memória entre 45 e 60 MB com uma página aberta e fazendo download!... mas ainda prefiro Opera!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158923">\
	 <div id="dsq-comment-header-16158923" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158923" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158923">Rogerio</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158923" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158923" class="dsq-comment-message">...corrigindo.... entre 55 e 60MB o consumo de memória</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158918">\
	 <div id="dsq-comment-header-16158918" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158918" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158918">Mário</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158918" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158918" class="dsq-comment-message">Pode ser rápido, mas é extremamente cru, tal qual o Chrome. Precisam melhorar nesse quesito.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158919">\
	 <div id="dsq-comment-header-16158919" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158919" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158919">fii</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158919" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158919" class="dsq-comment-message">A versão final ficou excelente. O unico ponto fraco é o consumo elevado de memória (aqui, oscula entre 110~120 MB) mas, ainda assim, o melhor navegador na minha opinião.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158920">\
	 <div id="dsq-comment-header-16158920" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158920" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158920">fii</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158920" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158920" class="dsq-comment-message">oscila*</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158921">\
	 <div id="dsq-comment-header-16158921" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158921" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158921">Willian Rosa</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158921" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158921" class="dsq-comment-message">Opera manda abraços!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158924">\
	 <div id="dsq-comment-header-16158924" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158924" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16158924" href="http://sobre.rodrigoghedin.com.br/" target="_blank" rel="nofollow">Rodrigo Ghedin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158924" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158924" class="dsq-comment-message">Testei aqui, achei o consumo de memória estupidamente alto, sem falar no uso constante (e alto também) do processador. O irmão "bastardo", também conhecido como Google Chrome, faz mais e cobra menos do PC. Continuo com ele.<br><br>[]\'s!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158928">\
	 <div id="dsq-comment-header-16158928" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158928" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158928">Maurício</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158928" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158928" class="dsq-comment-message">Logo logo lançam uma atualização xD</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158940">\
	 <div id="dsq-comment-header-16158940" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158940" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158940">Rogerio</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158940" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158940" class="dsq-comment-message">Saudações Ghedin! nesse exato momento o safari ta degustando de 51mb... do pouco que o meu pc tem e não ta usando tanto o processador. Estou usando um xp modificado no nlite, será esse o motivo? a única coisa que percebi é que o safari da umas travadinhas quando entro em algumas páginas (não todas) mas ja volta ao normal. []\'s</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158925">\
	 <div id="dsq-comment-header-16158925" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158925" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158925">Octavio Augusto</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158925" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158925" class="dsq-comment-message">Me recuso a usar um navegador que não me permite controlar o tamanho de seu cache.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158926">\
	 <div id="dsq-comment-header-16158926" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158926" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158926">2</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158926" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158926" class="dsq-comment-message">opera manda boas-vindas isso sim</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158927">\
	 <div id="dsq-comment-header-16158927" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158927" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158927">Maurício</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158927" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158927" class="dsq-comment-message">Como um bom designer, preciso tê-lo instalado... sem contar que curti a interface... e realmente, Safari com as abas pra cima não estava vingando não... deixa pro Papai Chrome essa função. :D<br><br>Ah... sobre o consumo de memória... hoje em dia é "padrão", ter uns 3GB, então um consumo de 110 ~140 eu acho razoável.<br><br>Uma coisa que não ficou bacana aqui no Win7, é que ele separa os ícone de executar o programa dos que estão sendo utilizados e o lado bom, como o Chrome, é que cada aba é um processo diferente. :D<br><br>[]\'s</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158929">\
	 <div id="dsq-comment-header-16158929" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158929" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158929">Seu Madruga</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158929" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158929" class="dsq-comment-message">Cara, ainda fico com o FF, mas estou sebando que ele tem a ferramenta Cover Flow, existente no iTunes, onde o usuário poderá explorar seus favoritos em uma interface 3D; Se tiver isso para o FF seria massa.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158930">\
	 <div id="dsq-comment-header-16158930" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158930" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158930">Fabiano Matheus</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158930" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158930" class="dsq-comment-message">Muito rápido, demais! CoverFlow incrível :) <br><br>Não sei porque, mas só o FF e o IE funcionam direito no orkut, o resto tudo buga :S</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158931">\
	 <div id="dsq-comment-header-16158931" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158931" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158931">Roberto</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158931" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158931" class="dsq-comment-message">Agradeço, mas o FIREFOX  é "O Cara" !!!  Não abro mão por nada, o novo 3.5 então,vai arrasar a concorrência.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158973">\
	 <div id="dsq-comment-header-16158973" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158973" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158973">Nelson</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158973" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158973" class="dsq-comment-message">Já atualizou o Firefox para a versão:  Mozilla/5.0 (Windows; U; Windows NT 6.1; pt-BR; rv:1.9.1b99) Gecko/20090605 Firefox/3.5b99 (.NET CLR 3.5.30729)?<br>Aqui estou achando e mais rápida que anterior.<br>Abraços.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158974">\
	 <div id="dsq-comment-header-16158974" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158974" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158974">Nelson</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158974" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158974" class="dsq-comment-message">Corrigindo: achando melhor mais rápida que a versão anterior.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158980">\
	 <div id="dsq-comment-header-16158980" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158980" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16158980" href="http://www.technowbr.com" target="_blank" rel="nofollow">Lucas Dillmann</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158980" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158980" class="dsq-comment-message">Já havia atualizado para ele ontem e, pena que o Glasser não funciona mais nele (pra variar), porem o AllGlass continua funcionando...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158933">\
	 <div id="dsq-comment-header-16158933" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158933" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158933">Ricardo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158933" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158933" class="dsq-comment-message">«A nova onda é dizer que seu navegador é “o mais rápido do mundo”.»<br><br>A Apple usava esse slogan para o Safari muito antes de outros navegadores começarem a disputar o título.<br><br>«Informações da Apple à parte, o Lifehacker fez testes comparativos entre o Safari 4 e concorrentes, há algum tempo, utilizando a versão beta.»<br><br>Esperemos pelos comparativos com a versão final... ;)<br><br>«(...) e implementou um sistema anti-travamento a la Internet Explorer 8.»<br><br>Que por sua vez implementou um sistema anti-travamento a la Google Chrome. :P</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158935">\
	 <div id="dsq-comment-header-16158935" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158935" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16158935" href="http://www.viniciusnf.co.cc/" target="_blank" rel="nofollow">Vinícius Novais</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158935" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158935" class="dsq-comment-message">Tá vacilando o WinAjuda puxando a sardinha para o IE.<br>Quando o IE 8 veio à tona, o tom aqui no WinAjuda era que este sim era o navegador mais rápido...<br>Eu sei que este blog é do mundo Microsoft, posso até estar vacilando, mas...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158936">\
	 <div id="dsq-comment-header-16158936" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158936" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16158936" href="http://buscaespiritual.zip.net/" target="_blank" rel="nofollow">André Luiz</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158936" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158936" class="dsq-comment-message">Opinião a gente respeita. Mas na minha visão e acompanho o WinAjuda desde sua inauguração, a cobertura que se dá a qualquer matéria é a mesma, com prós e contras. Haja visto o Chrome com sua vesão final lançada recentemente,  que o Ghedin inclusive está usando e que eu não estou no momento porque ele só tem o gerenciador de downloads nativo. Não aceita nehnum outro. No momento o IE8, FF, Ópera e Chrome se equivalem, cada um com suas vantagens, dependendo da máquina e do operacional.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158952">\
	 <div id="dsq-comment-header-16158952" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158952" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16158952" href="http://www.viniciusnf.co.cc/" target="_blank" rel="nofollow">Vinícius Novais</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158952" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158952" class="dsq-comment-message">Eu sei... já vi matérias interessantissímas aqui sobre o Flock...<br>Estou dizendo que quando o IE 8 saiu, o WinAjuda disse que o mesmo era o navegador mais rápido do mercado, e várias pesquisas mostraram o contrário...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158956">\
	 <div id="dsq-comment-header-16158956" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158956" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16158956" href="http://sobre.rodrigoghedin.com.br/" target="_blank" rel="nofollow">Rodrigo Ghedin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158956" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158956" class="dsq-comment-message">Vinícius, eu nunca escrevi isso :roll: . <a href="http://www.winajuda.ig.com.br/2009/03/25/polemica-seria-o-internet-explorer-8-o-navegador-mais-rapido/" rel="nofollow">O que escrevi</a> foi sobre uma pesquisa encomendada pela Microsoft e realizada pela Unesp que apontava o IE8 como mais rápido. Veja, não fui eu, foi a própria Microsoft quem afirmou - da mesma maneira que a Apple fez com o Safari 4, a Google com o Chrome, e por aí vai.<br><br>Na realidade, não me lembro de ter dito que navegador "a" é o mais rápido. Particularmente, prefiro o Chrome, mas isso não quer dizer, em termos absolutos, que ele é o mais rápido.<br><br>[]\'s!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158969">\
	 <div id="dsq-comment-header-16158969" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158969" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158969">Luiz</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158969" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158969" class="dsq-comment-message">João sem braço.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158977">\
	 <div id="dsq-comment-header-16158977" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158977" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158977">ze roberto</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158977" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158977" class="dsq-comment-message">Como não escreveu Ghedin? Quem "escreveu" FASTEST na figura do IE8 então, o lugar onde o apelo visual seria mais forte que as famosas 1000 palavras? <br><br>Além do mais, "não lembro" de você questionar a veracidade ou mostrar outro "teste".</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158978">\
	 <div id="dsq-comment-header-16158978" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158978" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16158978" href="http://sobre.rodrigoghedin.com.br/" target="_blank" rel="nofollow">Rodrigo Ghedin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158978" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158978" class="dsq-comment-message">Às vezes eu acho que esse tipo de comentário é feito de propósito, só para me sacanear. A imagem foi feita para <strong>ilustrar</strong> o <em>post</em>. Sabe o que é ilustrar? Segundo o Michaelis, ilustrar é: "Adornar com estampas ou gravuras". Se você acha que uma imagem vale mais que palavras, desculpe, meu caro, mas você está no site errado.<br><br>Sei que ler não é seu forte, mas dá uma lida no último parágrafo daquele <em>post</em>, por favor. Para facilitar, transcrevo aqui:<br><br><em>"Venho utilizando a versão final do navegador desde o lançamento, e como as diferenças, mostradas no teste acima, são mínimas, é difícil dizer se é mais rápido ou mais lento que os concorrentes. A sensação (vejam, é uma sensação, algo sem base científica, uma opinião emitida no “olhômetro”) é de que Chrome, Firefox e, principalmente, Opera* são mais rápidos. Mas, na prática, fica a dúvida no ar."</em><br><br>[]\'s!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158979">\
	 <div id="dsq-comment-header-16158979" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158979" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16158979" href="http://www.technowbr.com" target="_blank" rel="nofollow">Lucas Dillmann</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158979" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158979" class="dsq-comment-message">Sempre tem gente que "não se toca", nem vale a pena se "estressar" por eles...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158954">\
	 <div id="dsq-comment-header-16158954" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158954" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158954">Marcelo Gouveia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158954" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158954" class="dsq-comment-message">Então agora você já pode começar a usar (o Chrome), porque o FreeDownloadManager já gerencia os downloads do Chrome:<br><br><a href="http://www.freedownloadmanager.org/" rel="nofollow">http://www.freedownloadmanager.org/</a><br><br>Além do Chrome ele também gerencia os downloads do IR, FF, Safari, Opera, etc. E ainda por cima é gratuito.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158937">\
	 <div id="dsq-comment-header-16158937" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158937" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16158937" href="http://wkoch.wordpress.com/" target="_blank" rel="nofollow">William Koch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158937" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158937" class="dsq-comment-message">Eu não testei essa versão nova do Safari no windows, mas a versão anterior era uma grande porcaria no windows.<br><br>Não se enganem, o Safari é bom no Mac, é o navegador mais rápido, o FF e Opera demoram de 3 a 5 vezes o tempo que o Safari leva para abrir, e a navegação também é mais rápida no Safari que nos outros, isso no Mac.<br><br>A versão windows do Safari eu sempre considerei um dos piores navegadores, e nem acho utilizável no dia a dia. O Safari do Windows e o do Mac tem desempenho totalmente diferente.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158938">\
	 <div id="dsq-comment-header-16158938" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158938" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16158938" href="http://buscaespiritual.zip.net/" target="_blank" rel="nofollow">André Luiz</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158938" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158938" class="dsq-comment-message">Concordo. o Safari no Windows é fraquíssimo. Tem uma lnga caminhada se quiser chegar aos pés dos quatro melhores que citei aí em cima.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158939">\
	 <div id="dsq-comment-header-16158939" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158939" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158939">Pedro</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158939" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158939" class="dsq-comment-message">Eu tambem concordo, o Safari no Mac nem se compara com o do Windows (a mesma coisa para o iTunes), mas mesmo assim, o Chrome, no Mac, e bem mais rapido que o Safari.<br><br>So e uma pena que o Chrome no Mac ainda esteja num estagio muito prematuro de desenvolvimento.<br><br>Obs.: esotu comentando pelo Chrome rodando no Mac OSX.<br>Obs.2: o Chrome esta tao prematuro que os acentos ainda nao estao funcionando nele, por isso que nao tem nenhum acento nesse comentario.<br><br>Obs.3: mesmo sendo bem fraco no Windows se comparado com o Mac, o Safari melhorou muito, nem se compara que a primeira versao liberada pra Windows.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158961">\
	 <div id="dsq-comment-header-16158961" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158961" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158961">Eduardo Garcia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158961" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158961" class="dsq-comment-message">O Chrome do MAC ainda tá na versão alpha do alpha... Estou usando o chrome no windows e ele é o melhor que já vi até agora..<br>Obs.: Já passei pelo FF,IE,SAFARI,NETSCAPE(antigo), parei no melhor (chrome)...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158972">\
	 <div id="dsq-comment-header-16158972" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158972" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158972">Pedro</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158972" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158972" class="dsq-comment-message">Eu sei que ele está bem cru, alpha do alpha, mas mesmo assim já é bem mais rápido que o Safari 4.<br><br><br>Obs.: também já passei por todos esses navegadores e mais alguns outros e parei no Chrome (e não consigo mais largar).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158941">\
	 <div id="dsq-comment-header-16158941" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158941" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158941">Fabrício</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158941" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158941" class="dsq-comment-message">Ultimamente o Ghedin está criticando tanto a Apple :S .<br><br>Se eu não o conhecesse, já estaria pensando besteira :P .</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158942">\
	 <div id="dsq-comment-header-16158942" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158942" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158942">Marcelo Gouveia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158942" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158942" class="dsq-comment-message">Caro Rodrigo,<br><br>Também acho a auto-conclamação fora de medida. Mas, convenhamos que os testes citados por você são de fevereiro, contra o IE 7, I8 beta 2, o FireFox 3.1 beta 2, Opera 9.63 e Chrome 1.0.154.<br><br>Portanto, vamos dar um crédito e aguardar os próximos testes que o próprio site Lifehacker afirmou que irá realizar em breve: <a href="http://lifehacker.com/5283294/safari-4-leaves-beta-calls-itself-worlds-fastest-browser" rel="nofollow">http://lifehacker.com/5283294/safari-4-leaves-b...</a>.<br><br>Concordo com quem disse aqui que o Safari é melhor no Mac, e estou de pleno acordo de que o Chrome é o mais leve e por isso só uso ele desde o começo.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158943">\
	 <div id="dsq-comment-header-16158943" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158943" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158943">Rafael</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158943" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158943" class="dsq-comment-message">O melhor navegador é o Internet Explorer 8 no Windows 7, apenas no Windows 7. Não sei porque, mas o navegador no Windows XP trava e fica lento. O FF é o mais demorado para abrir, parecendo o Netscape quando usávamos lá pelos meados de 1994. O Chrome é o mais rápido de todos, porém é "pelado". O Opera e o Safari consomem muita memória e são lentos, principalmente o Opera 10, por apresentar abas gigantes que ocupam o navegador pela metade, possibilitando (ainda bem) ajustes para a sua redução.<br><br>O Internet Explorer 8, que funciona apenas no Windows 7, é o mais completo (já possui add-ons, é rápido e consumo pouca memória, comparado com o Opera e Safari).<br><br>Se você é um usuário que apenas "navega na Internet", recomendadíssimo o Google Chrome.<br><br>Se você quer um navegador ao seu estilo, use o Firefox 3.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158944">\
	 <div id="dsq-comment-header-16158944" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158944" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158944">Marcelo Gouveia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158944" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158944" class="dsq-comment-message">Percebi a mesma coisa, o IE 8 no XP é uma carroça, trava e as vezes (pelo menos aqui) fecha sozinho.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158947">\
	 <div id="dsq-comment-header-16158947" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158947" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158947">Leo_Koester</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158947" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158947" class="dsq-comment-message">Uma pergunta: você acessa (ou já acessou) algum site de banco usando esse IE8 lento do XP? <br>Algo como Banco Real, Unibanco, Bradesco, Caixa ou BB?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158948">\
	 <div id="dsq-comment-header-16158948" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158948" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158948">Marcelo Gouveia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158948" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158948" class="dsq-comment-message">Não uso o IE, somente o Chrome, portanto nunca acessei esses sites por ele.<br><br>Me desculpe pela devolução da pergunta, mas, qual é a dúvida?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158949">\
	 <div id="dsq-comment-header-16158949" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158949" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158949">Leo_Koester</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158949" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158949" class="dsq-comment-message">Desculpe a confusão, Marcelo. <br>A pergunta foi para o Rafael.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158950">\
	 <div id="dsq-comment-header-16158950" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158950" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158950">Rafael</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158950" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158950" class="dsq-comment-message">Eu já acessei Santander e Caixa Federal. O maior problema do IE8 no XP é a sua lentidão, e muita lentidão, que chega até a dar desespero.<br><br>Comigo acontece algo bastante diferente: quando digito algum texto, que pode esse aqui mesmo, ou então na barra de endereços, o mesmo não completa, ou seja, algumas vogais e consoantes ficam faltando, não sendo eu que esqueci de digitar, mas sim o navegador de não exibir da tela. Testei o IE8 no Windows XP em 4 (quatro) computadores Dual Core e todos eles apresentaram este defeito. Destes quatro, fiz a desintalação da versão 8 para a versão 7 e o problema foi solucionado.<br><br>Realmente o IE8 no XP é impossível de usar, meu primo, meus irmãos testaram em seus PC´s e este problema persistiu. Agora, no Windows 7, é uma maravilha, inclusive, não tenho nenhum outro navegador instalado, apenas o IE8.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158953">\
	 <div id="dsq-comment-header-16158953" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158953" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158953">Marcelo Gouveia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158953" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158953" class="dsq-comment-message">Realmente! Constatei exatamente isso aqui. O IE 8 fica comendo alguma letras na hora de digitar qualquer coisa dentro do navegador.<br>A solução foi idêntica, remover o IE 8 e voltar a usar o IE 7.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158957">\
	 <div id="dsq-comment-header-16158957" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158957" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158957">Rafael</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158957" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158957" class="dsq-comment-message">Será que a Microsoft vai lançar uma correção para este bug?<br><br>Muita gente está tendo esse problema. Esse erro deve-se ao fato de usar um navegador lançado recentemente em um sistema operacional de 8 anos.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158955">\
	 <div id="dsq-comment-header-16158955" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158955" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158955">Marcelo Gouveia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158955" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158955" class="dsq-comment-message">PS: meus usuários aqui usam o IE 7, que atualizaram automaticamente para o IE 8, que me deu um trabalhão para descobrir o problema.<br>É muito difícil mudar o gosto dos usuários e tentar convencê-los a usar o Chrome.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158958">\
	 <div id="dsq-comment-header-16158958" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158958" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158958">Leo_Koester</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158958" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158958" class="dsq-comment-message">Rafa, o problema no seu IE8 é o <em>G-Buster Browser Defense</em>, um plugin de segurança (ridiculamente mal feito) instalado pelos bancos que eu citei que simplesmente <strong>acaba</strong> com a navegação dos sites.<br><br>Eu sei disso pois tive o mesmo problema que você relatou em (pasme) 22 máquinas das filiais da empresa onde trabalho. Remover o G-Buster foi a única solução, além de ser obrigado a bloquear <em>todos</em> os sites de Internet Banking do Brasil nessas lojas.<br><br>Esse problema realmente não aparece no Windows 7, e também não aparece no Windows Vista. Acho que tem alguma coisa a ver com o acesso à memória, que é diferente do XP.<br><br>Se quiser saber como fazer para remover esta praga, acesse: <a href="http://insanebits.blogspot.com/2007/04/g-buster-browser-defense-analysis-and.html" rel="nofollow">http://insanebits.blogspot.com/2007/04/g-buster...</a>. Dá trabalho, mas funciona.<br><br>Se quiser continuar utilizando o IE8 com os sites dos bancos, aconselho a usar o Sandboxie (<a href="http://www.sandboxie.com/" rel="nofollow">http://www.sandboxie.com/</a>) em máquinas x86. Assim, você não compromete seu sistema.<br><br>Espero ter ajudado.<br><br>A propósito: uso o IE8 no Windows XP e não volto para o IE7 nem por decreto. :D</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158960">\
	 <div id="dsq-comment-header-16158960" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158960" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158960">Rafael</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158960" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158960" class="dsq-comment-message">Obrigado pelas dicas! :-)<br><br>Realmente nunca iria imaginar que um programa instalado pelos sites de bancos iria comprometer o navegador.<br><br>Vou seguir este tutorial e assim que eu fizer a remoção do plugin, estarei comentando aqui os resultados.<br><br>OBRIGADO</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158970">\
	 <div id="dsq-comment-header-16158970" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158970" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16158970" href="http://buscaespiritual.zip.net/" target="_blank" rel="nofollow">André Luiz</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158970" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158970" class="dsq-comment-message">O IE8 funciona também muitísimo bem no Vista. Pelo menos no meu pc. Realmente em outros 2 pcs com o Windows 7 ele funciona muito bem.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158945">\
	 <div id="dsq-comment-header-16158945" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158945" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158945">viperbruno</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158945" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158945" class="dsq-comment-message">Faz tanto 60 Mb como passa para os 120Mb e ja vi a ir aos 160 MB. O processador vai aos 20 % com ele.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158946">\
	 <div id="dsq-comment-header-16158946" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158946" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158946">Leo_Koester</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158946" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158946" class="dsq-comment-message">Para quem tem RAM de sobra (DDR2 2GB+) é ótimo, mas para quem usa PC com 1GB DDR400, é muito pesado, assim como o Firefox. E certamente em um MAC ele deve tem um desempenho superior.<br><br>Mesmo assim, um belo navegador. Renderiza as páginas de forma muito bonita e bem feita. Um pena terem tirado as abas do topo da janela e colocado na posição &lt;strike&gt;errada&lt;/strike&gt; "normal".<br><br>Mas até agora, o Google Chrome é o melhor. Disparado.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158951">\
	 <div id="dsq-comment-header-16158951" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158951" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158951">JuaAo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158951" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158951" class="dsq-comment-message">muito pessado</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158962">\
	 <div id="dsq-comment-header-16158962" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158962" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158962">Eduardo Garcia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158962" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158962" class="dsq-comment-message">Lá vai o chrome com sua agilidade conseguindo usuarios :D</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158963">\
	 <div id="dsq-comment-header-16158963" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158963" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158963">Eduardo Garcia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158963" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158963" class="dsq-comment-message">Motor JavaScript tem que ser V8 potente... :D</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158964">\
	 <div id="dsq-comment-header-16158964" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158964" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16158964" href="http://gutuu.deviantart.com/" target="_blank" rel="nofollow">Gutuu</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158964" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158964" class="dsq-comment-message">Axei ele bem bacana, rápido e as ferramentas dele são bacanas<br>gostei do coverflow e da interface em geral.<br><br>Mas não troco o Chrome por ele não ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158965">\
	 <div id="dsq-comment-header-16158965" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158965" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16158965" href="http://gutuu.deviantart.com/" target="_blank" rel="nofollow">Gutuu</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158965" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158965" class="dsq-comment-message">e eu acho que quando vier os addons pro Chrome ele vai passar o Firefox ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158971">\
	 <div id="dsq-comment-header-16158971" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158971" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158971">Pedro</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158971" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158971" class="dsq-comment-message">As extensões já estão chegando no Chrome e no canal DEV já chegou (numa versão prematura):<br><a href="http://www.winajuda.ig.com.br/forum/viewtopic.php?f=5&amp;t=2603" rel="nofollow">http://www.winajuda.ig.com.br/forum/viewtopic.p...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158967">\
	 <div id="dsq-comment-header-16158967" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158967" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158967">Maurício</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158967" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158967" class="dsq-comment-message">Bom... estive usando ele de ontem pra hoje e pelo menos aqui no Win7 x86, está com uma tanto de "probleminhas"... Não posso reclamar muito porque o SO está em RC, mas no "meu" ponto de vista, isso não justifica os "probleminhas"... Mais tarde tiro umas shots e posto... Agora vou jantar.<br><br>[]\'s</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158968">\
	 <div id="dsq-comment-header-16158968" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158968" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158968">Maurício</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158968" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158968" class="dsq-comment-message">Desculpem... substituam o "... uma tanto de ..." por "... uns ...", hehehe.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158975">\
	 <div id="dsq-comment-header-16158975" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158975" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158975">Eduardo Garcia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158975" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158975" class="dsq-comment-message">Estava vendo aki... Ele tem maior integração com o Windows 7 exibindo aba por aba na taskbar como o IE8...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158976">\
	 <div id="dsq-comment-header-16158976" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158976" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158976">Frederico Bittencourt</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158976" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158976" class="dsq-comment-message">Belo post Ghedin<br>Particularmente acho o Safari o melhor navegador..<br>Abre páginas em uma velocidade surpreendente, inicialização rápida, textura das fontes perfeita<br>Pra quem tem 1GB de Ram ele não deve ser lá essas coisas, mais pra quem tem 2GB + eu recomendo..<br>Sim, ainda falta muita coisa pra se melhorar, principalmente seu so excessivo de memória RAM<br>Gostei mais dessa versão do que a anterior, em que as abas eram no estilo do Chrome.<br>A apple está de parabéns</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16158981">\
	 <div id="dsq-comment-header-16158981" class="dsq-comment-header">\
	 <cite id="dsq-cite-16158981" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16158981">Felipe</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16158981" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16158981" class="dsq-comment-message">bom, eu testo o windows 7 .................<br><br>e ja usei o ff , o i8 , safari , opera 10 , chrome , e o netscape..........<br><br>olha não tem jeito no windows 7 ( na minha opinião ) vc sempre volta ou para o firefox ou para o i8<br>porém no i8 no windows 7 sempre que pesquiso algo na barra de pesquisa ele coloca um E no final e axo isso muito desagradavel......<br><br>no xp o internet explorer 8 éra bem lento e travava muito , eu se fosse vcs usaria ou o firefox , ou o chrome , pois é os que axo mais rapido por inquanto .............<br><br><br>cumprimentos</div>\
	 </div>\
	 </li>\
	 </ul>\
';

(function() {
	
	





Dsq.Debug.profile(function() {
	if(Dsq.jsonData.request.page == 1 && Dsq.jsonData.request.is_initial_load) {
		Dsq.container.innerHTML = Dsq.Templates.header() + Dsq.container.innerHTML + Dsq.Templates.footer();
	}
	Dsq.$(Dsq.curPageId).innerHTML = Dsq.$(Dsq.curPageId).innerHTML.replace(Dsq.COMMENTS_RE, Dsq.CommentsHandler);
}); // Dsq.Debug.Profile

// HACK: Resetting cache because we're done with.
Dsq.Utils.gebiFromElementCollectionCache = null;


	
	
	var dsq_styleEl = document.getElementById(disqus_container_id);
	var dsq_anchorEl = document.getElementsByTagName('a')[0];
	
	Dsq.Thread.fc = Dsq.Utils.getStyle(dsq_styleEl, 'color');
	if(dsq_anchorEl) { Dsq.Thread.ac = Dsq.Utils.getStyle(dsq_anchorEl, 'color'); }
	Dsq.Thread.ff = Dsq.Utils.getStyle(dsq_styleEl, (Dsq.Utils.ie || window.opera ? 'fontFamily' : 'font-family'));
	// For Safari / Opera: strip quotes.
	Dsq.Thread.ff = Dsq.Thread.ff.replace(/['"]/g, '');
	Dsq.Thread.fc = encodeURIComponent(Dsq.Thread.fc);
	Dsq.Thread.ac = encodeURIComponent(Dsq.Thread.ac);
	Dsq.Thread.ff = encodeURIComponent(Dsq.Thread.ff);

	
	
	
	if(Dsq.$(Dsq.Templates.addPostContainer)) {
		// TODO: Check to see if theme uses postmessage.
		if (window.disqus_use_postmessage) {
			Dsq.frames['reply_0'] = new Dsq.ReplyFrame(Dsq.$(Dsq.Templates.textareaContainer));
			Dsq.frames['reply_0'].init(function() {
				// Use fallback iframe
				Dsq.$(Dsq.Templates.addPostContainer).innerHTML = '';
				var theme = (typeof disqus_frame_theme == 'undefined') ? 'default' : disqus_frame_theme;
				Dsq.Iframes.showReplyIframeInContainer(Dsq.$(Dsq.Templates.addPostContainer), null, {theme: theme});
				// if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
			});
		} else {
			// DEPRECATED
			Dsq.Iframes.showReplyIframeInContainer(Dsq.$('dsq-post-add'));
		}
	}

	
	

	
	if(document.location.hash != '') {
		document.location.hash = document.location.hash.substring(1);
	}

	Dsq.Popup.showCookieMsgs();

	
	if(document.location.search != '' && location.hash != '#disqus_thread') {
		var reply_id = Dsq.Utils.getRequestParams().dsq;
		if(reply_id) { document.location.hash = 'comment-' + reply_id; }
	}

	
	if((typeof OB_Script != 'undefined') && (typeof OB_versionNum != 'undefined')) {
		if(navigator.userAgent.indexOf("Firefox") != -1) {
			if(window.frames['dsq-reply-frame']) {
				window.frames['dsq-reply-frame'].location = Dsq.Urls.REPLY + (new Date()).getTime() + '&f=winajuda&t=apple_libera_versao_final_do_safari_4&to_redirect=' + encodeURIComponent(window.location) + '&ifrs=' + encodeURIComponent(disqus_iframe_css);
			}
		}
	}

	if (Dsq.jsonData.integration.theme == 4) {
		if (Dsq.jsonData.realtime_enabled) {
			Dsq.Realtime.initialize();
		}
	}

	



	window.ExecuteWhen = (function () {
	var obj = {}
	
	// Private
	var running = false;
	var timer = null;
	var pending = [];
	var startTimer = function() {
		running = true;
		timer = setInterval(obj.heartBeat, 100);
	};
	var stopTimer = function() {
		running = false;
		clearInterval(timer);
	};
	
	// Public
	obj.add = function (condition, code) {
		pending.push([condition,code]);
		this.heartBeat(); //!
		if (!running) {
			startTimer();
		}
	};
	obj.heartBeat = function() {
		if (!pending.length) {
			stopTimer();
		}
		var newPending = [];
		for (var i=0; i<pending.length; i++) {
			var cond = pending[i][0];
			var code = pending[i][1];
			// FIXME: if cond or code throw an error, they never get removed from pending
			if (cond()){
				code();
			}
			else {
				newPending.push([cond, code]);
			}
		}
		pending = newPending;
	};
	return obj;
})();

// also used in embed_thread.js:
window.fbIsReady = function () {return window.FB && FB.init;};
// NOTE: This script gets executed again without threadEl
//       set when we are loaded again as the fbc_receiver.
//       In this case, we don't need the hidden container.

if(!window.FB || !FB.init) {
	if(window.Dsq && Dsq.container) {
		// container is not present when init.js is loaded from an xd-receiver iframe; in this case,
		// we don't need the FB_HiddenContainer anyway.
		var fbDiv = document.createElement('div');
		fbDiv.id = "FB_HiddenContainer";	// Required or else FeatureLoader will execute a document.write.
		fbDiv.style.position = 'absolute';	// This is intentionally not setting display to none as this breaks
		fbDiv.style.top = '-10000px';		// Flash in Safari.
		fbDiv.style.left = '-10000px';
		fbDiv.style.width = '0px';
		fbDiv.style.height = '0px';
		Dsq.container.appendChild(fbDiv);
	}
	var fbJS = document.createElement('script');
	fbJS.type = "text/javascript";
	fbJS.src = "http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php";
	document.getElementsByTagName('head')[0].appendChild(fbJS);

	ExecuteWhen.add(window.fbIsReady,
		function () {
			// HACK: This is a workaround FBC's single domain limitation by
			//		 allowing sites to create multiple forums with different
			//		 Facebook API keys.  This must be used in conjunction with
			//		 disqus_facebook_forum (see authenticateFacebook).
			var facebook_api_key = '49ff60b424d3928b76bcf678bdb69771';
			if (typeof disqus_facebook_api_key != 'undefined') {
				facebook_api_key = disqus_facebook_api_key;
			}

			FB.init(facebook_api_key, window.facebookXdReceiverPath || null,
				{fetchSignedPublicSessionData: true});
		});
}


	


if(typeof(disqus_callback) == 'function') {
	var callback_params = Dsq.Utils.getRequestParams()['dsq_cbp'] || null;

	// We don't care about any errors in third-party code
	try {
		disqus_callback(callback_params);
	} catch (x) {
		if (typeof(console) != 'undefined' && typeof(console.log) == 'function') {
			// But it would be nice to let developers know about them
			console.log(x);
		}
		// pass
	}

	// HACK: We don't know if the callback wraps our container, which may
	// possibly result in a new DOM element.
	Dsq.container = document.getElementById('dsq-content');
}

// Global event handler for narcissus.
if (Dsq.jsonData.integration.theme == 4) {
	var g = Dsq.Utils.ie ? document : window;
	Dsq.Utils.addEventListener(g, 'keydown', function(event) {
		// Handle "enter" key on input for post box.
		if ((event.keyCode || event.which) == 13) {
			var target = Dsq.Utils.ie ? event.srcElement : event.target;
			// For Safari bug, detect text node.
			if (target.nodeType == 3) {
				target = target.parentNode;
			}

			if (target.nodeName == 'INPUT' &&
				target.parentNode.className == 'dsq-input-wrapper') {
				var postId = Dsq.Utils.extractId(target);
				Dsq.Templates.postComment(postId, this, false);
			}
		}
	});
}

})();




