




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 = 'Type your comment here.';
}

(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": {"a1da75bd1c8961e81365d46cd5247b31": {"username": "Ben Dummett", "tumblr": "", "display_name": "Ben Dummett", "url": "http://disqus.com/guest/a1da75bd1c8961e81365d46cd5247b31/", "registered": false, "linkedin": "", "blog": "http://bend.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": ""}, "5c5b8090f1ddaf9cd3ecb309dcafaaa6": {"username": "jamie", "tumblr": "", "display_name": "jamie", "url": "http://disqus.com/guest/5c5b8090f1ddaf9cd3ecb309dcafaaa6/", "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": ""}, "6c1ccf81b95a71a977ce3111ba806cf6": {"username": "John", "tumblr": "", "display_name": "John", "url": "http://disqus.com/guest/6c1ccf81b95a71a977ce3111ba806cf6/", "registered": false, "linkedin": "", "blog": "http://www.johntracy.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": ""}, "22d829d0fe0b15411a0a0f3761757a23": {"username": "Doug", "tumblr": "", "display_name": "Doug", "url": "http://disqus.com/guest/22d829d0fe0b15411a0a0f3761757a23/", "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": ""}, "c0801dd03821f2203e81669a38118375": {"username": "Walter Lounsbery", "tumblr": "", "display_name": "Walter Lounsbery", "url": "http://disqus.com/guest/c0801dd03821f2203e81669a38118375/", "registered": false, "linkedin": "", "blog": "http://www.Lounsbery.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": ""}, "5d21d62d95d18914fa9edd9ff888fb8c": {"username": "solomonrex", "tumblr": "", "display_name": "solomonrex", "url": "http://disqus.com/guest/5d21d62d95d18914fa9edd9ff888fb8c/", "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": ""}, "b98cb184864c6e58869b2ea4180dcd82": {"username": "Patrick Grote", "tumblr": "", "display_name": "Patrick Grote", "url": "http://disqus.com/guest/b98cb184864c6e58869b2ea4180dcd82/", "registered": false, "linkedin": "", "blog": "http://www.yald.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": ""}, "3553f5e0db0fd1ec4e40a932a2d8f5b3": {"username": "scobleizer", "tumblr": "", "display_name": "scobleizer", "url": "http://disqus.com/guest/3553f5e0db0fd1ec4e40a932a2d8f5b3/", "registered": false, "linkedin": "", "blog": "http://scobleizer.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/4069/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "17ce83120e9f95c4adf9749561c453d7": {"username": "Kevin", "tumblr": "", "display_name": "Kevin", "url": "http://disqus.com/guest/17ce83120e9f95c4adf9749561c453d7/", "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": ""}, "12b96c9bc2a30d77688708f62b24bbc6": {"username": "John", "tumblr": "", "display_name": "John", "url": "http://disqus.com/guest/12b96c9bc2a30d77688708f62b24bbc6/", "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": ""}, "654af963c7702db75a8f477951ccabc1": {"username": "M Freitas", "tumblr": "", "display_name": "M Freitas", "url": "http://disqus.com/guest/654af963c7702db75a8f477951ccabc1/", "registered": false, "linkedin": "", "blog": "http://www.geekzone.co.nz/", "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": ""}, "091999297d5a01623aa8f9ff0d79fc2d": {"username": "mike", "tumblr": "", "display_name": "mike", "url": "http://disqus.com/guest/091999297d5a01623aa8f9ff0d79fc2d/", "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": ""}, "b612336b23941597a23567befed3fc36": {"username": "Anonymous", "tumblr": "", "display_name": "Anonymous", "url": "http://disqus.com/guest/b612336b23941597a23567befed3fc36/", "registered": false, "linkedin": "", "blog": "http://protonix-site.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3f513e2cf340de447da7d12d8497d7bc": {"username": "Richard Brownell", "tumblr": "", "display_name": "Richard Brownell", "url": "http://disqus.com/guest/3f513e2cf340de447da7d12d8497d7bc/", "registered": false, "linkedin": "", "blog": "http://www.richbrownell.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": ""}, "3ce3df12ce5b9e0606c4d747283fb8a8": {"username": "Matthew", "tumblr": "", "display_name": "Matthew", "url": "http://disqus.com/guest/3ce3df12ce5b9e0606c4d747283fb8a8/", "registered": false, "linkedin": "", "blog": "http://spaces.msn.com/members/MthdDirector/", "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": ""}, "b4f04f9fd2de8730cda367d361178145": {"username": "Larry", "tumblr": "", "display_name": "Larry", "url": "http://disqus.com/guest/b4f04f9fd2de8730cda367d361178145/", "registered": false, "linkedin": "", "blog": "http://www.greenjem.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": ""}, "29e8eaa9f0c9858504dae585afc9fc1e": {"username": "Brad", "tumblr": "", "display_name": "Brad", "url": "http://disqus.com/guest/29e8eaa9f0c9858504dae585afc9fc1e/", "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": ""}, "9a7b376b39e08e464d13cb9bf9f939b0": {"username": "Oran", "tumblr": "", "display_name": "Oran", "url": "http://disqus.com/guest/9a7b376b39e08e464d13cb9bf9f939b0/", "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": ""}, "9aae0e2c1503b1e541e4c4cb9bb08f0a": {"username": "anon", "tumblr": "", "display_name": "anon", "url": "http://disqus.com/guest/9aae0e2c1503b1e541e4c4cb9bb08f0a/", "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": ""}, "c7b7720f31c54099b9447293a3c5f6cd": {"username": "Scott", "tumblr": "", "display_name": "Scott", "url": "http://disqus.com/guest/c7b7720f31c54099b9447293a3c5f6cd/", "registered": false, "linkedin": "", "blog": "http://lazycoder.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": ""}, "dd77f0d5dcfb054b7c3085c083e56aae": {"username": "dmad", "tumblr": "", "display_name": "dmad", "url": "http://disqus.com/guest/dd77f0d5dcfb054b7c3085c083e56aae/", "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": ""}, "06cf64e6f5cb125a71807e477bfb428d": {"username": "Jay Small", "tumblr": "", "display_name": "Jay Small", "url": "http://disqus.com/guest/06cf64e6f5cb125a71807e477bfb428d/", "registered": false, "linkedin": "", "blog": "http://smallinitiatives.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": ""}, "57a14292f76b4221ca85cfdb9937fc1f": {"username": "Nicole Simon", "tumblr": "", "display_name": "Nicole Simon", "url": "http://disqus.com/guest/57a14292f76b4221ca85cfdb9937fc1f/", "registered": false, "linkedin": "", "blog": "http://crueltobekind.org/", "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": ""}, "4dff95285b640a12e9a81f67a49ec07e": {"username": "ben", "tumblr": "", "display_name": "ben", "url": "http://disqus.com/guest/4dff95285b640a12e9a81f67a49ec07e/", "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": ""}, "4f8f1a3b79c16fc70913681f7d287e38": {"username": "MonkeyMagic698", "tumblr": "", "display_name": "MonkeyMagic698", "url": "http://disqus.com/guest/4f8f1a3b79c16fc70913681f7d287e38/", "registered": false, "linkedin": "", "blog": "http://spaces.msn.com/members/actionmanjr/", "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": ""}, "85a4859c0378799f78f80a7d645d0d86": {"username": "Ben K", "tumblr": "", "display_name": "Ben K", "url": "http://disqus.com/guest/85a4859c0378799f78f80a7d645d0d86/", "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": ""}, "ebf3ff19e1c49eb15dd83d41d5858319": {"username": "Peter Forret", "tumblr": "", "display_name": "Peter Forret", "url": "http://disqus.com/guest/ebf3ff19e1c49eb15dd83d41d5858319/", "registered": false, "linkedin": "", "blog": "http://blog.forret.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": ""}, "a5d6ee5d1e785ef3d3c35fdd617389d4": {"username": "frankp", "tumblr": "", "display_name": "frankp", "url": "http://disqus.com/guest/a5d6ee5d1e785ef3d3c35fdd617389d4/", "registered": false, "linkedin": "", "blog": "http://9mmfilm.com/news", "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": ""}, "ce18f10996dec80ef787c434538d948d": {"username": "Andrew Denny", "tumblr": "", "display_name": "Andrew Denny", "url": "http://disqus.com/guest/ce18f10996dec80ef787c434538d948d/", "registered": false, "linkedin": "", "blog": "http://www.grannybuttons.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": ""}, "6218ae1b83d45e67371ea4ce9105fd89": {"username": "Heathers", "tumblr": "", "display_name": "Heathers", "url": "http://disqus.com/guest/6218ae1b83d45e67371ea4ce9105fd89/", "registered": false, "linkedin": "", "blog": "http://www.blogebrity.com/blog/2005/12/streamofconsciousness-alist-parodies.php", "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": ""}, "5439657de45501304d1f694d93e85dfb": {"username": "Steve", "tumblr": "", "display_name": "Steve", "url": "http://disqus.com/guest/5439657de45501304d1f694d93e85dfb/", "registered": false, "linkedin": "", "blog": "http://www.theevilempire.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": ""}, "490d926d48cdd8ab8349fe6206c02da4": {"username": "Jeremy Wright", "tumblr": "", "display_name": "Jeremy Wright", "url": "http://disqus.com/guest/490d926d48cdd8ab8349fe6206c02da4/", "registered": false, "linkedin": "", "blog": "http://www.b5media.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/16/9164/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "18aca1b86d43a223308f2e7a7ace963a": {"username": "Vish", "tumblr": "", "display_name": "Vish", "url": "http://disqus.com/guest/18aca1b86d43a223308f2e7a7ace963a/", "registered": false, "linkedin": "", "blog": "http://vtymkin.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": ""}, "422187df3c45655b0dc2ae5de0710b27": {"username": "John C. Welch", "tumblr": "", "display_name": "John C. Welch", "url": "http://disqus.com/guest/422187df3c45655b0dc2ae5de0710b27/", "registered": false, "linkedin": "", "blog": "http://www.bynkii.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": ""}, "e7349a5d9d042d63d2f591cb7042407f": {"username": "/pd", "tumblr": "", "display_name": "/pd", "url": "http://disqus.com/guest/e7349a5d9d042d63d2f591cb7042407f/", "registered": false, "linkedin": "", "blog": "http://peterdawson.typepad.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": ""}, "02ac79b9b2373a4788ae9311d19c4fb1": {"username": "Ethan", "tumblr": "", "display_name": "Ethan", "url": "http://disqus.com/guest/02ac79b9b2373a4788ae9311d19c4fb1/", "registered": false, "linkedin": "", "blog": "http://www.thevisionthing.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": ""}, "d23287ef969cb6446f75e67cd91b4067": {"username": "Hsiang-Tai Chien", "tumblr": "", "display_name": "Hsiang-Tai Chien", "url": "http://disqus.com/guest/d23287ef969cb6446f75e67cd91b4067/", "registered": false, "linkedin": "", "blog": "http://htchien.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "cffb5dbfd7ff3ee87ebf7e30ba1157a6": {"username": "Tom Gordon", "tumblr": "", "display_name": "Tom Gordon", "url": "http://disqus.com/guest/cffb5dbfd7ff3ee87ebf7e30ba1157a6/", "registered": false, "linkedin": "", "blog": "http://cro.alienpants.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": ""}, "57dda5b3e7dba546a9e3e63dc61faef2": {"username": "meishei", "tumblr": "", "display_name": "meishei", "url": "http://disqus.com/guest/57dda5b3e7dba546a9e3e63dc61faef2/", "registered": false, "linkedin": "", "blog": "http://meishei.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": ""}, "8f8ff21a67437febebc70afd19364e95": {"username": "Ahmad", "tumblr": "", "display_name": "Ahmad", "url": "http://disqus.com/guest/8f8ff21a67437febebc70afd19364e95/", "registered": false, "linkedin": "", "blog": "http://blogs.msdn.com/ace_team", "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": ""}, "e4e5e1f05fc31ff88d5d6adf8cc0a1e5": {"username": "Steve", "tumblr": "", "display_name": "Steve", "url": "http://disqus.com/guest/e4e5e1f05fc31ff88d5d6adf8cc0a1e5/", "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": ""}, "c35ae02cb5ec2bc5b48636871d5d1a78": {"username": "Anonymous", "tumblr": "", "display_name": "Anonymous", "url": "http://disqus.com/guest/c35ae02cb5ec2bc5b48636871d5d1a78/", "registered": false, "linkedin": "", "blog": "http://amc-theatre.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "31514fde1b54b8625b4857993e59e408": {"username": "Kelly", "tumblr": "", "display_name": "Kelly", "url": "http://disqus.com/guest/31514fde1b54b8625b4857993e59e408/", "registered": false, "linkedin": "", "blog": "http://hometown.aol.com/oesiru/debt-consolidation.html", "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": ""}, "1617152607da85672baf099a86c5293a": {"username": "dratz", "tumblr": "", "display_name": "dratz", "url": "http://disqus.com/guest/1617152607da85672baf099a86c5293a/", "registered": false, "linkedin": "", "blog": "http://dratz.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": ""}, "56d291bc972fcb61bb076eb437268dc1": {"username": "black_cat", "tumblr": "", "display_name": "black_cat", "url": "http://disqus.com/guest/56d291bc972fcb61bb076eb437268dc1/", "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": ""}, "9cb143b1435ed7541f385b3350ddcdfc": {"username": "Jeremy Pepper", "tumblr": "", "display_name": "Jeremy Pepper", "url": "http://disqus.com/guest/9cb143b1435ed7541f385b3350ddcdfc/", "registered": false, "linkedin": "", "blog": "http://pop-pr.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "48fe57a89aa623fc670969f3a3eda8da": {"username": "James Boike", "tumblr": "", "display_name": "James Boike", "url": "http://disqus.com/guest/48fe57a89aa623fc670969f3a3eda8da/", "registered": false, "linkedin": "", "blog": "http://spaces.msn.com/members/boikej/", "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": ""}, "macbeach": {"username": "macbeach", "tumblr": "", "display_name": "macbeach", "url": "http://disqus.com/macbeach/", "registered": true, "linkedin": "", "blog": "http://blog.macb.net", "remote_domain": null, "points": 4, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/130/4404/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "66cd07efc4c98814d17b04d473ccd7a1": {"username": "Peter Holloway", "tumblr": "", "display_name": "Peter Holloway", "url": "http://disqus.com/guest/66cd07efc4c98814d17b04d473ccd7a1/", "registered": false, "linkedin": "", "blog": "http://www.peterholloway.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": ""}, "cab1041ab2de14f71e070c15f8ae968e": {"username": "Christopher Coulter", "tumblr": "", "display_name": "Christopher Coulter", "url": "http://disqus.com/guest/cab1041ab2de14f71e070c15f8ae968e/", "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": ""}}, "forum": {"use_media": true, "name": "Scobleizer", "streaming_realtime": true, "url": "scobleizer", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 1, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": true, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "scobleizer", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-17_09:40:46", "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": {"9623431": {"up_voted": false, "ip": "", "has_replies": false, "message": "Who cares?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_14:03:21", "killed": false, "user_key": "091999297d5a01623aa8f9ff0d79fc2d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623432": {"up_voted": false, "ip": "", "has_replies": false, "message": "You sound angry today. Being back in the US can't be so bad you want to shoot people, can it? ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_14:09:13", "killed": false, "user_key": "3f513e2cf340de447da7d12d8497d7bc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623433": {"up_voted": false, "ip": "", "has_replies": false, "message": "shhhhh... be quiet.. in certain states you can get jailed for say \"i wanna shot someone\" !!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_14:13:34", "killed": false, "user_key": "e7349a5d9d042d63d2f591cb7042407f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623435": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm reminded of the book Catcher in the Rye.  Forgive me if I paraphrase incorrectly but in the book Holden speaks of a speech class where if the speaker went off topic the class yelled \"Digression!\"<br><br>Perhaps there should be a similar rule here.  However, instead of Robert going off topic, it's when his posts seem...well...a bit high and mighty.  When this happens and he wields the power of his readers around, we simply yell \"Ego!\"<br><br>Just a thought. ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_14:17:30", "killed": false, "user_key": "5439657de45501304d1f694d93e85dfb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623436": {"up_voted": false, "ip": "", "has_replies": false, "message": "Steve: I have an ego. I'm not going to treat my readers like idiots or slaves. I won't send them to people who treat people this way. Maybe the folks who treat people like info slaves are the real egotists.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_14:24:14", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623437": {"up_voted": false, "ip": "", "has_replies": false, "message": "If you come to Arizona for DEMO, I'll take you to a shooting range to get out the frustration.<br><br>Yes, we are the Old West still, at times.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_14:26:47", "killed": false, "user_key": "9cb143b1435ed7541f385b3350ddcdfc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623438": {"up_voted": false, "ip": "", "has_replies": false, "message": "The is exactly what I have been telling bloggers for what seems like eternity now. They are old-school. They think the only way they can up their business is to have users go to their site to collect on advertising. If you offer everything through RSS you still get the hits, you still retain the business, and you strengthen the bond between business and customer.<br><br>The is a classic example of a site \"not getting-it.\" They are only causing themselve more problems by alienating users and, at the same time, doubling their traffic costs by making customers download their pages twice. Once through RSS and another through their web page.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_14:27:07", "killed": false, "user_key": "6c1ccf81b95a71a977ce3111ba806cf6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623439": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert:  You really need to relax, people do have different opinions about different issues... just because they don't agree with you is not an excuse to act childish.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_14:34:51", "killed": false, "user_key": "8f8ff21a67437febebc70afd19364e95", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623440": {"up_voted": false, "ip": "", "has_replies": false, "message": "Slave? Is that a joke?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_14:38:13", "killed": false, "user_key": "29e8eaa9f0c9858504dae585afc9fc1e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623441": {"up_voted": false, "ip": "", "has_replies": false, "message": "Too much caffeine since being back? ;-^)<br><br>Though I do get ticked at such \"canned\" responses myself. I wouldn't have linked to them for that reason alone.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_14:38:44", "killed": false, "user_key": "12b96c9bc2a30d77688708f62b24bbc6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623442": {"up_voted": false, "ip": "", "has_replies": false, "message": "That's what you get when the marketing department is driven by fear.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_14:51:22", "killed": false, "user_key": "3ce3df12ce5b9e0606c4d747283fb8a8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623443": {"up_voted": false, "ip": "", "has_replies": false, "message": "Brad: that's how many content sites view you. As a slave that should dutifully visit without ever questioning. Oh, and you should also add some \"user generated content\" while you're there, so they can put an ad next to it and make lots of money off of your efforts.<br><br>Ahmad: this is far beyond agreeing or not agreeing. They want my readers to visit and be dutiful little readers. And if having a snit is childish, then you might want to visit some other, more corporate blog. I think you got me confused with some press release or something.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_14:54:56", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623444": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert ... I think this is one of those things that cannot be settled by opinions.<br><br>People claim that partial feeds draw users to a site versus full feeds that people use to send people to a site.<br><br>Are you aware of any experiments or studies done on this subject?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_14:55:40", "killed": false, "user_key": "b98cb184864c6e58869b2ea4180dcd82", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623445": {"up_voted": false, "ip": "", "has_replies": false, "message": "As a content publisher who provides partial text feeds I'm offended by this. Did you even try to understand the flipside Robert?<br><br>For example, would you pay 10$/year to get full text feeds? Would you suffer ads in your feeds to get full text feeds?<br><br>Sorry, but the world is changing. Feeds are being monetized either directly or by asking folk to come to the site if they want more information.<br><br>It's not about making users into \"slaves\" anymore than requiring you to pay for a newspaper makes you \"slave\".<br><br>All of that said, I prefer full text feeds, but if a blog is consistently good enough I don't mind partial text.<br><br>We dont' do partial text across the board, only once a site approaches the million page per month band. And we only keep it partial if subscribers don't drop like flies.<br><br>Ultimately we're trying to find a balance between actually making money off the content that costs us money, and giving our users what they want, how they want it.<br><br>It's a struggle though. Especially when you get rants like yours, Robert. Rants that don't allow for any leniency. Any innovation. Any CHANGE.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_15:00:25", "killed": false, "user_key": "490d926d48cdd8ab8349fe6206c02da4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623446": {"up_voted": false, "ip": "", "has_replies": false, "message": "No not at all, there is a reason your blog is so popular, because of the passion you bring to it.  However I think in some cases you may get carried away and not realize it.  E.g. the title of this blog entry \"Can I shoot someone?\" sure of course you don't mean that but its a tad overkill for someone looking for a link and not happening to provide full text feeds!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_15:01:38", "killed": false, "user_key": "8f8ff21a67437febebc70afd19364e95", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623447": {"up_voted": false, "ip": "", "has_replies": false, "message": "Patrick: When we put partial feeds on blogs, we see website traffic go up more than 25-70%, depending on the blog, time of day, day of the week, number of posts, etc.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_15:01:48", "killed": false, "user_key": "490d926d48cdd8ab8349fe6206c02da4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623448": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jeremy: if that's true, then can you at least offer both? Either way, I have 740 feeds and that's too many. I'm getting rid of any that are partial text. Feeds that are partial text treat me like a slave. I'm tired of being treated like a slave.<br><br>I don't mind advertising, if done well. AKA, like Google. User-centric and all that.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_15:16:47", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623449": {"up_voted": false, "ip": "", "has_replies": false, "message": "Patrick: don't know of any studies. I don't really care about studies. Do you need studies to tell you whether something is good or not?<br><br>If you think partial text are bettter for readers, then, fine, but offer BOTH!!! That way you are treating your readers with respect. Those who like partial text will feel better. Those, who, like me, prefer full text will feel better too.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_15:19:09", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623450": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert: Offer both? Like the 360? Both confuses users. As I said, we're not making you into a slave. We're listening to the market for each and every blog that transitions.<br><br>The real question here, though, is how can we make feeds work for publishers. Ultimately whatever really works for publishers will really work for users too.<br><br>I don't feel partial text feeds are the answer, but they're better than doing nothing.<br><br>Instead of whining about how you're a \"slave\" (still dont' see how that's the case, since you can choose to leave, you can leave feedback, you can email / skype / msn / call me, etc) why not try and think up a solution?<br><br>As a publisher WE'RE trying. For our users, and for us.<br><br>And saying we should offer every option is a bit non-sensical as well. Would you ask that a newspaper offer both a paid and a free version, and let users choose? How, from a business perspective, do we justify full text feeds? More ads in them? A large segment of the market hates ads in feeds more than they hate partial text feeds.<br><br>This is a serious balancing act, and not an easy one.<br><br>As I said, we're trying. But that doesn't mean it's an easy trick to pull off.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_15:24:13", "killed": false, "user_key": "490d926d48cdd8ab8349fe6206c02da4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623451": {"up_voted": false, "ip": "", "has_replies": false, "message": "Why do I only get partial feeds from you when I subcribe to Scobleizer in Live.com?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_15:28:07", "killed": false, "user_key": "48fe57a89aa623fc670969f3a3eda8da", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623452": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble, how about this. If we offered full-text feeds with ads as well as partial text feeds without ads, for each blog as well as each category of blog we run as well as for the network of 60 blogs.<br><br>Would that work?<br><br>As I said, we're still figuring this out. Happy to hear what you have to say :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_15:29:03", "killed": false, "user_key": "490d926d48cdd8ab8349fe6206c02da4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623453": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jeremy: yes, that works for me. I subscribe to feeds with ads, as long as they are full text.<br><br>James: my feed includes both full-text and partial-text. I'll see if they can fix that to display my full-text feed.<br><br>Or, you might need to get a news aggregator that lets you see the full-text feed. Sorry.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_15:39:28", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623454": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt;Instead of whining about how you\u2019re a \u201cslave\u201d (still dont\u2019 see how that\u2019s the case, since you can choose to leave, you can leave feedback, you can email / skype / msn / call me, etc) why not try and think up a solution?<br><br>I thought up the solution already: offer full text feeds. Damn, is it really that hard? If you have business models that need me to visit your Web site that's your problem, not mine.<br><br>Figure out how to fix the business model, if that's what is the problem.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_15:40:40", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623455": {"up_voted": false, "ip": "", "has_replies": false, "message": "You know, the only revenue model left for newspapers is all those ads on their page. If you won't even go to their site at all - ever - that's hammering the last nail in the journalism coffin.<br><br>And that won't help democracy.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_15:50:42", "killed": false, "user_key": "b4f04f9fd2de8730cda367d361178145", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623456": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Maybe the folks who treat people like info slaves are the real egotists.\"<br><br>The company you work for treats people like info slaves.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_16:02:59", "killed": false, "user_key": "9aae0e2c1503b1e541e4c4cb9bb08f0a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623457": {"up_voted": false, "ip": "", "has_replies": false, "message": "Larry: it seems that there's plenty of new style business out here. Why did AOL buy <a href=\"http://Weblogsinc.com\" rel=\"nofollow\">Weblogsinc.com</a> for $25 million?<br><br>But, thanks for a new argument! Advertising is good for democracy! That's a good one.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_16:09:46", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623458": {"up_voted": false, "ip": "", "has_replies": false, "message": "Anon: &gt;The company you work for treats people like info slaves.<br><br>Howso?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_16:10:53", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623459": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh, and Larry: why can't we put ads into feeds? I don't know of any rule against that.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_16:11:49", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623460": {"up_voted": false, "ip": "", "has_replies": false, "message": "Um...<i>slaves?</i><br><br>Holy crap, exaagerate much? I know that on my phone, I like partial text feeds, about twenty lines. That lets me decide if I want to see more or blow it off. one line's too little, but when it's a full text feed, then I have no choice in the matter.<br><br>Full text forces you to be a goose getting stuffed, and you have no choice about it.<br><br>That's bad too, by the way.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_16:20:26", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623461": {"up_voted": false, "ip": "", "has_replies": false, "message": "John: then do both.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_16:37:58", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623462": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Oh, and Larry: why can\u2019t we put ads into feeds? I don\u2019t know of any rule against that\"<br><br>Hmm. Which is worse, the wrath of Scoble or the wrath of Winer?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_16:39:16", "killed": false, "user_key": "29e8eaa9f0c9858504dae585afc9fc1e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623463": {"up_voted": false, "ip": "", "has_replies": false, "message": "How do you send people to those other websites?  I don't get it.  Yours is the only one I see when I visit.  Certainly, the Google reader doesn't show links to other sites?  Is it your static sidebar?  Are you the advertiser here, or are they?<br><br>I think this may demonstrate how inbred web 2.0 is becoming.  No one who isn't related can...relate.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_16:40:11", "killed": false, "user_key": "5d21d62d95d18914fa9edd9ff888fb8c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623464": {"up_voted": false, "ip": "", "has_replies": false, "message": "As I said earlier this isn't a simple issue. Robert, you trying to make it into one (without actually caring about the people you're trying to change) is rather amusing.<br><br>Full text feeds with ads have issues. Partial text feeds have issues. Some companies, like weblogs inc, do a full feed but strip all the links out making the feed readers \"second class citizens\" according to some.<br><br>Why aren't you willing to actually talk about this, instead of shoving what you want as gospel?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:01:07", "killed": false, "user_key": "490d926d48cdd8ab8349fe6206c02da4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623465": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt;&gt;Oh, and Larry: why can\u2019t we put ads into feeds? I don\u2019t know of any rule against that.<br><br>Because there is no independant third party that measures the metrics of how many eyeballs view an ad in an RSS feed. If you don't know how many people see an ad, there is no way to assign a value to it.  Right now, as we both have previously discussed, there is no way to know how many people see anything in RSS.<br><br>You can't sell ads for that.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:07:17", "killed": false, "user_key": "b4f04f9fd2de8730cda367d361178145", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623466": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt;&gt;Larry: it seems that there\u2019s plenty of new style business out here. Why did AOL buy <a href=\"http://Weblogsinc.com\" rel=\"nofollow\">Weblogsinc.com</a> for $25 million?<br><br><br>If AOL could support a worldwide bureau of reporters and publish an online newspaper, that would be great, but I don't see the industry business model for everyone else in that purchase.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:14:10", "killed": false, "user_key": "b4f04f9fd2de8730cda367d361178145", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623467": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Why aren\u2019t you willing to actually talk about this, instead of shoving what you want as gospel?\"<br><br>Well his title isn't \"Microsoft Debater\", it's \"Microsoft Evangelist\". How many evangelists do you know that are willing to debate the existance of God? ;)<br><br>Black and White is defined by him, it's in his title.<br><br><br>Larry: Ever heard of web bugs? They have them in RSS feeds too. It's one way you can measure eyeballs on ads in RSS feeds.<br><br><a href=\"http://www.eff.org/Privacy/Marketing/web_bug.html\" rel=\"nofollow\">http://www.eff.org/Privacy/Marketing/web_bug.html</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:18:03", "killed": false, "user_key": "c7b7720f31c54099b9447293a3c5f6cd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623468": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh, on topic:<br><br>Full text feeds are nice, but you can't comment through them. You could write a blog post and trackback to the post, but not everyone respects/uses/allows trackbacks. So if you want to discuss the post with the author, you have to go to the site and post a comment anyway. (assuming they allow comment, most egotistical folk enjoy a one-way conversation. You to them).<br><br>Partial text feeds are ok, provided they give me an informative slug not just the first 200 or so characters. That's useless.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:20:40", "killed": false, "user_key": "c7b7720f31c54099b9447293a3c5f6cd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623469": {"up_voted": false, "ip": "", "has_replies": false, "message": "I did not read through all the comments but I *know* I'm not the only one wondering where the real Scoble went.  Dude, you're sounding more and more like a pompous self-important jackass with these stupid high-school \"i'm-not-linking-to-you\" threats.<br><br>Remember, the higher you climb, the harder you fall. And to think I used to really love Scoble's down-to-earth'd-ness.  Yeesh.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:22:44", "killed": false, "user_key": "56d291bc972fcb61bb076eb437268dc1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623470": {"up_voted": false, "ip": "", "has_replies": false, "message": "If you are going to base a sites worth just on the basis of feeds, that's quite shallow.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:24:34", "killed": false, "user_key": "cab1041ab2de14f71e070c15f8ae968e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623471": {"up_voted": false, "ip": "", "has_replies": false, "message": "black_cat:&gt; Dude, you\u2019re sounding more and more like a pompous self-important jackass with these stupid high-school \u201ci\u2019m-not-linking-to-you\u201d threats.<br><br>Heheh! I'm being told off by someone who won't even use his or her real name. What a hoot!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:32:51", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623472": {"up_voted": false, "ip": "", "has_replies": false, "message": "Christopher: I'm a shallow guy, what can I say? I still read Google News, though. That's where we put sites that don't have full-text feeds.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:33:36", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623473": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thanks Scott. Webbugs aren't precise enough when you consider all the variables with RSS, what if images are scraped before display, what about an aggregator that grabs the RSS and feeds to multiple clients.<br><br>When you consider the auditing and due diligence that goes into tracking print circulation, there are really no metrics that match up online, especially for RSS.<br><br>I'm with you, Robert, don't bite my head off, but what you're asking is like telling Take Two to give away Grand Theft Auto 8 for free and then make their money by putting an ad in the game.<br><br><br>&gt;&gt;Advertising is good for democracy! That\u2019s a good one.<br><br><br>Something has to support journalism, and ads are about all that is left. Imagine what this (or any other free) country would be like if there were no independant news operations.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:34:38", "killed": false, "user_key": "b4f04f9fd2de8730cda367d361178145", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623474": {"up_voted": false, "ip": "", "has_replies": false, "message": "I reckon none of you commenters have spotted what sparked off Robert's ire!  But I reckon I did.<br><br>It was the responder's automatic, robotic, non-human reply to his original post. Culminating in the insincere \"...Please let me know if you have any questions or concerns\", which read like someone in a cubicle had just hit a key marked 'end transmission'.<br><br>Am I right, Robert?  Certainly it would be enough to get me angry...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:37:29", "killed": false, "user_key": "ce18f10996dec80ef787c434538d948d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623475": {"up_voted": false, "ip": "", "has_replies": false, "message": "Geez, I just browsed by (manually) to see some of your vacation pictures and I got shot.<br><br>Still love ya, brother.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:38:12", "killed": false, "user_key": "b4f04f9fd2de8730cda367d361178145", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623476": {"up_voted": false, "ip": "", "has_replies": false, "message": "PS: Robert, please let me know if you have any questions or concerns. :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:40:02", "killed": false, "user_key": "ce18f10996dec80ef787c434538d948d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623477": {"up_voted": false, "ip": "", "has_replies": false, "message": "Larry: the funny thing is that the site owner who sent me the email doesn't run a journalistic site.<br><br>The thing is we need to come up with a new business model. Come on, we can do it.<br><br>Remember 1987 when everyone said that the only way to make money is with banner ads? That was proven pretty wrong by those two guys from Stanford.<br><br>There's plenty of business models out here that don't require treating your users like jerks.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:43:05", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623478": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wow, a ready-to-microwave parody, with some Daniel Waters ('Heathers') sprinkles...<br><br><i>No full-text feeds? That's downright EVIL INCARNATE. Partial feeds suck losers dry. If you wanna f*ck with the eagles, you have to learn to fly. And err, NewsGator says I have tons of subscribers. None of them for you. Nah. Nah. Nah. Nah. Nah. I\u2019m not going to be your slave today. Nah. Nah. Nah. Nah. Nah. No sirreeeeeeeee. Nah. Nah. Nah. Nah. Nah. I am the most popular blogger around, you can't play with me. Nah. Nah. Nah. Nah. Nah. I wanta shoot someone. As the only place different social types can genuinely get along with each other is in heaven.</i>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:48:10", "killed": false, "user_key": "cab1041ab2de14f71e070c15f8ae968e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623479": {"up_voted": false, "ip": "", "has_replies": false, "message": "Christopher: If you would have added one more \"nah\" you would have totally gotten me. :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:54:48", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623480": {"up_voted": false, "ip": "", "has_replies": false, "message": "Again, I'm with ya. I made the pigrimage to MS last year asking for help. I'm working on several right now. But those two guys from Stanford are making most of their money through banner ads.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_17:54:55", "killed": false, "user_key": "b4f04f9fd2de8730cda367d361178145", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623481": {"up_voted": false, "ip": "", "has_replies": false, "message": "Larry: the other two guys. The ones who started Google. Most of their money comes off of text-ads, not banners.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_18:00:28", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623482": {"up_voted": false, "ip": "", "has_replies": false, "message": "Text, banners, gum, dead pixels, it's all junk on my screen.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_18:05:57", "killed": false, "user_key": "b4f04f9fd2de8730cda367d361178145", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623484": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble, that's nit-picking. They still made most of their money of ads. Nobody ever says \"my business model is banner ads\". They say \"my business model is ads\".<br><br>If you can come up with a new business model, great. But that's not what you asked for in your rant. You asked for publishers to give you everything for nothing.<br><br>Readers, ultimately, have a choice. They can pay for their content with:<br><br>1. Money<br>2. Ads<br>3. Attention<br>4. Information<br>5. Time<br><br>Which, to me, means you either have spend to get ad-free feeds, you have to get ads in your feeds, you have to be willing to click through to a site, you have to be willing to give the comapnies info or you need to be willing to somehow give your time.<br><br>I'm all for new business models, but you can't just say a line like that without copping to something.<br><br>I agree with a previous commenter. This just sounds like you decided to throw a hissy fit at the start and now you're trying to spin it in such a way that it's intelligent.<br><br>You want a conversation? Fine. Let's have a conversation. But why does the conversation have to happen HERE? I feel so SLAVED by having to come to your site just to see if there are updates. This isn't a real conversation. It's more like leaving post-its on a bulletin board.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_18:07:08", "killed": false, "user_key": "490d926d48cdd8ab8349fe6206c02da4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623485": {"up_voted": false, "ip": "", "has_replies": false, "message": "Christopher Coulter's blog <a href=\"http://globosphere.blogspot.com/\" rel=\"nofollow\">http://globosphere.blogspot.com/</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_18:10:53", "killed": false, "user_key": "6218ae1b83d45e67371ea4ce9105fd89", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623486": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>This isn\u2019t a real conversation. It\u2019s more like leaving post-its on a bulletin board.</i><br><br>Wow. Brilliant phrasing. How true.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_18:13:00", "killed": false, "user_key": "cab1041ab2de14f71e070c15f8ae968e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623487": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jeremy: &gt;Nobody ever says \u201cmy business model is banner ads\u201d.<br><br>Um, you don't get around too much. Actually they do say that at advertising companies. Quite often, in fact.<br><br>There's a big difference between doing TV advertising and doing print advertising or doing outdoor advertising. It's all advertising, to be certain, but it is different.<br><br>There's a huge difference between user-friendly advertising and those other types (interstitials, banners, etc).<br><br>And, why have the conversation here? Cause I'm the loudmouth who posted this to start it off.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_18:26:21", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623488": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm totally with Robert: give me my full-text feed or I'll go elsewhere.  My information firehose drinking time is too valuable and limited for me to be wasting some of it making micro-payments to someone's advertising engine.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_18:26:45", "killed": false, "user_key": "9a7b376b39e08e464d13cb9bf9f939b0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623489": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble. I work with many of the ad companies. I was at AdTech. Nobody says \"banner ads\". Because everyone knows banner ads don't work. Nobody really ever said their model was banner ads. I was there too, right in the thick of it, helping run some of the largest sites on the net at the time.<br><br>\"There\u2019s a huge difference between user-friendly advertising and those other types (interstitials, banners, etc).\"<br><br>Yeah? What is it? I mean, Google's now doing animated ads, image ads, banner ads, video ads... How is Google all that different?<br><br>\"And, why have the conversation here? Cause I\u2019m the loudmouth who posted this to start it off. \"<br><br>*sigh*<br><br>Fine, have it alone. Sometimes conversations require meeting in the middle. You've got a publisher right here talking to you, and you're pushing me away. So, fine, I'll go away.<br><br>This isn't conversation-friendly blogging.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_18:38:45", "killed": false, "user_key": "490d926d48cdd8ab8349fe6206c02da4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623490": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"You want a conversation? Fine. Let\u2019s have a conversation. But why does the conversation have to happen HERE? I feel so SLAVED by having to come to your site just to see if there are updates. This isn\u2019t a real conversation. It\u2019s more like leaving post-its on a bulletin board.\"<br><br>Erm ... Jeremy, there's Scoble's cell phone number and  email addres on this blog. You could, like, call him? It might be the fastest way to discover if you guys can work it out. Of course, we won't be able to follow the conversation word by word. We don't mind. Talk it over, see if you can agree on something and let us know if it was worth it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_18:52:37", "killed": false, "user_key": "ebf3ff19e1c49eb15dd83d41d5858319", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623491": {"up_voted": false, "ip": "", "has_replies": false, "message": "Peter, it's okay I've got Scoble's Skype, MSN, email, cell and work numbers.<br><br>I was trying to be ironic. If Scoble's asking for massive change, he needs to be ready to hear why things are the way they are (without prejudice) and he needs to be willing to have a conversation.<br><br>Telling me that he's right and the 5 reasons why he's right and why all publishers and advertisers are evil (except Google) isn't helping the conversation.<br><br>I want to hear if he really wants ads in feeds. What he feels this \"new business model\" should be based on, from a business perspective. How advertisers / publishers / users needs should balance.<br><br>I asked, and keep asking, because I have the sneaking suspicion this is Scoble in \"uber elite mode\" where he feels that what frustrates him is exactly what companies should respond to.<br><br>We call this living locally, applying globally. It's unhealthy for anyone, but especially someone with a platform.<br><br>With great power comes... What, the ability rant really ineffectively? ;-)<br><br>Besides, I won't invade Scoble's time to talk about this. I know how busy he is first hand. If this is still an issue when I'm on campus again in Feb we'll talk it out.<br><br>I'm not actually upset, I just don't see the room for discussion in Scoble's position.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_19:03:25", "killed": false, "user_key": "490d926d48cdd8ab8349fe6206c02da4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623492": {"up_voted": false, "ip": "", "has_replies": false, "message": "Rock on! Mr Scoble. err ... not sure about that shooting business though ... (thinking smiley goes here)<br><br>ps. you should get some smileys for your blog it may help calm you down a bit. You can never have too many smileys right. :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_19:45:53", "killed": false, "user_key": "4f8f1a3b79c16fc70913681f7d287e38", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623493": {"up_voted": false, "ip": "", "has_replies": false, "message": "So full vs partial rages on...<br><br>I publish full feeds, but only because I have nothing to lose. RSS is taking off, but it's still not largely understood by the average user. To be charging into 'full feeds are right all the time' at this point seems a bit strange to me.<br><br>Yes, I want to syndicate my content. But I respect the wishes of those that don't. Whether I subscribe to a partial feed will depend on the quality of the content.<br><br>If 'A List Apart' offered partial feeds, I would take them - gratefully (And not want to shoot them...).<br><br>Of course, I don't know who *this* post refers to and perhaps there is no reason for them not to have full feeds; but they obviously believe there is.<br><br>Are we talking Blogs only here or all RSS content...?<br><br>Most blogs at his point are either fluff or self promotional (at some level) - both these purposes have no reason not to publish full feeds...<br><br>The issue here, I guess is mostly monetisation.<br><br>I think an earlier commenter was fair to point out we need research and stats on full vs partial. I think it might show full feeds result in more subscribers and still get click throughs. I think it might also show that partial feeds, though resulting in less subscribers *might* have more targetted audiences and therefore yield greater results.<br><br>If users subscribe to partial feeds it may be because they know it's worth it. If they know it's worth it it may be because they trust the source. If they trust the source they may be more likely potential customers/consumers/whatever.<br><br>Maybe. We'll see.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_19:56:34", "killed": false, "user_key": "a5d6ee5d1e785ef3d3c35fdd617389d4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623494": {"up_voted": false, "ip": "", "has_replies": false, "message": "FWIW, I read this post (in full text) via Bloglines, then decided, hell with it, and changed my site's feed to full text.<br><br>Yeah, I have an AdSense block on the right side, and yeah, I make tens of cents every month from it, but I'm willing to sacrifice all that to run a little experiment.<br><br>I know this from my own use of RSS via Bloglines: I probably wind up visiting the sites where full text feeds are offered at least as much as the excerpt-feed sites. So we'll see if that holds true for the bottom-feeders who have run out of everything else to do on the Web, including porn, poker and Viagra, and therefore have only my site left to live for. ;-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_20:47:05", "killed": false, "user_key": "06cf64e6f5cb125a71807e477bfb428d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623495": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>John: then do both.</i><br><br>Robert, are you paying for that bandwidth? No, you aren't. But you are using it. Can you show me any data that shows RSS feed ads have a positive return greater than the cost of the bandwidth used? I mean, you're advocating something that most of the RSS users are going to *hate*, you should at least have SOME numbers showing the efficacy of your idea, or a link to such numbers.<br><br>Because otherwise, you're kind of trying to use your own sense of grandeur to get your way, and that's a bit, oh, I don't know, egotisitical?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_20:49:03", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623496": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey Robert,<br>While you've got this, uh, unharnessed energy thing going on right now, why don't you direct it over to the xbox team to find out what the hell ever happened to <a href=\"http://www.gamespot.com/xbox/action/risk/\" rel=\"nofollow\">Risk on the Xbox</a>?<br><br>Someone should swing for dropping that ball. Seriously.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_21:03:36", "killed": false, "user_key": "b4f04f9fd2de8730cda367d361178145", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623497": {"up_voted": false, "ip": "", "has_replies": false, "message": "Just to add that, from a publisher standpoint, the biggest argument for partial text feeds is that it drastically reduces the odds that someone'll steal your content.<br><br>And, considering that the feed theft industry is set to become a 1B$ one this year, that's a pretty big motivation.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_21:16:31", "killed": false, "user_key": "490d926d48cdd8ab8349fe6206c02da4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623499": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble, when I subscribe to your feeds on <a href=\"http://live.com\" rel=\"nofollow\">live.com</a>, I see only partial extracts of your blog posts. This is different from what I see for <a href=\"http://engadget.com\" rel=\"nofollow\">engadget.com</a> and <a href=\"http://autoblog.com\" rel=\"nofollow\">autoblog.com</a>.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_22:36:47", "killed": false, "user_key": "5c5b8090f1ddaf9cd3ecb309dcafaaa6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623500": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jamie: I'll look into it. I use NewsGator and RSS Bandit and I'm seeing full-text feeds there.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_22:54:41", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623501": {"up_voted": false, "ip": "", "has_replies": false, "message": "So I guess I'm one of your 18,000 RSS subscribers.<br><br>BTW, I think to use full text should be good to readers.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_23:09:37", "killed": false, "user_key": "d23287ef969cb6446f75e67cd91b4067", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623502": {"up_voted": false, "ip": "", "has_replies": false, "message": "See, Jeremy, here's the problem. Scoble doesn't grasp the concept of making money.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_23:20:57", "killed": false, "user_key": "dd77f0d5dcfb054b7c3085c083e56aae", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623503": {"up_voted": false, "ip": "", "has_replies": false, "message": "Microsoft treating users as slaves:<br><br><a href=\"http://www.computerworld.com/blogs/node/1345\" rel=\"nofollow\">http://www.computerworld.com/blogs/node/1345</a><br><br>\"Why not simply open the standard? Because it would mean Microsoft would lose control of a vital part of their revenue stream - sales of Office. Instead, by proposing the standard to the ISO they give the appearance of being open and honest, while actually retaining the control they currently enjoy.\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-13_23:30:15", "killed": false, "user_key": "macbeach", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "4 years ago", "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}, "9623504": {"up_voted": false, "ip": "", "has_replies": false, "message": "macbeach: that article has the facts all wrong. Why don't you look into what the licensing of the new Office formats are? If you did you'd be doing more work than this \"journalist.\"<br><br>dmad: tell me how you'll make money with advertising if you have no readers? I'd love to know that one!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-14_00:04:40", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623505": {"up_voted": false, "ip": "", "has_replies": false, "message": "woud you pls open your comments rss feed so i can track the \"conversation\" more easily. Thank you!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-14_00:56:28", "killed": false, "user_key": "57dda5b3e7dba546a9e3e63dc61faef2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623506": {"up_voted": false, "ip": "", "has_replies": false, "message": "my bad, you have comment feed here<br><a href=\"http://scobleizer.wordpress.com/comments/feed/\" rel=\"nofollow\">http://scobleizer.wordpress.com/comments/feed/</a><br><br>it's just far away from your entires feed.<br><br>sorry for rushing to conclusion", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-14_00:59:42", "killed": false, "user_key": "57dda5b3e7dba546a9e3e63dc61faef2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623507": {"up_voted": false, "ip": "", "has_replies": false, "message": "The solution to content theft is not partials feeds. It will only take them some time to take a feed and fetch the according content from a website.<br><br>If there is a solution, it is more old school approaches like combined efforts as in hurting where the money comes from.<br><br>As in full feeds: if your business modell requires partial feeds and your readers want full feeds, then at least be honest and say you are in there for the money, skip the feed at all and make standard SEO - because that is then what you are after: Visits from the search engines, not blog readers who have different interests than SE-visitors.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-14_04:30:54", "killed": false, "user_key": "57a14292f76b4221ca85cfdb9937fc1f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623508": {"up_voted": false, "ip": "", "has_replies": false, "message": "THis came up the other month and I commented on partial evrsus full text then. My contention? The decision to provide full or partial feeds is entirely dependant on what I'm using RSS for, and who my intended audience is. My commercial games news website only publishes a partial feed - deliberately - as I don't want people reading the stories, reviews, articles and other things I publish through that channel via RSS. The RSS feed (which has been available since we launched in 2002) is designed specifically to draw people to the website itself, to introduce them not to the one story theya re reading, but to the wealth of other information contained on the site that is not made available via RSS (even via a partial feed).<br><br>At the same time, my personal weblog where I talk about Identity and other things is availabel as a full-text feed (with RSS ads, if they're working properly...) because it is a discussion site, a 'blog', not a commercial concern.<br><br>More here:<br><a href=\"http://cro.alienpants.com/index.php/2005/11/28/rss-feeds-full-text-or-partial-text/\" rel=\"nofollow\">http://cro.alienpants.com/index.php/2005/11/28/...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-14_05:46:13", "killed": false, "user_key": "cffb5dbfd7ff3ee87ebf7e30ba1157a6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623509": {"up_voted": false, "ip": "", "has_replies": false, "message": "Some people just don't get the technology.  Give 'em Hell.  A lot of places still have trouble understanding the real power and appeal of the internet.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-14_08:42:25", "killed": false, "user_key": "1617152607da85672baf099a86c5293a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623510": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think the the this points out is the difference between power users like scoble and more casual users. Of course partial text feeds are gonna stand out in 700 feeds.<br><br>But I'd imagine that most folks aren't using RSS like Scoble does. As a matter of fact I'd imagine most folks use them not all that differently than they use their favorites.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-14_11:08:14", "killed": false, "user_key": "29e8eaa9f0c9858504dae585afc9fc1e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623511": {"up_voted": false, "ip": "", "has_replies": false, "message": "There is a semi-prolific blogger that works a couple of cubes down the aisle from me.  Believe it or not, he only feed the TITLES of his articles!  I gently told him once that I wasn't getting much out of his blog that way.<br><br>So now he has to walk down the aisle and tell me when he's posted a \"good\" article.  Justice is served!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-14_12:41:08", "killed": false, "user_key": "c0801dd03821f2203e81669a38118375", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623512": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sounds like some hysterical self-important whiner has a very strange idea of what slavery is.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-14_16:43:56", "killed": false, "user_key": "4dff95285b640a12e9a81f67a49ec07e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623513": {"up_voted": false, "ip": "", "has_replies": false, "message": "Your posts tend to run to ten or fifteen lines or so. Posting a full feed makes sense. Some other blogs (I won't mention Autoblog by name) run to pages of text per posting, and sometimes a dozen or more photos. I don't want all that in my RSS reader. I find it convenient if a feed has a few lines of detail, and lets me decide if I want to go find out more.<br><br>In the days of paper journalism, you had to write your articles from the top down, because the editor might cut you off when you exceeded the column inches he had available. Something for blogs to consider.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-14_17:50:08", "killed": false, "user_key": "85a4859c0378799f78f80a7d645d0d86", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623514": {"up_voted": false, "ip": "", "has_replies": false, "message": "I won't pretend to understand a damned thing about RSS but I do admit if anyone needed full text of the crap I post they'd probably need therapy more...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-14_19:13:58", "killed": false, "user_key": "18aca1b86d43a223308f2e7a7ace963a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623515": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think the reality is that each company can think and act the way they want. I tend to agree with summary instead of full content in feeds for content generators such as blogs or enthusiast sites. Have you seem how many scrapper sites making money of our content there is around? They simply paste the whole feed.<br><br>Now, you saying a company will not get a link from a page you control just because they don't provide full feeds... Sorry but I am now removing YOUR feed from my list.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-14_19:39:34", "killed": false, "user_key": "654af963c7702db75a8f477951ccabc1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623516": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"What the mainstream media (MSM) lacks, the blogosphere has in spades: energy, momentum, and a growing audience. But what bloggers lack is money -- bloggers have yet to find an efficient way to turn their hard work into revenue \u2026 and until they do, blogging will always be a lonely sidelight, vulnerable to dying with the next missed mortgage check.\"<br><br>Michael S. Malone<br><br>Isn't leaving your slavishly derived CGM a fair trade for the attention that your site derives from the other zombie like readers deciding that your comments merit further investigation?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-14_21:32:47", "killed": false, "user_key": "e4e5e1f05fc31ff88d5d6adf8cc0a1e5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623517": {"up_voted": false, "ip": "", "has_replies": false, "message": "I checked with my lawyers and they still consider that murder.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-14_22:17:48", "killed": false, "user_key": "a1da75bd1c8961e81365d46cd5247b31", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623518": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wasn't the whole intention of an RSS feed in the frist place to provide a summary so you could decide wether or not you wanted to load the site to read what was written?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-15_13:31:38", "killed": false, "user_key": "22d829d0fe0b15411a0a0f3761757a23", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623520": {"up_voted": false, "ip": "", "has_replies": false, "message": "OK, I'll say it, since I didn't see this go by in the comment thread:<br><br>I thought you weren't reading feeds anymore...? Something something no time something skimming something Memeorandum something?<br><br>What changed?<br><br>(On a side note, I principally offer full-text feeds at TVT, and you managed - historically - to subscribe to the sole partial-text feed. Something upthread about \"how hard is it to offer both?\" Not hard at all.)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-15_15:02:02", "killed": false, "user_key": "02ac79b9b2373a4788ae9311d19c4fb1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623521": {"up_voted": false, "ip": "", "has_replies": false, "message": "Doug (91): NOOOOOO!!! That absolutely is NOT the reason feeds were invented. Talk to Netscape and Dave Winer about what they were used for. Syndication!!!! IE, redistributing content to where YOU wanted it.<br><br>Ethan: I started reading my feeds again cause I realized I was missing the small things.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-15_15:20:12", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623522": {"up_voted": false, "ip": "", "has_replies": false, "message": "scobelizer, I beg to differ that IS what RSS feeds were originally intended for.<br><br>According to <a href=\"http://rss-specifications.com\" rel=\"nofollow\">rss-specifications.com</a> the very name in its self is its definition:<br><br>\"RSS is defined as Really Simple Syndication or Rich Site Summary. RSS files are formed as XML files and are designed to provide content summaries of news, blogs, forums or website content.\"<br><br>\"The feeds are generally simple headlines and brief descriptions if the user is interested they can click to see additional information.\"<br><br>\"Initially rss feeds were intended for news headlines.\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-15_23:23:25", "killed": false, "user_key": "22d829d0fe0b15411a0a0f3761757a23", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623523": {"up_voted": false, "ip": "", "has_replies": false, "message": "One aspect that doesn't seem to have been discussed is what Feed Readers are designed/used for. My understanding was that this was the latest way of getting information from various sources without having the overhead of downloading styling, visiting multiple sites etc. It is for the information hungry consumer.<br><br>Personally excerpted feeds come across as teaser ads, not content - this is not what RSS/Feed Readers was designed for.<br><br>FWIW I don't think the small click through revenues warrant forcing people to visit the site in order to read unless the site has a huge readership. For most publishers I believe that your RSS publishing is better seen as developing a recognition of your expertise within your given industry. It's more of a marketing tool than a revenue stream.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-16_08:31:54", "killed": false, "user_key": "66cd07efc4c98814d17b04d473ccd7a1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623524": {"up_voted": false, "ip": "", "has_replies": false, "message": "Peter you maybe should have read some of the previous posts ,but thanks for furthering what I was saying", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2005-12-16_11:21:23", "killed": false, "user_key": "22d829d0fe0b15411a0a0f3761757a23", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 years ago", "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}, "9623525": {"up_voted": false, "ip": "", "has_replies": false, "message": "Finally i found what i've been looking for!!  Your site!  ;)  Great site, folks!!<br>great graphics...;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-02-02_21:41:36", "killed": false, "user_key": "b612336b23941597a23567befed3fc36", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "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}, "9623526": {"up_voted": false, "ip": "", "has_replies": false, "message": "What about membership based sites, where the full text of the article is for members only, and requires login at the main site?<br><br>The teaser text or partial text is simply to let members, and ysers (prospects) know that new content has been posted.  The partial of course includes details as to the gist of the full text.<br><br>Partial feeds make sense to me in this sense.  Am I wrong?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-22_12:46:57", "killed": false, "user_key": "17ce83120e9f95c4adf9749561c453d7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "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}, "9623527": {"up_voted": false, "ip": "", "has_replies": false, "message": "Kevin: I guess but the number of sites that I'm willing to be a member of to read the content is very very very very small. Are you the New York Times? That's about it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-22_13:11:52", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "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}, "9623528": {"up_voted": false, "ip": "", "has_replies": false, "message": "I am not the Are you the New York Times...  but I am responsible for getting as many members of the company I work for (trade association), which has approx 6000 members, to come back to our web site.  I think partial feeds are just fine in this regard.  Perhaps such feeds are even a \"member benefit\".  Am I misguided?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-23_07:25:32", "killed": false, "user_key": "17ce83120e9f95c4adf9749561c453d7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "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}, "9623529": {"up_voted": false, "ip": "", "has_replies": false, "message": "Have found everyting I needed on your site.  And already put in my bookmarks <a href='http://amc-theatre.blogspot.com' rel=\"nofollow\">:</a>)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_11:19:57", "killed": false, "user_key": "c35ae02cb5ec2bc5b48636871d5d1a78", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "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}, "9623530": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hi! Nice site!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-09-22_03:20:10", "killed": false, "user_key": "31514fde1b54b8625b4857993e59e408", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "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": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "18413378", "user_id": "anonymous", "forum_id": "125200", "hash": 4065423079910957564}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "can_i_shoot_someone", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18413378, "num_posts": 96, "closed": true, "queued": false, "killed": false}, "reactions_limit": 10, "context": {"show_reply": false, "use_fb_connect": true, "forum_facebook_key": "faaf467d0f47abde553c3b8e0e1b3570", "use_yahoo": false, "subscribed": false, "use_twitter_signin": true, "use_openid": false, "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 = "Add New Comment";
	this.LOG_INTO_DISQUS = "Log into DISQUS";
	this.USE_MEDIA = "Use Media";
	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 = "Sort by";
	this.SUBSCRIBE_BY_EMAIL = "Subscribe by email";
	this.SUBSCRIBE_BY_RSS = "Subscribe by RSS";
	this.POPULAR_NOW = "Popular now";
	this.BEST_RATING = "Best Rating";
	this.NEWEST_FIRST = "Newest first";
	this.OLDEST_FIRST = "Oldest first";
	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 = "Reply";
	this.EDIT = "Edit";
	this.FLAG = "Flag";
	this.MODERATE = "Moderate";
	this.CANCEL = "Cancel";
	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 = "No";
	this.YES = "Yes";
	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 = "Name";
	this.EMAIL = "Email";
  this.WEBSITE = "Website";
  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 = 'a2d140c59df8cd4ce27a20e0829cacd8';
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=scobleizer' +
		'&t=can_i_shoot_someone' +
		'&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://scobleizer.disqus.com/can_i_shoot_someone/latest.rss">' + Dsq.Strings.SUBSCRIBE_BY_RSS + '</a> \
			</span> \
		</div> \
		';

		
		

		return html;

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

		html += Dsq.Templates.pagination();

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

		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> or <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 ? 'comment' : '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 href="#comment-' + _meta.parent_post_id + '" title="Jump to comment">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)" >Like</button>'
						: 'You liked this.&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;">Edit Comment</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/scobleizer/thread.js'
			+ '?slug='	+ 'can_i_shoot_someone'
			+ '&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/scobleizer/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 = 'You liked this.&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://scobleizer.disqus.com/can_i_shoot_someone/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 "Please enter a name to comment.";
		} else {
			return true;
		}
	};
	this.email = function(addr) {
		if(Dsq.Validators.VALID_EMAIL_RE.test(addr)) {
			return true;
		} else {
			return "Please enter a valid email to comment.";
		}
	};
	this.url = function(addr) {
		if(!addr || addr.indexOf('.') != -1) {
			return true;
		} else {
			return "Please check your website URL (this field is optional).";
		}
	};

	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/scobleizer/_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>Comment removed.</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">\
	 <span id="dsq-num-posts">96</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/can_i_shoot_someone/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">\
	 Sort by\
	 <select id="dsq-sort-select" onchange="Dsq.Thread.sortBy(this.value);">\
	 <option value="hot" selected="selected">Popular now</option>\
	 <option value="best" >Best Rating</option>\
	 <option value="newest" >Newest first</option>\
	 <option value="oldest" >Oldest first</option>\
	 </select>\
	 &nbsp;\
	 </span>\
	 <span class="dsq-item-cp"><a href="http://scobleizer.disqus.com/can_i_shoot_someone/">Community Page</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>\
		';

		

		
		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.authPost();
		

		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">Show more comments...</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://scobleizer.disqus.com/can_i_shoot_someone/trackback/';
		}

		html += '<div class="dsq-item-trackback">Trackback URL&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;">Like</a>'
						: 'You liked this.') + '</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;">Report</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;">Reply</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;">Edit</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">More <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">Use Media <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 Scobleizer" 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:18413378" 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> \
								 \
								 \
							 \
						</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'				: 'scobleizer',
			't'				: 'can_i_shoot_someone',
			// 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;">Profile</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;">Edit Comment</a></li>'
			: '')
		+ ' <li class="dsq-remove"><a href="#" onclick="Dsq.Post.removePost(' + post_id + ', 1); return false;">Remove Comment</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;">Record video</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 = 'You liked this.';
		}
	};

	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 = 'Cancel';
				displayDict['media'] = 'inline';
				displayDict['edit'] = 'none';
			} else {
				el.innerHTML = 'Reply';
				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 = 'Cancel Media';
			link.onclick = function() { Dsq.Post.toggleMediaReply(link, id); return false; };
		} else {
			link.innerHTML = 'Use Media <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/scobleizer/vote.js'
                + '?post_id='    + id
                + '&vote='        + vote);

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

	this.report = function(id, confirmed) {
		if(confirmed) {
			Dsq.Utils.postToUrl('http://disqus.com/forums/scobleizer/can_i_shoot_someone/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/scobleizer/thread.js'
			+ '?slug='	+ 'can_i_shoot_someone'
			+ '&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/scobleizer/thread.js'
			+ '?slug='	+ 'can_i_shoot_someone'
			+ '&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/scobleizer/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'can_i_shoot_someone'
				+ '&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/scobleizer/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/scobleizer/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/scobleizer/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/18413378/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/scobleizer/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/scobleizer/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-9623431">\
	 <div id="dsq-comment-header-9623431" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623431" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623431">mike</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623431" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623431" class="dsq-comment-message">Who cares?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623432">\
	 <div id="dsq-comment-header-9623432" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623432" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623432" href="http://www.richbrownell.com/" target="_blank" rel="nofollow">Richard Brownell</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623432" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623432" class="dsq-comment-message">You sound angry today. Being back in the US can\'t be so bad you want to shoot people, can it? ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623433">\
	 <div id="dsq-comment-header-9623433" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623433" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623433" href="http://peterdawson.typepad.com/" target="_blank" rel="nofollow">/pd</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623433" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623433" class="dsq-comment-message">shhhhh... be quiet.. in certain states you can get jailed for say "i wanna shot someone" !!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623435">\
	 <div id="dsq-comment-header-9623435" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623435" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623435" href="http://www.theevilempire.com/" target="_blank" rel="nofollow">Steve</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623435" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623435" class="dsq-comment-message">I\'m reminded of the book Catcher in the Rye.  Forgive me if I paraphrase incorrectly but in the book Holden speaks of a speech class where if the speaker went off topic the class yelled "Digression!"<br><br>Perhaps there should be a similar rule here.  However, instead of Robert going off topic, it\'s when his posts seem...well...a bit high and mighty.  When this happens and he wields the power of his readers around, we simply yell "Ego!"<br><br>Just a thought. ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623436">\
	 <div id="dsq-comment-header-9623436" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623436" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623436" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623436" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623436" class="dsq-comment-message">Steve: I have an ego. I\'m not going to treat my readers like idiots or slaves. I won\'t send them to people who treat people this way. Maybe the folks who treat people like info slaves are the real egotists.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623437">\
	 <div id="dsq-comment-header-9623437" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623437" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623437" href="http://pop-pr.blogspot.com/" target="_blank" rel="nofollow">Jeremy Pepper</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623437" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623437" class="dsq-comment-message">If you come to Arizona for DEMO, I\'ll take you to a shooting range to get out the frustration.<br><br>Yes, we are the Old West still, at times.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623438">\
	 <div id="dsq-comment-header-9623438" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623438" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623438" href="http://www.johntracy.com/" target="_blank" rel="nofollow">John</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623438" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623438" class="dsq-comment-message">The is exactly what I have been telling bloggers for what seems like eternity now. They are old-school. They think the only way they can up their business is to have users go to their site to collect on advertising. If you offer everything through RSS you still get the hits, you still retain the business, and you strengthen the bond between business and customer.<br><br>The is a classic example of a site "not getting-it." They are only causing themselve more problems by alienating users and, at the same time, doubling their traffic costs by making customers download their pages twice. Once through RSS and another through their web page.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623439">\
	 <div id="dsq-comment-header-9623439" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623439" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623439" href="http://blogs.msdn.com/ace_team" target="_blank" rel="nofollow">Ahmad</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623439" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623439" class="dsq-comment-message">Robert:  You really need to relax, people do have different opinions about different issues... just because they don\'t agree with you is not an excuse to act childish.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623440">\
	 <div id="dsq-comment-header-9623440" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623440" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623440">Brad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623440" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623440" class="dsq-comment-message">Slave? Is that a joke?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623441">\
	 <div id="dsq-comment-header-9623441" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623441" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623441">John</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623441" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623441" class="dsq-comment-message">Too much caffeine since being back? ;-^)<br><br>Though I do get ticked at such "canned" responses myself. I wouldn\'t have linked to them for that reason alone.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623442">\
	 <div id="dsq-comment-header-9623442" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623442" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623442" href="http://spaces.msn.com/members/MthdDirector/" target="_blank" rel="nofollow">Matthew</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623442" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623442" class="dsq-comment-message">That\'s what you get when the marketing department is driven by fear.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623443">\
	 <div id="dsq-comment-header-9623443" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623443" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623443" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623443" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623443" class="dsq-comment-message">Brad: that\'s how many content sites view you. As a slave that should dutifully visit without ever questioning. Oh, and you should also add some "user generated content" while you\'re there, so they can put an ad next to it and make lots of money off of your efforts.<br><br>Ahmad: this is far beyond agreeing or not agreeing. They want my readers to visit and be dutiful little readers. And if having a snit is childish, then you might want to visit some other, more corporate blog. I think you got me confused with some press release or something.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623444">\
	 <div id="dsq-comment-header-9623444" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623444" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623444" href="http://www.yald.com/" target="_blank" rel="nofollow">Patrick Grote</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623444" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623444" class="dsq-comment-message">Robert ... I think this is one of those things that cannot be settled by opinions.<br><br>People claim that partial feeds draw users to a site versus full feeds that people use to send people to a site.<br><br>Are you aware of any experiments or studies done on this subject?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623445">\
	 <div id="dsq-comment-header-9623445" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623445" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623445" href="http://www.b5media.com/" target="_blank" rel="nofollow">Jeremy Wright</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623445" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623445" class="dsq-comment-message">As a content publisher who provides partial text feeds I\'m offended by this. Did you even try to understand the flipside Robert?<br><br>For example, would you pay 10$/year to get full text feeds? Would you suffer ads in your feeds to get full text feeds?<br><br>Sorry, but the world is changing. Feeds are being monetized either directly or by asking folk to come to the site if they want more information.<br><br>It\'s not about making users into "slaves" anymore than requiring you to pay for a newspaper makes you "slave".<br><br>All of that said, I prefer full text feeds, but if a blog is consistently good enough I don\'t mind partial text.<br><br>We dont\' do partial text across the board, only once a site approaches the million page per month band. And we only keep it partial if subscribers don\'t drop like flies.<br><br>Ultimately we\'re trying to find a balance between actually making money off the content that costs us money, and giving our users what they want, how they want it.<br><br>It\'s a struggle though. Especially when you get rants like yours, Robert. Rants that don\'t allow for any leniency. Any innovation. Any CHANGE.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623446">\
	 <div id="dsq-comment-header-9623446" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623446" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623446" href="http://blogs.msdn.com/ace_team" target="_blank" rel="nofollow">Ahmad</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623446" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623446" class="dsq-comment-message">No not at all, there is a reason your blog is so popular, because of the passion you bring to it.  However I think in some cases you may get carried away and not realize it.  E.g. the title of this blog entry "Can I shoot someone?" sure of course you don\'t mean that but its a tad overkill for someone looking for a link and not happening to provide full text feeds!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623447">\
	 <div id="dsq-comment-header-9623447" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623447" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623447" href="http://www.b5media.com/" target="_blank" rel="nofollow">Jeremy Wright</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623447" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623447" class="dsq-comment-message">Patrick: When we put partial feeds on blogs, we see website traffic go up more than 25-70%, depending on the blog, time of day, day of the week, number of posts, etc.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623448">\
	 <div id="dsq-comment-header-9623448" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623448" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623448" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623448" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623448" class="dsq-comment-message">Jeremy: if that\'s true, then can you at least offer both? Either way, I have 740 feeds and that\'s too many. I\'m getting rid of any that are partial text. Feeds that are partial text treat me like a slave. I\'m tired of being treated like a slave.<br><br>I don\'t mind advertising, if done well. AKA, like Google. User-centric and all that.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623449">\
	 <div id="dsq-comment-header-9623449" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623449" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623449" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623449" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623449" class="dsq-comment-message">Patrick: don\'t know of any studies. I don\'t really care about studies. Do you need studies to tell you whether something is good or not?<br><br>If you think partial text are bettter for readers, then, fine, but offer BOTH!!! That way you are treating your readers with respect. Those who like partial text will feel better. Those, who, like me, prefer full text will feel better too.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623450">\
	 <div id="dsq-comment-header-9623450" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623450" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623450" href="http://www.b5media.com/" target="_blank" rel="nofollow">Jeremy Wright</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623450" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623450" class="dsq-comment-message">Robert: Offer both? Like the 360? Both confuses users. As I said, we\'re not making you into a slave. We\'re listening to the market for each and every blog that transitions.<br><br>The real question here, though, is how can we make feeds work for publishers. Ultimately whatever really works for publishers will really work for users too.<br><br>I don\'t feel partial text feeds are the answer, but they\'re better than doing nothing.<br><br>Instead of whining about how you\'re a "slave" (still dont\' see how that\'s the case, since you can choose to leave, you can leave feedback, you can email / skype / msn / call me, etc) why not try and think up a solution?<br><br>As a publisher WE\'RE trying. For our users, and for us.<br><br>And saying we should offer every option is a bit non-sensical as well. Would you ask that a newspaper offer both a paid and a free version, and let users choose? How, from a business perspective, do we justify full text feeds? More ads in them? A large segment of the market hates ads in feeds more than they hate partial text feeds.<br><br>This is a serious balancing act, and not an easy one.<br><br>As I said, we\'re trying. But that doesn\'t mean it\'s an easy trick to pull off.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623451">\
	 <div id="dsq-comment-header-9623451" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623451" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623451" href="http://spaces.msn.com/members/boikej/" target="_blank" rel="nofollow">James Boike</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623451" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623451" class="dsq-comment-message">Why do I only get partial feeds from you when I subcribe to Scobleizer in Live.com?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623452">\
	 <div id="dsq-comment-header-9623452" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623452" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623452" href="http://www.b5media.com/" target="_blank" rel="nofollow">Jeremy Wright</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623452" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623452" class="dsq-comment-message">Scoble, how about this. If we offered full-text feeds with ads as well as partial text feeds without ads, for each blog as well as each category of blog we run as well as for the network of 60 blogs.<br><br>Would that work?<br><br>As I said, we\'re still figuring this out. Happy to hear what you have to say :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623453">\
	 <div id="dsq-comment-header-9623453" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623453" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623453" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623453" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623453" class="dsq-comment-message">Jeremy: yes, that works for me. I subscribe to feeds with ads, as long as they are full text.<br><br>James: my feed includes both full-text and partial-text. I\'ll see if they can fix that to display my full-text feed.<br><br>Or, you might need to get a news aggregator that lets you see the full-text feed. Sorry.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623454">\
	 <div id="dsq-comment-header-9623454" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623454" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623454" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623454" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623454" class="dsq-comment-message">&gt;Instead of whining about how you’re a “slave” (still dont’ see how that’s the case, since you can choose to leave, you can leave feedback, you can email / skype / msn / call me, etc) why not try and think up a solution?<br><br>I thought up the solution already: offer full text feeds. Damn, is it really that hard? If you have business models that need me to visit your Web site that\'s your problem, not mine.<br><br>Figure out how to fix the business model, if that\'s what is the problem.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623455">\
	 <div id="dsq-comment-header-9623455" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623455" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623455" href="http://www.greenjem.com/" target="_blank" rel="nofollow">Larry</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623455" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623455" class="dsq-comment-message">You know, the only revenue model left for newspapers is all those ads on their page. If you won\'t even go to their site at all - ever - that\'s hammering the last nail in the journalism coffin.<br><br>And that won\'t help democracy.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623456">\
	 <div id="dsq-comment-header-9623456" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623456" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623456">anon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623456" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623456" class="dsq-comment-message">"Maybe the folks who treat people like info slaves are the real egotists."<br><br>The company you work for treats people like info slaves.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623457">\
	 <div id="dsq-comment-header-9623457" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623457" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623457" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623457" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623457" class="dsq-comment-message">Larry: it seems that there\'s plenty of new style business out here. Why did AOL buy <a href="http://Weblogsinc.com" rel="nofollow">Weblogsinc.com</a> for $25 million?<br><br>But, thanks for a new argument! Advertising is good for democracy! That\'s a good one.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623458">\
	 <div id="dsq-comment-header-9623458" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623458" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623458" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623458" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623458" class="dsq-comment-message">Anon: &gt;The company you work for treats people like info slaves.<br><br>Howso?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623459">\
	 <div id="dsq-comment-header-9623459" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623459" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623459" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623459" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623459" class="dsq-comment-message">Oh, and Larry: why can\'t we put ads into feeds? I don\'t know of any rule against that.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623460">\
	 <div id="dsq-comment-header-9623460" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623460" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623460" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623460" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623460" class="dsq-comment-message">Um...<i>slaves?</i><br><br>Holy crap, exaagerate much? I know that on my phone, I like partial text feeds, about twenty lines. That lets me decide if I want to see more or blow it off. one line\'s too little, but when it\'s a full text feed, then I have no choice in the matter.<br><br>Full text forces you to be a goose getting stuffed, and you have no choice about it.<br><br>That\'s bad too, by the way.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623461">\
	 <div id="dsq-comment-header-9623461" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623461" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623461" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623461" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623461" class="dsq-comment-message">John: then do both.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623462">\
	 <div id="dsq-comment-header-9623462" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623462" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623462">Brad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623462" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623462" class="dsq-comment-message">"Oh, and Larry: why can’t we put ads into feeds? I don’t know of any rule against that"<br><br>Hmm. Which is worse, the wrath of Scoble or the wrath of Winer?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623463">\
	 <div id="dsq-comment-header-9623463" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623463" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623463">solomonrex</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623463" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623463" class="dsq-comment-message">How do you send people to those other websites?  I don\'t get it.  Yours is the only one I see when I visit.  Certainly, the Google reader doesn\'t show links to other sites?  Is it your static sidebar?  Are you the advertiser here, or are they?<br><br>I think this may demonstrate how inbred web 2.0 is becoming.  No one who isn\'t related can...relate.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623464">\
	 <div id="dsq-comment-header-9623464" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623464" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623464" href="http://www.b5media.com/" target="_blank" rel="nofollow">Jeremy Wright</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623464" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623464" class="dsq-comment-message">As I said earlier this isn\'t a simple issue. Robert, you trying to make it into one (without actually caring about the people you\'re trying to change) is rather amusing.<br><br>Full text feeds with ads have issues. Partial text feeds have issues. Some companies, like weblogs inc, do a full feed but strip all the links out making the feed readers "second class citizens" according to some.<br><br>Why aren\'t you willing to actually talk about this, instead of shoving what you want as gospel?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623465">\
	 <div id="dsq-comment-header-9623465" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623465" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623465" href="http://www.greenjem.com/" target="_blank" rel="nofollow">Larry</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623465" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623465" class="dsq-comment-message">&gt;&gt;Oh, and Larry: why can’t we put ads into feeds? I don’t know of any rule against that.<br><br>Because there is no independant third party that measures the metrics of how many eyeballs view an ad in an RSS feed. If you don\'t know how many people see an ad, there is no way to assign a value to it.  Right now, as we both have previously discussed, there is no way to know how many people see anything in RSS.<br><br>You can\'t sell ads for that.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623466">\
	 <div id="dsq-comment-header-9623466" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623466" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623466" href="http://www.greenjem.com/" target="_blank" rel="nofollow">Larry</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623466" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623466" class="dsq-comment-message">&gt;&gt;Larry: it seems that there’s plenty of new style business out here. Why did AOL buy <a href="http://Weblogsinc.com" rel="nofollow">Weblogsinc.com</a> for $25 million?<br><br><br>If AOL could support a worldwide bureau of reporters and publish an online newspaper, that would be great, but I don\'t see the industry business model for everyone else in that purchase.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623467">\
	 <div id="dsq-comment-header-9623467" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623467" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623467" href="http://lazycoder.com/" target="_blank" rel="nofollow">Scott</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623467" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623467" class="dsq-comment-message">"Why aren’t you willing to actually talk about this, instead of shoving what you want as gospel?"<br><br>Well his title isn\'t "Microsoft Debater", it\'s "Microsoft Evangelist". How many evangelists do you know that are willing to debate the existance of God? ;)<br><br>Black and White is defined by him, it\'s in his title.<br><br><br>Larry: Ever heard of web bugs? They have them in RSS feeds too. It\'s one way you can measure eyeballs on ads in RSS feeds.<br><br><a href="http://www.eff.org/Privacy/Marketing/web_bug.html" rel="nofollow">http://www.eff.org/Privacy/Marketing/web_bug.html</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623468">\
	 <div id="dsq-comment-header-9623468" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623468" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623468" href="http://lazycoder.com/" target="_blank" rel="nofollow">Scott</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623468" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623468" class="dsq-comment-message">Oh, on topic:<br><br>Full text feeds are nice, but you can\'t comment through them. You could write a blog post and trackback to the post, but not everyone respects/uses/allows trackbacks. So if you want to discuss the post with the author, you have to go to the site and post a comment anyway. (assuming they allow comment, most egotistical folk enjoy a one-way conversation. You to them).<br><br>Partial text feeds are ok, provided they give me an informative slug not just the first 200 or so characters. That\'s useless.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623469">\
	 <div id="dsq-comment-header-9623469" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623469" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623469">black_cat</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623469" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623469" class="dsq-comment-message">I did not read through all the comments but I *know* I\'m not the only one wondering where the real Scoble went.  Dude, you\'re sounding more and more like a pompous self-important jackass with these stupid high-school "i\'m-not-linking-to-you" threats.<br><br>Remember, the higher you climb, the harder you fall. And to think I used to really love Scoble\'s down-to-earth\'d-ness.  Yeesh.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623470">\
	 <div id="dsq-comment-header-9623470" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623470" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623470">Christopher Coulter</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623470" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623470" class="dsq-comment-message">If you are going to base a sites worth just on the basis of feeds, that\'s quite shallow.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623471">\
	 <div id="dsq-comment-header-9623471" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623471" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623471" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623471" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623471" class="dsq-comment-message">black_cat:&gt; Dude, you’re sounding more and more like a pompous self-important jackass with these stupid high-school “i’m-not-linking-to-you” threats.<br><br>Heheh! I\'m being told off by someone who won\'t even use his or her real name. What a hoot!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623472">\
	 <div id="dsq-comment-header-9623472" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623472" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623472" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623472" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623472" class="dsq-comment-message">Christopher: I\'m a shallow guy, what can I say? I still read Google News, though. That\'s where we put sites that don\'t have full-text feeds.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623473">\
	 <div id="dsq-comment-header-9623473" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623473" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623473" href="http://www.greenjem.com/" target="_blank" rel="nofollow">Larry</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623473" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623473" class="dsq-comment-message">Thanks Scott. Webbugs aren\'t precise enough when you consider all the variables with RSS, what if images are scraped before display, what about an aggregator that grabs the RSS and feeds to multiple clients.<br><br>When you consider the auditing and due diligence that goes into tracking print circulation, there are really no metrics that match up online, especially for RSS.<br><br>I\'m with you, Robert, don\'t bite my head off, but what you\'re asking is like telling Take Two to give away Grand Theft Auto 8 for free and then make their money by putting an ad in the game.<br><br><br>&gt;&gt;Advertising is good for democracy! That’s a good one.<br><br><br>Something has to support journalism, and ads are about all that is left. Imagine what this (or any other free) country would be like if there were no independant news operations.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623474">\
	 <div id="dsq-comment-header-9623474" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623474" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623474" href="http://www.grannybuttons.com/" target="_blank" rel="nofollow">Andrew Denny</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623474" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623474" class="dsq-comment-message">I reckon none of you commenters have spotted what sparked off Robert\'s ire!  But I reckon I did.<br><br>It was the responder\'s automatic, robotic, non-human reply to his original post. Culminating in the insincere "...Please let me know if you have any questions or concerns", which read like someone in a cubicle had just hit a key marked \'end transmission\'.<br><br>Am I right, Robert?  Certainly it would be enough to get me angry...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623475">\
	 <div id="dsq-comment-header-9623475" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623475" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623475" href="http://www.greenjem.com/" target="_blank" rel="nofollow">Larry</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623475" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623475" class="dsq-comment-message">Geez, I just browsed by (manually) to see some of your vacation pictures and I got shot.<br><br>Still love ya, brother.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623476">\
	 <div id="dsq-comment-header-9623476" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623476" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623476" href="http://www.grannybuttons.com/" target="_blank" rel="nofollow">Andrew Denny</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623476" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623476" class="dsq-comment-message">PS: Robert, please let me know if you have any questions or concerns. :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623477">\
	 <div id="dsq-comment-header-9623477" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623477" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623477" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623477" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623477" class="dsq-comment-message">Larry: the funny thing is that the site owner who sent me the email doesn\'t run a journalistic site.<br><br>The thing is we need to come up with a new business model. Come on, we can do it.<br><br>Remember 1987 when everyone said that the only way to make money is with banner ads? That was proven pretty wrong by those two guys from Stanford.<br><br>There\'s plenty of business models out here that don\'t require treating your users like jerks.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623478">\
	 <div id="dsq-comment-header-9623478" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623478" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623478">Christopher Coulter</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623478" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623478" class="dsq-comment-message">Wow, a ready-to-microwave parody, with some Daniel Waters (\'Heathers\') sprinkles...<br><br><i>No full-text feeds? That\'s downright EVIL INCARNATE. Partial feeds suck losers dry. If you wanna f*ck with the eagles, you have to learn to fly. And err, NewsGator says I have tons of subscribers. None of them for you. Nah. Nah. Nah. Nah. Nah. I’m not going to be your slave today. Nah. Nah. Nah. Nah. Nah. No sirreeeeeeeee. Nah. Nah. Nah. Nah. Nah. I am the most popular blogger around, you can\'t play with me. Nah. Nah. Nah. Nah. Nah. I wanta shoot someone. As the only place different social types can genuinely get along with each other is in heaven.</i></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623479">\
	 <div id="dsq-comment-header-9623479" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623479" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623479" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623479" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623479" class="dsq-comment-message">Christopher: If you would have added one more "nah" you would have totally gotten me. :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623480">\
	 <div id="dsq-comment-header-9623480" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623480" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623480" href="http://www.greenjem.com/" target="_blank" rel="nofollow">Larry</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623480" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623480" class="dsq-comment-message">Again, I\'m with ya. I made the pigrimage to MS last year asking for help. I\'m working on several right now. But those two guys from Stanford are making most of their money through banner ads.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623481">\
	 <div id="dsq-comment-header-9623481" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623481" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623481" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623481" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623481" class="dsq-comment-message">Larry: the other two guys. The ones who started Google. Most of their money comes off of text-ads, not banners.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623482">\
	 <div id="dsq-comment-header-9623482" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623482" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623482" href="http://www.greenjem.com/" target="_blank" rel="nofollow">Larry</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623482" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623482" class="dsq-comment-message">Text, banners, gum, dead pixels, it\'s all junk on my screen.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623484">\
	 <div id="dsq-comment-header-9623484" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623484" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623484" href="http://www.b5media.com/" target="_blank" rel="nofollow">Jeremy Wright</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623484" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623484" class="dsq-comment-message">Scoble, that\'s nit-picking. They still made most of their money of ads. Nobody ever says "my business model is banner ads". They say "my business model is ads".<br><br>If you can come up with a new business model, great. But that\'s not what you asked for in your rant. You asked for publishers to give you everything for nothing.<br><br>Readers, ultimately, have a choice. They can pay for their content with:<br><br>1. Money<br>2. Ads<br>3. Attention<br>4. Information<br>5. Time<br><br>Which, to me, means you either have spend to get ad-free feeds, you have to get ads in your feeds, you have to be willing to click through to a site, you have to be willing to give the comapnies info or you need to be willing to somehow give your time.<br><br>I\'m all for new business models, but you can\'t just say a line like that without copping to something.<br><br>I agree with a previous commenter. This just sounds like you decided to throw a hissy fit at the start and now you\'re trying to spin it in such a way that it\'s intelligent.<br><br>You want a conversation? Fine. Let\'s have a conversation. But why does the conversation have to happen HERE? I feel so SLAVED by having to come to your site just to see if there are updates. This isn\'t a real conversation. It\'s more like leaving post-its on a bulletin board.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623485">\
	 <div id="dsq-comment-header-9623485" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623485" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623485" href="http://www.blogebrity.com/blog/2005/12/streamofconsciousness-alist-parodies.php" target="_blank" rel="nofollow">Heathers</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623485" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623485" class="dsq-comment-message">Christopher Coulter\'s blog <a href="http://globosphere.blogspot.com/" rel="nofollow">http://globosphere.blogspot.com/</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623486">\
	 <div id="dsq-comment-header-9623486" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623486" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623486">Christopher Coulter</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623486" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623486" class="dsq-comment-message"><i>This isn’t a real conversation. It’s more like leaving post-its on a bulletin board.</i><br><br>Wow. Brilliant phrasing. How true.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623487">\
	 <div id="dsq-comment-header-9623487" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623487" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623487" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623487" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623487" class="dsq-comment-message">Jeremy: &gt;Nobody ever says “my business model is banner ads”.<br><br>Um, you don\'t get around too much. Actually they do say that at advertising companies. Quite often, in fact.<br><br>There\'s a big difference between doing TV advertising and doing print advertising or doing outdoor advertising. It\'s all advertising, to be certain, but it is different.<br><br>There\'s a huge difference between user-friendly advertising and those other types (interstitials, banners, etc).<br><br>And, why have the conversation here? Cause I\'m the loudmouth who posted this to start it off.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623488">\
	 <div id="dsq-comment-header-9623488" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623488" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623488">Oran</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623488" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623488" class="dsq-comment-message">I\'m totally with Robert: give me my full-text feed or I\'ll go elsewhere.  My information firehose drinking time is too valuable and limited for me to be wasting some of it making micro-payments to someone\'s advertising engine.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623489">\
	 <div id="dsq-comment-header-9623489" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623489" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623489" href="http://www.b5media.com/" target="_blank" rel="nofollow">Jeremy Wright</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623489" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623489" class="dsq-comment-message">Scoble. I work with many of the ad companies. I was at AdTech. Nobody says "banner ads". Because everyone knows banner ads don\'t work. Nobody really ever said their model was banner ads. I was there too, right in the thick of it, helping run some of the largest sites on the net at the time.<br><br>"There’s a huge difference between user-friendly advertising and those other types (interstitials, banners, etc)."<br><br>Yeah? What is it? I mean, Google\'s now doing animated ads, image ads, banner ads, video ads... How is Google all that different?<br><br>"And, why have the conversation here? Cause I’m the loudmouth who posted this to start it off. "<br><br>*sigh*<br><br>Fine, have it alone. Sometimes conversations require meeting in the middle. You\'ve got a publisher right here talking to you, and you\'re pushing me away. So, fine, I\'ll go away.<br><br>This isn\'t conversation-friendly blogging.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623490">\
	 <div id="dsq-comment-header-9623490" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623490" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623490" href="http://blog.forret.com/" target="_blank" rel="nofollow">Peter Forret</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623490" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623490" class="dsq-comment-message">"You want a conversation? Fine. Let’s have a conversation. But why does the conversation have to happen HERE? I feel so SLAVED by having to come to your site just to see if there are updates. This isn’t a real conversation. It’s more like leaving post-its on a bulletin board."<br><br>Erm ... Jeremy, there\'s Scoble\'s cell phone number and  email addres on this blog. You could, like, call him? It might be the fastest way to discover if you guys can work it out. Of course, we won\'t be able to follow the conversation word by word. We don\'t mind. Talk it over, see if you can agree on something and let us know if it was worth it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623491">\
	 <div id="dsq-comment-header-9623491" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623491" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623491" href="http://www.b5media.com/" target="_blank" rel="nofollow">Jeremy Wright</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623491" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623491" class="dsq-comment-message">Peter, it\'s okay I\'ve got Scoble\'s Skype, MSN, email, cell and work numbers.<br><br>I was trying to be ironic. If Scoble\'s asking for massive change, he needs to be ready to hear why things are the way they are (without prejudice) and he needs to be willing to have a conversation.<br><br>Telling me that he\'s right and the 5 reasons why he\'s right and why all publishers and advertisers are evil (except Google) isn\'t helping the conversation.<br><br>I want to hear if he really wants ads in feeds. What he feels this "new business model" should be based on, from a business perspective. How advertisers / publishers / users needs should balance.<br><br>I asked, and keep asking, because I have the sneaking suspicion this is Scoble in "uber elite mode" where he feels that what frustrates him is exactly what companies should respond to.<br><br>We call this living locally, applying globally. It\'s unhealthy for anyone, but especially someone with a platform.<br><br>With great power comes... What, the ability rant really ineffectively? ;-)<br><br>Besides, I won\'t invade Scoble\'s time to talk about this. I know how busy he is first hand. If this is still an issue when I\'m on campus again in Feb we\'ll talk it out.<br><br>I\'m not actually upset, I just don\'t see the room for discussion in Scoble\'s position.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623492">\
	 <div id="dsq-comment-header-9623492" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623492" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623492" href="http://spaces.msn.com/members/actionmanjr/" target="_blank" rel="nofollow">MonkeyMagic698</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623492" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623492" class="dsq-comment-message">Rock on! Mr Scoble. err ... not sure about that shooting business though ... (thinking smiley goes here)<br><br>ps. you should get some smileys for your blog it may help calm you down a bit. You can never have too many smileys right. :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623493">\
	 <div id="dsq-comment-header-9623493" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623493" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623493" href="http://9mmfilm.com/news" target="_blank" rel="nofollow">frankp</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623493" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623493" class="dsq-comment-message">So full vs partial rages on...<br><br>I publish full feeds, but only because I have nothing to lose. RSS is taking off, but it\'s still not largely understood by the average user. To be charging into \'full feeds are right all the time\' at this point seems a bit strange to me.<br><br>Yes, I want to syndicate my content. But I respect the wishes of those that don\'t. Whether I subscribe to a partial feed will depend on the quality of the content.<br><br>If \'A List Apart\' offered partial feeds, I would take them - gratefully (And not want to shoot them...).<br><br>Of course, I don\'t know who *this* post refers to and perhaps there is no reason for them not to have full feeds; but they obviously believe there is.<br><br>Are we talking Blogs only here or all RSS content...?<br><br>Most blogs at his point are either fluff or self promotional (at some level) - both these purposes have no reason not to publish full feeds...<br><br>The issue here, I guess is mostly monetisation.<br><br>I think an earlier commenter was fair to point out we need research and stats on full vs partial. I think it might show full feeds result in more subscribers and still get click throughs. I think it might also show that partial feeds, though resulting in less subscribers *might* have more targetted audiences and therefore yield greater results.<br><br>If users subscribe to partial feeds it may be because they know it\'s worth it. If they know it\'s worth it it may be because they trust the source. If they trust the source they may be more likely potential customers/consumers/whatever.<br><br>Maybe. We\'ll see.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623494">\
	 <div id="dsq-comment-header-9623494" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623494" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623494" href="http://smallinitiatives.com/" target="_blank" rel="nofollow">Jay Small</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623494" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623494" class="dsq-comment-message">FWIW, I read this post (in full text) via Bloglines, then decided, hell with it, and changed my site\'s feed to full text.<br><br>Yeah, I have an AdSense block on the right side, and yeah, I make tens of cents every month from it, but I\'m willing to sacrifice all that to run a little experiment.<br><br>I know this from my own use of RSS via Bloglines: I probably wind up visiting the sites where full text feeds are offered at least as much as the excerpt-feed sites. So we\'ll see if that holds true for the bottom-feeders who have run out of everything else to do on the Web, including porn, poker and Viagra, and therefore have only my site left to live for. ;-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623495">\
	 <div id="dsq-comment-header-9623495" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623495" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623495" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623495" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623495" class="dsq-comment-message"><i>John: then do both.</i><br><br>Robert, are you paying for that bandwidth? No, you aren\'t. But you are using it. Can you show me any data that shows RSS feed ads have a positive return greater than the cost of the bandwidth used? I mean, you\'re advocating something that most of the RSS users are going to *hate*, you should at least have SOME numbers showing the efficacy of your idea, or a link to such numbers.<br><br>Because otherwise, you\'re kind of trying to use your own sense of grandeur to get your way, and that\'s a bit, oh, I don\'t know, egotisitical?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623496">\
	 <div id="dsq-comment-header-9623496" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623496" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623496" href="http://www.greenjem.com/" target="_blank" rel="nofollow">Larry</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623496" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623496" class="dsq-comment-message">Hey Robert,<br>While you\'ve got this, uh, unharnessed energy thing going on right now, why don\'t you direct it over to the xbox team to find out what the hell ever happened to <a href="http://www.gamespot.com/xbox/action/risk/" rel="nofollow">Risk on the Xbox</a>?<br><br>Someone should swing for dropping that ball. Seriously.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623497">\
	 <div id="dsq-comment-header-9623497" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623497" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623497" href="http://www.b5media.com/" target="_blank" rel="nofollow">Jeremy Wright</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623497" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623497" class="dsq-comment-message">Just to add that, from a publisher standpoint, the biggest argument for partial text feeds is that it drastically reduces the odds that someone\'ll steal your content.<br><br>And, considering that the feed theft industry is set to become a 1B$ one this year, that\'s a pretty big motivation.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623499">\
	 <div id="dsq-comment-header-9623499" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623499" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623499">jamie</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623499" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623499" class="dsq-comment-message">Scoble, when I subscribe to your feeds on <a href="http://live.com" rel="nofollow">live.com</a>, I see only partial extracts of your blog posts. This is different from what I see for <a href="http://engadget.com" rel="nofollow">engadget.com</a> and <a href="http://autoblog.com" rel="nofollow">autoblog.com</a>.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623500">\
	 <div id="dsq-comment-header-9623500" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623500" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623500" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623500" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623500" class="dsq-comment-message">Jamie: I\'ll look into it. I use NewsGator and RSS Bandit and I\'m seeing full-text feeds there.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623501">\
	 <div id="dsq-comment-header-9623501" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623501" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623501" href="http://htchien.blogspot.com/" target="_blank" rel="nofollow">Hsiang-Tai Chien</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623501" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623501" class="dsq-comment-message">So I guess I\'m one of your 18,000 RSS subscribers.<br><br>BTW, I think to use full text should be good to readers.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623502">\
	 <div id="dsq-comment-header-9623502" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623502" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623502">dmad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623502" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623502" class="dsq-comment-message">See, Jeremy, here\'s the problem. Scoble doesn\'t grasp the concept of making money.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623503">\
	 <div id="dsq-comment-header-9623503" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623503" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623503" href="http://blog.macb.net" target="_blank" rel="nofollow">macbeach</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623503" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623503" class="dsq-comment-message">Microsoft treating users as slaves:<br><br><a href="http://www.computerworld.com/blogs/node/1345" rel="nofollow">http://www.computerworld.com/blogs/node/1345</a><br><br>"Why not simply open the standard? Because it would mean Microsoft would lose control of a vital part of their revenue stream - sales of Office. Instead, by proposing the standard to the ISO they give the appearance of being open and honest, while actually retaining the control they currently enjoy."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623504">\
	 <div id="dsq-comment-header-9623504" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623504" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623504" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623504" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623504" class="dsq-comment-message">macbeach: that article has the facts all wrong. Why don\'t you look into what the licensing of the new Office formats are? If you did you\'d be doing more work than this "journalist."<br><br>dmad: tell me how you\'ll make money with advertising if you have no readers? I\'d love to know that one!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623505">\
	 <div id="dsq-comment-header-9623505" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623505" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623505" href="http://meishei.wordpress.com/" target="_blank" rel="nofollow">meishei</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623505" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623505" class="dsq-comment-message">woud you pls open your comments rss feed so i can track the "conversation" more easily. Thank you!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623506">\
	 <div id="dsq-comment-header-9623506" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623506" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623506" href="http://meishei.wordpress.com/" target="_blank" rel="nofollow">meishei</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623506" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623506" class="dsq-comment-message">my bad, you have comment feed here<br><a href="http://scobleizer.wordpress.com/comments/feed/" rel="nofollow">http://scobleizer.wordpress.com/comments/feed/</a><br><br>it\'s just far away from your entires feed.<br><br>sorry for rushing to conclusion</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623507">\
	 <div id="dsq-comment-header-9623507" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623507" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623507" href="http://crueltobekind.org/" target="_blank" rel="nofollow">Nicole Simon</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623507" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623507" class="dsq-comment-message">The solution to content theft is not partials feeds. It will only take them some time to take a feed and fetch the according content from a website.<br><br>If there is a solution, it is more old school approaches like combined efforts as in hurting where the money comes from.<br><br>As in full feeds: if your business modell requires partial feeds and your readers want full feeds, then at least be honest and say you are in there for the money, skip the feed at all and make standard SEO - because that is then what you are after: Visits from the search engines, not blog readers who have different interests than SE-visitors.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623508">\
	 <div id="dsq-comment-header-9623508" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623508" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623508" href="http://cro.alienpants.com/" target="_blank" rel="nofollow">Tom Gordon</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623508" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623508" class="dsq-comment-message">THis came up the other month and I commented on partial evrsus full text then. My contention? The decision to provide full or partial feeds is entirely dependant on what I\'m using RSS for, and who my intended audience is. My commercial games news website only publishes a partial feed - deliberately - as I don\'t want people reading the stories, reviews, articles and other things I publish through that channel via RSS. The RSS feed (which has been available since we launched in 2002) is designed specifically to draw people to the website itself, to introduce them not to the one story theya re reading, but to the wealth of other information contained on the site that is not made available via RSS (even via a partial feed).<br><br>At the same time, my personal weblog where I talk about Identity and other things is availabel as a full-text feed (with RSS ads, if they\'re working properly...) because it is a discussion site, a \'blog\', not a commercial concern.<br><br>More here:<br><a href="http://cro.alienpants.com/index.php/2005/11/28/rss-feeds-full-text-or-partial-text/" rel="nofollow">http://cro.alienpants.com/index.php/2005/11/28/...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623509">\
	 <div id="dsq-comment-header-9623509" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623509" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623509" href="http://dratz.wordpress.com/" target="_blank" rel="nofollow">dratz</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623509" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623509" class="dsq-comment-message">Some people just don\'t get the technology.  Give \'em Hell.  A lot of places still have trouble understanding the real power and appeal of the internet.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623510">\
	 <div id="dsq-comment-header-9623510" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623510" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623510">Brad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623510" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623510" class="dsq-comment-message">I think the the this points out is the difference between power users like scoble and more casual users. Of course partial text feeds are gonna stand out in 700 feeds.<br><br>But I\'d imagine that most folks aren\'t using RSS like Scoble does. As a matter of fact I\'d imagine most folks use them not all that differently than they use their favorites.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623511">\
	 <div id="dsq-comment-header-9623511" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623511" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623511" href="http://www.Lounsbery.com/" target="_blank" rel="nofollow">Walter Lounsbery</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623511" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623511" class="dsq-comment-message">There is a semi-prolific blogger that works a couple of cubes down the aisle from me.  Believe it or not, he only feed the TITLES of his articles!  I gently told him once that I wasn\'t getting much out of his blog that way.<br><br>So now he has to walk down the aisle and tell me when he\'s posted a "good" article.  Justice is served!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623512">\
	 <div id="dsq-comment-header-9623512" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623512" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623512">ben</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623512" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623512" class="dsq-comment-message">Sounds like some hysterical self-important whiner has a very strange idea of what slavery is.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623513">\
	 <div id="dsq-comment-header-9623513" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623513" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623513">Ben K</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623513" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623513" class="dsq-comment-message">Your posts tend to run to ten or fifteen lines or so. Posting a full feed makes sense. Some other blogs (I won\'t mention Autoblog by name) run to pages of text per posting, and sometimes a dozen or more photos. I don\'t want all that in my RSS reader. I find it convenient if a feed has a few lines of detail, and lets me decide if I want to go find out more.<br><br>In the days of paper journalism, you had to write your articles from the top down, because the editor might cut you off when you exceeded the column inches he had available. Something for blogs to consider.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623514">\
	 <div id="dsq-comment-header-9623514" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623514" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623514" href="http://vtymkin.wordpress.com/" target="_blank" rel="nofollow">Vish</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623514" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623514" class="dsq-comment-message">I won\'t pretend to understand a damned thing about RSS but I do admit if anyone needed full text of the crap I post they\'d probably need therapy more...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623515">\
	 <div id="dsq-comment-header-9623515" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623515" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623515" href="http://www.geekzone.co.nz/" target="_blank" rel="nofollow">M Freitas</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623515" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623515" class="dsq-comment-message">I think the reality is that each company can think and act the way they want. I tend to agree with summary instead of full content in feeds for content generators such as blogs or enthusiast sites. Have you seem how many scrapper sites making money of our content there is around? They simply paste the whole feed.<br><br>Now, you saying a company will not get a link from a page you control just because they don\'t provide full feeds... Sorry but I am now removing YOUR feed from my list.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623516">\
	 <div id="dsq-comment-header-9623516" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623516" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623516">Steve</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623516" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623516" class="dsq-comment-message">"What the mainstream media (MSM) lacks, the blogosphere has in spades: energy, momentum, and a growing audience. But what bloggers lack is money -- bloggers have yet to find an efficient way to turn their hard work into revenue … and until they do, blogging will always be a lonely sidelight, vulnerable to dying with the next missed mortgage check."<br><br>Michael S. Malone<br><br>Isn\'t leaving your slavishly derived CGM a fair trade for the attention that your site derives from the other zombie like readers deciding that your comments merit further investigation?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623517">\
	 <div id="dsq-comment-header-9623517" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623517" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623517" href="http://bend.wordpress.com/" target="_blank" rel="nofollow">Ben Dummett</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623517" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623517" class="dsq-comment-message">I checked with my lawyers and they still consider that murder.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623518">\
	 <div id="dsq-comment-header-9623518" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623518" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623518">Doug</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623518" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623518" class="dsq-comment-message">Wasn\'t the whole intention of an RSS feed in the frist place to provide a summary so you could decide wether or not you wanted to load the site to read what was written?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623520">\
	 <div id="dsq-comment-header-9623520" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623520" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623520" href="http://www.thevisionthing.com/" target="_blank" rel="nofollow">Ethan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623520" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623520" class="dsq-comment-message">OK, I\'ll say it, since I didn\'t see this go by in the comment thread:<br><br>I thought you weren\'t reading feeds anymore...? Something something no time something skimming something Memeorandum something?<br><br>What changed?<br><br>(On a side note, I principally offer full-text feeds at TVT, and you managed - historically - to subscribe to the sole partial-text feed. Something upthread about "how hard is it to offer both?" Not hard at all.)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623521">\
	 <div id="dsq-comment-header-9623521" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623521" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623521" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623521" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623521" class="dsq-comment-message">Doug (91): NOOOOOO!!! That absolutely is NOT the reason feeds were invented. Talk to Netscape and Dave Winer about what they were used for. Syndication!!!! IE, redistributing content to where YOU wanted it.<br><br>Ethan: I started reading my feeds again cause I realized I was missing the small things.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623522">\
	 <div id="dsq-comment-header-9623522" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623522" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623522">Doug</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623522" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623522" class="dsq-comment-message">scobelizer, I beg to differ that IS what RSS feeds were originally intended for.<br><br>According to <a href="http://rss-specifications.com" rel="nofollow">rss-specifications.com</a> the very name in its self is its definition:<br><br>"RSS is defined as Really Simple Syndication or Rich Site Summary. RSS files are formed as XML files and are designed to provide content summaries of news, blogs, forums or website content."<br><br>"The feeds are generally simple headlines and brief descriptions if the user is interested they can click to see additional information."<br><br>"Initially rss feeds were intended for news headlines."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623523">\
	 <div id="dsq-comment-header-9623523" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623523" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623523" href="http://www.peterholloway.com/" target="_blank" rel="nofollow">Peter Holloway</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623523" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623523" class="dsq-comment-message">One aspect that doesn\'t seem to have been discussed is what Feed Readers are designed/used for. My understanding was that this was the latest way of getting information from various sources without having the overhead of downloading styling, visiting multiple sites etc. It is for the information hungry consumer.<br><br>Personally excerpted feeds come across as teaser ads, not content - this is not what RSS/Feed Readers was designed for.<br><br>FWIW I don\'t think the small click through revenues warrant forcing people to visit the site in order to read unless the site has a huge readership. For most publishers I believe that your RSS publishing is better seen as developing a recognition of your expertise within your given industry. It\'s more of a marketing tool than a revenue stream.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623524">\
	 <div id="dsq-comment-header-9623524" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623524" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623524">Doug</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623524" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623524" class="dsq-comment-message">Peter you maybe should have read some of the previous posts ,but thanks for furthering what I was saying</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623525">\
	 <div id="dsq-comment-header-9623525" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623525" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623525" href="http://protonix-site.blogspot.com/" target="_blank" rel="nofollow">Anonymous</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623525" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623525" class="dsq-comment-message">Finally i found what i\'ve been looking for!!  Your site!  ;)  Great site, folks!!<br>great graphics...;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623526">\
	 <div id="dsq-comment-header-9623526" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623526" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623526">Kevin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623526" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623526" class="dsq-comment-message">What about membership based sites, where the full text of the article is for members only, and requires login at the main site?<br><br>The teaser text or partial text is simply to let members, and ysers (prospects) know that new content has been posted.  The partial of course includes details as to the gist of the full text.<br><br>Partial feeds make sense to me in this sense.  Am I wrong?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623527">\
	 <div id="dsq-comment-header-9623527" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623527" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623527" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623527" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623527" class="dsq-comment-message">Kevin: I guess but the number of sites that I\'m willing to be a member of to read the content is very very very very small. Are you the New York Times? That\'s about it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623528">\
	 <div id="dsq-comment-header-9623528" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623528" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9623528">Kevin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623528" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623528" class="dsq-comment-message">I am not the Are you the New York Times...  but I am responsible for getting as many members of the company I work for (trade association), which has approx 6000 members, to come back to our web site.  I think partial feeds are just fine in this regard.  Perhaps such feeds are even a "member benefit".  Am I misguided?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623529">\
	 <div id="dsq-comment-header-9623529" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623529" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623529" href="http://amc-theatre.blogspot.com/" target="_blank" rel="nofollow">Anonymous</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623529" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623529" class="dsq-comment-message">Have found everyting I needed on your site.  And already put in my bookmarks <a href=\'http://amc-theatre.blogspot.com\' rel="nofollow">:</a>)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9623530">\
	 <div id="dsq-comment-header-9623530" class="dsq-comment-header">\
	 <cite id="dsq-cite-9623530" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9623530" href="http://hometown.aol.com/oesiru/debt-consolidation.html" target="_blank" rel="nofollow">Kelly</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9623530" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9623530" class="dsq-comment-message">Hi! Nice site!</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=scobleizer&t=can_i_shoot_someone&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 = 'faaf467d0f47abde553c3b8e0e1b3570';
			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);
			}
		}
	});
}

})();




