




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": {"dae58555a019b36d8da00c28716abdbb": {"username": "Mateus", "tumblr": "", "display_name": "Mateus", "url": "http://disqus.com/guest/dae58555a019b36d8da00c28716abdbb/", "registered": false, "linkedin": "", "blog": "http://mjimmy.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": ""}, "8d9159161d06ae88adafc23c595c25d2": {"username": "Osvaldo", "tumblr": "", "display_name": "Osvaldo", "url": "http://disqus.com/guest/8d9159161d06ae88adafc23c595c25d2/", "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": ""}, "aaae281a9b889f69ec757457b3643942": {"username": "Bill", "tumblr": "", "display_name": "Bill", "url": "http://disqus.com/guest/aaae281a9b889f69ec757457b3643942/", "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": ""}, "d90a168663a043286fa0c1a17faf068e": {"username": "Daniel", "tumblr": "", "display_name": "Daniel", "url": "http://disqus.com/guest/d90a168663a043286fa0c1a17faf068e/", "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": ""}, "ba37ad56f95b7a528f13b2adad8878f4": {"username": "Daniel", "tumblr": "", "display_name": "Daniel", "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": ""}, "e694e1ede06e2eccb6b8e29780eb104a": {"username": "Larvitar", "tumblr": "", "display_name": "Larvitar", "url": "http://disqus.com/guest/e694e1ede06e2eccb6b8e29780eb104a/", "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": ""}, "9f188cb235115f8bc27b1676d711dcc6": {"username": "Marcelo", "tumblr": "", "display_name": "Marcelo", "url": "http://disqus.com/guest/9f188cb235115f8bc27b1676d711dcc6/", "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": ""}, "5e2dc42372c0685acf9ab96a763e8e4a": {"username": "Nibelung", "tumblr": "", "display_name": "Nibelung", "url": "http://disqus.com/guest/5e2dc42372c0685acf9ab96a763e8e4a/", "registered": false, "linkedin": "", "blog": "http://nibelung.multiply.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": ""}, "c140f052d7352bb69124271340203dd0": {"username": "RScheffer", "tumblr": "", "display_name": "RScheffer", "url": "http://disqus.com/guest/c140f052d7352bb69124271340203dd0/", "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": ""}, "c6e19362d5ede8265927b61d9e3e28eb": {"username": "Eduardo", "tumblr": "", "display_name": "Eduardo", "url": "http://disqus.com/guest/c6e19362d5ede8265927b61d9e3e28eb/", "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": ""}, "f78373bdc38262046dfeb3a4bee700b0": {"username": "Andr\u00e9", "tumblr": "", "display_name": "Andr\u00e9", "url": "http://disqus.com/guest/f78373bdc38262046dfeb3a4bee700b0/", "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": ""}, "063b550e8a938fb4e8f007fd81a4807e": {"username": "Leocadio", "tumblr": "", "display_name": "Leocadio", "url": "http://disqus.com/guest/063b550e8a938fb4e8f007fd81a4807e/", "registered": false, "linkedin": "", "blog": "http://leocadio.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": ""}, "f3bb4111ccd787b525054e52194a76c2": {"username": "eddie", "tumblr": "", "display_name": "eddie", "url": "http://disqus.com/guest/f3bb4111ccd787b525054e52194a76c2/", "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": ""}, "dd429342e44b3724130ae695210fdb73": {"username": "Maur\u00edcio", "tumblr": "", "display_name": "Maur\u00edcio", "url": "http://disqus.com/guest/dd429342e44b3724130ae695210fdb73/", "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": ""}, "e359ccd89642b7e2ea714e7ed90282b7": {"username": "Tony", "tumblr": "", "display_name": "Tony", "url": "http://disqus.com/guest/e359ccd89642b7e2ea714e7ed90282b7/", "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": ""}, "6dd7cc815271e344f1b358ac3d203dd9": {"username": "Luan", "tumblr": "", "display_name": "Luan", "url": "http://disqus.com/guest/6dd7cc815271e344f1b358ac3d203dd9/", "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": ""}, "0f4a159f247c73f4c55ab680fab6c40b": {"username": "toscotilldeath", "tumblr": "", "display_name": "toscotilldeath", "url": "http://disqus.com/guest/0f4a159f247c73f4c55ab680fab6c40b/", "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": ""}, "1ec13379d51bee020b12a73e05059e8f": {"username": "Diego Castilho", "tumblr": "", "display_name": "Diego Castilho", "url": "http://disqus.com/guest/1ec13379d51bee020b12a73e05059e8f/", "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": ""}, "f5b001c478bc9b249a5c51ee58802e15": {"username": "Fabr\u00edcio", "tumblr": "", "display_name": "Fabr\u00edcio", "url": "http://disqus.com/guest/f5b001c478bc9b249a5c51ee58802e15/", "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": ""}, "9bc3a7f1cdc1e7faf40a8a3f42e58403": {"username": "Rick", "tumblr": "", "display_name": "Rick", "url": "http://disqus.com/guest/9bc3a7f1cdc1e7faf40a8a3f42e58403/", "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": ""}, "4643589e4aee4a8c94c35d816e664016": {"username": "Daniel", "tumblr": "", "display_name": "Daniel", "url": "http://disqus.com/guest/4643589e4aee4a8c94c35d816e664016/", "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": ""}, "6b718b1a6f5c2d3923fd9ad0288fc30d": {"username": "Tony", "tumblr": "", "display_name": "Tony", "url": "http://disqus.com/guest/6b718b1a6f5c2d3923fd9ad0288fc30d/", "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": ""}, "8fec19f2ca361a56fbe9970e8174e857": {"username": "Luiz", "tumblr": "", "display_name": "Luiz", "url": "http://disqus.com/guest/8fec19f2ca361a56fbe9970e8174e857/", "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": ""}, "4ba8658f29f5b227c0259a8db6f8e17c": {"username": "Marco Carvalho", "tumblr": "", "display_name": "Marco Carvalho", "url": "http://disqus.com/guest/4ba8658f29f5b227c0259a8db6f8e17c/", "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": ""}, "7563aa95ecaf5a334ca21b775f8a0fd7": {"username": "Santiago", "tumblr": "", "display_name": "Santiago", "url": "http://disqus.com/guest/7563aa95ecaf5a334ca21b775f8a0fd7/", "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": ""}, "8ec22434a6d9c361e391a95604a70ebb": {"username": "joaquim", "tumblr": "", "display_name": "joaquim", "url": "http://disqus.com/guest/8ec22434a6d9c361e391a95604a70ebb/", "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": ""}, "94fbc8c9e0680bb273da4c789fc538b6": {"username": "Lucas Costa", "tumblr": "", "display_name": "Lucas Costa", "url": "http://disqus.com/guest/94fbc8c9e0680bb273da4c789fc538b6/", "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": ""}, "7201fbef180211a067a3027318b4fff3": {"username": "gabriel", "tumblr": "", "display_name": "gabriel", "url": "http://disqus.com/guest/7201fbef180211a067a3027318b4fff3/", "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": ""}, "8f6479dc2b7fc25a433b28751ae198b1": {"username": "chrystoffer", "tumblr": "", "display_name": "chrystoffer", "url": "http://disqus.com/guest/8f6479dc2b7fc25a433b28751ae198b1/", "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": ""}, "41678192a48ccd13a80b8596a8b5691d": {"username": "Sidnei", "tumblr": "", "display_name": "Sidnei", "url": "http://disqus.com/guest/41678192a48ccd13a80b8596a8b5691d/", "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": ""}, "3225df7eae9d54a7e439a2f1d57f1da6": {"username": "igor", "tumblr": "", "display_name": "igor", "url": "http://disqus.com/guest/3225df7eae9d54a7e439a2f1d57f1da6/", "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": ""}, "cf1a6740ab03040042500dd7fb3b44c6": {"username": "Lucas", "tumblr": "", "display_name": "Lucas", "url": "http://disqus.com/guest/cf1a6740ab03040042500dd7fb3b44c6/", "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": ""}, "91e527239bad46847baa6c94f9679e42": {"username": "Pepe", "tumblr": "", "display_name": "Pepe", "url": "http://disqus.com/guest/91e527239bad46847baa6c94f9679e42/", "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": ""}, "c6c505bf66d017295ff9fcd43d1a3d93": {"username": "Lucas Barbieri", "tumblr": "", "display_name": "Lucas Barbieri", "url": "http://disqus.com/guest/c6c505bf66d017295ff9fcd43d1a3d93/", "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": ""}, "ba940418a8eed0c909b0c312d25c2382": {"username": "Jonny", "tumblr": "", "display_name": "Jonny", "url": "http://disqus.com/guest/ba940418a8eed0c909b0c312d25c2382/", "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": ""}, "dc6dd6e4099ef9bab9b0375fb702bf40": {"username": "Augusto", "tumblr": "", "display_name": "Augusto", "url": "http://disqus.com/guest/dc6dd6e4099ef9bab9b0375fb702bf40/", "registered": false, "linkedin": "", "blog": "http://onipresente.eti.br/", "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": ""}, "60c52c037fd3b5aef93c5eac1490efff": {"username": "C4i0", "tumblr": "", "display_name": "C4i0", "url": "http://disqus.com/guest/60c52c037fd3b5aef93c5eac1490efff/", "registered": false, "linkedin": "", "blog": "http://deskvst.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/271/4369/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4f08e8a852000b74696c814968ab66dc": {"username": "JMSbeta", "tumblr": "", "display_name": "JMSbeta", "url": "http://disqus.com/guest/4f08e8a852000b74696c814968ab66dc/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/280/9108/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ac1f954d194cf0cd02db5f1c720a299d": {"username": "Rafael Lino", "tumblr": "", "display_name": "Rafael Lino", "url": "http://disqus.com/guest/ac1f954d194cf0cd02db5f1c720a299d/", "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": ""}, "385e66f2593b258d021aeb6211373470": {"username": "thiago", "tumblr": "", "display_name": "thiago", "url": "http://disqus.com/guest/385e66f2593b258d021aeb6211373470/", "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": ""}, "ef18030b1fb84515296f4937f8b9a9cc": {"username": "Oct\u00e1vio Augusto", "tumblr": "", "display_name": "Oct\u00e1vio Augusto", "url": "http://disqus.com/guest/ef18030b1fb84515296f4937f8b9a9cc/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "75fd2c99383e97adf7a6c52d74b75fdc": {"username": "Edgard", "tumblr": "", "display_name": "Edgard", "url": "http://disqus.com/guest/75fd2c99383e97adf7a6c52d74b75fdc/", "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": ""}, "c4caaf148fa6e71ae095ec38e418caee": {"username": "Tony", "tumblr": "", "display_name": "Tony", "url": "http://disqus.com/guest/c4caaf148fa6e71ae095ec38e418caee/", "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": ""}, "2fa23855bc3ea6f433b5ed3c3c9c2eb5": {"username": "Paulo", "tumblr": "", "display_name": "Paulo", "url": "http://disqus.com/guest/2fa23855bc3ea6f433b5ed3c3c9c2eb5/", "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": ""}, "b673d2268b58f8a1a5cd8be8ae257a1f": {"username": "Junior", "tumblr": "", "display_name": "Junior", "url": "http://disqus.com/guest/b673d2268b58f8a1a5cd8be8ae257a1f/", "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": ""}, "bd277b541eb264e1c739367a42952394": {"username": "Victor", "tumblr": "", "display_name": "Victor", "url": "http://disqus.com/guest/bd277b541eb264e1c739367a42952394/", "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": ""}, "d132ab7509ff7b208ef6af709ea6924a": {"username": "Alex", "tumblr": "", "display_name": "Alex", "url": "http://disqus.com/guest/d132ab7509ff7b208ef6af709ea6924a/", "registered": false, "linkedin": "", "blog": "http://alexpalombo.spaces.live.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": ""}}, "forum": {"use_media": true, "name": "WinAjuda", "streaming_realtime": false, "url": "winajuda", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 0, "show_avatar": true, "allow_anon_votes": true, "disqus_auth_disabled": false}, "realtime_enabled": false, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "winajuda", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-22_11:48:50", "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": {"16138368": {"up_voted": false, "ip": "", "has_replies": false, "message": "Po, de 3 pcs aqui em casa, 2 tem o Avast (o escaneamento durante o boot, pra mim, \u00e9 o melhor)...<br><br>Aqui no micro que uso n\u00e3o em nada.Nem AV, nem Anti Spyware. S\u00f3 o WinXP SP2 atualizado.<br><br>=D", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_13:58:32", "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}, "16138369": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ah, s\u00f3 pq o Rodrigo falou desse BitDefender, vou ver como \u00e9... se \u00e9 pra escanear sem rodar desde o boot nem ficar em segundo plano, acho que \u00e9 v\u00e1lido!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_13:59:40", "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}, "16138370": {"up_voted": false, "ip": "", "has_replies": false, "message": "Num entendi.. Ghedin voc\u00ea usa dois antivirus? Kaspersky e Bit Defender na mesma maquina? Foi o que deu a entender.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_14:05:36", "killed": false, "user_key": "6dd7cc815271e344f1b358ac3d203dd9", "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}, "16138371": {"up_voted": false, "ip": "", "has_replies": false, "message": "concordo com o texto, e acho q no vista nao a muita necessidade de antivirus, + no caso do XP acho indispensavel, eu utilizo windows XP com o AVG 7.5 e sempre atualizado assim como o windows, e pra quem tem o vista, eu recomendo o NOD32 pois ja testei e acho um antivirus bom e dos mais leves q testei. e isso ai", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_14:12:33", "killed": false, "user_key": "d132ab7509ff7b208ef6af709ea6924a", "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}, "16138372": {"up_voted": false, "ip": "", "has_replies": false, "message": "eu nunca usei antivirus :D<br>nao gosto :P", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_14:16:48", "killed": false, "user_key": "8f6479dc2b7fc25a433b28751ae198b1", "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}, "16138373": {"up_voted": false, "ip": "", "has_replies": false, "message": "depende pra q cada um usa o pc!<br><br>se vc  usar o  pc como BANKER!<br>ai faz ki nem eu usa o NOD32, outprost firewall 2008, spyboot.<br><br>mas se vc usa pra uso normal, acessar site, peskisar essas coisas.<br>ai nem precisa!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_16:01:26", "killed": false, "user_key": "f3bb4111ccd787b525054e52194a76c2", "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}, "16138374": {"up_voted": false, "ip": "", "has_replies": false, "message": "Posso comprovar isso. Recentemente, instalei o Windows 2003 numa m\u00e1quina e ele se mostrou deveras mais r\u00e1pido que o XP: janelas e os itens do menu Iniciar apareciam instantaneamente ao se clicar neles. N\u00e3o havia delay em se mudar para uma pasta ou disco. Ent\u00e3o, instalei nele o PC Tools Antivirus e o sistema passou a apresentar um atraso na forma\u00e7\u00e3o das imagens dessas fun\u00e7\u00f5es, isso porque o antiv\u00edrus fica com servi\u00e7os rodando o tempo todo.<br><br>Mas quanto ao UAC, digo-lhe que o seu maior inimigo \u00e9 o usu\u00e1rio. Explica-se: a Microsoft colocou essa tecnologia para proteger o sistema, para confirmar cada a\u00e7\u00e3o que o usu\u00e1rio vai fazer. Mas o que acontece? O usu\u00e1rio acha isso chato, e n\u00e3o entende que isso \u00e9 para sua seguran\u00e7a. Logo, ele vai acabar desabilitando o recurso e toda a inten\u00e7\u00e3o da ferramenta ir\u00e1 por \u00e1gua abaixo.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_16:13:06", "killed": false, "user_key": "f78373bdc38262046dfeb3a4bee700b0", "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}, "16138375": {"up_voted": false, "ip": "", "has_replies": false, "message": "Viver sem AV hoje em dia? \u00c9 uma verdadeira a\u00e7\u00e3o suicida... \u00c9 meio que estranho sobreviver a tantos malwares, hackers e talz, sem antivirus...<br><br>Um usu\u00e1rio responsavel, tal como o Ghedin, est\u00e1 habilitado, e pode viver sem antivirus...<br><br>At\u00e9 ai, tudo bem. Mas e os lammers e orkuteiros se plant\u00e3o? vixi, n\u00e3o sei n\u00e3o.<br>Na minha opini\u00e3o, antivirus hoje em dia s\u00e3o t\u00e3o leves, como o Avira e o Bit, que fica at\u00e9 estranho n\u00e3o usar. Consci\u00eancia, e parcimonia com a internet = PC saudavel e r\u00e1pido.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_17:00:16", "killed": false, "user_key": "f5b001c478bc9b249a5c51ee58802e15", "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}, "16138376": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ol\u00e1, paz e bem!<br><br>Parab\u00e9ns pelo \u00f3timo post!!!<br><br>Estou fazendo atualmente um teste interessante: Comodo Firewall + Spyware Terminator (com o m\u00f3dulo do WinClamAV integrado), ambos free.<br><br>Claro, o Comodo no lugar do firewall nativo do XP e a solu\u00e7\u00e3o Spyware Terminator n\u00e3o configurada para rodar em tempo real, apenas quando necess\u00e1rio e contando com o apoio do ClamAV opensource.<br><br>Gostaria que voc\u00ea Ghedin escrevesse ou comentasse mais a respeito desta ou outras formas de manter minimamente seguro um sistema baseado no WinXP.<br><br>[]s livres,<br><br>Leo<br>Guaruj\u00e1, SP-BR", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_17:27:00", "killed": false, "user_key": "063b550e8a938fb4e8f007fd81a4807e", "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}, "16138377": {"up_voted": false, "ip": "", "has_replies": false, "message": "Estou pensando em mudar de anti-v\u00edrus. O Kaspersky Internet Security deixa o meu PC extremamente lento!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_20:04:48", "killed": false, "user_key": "c6c505bf66d017295ff9fcd43d1a3d93", "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}, "16138378": {"up_voted": false, "ip": "", "has_replies": false, "message": "Basta ter bom senso e um firewall bem configurado ajuda...<br><br>[]\u00b4s!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_20:30:02", "killed": false, "user_key": "8fec19f2ca361a56fbe9970e8174e857", "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}, "16138379": {"up_voted": false, "ip": "", "has_replies": false, "message": "Segundo esse site o melhor anti-v\u00edrus de 2008 com testes realizados  \u00e9 o bitdefender, mais eu estou mais familiarizado com o avg, que uso em conjunto com o avg anti-spyware. Segue a lista dos 10 melhores anti-v\u00edrus do mercado.<br><br><a href=\"http://anti-virus-software-review.toptenreviews.com/\" rel=\"nofollow\">http://anti-virus-software-review.toptenreviews...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_21:47:39", "killed": false, "user_key": "7563aa95ecaf5a334ca21b775f8a0fd7", "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}, "16138380": {"up_voted": false, "ip": "", "has_replies": false, "message": "Bom dia a todos!!!<br><br>Eu fiquei muitos anos usando o WinXP SP2 sem antivirus e sem pegar nenhum virus. Quando aconteceu, o que eu peguei foi Spyware, ainda n\u00e3o sei como ou porque.<br><br>Acredito que o Vista realmente permita o uso sem Antivirus, porem como foi dito, se o Computador for realmente pessoal.<br><br>Abra\u00e7o!!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_21:53:56", "killed": false, "user_key": "c140f052d7352bb69124271340203dd0", "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}, "16138381": {"up_voted": false, "ip": "", "has_replies": false, "message": "Pra mim eu acho a maior loucura ficar sem anti-virus no meu pc, tempos atr\u00e1s eu fiquei sem um anti-spyware e meu pc foi pro espa\u00e7o, perdi todos os meus filmes, minhas m\u00fasicas TUDO. Depois disso coloquei o NOD32, e tenho 2 anti-spywares o ad-ware SE, e o spybote. Pra quem acessa a internet pra s\u00f3 ficar em sites do tipo Orkut e falando no msn eu acho que at\u00e9 d\u00e1 pra ficar sem anti-v\u00edrus, mais no meu caso acesso muitos sites vamos dizer... perigosos ^^<br><br>e quanto a lentid\u00e3o eu uso o NOD32 e \u00e9 como se n\u00e3o tivesse usando anti-v\u00edrus nenhum.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-19_01:55:03", "killed": false, "user_key": "75fd2c99383e97adf7a6c52d74b75fdc", "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}, "16138382": {"up_voted": false, "ip": "", "has_replies": false, "message": "Voc\u00ea tem raz\u00e3o. Desde 1996 que sou usu\u00e1rio de Internet. Na \u00e9poca, estava todo empolgado com o Windows 95. Meu PC tinha 16MB de Ram! Com tanta mem\u00f3ria assim, era comum desativar o Norton, que at\u00e9 ent\u00e3o, n\u00e3o era uma lesma prenha. (lembra do caso daquele funcion\u00e1rio da Microsoft?). Pois acreditem se quiser. Em 12 anos de Internet, meus Pcs nunca foram infectados por v\u00edrus. E olha, eu gosto de navegar no por\u00e3o da Internet.<br>Mas atualmente, h\u00e1 uma amea\u00e7a verdadeira na Internet, da qual j\u00e1 fui v\u00edtima: os malwares. N\u00e3o tem jeito. Utilizo os melhores Anti-Spywares (Spyware Doctor, on e SpySweeper, off). N\u00e3o \u00e9 raro ser infectado por um spyware.<br>Quanto aos v\u00edrus, quase tudo \u00e9 marketing sujo dos fabricantes.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-19_05:34:41", "killed": false, "user_key": "4ba8658f29f5b227c0259a8db6f8e17c", "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}, "16138383": {"up_voted": false, "ip": "", "has_replies": false, "message": "@Santiago<br><br>Muitos sabem que por tr\u00e1s desse review teve muito $.<br><br>@Marcos Carvalho disse \"Quanto aos v\u00edrus, quase tudo \u00e9 marketing sujo dos fabricantes.\"<br><br>Em que mundo voc\u00ea vive?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-19_07:22:20", "killed": false, "user_key": "6b718b1a6f5c2d3923fd9ad0288fc30d", "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}, "16138384": {"up_voted": false, "ip": "", "has_replies": false, "message": "H\u00e1 muito estardalha\u00e7o em torno dos v\u00edrus. Isso \u00e9 verdade. Mas, temos que admitir que existe um n\u00famero assustador de pragas virtuais, que s\u00f3 faz aumentar.<br>Muitos anti-v\u00edrus ficaram(eram, s\u00e3o) pesados devido ao fato de fazerem outras fun\u00e7\u00f5es. Como: Firewall, Anti-Spyware e outras coisas.<br>Cada caso, \u00e9 um caso. Na \u00e9poca que amava o Win98, n\u00e3o o trocava pelo XP nem de gra\u00e7a, n\u00e3o usava anti-v\u00edrus, mas como sempre gostei de usar programas p2p (kazaa, Audiogalaxy, eMule e etc) precisei format\u00e1-lo duas vezes por causa de v\u00edrus.<br>Hoje, uso uma vers\u00e3o 2005 do Norton (Anti-v\u00edrus e Firewall somente), que no meu caso funciona tranquilo.<br>Concordo em parte com o Ghedin. Mas, ficar sem nenhuma prote\u00e7\u00e3o no pc, ainda n\u00e3o testei o Vista, \u00e9 quase suic\u00eddio nos dias de hoje. Pois, como as p\u00e1ginas da grande rede ficaram mais sofisticadas, podemos nos contaminar com uma simples visualiza\u00e7\u00e3o de e-mail, na p\u00e1gina de qualquer uma das redes sociais dispon\u00edveis e em outros casos sem a necessidade do usu\u00e1rio abrir um arquivo.<br>\u00c9 isso!<br><br>[]'s", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-19_10:31:30", "killed": false, "user_key": "4f08e8a852000b74696c814968ab66dc", "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}, "16138385": {"up_voted": false, "ip": "", "has_replies": false, "message": "NOD32 ou Avira AntiVir: eis a quest\u00e3o.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-19_14:31:14", "killed": false, "user_key": "c6c505bf66d017295ff9fcd43d1a3d93", "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}, "16138386": {"up_voted": false, "ip": "", "has_replies": false, "message": "Concordo com seu texto.<br>Ainda mais ainda hoje com os processadores com preven\u00e7\u00e3o de execu\u00e7\u00e3o de dados, j\u00e1 d\u00e1 pra n\u00e3o ter mais um programinha em background guloso de mem\u00f3ria e processamento.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-19_16:21:08", "killed": false, "user_key": "ba940418a8eed0c909b0c312d25c2382", "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}, "16138387": {"up_voted": false, "ip": "", "has_replies": false, "message": "Existe aquele famoso ditado: \"No pa\u00eds do futebol todo mundo se acha craque\"<br><br>Acho que esse ditado j\u00e1 pegou na inform\u00e1tica, pois pra pessoas acharem que podem dispensar ferramentas de prote\u00e7\u00e3o importantes, elas devem achar que \"batem um bol\u00e3o\" no campo da inform\u00e1tica... at\u00e9 um dia o joelho estourar :p", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-19_20:49:11", "killed": false, "user_key": "9bc3a7f1cdc1e7faf40a8a3f42e58403", "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}, "16138388": {"up_voted": false, "ip": "", "has_replies": false, "message": "Espero n\u00e3o estar atrapalhando com esse coment\u00e1rio, por\u00e9m em alguns pontos discordo de voc\u00ea, Ghedin.<br>Eu trabalho com manuten\u00e7\u00e3o e montagem de PCs, e apesar da pouca idade (16), j\u00e1 enfrentei muito abacaxi grande, que me fizeram inclusive repensar o antiv\u00edrus que eu usava (Avast na \u00e9poca).<br>\u00c9 certo que o melhor antiv\u00edrus \u00e9 o pr\u00f3prio usu\u00e1rio, mas mesmo o usu\u00e1rio mais cuidadoso, ap\u00f3s levar seu pendrive na empresa de impress\u00e3o de fotos, onde a descuidada atendente deixou um pendrive infectado entrar, \u00e9 inevitavelmente infectado tamb\u00e9m ao colocar o pendrive no seu PC. Isso \u00e9 fato. E j\u00e1 aconteceu comigo. Por sorte, eu tinha um excelente antiv\u00edrus chamado Kaspersky 7.0.<br><br>E n\u00e3o adianta desviar de sites duvidosos... uma hora acabamos entrando sem querer. E usando navegadores inseguros (leia-se IE6 e anteriores, devendidos com garras e dentes por alguns fanboys), o perigo de infec\u00e7\u00e3o \u00e9 evidente. Pra mim, antiv\u00edrus \u00e9 indispens\u00e1vel. Mesmo o usu\u00e1rio mais cuidadoso acaba se contaminando, principalmente atrav\u00e9s dos pendrives. No Vista \u00e9 mais dif\u00edcil, por causa n\u00e3o apenas da bab\u00e1 eletr\u00f4nica chamada UAC, mas por causa do modo com que ele trata os autoruns, perguntando se voc\u00ea quer ou n\u00e3o executar o programa programado no autorun. Mas no XP \u00e9 inevit\u00e1vel a infe\u00e7\u00e3o por meio dos famosos \"v\u00edrus de pendrive\". Estou enfrentando um caso desses aqui no meu trampo e n\u00e3o \u00e9 nada f\u00e1cil.<br><br>Por isso, na minha opini\u00e3o, antiv\u00edrus \u00e9 indispens\u00e1vel, mas depende do que se vai usar. Se n\u00e3o quiser pagar nada, \u00e9 bom usar o Antivir. Testei-o aqui e os resultados foram muito bons. O KAV 7.0 eu uso aqui no meu PC, e quando o meu pai leva o pendrive pra algum lugar desconfiante, ele me d\u00e1 o pendrive pro KAV analisar, sem medo nenhum o fa\u00e7o. Meu PC est\u00e1 sem infec\u00e7\u00f5es, r\u00e1pido (ok, o KAV deixa o PC lento nos primeiros dias, mas depois o desempenho vai melhorando, pois ele s\u00f3 analisa os arquivos novos e os que foram modificados)<br><br>Bom, \u00e9 isso que eu acho...<br><br>Abra\u00e7os!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-19_21:05:26", "killed": false, "user_key": "e694e1ede06e2eccb6b8e29780eb104a", "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}, "16138389": {"up_voted": false, "ip": "", "has_replies": false, "message": "Bem, na minha opini\u00e3o, em se trantando de Windows, \u00e9 melhor previnir do que remediar, mesmo sendo o Vista, que para mim \u00e9 o melhor SO que a MS criou.<br>O antiv\u00edrus e essencial para qualquer usu\u00e1rio, desde o mais experiente ao novato. Sou T\u00e9cnico em Inform\u00e1tica e o NOD32 \u00e9 imbat\u00edvel,  leve e seu scan \u00e9 um dos mais r\u00e1pidos sen\u00e3o o mais r\u00e1pido e sua Heur\u00edstica \u00e9 excelente. Em se tratando de ad-ware e malware, etc... N\u00e3o confio no Windows Defender, pois sua base de dados \u00e9 muito fraca. Eu uso o AVG Anti Spyware e o SpyCatcher.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-19_21:53:38", "killed": false, "user_key": "dd429342e44b3724130ae695210fdb73", "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}, "16138390": {"up_voted": false, "ip": "", "has_replies": false, "message": "Principalmente em inform\u00e1tica, tudo \u00e9 relativo.Para alguns a seguran\u00e7a \u00e9 feita simplesmente atrav\u00e9s de bons h\u00e1bitos.Mas para a esmagadora maioria dos usu\u00e1rios, um anti-virus \u00e9 fundamental. Para aqueles que n\u00e3o s\u00e3o t\u00e3o sensatos ou desconfiados , recomendo com louvor o imbat\u00edve NOD32. Voc\u00ea nem vai notar que tem um anti-v\u00edrus em tempo real, tal sua levesa e dIscri\u00e7\u00e3o.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-26_13:41:36", "killed": false, "user_key": "c6e19362d5ede8265927b61d9e3e28eb", "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}, "16138391": {"up_voted": false, "ip": "", "has_replies": false, "message": "Usu\u00e1rios de windows que n\u00e3o usam anti-virus ou usam algum que n\u00e3o tenha prote\u00e7\u00e3o residente \u00e9 su\u00edcidio, ainda mais que existe uma op\u00e7\u00e3o no mercado que \u00e9 leve, gratuito e comprovadamente eficiente como o AVIRA ANTIVIR que consome m\u00edseros 5 ou 6 MB.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-03-19_05:27:28", "killed": false, "user_key": "41678192a48ccd13a80b8596a8b5691d", "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}, "16138392": {"up_voted": false, "ip": "", "has_replies": false, "message": "Estou utilizando o Windows Vista Ultimate 64bits a 5 meses e garanto a vcs q ele pega virus sim ..Utilizava meu sistema sem nenhuma prote\u00e7\u00e3o de antivirus, costumava entrar so em sites considerados inofencivos como Baixaki, Superdownloads etc.Um dia resolvi fazer um teste no meu vista com Kaspersky Internet Security e pela minha surpresa \u00f1 encontrei 1 virus n\u00e3o mais v\u00e1rios em meu pc OBS:.(Se vc tiver um bom pc o kaspersky nem cosquinha vai fazer no seu sistema), o kaspersky removeu v\u00e1rios virus mais ainda possuia outros q ele n\u00e3o detectava, resolvi formatar minha maquina e hoje em dia uso o BitDefender Total Security q protege meu sistema em tempo real e at\u00e9 hoje ele n\u00e3o deixou passar nada OBS:.( O vista ainda esta vuneravel, a microsoft n\u00e3o lan\u00e7ou todas a atuliza\u00e7\u00f5es de seguran\u00e7a nessesaria para o bom funcionamento do sistema inclusive o vista ainda possui varios bugs)  OUTRO ANTIVIRUS QUE TENHO INSTALADO, MAIS ATIVO SO PARA FAZER VERIFICA\u00c7\u00c3O PELO MENOS DE 6 EM 6 MESES \u00c9 O AVIRA UM EXCELENTE ANTIVIRUS .<br>Possuo em meu pc os dois sistema vista e xp e garanto a vc q para quem joga o vista ainda \u00e9 muito fraco o xp roda 99.99% melhor do que o vista, no xp utilizo o kaspersky ao invez do bitdefender e meu sistema esta otimo sem lentid\u00e3o e bem protegido.(se o XP tivesse o Direct-x 10 sem ser crackeado para rodar no sistema seria 100%)<br><br>Tenhu um Core2Quad q6600 Asus P5k3 Wi-fi Deluxe DDR3 4GB Kingston 1333 Geforce 8600GTS <br><br>PRA FINALIZAR \u00c8 ESSENCIAL POSSUIR ANTIVIRUS NO VISTA (A PG DO BAIXAKI DE VEZ EN QUANDO O BIT ACHA ALGUM SCRIPT COM VIRUS)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-03-30_16:15:18", "killed": false, "user_key": "4643589e4aee4a8c94c35d816e664016", "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}, "16138393": {"up_voted": false, "ip": "", "has_replies": false, "message": "Usem Linux, s&oacute; isso.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_05:41:54", "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": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "16138338": {"up_voted": false, "ip": "", "has_replies": false, "message": "no meu caso, usar um antiv\u00edrus em tempo real n\u00e3o \u00e9 necess\u00e1rio, tamb\u00e9m testei o Kaspersky 7, ele era muito bom, mas muito pesado. O computador dava umas travadas repentinas.<br><br>Vou testar esse BitDefender, quem sabe n\u00e3o \u00e9 minha solu\u00e7\u00e3o.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_07:08:20", "killed": false, "user_key": "8ec22434a6d9c361e391a95604a70ebb", "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}, "16138339": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ol\u00e1. Concordo com o seu texto escrito.<br>E tbm acho q o Norton e Kaspersky deixam o computador uma carro\u00e7a.<br>Qto aos cuidados com o internet, eu presto aten\u00e7\u00e3o, mas mesmo assim<br>uso o AVG com prote\u00e7\u00e3o em tempo real. Acho mais pr\u00e1tico do q ter q fazer um<br>scan total a cada 15 dias, ou outro per\u00edodo.<br><br>Eh isso a\u00ed. Valeu!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_07:18:09", "killed": false, "user_key": "8d9159161d06ae88adafc23c595c25d2", "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}, "16138340": {"up_voted": false, "ip": "", "has_replies": false, "message": "Eu tamb\u00e9m concordo com o seu texto, mas como o pc que eu uso \u00e9 dos meus pais e n\u00e3o meu, coloquei o Avast!. Se eu tivesse o meu computador e com o Windows Vista, com certeza n\u00e3o colocaria Antiv\u00edrus.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_07:30:06", "killed": false, "user_key": "dae58555a019b36d8da00c28716abdbb", "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}, "16138341": {"up_voted": false, "ip": "", "has_replies": false, "message": "Concordo absolutamente com o teu artigo Rodrigo.<br>Dos 4 pcs que uso apenas 2 t\u00eam anti-virus (Avast!) devido ao modo como s\u00e3o utilizados e claro devido a quem os acede. Quanto aos outros a minha politica de n\u00e3o instalar software n\u00e3o testado ou executar ficheiros de amigos e afins evita que tenha supresas aborrecidas.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_07:39:27", "killed": false, "user_key": "ac1f954d194cf0cd02db5f1c720a299d", "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}, "16138342": {"up_voted": false, "ip": "", "has_replies": false, "message": "Antivir, da Avira ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_08:19:24", "killed": false, "user_key": "0f4a159f247c73f4c55ab680fab6c40b", "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}, "16138343": {"up_voted": false, "ip": "", "has_replies": false, "message": "Concordo totalmente com seu texto. Eu j\u00e1 estou h\u00e1 quase dois anos sem usar anti-virus e nunca peguei um virus, mas a cada 2 meses eu uso algum para dar uma revisada no sistema, e j\u00e1 aproveito e testo antivirus diferentes, j\u00e1 usei: Norton, Avast, Nod32, Kaspersky, AVG, McAfee, Active Virus Shield. Entre todos estes o que eu achei melhor foi o Avast! Antivirus, pois ele \u00e9 leve, eficiente e t\u00eam atualiza\u00e7\u00f5es freq\u00fcentes. E se fosse pra usar, eu ainda preferia um Anty-Spyware em vez de um anti-virus.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_08:24:55", "killed": false, "user_key": "bd277b541eb264e1c739367a42952394", "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}, "16138344": {"up_voted": false, "ip": "", "has_replies": false, "message": "Concordo com o texto at\u00e9 que algum dia voc\u00ea pegue algum virus que ataca os antivirus. Deixando o antivirus inutilizado sem que voc\u00ea perceba.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_08:26:54", "killed": false, "user_key": "d90a168663a043286fa0c1a17faf068e", "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}, "16138345": {"up_voted": false, "ip": "", "has_replies": false, "message": "Mais um que caiu no papo de \"leve o Kapersky de gra\u00e7a no site chin\u00eas\". Ainda n\u00e3o desinstalei, mas deixo ele aqui fazendo um scan b\u00e1sico todo dia de madrugada, e uma varredura geral todo s\u00e1bado. Desativando a prote\u00e7\u00e3o em tempo real, claro, j\u00e1 que ele nem come tanta RAM assim. <br><br>E fa\u00e7o coro ao Victor: Estou a dois anos sem colocar anti-virus, e nunca tive problemas com o PC.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_08:29:39", "killed": false, "user_key": "5e2dc42372c0685acf9ab96a763e8e4a", "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}, "16138346": {"up_voted": false, "ip": "", "has_replies": false, "message": "\u00c9 como voc\u00ea disse Ghedin, se o seu computador \u00e9 compartilhado, fica dif\u00edcil n\u00e3o usar antiv\u00edrus, a n\u00e3o ser que voc\u00ea queira ter alguma surpresa desagrad\u00e1vel no futuro. Minha irm\u00e3, por exemplo, usa principalmente MSN e Orkut, e de vez em quando aparece aqueles v\u00edrus que simulam p\u00e1ginas de banco. Mas hoje em dia as op\u00e7\u00f5es gratuitas pra uso dom\u00e9stico s\u00e3o muito boas. O avast! antiv\u00edrus \u00e9 o mais leve que conhe\u00e7o, e menos intrusivo at\u00e9 que solu\u00e7\u00f5es pagas. Voc\u00ea tem a op\u00e7\u00e3o de n\u00e3o exibir mensagens de atualiza\u00e7\u00e3o em aplicativos de tela cheia, como jogos. Como escolher se a conex\u00e3o \u00e9 via modem ou cabo, otimizando as atualiza\u00e7\u00f5es. O avast \u00e9 o \u00fanico antivirus que conhe\u00e7o que detecta quando o modem est\u00e1 conectado, e ent\u00e3o se atualiza.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_08:34:12", "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}, "16138347": {"up_voted": false, "ip": "", "has_replies": false, "message": "E mais uma coisa: Parab\u00e9ns por ter sa\u00eddo do Guia do PC, voc\u00ea fez a coisa certa. Os novos textos colocados s\u00e3o altamente pol\u00eamicos, e seus autores s\u00e3o fanboys ferrenhos da Microsoft em f\u00f3runs por a\u00ed. O ambiente l\u00e1 n\u00e3o anda nada saud\u00e1vel.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_08:38:13", "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}, "16138348": {"up_voted": false, "ip": "", "has_replies": false, "message": "mt tempo q n pego virus, talves nem precisasse de um ja q consigo lidar com links, emails alem de varreduras on line... porem tenho o bom o e leve NOD32 caso algo ocorra", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_08:39:45", "killed": false, "user_key": "7201fbef180211a067a3027318b4fff3", "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}, "16138349": {"up_voted": false, "ip": "", "has_replies": false, "message": "Apesar de concordar com voc\u00ea, tenho que admitir que me sinto mais \u00b4seguro` sabendo que tenho um bom antiv\u00edrus no meu PC (no meu caso o NOD32).<br><br>O que voc\u00ea colocou \u00e9 chave, o maior vetor de contamina\u00e7\u00e3o do PC \u00e9 pr\u00f3prio usu\u00e1rio e l\u00e1 em casa o pessoal ainda \u00e9 meio \u00b4sem no\u00e7\u00e3o` com rela\u00e7\u00e3o a seguran\u00e7a em PC, por isso a dupla NOD32 e Comodo Firewall, j\u00e1 est\u00e1 h\u00e1 um bom tempo rodando no PC de casa sem nenhum problema com rela\u00e7\u00e3o a infec\u00e7\u00e3o.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_08:50:44", "killed": false, "user_key": "91e527239bad46847baa6c94f9679e42", "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}, "16138350": {"up_voted": false, "ip": "", "has_replies": false, "message": "Bom, sempre usei AV e a minha decep\u00e7\u00e3o maior foi com o Norton, pelo seu imenso peso ao SO, mas desde 2006 que vinha usando o F-secure at\u00e9 descobrir o Kaspersky (ano passado). Logo de cara gostei, pois estava com uma m\u00e1uqina com 2Gb de RAM no XP, e n\u00e3o notava seu peso. Hoje estou com apenas 1Gb utilizando o Vista Ultimate e j\u00e1 sinto uma certa lentid\u00e3o na resposta do SO.<br><br>Vou instalar o Bit Defender para ver se fica mais leve, pois diversas vezes utilizo outros HD's para backup ou c\u00f3pia de arquivos preciso de AV instalado.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_08:54:23", "killed": false, "user_key": "9f188cb235115f8bc27b1676d711dcc6", "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}, "16138352": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ah... Sei lah...<br>Eu t\u00f4 usando o Kaspersky 7 e n\u00e3o estou tendo muito a reclamar n\u00e3o...<br>Mesmo sabendo que eu sei navegar e que n\u00e3o pego v\u00edrus t\u00e3o facilmente eu prefiro me prevenir... O NOD32 tamb\u00e9m \u00e9 uma \u00f3tima solu\u00e7\u00e3o... Gosto muito dele. :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_09:10:32", "killed": false, "user_key": "dc6dd6e4099ef9bab9b0375fb702bf40", "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}, "16138353": {"up_voted": false, "ip": "", "has_replies": false, "message": "Discordo.<br>Se voc\u00ea precisa procurar alguma coisa, vai l\u00e1 no Google, pelos resultados voc\u00ea v\u00ea uma p\u00e1gina, n\u00e3o conhece, a\u00ed n\u00e3o vai clicar s\u00f3 porque acessa p\u00e1ginas apenas 'conhecidas'? Isso \u00e9 pat\u00e9tico.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_09:15:40", "killed": false, "user_key": "c4caaf148fa6e71ae095ec38e418caee", "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}, "16138354": {"up_voted": false, "ip": "", "has_replies": false, "message": "Nunca usei antivirus em toda minha vida...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_09:22:23", "killed": false, "user_key": "aaae281a9b889f69ec757457b3643942", "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}, "16138355": {"up_voted": false, "ip": "", "has_replies": false, "message": "Concordo que em casa, se seus h\u00e1bitos forem saud\u00e1veis, as chances de se contaminar s\u00e3o pequenas, mas em um ambiente coorporativo as coisas mudam muito.<br><br>Em casa eu utilizo o NOD sob o Windows Vista e roda bem legal, leve e meu micro fica limpo. N\u00e3o posso ficar sem antiv\u00edrus por causa do trabalho, e posso dizer que n\u00e3o pego v\u00edrus a muitos anos.<br><br>Na empresa utilizo o SAVEE 10 (Symantec Antivirus Enterprise Edition) e realmente ele consome muita mem\u00f3ria, mas no quesito v\u00edrus, tamb\u00e9m sou feliz com ele, 2 anos de uso e nenhum v\u00edrus. Claro que tudo isso aliado, como disse antes, aos bons h\u00e1bitos de navega\u00e7\u00e3o.<br><br>Coment\u00e1rios sobre a Symantec:<br>Sobre o peso do Norton, a Symantec modificou completamente o c\u00f3digo e at\u00e9 mudou de nome, pra disvincular a m\u00e1 fama. Agora o produto chama SEP 11 (Symantec EndPoint Protection 11).<br>J\u00e1 testei no LAB Symantec, vai ser implantado aqui na empresa, posso dizer que funciona muito bem e \u00e9 extremamente mais leve que o antecessor.<br><br>[]s", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_10:07:12", "killed": false, "user_key": "1ec13379d51bee020b12a73e05059e8f", "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}, "16138356": {"up_voted": false, "ip": "", "has_replies": false, "message": "Eu formatei meu pc ha uma semana atras e ate agora nao tive nenhuma vontade de instalar qualquer antivirus q seja, pq eles me atrapalham mais q qualquer outra coisa, pois sempre q vou rodar um programa pesadao eu tenho q desliga o antivirus e tem alguns q nao deixam que vc feche eles da memoria, o q eh lamentavel, pois eu quero poder escolher se o antivirus fica ligado ou nao.<br><br>Nao da pra fica sem antivirus pra sempre e ja usei o vista soh com o windows defender q nunca acuso virus nenhum, mas quando fui escanea-lo com o kaspersky detectou 5 virus e trojans.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_10:24:07", "killed": false, "user_key": "cf1a6740ab03040042500dd7fb3b44c6", "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}, "16138357": {"up_voted": false, "ip": "", "has_replies": false, "message": "@Tony<br><br>Caso use o Firefox fica a dica de usares o McAffe AdvisorSite, muito o bom e em todas as pesquisas da Google ele mostra qual sites s\u00e3o seguros e quais n\u00e3o.<br><br>Concordo com o texto, caso saiba os sites que usa ent\u00e3o n\u00e3o h\u00e1 perigo e n\u00e3o saia por ai entrando em qualquer site (principalmente de conte\u00fado er\u00f3tico).<br>Uso o Kaspersky com protec\u00e7\u00e3o em tempo real ligada mas depois desse seu texto e os coment\u00e1rios que vi aqui acho que vou tentar deixar ele desligado por um tempo e v\u00ea no que d\u00e1.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_10:32:43", "killed": false, "user_key": "94fbc8c9e0680bb273da4c789fc538b6", "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}, "16138358": {"up_voted": false, "ip": "", "has_replies": false, "message": "N\u00e3o acho que o Kaspersky 7 deixa muito pesado n\u00e3o, eu tenho o KIS 7 que creio usar um pouco a mais que o KAV 7 ainda, meu pc \u00e9 no m\u00e1ximo mediano e a diferen\u00e7a com ou sem nem \u00e9 muita, claro que as vezes ele inventa de escanear coisas demais, mas nada que uma boa configurada nele n\u00e3o resolva.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_10:35:29", "killed": false, "user_key": "b673d2268b58f8a1a5cd8be8ae257a1f", "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}, "16138359": {"up_voted": false, "ip": "", "has_replies": false, "message": "eu n\u00e3o uso av. eu mesmo sou o sistema av hehe. sugiro o clamwin (tem at\u00e9 vers\u00e3o portable) como varredura, pois o bitdefender deixa alguns processos abertos", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_10:57:27", "killed": false, "user_key": "385e66f2593b258d021aeb6211373470", "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}, "16138360": {"up_voted": false, "ip": "", "has_replies": false, "message": "@Lucas Costa<br><br>N\u00e3o confie apenas nas an\u00e1lises do SiteAdvisor da McAfee.<br>E nem todos os resultados da busca do Google s\u00e3o analisados pelo SiteAdvisor.<br><br>Sem falar, que por experi\u00eancia pr\u00f3pria, eu frequentava um site, totalmente conhecido e id\u00f4neo, mas certo dia houve um problema no servidor onde ele estava hospedado e acabou infectando muitos clientes, eu, que estava com meu antiv\u00edrus ativado, n\u00e3o fui afetado.<br><br>Entendo que tomando cuidados EXTREMOS com o que se faz na internet, voc\u00ea pode parar de usar um antiv\u00edrus, mas se eu n\u00e3o tiver a liberdade de acessar um site que eu n\u00e3o conhe\u00e7o, pra saber se \u00e9 bom ou ruim, perde a gra\u00e7a.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_10:58:03", "killed": false, "user_key": "c4caaf148fa6e71ae095ec38e418caee", "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}, "16138361": {"up_voted": false, "ip": "", "has_replies": false, "message": "@thiago<br><br>O ClanWin \u00e9 t\u00e3o ruim que n\u00e3o atingiu nem 55% de sucesso contra os malwares e por isso sequer 'aparece' nos testes da <a href=\"http://Av-Comparatives.org\" rel=\"nofollow\">Av-Comparatives.org</a>. Se \u00e9 pra ter isso no PC, \u00e9 melhor n\u00e3o ter nada.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_11:02:10", "killed": false, "user_key": "c4caaf148fa6e71ae095ec38e418caee", "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}, "16138362": {"up_voted": false, "ip": "", "has_replies": false, "message": "Concordo com o texto, se voc\u00ea tiver consci\u00eancia dos cliques que d\u00e1, os riscos de se pegar um v\u00edrus s\u00e3o quase zero.<br><br>Quando o Ghedin fez aquele post do Kaspersky de gra\u00e7a, eu fui correndo pra pega uma licen\u00e7a, no come\u00e7o deixei ele funcionando, s\u00f3 que agora desativei a prote\u00e7\u00e3o em tempo real, fa\u00e7o um scan completo a cada 10 dias, mais ou menos.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_12:17:33", "killed": false, "user_key": "60c52c037fd3b5aef93c5eac1490efff", "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}, "16138363": {"up_voted": false, "ip": "", "has_replies": false, "message": "O Kaspersky est\u00e1 pesado assim?<br><br>Estava para instalar ele (gra\u00e7as \u00e0quela licen\u00e7a de 1 ano postada aqui) no meu PC principal, assim que o NOD32 expirasse (daqui umas 2 semanas).<br><br>Agora, acho que vou \u00e9 renovar ele mesmo.<br><br><br>Quanto a ficar sem AV, eu at\u00e9 ficaria, mas a tranquilidade que ele tr\u00e1s para aqueles nossos momentos de \"distra\u00e7\u00e3o\", me faz manter ele. Principalmente porque o NOD \u00e9 muito leve.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_12:33:56", "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}, "16138364": {"up_voted": false, "ip": "", "has_replies": false, "message": "Tinha um pc antigo, ele j\u00e1 vinha com o Norton... muito bem, eu pensava, Uau um dos melhores antivirus,e achava a lentid\u00e3o do pc normal...(2.6GHz e 256RAM), at\u00e9 que um dia a \"validade\" expirou, tudo bem... \u00e9, agora \u00e9 melhor ver uma nova key, passei um m\u00eas procurando, mas achava muito caro e era em $dollar$, t\u00e1 n\u00e3o teve outro jeito, desinstalei... reinicie o pc e em menos de 1min o pc estava pronto pra uso( n\u00e3o ficava o setinha de carregando - ampulheta), nossa depois desse dia eu percebi o quanto era bom o meu pc, mas um tecnico veio aqui em casa pra resolver uns problemas da placa de video, a placa n\u00e3o funfou mas em compensa\u00e7\u00e3o ele colocou o NOD32 aqui e o pc continuou na mesma \"rapiderrimo\" pra logar... agora \u00e9 s\u00f3 felicidade e tranquilidade", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_12:40:21", "killed": false, "user_key": "3225df7eae9d54a7e439a2f1d57f1da6", "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}, "16138365": {"up_voted": false, "ip": "", "has_replies": false, "message": "N\u00e3o uso antiv\u00edrus h\u00e1 3 anos e n\u00e3o tenho problemas.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_12:51:09", "killed": false, "user_key": "ef18030b1fb84515296f4937f8b9a9cc", "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}, "16138366": {"up_voted": false, "ip": "", "has_replies": false, "message": "Legal, to quase desisntalando meu Kaspersky com serial chin\u00eas de novo. :D ahahahah<br>Eita carro\u00e7a que isso aqui! O windows soh funciona bem dps que ele inicializa...<br>Quando eu usava o Kasper 6 a uns anos atras parecia que era tao bom.. Piorou bastante na minha opniao e ta ficando igual ao Norton (ou talvez eu tenha exagerado...)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_13:04:57", "killed": false, "user_key": "2fa23855bc3ea6f433b5ed3c3c9c2eb5", "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}, "16138367": {"up_voted": false, "ip": "", "has_replies": false, "message": "\u00c9 normal o Kaspersky ser pesado no come\u00e7o, pois com o tempo ele vai 'conhecendo' os arquivos que voc\u00ea possui e s\u00f3 passa a scane\u00e1-los novamente se houver alguma mudan\u00e7a neles.<br><br>Mas se voc\u00ea quiser 'leveza', v\u00e1 com os produtos da ESET que s\u00e3o muito bons nesse quesito.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-18_13:36:30", "killed": false, "user_key": "e359ccd89642b7e2ea714e7ed90282b7", "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": "33219908", "user_id": "anonymous", "forum_id": "186060", "hash": -7800525902316945443}, "thread": {"total_posts": 55, "paginate": true, "per_page": 80, "slug": "antivirus_pesado_e_realmente_necessario", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 33219908, "num_posts": 55, "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=antivirus_pesado_e_realmente_necessario' +
		'&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/antivirus_pesado_e_realmente_necessario/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='	+ 'antivirus_pesado_e_realmente_necessario'
			+ '&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/antivirus_pesado_e_realmente_necessario/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">55</span> of <span id="dsq-total-posts">55</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://winajuda.disqus.com/antivirus_pesado_e_realmente_necessario/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/antivirus_pesado_e_realmente_necessario/">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/antivirus_pesado_e_realmente_necessario/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:33219908" 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'				: 'antivirus_pesado_e_realmente_necessario',
			// 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/antivirus_pesado_e_realmente_necessario/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='	+ 'antivirus_pesado_e_realmente_necessario'
			+ '&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='	+ 'antivirus_pesado_e_realmente_necessario'
			+ '&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='		+ 'antivirus_pesado_e_realmente_necessario'
				+ '&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/33219908/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-16138338">\
	 <div id="dsq-comment-header-16138338" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138338" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138338">joaquim</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138338" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138338" class="dsq-comment-message">no meu caso, usar um antivírus em tempo real não é necessário, também testei o Kaspersky 7, ele era muito bom, mas muito pesado. O computador dava umas travadas repentinas.<br><br>Vou testar esse BitDefender, quem sabe não é minha solução.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138339">\
	 <div id="dsq-comment-header-16138339" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138339" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138339">Osvaldo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138339" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138339" class="dsq-comment-message">Olá. Concordo com o seu texto escrito.<br>E tbm acho q o Norton e Kaspersky deixam o computador uma carroça.<br>Qto aos cuidados com o internet, eu presto atenção, mas mesmo assim<br>uso o AVG com proteção em tempo real. Acho mais prático do q ter q fazer um<br>scan total a cada 15 dias, ou outro período.<br><br>Eh isso aí. Valeu!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138340">\
	 <div id="dsq-comment-header-16138340" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138340" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16138340" href="http://mjimmy.wordpress.com/" target="_blank" rel="nofollow">Mateus</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138340" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138340" class="dsq-comment-message">Eu também concordo com o seu texto, mas como o pc que eu uso é dos meus pais e não meu, coloquei o Avast!. Se eu tivesse o meu computador e com o Windows Vista, com certeza não colocaria Antivírus.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138341">\
	 <div id="dsq-comment-header-16138341" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138341" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138341">Rafael Lino</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138341" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138341" class="dsq-comment-message">Concordo absolutamente com o teu artigo Rodrigo.<br>Dos 4 pcs que uso apenas 2 têm anti-virus (Avast!) devido ao modo como são utilizados e claro devido a quem os acede. Quanto aos outros a minha politica de não instalar software não testado ou executar ficheiros de amigos e afins evita que tenha supresas aborrecidas.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138342">\
	 <div id="dsq-comment-header-16138342" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138342" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138342">toscotilldeath</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138342" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138342" class="dsq-comment-message">Antivir, da Avira ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138343">\
	 <div id="dsq-comment-header-16138343" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138343" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138343">Victor</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138343" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138343" class="dsq-comment-message">Concordo totalmente com seu texto. Eu já estou há quase dois anos sem usar anti-virus e nunca peguei um virus, mas a cada 2 meses eu uso algum para dar uma revisada no sistema, e já aproveito e testo antivirus diferentes, já usei: Norton, Avast, Nod32, Kaspersky, AVG, McAfee, Active Virus Shield. Entre todos estes o que eu achei melhor foi o Avast! Antivirus, pois ele é leve, eficiente e têm atualizações freqüentes. E se fosse pra usar, eu ainda preferia um Anty-Spyware em vez de um anti-virus.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138344">\
	 <div id="dsq-comment-header-16138344" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138344" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138344">Daniel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138344" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138344" class="dsq-comment-message">Concordo com o texto até que algum dia você pegue algum virus que ataca os antivirus. Deixando o antivirus inutilizado sem que você perceba.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138345">\
	 <div id="dsq-comment-header-16138345" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138345" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16138345" href="http://nibelung.multiply.com/" target="_blank" rel="nofollow">Nibelung</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138345" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138345" class="dsq-comment-message">Mais um que caiu no papo de "leve o Kapersky de graça no site chinês". Ainda não desinstalei, mas deixo ele aqui fazendo um scan básico todo dia de madrugada, e uma varredura geral todo sábado. Desativando a proteção em tempo real, claro, já que ele nem come tanta RAM assim. <br><br>E faço coro ao Victor: Estou a dois anos sem colocar anti-virus, e nunca tive problemas com o PC.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138346">\
	 <div id="dsq-comment-header-16138346" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138346" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138346">Fausto</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138346" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138346" class="dsq-comment-message">É como você disse Ghedin, se o seu computador é compartilhado, fica difícil não usar antivírus, a não ser que você queira ter alguma surpresa desagradável no futuro. Minha irmã, por exemplo, usa principalmente MSN e Orkut, e de vez em quando aparece aqueles vírus que simulam páginas de banco. Mas hoje em dia as opções gratuitas pra uso doméstico são muito boas. O avast! antivírus é o mais leve que conheço, e menos intrusivo até que soluções pagas. Você tem a opção de não exibir mensagens de atualização em aplicativos de tela cheia, como jogos. Como escolher se a conexão é via modem ou cabo, otimizando as atualizações. O avast é o único antivirus que conheço que detecta quando o modem está conectado, e então se atualiza.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138347">\
	 <div id="dsq-comment-header-16138347" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138347" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138347">Fausto</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138347" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138347" class="dsq-comment-message">E mais uma coisa: Parabéns por ter saído do Guia do PC, você fez a coisa certa. Os novos textos colocados são altamente polêmicos, e seus autores são fanboys ferrenhos da Microsoft em fóruns por aí. O ambiente lá não anda nada saudável.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138348">\
	 <div id="dsq-comment-header-16138348" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138348" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138348">gabriel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138348" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138348" class="dsq-comment-message">mt tempo q n pego virus, talves nem precisasse de um ja q consigo lidar com links, emails alem de varreduras on line... porem tenho o bom o e leve NOD32 caso algo ocorra</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138349">\
	 <div id="dsq-comment-header-16138349" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138349" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138349">Pepe</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138349" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138349" class="dsq-comment-message">Apesar de concordar com você, tenho que admitir que me sinto mais ´seguro` sabendo que tenho um bom antivírus no meu PC (no meu caso o NOD32).<br><br>O que você colocou é chave, o maior vetor de contaminação do PC é próprio usuário e lá em casa o pessoal ainda é meio ´sem noção` com relação a segurança em PC, por isso a dupla NOD32 e Comodo Firewall, já está há um bom tempo rodando no PC de casa sem nenhum problema com relação a infecção.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138350">\
	 <div id="dsq-comment-header-16138350" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138350" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138350">Marcelo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138350" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138350" class="dsq-comment-message">Bom, sempre usei AV e a minha decepção maior foi com o Norton, pelo seu imenso peso ao SO, mas desde 2006 que vinha usando o F-secure até descobrir o Kaspersky (ano passado). Logo de cara gostei, pois estava com uma máuqina com 2Gb de RAM no XP, e não notava seu peso. Hoje estou com apenas 1Gb utilizando o Vista Ultimate e já sinto uma certa lentidão na resposta do SO.<br><br>Vou instalar o Bit Defender para ver se fica mais leve, pois diversas vezes utilizo outros HD\'s para backup ou cópia de arquivos preciso de AV instalado.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138352">\
	 <div id="dsq-comment-header-16138352" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138352" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16138352" href="http://onipresente.eti.br/" target="_blank" rel="nofollow">Augusto</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138352" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138352" class="dsq-comment-message">Ah... Sei lah...<br>Eu tô usando o Kaspersky 7 e não estou tendo muito a reclamar não...<br>Mesmo sabendo que eu sei navegar e que não pego vírus tão facilmente eu prefiro me prevenir... O NOD32 também é uma ótima solução... Gosto muito dele. :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138353">\
	 <div id="dsq-comment-header-16138353" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138353" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138353">Tony</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138353" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138353" class="dsq-comment-message">Discordo.<br>Se você precisa procurar alguma coisa, vai lá no Google, pelos resultados você vê uma página, não conhece, aí não vai clicar só porque acessa páginas apenas \'conhecidas\'? Isso é patético.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138354">\
	 <div id="dsq-comment-header-16138354" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138354" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138354">Bill</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138354" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138354" class="dsq-comment-message">Nunca usei antivirus em toda minha vida...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138355">\
	 <div id="dsq-comment-header-16138355" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138355" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138355">Diego Castilho</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138355" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138355" class="dsq-comment-message">Concordo que em casa, se seus hábitos forem saudáveis, as chances de se contaminar são pequenas, mas em um ambiente coorporativo as coisas mudam muito.<br><br>Em casa eu utilizo o NOD sob o Windows Vista e roda bem legal, leve e meu micro fica limpo. Não posso ficar sem antivírus por causa do trabalho, e posso dizer que não pego vírus a muitos anos.<br><br>Na empresa utilizo o SAVEE 10 (Symantec Antivirus Enterprise Edition) e realmente ele consome muita memória, mas no quesito vírus, também sou feliz com ele, 2 anos de uso e nenhum vírus. Claro que tudo isso aliado, como disse antes, aos bons hábitos de navegação.<br><br>Comentários sobre a Symantec:<br>Sobre o peso do Norton, a Symantec modificou completamente o código e até mudou de nome, pra disvincular a má fama. Agora o produto chama SEP 11 (Symantec EndPoint Protection 11).<br>Já testei no LAB Symantec, vai ser implantado aqui na empresa, posso dizer que funciona muito bem e é extremamente mais leve que o antecessor.<br><br>[]s</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138356">\
	 <div id="dsq-comment-header-16138356" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138356" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138356">Lucas</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138356" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138356" class="dsq-comment-message">Eu formatei meu pc ha uma semana atras e ate agora nao tive nenhuma vontade de instalar qualquer antivirus q seja, pq eles me atrapalham mais q qualquer outra coisa, pois sempre q vou rodar um programa pesadao eu tenho q desliga o antivirus e tem alguns q nao deixam que vc feche eles da memoria, o q eh lamentavel, pois eu quero poder escolher se o antivirus fica ligado ou nao.<br><br>Nao da pra fica sem antivirus pra sempre e ja usei o vista soh com o windows defender q nunca acuso virus nenhum, mas quando fui escanea-lo com o kaspersky detectou 5 virus e trojans.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138357">\
	 <div id="dsq-comment-header-16138357" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138357" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138357">Lucas Costa</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138357" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138357" class="dsq-comment-message">@Tony<br><br>Caso use o Firefox fica a dica de usares o McAffe AdvisorSite, muito o bom e em todas as pesquisas da Google ele mostra qual sites são seguros e quais não.<br><br>Concordo com o texto, caso saiba os sites que usa então não há perigo e não saia por ai entrando em qualquer site (principalmente de conteúdo erótico).<br>Uso o Kaspersky com protecção em tempo real ligada mas depois desse seu texto e os comentários que vi aqui acho que vou tentar deixar ele desligado por um tempo e vê no que dá.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138358">\
	 <div id="dsq-comment-header-16138358" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138358" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138358">Junior</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138358" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138358" class="dsq-comment-message">Não acho que o Kaspersky 7 deixa muito pesado não, eu tenho o KIS 7 que creio usar um pouco a mais que o KAV 7 ainda, meu pc é no máximo mediano e a diferença com ou sem nem é muita, claro que as vezes ele inventa de escanear coisas demais, mas nada que uma boa configurada nele não resolva.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138359">\
	 <div id="dsq-comment-header-16138359" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138359" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138359">thiago</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138359" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138359" class="dsq-comment-message">eu não uso av. eu mesmo sou o sistema av hehe. sugiro o clamwin (tem até versão portable) como varredura, pois o bitdefender deixa alguns processos abertos</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138360">\
	 <div id="dsq-comment-header-16138360" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138360" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138360">Tony</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138360" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138360" class="dsq-comment-message">@Lucas Costa<br><br>Não confie apenas nas análises do SiteAdvisor da McAfee.<br>E nem todos os resultados da busca do Google são analisados pelo SiteAdvisor.<br><br>Sem falar, que por experiência própria, eu frequentava um site, totalmente conhecido e idôneo, mas certo dia houve um problema no servidor onde ele estava hospedado e acabou infectando muitos clientes, eu, que estava com meu antivírus ativado, não fui afetado.<br><br>Entendo que tomando cuidados EXTREMOS com o que se faz na internet, você pode parar de usar um antivírus, mas se eu não tiver a liberdade de acessar um site que eu não conheço, pra saber se é bom ou ruim, perde a graça.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138361">\
	 <div id="dsq-comment-header-16138361" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138361" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138361">Tony</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138361" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138361" class="dsq-comment-message">@thiago<br><br>O ClanWin é tão ruim que não atingiu nem 55% de sucesso contra os malwares e por isso sequer \'aparece\' nos testes da <a href="http://Av-Comparatives.org" rel="nofollow">Av-Comparatives.org</a>. Se é pra ter isso no PC, é melhor não ter nada.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138362">\
	 <div id="dsq-comment-header-16138362" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138362" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16138362" href="http://deskvst.wordpress.com/" target="_blank" rel="nofollow">C4i0</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138362" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138362" class="dsq-comment-message">Concordo com o texto, se você tiver consciência dos cliques que dá, os riscos de se pegar um vírus são quase zero.<br><br>Quando o Ghedin fez aquele post do Kaspersky de graça, eu fui correndo pra pega uma licença, no começo deixei ele funcionando, só que agora desativei a proteção em tempo real, faço um scan completo a cada 10 dias, mais ou menos.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138363">\
	 <div id="dsq-comment-header-16138363" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138363" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16138363" href="http://www.highlanderbr.com/" target="_blank" rel="nofollow">Highlander</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138363" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138363" class="dsq-comment-message">O Kaspersky está pesado assim?<br><br>Estava para instalar ele (graças àquela licença de 1 ano postada aqui) no meu PC principal, assim que o NOD32 expirasse (daqui umas 2 semanas).<br><br>Agora, acho que vou é renovar ele mesmo.<br><br><br>Quanto a ficar sem AV, eu até ficaria, mas a tranquilidade que ele trás para aqueles nossos momentos de "distração", me faz manter ele. Principalmente porque o NOD é muito leve.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138364">\
	 <div id="dsq-comment-header-16138364" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138364" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138364">igor</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138364" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138364" class="dsq-comment-message">Tinha um pc antigo, ele já vinha com o Norton... muito bem, eu pensava, Uau um dos melhores antivirus,e achava a lentidão do pc normal...(2.6GHz e 256RAM), até que um dia a "validade" expirou, tudo bem... é, agora é melhor ver uma nova key, passei um mês procurando, mas achava muito caro e era em $dollar$, tá não teve outro jeito, desinstalei... reinicie o pc e em menos de 1min o pc estava pronto pra uso( não ficava o setinha de carregando - ampulheta), nossa depois desse dia eu percebi o quanto era bom o meu pc, mas um tecnico veio aqui em casa pra resolver uns problemas da placa de video, a placa não funfou mas em compensação ele colocou o NOD32 aqui e o pc continuou na mesma "rapiderrimo" pra logar... agora é só felicidade e tranquilidade</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138365">\
	 <div id="dsq-comment-header-16138365" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138365" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138365">Octávio Augusto</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138365" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138365" class="dsq-comment-message">Não uso antivírus há 3 anos e não tenho problemas.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138366">\
	 <div id="dsq-comment-header-16138366" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138366" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138366">Paulo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138366" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138366" class="dsq-comment-message">Legal, to quase desisntalando meu Kaspersky com serial chinês de novo. :D ahahahah<br>Eita carroça que isso aqui! O windows soh funciona bem dps que ele inicializa...<br>Quando eu usava o Kasper 6 a uns anos atras parecia que era tao bom.. Piorou bastante na minha opniao e ta ficando igual ao Norton (ou talvez eu tenha exagerado...)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138367">\
	 <div id="dsq-comment-header-16138367" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138367" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138367">Tony</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138367" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138367" class="dsq-comment-message">É normal o Kaspersky ser pesado no começo, pois com o tempo ele vai \'conhecendo\' os arquivos que você possui e só passa a scaneá-los novamente se houver alguma mudança neles.<br><br>Mas se você quiser \'leveza\', vá com os produtos da ESET que são muito bons nesse quesito.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138368">\
	 <div id="dsq-comment-header-16138368" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138368" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16138368" href="http://celebroken.com/" target="_blank" rel="nofollow">marcellus</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138368" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138368" class="dsq-comment-message">Po, de 3 pcs aqui em casa, 2 tem o Avast (o escaneamento durante o boot, pra mim, é o melhor)...<br><br>Aqui no micro que uso não em nada.Nem AV, nem Anti Spyware. Só o WinXP SP2 atualizado.<br><br>=D</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138369">\
	 <div id="dsq-comment-header-16138369" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138369" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16138369" href="http://celebroken.com/" target="_blank" rel="nofollow">marcellus</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138369" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138369" class="dsq-comment-message">Ah, só pq o Rodrigo falou desse BitDefender, vou ver como é... se é pra escanear sem rodar desde o boot nem ficar em segundo plano, acho que é válido!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138370">\
	 <div id="dsq-comment-header-16138370" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138370" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138370">Luan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138370" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138370" class="dsq-comment-message">Num entendi.. Ghedin você usa dois antivirus? Kaspersky e Bit Defender na mesma maquina? Foi o que deu a entender.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138371">\
	 <div id="dsq-comment-header-16138371" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138371" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16138371" href="http://alexpalombo.spaces.live.com/" target="_blank" rel="nofollow">Alex</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138371" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138371" class="dsq-comment-message">concordo com o texto, e acho q no vista nao a muita necessidade de antivirus, + no caso do XP acho indispensavel, eu utilizo windows XP com o AVG 7.5 e sempre atualizado assim como o windows, e pra quem tem o vista, eu recomendo o NOD32 pois ja testei e acho um antivirus bom e dos mais leves q testei. e isso ai</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138372">\
	 <div id="dsq-comment-header-16138372" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138372" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138372">chrystoffer</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138372" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138372" class="dsq-comment-message">eu nunca usei antivirus :D<br>nao gosto :P</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138373">\
	 <div id="dsq-comment-header-16138373" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138373" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138373">eddie</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138373" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138373" class="dsq-comment-message">depende pra q cada um usa o pc!<br><br>se vc  usar o  pc como BANKER!<br>ai faz ki nem eu usa o NOD32, outprost firewall 2008, spyboot.<br><br>mas se vc usa pra uso normal, acessar site, peskisar essas coisas.<br>ai nem precisa!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138374">\
	 <div id="dsq-comment-header-16138374" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138374" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138374">André</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138374" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138374" class="dsq-comment-message">Posso comprovar isso. Recentemente, instalei o Windows 2003 numa máquina e ele se mostrou deveras mais rápido que o XP: janelas e os itens do menu Iniciar apareciam instantaneamente ao se clicar neles. Não havia delay em se mudar para uma pasta ou disco. Então, instalei nele o PC Tools Antivirus e o sistema passou a apresentar um atraso na formação das imagens dessas funções, isso porque o antivírus fica com serviços rodando o tempo todo.<br><br>Mas quanto ao UAC, digo-lhe que o seu maior inimigo é o usuário. Explica-se: a Microsoft colocou essa tecnologia para proteger o sistema, para confirmar cada ação que o usuário vai fazer. Mas o que acontece? O usuário acha isso chato, e não entende que isso é para sua segurança. Logo, ele vai acabar desabilitando o recurso e toda a intenção da ferramenta irá por água abaixo.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138375">\
	 <div id="dsq-comment-header-16138375" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138375" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138375">Fabrício</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138375" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138375" class="dsq-comment-message">Viver sem AV hoje em dia? É uma verdadeira ação suicida... É meio que estranho sobreviver a tantos malwares, hackers e talz, sem antivirus...<br><br>Um usuário responsavel, tal como o Ghedin, está habilitado, e pode viver sem antivirus...<br><br>Até ai, tudo bem. Mas e os lammers e orkuteiros se plantão? vixi, não sei não.<br>Na minha opinião, antivirus hoje em dia são tão leves, como o Avira e o Bit, que fica até estranho não usar. Consciência, e parcimonia com a internet = PC saudavel e rápido.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138376">\
	 <div id="dsq-comment-header-16138376" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138376" class="dsq-comment-cite">\
	 <a id="dsq-author-user-16138376" href="http://leocadio.wordpress.com/" target="_blank" rel="nofollow">Leocadio</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138376" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138376" class="dsq-comment-message">Olá, paz e bem!<br><br>Parabéns pelo ótimo post!!!<br><br>Estou fazendo atualmente um teste interessante: Comodo Firewall + Spyware Terminator (com o módulo do WinClamAV integrado), ambos free.<br><br>Claro, o Comodo no lugar do firewall nativo do XP e a solução Spyware Terminator não configurada para rodar em tempo real, apenas quando necessário e contando com o apoio do ClamAV opensource.<br><br>Gostaria que você Ghedin escrevesse ou comentasse mais a respeito desta ou outras formas de manter minimamente seguro um sistema baseado no WinXP.<br><br>[]s livres,<br><br>Leo<br>Guarujá, SP-BR</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138377">\
	 <div id="dsq-comment-header-16138377" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138377" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138377">Lucas Barbieri</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138377" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138377" class="dsq-comment-message">Estou pensando em mudar de anti-vírus. O Kaspersky Internet Security deixa o meu PC extremamente lento!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138378">\
	 <div id="dsq-comment-header-16138378" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138378" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138378">Luiz</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138378" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138378" class="dsq-comment-message">Basta ter bom senso e um firewall bem configurado ajuda...<br><br>[]´s!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138379">\
	 <div id="dsq-comment-header-16138379" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138379" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138379">Santiago</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138379" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138379" class="dsq-comment-message">Segundo esse site o melhor anti-vírus de 2008 com testes realizados  é o bitdefender, mais eu estou mais familiarizado com o avg, que uso em conjunto com o avg anti-spyware. Segue a lista dos 10 melhores anti-vírus do mercado.<br><br><a href="http://anti-virus-software-review.toptenreviews.com/" rel="nofollow">http://anti-virus-software-review.toptenreviews...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138380">\
	 <div id="dsq-comment-header-16138380" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138380" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138380">RScheffer</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138380" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138380" class="dsq-comment-message">Bom dia a todos!!!<br><br>Eu fiquei muitos anos usando o WinXP SP2 sem antivirus e sem pegar nenhum virus. Quando aconteceu, o que eu peguei foi Spyware, ainda não sei como ou porque.<br><br>Acredito que o Vista realmente permita o uso sem Antivirus, porem como foi dito, se o Computador for realmente pessoal.<br><br>Abraço!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138381">\
	 <div id="dsq-comment-header-16138381" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138381" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138381">Edgard</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138381" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138381" class="dsq-comment-message">Pra mim eu acho a maior loucura ficar sem anti-virus no meu pc, tempos atrás eu fiquei sem um anti-spyware e meu pc foi pro espaço, perdi todos os meus filmes, minhas músicas TUDO. Depois disso coloquei o NOD32, e tenho 2 anti-spywares o ad-ware SE, e o spybote. Pra quem acessa a internet pra só ficar em sites do tipo Orkut e falando no msn eu acho que até dá pra ficar sem anti-vírus, mais no meu caso acesso muitos sites vamos dizer... perigosos ^^<br><br>e quanto a lentidão eu uso o NOD32 e é como se não tivesse usando anti-vírus nenhum.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138382">\
	 <div id="dsq-comment-header-16138382" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138382" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138382">Marco Carvalho</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138382" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138382" class="dsq-comment-message">Você tem razão. Desde 1996 que sou usuário de Internet. Na época, estava todo empolgado com o Windows 95. Meu PC tinha 16MB de Ram! Com tanta memória assim, era comum desativar o Norton, que até então, não era uma lesma prenha. (lembra do caso daquele funcionário da Microsoft?). Pois acreditem se quiser. Em 12 anos de Internet, meus Pcs nunca foram infectados por vírus. E olha, eu gosto de navegar no porão da Internet.<br>Mas atualmente, há uma ameaça verdadeira na Internet, da qual já fui vítima: os malwares. Não tem jeito. Utilizo os melhores Anti-Spywares (Spyware Doctor, on e SpySweeper, off). Não é raro ser infectado por um spyware.<br>Quanto aos vírus, quase tudo é marketing sujo dos fabricantes.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138383">\
	 <div id="dsq-comment-header-16138383" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138383" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138383">Tony</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138383" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138383" class="dsq-comment-message">@Santiago<br><br>Muitos sabem que por trás desse review teve muito $.<br><br>@Marcos Carvalho disse "Quanto aos vírus, quase tudo é marketing sujo dos fabricantes."<br><br>Em que mundo você vive?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138384">\
	 <div id="dsq-comment-header-16138384" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138384" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138384">JMSbeta</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138384" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138384" class="dsq-comment-message">Há muito estardalhaço em torno dos vírus. Isso é verdade. Mas, temos que admitir que existe um número assustador de pragas virtuais, que só faz aumentar.<br>Muitos anti-vírus ficaram(eram, são) pesados devido ao fato de fazerem outras funções. Como: Firewall, Anti-Spyware e outras coisas.<br>Cada caso, é um caso. Na época que amava o Win98, não o trocava pelo XP nem de graça, não usava anti-vírus, mas como sempre gostei de usar programas p2p (kazaa, Audiogalaxy, eMule e etc) precisei formatá-lo duas vezes por causa de vírus.<br>Hoje, uso uma versão 2005 do Norton (Anti-vírus e Firewall somente), que no meu caso funciona tranquilo.<br>Concordo em parte com o Ghedin. Mas, ficar sem nenhuma proteção no pc, ainda não testei o Vista, é quase suicídio nos dias de hoje. Pois, como as páginas da grande rede ficaram mais sofisticadas, podemos nos contaminar com uma simples visualização de e-mail, na página de qualquer uma das redes sociais disponíveis e em outros casos sem a necessidade do usuário abrir um arquivo.<br>É isso!<br><br>[]\'s</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138385">\
	 <div id="dsq-comment-header-16138385" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138385" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138385">Lucas Barbieri</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138385" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138385" class="dsq-comment-message">NOD32 ou Avira AntiVir: eis a questão.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138386">\
	 <div id="dsq-comment-header-16138386" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138386" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138386">Jonny</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138386" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138386" class="dsq-comment-message">Concordo com seu texto.<br>Ainda mais ainda hoje com os processadores com prevenção de execução de dados, já dá pra não ter mais um programinha em background guloso de memória e processamento.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138387">\
	 <div id="dsq-comment-header-16138387" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138387" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138387">Rick</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138387" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138387" class="dsq-comment-message">Existe aquele famoso ditado: "No país do futebol todo mundo se acha craque"<br><br>Acho que esse ditado já pegou na informática, pois pra pessoas acharem que podem dispensar ferramentas de proteção importantes, elas devem achar que "batem um bolão" no campo da informática... até um dia o joelho estourar :p</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138388">\
	 <div id="dsq-comment-header-16138388" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138388" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138388">Larvitar</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138388" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138388" class="dsq-comment-message">Espero não estar atrapalhando com esse comentário, porém em alguns pontos discordo de você, Ghedin.<br>Eu trabalho com manutenção e montagem de PCs, e apesar da pouca idade (16), já enfrentei muito abacaxi grande, que me fizeram inclusive repensar o antivírus que eu usava (Avast na época).<br>É certo que o melhor antivírus é o próprio usuário, mas mesmo o usuário mais cuidadoso, após levar seu pendrive na empresa de impressão de fotos, onde a descuidada atendente deixou um pendrive infectado entrar, é inevitavelmente infectado também ao colocar o pendrive no seu PC. Isso é fato. E já aconteceu comigo. Por sorte, eu tinha um excelente antivírus chamado Kaspersky 7.0.<br><br>E não adianta desviar de sites duvidosos... uma hora acabamos entrando sem querer. E usando navegadores inseguros (leia-se IE6 e anteriores, devendidos com garras e dentes por alguns fanboys), o perigo de infecção é evidente. Pra mim, antivírus é indispensável. Mesmo o usuário mais cuidadoso acaba se contaminando, principalmente através dos pendrives. No Vista é mais difícil, por causa não apenas da babá eletrônica chamada UAC, mas por causa do modo com que ele trata os autoruns, perguntando se você quer ou não executar o programa programado no autorun. Mas no XP é inevitável a infeção por meio dos famosos "vírus de pendrive". Estou enfrentando um caso desses aqui no meu trampo e não é nada fácil.<br><br>Por isso, na minha opinião, antivírus é indispensável, mas depende do que se vai usar. Se não quiser pagar nada, é bom usar o Antivir. Testei-o aqui e os resultados foram muito bons. O KAV 7.0 eu uso aqui no meu PC, e quando o meu pai leva o pendrive pra algum lugar desconfiante, ele me dá o pendrive pro KAV analisar, sem medo nenhum o faço. Meu PC está sem infecções, rápido (ok, o KAV deixa o PC lento nos primeiros dias, mas depois o desempenho vai melhorando, pois ele só analisa os arquivos novos e os que foram modificados)<br><br>Bom, é isso que eu acho...<br><br>Abraços!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138389">\
	 <div id="dsq-comment-header-16138389" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138389" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138389">Maurício</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138389" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138389" class="dsq-comment-message">Bem, na minha opinião, em se trantando de Windows, é melhor previnir do que remediar, mesmo sendo o Vista, que para mim é o melhor SO que a MS criou.<br>O antivírus e essencial para qualquer usuário, desde o mais experiente ao novato. Sou Técnico em Informática e o NOD32 é imbatível,  leve e seu scan é um dos mais rápidos senão o mais rápido e sua Heurística é excelente. Em se tratando de ad-ware e malware, etc... Não confio no Windows Defender, pois sua base de dados é muito fraca. Eu uso o AVG Anti Spyware e o SpyCatcher.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138390">\
	 <div id="dsq-comment-header-16138390" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138390" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138390">Eduardo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138390" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138390" class="dsq-comment-message">Principalmente em informática, tudo é relativo.Para alguns a segurança é feita simplesmente através de bons hábitos.Mas para a esmagadora maioria dos usuários, um anti-virus é fundamental. Para aqueles que não são tão sensatos ou desconfiados , recomendo com louvor o imbatíve NOD32. Você nem vai notar que tem um anti-vírus em tempo real, tal sua levesa e dIscrição.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138391">\
	 <div id="dsq-comment-header-16138391" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138391" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138391">Sidnei</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138391" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138391" class="dsq-comment-message">Usuários de windows que não usam anti-virus ou usam algum que não tenha proteção residente é suícidio, ainda mais que existe uma opção no mercado que é leve, gratuito e comprovadamente eficiente como o AVIRA ANTIVIR que consome míseros 5 ou 6 MB.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138392">\
	 <div id="dsq-comment-header-16138392" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138392" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138392">Daniel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138392" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138392" class="dsq-comment-message">Estou utilizando o Windows Vista Ultimate 64bits a 5 meses e garanto a vcs q ele pega virus sim ..Utilizava meu sistema sem nenhuma proteção de antivirus, costumava entrar so em sites considerados inofencivos como Baixaki, Superdownloads etc.Um dia resolvi fazer um teste no meu vista com Kaspersky Internet Security e pela minha surpresa ñ encontrei 1 virus não mais vários em meu pc OBS:.(Se vc tiver um bom pc o kaspersky nem cosquinha vai fazer no seu sistema), o kaspersky removeu vários virus mais ainda possuia outros q ele não detectava, resolvi formatar minha maquina e hoje em dia uso o BitDefender Total Security q protege meu sistema em tempo real e até hoje ele não deixou passar nada OBS:.( O vista ainda esta vuneravel, a microsoft não lançou todas a atulizações de segurança nessesaria para o bom funcionamento do sistema inclusive o vista ainda possui varios bugs)  OUTRO ANTIVIRUS QUE TENHO INSTALADO, MAIS ATIVO SO PARA FAZER VERIFICAÇÃO PELO MENOS DE 6 EM 6 MESES É O AVIRA UM EXCELENTE ANTIVIRUS .<br>Possuo em meu pc os dois sistema vista e xp e garanto a vc q para quem joga o vista ainda é muito fraco o xp roda 99.99% melhor do que o vista, no xp utilizo o kaspersky ao invez do bitdefender e meu sistema esta otimo sem lentidão e bem protegido.(se o XP tivesse o Direct-x 10 sem ser crackeado para rodar no sistema seria 100%)<br><br>Tenhu um Core2Quad q6600 Asus P5k3 Wi-fi Deluxe DDR3 4GB Kingston 1333 Geforce 8600GTS <br><br>PRA FINALIZAR È ESSENCIAL POSSUIR ANTIVIRUS NO VISTA (A PG DO BAIXAKI DE VEZ EN QUANDO O BIT ACHA ALGUM SCRIPT COM VIRUS)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-16138393">\
	 <div id="dsq-comment-header-16138393" class="dsq-comment-header">\
	 <cite id="dsq-cite-16138393" class="dsq-comment-cite">\
	 <span id="dsq-author-user-16138393">Daniel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-16138393" class="dsq-comment-body">\
	 <div id="dsq-comment-message-16138393" class="dsq-comment-message">Usem Linux, s&oacute; isso.</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=antivirus_pesado_e_realmente_necessario&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);
			}
		}
	});
}

})();




