




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": {"ff05496bba892d6ef9a6edd229693197": {"username": "Gabriel", "tumblr": "", "display_name": "Gabriel", "url": "http://disqus.com/guest/ff05496bba892d6ef9a6edd229693197/", "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": ""}, "da45cd973e94de57fab4375507e5e095": {"username": "Antonio", "tumblr": "", "display_name": "Antonio", "url": "http://disqus.com/guest/da45cd973e94de57fab4375507e5e095/", "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": ""}, "37bc89bd80be2aa7e377e8bf584d5ebf": {"username": "Neto Lima", "tumblr": "", "display_name": "Neto Lima", "url": "http://disqus.com/guest/37bc89bd80be2aa7e377e8bf584d5ebf/", "registered": false, "linkedin": "", "blog": "http://meuwindows.brogui.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": ""}, "ba37ad56f95b7a528f13b2adad8878f4": {"username": "O meu", "tumblr": "", "display_name": "O meu", "url": "http://disqus.com/guest/ba37ad56f95b7a528f13b2adad8878f4/", "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": ""}, "7d943c6610b1458867c1a3227e56471c": {"username": "nishi", "tumblr": "", "display_name": "nishi", "url": "http://disqus.com/guest/7d943c6610b1458867c1a3227e56471c/", "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": ""}, "9222fbf0ab70097a04aebb499c8eb1d3": {"username": "Carlos", "tumblr": "", "display_name": "Carlos", "url": "http://disqus.com/guest/9222fbf0ab70097a04aebb499c8eb1d3/", "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": ""}, "a68772b8037b72e396a6d72b54611acf": {"username": "Hudson", "tumblr": "", "display_name": "Hudson", "url": "http://disqus.com/guest/a68772b8037b72e396a6d72b54611acf/", "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": ""}, "76f9bd3d8ea8be64d24b5594880c07f1": {"username": "Andre Luiz", "tumblr": "", "display_name": "Andre Luiz", "url": "http://disqus.com/guest/76f9bd3d8ea8be64d24b5594880c07f1/", "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": ""}, "bd17a183ff8f08a99e771f8467703cae": {"username": "Luiz Claudio Eudes", "tumblr": "", "display_name": "Luiz Claudio Eudes", "url": "http://disqus.com/guest/bd17a183ff8f08a99e771f8467703cae/", "registered": false, "linkedin": "", "blog": "http://luizclaudioeudes.blogspot.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": ""}, "864b9da54f5d895d9ddbd47f0b91724c": {"username": "Milton", "tumblr": "", "display_name": "Milton", "url": "http://disqus.com/guest/864b9da54f5d895d9ddbd47f0b91724c/", "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": ""}, "ca7437f91d45a90b2ca28823d30d7379": {"username": "Bruno Luiz", "tumblr": "", "display_name": "Bruno Luiz", "url": "http://disqus.com/guest/ca7437f91d45a90b2ca28823d30d7379/", "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": ""}, "c944bd73b1a3052c6cacd56a461c7b3a": {"username": "jefferson barcellos", "tumblr": "", "display_name": "jefferson barcellos", "url": "http://disqus.com/guest/c944bd73b1a3052c6cacd56a461c7b3a/", "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": ""}, "2253c0630f4ac9dfd5b59651fcc0c6eb": {"username": "vanessa", "tumblr": "", "display_name": "vanessa", "url": "http://disqus.com/guest/2253c0630f4ac9dfd5b59651fcc0c6eb/", "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": ""}, "84ec488f17ffa318773f7d3a9e3dd97d": {"username": "Gabriel", "tumblr": "", "display_name": "Gabriel", "url": "http://disqus.com/guest/84ec488f17ffa318773f7d3a9e3dd97d/", "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": ""}, "5565263744830ccca44d34091e5de157": {"username": "Gustavo", "tumblr": "", "display_name": "Gustavo", "url": "http://disqus.com/guest/5565263744830ccca44d34091e5de157/", "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": ""}, "0010ccc83e41d8818264f35733f64984": {"username": "Elimar Bentes", "tumblr": "", "display_name": "Elimar Bentes", "url": "http://disqus.com/guest/0010ccc83e41d8818264f35733f64984/", "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": ""}, "6d394766c5dff12c54ef29a509f16349": {"username": "Fausto", "tumblr": "", "display_name": "Fausto", "url": "http://disqus.com/guest/6d394766c5dff12c54ef29a509f16349/", "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": ""}, "aaab545ed918fbd04c5ac3a737f58cca": {"username": "Highlander", "tumblr": "", "display_name": "Highlander", "url": "http://disqus.com/guest/aaab545ed918fbd04c5ac3a737f58cca/", "registered": false, "linkedin": "", "blog": "http://www.highlanderbr.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": ""}, "62b868f39a057ea3ecffe11ac14e5f38": {"username": "Edu", "tumblr": "", "display_name": "Edu", "url": "http://disqus.com/guest/62b868f39a057ea3ecffe11ac14e5f38/", "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": ""}, "7be0b8ee74e37fb38a5dc47f4545ad2c": {"username": "Lucas", "tumblr": "", "display_name": "Lucas", "url": "http://disqus.com/guest/7be0b8ee74e37fb38a5dc47f4545ad2c/", "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": ""}, "39ca5d8c150b7be904dd3051ee8c14cb": {"username": "Eduardo", "tumblr": "", "display_name": "Eduardo", "url": "http://disqus.com/guest/39ca5d8c150b7be904dd3051ee8c14cb/", "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": ""}, "e464662acebac4e45e0038549c148342": {"username": "Carlos Augusto Lindemayer", "tumblr": "", "display_name": "Carlos Augusto Lindemayer", "url": "http://disqus.com/guest/e464662acebac4e45e0038549c148342/", "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": ""}, "55b4172b19e3f1c6e26ac93de312368f": {"username": "Maysa", "tumblr": "", "display_name": "Maysa", "url": "http://disqus.com/guest/55b4172b19e3f1c6e26ac93de312368f/", "registered": false, "linkedin": "", "blog": "http://www.maysadecastro.com.br/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": ""}, "4e4ac2abf508bf2e91f42898a6f456db": {"username": "Th\u00e1ssius Veloso", "tumblr": "", "display_name": "Th\u00e1ssius Veloso", "url": "http://disqus.com/guest/4e4ac2abf508bf2e91f42898a6f456db/", "registered": false, "linkedin": "", "blog": "http://www.memoriasfracas.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": ""}, "78caa04b4b7d468f8ac645f99ad90dc7": {"username": "hulago", "tumblr": "", "display_name": "hulago", "url": "http://disqus.com/guest/78caa04b4b7d468f8ac645f99ad90dc7/", "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": ""}, "f64ceff68ae4999e55ca50be807a3905": {"username": "Gabriel", "tumblr": "", "display_name": "Gabriel", "url": "http://disqus.com/guest/f64ceff68ae4999e55ca50be807a3905/", "registered": false, "linkedin": "", "blog": "http://www.guanabaradesign.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": ""}, "948d979479b72d08cb97a5eb9694c553": {"username": "fabio", "tumblr": "", "display_name": "fabio", "url": "http://disqus.com/guest/948d979479b72d08cb97a5eb9694c553/", "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": ""}, "0068ea24fc6b8be120b1a46001e7f0de": {"username": "Arthur Astaroth", "tumblr": "", "display_name": "Arthur Astaroth", "url": "http://disqus.com/guest/0068ea24fc6b8be120b1a46001e7f0de/", "registered": false, "linkedin": "", "blog": "http://www.osalto.co.cc/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/280/718/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d612e02225cb153b0c3ef40e719d80c5": {"username": "Murilo", "tumblr": "", "display_name": "Murilo", "url": "http://disqus.com/guest/d612e02225cb153b0c3ef40e719d80c5/", "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": ""}, "eafacd2390451747fb600530828d96fd": {"username": "Fernado Ventura Junior", "tumblr": "", "display_name": "Fernado Ventura Junior", "url": "http://disqus.com/guest/eafacd2390451747fb600530828d96fd/", "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": ""}, "198a0a383a3068e3b4cf7937cb3dac49": {"username": "marcellus", "tumblr": "", "display_name": "marcellus", "url": "http://disqus.com/guest/198a0a383a3068e3b4cf7937cb3dac49/", "registered": false, "linkedin": "", "blog": "http://celebroken.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/271/4549/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": "http://willianrosa.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": ""}, "b8e0605afd83a67bad1c77792bf119f9": {"username": "Jeferson", "tumblr": "", "display_name": "Jeferson", "url": "http://disqus.com/guest/b8e0605afd83a67bad1c77792bf119f9/", "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": ""}}, "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_10:01:23", "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": {"16145280": {"up_voted": false, "ip": "", "has_replies": false, "message": "At\u00e9 minha licen\u00e7a do KAV expirar, vou pensar melhor tamb\u00e9m. S\u00f3 n\u00e3o gosto do KAV porque ele as vezes tem mais de 40 conex\u00f5es abertas, deixando a velocidade muito lenta...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_14:13:47", "killed": false, "user_key": "37bc89bd80be2aa7e377e8bf584d5ebf", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145281": {"up_voted": false, "ip": "", "has_replies": false, "message": "O Norton est\u00e1 muito bom mesmo, s\u00f3 que existe um problema dos grandes nas m\u00e3os da empresa: Como ela ir\u00e1 convencer os clientes que perdeu?<br><br>Quase todos meus amigos trocaram o Norton pelo NOD32 ou pelo AVG e \u00e9 claro, todos s\u00e3o leigos no assunto. Os que sabem um pouco mais de inform\u00e1tica \u00f3bviamente ir\u00e3o considerar novamente o Norton como op\u00e7\u00e3o, s\u00f3 que esses que sabem um pouco de inform\u00e1tica s\u00e3o poucos na minha sala. Est\u00e1 ai um problema. Ela perdeu muitos clientes e s\u00f3 agora que perdeu muitos clientes para o Kaspersky e para o ESET que eles foram resolver esse problema. Penso que ir\u00e1 demorar um longo tempo para a Norton reconquistar o pessoal leigo no assunto.<br><br>Mesmo com todos esses por\u00e9ns, eu gostei dessa nova vers\u00e3o e s\u00f3 tenho uma reclama\u00e7\u00e3o: deveriam ter deixado os bot\u00f5es, scroll e caixas de sele\u00e7\u00e3o iguais as do tema que est\u00e1 sendo usado com o Windows, porque eu achei esses bot\u00f5es 3 muito feios.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_18:02:50", "killed": false, "user_key": "ca7437f91d45a90b2ca28823d30d7379", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145282": {"up_voted": false, "ip": "", "has_replies": false, "message": "Eu uso o Norton Internet Security deste o 2005 que era muito pesado, porem a partir do 2007 come\u00e7aram a ficar cada vez mais leves!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_18:05:22", "killed": false, "user_key": "bd17a183ff8f08a99e771f8467703cae", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145283": {"up_voted": false, "ip": "", "has_replies": false, "message": "Eu estou testando o Norton Internet Security, e sinceramente estou pensando em compr\u00e1-lo. A instala\u00e7\u00e3o demorou um pouco, muito pouco mesmo, mais de um minuto como voc\u00ea disse Ghedin, e o programa n\u00e3o atrapalha o boot e nem o desempenho do computador. Enfim, um Norton que vale a pena. Obrigado pelo review Ghedin.<br><br>[]'s", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_19:33:00", "killed": false, "user_key": "76f9bd3d8ea8be64d24b5594880c07f1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145284": {"up_voted": false, "ip": "", "has_replies": false, "message": "Essa leveza toda ser\u00e1 que vale tambpem para o NIS?<br><br>Eu sou mais um dos que migraram para o NOD32 faz tempo, e que ficou tentado a voltar.<br><br>pena que minha licen\u00e7a do NOD ainda est\u00e1 longe de expirar.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_20:12:50", "killed": false, "user_key": "aaab545ed918fbd04c5ac3a737f58cca", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145285": {"up_voted": false, "ip": "", "has_replies": false, "message": "o Norton Internet Security 2009 tamb\u00e9m \u00e9 anti-virus?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_20:51:41", "killed": false, "user_key": "ff05496bba892d6ef9a6edd229693197", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145286": {"up_voted": false, "ip": "", "has_replies": false, "message": "Pessoal, se voc\u00eas entrarem no site da Symantec e procurarem pelas descri\u00e7\u00f5es do <a href=\"http://www.symantec.com/pt/br/norton/internet-security\" title=\"Tecnologias presentes no Internet Security\" rel=\"nofollow\"> Internet Security</a>, voc\u00eas v\u00e3o ver o seguinte:<br><i><b>Principais tecnologias</b><br>Antiv\u00edrus<br>Prote\u00e7\u00e3o anti-spyware<br>Firewall bidirecional<br>Prote\u00e7\u00e3o de identidade<br>Antiphishing<br>Monitora\u00e7\u00e3o da rede<br>Prote\u00e7\u00e3o contra bots<br>Detec\u00e7\u00e3o de rootkits<br>Prote\u00e7\u00e3o do navegador<br>Prote\u00e7\u00e3o contra worms da Internet<br>Preven\u00e7\u00e3o contra intrus\u00f5es<br>Prote\u00e7\u00e3o do sistema operacional e de aplicativos<br>Autentica\u00e7\u00e3o de sites<br>Atualiza\u00e7\u00f5es freq\u00fcentes<br>Norton\u2122 Insight<br>Prote\u00e7\u00e3o comportamental da tecnologia SONAR\u2122<br>Anti-spam<br>Controle para pais e bloqueio de<br>informa\u00e7\u00f5es confidenciais</i><br>O Internet Security \u00e9 mais completo to que o &lt;a href=\"http://www.symantec.com/pt/br/norton/antivirus\" title=\"Recursos do AntiV&lt;/wp:comment_content&gt;<br>\t&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>\t&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>\t&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>\t&lt;/wp:comment&gt;<br>\t\t&lt;wp:comment&gt;<br>\t&lt;wp:comment_id&gt;32451&lt;/wp:comment_id&gt;<br>\t&lt;wp:comment_author&gt;marcellus&lt;/wp:comment_author&gt;<br>\t&lt;wp:comment_author_email&gt;mmabrasil@gmail.com&lt;/wp:comment_author_email&gt;<br>\t&lt;wp:comment_author_url&gt;http://celebroken.com&lt;/wp:comment_author_url&gt;<br>\t&lt;wp:comment_author_IP&gt;189.107.46.64&lt;/wp:comment_author_IP&gt;<br>\t&lt;wp:comment_date&gt;2008-10-19 00:32:54&lt;/wp:comment_date&gt;<br>\t&lt;wp:comment_date_gmt&gt;2008-10-19 03:32:54&lt;/wp:comment_date_gmt&gt;<br>\t&lt;wp:comment_content&gt;Ghedin, hj n\u00e3o uso AV aqui, pq acho que n\u00e3o preciso.<br><br>Ma depois desse review, senti vontade de experimentar o Norton 2009. Apenas a vers\u00e3o trial mesmo, s\u00f3 pra ver como est\u00e1. Afinal, fui um usu\u00e1rio desse AV durante mto tempo, at\u00e9 que resolvi abandon\u00e1-lo por ser, na \u00e9poca, um tremendo comil\u00e3o de recursos!<br><br>J\u00e1 estou baixando a vers\u00e3o de testes. Vlw! =D&lt;/wp:comment_content&gt;<br>\t&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>\t&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>\t&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>\t&lt;/wp:comment&gt;<br>\t\t&lt;wp:comment&gt;<br>\t&lt;wp:comment_id&gt;32460&lt;/wp:comment_id&gt;<br>\t&lt;wp:comment_author&gt;Murilo&lt;/wp:comment_author&gt;<br>\t&lt;wp:comment_author_email&gt;murilo.campos2@gmail.com&lt;/wp:comment_author_email&gt;<br>\t&lt;wp:comment_author_url&gt;&lt;/wp:comment_author_url&gt;<br>\t&lt;wp:comment_author_IP&gt;201.16.251.253&lt;/wp:comment_author_IP&gt;<br>\t&lt;wp:comment_date&gt;2008-10-19 13:21:12&lt;/wp:comment_date&gt;<br>\t&lt;wp:comment_date_gmt&gt;2008-10-19 16:21:12&lt;/wp:comment_date_gmt&gt;<br>\t&lt;wp:comment_content&gt;Sei l\u00e1, achei ele meio escuro...<br>(nunca gostei tanto do Norton)&lt;/wp:comment_content&gt;<br>\t&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>\t&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>\t&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>\t&lt;/wp:comment&gt;<br>\t\t&lt;wp:comment&gt;<br>\t&lt;wp:comment_id&gt;32463&lt;/wp:comment_id&gt;<br>\t&lt;wp:comment_author&gt;Gabriel&lt;/wp:comment_author&gt;<br>\t&lt;wp:comment_author_email&gt;gabriel_rocknroll@msn.com&lt;/wp:comment_author_email&gt;<br>\t&lt;wp:comment_author_url&gt;&lt;/wp:comment_author_url&gt;<br>\t&lt;wp:comment_author_IP&gt;189.55.215.195&lt;/wp:comment_author_IP&gt;<br>\t&lt;wp:comment_date&gt;2008-10-19 14:03:26&lt;/wp:comment_date&gt;<br>\t&lt;wp:comment_date_gmt&gt;2008-10-19 17:03:26&lt;/wp:comment_date_gmt&gt;<br>\t&lt;wp:comment_content&gt;o NIS 2009 \u00e9 um bom substituto do KIS 2009? to pensando em trocar.....&lt;/wp:comment_content&gt;<br>\t&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>\t&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>\t&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>\t&lt;/wp:comment&gt;<br>\t\t&lt;wp:comment&gt;<br>\t&lt;wp:comment_id&gt;32466&lt;/wp:comment_id&gt;<br>\t&lt;wp:comment_author&gt;Carlos&lt;/wp:comment_author&gt;<br>\t&lt;wp:comment_author_email&gt;carlossaleitao@gmail.com&lt;/wp:comment_author_email&gt;<br>\t&lt;wp:comment_author_url&gt;&lt;/wp:comment_author_url&gt;<br>\t&lt;wp:comment_author_IP&gt;189.70.8.30&lt;/wp:comment_author_IP&gt;<br>\t&lt;wp:comment_date&gt;2008-10-19 18:22:46&lt;/wp:comment_date&gt;<br>\t&lt;wp:comment_date_gmt&gt;2008-10-19 21:22:46&lt;/wp:comment_date_gmt&gt;<br>\t&lt;wp:comment_content&gt;Continuo com meu NOD ao inv\u00e9s do Norton.&lt;/wp:comment_content&gt;<br>\t&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>\t&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>\t&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>\t&lt;/wp:comment&gt;<br>\t\t&lt;wp:comment&gt;<br>\t&lt;wp:comment_id&gt;32481&lt;/wp:comment_id&gt;<br>\t&lt;wp:comment_author&gt;Fausto&lt;/wp:comment_author&gt;<br>\t&lt;wp:comment_author_email&gt;fausto@cebim.com.br&lt;/wp:comment_author_email&gt;<br>\t&lt;wp:comment_author_url&gt;&lt;/wp:comment_author_url&gt;<br>\t&lt;wp:comment_author_IP&gt;200.209.85.1&lt;/wp:comment_author_IP&gt;<br>\t&lt;wp:comment_date&gt;2008-10-20 12:01:35&lt;/wp:comment_date&gt;<br>\t&lt;wp:comment_date_gmt&gt;2008-10-20 15:01:35&lt;/wp:comment_date_gmt&gt;<br>\t&lt;wp:comment_content&gt;Espero que lancem a famosa licen\u00e7a gratuita de 1 ano. :-)<br><br>O problema do KAV \u00e9 que ele tenta atualizar a base de dados dele muito frequentemente. Isso \u00e9 bom por um lado, mas ruim por outro, como, por exemplo, quando voc\u00ea quer jogar online e precisa que n\u00e3o haja interfer\u00eancia na conex\u00e3o.&lt;/wp:comment_content&gt;<br>\t&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>\t&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>\t&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>\t&lt;/wp:comment&gt;<br>\t\t&lt;wp:comment&gt;<br>\t&lt;wp:comment_id&gt;32484&lt;/wp:comment_id&gt;<br>\t&lt;wp:comment_author&gt;Willian Rosa&lt;/wp:comment_author&gt;<br>\t&lt;wp:comment_author_email&gt;w.binoto@gmail.com&lt;/wp:comment_author_email&gt;<br>\t&lt;wp:comment_author_url&gt;http://willianrosa.wordpress.com&lt;/wp:comment_author_url&gt;<br>\t&lt;wp:comment_author_IP&gt;201.11.212.230&lt;/wp:comment_author_IP&gt;<br>\t&lt;wp:comment_date&gt;2008-10-20 12:19:16&lt;/wp:comment_date&gt;<br>\t&lt;wp:comment_date_gmt&gt;2008-10-20 15:19:16&lt;/wp:comment_date_gmt&gt;<br>\t&lt;wp:comment_content&gt;A licen\u00e7a do meu ESET est\u00e1 acabando no m\u00eas que vem, e estou a dois anos com ESET original que nem me lembro se tenho ou n\u00e3o anti v\u00edrus. Estou numa fase, digamos: \u00f3tima. N\u00e3o me preocupo com internet, arquivos na rede dom\u00e9stica, atualiza\u00e7\u00f5es, etc e tal. Softwares originais \u00e9 tranquilidade, nesses dois anos de ESET, pude afirmar isso. Vou com certeza agora comprar o Norton 2009, pois estou com o BETA dele no meu laptop com Windows XP Professional e estou gostando - como o Rodrigo - do que vi.<br><br>Obrigado.&lt;/wp:comment_content&gt;<br>\t&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>\t&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>\t&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>\t&lt;/wp:comment&gt;<br>\t\t&lt;wp:comment&gt;<br>\t&lt;wp:comment_id&gt;32492&lt;/wp:comment_id&gt;<br>\t&lt;wp:comment_author&gt;Elimar Bentes&lt;/wp:comment_author&gt;<br>\t&lt;wp:comment_author_email&gt;elimar_bentes@hotmail.com&lt;/wp:comment_author_email&gt;<br>\t&lt;wp:comment_author_url&gt;&lt;/wp:comment_author_url&gt;<br>\t&lt;wp:comment_author_IP&gt;201.9.245.172&lt;/wp:comment_author_IP&gt;<br>\t&lt;wp:comment_date&gt;2008-10-20 16:36:21&lt;/wp:comment_date&gt;<br>\t&lt;wp:comment_date_gmt&gt;2008-10-20 19:36:21&lt;/wp:comment_date_gmt&gt;<br>\t&lt;wp:comment_content&gt;O melhor mesmo \u00e9 o AVAST, uso ele desde sempre..<br>quem nunk usou eu recomendo.. o car apega tudo..alem do mais, tambem \u00e9 muito leve...&lt;/wp:comment_content&gt;<br>\t&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>\t&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>\t&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>\t&lt;/wp:comment&gt;<br>\t\t&lt;wp:comment&gt;<br>\t&lt;wp:comment_id&gt;32494&lt;/wp:comment_id&gt;<br>\t&lt;wp:comment_author&gt;Antonio&lt;/wp:comment_author&gt;<br>\t&lt;wp:comment_author_email&gt;apjr1@yahoo.com.br&lt;/wp:comment_author_email&gt;<br>\t&lt;wp:comment_author_url&gt;&lt;/wp:comment_author_url&gt;<br>\t&lt;wp:comment_author_IP&gt;201.92.154.38&lt;/wp:comment_author_IP&gt;<br>\t&lt;wp:comment_date&gt;2008-10-20 18:01:31&lt;/wp:comment_date&gt;<br>\t&lt;wp:comment_date_gmt&gt;2008-10-20 21:01:31&lt;/wp:comment_date_gmt&gt;<br>\t&lt;wp:comment_content&gt;Isso que \u00e9 jab\u00e1 hein amigo?<br>Faltou a camiseta hering com o cora\u00e7\u00e3o - I Love NAV !<br>Queria ver se faria tudo por um software freeware.<br>Todo profissional de T.I sabe que as solu\u00e7\u00f5es da Simantec foram voltadas para o mercado CORPORATIVO. E seu desempenho sempre deixou a desejar para o usu\u00e1rio dom\u00e9stico.<br>N\u00e3o dispenso o AVIRA - Antivir  , dois anos de satisfa\u00e7\u00e3o. <br>Muito melhor que usar software de forma pirata , isso digo para os usu\u00e1rios de softwares crackeados , at\u00e9 a solu\u00e7\u00e3o opne-source Clam-AV \u00e9 melhor que os AVG , NAV e ESET da vida...<br>Quem quer antivirus bom , seguro e eficiente , experimente o AVIRA- ANTIVIR , infelizmente \u00e9 em ingl\u00eas . Mas nada de t\u00e3o complicado para quem tem uma no\u00e7\u00e3o.<br>Ou use o CLAM-AV - open-source .<br><br>Por um mundo livre de especuladores. Use SOFTWARE LIVRE, ou pelo menos freeware<br><br>Agora fazer jab\u00e1 pra empresa de software s\u00f3cia do tio Bill Gates , \u00e9 o fim da ficada.<br><br>Voc\u00ea esqueceu de mencionar o que realmente interessa , o consumo de mem\u00f3ria.<br>Quantos megabites o software consome em modo ativo e no modo vigilante.<br><br>Que vacilo hein...<br><br>Jabazeiro ( para quem nao conhece a express\u00e3o = pessoas que recebem para divulgar , reportagens compradas , puxassaquistas )&lt;/wp:comment_content&gt;<br>\t&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>\t&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>\t&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>\t&lt;/wp:comment&gt;<br>\t\t&lt;wp:comment&gt;<br>\t&lt;wp:comment_id&gt;32497&lt;/wp:comment_id&gt;<br>\t&lt;wp:comment_author&gt;Gabriel&lt;/wp:comment_author&gt;<br>\t&lt;wp:comment_author_email&gt;no_spam@danol.com.br&lt;/wp:comment_author_email&gt;<br>\t&lt;wp:comment_author_url&gt;&lt;/wp:comment_author_url&gt;<br>\t&lt;wp:comment_author_IP&gt;200.158.203.238&lt;/wp:comment_author_IP&gt;<br>\t&lt;wp:comment_date&gt;2008-10-20 18:46:42&lt;/wp:comment_date&gt;<br>\t&lt;wp:comment_date_gmt&gt;2008-10-20 21:46:42&lt;/wp:comment_date_gmt&gt;<br>\t&lt;wp:comment_content&gt;Avira AntiVir + Comodo Firewall Pro = dupla imbat\u00edvel. <br><br>O resto \u00e9 bl\u00e1 bl\u00e1 bl\u00e1!!!&lt;/wp:comment_content&gt;<br>\t&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>\t&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>\t&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>\t&lt;/wp:comment&gt;<br>\t\t&lt;wp:comment&gt;<br>\t&lt;wp:comment_id&gt;32499&lt;/wp:comment_id&gt;<br>\t&lt;wp:comment_author&gt;Rodrigo P. Ghedin&lt;/wp:comment_author&gt;<br>\t&lt;wp:comment_author_email&gt;rodrigo@rodrigoghedin.com.br&lt;/wp:comment_author_email&gt;<br>\t&lt;wp:comment_author_url&gt;http://www.rodrigoghedin.com.br/&lt;/wp:comment_author_url&gt;<br>\t&lt;wp:comment_author_IP&gt;189.114.242.176&lt;/wp:comment_author_IP&gt;<br>\t&lt;wp:comment_date&gt;2008-10-20 19:27:05&lt;/wp:comment_date&gt;<br>\t&lt;wp:comment_date_gmt&gt;2008-10-20 22:27:05&lt;/wp:comment_date_gmt&gt;<br>\t&lt;wp:comment_content&gt;<em>@ Antonio</em><br><br>Usar uma peneira (ClamAV) s\u00f3 porque \u00e9 <em>open source</em>? N\u00e3o, obrigado. Esse papo de linuxer xiita \u00e9 t\u00e3o chato, mas t\u00e3o chato, que a pr\u00f3pria comunidade Linux rejeita quem age assim - se n\u00e3o entendeu, eles rejeitam <strong>voc\u00ea</strong>.<br><br>O crit\u00e9rio que uso para recomendar softwares n\u00e3o \u00e9 ser \"&gt;</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_21:17:12", "killed": false, "user_key": "76f9bd3d8ea8be64d24b5594880c07f1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145287": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ghedin, hj n\u00e3o uso AV aqui, pq acho que n\u00e3o preciso.<br><br>Ma depois desse review, senti vontade de experimentar o Norton 2009. Apenas a vers\u00e3o trial mesmo, s\u00f3 pra ver como est\u00e1. Afinal, fui um usu\u00e1rio desse AV durante mto tempo, at\u00e9 que resolvi abandon\u00e1-lo por ser, na \u00e9poca, um tremendo comil\u00e3o de recursos!<br><br>J\u00e1 estou baixando a vers\u00e3o de testes. Vlw! =D", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_23:32:54", "killed": false, "user_key": "198a0a383a3068e3b4cf7937cb3dac49", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145288": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sei l\u00e1, achei ele meio escuro...<br>(nunca gostei tanto do Norton)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-19_12:21:12", "killed": false, "user_key": "d612e02225cb153b0c3ef40e719d80c5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145289": {"up_voted": false, "ip": "", "has_replies": false, "message": "o NIS 2009 \u00e9 um bom substituto do KIS 2009? to pensando em trocar.....", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-19_13:03:26", "killed": false, "user_key": "ff05496bba892d6ef9a6edd229693197", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145290": {"up_voted": false, "ip": "", "has_replies": false, "message": "Continuo com meu NOD ao inv\u00e9s do Norton.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-19_17:22:46", "killed": false, "user_key": "9222fbf0ab70097a04aebb499c8eb1d3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145291": {"up_voted": false, "ip": "", "has_replies": false, "message": "Espero que lancem a famosa licen\u00e7a gratuita de 1 ano. :-)<br><br>O problema do KAV \u00e9 que ele tenta atualizar a base de dados dele muito frequentemente. Isso \u00e9 bom por um lado, mas ruim por outro, como, por exemplo, quando voc\u00ea quer jogar online e precisa que n\u00e3o haja interfer\u00eancia na conex\u00e3o.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-20_11:01:35", "killed": false, "user_key": "6d394766c5dff12c54ef29a509f16349", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145292": {"up_voted": false, "ip": "", "has_replies": false, "message": "A licen\u00e7a do meu ESET est\u00e1 acabando no m\u00eas que vem, e estou a dois anos com ESET original que nem me lembro se tenho ou n\u00e3o anti v\u00edrus. Estou numa fase, digamos: \u00f3tima. N\u00e3o me preocupo com internet, arquivos na rede dom\u00e9stica, atualiza\u00e7\u00f5es, etc e tal. Softwares originais \u00e9 tranquilidade, nesses dois anos de ESET, pude afirmar isso. Vou com certeza agora comprar o Norton 2009, pois estou com o BETA dele no meu laptop com Windows XP Professional e estou gostando - como o Rodrigo - do que vi.<br><br>Obrigado.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-20_11:19:16", "killed": false, "user_key": "ab4505ca81fca656b5893fba64b07d16", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145293": {"up_voted": false, "ip": "", "has_replies": false, "message": "O melhor mesmo \u00e9 o AVAST, uso ele desde sempre..<br>quem nunk usou eu recomendo.. o car apega tudo..alem do mais, tambem \u00e9 muito leve...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-20_15:36:21", "killed": false, "user_key": "0010ccc83e41d8818264f35733f64984", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145294": {"up_voted": false, "ip": "", "has_replies": false, "message": "Isso que \u00e9 jab\u00e1 hein amigo?<br>Faltou a camiseta hering com o cora\u00e7\u00e3o - I Love NAV !<br>Queria ver se faria tudo por um software freeware.<br>Todo profissional de T.I sabe que as solu\u00e7\u00f5es da Simantec foram voltadas para o mercado CORPORATIVO. E seu desempenho sempre deixou a desejar para o usu\u00e1rio dom\u00e9stico.<br>N\u00e3o dispenso o AVIRA - Antivir  , dois anos de satisfa\u00e7\u00e3o. <br>Muito melhor que usar software de forma pirata , isso digo para os usu\u00e1rios de softwares crackeados , at\u00e9 a solu\u00e7\u00e3o opne-source Clam-AV \u00e9 melhor que os AVG , NAV e ESET da vida...<br>Quem quer antivirus bom , seguro e eficiente , experimente o AVIRA- ANTIVIR , infelizmente \u00e9 em ingl\u00eas . Mas nada de t\u00e3o complicado para quem tem uma no\u00e7\u00e3o.<br>Ou use o CLAM-AV - open-source .<br><br>Por um mundo livre de especuladores. Use SOFTWARE LIVRE, ou pelo menos freeware<br><br>Agora fazer jab\u00e1 pra empresa de software s\u00f3cia do tio Bill Gates , \u00e9 o fim da ficada.<br><br>Voc\u00ea esqueceu de mencionar o que realmente interessa , o consumo de mem\u00f3ria.<br>Quantos megabites o software consome em modo ativo e no modo vigilante.<br><br>Que vacilo hein...<br><br>Jabazeiro ( para quem nao conhece a express\u00e3o = pessoas que recebem para divulgar , reportagens compradas , puxassaquistas )", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-20_17:01:31", "killed": false, "user_key": "da45cd973e94de57fab4375507e5e095", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145295": {"up_voted": false, "ip": "", "has_replies": false, "message": "Avira AntiVir + Comodo Firewall Pro = dupla imbat\u00edvel. <br><br>O resto \u00e9 bl\u00e1 bl\u00e1 bl\u00e1!!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-20_17:46:42", "killed": false, "user_key": "84ec488f17ffa318773f7d3a9e3dd97d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145296": {"up_voted": false, "ip": "", "has_replies": false, "message": "<em>@ Antonio</em><br><br>Usar uma peneira (ClamAV) s\u00f3 porque \u00e9 <em>open source</em>? N\u00e3o, obrigado. Esse papo de linuxer xiita \u00e9 t\u00e3o chato, mas t\u00e3o chato, que a pr\u00f3pria comunidade Linux rejeita quem age assim - se n\u00e3o entendeu, eles rejeitam <strong>voc\u00ea</strong>.<br><br>O crit\u00e9rio que uso para recomendar softwares n\u00e3o \u00e9 ser \"parceira\" da Microsoft. Recomendo o que \u00e9 bom. Simples assim. Achou ruim ou n\u00e3o pode pagar? Paci\u00eancia. Existem muitas alternativas gratuitas boas, como o AntiVir que voc\u00ea mesmo recomendou. O fato de existir uma op\u00e7\u00e3o boa e gratuita desqualifica as pagas e igualmente boas - se n\u00e3o melhores? De maneira alguma.<br><br>Cara, quer um conselho n\u00e3o s\u00f3 em rela\u00e7\u00e3o \u00e0 inform\u00e1tica, mas para sua vida? <strong>Cres\u00e7a</strong>. E, por favor, pare de encher o saco aqui.<br><br>[]'s!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-20_18:27:05", "killed": false, "user_key": "ghedin", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "1 ano atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": true, "is_realtime": false}, "16145297": {"up_voted": false, "ip": "", "has_replies": false, "message": "Rodrigo, <br>Assim como vc, j\u00e1 usei Norton, nem tanto pelas poucas op\u00e7\u00f5es, mas por acreditar em sua capacidade de detec\u00e7\u00e3o. Mas tb acabei n\u00e3o aguentando. Al\u00e9m do peso, o fato dele dar conflito com tudo qto era programa.<br>Gosto de su\u00edtes e talvez venha a testar a su\u00edte dele que creio deve sair em breve...ou n\u00e3o ?<br>Por enquanto, continuo com meu KIS, com o qual estou plenamente satisfeito!<br>Grande abra\u00e7o! ;-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-20_18:39:24", "killed": false, "user_key": "39ca5d8c150b7be904dd3051ee8c14cb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145298": {"up_voted": false, "ip": "", "has_replies": false, "message": "Cara, legal a mat\u00e9ria, s\u00f3 fiquei com duas d\u00favidas:<br>1. Ele roda legal tanto em XP quanto no Vista? <br>Quem tem XP compensa ficar com o Norton anterior ou essa nova vers\u00e3o?<br>2. E quanto de mem\u00f3ria ele come? \u00c9 preciso um processador parrudo, tipo Core2Duo?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-21_22:47:29", "killed": false, "user_key": "78caa04b4b7d468f8ac645f99ad90dc7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145299": {"up_voted": false, "ip": "", "has_replies": false, "message": "<em>@ hulago</em><br><br>1. Roda bem tanto em XP quanto em Vista. Como disse no review, n\u00e3o conhe\u00e7o o NAV 2008, mas pela propaganda da Symantec, o upgrade vale a pena.<br><br>2. No meu Vostro 1000, com Windows XP, Turion64 X2 TL-50 e 1 GB de mem\u00f3ria, rodou liso. O NAV usa dois processos residentes na mem\u00f3ria, que, somados, consomem 16 MB de mem\u00f3ria.<br><br>[]'s!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-22_20:54:25", "killed": false, "user_key": "ghedin", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "1 ano atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": true, "is_realtime": false}, "16145300": {"up_voted": false, "ip": "", "has_replies": false, "message": "onde foi para Mcfee?? tem algum valor hoje no mercado??? o KAV, NOD, NAV s\u00e3o melhores???", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-26_06:04:34", "killed": false, "user_key": "c944bd73b1a3052c6cacd56a461c7b3a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145301": {"up_voted": false, "ip": "", "has_replies": false, "message": "Estou usando o NIS 2009 e est\u00e1 OTIMO!!<br>SUPER leve como nunca vi em nenhum produto da Symantec em toda minha vida.<br>S\u00f3 n\u00e3o est\u00e1 muito defensivo feito as vers\u00f5es enteriores...achei ele \"calado\" demais...Mas pode ser impress\u00e3o minha.<br>Agora um Antivirus bom tmb\u00e9m \u00e9 o Avast...depois do Norton \u00e9 o melhor sem compara\u00e7\u00e3o!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-27_16:49:09", "killed": false, "user_key": "a68772b8037b72e396a6d72b54611acf", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145302": {"up_voted": false, "ip": "", "has_replies": false, "message": "ea\u00ed cara?<br> vc tm o c\u00f3digo de ativa\u00e7\u00e3o do NAV 2009??", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-11-11_05:54:46", "killed": false, "user_key": "b8e0605afd83a67bad1c77792bf119f9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 1, "author_is_creator": false, "is_realtime": false}, "16145303": {"up_voted": false, "ip": "", "has_replies": false, "message": "Acabo de receber o link para o download do Internet Security 2009, comprei ele ontem de tarde, via Symantec Store.<br><br>Al\u00e9m de ser a suite de seguran\u00e7a mais r\u00e1pida do mercado atualmente, o NIS provou que est\u00e1 bem mais esperto, detectou uma variante dos trojans banc\u00e1rios que nem Comodo Internet Security e ESET Smart Security tinham achado.<br><br>A primeira verifica\u00e7\u00e3o completa durou 40 mintuos (Avira 54 minutos, ESET Smart Security 1:05, Comodo Antivirus 1:25) e varreu 250.306 arquivos. A segunda - j\u00e1 com a for\u00e7a Norton Insight - demorou 5 minutos e varreu apenas 108.924 arquivos.<br><br>Sem falar no tal SONAR, que vigia o sistema e qualquer suspeita ele bloqueia sem piedade. J\u00e1 falei muito mal da Symantec mas, com muito prazer, dei o bra\u00e7o a torcer.<br><br>Show de bola!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-11-22_10:04:15", "killed": false, "user_key": "5565263744830ccca44d34091e5de157", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145304": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sinto discordar Gustavo,<br><br>Testei a vers\u00e3o Trial e continuo n\u00e3o gostando dele.<br><br>Acho que ainda \u00e9 pesad\u00e3o (menos, mas ainda \u00e9) e em termos de detec\u00e7\u00e3o, n\u00e3o passa nem pero do KIS.<br><br>Vai ser dificil eu trocar o KIS por outra solu\u00e7\u00e3o.<br><br>O Smart Security (NOD) n\u00e3o serve nem como compara\u00e7\u00e3o.<br><br>FRAQU\u00cdSSIMO.<br><br>Um abra\u00e7o.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-11-22_10:10:09", "killed": false, "user_key": "62b868f39a057ea3ecffe11ac14e5f38", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145305": {"up_voted": false, "ip": "", "has_replies": true, "message": "Depois de l&ecirc;r seu t&oacute;pico fui atr&acute;&acute;as do NIS2009 para baixar. Consegui um &#039;gen&eacute;rico&#039; e instalei. Aqui foi super r&aacute;pido e demorou menos de um minuto. Por&eacute;m, como eu usava uma vers&atilde;o do Windows Lite, meu wi-fi n&atilde;o pegava, n&atilde;o consegui instalar, ent&atilde;o mudei para o WINDOWS Server 2003. Tentei instalar o NIS e n&atilde;o consegui. Ser&aacute; que existe uma maneira de instalar o NIS no Server 2003 ou, de repente, tem uma vers&atilde;o mias leve da symantec para o meu OS?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-17_07:06:28", "killed": false, "user_key": "f64ceff68ae4999e55ca50be807a3905", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145306": {"up_voted": false, "ip": "", "has_replies": true, "message": "Gabriel, o NAV/NIS 2009 n&atilde;o rodam no Windows Server. Nesse tipo de sistema, s&oacute; o <a href=\"http://www.symantec.com/business/antivirus-corporate-edition\" target=\"_blank\" rel=\"nofollow\">Symantec AntiVirus</a>. <br> <br>[]&#039;s!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-17_07:25:09", "killed": false, "user_key": "ghedin", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "1 ano atr\u00e1s", "approved": true, "num_replies": 1, "is_first_child": true, "email": "", "parent_post_id": 16145305, "depth": 1, "points": 0, "author_is_creator": true, "is_realtime": false}, "16145307": {"up_voted": false, "ip": "", "has_replies": false, "message": "E este mencionado &eacute; t&atilde;o bom/leve quanto o NAV2009? Poderia me sugerir um? Mesmo sendo pago.", "is_last_child": true, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:07:45", "killed": false, "user_key": "f64ceff68ae4999e55ca50be807a3905", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 16145306, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "16145309": {"up_voted": false, "ip": "", "has_replies": true, "message": "quero saber se o NORTON ANTIVIRUS possui Antiphishing <br>Apenas o antivirus nao o internet security ok?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-17_03:45:02", "killed": false, "user_key": "ba37ad56f95b7a528f13b2adad8878f4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145310": {"up_voted": false, "ip": "", "has_replies": true, "message": "comprei o norton internet security 2009 , o mesmo inicia e depois deliga,, sabe o porque,, win e xp,, n&atilde;o consigo instalar &eacute; original o programa", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-19_07:52:38", "killed": false, "user_key": "948d979479b72d08cb97a5eb9694c553", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145311": {"up_voted": false, "ip": "", "has_replies": false, "message": "Somente o Internet Security tem antiphishing.... Conselho, junte mais pessoas e compre 3 ou 5 licen&ccedil;as, sai muitoooo mais barato. E todos ficam com um soft original podendo atualiza-lo a todo instante.", "is_last_child": true, "can_reply": false, "down_voted": false, "real_date": "2008-12-29_21:11:20", "killed": false, "user_key": "ba37ad56f95b7a528f13b2adad8878f4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 16145309, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16145312": {"up_voted": false, "ip": "", "has_replies": false, "message": "Como assim inicia e desliga. Poderia ser mais especifico.. Qt de memoria tem seu computador?", "is_last_child": true, "can_reply": false, "down_voted": false, "real_date": "2008-12-29_21:12:08", "killed": false, "user_key": "ba37ad56f95b7a528f13b2adad8878f4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 16145310, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16145313": {"up_voted": false, "ip": "", "has_replies": false, "message": "Comprei o CD original do norton antivirus 2009 e a instala\u00e7\u00e3o foi r\u00e1pida, mas uma vez reiniciado ou desligado o PC, n\u00e3o consigo mais abrir o mesmo! O programa est\u00e1 instalado mas clicando no atalho ou no programa, ele n\u00e3o abre! O logo do norton n\u00e3o aparece na barra inferior, como nas vers\u00f5es anteriores! Algu\u00e9m pode me dar um aux\u00edlio? Meu PC: Acer original, XP, 1Gb ram, HD 195Gb livres!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-02-11_00:58:33", "killed": false, "user_key": "7d943c6610b1458867c1a3227e56471c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "10 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 1, "author_is_creator": false, "is_realtime": false}, "16145314": {"up_voted": false, "ip": "", "has_replies": false, "message": "Nishi ! eu estou com o mesmo problema que voc\u00ea j\u00e1 desinstalei umas tr\u00eaz vezes e sempre acontece isso, embora eu tenha utilizado por umas duas ou tr\u00eas semanas sem dar problema. Se conseguiur descobrir do que se trata se for poss\u00edvel me avise. Eu farei o mesmo.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-02-12_07:26:42", "killed": false, "user_key": "e464662acebac4e45e0038549c148342", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "10 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}, "16145315": {"up_voted": false, "ip": "", "has_replies": false, "message": "J\u00e1 testei todos antiv\u00edrus agora eu to sussa tenho o norton 2009 com licen\u00e7a extendida por 1 ano com ctz completamente o melhor e super leve .<br>logicamente minha m\u00e1quina um core duo quad 3.0 GHZ  5oo  HD  4 giga de RAM ta suave .", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-02-25_21:57:22", "killed": false, "user_key": "eafacd2390451747fb600530828d96fd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "9 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}, "16145316": {"up_voted": false, "ip": "", "has_replies": true, "message": "quero baixar esse antivivirus por que todos falam bemmmmmmmmm...........", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-04-21_14:43:36", "killed": false, "user_key": "2253c0630f4ac9dfd5b59651fcc0c6eb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "8 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}, "16145317": {"up_voted": false, "ip": "", "has_replies": false, "message": "hbvhjv", "is_last_child": true, "can_reply": false, "down_voted": false, "real_date": "2009-04-21_14:44:36", "killed": false, "user_key": "2253c0630f4ac9dfd5b59651fcc0c6eb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "8 meses atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 16145316, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "16145274": {"up_voted": false, "ip": "", "has_replies": false, "message": "Viva a concorr\u00eancia. Mas e a\u00ed, Ghedin, vai usar qual anti-v\u00edrus? Segue firme e forte com o novo Norton 2009?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_13:13:43", "killed": false, "user_key": "4e4ac2abf508bf2e91f42898a6f456db", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145275": {"up_voted": false, "ip": "", "has_replies": false, "message": "Estava (ainda estou, no desktop) usando o <strong>Kaspersky 2009</strong>. Acho que vou com ele at\u00e9 expirar a licen\u00e7a, a\u00ed terei que parar para pensar, hehe. Mas que o Norton 2009 me \"balan\u00e7ou\", isso \u00e9 ineg\u00e1vel.<br><br>[]'s!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_13:16:53", "killed": false, "user_key": "ghedin", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "1 ano atr\u00e1s", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": true, "is_realtime": false}, "16145276": {"up_voted": false, "ip": "", "has_replies": false, "message": "Bom saber disso.<br><br>Ultimamente nem o KAV eu tenho instalado mais aqui.<br>J\u00e1 cheguei a testar o NIS e at\u00e9 tinha gostado.<br><br>[]'s", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_13:18:07", "killed": false, "user_key": "0068ea24fc6b8be120b1a46001e7f0de", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145277": {"up_voted": false, "ip": "", "has_replies": false, "message": "Tambem passei pela experiencia de ver o Norton consumir todo o processamento da minha maquina, em meados de 2001. E por isso, abandonei. Nunca mais usei, ou recomendei, alias, orientava quem perguntasse a ficar longe dele, inclusive das versoes experimentais que vinham em desktos e notebooks.<br><br>Agora, vou rever meu conceito...<br><br>Abracos<br>Maysa", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_13:27:45", "killed": false, "user_key": "55b4172b19e3f1c6e26ac93de312368f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145278": {"up_voted": false, "ip": "", "has_replies": false, "message": "Muito bom Rodrigo!<br>Gostei da nova interface do Norton e a facilidade que ele apresenta em poder oper\u00e1-lo. Desta vez acertaram! <br>Test\u00e1-lo-ei agora.<br><br>Abra\u00e7os!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_13:32:42", "killed": false, "user_key": "864b9da54f5d895d9ddbd47f0b91724c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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}, "16145279": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hmm, tava vendo os comparatives dos antiv\u00edrus e agora n\u00e3o sei se continuo com o meu NOD32 (na verdade \u00e9 o ESET Smart Security, mas d\u00e1 quase no mesmo) ou troco ele pelo Norton (nem penso em trocar pelo Kaspersky, acho ele pesado). Porque depois dessa review, o Norton tamb\u00e9m me balan\u00e7ou :P<br>Qual a opini\u00e3o de voc\u00eas?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_13:51:48", "killed": false, "user_key": "7be0b8ee74e37fb38a5dc47f4545ad2c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 ano 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": "33219588", "user_id": "anonymous", "forum_id": "186060", "hash": 8791295034040861585}, "thread": {"total_posts": 43, "paginate": true, "per_page": 80, "slug": "norton_antivirus_2009", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 33219588, "num_posts": 43, "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=norton_antivirus_2009' +
		'&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/norton_antivirus_2009/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='	+ 'norton_antivirus_2009'
			+ '&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/norton_antivirus_2009/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">43</span> of <span id="dsq-total-posts">43</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://winajuda.disqus.com/norton_antivirus_2009/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/norton_antivirus_2009/">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/norton_antivirus_2009/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:33219588" 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'				: 'norton_antivirus_2009',
			// 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/norton_antivirus_2009/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='	+ 'norton_antivirus_2009'
			+ '&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='	+ 'norton_antivirus_2009'
			+ '&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='		+ 'norton_antivirus_2009'
				+ '&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/33219588/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-16145313">\
	 <div id="dsq-comment-header-16145313" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145313" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145313">nishi</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145313" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145313" class="dsq-comment-message">Comprei o CD original do norton antivirus 2009 e a instalação foi rápida, mas uma vez reiniciado ou desligado o PC, não consigo mais abrir o mesmo! O programa está instalado mas clicando no atalho ou no programa, ele não abre! O logo do norton não aparece na barra inferior, como nas versões anteriores! Alguém pode me dar um auxílio? Meu PC: Acer original, XP, 1Gb ram, HD 195Gb livres!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145302">\
	 <div id="dsq-comment-header-16145302" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145302" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145302">Jeferson</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145302" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145302" class="dsq-comment-message">eaí cara?<br> vc tm o código de ativação do NAV 2009??</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145274">\
	 <div id="dsq-comment-header-16145274" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145274" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16145274" href="http://www.memoriasfracas.com/" target="_blank" rel="nofollow">Thássius Veloso</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145274" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145274" class="dsq-comment-message">Viva a concorrência. Mas e aí, Ghedin, vai usar qual anti-vírus? Segue firme e forte com o novo Norton 2009?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145275">\
	 <div id="dsq-comment-header-16145275" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145275" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16145275" href="http://sobre.rodrigoghedin.com.br/" target="_blank" rel="nofollow">Rodrigo Ghedin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145275" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145275" class="dsq-comment-message">Estava (ainda estou, no desktop) usando o <strong>Kaspersky 2009</strong>. Acho que vou com ele até expirar a licença, aí terei que parar para pensar, hehe. Mas que o Norton 2009 me "balançou", isso é inegável.<br><br>[]\'s!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145276">\
	 <div id="dsq-comment-header-16145276" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145276" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16145276" href="http://www.osalto.co.cc/" target="_blank" rel="nofollow">Arthur Astaroth</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145276" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145276" class="dsq-comment-message">Bom saber disso.<br><br>Ultimamente nem o KAV eu tenho instalado mais aqui.<br>Já cheguei a testar o NIS e até tinha gostado.<br><br>[]\'s</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145277">\
	 <div id="dsq-comment-header-16145277" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145277" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16145277" href="http://www.maysadecastro.com.br/blog" target="_blank" rel="nofollow">Maysa</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145277" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145277" class="dsq-comment-message">Tambem passei pela experiencia de ver o Norton consumir todo o processamento da minha maquina, em meados de 2001. E por isso, abandonei. Nunca mais usei, ou recomendei, alias, orientava quem perguntasse a ficar longe dele, inclusive das versoes experimentais que vinham em desktos e notebooks.<br><br>Agora, vou rever meu conceito...<br><br>Abracos<br>Maysa</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145278">\
	 <div id="dsq-comment-header-16145278" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145278" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145278">Milton</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145278" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145278" class="dsq-comment-message">Muito bom Rodrigo!<br>Gostei da nova interface do Norton e a facilidade que ele apresenta em poder operá-lo. Desta vez acertaram! <br>Testá-lo-ei agora.<br><br>Abraços!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145279">\
	 <div id="dsq-comment-header-16145279" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145279" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145279">Lucas</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145279" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145279" class="dsq-comment-message">Hmm, tava vendo os comparatives dos antivírus e agora não sei se continuo com o meu NOD32 (na verdade é o ESET Smart Security, mas dá quase no mesmo) ou troco ele pelo Norton (nem penso em trocar pelo Kaspersky, acho ele pesado). Porque depois dessa review, o Norton também me balançou :P<br>Qual a opinião de vocês?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145280">\
	 <div id="dsq-comment-header-16145280" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145280" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16145280" href="http://meuwindows.brogui.com/" target="_blank" rel="nofollow">Neto Lima</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145280" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145280" class="dsq-comment-message">Até minha licença do KAV expirar, vou pensar melhor também. Só não gosto do KAV porque ele as vezes tem mais de 40 conexões abertas, deixando a velocidade muito lenta...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145281">\
	 <div id="dsq-comment-header-16145281" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145281" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145281">Bruno Luiz</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145281" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145281" class="dsq-comment-message">O Norton está muito bom mesmo, só que existe um problema dos grandes nas mãos da empresa: Como ela irá convencer os clientes que perdeu?<br><br>Quase todos meus amigos trocaram o Norton pelo NOD32 ou pelo AVG e é claro, todos são leigos no assunto. Os que sabem um pouco mais de informática óbviamente irão considerar novamente o Norton como opção, só que esses que sabem um pouco de informática são poucos na minha sala. Está ai um problema. Ela perdeu muitos clientes e só agora que perdeu muitos clientes para o Kaspersky e para o ESET que eles foram resolver esse problema. Penso que irá demorar um longo tempo para a Norton reconquistar o pessoal leigo no assunto.<br><br>Mesmo com todos esses poréns, eu gostei dessa nova versão e só tenho uma reclamação: deveriam ter deixado os botões, scroll e caixas de seleção iguais as do tema que está sendo usado com o Windows, porque eu achei esses botões 3 muito feios.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145282">\
	 <div id="dsq-comment-header-16145282" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145282" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16145282" href="http://luizclaudioeudes.blogspot.com/" target="_blank" rel="nofollow">Luiz Claudio Eudes</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145282" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145282" class="dsq-comment-message">Eu uso o Norton Internet Security deste o 2005 que era muito pesado, porem a partir do 2007 começaram a ficar cada vez mais leves!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145283">\
	 <div id="dsq-comment-header-16145283" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145283" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145283">Andre Luiz</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145283" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145283" class="dsq-comment-message">Eu estou testando o Norton Internet Security, e sinceramente estou pensando em comprá-lo. A instalação demorou um pouco, muito pouco mesmo, mais de um minuto como você disse Ghedin, e o programa não atrapalha o boot e nem o desempenho do computador. Enfim, um Norton que vale a pena. Obrigado pelo review Ghedin.<br><br>[]\'s</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145284">\
	 <div id="dsq-comment-header-16145284" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145284" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16145284" href="http://www.highlanderbr.com/" target="_blank" rel="nofollow">Highlander</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145284" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145284" class="dsq-comment-message">Essa leveza toda será que vale tambpem para o NIS?<br><br>Eu sou mais um dos que migraram para o NOD32 faz tempo, e que ficou tentado a voltar.<br><br>pena que minha licença do NOD ainda está longe de expirar.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145285">\
	 <div id="dsq-comment-header-16145285" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145285" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145285">Gabriel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145285" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145285" class="dsq-comment-message">o Norton Internet Security 2009 também é anti-virus?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145286">\
	 <div id="dsq-comment-header-16145286" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145286" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145286">Andre Luiz</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145286" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145286" class="dsq-comment-message">Pessoal, se vocês entrarem no site da Symantec e procurarem pelas descrições do <a href="http://www.symantec.com/pt/br/norton/internet-security" title="Tecnologias presentes no Internet Security" rel="nofollow"> Internet Security</a>, vocês vão ver o seguinte:<br><i><b>Principais tecnologias</b><br>Antivírus<br>Proteção anti-spyware<br>Firewall bidirecional<br>Proteção de identidade<br>Antiphishing<br>Monitoração da rede<br>Proteção contra bots<br>Detecção de rootkits<br>Proteção do navegador<br>Proteção contra worms da Internet<br>Prevenção contra intrusões<br>Proteção do sistema operacional e de aplicativos<br>Autenticação de sites<br>Atualizações freqüentes<br>Norton™ Insight<br>Proteção comportamental da tecnologia SONAR™<br>Anti-spam<br>Controle para pais e bloqueio de<br>informações confidenciais</i><br>O Internet Security é mais completo to que o &lt;a href="http://www.symantec.com/pt/br/norton/antivirus" title="Recursos do AntiV&lt;/wp:comment_content&gt;<br>	&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>	&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>	&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>	&lt;/wp:comment&gt;<br>		&lt;wp:comment&gt;<br>	&lt;wp:comment_id&gt;32451&lt;/wp:comment_id&gt;<br>	&lt;wp:comment_author&gt;marcellus&lt;/wp:comment_author&gt;<br>	&lt;wp:comment_author_email&gt;mmabrasil@gmail.com&lt;/wp:comment_author_email&gt;<br>	&lt;wp:comment_author_url&gt;http://celebroken.com&lt;/wp:comment_author_url&gt;<br>	&lt;wp:comment_author_IP&gt;189.107.46.64&lt;/wp:comment_author_IP&gt;<br>	&lt;wp:comment_date&gt;2008-10-19 00:32:54&lt;/wp:comment_date&gt;<br>	&lt;wp:comment_date_gmt&gt;2008-10-19 03:32:54&lt;/wp:comment_date_gmt&gt;<br>	&lt;wp:comment_content&gt;Ghedin, hj não uso AV aqui, pq acho que não preciso.<br><br>Ma depois desse review, senti vontade de experimentar o Norton 2009. Apenas a versão trial mesmo, só pra ver como está. Afinal, fui um usuário desse AV durante mto tempo, até que resolvi abandoná-lo por ser, na época, um tremendo comilão de recursos!<br><br>Já estou baixando a versão de testes. Vlw! =D&lt;/wp:comment_content&gt;<br>	&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>	&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>	&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>	&lt;/wp:comment&gt;<br>		&lt;wp:comment&gt;<br>	&lt;wp:comment_id&gt;32460&lt;/wp:comment_id&gt;<br>	&lt;wp:comment_author&gt;Murilo&lt;/wp:comment_author&gt;<br>	&lt;wp:comment_author_email&gt;murilo.campos2@gmail.com&lt;/wp:comment_author_email&gt;<br>	&lt;wp:comment_author_url&gt;&lt;/wp:comment_author_url&gt;<br>	&lt;wp:comment_author_IP&gt;201.16.251.253&lt;/wp:comment_author_IP&gt;<br>	&lt;wp:comment_date&gt;2008-10-19 13:21:12&lt;/wp:comment_date&gt;<br>	&lt;wp:comment_date_gmt&gt;2008-10-19 16:21:12&lt;/wp:comment_date_gmt&gt;<br>	&lt;wp:comment_content&gt;Sei lá, achei ele meio escuro...<br>(nunca gostei tanto do Norton)&lt;/wp:comment_content&gt;<br>	&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>	&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>	&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>	&lt;/wp:comment&gt;<br>		&lt;wp:comment&gt;<br>	&lt;wp:comment_id&gt;32463&lt;/wp:comment_id&gt;<br>	&lt;wp:comment_author&gt;Gabriel&lt;/wp:comment_author&gt;<br>	&lt;wp:comment_author_email&gt;gabriel_rocknroll@msn.com&lt;/wp:comment_author_email&gt;<br>	&lt;wp:comment_author_url&gt;&lt;/wp:comment_author_url&gt;<br>	&lt;wp:comment_author_IP&gt;189.55.215.195&lt;/wp:comment_author_IP&gt;<br>	&lt;wp:comment_date&gt;2008-10-19 14:03:26&lt;/wp:comment_date&gt;<br>	&lt;wp:comment_date_gmt&gt;2008-10-19 17:03:26&lt;/wp:comment_date_gmt&gt;<br>	&lt;wp:comment_content&gt;o NIS 2009 é um bom substituto do KIS 2009? to pensando em trocar.....&lt;/wp:comment_content&gt;<br>	&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>	&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>	&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>	&lt;/wp:comment&gt;<br>		&lt;wp:comment&gt;<br>	&lt;wp:comment_id&gt;32466&lt;/wp:comment_id&gt;<br>	&lt;wp:comment_author&gt;Carlos&lt;/wp:comment_author&gt;<br>	&lt;wp:comment_author_email&gt;carlossaleitao@gmail.com&lt;/wp:comment_author_email&gt;<br>	&lt;wp:comment_author_url&gt;&lt;/wp:comment_author_url&gt;<br>	&lt;wp:comment_author_IP&gt;189.70.8.30&lt;/wp:comment_author_IP&gt;<br>	&lt;wp:comment_date&gt;2008-10-19 18:22:46&lt;/wp:comment_date&gt;<br>	&lt;wp:comment_date_gmt&gt;2008-10-19 21:22:46&lt;/wp:comment_date_gmt&gt;<br>	&lt;wp:comment_content&gt;Continuo com meu NOD ao invés do Norton.&lt;/wp:comment_content&gt;<br>	&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>	&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>	&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>	&lt;/wp:comment&gt;<br>		&lt;wp:comment&gt;<br>	&lt;wp:comment_id&gt;32481&lt;/wp:comment_id&gt;<br>	&lt;wp:comment_author&gt;Fausto&lt;/wp:comment_author&gt;<br>	&lt;wp:comment_author_email&gt;fausto@cebim.com.br&lt;/wp:comment_author_email&gt;<br>	&lt;wp:comment_author_url&gt;&lt;/wp:comment_author_url&gt;<br>	&lt;wp:comment_author_IP&gt;200.209.85.1&lt;/wp:comment_author_IP&gt;<br>	&lt;wp:comment_date&gt;2008-10-20 12:01:35&lt;/wp:comment_date&gt;<br>	&lt;wp:comment_date_gmt&gt;2008-10-20 15:01:35&lt;/wp:comment_date_gmt&gt;<br>	&lt;wp:comment_content&gt;Espero que lancem a famosa licença gratuita de 1 ano. :-)<br><br>O problema do KAV é que ele tenta atualizar a base de dados dele muito frequentemente. Isso é bom por um lado, mas ruim por outro, como, por exemplo, quando você quer jogar online e precisa que não haja interferência na conexão.&lt;/wp:comment_content&gt;<br>	&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>	&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>	&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>	&lt;/wp:comment&gt;<br>		&lt;wp:comment&gt;<br>	&lt;wp:comment_id&gt;32484&lt;/wp:comment_id&gt;<br>	&lt;wp:comment_author&gt;Willian Rosa&lt;/wp:comment_author&gt;<br>	&lt;wp:comment_author_email&gt;w.binoto@gmail.com&lt;/wp:comment_author_email&gt;<br>	&lt;wp:comment_author_url&gt;http://willianrosa.wordpress.com&lt;/wp:comment_author_url&gt;<br>	&lt;wp:comment_author_IP&gt;201.11.212.230&lt;/wp:comment_author_IP&gt;<br>	&lt;wp:comment_date&gt;2008-10-20 12:19:16&lt;/wp:comment_date&gt;<br>	&lt;wp:comment_date_gmt&gt;2008-10-20 15:19:16&lt;/wp:comment_date_gmt&gt;<br>	&lt;wp:comment_content&gt;A licença do meu ESET está acabando no mês que vem, e estou a dois anos com ESET original que nem me lembro se tenho ou não anti vírus. Estou numa fase, digamos: ótima. Não me preocupo com internet, arquivos na rede doméstica, atualizações, etc e tal. Softwares originais é tranquilidade, nesses dois anos de ESET, pude afirmar isso. Vou com certeza agora comprar o Norton 2009, pois estou com o BETA dele no meu laptop com Windows XP Professional e estou gostando - como o Rodrigo - do que vi.<br><br>Obrigado.&lt;/wp:comment_content&gt;<br>	&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>	&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>	&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>	&lt;/wp:comment&gt;<br>		&lt;wp:comment&gt;<br>	&lt;wp:comment_id&gt;32492&lt;/wp:comment_id&gt;<br>	&lt;wp:comment_author&gt;Elimar Bentes&lt;/wp:comment_author&gt;<br>	&lt;wp:comment_author_email&gt;elimar_bentes@hotmail.com&lt;/wp:comment_author_email&gt;<br>	&lt;wp:comment_author_url&gt;&lt;/wp:comment_author_url&gt;<br>	&lt;wp:comment_author_IP&gt;201.9.245.172&lt;/wp:comment_author_IP&gt;<br>	&lt;wp:comment_date&gt;2008-10-20 16:36:21&lt;/wp:comment_date&gt;<br>	&lt;wp:comment_date_gmt&gt;2008-10-20 19:36:21&lt;/wp:comment_date_gmt&gt;<br>	&lt;wp:comment_content&gt;O melhor mesmo é o AVAST, uso ele desde sempre..<br>quem nunk usou eu recomendo.. o car apega tudo..alem do mais, tambem é muito leve...&lt;/wp:comment_content&gt;<br>	&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>	&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>	&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>	&lt;/wp:comment&gt;<br>		&lt;wp:comment&gt;<br>	&lt;wp:comment_id&gt;32494&lt;/wp:comment_id&gt;<br>	&lt;wp:comment_author&gt;Antonio&lt;/wp:comment_author&gt;<br>	&lt;wp:comment_author_email&gt;apjr1@yahoo.com.br&lt;/wp:comment_author_email&gt;<br>	&lt;wp:comment_author_url&gt;&lt;/wp:comment_author_url&gt;<br>	&lt;wp:comment_author_IP&gt;201.92.154.38&lt;/wp:comment_author_IP&gt;<br>	&lt;wp:comment_date&gt;2008-10-20 18:01:31&lt;/wp:comment_date&gt;<br>	&lt;wp:comment_date_gmt&gt;2008-10-20 21:01:31&lt;/wp:comment_date_gmt&gt;<br>	&lt;wp:comment_content&gt;Isso que é jabá hein amigo?<br>Faltou a camiseta hering com o coração - I Love NAV !<br>Queria ver se faria tudo por um software freeware.<br>Todo profissional de T.I sabe que as soluções da Simantec foram voltadas para o mercado CORPORATIVO. E seu desempenho sempre deixou a desejar para o usuário doméstico.<br>Não dispenso o AVIRA - Antivir  , dois anos de satisfação. <br>Muito melhor que usar software de forma pirata , isso digo para os usuários de softwares crackeados , até a solução opne-source Clam-AV é melhor que os AVG , NAV e ESET da vida...<br>Quem quer antivirus bom , seguro e eficiente , experimente o AVIRA- ANTIVIR , infelizmente é em inglês . Mas nada de tão complicado para quem tem uma noção.<br>Ou use o CLAM-AV - open-source .<br><br>Por um mundo livre de especuladores. Use SOFTWARE LIVRE, ou pelo menos freeware<br><br>Agora fazer jabá pra empresa de software sócia do tio Bill Gates , é o fim da ficada.<br><br>Você esqueceu de mencionar o que realmente interessa , o consumo de memória.<br>Quantos megabites o software consome em modo ativo e no modo vigilante.<br><br>Que vacilo hein...<br><br>Jabazeiro ( para quem nao conhece a expressão = pessoas que recebem para divulgar , reportagens compradas , puxassaquistas )&lt;/wp:comment_content&gt;<br>	&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>	&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>	&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>	&lt;/wp:comment&gt;<br>		&lt;wp:comment&gt;<br>	&lt;wp:comment_id&gt;32497&lt;/wp:comment_id&gt;<br>	&lt;wp:comment_author&gt;Gabriel&lt;/wp:comment_author&gt;<br>	&lt;wp:comment_author_email&gt;no_spam@danol.com.br&lt;/wp:comment_author_email&gt;<br>	&lt;wp:comment_author_url&gt;&lt;/wp:comment_author_url&gt;<br>	&lt;wp:comment_author_IP&gt;200.158.203.238&lt;/wp:comment_author_IP&gt;<br>	&lt;wp:comment_date&gt;2008-10-20 18:46:42&lt;/wp:comment_date&gt;<br>	&lt;wp:comment_date_gmt&gt;2008-10-20 21:46:42&lt;/wp:comment_date_gmt&gt;<br>	&lt;wp:comment_content&gt;Avira AntiVir + Comodo Firewall Pro = dupla imbatível. <br><br>O resto é blá blá blá!!!&lt;/wp:comment_content&gt;<br>	&lt;wp:comment_approved&gt;1&lt;/wp:comment_approved&gt;<br>	&lt;wp:comment_type&gt;&lt;/wp:comment_type&gt;<br>	&lt;wp:comment_parent&gt;0&lt;/wp:comment_parent&gt;<br>	&lt;/wp:comment&gt;<br>		&lt;wp:comment&gt;<br>	&lt;wp:comment_id&gt;32499&lt;/wp:comment_id&gt;<br>	&lt;wp:comment_author&gt;Rodrigo P. Ghedin&lt;/wp:comment_author&gt;<br>	&lt;wp:comment_author_email&gt;rodrigo@rodrigoghedin.com.br&lt;/wp:comment_author_email&gt;<br>	&lt;wp:comment_author_url&gt;http://www.rodrigoghedin.com.br/&lt;/wp:comment_author_url&gt;<br>	&lt;wp:comment_author_IP&gt;189.114.242.176&lt;/wp:comment_author_IP&gt;<br>	&lt;wp:comment_date&gt;2008-10-20 19:27:05&lt;/wp:comment_date&gt;<br>	&lt;wp:comment_date_gmt&gt;2008-10-20 22:27:05&lt;/wp:comment_date_gmt&gt;<br>	&lt;wp:comment_content&gt;<em>@ Antonio</em><br><br>Usar uma peneira (ClamAV) só porque é <em>open source</em>? Não, obrigado. Esse papo de linuxer xiita é tão chato, mas tão chato, que a própria comunidade Linux rejeita quem age assim - se não entendeu, eles rejeitam <strong>você</strong>.<br><br>O critério que uso para recomendar softwares não é ser "&gt;</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145287">\
	 <div id="dsq-comment-header-16145287" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145287" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16145287" href="http://celebroken.com/" target="_blank" rel="nofollow">marcellus</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145287" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145287" class="dsq-comment-message">Ghedin, hj não uso AV aqui, pq acho que não preciso.<br><br>Ma depois desse review, senti vontade de experimentar o Norton 2009. Apenas a versão trial mesmo, só pra ver como está. Afinal, fui um usuário desse AV durante mto tempo, até que resolvi abandoná-lo por ser, na época, um tremendo comilão de recursos!<br><br>Já estou baixando a versão de testes. Vlw! =D</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145288">\
	 <div id="dsq-comment-header-16145288" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145288" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145288">Murilo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145288" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145288" class="dsq-comment-message">Sei lá, achei ele meio escuro...<br>(nunca gostei tanto do Norton)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145289">\
	 <div id="dsq-comment-header-16145289" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145289" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145289">Gabriel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145289" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145289" class="dsq-comment-message">o NIS 2009 é um bom substituto do KIS 2009? to pensando em trocar.....</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145290">\
	 <div id="dsq-comment-header-16145290" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145290" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145290">Carlos</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145290" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145290" class="dsq-comment-message">Continuo com meu NOD ao invés do Norton.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145291">\
	 <div id="dsq-comment-header-16145291" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145291" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145291">Fausto</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145291" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145291" class="dsq-comment-message">Espero que lancem a famosa licença gratuita de 1 ano. :-)<br><br>O problema do KAV é que ele tenta atualizar a base de dados dele muito frequentemente. Isso é bom por um lado, mas ruim por outro, como, por exemplo, quando você quer jogar online e precisa que não haja interferência na conexão.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145292">\
	 <div id="dsq-comment-header-16145292" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145292" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16145292" href="http://willianrosa.wordpress.com/" target="_blank" rel="nofollow">Willian Rosa</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145292" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145292" class="dsq-comment-message">A licença do meu ESET está acabando no mês que vem, e estou a dois anos com ESET original que nem me lembro se tenho ou não anti vírus. Estou numa fase, digamos: ótima. Não me preocupo com internet, arquivos na rede doméstica, atualizações, etc e tal. Softwares originais é tranquilidade, nesses dois anos de ESET, pude afirmar isso. Vou com certeza agora comprar o Norton 2009, pois estou com o BETA dele no meu laptop com Windows XP Professional e estou gostando - como o Rodrigo - do que vi.<br><br>Obrigado.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145293">\
	 <div id="dsq-comment-header-16145293" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145293" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145293">Elimar Bentes</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145293" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145293" class="dsq-comment-message">O melhor mesmo é o AVAST, uso ele desde sempre..<br>quem nunk usou eu recomendo.. o car apega tudo..alem do mais, tambem é muito leve...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145294">\
	 <div id="dsq-comment-header-16145294" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145294" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145294">Antonio</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145294" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145294" class="dsq-comment-message">Isso que é jabá hein amigo?<br>Faltou a camiseta hering com o coração - I Love NAV !<br>Queria ver se faria tudo por um software freeware.<br>Todo profissional de T.I sabe que as soluções da Simantec foram voltadas para o mercado CORPORATIVO. E seu desempenho sempre deixou a desejar para o usuário doméstico.<br>Não dispenso o AVIRA - Antivir  , dois anos de satisfação. <br>Muito melhor que usar software de forma pirata , isso digo para os usuários de softwares crackeados , até a solução opne-source Clam-AV é melhor que os AVG , NAV e ESET da vida...<br>Quem quer antivirus bom , seguro e eficiente , experimente o AVIRA- ANTIVIR , infelizmente é em inglês . Mas nada de tão complicado para quem tem uma noção.<br>Ou use o CLAM-AV - open-source .<br><br>Por um mundo livre de especuladores. Use SOFTWARE LIVRE, ou pelo menos freeware<br><br>Agora fazer jabá pra empresa de software sócia do tio Bill Gates , é o fim da ficada.<br><br>Você esqueceu de mencionar o que realmente interessa , o consumo de memória.<br>Quantos megabites o software consome em modo ativo e no modo vigilante.<br><br>Que vacilo hein...<br><br>Jabazeiro ( para quem nao conhece a expressão = pessoas que recebem para divulgar , reportagens compradas , puxassaquistas )</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145295">\
	 <div id="dsq-comment-header-16145295" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145295" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145295">Gabriel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145295" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145295" class="dsq-comment-message">Avira AntiVir + Comodo Firewall Pro = dupla imbatível. <br><br>O resto é blá blá blá!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145296">\
	 <div id="dsq-comment-header-16145296" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145296" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16145296" href="http://sobre.rodrigoghedin.com.br/" target="_blank" rel="nofollow">Rodrigo Ghedin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145296" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145296" class="dsq-comment-message"><em>@ Antonio</em><br><br>Usar uma peneira (ClamAV) só porque é <em>open source</em>? Não, obrigado. Esse papo de linuxer xiita é tão chato, mas tão chato, que a própria comunidade Linux rejeita quem age assim - se não entendeu, eles rejeitam <strong>você</strong>.<br><br>O critério que uso para recomendar softwares não é ser "parceira" da Microsoft. Recomendo o que é bom. Simples assim. Achou ruim ou não pode pagar? Paciência. Existem muitas alternativas gratuitas boas, como o AntiVir que você mesmo recomendou. O fato de existir uma opção boa e gratuita desqualifica as pagas e igualmente boas - se não melhores? De maneira alguma.<br><br>Cara, quer um conselho não só em relação à informática, mas para sua vida? <strong>Cresça</strong>. E, por favor, pare de encher o saco aqui.<br><br>[]\'s!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145297">\
	 <div id="dsq-comment-header-16145297" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145297" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145297">Eduardo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145297" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145297" class="dsq-comment-message">Rodrigo, <br>Assim como vc, já usei Norton, nem tanto pelas poucas opções, mas por acreditar em sua capacidade de detecção. Mas tb acabei não aguentando. Além do peso, o fato dele dar conflito com tudo qto era programa.<br>Gosto de suítes e talvez venha a testar a suíte dele que creio deve sair em breve...ou não ?<br>Por enquanto, continuo com meu KIS, com o qual estou plenamente satisfeito!<br>Grande abraço! ;-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145298">\
	 <div id="dsq-comment-header-16145298" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145298" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145298">hulago</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145298" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145298" class="dsq-comment-message">Cara, legal a matéria, só fiquei com duas dúvidas:<br>1. Ele roda legal tanto em XP quanto no Vista? <br>Quem tem XP compensa ficar com o Norton anterior ou essa nova versão?<br>2. E quanto de memória ele come? É preciso um processador parrudo, tipo Core2Duo?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145299">\
	 <div id="dsq-comment-header-16145299" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145299" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16145299" href="http://sobre.rodrigoghedin.com.br/" target="_blank" rel="nofollow">Rodrigo Ghedin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145299" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145299" class="dsq-comment-message"><em>@ hulago</em><br><br>1. Roda bem tanto em XP quanto em Vista. Como disse no review, não conheço o NAV 2008, mas pela propaganda da Symantec, o upgrade vale a pena.<br><br>2. No meu Vostro 1000, com Windows XP, Turion64 X2 TL-50 e 1 GB de memória, rodou liso. O NAV usa dois processos residentes na memória, que, somados, consomem 16 MB de memória.<br><br>[]\'s!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145300">\
	 <div id="dsq-comment-header-16145300" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145300" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145300">jefferson barcellos</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145300" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145300" class="dsq-comment-message">onde foi para Mcfee?? tem algum valor hoje no mercado??? o KAV, NOD, NAV são melhores???</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145301">\
	 <div id="dsq-comment-header-16145301" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145301" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145301">Hudson</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145301" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145301" class="dsq-comment-message">Estou usando o NIS 2009 e está OTIMO!!<br>SUPER leve como nunca vi em nenhum produto da Symantec em toda minha vida.<br>Só não está muito defensivo feito as versões enteriores...achei ele "calado" demais...Mas pode ser impressão minha.<br>Agora um Antivirus bom tmbém é o Avast...depois do Norton é o melhor sem comparação!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145303">\
	 <div id="dsq-comment-header-16145303" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145303" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145303">Gustavo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145303" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145303" class="dsq-comment-message">Acabo de receber o link para o download do Internet Security 2009, comprei ele ontem de tarde, via Symantec Store.<br><br>Além de ser a suite de segurança mais rápida do mercado atualmente, o NIS provou que está bem mais esperto, detectou uma variante dos trojans bancários que nem Comodo Internet Security e ESET Smart Security tinham achado.<br><br>A primeira verificação completa durou 40 mintuos (Avira 54 minutos, ESET Smart Security 1:05, Comodo Antivirus 1:25) e varreu 250.306 arquivos. A segunda - já com a força Norton Insight - demorou 5 minutos e varreu apenas 108.924 arquivos.<br><br>Sem falar no tal SONAR, que vigia o sistema e qualquer suspeita ele bloqueia sem piedade. Já falei muito mal da Symantec mas, com muito prazer, dei o braço a torcer.<br><br>Show de bola!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145304">\
	 <div id="dsq-comment-header-16145304" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145304" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145304">Edu</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145304" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145304" class="dsq-comment-message">Sinto discordar Gustavo,<br><br>Testei a versão Trial e continuo não gostando dele.<br><br>Acho que ainda é pesadão (menos, mas ainda é) e em termos de detecção, não passa nem pero do KIS.<br><br>Vai ser dificil eu trocar o KIS por outra solução.<br><br>O Smart Security (NOD) não serve nem como comparação.<br><br>FRAQUÍSSIMO.<br><br>Um abraço.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145309">\
	 <div id="dsq-comment-header-16145309" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145309" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145309">O meu</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145309" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145309" class="dsq-comment-message">quero saber se o NORTON ANTIVIRUS possui Antiphishing <br>Apenas o antivirus nao o internet security ok?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145311">\
	 <div id="dsq-comment-header-16145311" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145311" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145311">Eduardo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145311" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145311" class="dsq-comment-message">Somente o Internet Security tem antiphishing.... Conselho, junte mais pessoas e compre 3 ou 5 licen&ccedil;as, sai muitoooo mais barato. E todos ficam com um soft original podendo atualiza-lo a todo instante.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145305">\
	 <div id="dsq-comment-header-16145305" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145305" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16145305" href="http://www.guanabaradesign.com/" target="_blank" rel="nofollow">Gabriel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145305" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145305" class="dsq-comment-message">Depois de l&ecirc;r seu t&oacute;pico fui atr&acute;&acute;as do NIS2009 para baixar. Consegui um &#039;gen&eacute;rico&#039; e instalei. Aqui foi super r&aacute;pido e demorou menos de um minuto. Por&eacute;m, como eu usava uma vers&atilde;o do Windows Lite, meu wi-fi n&atilde;o pegava, n&atilde;o consegui instalar, ent&atilde;o mudei para o WINDOWS Server 2003. Tentei instalar o NIS e n&atilde;o consegui. Ser&aacute; que existe uma maneira de instalar o NIS no Server 2003 ou, de repente, tem uma vers&atilde;o mias leve da symantec para o meu OS?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145306">\
	 <div id="dsq-comment-header-16145306" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145306" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16145306" href="http://sobre.rodrigoghedin.com.br/" target="_blank" rel="nofollow">Rodrigo Ghedin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145306" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145306" class="dsq-comment-message">Gabriel, o NAV/NIS 2009 n&atilde;o rodam no Windows Server. Nesse tipo de sistema, s&oacute; o <a href="http://www.symantec.com/business/antivirus-corporate-edition" target="_blank" rel="nofollow">Symantec AntiVirus</a>. <br> <br>[]&#039;s!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145307">\
	 <div id="dsq-comment-header-16145307" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145307" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16145307" href="http://www.guanabaradesign.com/" target="_blank" rel="nofollow">Gabriel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145307" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145307" class="dsq-comment-message">E este mencionado &eacute; t&atilde;o bom/leve quanto o NAV2009? Poderia me sugerir um? Mesmo sendo pago.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145310">\
	 <div id="dsq-comment-header-16145310" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145310" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145310">fabio</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145310" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145310" class="dsq-comment-message">comprei o norton internet security 2009 , o mesmo inicia e depois deliga,, sabe o porque,, win e xp,, n&atilde;o consigo instalar &eacute; original o programa</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145312">\
	 <div id="dsq-comment-header-16145312" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145312" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145312">Eduardo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145312" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145312" class="dsq-comment-message">Como assim inicia e desliga. Poderia ser mais especifico.. Qt de memoria tem seu computador?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145314">\
	 <div id="dsq-comment-header-16145314" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145314" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145314">Carlos Augusto Lindemayer</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145314" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145314" class="dsq-comment-message">Nishi ! eu estou com o mesmo problema que você já desinstalei umas trêz vezes e sempre acontece isso, embora eu tenha utilizado por umas duas ou três semanas sem dar problema. Se conseguiur descobrir do que se trata se for possível me avise. Eu farei o mesmo.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145315">\
	 <div id="dsq-comment-header-16145315" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145315" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145315">Fernado Ventura Junior</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145315" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145315" class="dsq-comment-message">Já testei todos antivírus agora eu to sussa tenho o norton 2009 com licença extendida por 1 ano com ctz completamente o melhor e super leve .<br>logicamente minha máquina um core duo quad 3.0 GHZ  5oo  HD  4 giga de RAM ta suave .</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145316">\
	 <div id="dsq-comment-header-16145316" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145316" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145316">vanessa</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145316" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145316" class="dsq-comment-message">quero baixar esse antivivirus por que todos falam bemmmmmmmmm...........</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16145317">\
	 <div id="dsq-comment-header-16145317" class="dsq-comment-header">\
	 <cite id="dsq-cite-16145317" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16145317">vanessa</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16145317" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16145317" class="dsq-comment-message">hbvhjv</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=norton_antivirus_2009&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);
			}
		}
	});
}

})();




