




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": [{"body": "steal my content, please! (but give attribution)", "author_name": "Panayotis Vryonis", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/04/12/era-of-bloggers-control-is-over/", "id": 1067699, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/424e0be7-9d08-c4c8-e4a7-7d089316534b#e80ef2ee-0a5c-11dd-8d34-003048343a40", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/vrypan/picture?size=large", "author_url": "", "date_created": "1 year ago", "retweets": []}, {"body": "The era when bloggers could control where the discussion of their stuff took place is totally over. On FriendFeed I\u2019m seeing better comments than I see on most blogs (and more quantity too).", "author_name": "Shane", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/04/12/era-of-bloggers-control-is-over/", "id": 1067700, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/006b9f7d-7cd4-483f-a905-35ad7c6af534#44c50bdc-095d-11dd-a97a-003048343a40", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/dragoni/picture?size=large", "author_url": "", "date_created": "1 year ago", "retweets": []}, {"body": "Scoble on the end of the blogger's control era + \"steal my content\"", "author_name": "Nicol\u00f2 Borghi", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/04/12/era-of-bloggers-control-is-over/", "id": 1067701, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/85f9337f-a3be-a199-a5d0-4709692a2741#4d54c85c-0a0f-11dd-90ed-003048343a40", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/nicoloborghi/picture?size=large", "author_url": "", "date_created": "1 year ago", "retweets": []}, {"body": "Blogging heading the way of TV. Defragmentation of comments.", "author_name": "Paul Fabretti", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/04/12/era-of-bloggers-control-is-over/", "id": 1067702, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/5134aa8f-59a8-8579-4535-e0e8bebc4675#78564c34-0b99-11dd-bfd7-003048343a40", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/paulfabretti/picture?size=large", "author_url": "", "date_created": "1 year ago", "retweets": []}, {"body": "I wrote a post some while back that I think has a bearing on this discussion of going where the conversation(s) is - http://www.winextra.com/2007/12/17/selling-that-blog-post/ .. the basic idea being that it is one thing for a blogger to have a killer post that comes as a result of another person's thought or idea but it doesn't mean squat if you don't get out there and sell it .. or in this case add it to the larger conversation", "author_name": "Steven Hodson", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/04/12/era-of-bloggers-control-is-over/", "id": 1067698, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/424e0be7-9d08-c4c8-e4a7-7d089316534b#ad4a465e-0926-11dd-8d34-003048343a40", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/stevenhodson/picture?size=large", "author_url": "", "date_created": "1 year ago", "retweets": []}, {"body": "Why not just have your \"brand\" be your name, and your home be your profile page on Facebook, or any other web service that offers a profile page? FriendFeed for instance? And actually, now that I think of it - most non-bloggers do exactly that.", "author_name": "Jason Kaneshiro", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/04/12/era-of-bloggers-control-is-over/", "id": 1067697, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/424e0be7-9d08-c4c8-e4a7-7d089316534b#da04ad34-0925-11dd-8d34-003048343a40", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/webomatica/picture?size=large", "author_url": "", "date_created": "1 year ago", "retweets": []}, {"body": "Jason, long comments at times do evolve into blog posts. But to me, the blog is the brand. It represents what you do, have interest in, stand for, etc. If you assume blog posts are long comments, then blogs themselves are the individual's centralization for their comments.", "author_name": "Louis Gray", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/04/12/era-of-bloggers-control-is-over/", "id": 1067696, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/424e0be7-9d08-c4c8-e4a7-7d089316534b#dd3da598-0923-11dd-8d34-003048343a40", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/louisgray/picture?size=large", "author_url": "", "date_created": "1 year ago", "retweets": []}, {"body": "Interesting thoughts floating around. Here's one more, just to play devil's advocate. If we're okay with the conversation being anywhere, and even blog posts being freely duplicated and published anywhere, that essentially means blog posts = comments (think how twitter is essentially just that). Therefore: why even have a blog at all? Why not just shut down the blogs? Maybe we have a future where blogs are increasingly pointless as destination sites.", "author_name": "Jason Kaneshiro", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/04/12/era-of-bloggers-control-is-over/", "id": 1067695, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/424e0be7-9d08-c4c8-e4a7-7d089316534b#082959ce-0923-11dd-8d34-003048343a40", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/webomatica/picture?size=large", "author_url": "", "date_created": "1 year ago", "retweets": []}, {"body": "Charlie, if you keep hyping me, I'll start to believe it. Where's Duncan Riley when you need him?", "author_name": "Louis Gray", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/04/12/era-of-bloggers-control-is-over/", "id": 1067694, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/424e0be7-9d08-c4c8-e4a7-7d089316534b#5055f5b4-0913-11dd-8cee-003048343a40", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/louisgray/picture?size=large", "author_url": "", "date_created": "1 year ago", "retweets": []}, {"body": "This stuff will all get tied together one day. I could care less where people discuss my content....just discuss it!", "author_name": "shaun mclane", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/04/12/era-of-bloggers-control-is-over/", "id": 1067693, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/424e0be7-9d08-c4c8-e4a7-7d089316534b#2d670126-0907-11dd-8d34-003048343a40", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/ekday/picture?size=large", "author_url": "", "date_created": "1 year ago", "retweets": []}], "has_more_reactions": true, "users": {"2ebae63df4e1909cd707b6cc62f7cabf": {"username": "Phil Wainewright", "tumblr": "", "display_name": "Phil Wainewright", "url": "http://disqus.com/guest/2ebae63df4e1909cd707b6cc62f7cabf/", "registered": false, "linkedin": "", "blog": "http://blogs.zdnet.com/SAAS/", "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": ""}, "2578f4b5f8d8354d3061aa9837bdebd1": {"username": "whymommy", "tumblr": "", "display_name": "whymommy", "url": "http://disqus.com/guest/2578f4b5f8d8354d3061aa9837bdebd1/", "registered": false, "linkedin": "", "blog": "http://toddlerplanet.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": ""}, "e6e3d9ada1514547b9fec62f3561633f": {"username": "hugh macleod", "tumblr": "", "display_name": "hugh macleod", "url": "http://disqus.com/guest/e6e3d9ada1514547b9fec62f3561633f/", "registered": false, "linkedin": "", "blog": "http://www.gapingvoid.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/18893/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "70a3fa2b5cef1685f96ed038a63af2e4": {"username": "Jerome Paradis", "tumblr": "", "display_name": "Jerome Paradis", "url": "http://disqus.com/guest/70a3fa2b5cef1685f96ed038a63af2e4/", "registered": false, "linkedin": "", "blog": "http://blog.jeromeparadis.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/1468/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "rambn": {"username": "rambn", "tumblr": "", "display_name": "rambn", "url": "http://disqus.com/rambn/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/3/3744/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0519a26e4c4df18fc0309629ea6932a6": {"username": "Tomb", "tumblr": "", "display_name": "Tomb", "url": "http://disqus.com/guest/0519a26e4c4df18fc0309629ea6932a6/", "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": ""}, "25769ac9da72e934b928e636906379c8": {"username": "Sol Young", "tumblr": "", "display_name": "Sol Young", "url": "http://disqus.com/guest/25769ac9da72e934b928e636906379c8/", "registered": false, "linkedin": "", "blog": "http://solyoung.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": ""}, "a050edc46810b2ec88d588f370d3c82d": {"username": "LPH", "tumblr": "", "display_name": "LPH", "url": "http://disqus.com/guest/a050edc46810b2ec88d588f370d3c82d/", "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": ""}, "0e1ff449bdea2d743892bb245376aa06": {"username": "Yakov", "tumblr": "", "display_name": "Yakov", "url": "http://disqus.com/guest/0e1ff449bdea2d743892bb245376aa06/", "registered": false, "linkedin": "", "blog": "http://blog.quintura.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": ""}, "7624be523fe513c3621a03f1b8b0002d": {"username": "Larry Larrikin", "tumblr": "", "display_name": "Larry Larrikin", "url": "http://disqus.com/guest/7624be523fe513c3621a03f1b8b0002d/", "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": ""}, "c660216c96c1b958ac35ef565da27573": {"username": "Robert Accettura", "tumblr": "", "display_name": "Robert Accettura", "url": "http://disqus.com/guest/c660216c96c1b958ac35ef565da27573/", "registered": false, "linkedin": "", "blog": "http://robert.accettura.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/24800/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d7aefb483d40d6bd63ffca20a98e6bea": {"username": "Brian Clark", "tumblr": "", "display_name": "Brian Clark", "url": "http://disqus.com/guest/d7aefb483d40d6bd63ffca20a98e6bea/", "registered": false, "linkedin": "", "blog": "http://www.copyblogger.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/5/961/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "k1v1n": {"username": "k1v1n", "tumblr": "", "display_name": "k1v1n", "url": "http://disqus.com/k1v1n/", "registered": true, "linkedin": "", "blog": "http://blog.k1v1n.com/", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5/6705/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "7cb19373f7b4f85e63e634c47e1d9678": {"username": "Louis Gray", "tumblr": "", "display_name": "Louis Gray", "url": "http://disqus.com/guest/7cb19373f7b4f85e63e634c47e1d9678/", "registered": false, "linkedin": "", "blog": "http://www.louisgray.com/live/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/1715/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "23455bbcf063a425d7ef124c5d958dc5": {"username": "Reda", "tumblr": "", "display_name": "Reda", "url": "http://disqus.com/guest/23455bbcf063a425d7ef124c5d958dc5/", "registered": false, "linkedin": "", "blog": "http://www.reda-ek.com/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": ""}, "whatsnext": {"username": "whatsnext", "tumblr": "", "display_name": "whatsnext", "url": "http://disqus.com/whatsnext/", "registered": true, "linkedin": "", "blog": "http://whatsnextblog.com", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5891/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b145c79380d49a8c0b8b05ebb1fab234": {"username": "David", "tumblr": "", "display_name": "David", "url": "http://disqus.com/guest/b145c79380d49a8c0b8b05ebb1fab234/", "registered": false, "linkedin": "", "blog": "http://www.daivddalka.com/createvalue/", "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": ""}, "036f86ab2a372a297ab5b81f347c5635": {"username": "deannelds", "tumblr": "", "display_name": "deannelds", "url": "http://disqus.com/guest/036f86ab2a372a297ab5b81f347c5635/", "registered": false, "linkedin": "", "blog": "http://www.laraslousylife.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": ""}, "ea5ae47db54d1993df4f63a3abc2d2eb": {"username": "Nicole Simon", "tumblr": "", "display_name": "Nicole Simon", "url": "http://disqus.com/guest/ea5ae47db54d1993df4f63a3abc2d2eb/", "registered": false, "linkedin": "", "blog": "http://crueltobekind.org/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/22/9523/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "Laibcoms": {"username": "Laibcoms", "tumblr": "laibcoms", "display_name": "JC John Sese Cuneta (\u8b1d\u65bd\u6d17)", "url": "http://disqus.com/Laibcoms/", "registered": true, "linkedin": "in/laibcoms", "blog": "http://laibcoms.asia/", "remote_domain": null, "points": 32, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/28108/avatar92.jpg", "delicious": "Laibcoms", "is_remote": false, "verified": true, "flickr": "Laibcoms", "twitter": "", "remote_domain_name": ""}, "a29bfad8b48c4ee7db81632ae3cbd644": {"username": "jdavey", "tumblr": "", "display_name": "jdavey", "url": "http://disqus.com/guest/a29bfad8b48c4ee7db81632ae3cbd644/", "registered": false, "linkedin": "", "blog": "http://nexxgen.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": ""}, "charlieanzman": {"username": "charlieanzman", "tumblr": "", "display_name": "charlieanzman", "url": "http://disqus.com/charlieanzman/", "registered": true, "linkedin": "", "blog": "http://anzman.blogspot.com", "remote_domain": null, "points": 11, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/17760/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "39cfdd8308757777fc63a6203a3f8c37": {"username": "Jose Fajardo", "tumblr": "", "display_name": "Jose Fajardo", "url": "http://disqus.com/guest/39cfdd8308757777fc63a6203a3f8c37/", "registered": false, "linkedin": "", "blog": "http://advertboy.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": ""}, "e8a08b2b2efff7daf0db8e851ab41186": {"username": "Alex Hammer", "tumblr": "", "display_name": "Alex Hammer", "url": "http://disqus.com/guest/e8a08b2b2efff7daf0db8e851ab41186/", "registered": false, "linkedin": "", "blog": "http://techleaders20.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": ""}, "bf58eaec4af0c053dcb58845d23ebd85": {"username": "Del Harris", "tumblr": "", "display_name": "Del Harris", "url": "http://disqus.com/guest/bf58eaec4af0c053dcb58845d23ebd85/", "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": ""}, "9387fda5adbfafed41eae7733d4b9b87": {"username": "Luke Gedeon", "tumblr": "", "display_name": "Luke Gedeon", "url": "http://disqus.com/guest/9387fda5adbfafed41eae7733d4b9b87/", "registered": false, "linkedin": "", "blog": "http://luke.gedeon.name/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/124/3744/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ed4367c49aaa08085b1f3d628417c816": {"username": "Nav", "tumblr": "", "display_name": "Nav", "url": "http://disqus.com/guest/ed4367c49aaa08085b1f3d628417c816/", "registered": false, "linkedin": "", "blog": "http://scrawledinwax.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": ""}, "80c4527143d70cbd6fc95c10f9c1571a": {"username": "greywulf", "tumblr": "", "display_name": "greywulf", "url": "http://disqus.com/guest/80c4527143d70cbd6fc95c10f9c1571a/", "registered": false, "linkedin": "", "blog": "http://greywulf.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": ""}, "bf17228fe729b096a31e158bb96214eb": {"username": "Rachel Luxemburg", "tumblr": "", "display_name": "Rachel Luxemburg", "url": "http://disqus.com/guest/bf17228fe729b096a31e158bb96214eb/", "registered": false, "linkedin": "", "blog": "http://www.rluxemburg.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/9514/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d31b9d01d8b49aed921bba4bc7093d2e": {"username": "Gene&#39;O", "tumblr": "", "display_name": "Gene&#39;O", "url": "http://disqus.com/guest/d31b9d01d8b49aed921bba4bc7093d2e/", "registered": false, "linkedin": "", "blog": "http://geneo.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/26/1310/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "a73f446eaaf56db0aeaa578aa373989b": {"username": "tdonaghe", "tumblr": "", "display_name": "tdonaghe", "url": "http://disqus.com/guest/a73f446eaaf56db0aeaa578aa373989b/", "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": ""}, "062dc006d60bbe1da7f699cc9e3eb6ce": {"username": "sitecharts", "tumblr": "", "display_name": "sitecharts", "url": "http://disqus.com/guest/062dc006d60bbe1da7f699cc9e3eb6ce/", "registered": false, "linkedin": "", "blog": "http://www.sitecharts.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": ""}, "3dd46bf0f4ea623757d1d79a3ebec573": {"username": "chrisbrogan", "tumblr": "", "display_name": "chrisbrogan", "url": "http://disqus.com/guest/3dd46bf0f4ea623757d1d79a3ebec573/", "registered": false, "linkedin": "", "blog": "http://www.chrisbrogan.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": ""}, "34cb3c03a4abefe53d8428dae4cd60a9": {"username": "Peter", "tumblr": "", "display_name": "Peter", "url": "http://disqus.com/guest/34cb3c03a4abefe53d8428dae4cd60a9/", "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": ""}, "8fd45d4648b6d544ac3fb38e72c79057": {"username": "Josh Carr Superstar", "tumblr": "", "display_name": "Josh Carr Superstar", "url": "http://disqus.com/guest/8fd45d4648b6d544ac3fb38e72c79057/", "registered": false, "linkedin": "", "blog": "http://hiphapnin.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": ""}, "3ab4d3a66e470ce10eb7ec812fab3c46": {"username": "Stephen Paul Weber", "tumblr": "", "display_name": "Stephen Paul Weber", "url": "http://disqus.com/guest/3ab4d3a66e470ce10eb7ec812fab3c46/", "registered": false, "linkedin": "", "blog": "http://singpolyma.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b1088dbd877c2d7d33e6b3b63ee38081": {"username": "Prokofy Neva", "tumblr": "", "display_name": "Prokofy Neva", "url": "http://disqus.com/guest/b1088dbd877c2d7d33e6b3b63ee38081/", "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": ""}, "M1ke": {"username": "M1ke", "tumblr": "", "display_name": "M1ke", "url": "http://disqus.com/M1ke/", "registered": true, "linkedin": "", "blog": "http://1webservices.co.uk/", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/17/4673/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "Inferno.M1ke", "twitter": "", "remote_domain_name": ""}, "Sebastian": {"username": "Sebastian", "tumblr": "", "display_name": "Sebastian", "url": "http://disqus.com/Sebastian/", "registered": true, "linkedin": "", "blog": "http://sebmos.at/", "remote_domain": null, "points": 5, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/1623/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "fd3c3ef1d4b893df285973acbeb8b9a4": {"username": "Jay Deragon", "tumblr": "", "display_name": "Jay Deragon", "url": "http://disqus.com/guest/fd3c3ef1d4b893df285973acbeb8b9a4/", "registered": false, "linkedin": "", "blog": "http://www.relationship-economy.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/8/1871/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "a30edaa25b7d6e5da88791f9769e0ac7": {"username": "extra cruem", "tumblr": "", "display_name": "extra cruem", "url": "http://disqus.com/guest/a30edaa25b7d6e5da88791f9769e0ac7/", "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": ""}, "350fdfb42d243dc1dd0fbaf4b2db3493": {"username": "Tony Hung", "tumblr": "", "display_name": "Tony Hung", "url": "http://disqus.com/guest/350fdfb42d243dc1dd0fbaf4b2db3493/", "registered": false, "linkedin": "", "blog": "http://www.deepjiveinterests.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/5792/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b0f22bcbf63dfd43cb761fc432f79338": {"username": "Andrew Baron", "tumblr": "", "display_name": "Andrew Baron", "url": "http://disqus.com/guest/b0f22bcbf63dfd43cb761fc432f79338/", "registered": false, "linkedin": "", "blog": "http://www.rocketboom.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/4582/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "57d5a328f7964c82b0e4565c4862c9bc": {"username": "Joseph &quot;Giuseppe&quot; Zuccaro", "tumblr": "", "display_name": "Joseph &quot;Giuseppe&quot; Zuccaro", "url": "http://disqus.com/guest/57d5a328f7964c82b0e4565c4862c9bc/", "registered": false, "linkedin": "", "blog": "http://www.marketing-consigliere.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/95/6416/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "96380c7e1b61127c836e78a40db4ca78": {"username": "Igor Poltavskiy", "tumblr": "", "display_name": "Igor Poltavskiy", "url": "http://disqus.com/guest/96380c7e1b61127c836e78a40db4ca78/", "registered": false, "linkedin": "", "blog": "http://scabr.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/4/3915/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "brandonwatkins": {"username": "brandonwatkins", "tumblr": "", "display_name": "zDagger", "url": "http://disqus.com/brandonwatkins/", "registered": true, "linkedin": "", "blog": "http://www.twitter.com/zdagger", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/112/3026/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "bb0192e4e92fc0be9c9863f3305946ab": {"username": "aniche", "tumblr": "", "display_name": "aniche", "url": "http://disqus.com/guest/bb0192e4e92fc0be9c9863f3305946ab/", "registered": false, "linkedin": "", "blog": "http://thedailycolumns.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": ""}, "7f6291e8344b594235e57b843fc05d9b": {"username": "Christopher Coulter", "tumblr": "", "display_name": "Christopher Coulter", "url": "http://disqus.com/guest/7f6291e8344b594235e57b843fc05d9b/", "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": ""}, "ea468fd20972b99b0e5f3b466e6f1bde": {"username": "gregory", "tumblr": "", "display_name": "gregory", "url": "http://disqus.com/guest/ea468fd20972b99b0e5f3b466e6f1bde/", "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": ""}, "fd12ac0097eeacf359e45816326b21aa": {"username": "Avatar", "tumblr": "", "display_name": "Avatar", "url": "http://disqus.com/guest/fd12ac0097eeacf359e45816326b21aa/", "registered": false, "linkedin": "", "blog": "http://pownce.com/avatar", "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": ""}, "8696ac0d69703c9b553fe164afa5b6db": {"username": "Carolyn Foote", "tumblr": "", "display_name": "Carolyn Foote", "url": "http://disqus.com/guest/8696ac0d69703c9b553fe164afa5b6db/", "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": ""}, "35e156845af26eb52d00e3531c47c157": {"username": "Ripley", "tumblr": "", "display_name": "Ripley", "url": "http://disqus.com/guest/35e156845af26eb52d00e3531c47c157/", "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": ""}, "d00ed87198c437a2960b205777a6cd2a": {"username": "mytasantiago", "tumblr": "", "display_name": "mytasantiago", "url": "http://disqus.com/guest/d00ed87198c437a2960b205777a6cd2a/", "registered": false, "linkedin": "", "blog": "http://catskullcollector.deviantart.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "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_03:01:24", "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": {"9703603": {"up_voted": false, "ip": "", "has_replies": false, "message": "Weird to write a comment on a blog post about how blogging and commenting on them are both dying.<br><br>I know thats now what the post was really about but I was trying to force some irony.<br><br>The real purpose for this comment is that I think it is funny that the same thing that happened to the regular media people that they didn't take very well is now happening to the new media people and apparently they don't like it either.<br><br>what should we call this content anarchy?<br>Media 3.0?<br>Newer Media?<br>New New Media?<br><br>Migratory Media?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_13:08:37", "killed": false, "user_key": "8fd45d4648b6d544ac3fb38e72c79057", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703604": {"up_voted": false, "ip": "", "has_replies": false, "message": "Louis is probably my second favorite blogger (after Scoble). Mr. Gray is new (in terms of my discovery) but very perceptive and articulate and very informed (well ahead of the curve). Scoble is all of these things as well in my view.<br><br>I agree that the most forward thinking bloggers, and content producers in general, will want their content to be \"stolen\". Not necessarily stolen, but to reach the largest audience. Hoarding is isolationism. It doesn't work in economics, and it doesn't work in blogging. But one's content is one's currency, so such \"pilfering\" must have guidelines. Sharing with attribution is one thing. But if the attribution is missing, at a minimum, then the content creator does not benefit from the wide distribution (someone else does). This is clearly wrong.<br><br>In the future hopefully conversations will continue to evolve. There is no reason that we shouldn't have a device such that we can instantly see and communicate with (across mediums: visual, voice, text, even video) those whom we are \"conversing\". Content then becomes an enabler to comments which becomes an enabler to real interactions. Comments and comment streams are not real interactions (or at the most superficial level), but they could, in the future I hope, really lead to them.<br><br>I'm increasingly hearing the term, but I still don't know what a bitchmeme is. Anybody?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_17:44:12", "killed": false, "user_key": "e8a08b2b2efff7daf0db8e851ab41186", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703605": {"up_voted": false, "ip": "", "has_replies": false, "message": "my brain hurts.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_12:54:35", "killed": false, "user_key": "bb0192e4e92fc0be9c9863f3305946ab", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703606": {"up_voted": false, "ip": "", "has_replies": false, "message": "We new media types love to tell the old media how much they aren't in control anymore. This is a dynamic medium. User generated content, mashups, ect. Why should we expect any less for our own content. But it's getting a little crazy out there. In some ways, Friend Feed is an aggregator of aggregation. Co Comment is the nearest I have seen thus far to keep track of all the different places comments can happen in.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_16:06:16", "killed": false, "user_key": "35e156845af26eb52d00e3531c47c157", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703607": {"up_voted": false, "ip": "", "has_replies": false, "message": "The problem I have is that there's no ability to archive and retain.<br><br>Lets face it.  9/10 companies in this space, like most of Web 2.0 will disappear in the not too distant future.  It's just part of tech.  We saw it in 1.0 as well.  The problem is when they disappear, so does their data.<br><br>I love the fact that I can quickly link to a blog post from 4 years ago and all the comments are still there, and intact.  I'd hate to loose that.<br><br>Web 2.0 is unfortunately modeled around data entrapment.  What sucks is when the VC's decide to pull out, lots of great data disappears forever.  That sucks.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_14:19:19", "killed": false, "user_key": "c660216c96c1b958ac35ef565da27573", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703608": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think you missed the point of Tony's article - he doesn't mind the conversation moving, but the way that sites are monetising content without the author's permission is obviously not a good trend. I know that even Google Reader technically does this, but its very prominent where the sites content has come from and they don't show ads. Whilst anyone can make a site that draws from RSS content its frowned upon by most - by putting the same thing in a \"social\" guise the same thing happens without the condemnation.<br><br>I myself wouldn't be bothered about conversations happening away from my blog, but I'd like to know where they are happening. With things like FriendFeed you and I could both share the same item from a feed on Reader, but the conversations would be different. If the author of the feed had you added but not me then suddenly they miss out on a conversation that they started. This isn't a problem that's new at all, just that the more social sites allow comments on shared items, the more fragmented it gets. Back in the day, I may blog about an article someone else wrote, but I could leave a trackback and any conversation found on my blog could be easily read by the original author.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_11:22:41", "killed": false, "user_key": "M1ke", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year 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}, "9703609": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't make a dime from my daily blogging.  I choose not to.  And while that's a discussion for another day, I don't want other people making money off it either -- but for a different reason.  My content is personal content, words and pictures about my children, and my cancer, and how we're handling it.  When I get blogscraped and my words appear on an ads-only (no original content) blog, that does make me angry.  Absolutely angry.  They have no right to it.<br><br>Friends, though?  They're welcome to any or all of it; all they have to do is ask.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_10:44:24", "killed": false, "user_key": "2578f4b5f8d8354d3061aa9837bdebd1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703610": {"up_voted": false, "ip": "", "has_replies": false, "message": "Steal my content? Not worth bothering, and the time and effort to steal still costs. So even free, isn't.<br><br>Now replace \"content\" with \"gadgets\" or \"furniture\" and we have a deal. ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-14_11:53:01", "killed": false, "user_key": "7f6291e8344b594235e57b843fc05d9b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703611": {"up_voted": false, "ip": "", "has_replies": false, "message": "@Hugh -- thanks. :)<br><br>... but my original post wasn't going off on where conversations are happening.  They happen where they happen and this isn't the place where I'm going to crow about that specifically.<br><br>My beef was that a service was using my content -- all of it -- and was building a service around that.  I almost feel obliged to describe an analogous situation where someone decided to create an online comics site with 100% pilfered comics, but that would be ham handed, inelegant and far too obvious. :)<br><br>I contend that if you're ok with \"content\" being free, you also have to be free with sploggers stealing your content, i.e the \"real\" content scrapers, and the wholesale \"theft\" (if you believe in such things) of your work and have it claimed by others.<br><br>Cheers<br>tony.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_20:24:53", "killed": false, "user_key": "350fdfb42d243dc1dd0fbaf4b2db3493", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703612": {"up_voted": false, "ip": "", "has_replies": false, "message": "why are there not more approaches to allow creators/producers/bloggers/... to monetize their content even if it is popular outside their own walled garden?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-15_19:49:11", "killed": false, "user_key": "062dc006d60bbe1da7f699cc9e3eb6ce", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703613": {"up_voted": false, "ip": "", "has_replies": false, "message": "Like musicians, bloggers are just going to have to deal with change. They need to get creative and come up with new business plans and new ways to monetize. How about selling t-shirts and touring with live spoken-word blog events? haha. suckers!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_14:38:10", "killed": false, "user_key": "7624be523fe513c3621a03f1b8b0002d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703614": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert: This is a complex issue. My content is intellectual property. Beyond the fact that I love blogging, and would not be able to sustain the creation of a top ranked blog for the past six years if I didn't care deeply about it, there are business issues.<br><br>My content already is free. It's free on my blog. And in *MY* RSS feed. And anywhere else i give my permission, through a creative commons license, for it to be free.<br><br>For those of us who have our own businesses, scraper feeds keep our potential clients off our blogs, which serve as a way of demonstrating our expertise in our fields. Many of my clients have come to me through Google and Yahoo searches where my blog posts are often in the top 10 on a given subject because I post  very consistently on emerging media topics over the past many years.<br><br>Scrapers screw up blog search rankings, and that affects our ad revenue. That's a significant sum in my case and for many other independent bloggers.<br><br>Many of us also run Google ads, for which we receive money based on views of the ads. The vast majority of the aggregators are taking that revenue too when they take our content.<br><br>Google, Yahoo, Feedburner, give us something in return for running our content: stats and traffic, and often, ad revenue. Aggregators who are scraping our content also run google ads in order to take advantage of our search optimized blog posts and headlines. They're not giving, they're taking. I call that stealing.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_09:34:04", "killed": false, "user_key": "whatsnext", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year 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}, "9703615": {"up_voted": false, "ip": "", "has_replies": false, "message": "I believe that over time, most of these comments will come back in one way or the other.<br>FriendFeed (for example) creates a situation where comments are outside of the blog, which is uncomfortable for the blogger, because they have more places to check comments for, but better for the user, who can now use an unified interface for all comments.<br>So far, FriendFeed has turned out to be a much better place for comments, because I can subscribe to the people whose opinion I care about (which are friends and \"the A-list\").<br><br>Eventually, I'm certain we'll see most of these comments that are made outside of the blogs come back to the blog somehow. This will most likely happen through comments-widgets like Disqus, which will work with FriendFeed (or their API) to aggregate all the comments.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_09:46:29", "killed": false, "user_key": "Sebastian", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year 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}, "9703616": {"up_voted": false, "ip": "", "has_replies": false, "message": "@JDavey -- wow.  I am going to try really hard not to sound patronizing (I'm failing I know) when I say that monetization is only part of it.<br><br>I'm quite familiar with the \"give it away and reap the later rewards\" idea; on the other hand, I can tell you first hand that Twitter (and I have been Twitted by a few popular people) and Friendfeed *AND* Shyftr traffic (from people who I know who have been \"shyfted\") amount to a hill of beans compared to ...<br><br>... well, almost anything.  Including a Scoble link. :)<br><br>Furthermore, since we're talking broadly, if the person taking your content *doesn't* provide a link back to your site or attribute the fact that you even wrote it, there will be *no* way your blog gets return traffic.<br><br>{note: shyftr actually does both, however}<br><br>Cheers<br>t @ dji", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_09:33:02", "killed": false, "user_key": "350fdfb42d243dc1dd0fbaf4b2db3493", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703617": {"up_voted": false, "ip": "", "has_replies": false, "message": "Good riddance. As tools evolve, so do we. Anyone with a bit of know-how can integrate these comment engines in  one's site and make a richer, more powerful, experience for their visitors.<br><br>Embrace. Do not fear. Evolve.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_00:49:19", "killed": false, "user_key": "25769ac9da72e934b928e636906379c8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703618": {"up_voted": false, "ip": "", "has_replies": false, "message": "For F's sake, of couse LOUIS.  STEAL thoughts?  Control comments?  Than DON'T publish on the web.  Go get copyrighted. Jeez. <a href=\"http://www.laraslousylife.com\" rel=\"nofollow\">www.laraslousylife.com</a>.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-18_09:03:35", "killed": false, "user_key": "036f86ab2a372a297ab5b81f347c5635", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703619": {"up_voted": false, "ip": "", "has_replies": false, "message": "OK, actually I do agree that if people take your comment, then, of course it would be really NICE if they gave you credit.  However, since the world is rarely if ever nice, um, well, can't expect that :(<br>cheers", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-18_09:09:00", "killed": false, "user_key": "036f86ab2a372a297ab5b81f347c5635", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703620": {"up_voted": false, "ip": "", "has_replies": false, "message": "everything existing all at once everywhere is what tech is trending towards<br><br>just like the privacy thing, everyone can know anything about anyone<br><br>omniscience in form is the future", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_09:59:23", "killed": false, "user_key": "ea468fd20972b99b0e5f3b466e6f1bde", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703621": {"up_voted": false, "ip": "", "has_replies": false, "message": "@Greywulf -- sir, you cannot have it both ways.<br><br>Either you allow your content to roam wild and free, or you don't, and place restrictions, albeit how mild, on it because (I presume that) you care how the content you created is being disseminated, you care about the company it keeps, and perhaps, you care about whose pockets its gilding.<br><br>And that's really no different than what other people who care about their content want.<br><br>So if you don't want your stuff being republished on spam sites, then yes sir.<br><br>That \"counts\". :)<br><br>cheers<br>t @ dji", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_09:29:07", "killed": false, "user_key": "350fdfb42d243dc1dd0fbaf4b2db3493", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703622": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think if something is in digital form and has ever appeared on the internet, it's a silly question as to who owns it or \"where\" it should be.<br><br>The internet owns it and it's located across (in possibly many places) the internet.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_15:21:35", "killed": false, "user_key": "a73f446eaaf56db0aeaa578aa373989b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703623": {"up_voted": false, "ip": "", "has_replies": false, "message": "It's high time commenting got separated from blogs -- keeping them in a post-related silo is broken, and good riddance.<br><br>But Tony's point was different -- it's about ownership of the original post content. Shyfter has crossed a line and unless it offers some recompense -- such as a) giving blogs an opt-out right or b) paying blog owners a cut of earnings from traffic generated -- preferably both -- then it's not the solution.<br><br>In the end, this comes down to technology and innovation. Shyftr is one way of doing this but it's not innovative enough. Commenting is going to become more disconnected from blogs and be stronger for it, but no one has yet come up with the best way of achieving this.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_15:47:08", "killed": false, "user_key": "2ebae63df4e1909cd707b6cc62f7cabf", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703624": {"up_voted": false, "ip": "", "has_replies": false, "message": "There is solution to the problem fortunately and i see that solution as the future of participation. lets see if that solution does materializes this year, or until next year.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_17:06:58", "killed": false, "user_key": "fd12ac0097eeacf359e45816326b21aa", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703625": {"up_voted": false, "ip": "", "has_replies": false, "message": "The truth is not that bloggers \"had\" control; the same thing that happened to traditional media (music, publishing in terms of pirating) is merely happening to bloggers too.  This is because bloggers are seen as a source of ideas.  And blogger should not bemoan this - in some sense it's a taste of their own medicine.<br><br>But look at it this way - ideas now have the most powerful channel of communication - the blogosphere - that the world has ever know.  Ideas will flow through the blogosphere, and through the \"Wisdom of Crowds,\" be argued and appended, and the most popular ideas (not necessarily the wisest) will survive.  As ideas spread and reach the \"Long Tail,\" they will permutate into other ideas that fit the needs of each subset in the Long Tail.<br><br>I would also submit that there is a continuum of blogging integrity (for lack of a better phrase), from \"my ideas should not be stolen, and I won't steal yours,\" to \"my ideas and yours are up for grabs.\"  We all fall somewhere along the continuum.  Many bloggers paraphrase things they've read elsewhere without giving credit. But in the end, like  water, which constantly seeks to find its own level, ideas will ultimate trickle out of a container when a hole develops. And that hole was voluntarily posted to the blogosphere by the blogger.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_09:07:08", "killed": false, "user_key": "57d5a328f7964c82b0e4565c4862c9bc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703626": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, this is also because you do have a lot of content which is not high in 'value' as some other content is. You rarely write about topics which are expensive in the sense of people can make money out of it, nor do you have a lot of content which really is 'effort' in the sense of information people cannot get somewhere else.<br><br>A lot of site live of the fact that people visit their site for one reason or another. Take sites like freelancefolder or alike. They live on stumbleupon links / social media links going back to *them* and not to other sites.<br><br>This is not saying that you do not work or have 'not valuable' content, au contrair. just in term of monetizing. I would suggest you have a look at our shared items. What if I take that, rebrand it and sell advertisement to your work without giving you any credit back and such? Sell it for money?<br><br>As much as it annoys me that the tools are splintering up, it is not so much the control I loose in regard of the comments etc, it is more the \"control\" I loose when for example I make a mistake, what to add something whatever - I cannot change the ones who are out there.<br><br>Plus the tools for aggregating the discussion are not coming back to me without effort. I would not mind so much if I had easy tools to SEE that discussion, to be able to work with them without spending my whole day working it.<br><br>Where I draw the line about republishing my content is simple: Unless I get something valuable out of it, I am not okay with it. Especially not when you do get a lot of value out of it. Period.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_09:10:33", "killed": false, "user_key": "ea5ae47db54d1993df4f63a3abc2d2eb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703627": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm firmly with the \"Steal my content\" crowd. If you love something, set it free - and that goes for words, photos, images or whatever.<br><br>Intellectual Property is neither intellectual, nor property. It's a lie wrapped in a fallacy, and deserves to die a quick and painless death.<br><br>I don't mind if people take my content and re-use it. Sure, a credit is nice, but there's also a warm fuzzy feeling that comes from finding one of your images on the side of a bus or wherever. It's like one of your children returning home when that happens.<br><br>The only exception I make is that I don't want anything I write or create to be used for spam purposes. That's an industry I refuse to support in any way, shape or form.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_07:57:26", "killed": false, "user_key": "80c4527143d70cbd6fc95c10f9c1571a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703628": {"up_voted": false, "ip": "", "has_replies": false, "message": "Definitely a big believer in openness and portability when it comes to online discussion.  Those that are worried about fracturing blog comments are way to worried about blog monetization.  They should take a look at what's going on in other spaces and realize that comment fracturing could pay off big time in the end with huge traffic returns from the likes of Friendfeed and Twitter.  In fact, my plan this weekend is to start experimenting with Tumblr which allows no comments at all!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_07:53:03", "killed": false, "user_key": "a29bfad8b48c4ee7db81632ae3cbd644", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703629": {"up_voted": false, "ip": "", "has_replies": false, "message": "@Robert -- actually, what I wrote was that if a service which is going to exist soley on and directly profit from the content of others, it should have the courtesy to ask the permission to repurpose and recopy that content.<br><br>Surely content owners deserve that courtesy at least -- particularly when they've thrown up a creative commons license? (as I have)<br><br>{And it was Frederic over at the LastPodcast<br><a href=\"http://www.lastpodcast.net/2008/04/11/go-ahead-steal-my-content/\" rel=\"nofollow\">http://www.lastpodcast.net/2008/04/11/go-ahead-...</a><br>... who said \"steal my content\".}<br><br>Cheers<br>tony @ dji", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_07:34:19", "killed": false, "user_key": "350fdfb42d243dc1dd0fbaf4b2db3493", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703630": {"up_voted": false, "ip": "", "has_replies": false, "message": "The issue here is more money than commentary. Someone leaving a comment over at Friendfeed versus on a blog is not that big a deal. Someone scraping a blog's entire content and making a bunch of money off it is.<br><br>IMNSHO of course :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_17:51:49", "killed": false, "user_key": "bf17228fe729b096a31e158bb96214eb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703631": {"up_voted": false, "ip": "", "has_replies": false, "message": "@Kevin Gamble<br><br>LMAO - but accurate", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_11:09:29", "killed": false, "user_key": "b145c79380d49a8c0b8b05ebb1fab234", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703632": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree with Rachel.<br><br>If content and comments are shared for conversational purposes, that's okay by me, but if someone is profiting from my writing (and I don't have ads on my own blog so I am not profiting), I'm not so okay with that.<br><br>I do believe what we share comes back to us very often in all sorts of ways, but I do consider that what I write falls more in the category of \"mine\"--maybe I need to put a CC license on the blog to indicate no derivatives ;)<br><br>I'm an educator, so just to think outside the commercial box for a minute--what happens with student blogs.  Is it okay for them to get sucked into these sites?   We want them to be able to be part of the global web and to have readers and to become skilled communicators, but on the other hand, is it all right for their writing to be commercialized, or used by for-profit sites?<br><br><br>And is it any different than if they are using Flickr to share their photos?  Would they see it differently because they're used to sharing on Facebook, etc?<br><br>Just some questions I'm thinking about as I read through the comments.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_09:00:34", "killed": false, "user_key": "8696ac0d69703c9b553fe164afa5b6db", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703633": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, see my comment on Twitter...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_08:03:26", "killed": false, "user_key": "k1v1n", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year 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}, "9703634": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree with Sol Young. Everything's evolving, and so we gotta adapt to our surroundings. That includes the internet. When something's disappeared, we gotta make up by doing something else.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_06:55:39", "killed": false, "user_key": "d00ed87198c437a2960b205777a6cd2a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703635": {"up_voted": false, "ip": "", "has_replies": false, "message": "@Tony Hung sure I can have it both ways. Just as with a conversation, I can choose who I talk but my words can still be free.<br><br>Even though what I produce is free to use, I can still choose who to \"sell\" it to. That's my right. I can can that my content it free to you, and you, and you, but not *you*, because you're a spammer and I don't like your methods.<br><br>So yes, I can have it both ways, and do.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_04:37:35", "killed": false, "user_key": "80c4527143d70cbd6fc95c10f9c1571a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703636": {"up_voted": false, "ip": "", "has_replies": false, "message": "Despite the very obvious paranoia being exhibited by more than a few (on their blogs?!), sharing has way more benefits to all of them than not.<br><br>A couple of these posts already have Louis completely written off. That's just crazy. He's writing some of the best cutting edge commentary around?!<br><br>Understandable that the larger monetized sites are worried. They shouldn't ... and they're probably spending too much time watching the competition, which has proven over time to be a HUGE waste of time.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-15_11:40:59", "killed": false, "user_key": "charlieanzman", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year 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}, "9703637": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"I\u2019ve found that by being open with my content\"<br><br>Careful how you use words like \"open\" - after all, your blog is clearly licensed \"All Rights Reserved\" under the terms of the Berne Convention and the UCC ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-14_14:24:42", "killed": false, "user_key": "3ab4d3a66e470ce10eb7ec812fab3c46", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703638": {"up_voted": false, "ip": "", "has_replies": false, "message": "Traditional media has attempted to controll and contain their messages through distribution channels they control.<br><br>The opposite philosophy is what makes the social web social.  Please steal my thoughts and distribute them and if my thoughts and ideas add value then it will attract others and get distributed by the people and for the people.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-14_06:38:34", "killed": false, "user_key": "fd3c3ef1d4b893df285973acbeb8b9a4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703639": {"up_voted": false, "ip": "", "has_replies": false, "message": "Louis? Or Tony? Scobleizer!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_14:11:07", "killed": false, "user_key": "96380c7e1b61127c836e78a40db4ca78", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703640": {"up_voted": false, "ip": "", "has_replies": false, "message": "Conversation happens wherever two people meet. That was  true, pre-web. It's still true, post-web.<br><br>This kind of discussion reminds me of the late 1990's i.e. \"I know! Let's create a website where people will come by in their tens of thousands and talk about how great our products are!\"<br><br>It sounded foolish then; it sounds foolish now. So I vote more \"Louis\" than \"Tony\". Though I'm sure Tony is a great guy, as well. Rock on.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_14:12:09", "killed": false, "user_key": "e6e3d9ada1514547b9fec62f3561633f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703641": {"up_voted": false, "ip": "", "has_replies": false, "message": "jdavey, I fail to see how anyone can monetarize Twitter, unless they manage to get a third-party site widget that has advertising or VC backing that will also pay writers. Um, can you point to such a successful model?!<br><br>gregory, that's not progress, because no one has the attention to pay in the attention economy to all that everythingness<br><br>Sol Young, go evolve yourself dude. Do you have some other way to pay your salary besides blogging? I personally blog for intellectual interest, not as a paid activity, but I sympathize with those trying to sell ads or trying to build up expertise reputations. I don't see why they should embrace a site like <a href=\"http://yolto.com\" rel=\"nofollow\">yolto.com</a> that sells ads against their content, away from their site, never driving any content back to their site. Why would any reader go back to a site when they have the full article and the discussion in front of them?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_22:54:11", "killed": false, "user_key": "b1088dbd877c2d7d33e6b3b63ee38081", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703642": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wow, anyone heard of creative commons, copyright. If you have the drive to make money off your own copyrighted material, you should put some of it away to protect it. Thats what lawyers are for.<br><br>If anyone has ever encountered the digg effect you can obviously see the benefits of people promoting your material and commenting on it, without them even copying your material. These communities communicate within themselves (thats what makes them communities) and nothing you do will be able to stop that. It's the social aspect of web2.0.<br><br>Instead of maintaining a totalitarian grip of your material, think of how if shared it may be the basis for material tomorrow. Oh, I'm sorry you can't make a buck off that, is that the problem? That you can't get a cut of people making money off your money?<br><br>As far as I have ever seen it, greed stifles innovation, yet never the other way around.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_18:50:57", "killed": false, "user_key": "0519a26e4c4df18fc0309629ea6932a6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703643": {"up_voted": false, "ip": "", "has_replies": false, "message": "FriendFeed should automatically send trackbacks. Bloggers can chose whether/which to display. This is better for everyone.<br>1. Easier to comment within the tool you are in.<br>2. Better and more comments.<br>3. Bloggers can keep up with the conversation they started.<br>4. FriendFeed gets more attention.<br>5. Easy to set-up using existing tech.<br><br>Come to think of it we need this built into RSS readers and twitter.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_20:09:51", "killed": false, "user_key": "9387fda5adbfafed41eae7733d4b9b87", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703644": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm all for content sharing and conversations everywhere! The web should be free and content should be free, that's my whole take on things.<br><br>I write alot of unique content and I create alot of code samples that I'm happy for people to take and use.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_21:26:35", "killed": false, "user_key": "39cfdd8308757777fc63a6203a3f8c37", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703645": {"up_voted": false, "ip": "", "has_replies": false, "message": "I find this pretty reprehensible, Robert. It's easy for you to yammer on about following the conversation blah blah, but blogging is something you just do on top of what you get paid for, which is doing video interviews, finding out stuff about technology, etc. It's a kind of running note-taking, the icing on the cake. So the more you personally can exploit all this virally-spreading stuff, the more your brand is spread to sell your value at your paid job.<br><br>What's destructive for another works for you, so you're willing to bless it.<br><br>For someone who has advertising on their blog, however, or who looks to measure traffic to somehow establish themselves as an authority in their field or community, these aggregator sites are unjust. They don't just link and discuss, they draw traffic away from the original place where the discussion can be the most coherent, where there is already a regular community of commentators.<br><br>This is a lot like the Copybot problem of Second Life. Tekkies sneer at us that it's technically impossible to stop \"if your client has to see it then it can be copied\" (although of course it is stopped in places like World of Warcraft of <a href=\"http://There.com\" rel=\"nofollow\">There.com</a>) and don't bestir themselves to worry about how people can go on making content if their product is snatched out of their hands like this. It's one thing if my work is being commented on a site that does not make money with ads, or is linked, but if it is reprinted in full without revenue-sharing with me, and sells that content to sell its ad, that's unethical.<br><br>Tony Curzon Price on <a href=\"http://opendemocracy.net\" rel=\"nofollow\">opendemocracy.net</a> summarized this problem very beautifully in talking about \"the community of content\" and how he used the CC license to encourage non-commercial use of content, but to get commercial users to pay.<br><br><a href=\"http://www.opendemocracy.net/media_net/people_copyright/reinvention_scarcity\" rel=\"nofollow\">http://www.opendemocracy.net/media_net/people_c...</a><br><br>The site <a href=\"http://yolto.com\" rel=\"nofollow\">yolto.com</a> particularly earned my wrath because they sold ads for game cards and other products by grabbing the full text of my blog and everyone else's, then \"digesting\" them and placing them with what they felt was similar content, then putting a discussion around it -- which in fact they themselvse faked by going around goosing it on blogs and writing it in themselves.<br><br>Half the time when you see \"discussions\" on aggregator sites, can you be sure these are genuine people who came there to make a comment, or flaks from that social media company trying to drive traffic and create the appearance of activity?!<br><br>Basically, what you are saying, is that Big Important IT Guys and Social Media Mavens like yourself get to exploit the exploitability of everybody else for their own advantage, and I'm sorry, that rots.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_22:50:30", "killed": false, "user_key": "b1088dbd877c2d7d33e6b3b63ee38081", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703646": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think you are right, though now the trend will be to bring it all back together.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_14:27:38", "killed": false, "user_key": "b0f22bcbf63dfd43cb761fc432f79338", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703647": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have to take the stance that intellectual property and laws around it need to be upheld strongly.  As Alex Hammer points out, \"one\u2019s content is one\u2019s currency.\"  In an era where information is the most valuable product you can produce, giving away your product (property) is completely foolish.  Owners of distribution channels stand to be the only people who can earn real money if intellectual property has no monetary value.  Providing a distribution channel to multiple information creators was one of the great promises of the Internet, but one that's being destroyed by the idea of free information.  Why do you think Steve Jobs has become such a fan of DRM-free music on iTunes?  If music is free, it only serves to improve the profits in owning the distribution channel. (I'm not defending the DRM methods of iTunes, merely using it as an example for my purposes).  MasterCard and Visa make money by owning the distribution channels of currency.  If your content is free, you're merely providing an opportunity for the owner of a distribution channel to make a lot of money while you make nothing for your most valuable product.  And \"scraping\", as it's being called here, is just the next step in destroying the value of your product until you have no income.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_18:40:49", "killed": false, "user_key": "brandonwatkins", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year 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}, "9703648": {"up_voted": false, "ip": "", "has_replies": false, "message": "I tend to agree with Louis.<br><br>If my mother forwards one of my posts by e-mail, and they have a conversation about it, am I involved? What about verbal conversations? Should those be dictated and recorded for posterity? Technology changes things.<br><br>I first commented on FriendFeed rather than here.<br><br>Do I have an obligation to copy/paste it everywhere I find this conversation? That'd be like posting a comment about Apple stock on every AAPL discussion board across the Web. Redundant and silly. There are different communities!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_13:47:00", "killed": false, "user_key": "7cb19373f7b4f85e63e634c47e1d9678", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703649": {"up_voted": false, "ip": "", "has_replies": false, "message": "welcome to distributed web :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_13:49:06", "killed": false, "user_key": "0e1ff449bdea2d743892bb245376aa06", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703650": {"up_voted": false, "ip": "", "has_replies": false, "message": "To take another viewpoint... should I personally be annoyed that the discussion on this topic (which I, in theory, kicked off) is taking place on Scoble's blog? :-)<br><br>Conversations happen where people have community and shared interests. I can't ask people who follow Scoble to return to the site he's linking to and post there too. It's human nature to want to speak with peers in a comfortable place.<br><br>@Alex Hammer and @Chris Brogan, you're too  kind.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_00:48:29", "killed": false, "user_key": "7cb19373f7b4f85e63e634c47e1d9678", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703651": {"up_voted": false, "ip": "", "has_replies": false, "message": "Bamn! I _knew_ a good idea had to come out of this somehow. The Twitter-like 140-character comment character limit sounds like an idea we should _defi...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-13_00:47:11", "killed": false, "user_key": "34cb3c03a4abefe53d8428dae4cd60a9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703652": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm with Louis. When I write stuff that I don't want stolen, I don't put it on my blog. I save it offline and try and improve it to the point I can sell it. To me the whole point of a blog is that folks can come and snag your ideas. Yeah, links are great, but reading your ideas discussed on another blog is even greater.<br><br>:)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_23:54:23", "killed": false, "user_key": "d31b9d01d8b49aed921bba4bc7093d2e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703653": {"up_voted": false, "ip": "", "has_replies": false, "message": "jesus. I usually don't read the comments. maybe if they were 140 characters or less...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_22:10:59", "killed": false, "user_key": "rambn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year 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}, "9703654": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm not a fan of \"scrape and make money off my stuff,\" but if the larger question is, \"take my stuff all over the place and talk about it, instead of just on my blog,\" that's okay. Except that I won't always see you in my searches, and I won't always know that you've commented.<br><br>For instance, I haven't logged into FriendFeed in 7 days. That means, all the conversations there aren't being commented on by me.<br><br>But then, that's a matter of people choosing to have their conversations about stuff where they want.<br><br>Boy, I'm glad I can say I knew Louis when. : )", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_22:12:27", "killed": false, "user_key": "3dd46bf0f4ea623757d1d79a3ebec573", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703655": {"up_voted": false, "ip": "", "has_replies": false, "message": "A couple thoughts:<br>- This debate post occurs several times a month<br>- Blog gossip is a typical post passed on as news<br>- Press releases are common points of discussions<br>- Rumors about new product releases are common<br><br>From these thoughts I do not see intellectual property. Instead I see these types of posts as extending the water cooler mentality.<br><br>The analogy of the water cooler, though, does not extend far into the blogosphere; that is, if the thought started with someone else then politeness suggests a citation is appropriate. This is not true at the cooler - no one would say \"according to\" but they might say \"I heard.\"<br><br>In the end the individual is left to decide the appropriateness of a citation.<br><br>Just my 2\u00a2", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_22:01:34", "killed": false, "user_key": "a050edc46810b2ec88d588f370d3c82d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703656": {"up_voted": false, "ip": "", "has_replies": false, "message": "i'm going to try hard not to sound like a snob but really, who gives a flying F what's on techmeme? it's moderately useful to see what bloggers are yakking about but it's small potatoes. i'm talking about traffic. it's nada. of course, it's even less useful to me when i see artificial and blatant ploys by certain bloggers - arrington's a prime offender - who put up sensationalist headlines so we'll click, only to discover a couple of paragraphs of pabulum. personally, i prefer twitter to find out what is the hot button issue. you don't find as many fakers there ....at least, not yet.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_21:40:40", "killed": false, "user_key": "bf58eaec4af0c053dcb58845d23ebd85", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703657": {"up_voted": false, "ip": "", "has_replies": false, "message": "Digital=very easy to copy/change/move/paste, so assuming control over digital content is, with no disrespect to anyone, quite naive. It should not be this way but it is, and if you are worried about your content prevention (do not post/share your content) is better than the cure (take legal actions).<br><br>Regarding the topic of this post, I think is all about narcissism and control. The more some corporations find ways to feed your narcissistic ego the more you let go (e.g. look at Flickr).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_20:29:08", "killed": false, "user_key": "23455bbcf063a425d7ef124c5d958dc5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703658": {"up_voted": false, "ip": "", "has_replies": false, "message": "Let me see here... It seems to me no one would have a thing if it hadn't of been picked up elsewhere.  Who is a self-made blogger or writer?  I can see the concerns over selling stuff written by someone else and making money off of it--wholesale copying is plagiarism last I checked--blog or not I am guessing--I am no lawyer, just a moron who blogs.<br><br>Good thoughts as far as I can tell and an interesting topic.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_20:18:48", "killed": false, "user_key": "a30edaa25b7d6e5da88791f9769e0ac7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703659": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble, you're such a narcissist. You're only influential in the tech blogosphere, and these dime-a-dozen feed aps are only relevant to the tech blogosphere. Do you think that the regular folks who the rest of us reach using blog software care about any of this?<br><br>Quit speaking for bloggers in general. You have no clue at all, and no one appointed you spokesperson for anything that actually matters.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_20:14:13", "killed": false, "user_key": "d7aefb483d40d6bd63ffca20a98e6bea", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703660": {"up_voted": false, "ip": "", "has_replies": false, "message": "A bit off-topic, but you could argue that the reason you're seeing 'better comments' on Friendfeed is because, since they come from the Web 2.0 circle je... umm community, they fit your definition of 'better'. The more centralised feed aggregation becomes in the early-adopter geek cirle, the more and more it will turn into the aforementioned circular love-fest. Yes, syndication in all forms - including giving away your content for free - is great. But the dissemination of that content into a more and more specific, elite group isn't going to help anyone but that same elite group.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_19:33:02", "killed": false, "user_key": "ed4367c49aaa08085b1f3d628417c816", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703661": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think this trend might resuscitate the full vs partial feed discussion.<br><br>I understand that someone who blog for a living and has original content might be tempted to implement partial feeds. Discussions could still happen somewhere else, but to get the full article a visit to the ad-supported blog would be a must.<br><br>Or maybe we will see an increase of sponsored feeds?<br><br>I very much prefer the feeds I subscribe to having full content but I understand how it can become problematic for some.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-04-12_19:24:55", "killed": false, "user_key": "70a3fa2b5cef1685f96ed038a63af2e4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year 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}, "9703662": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hmm... \"steal my content\".  I share all my content under CC By-SA 3.0 (and once FDLv3 is out, will also release it under GFDLv3) ^_^", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-05-27_18:22:53", "killed": false, "user_key": "Laibcoms", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year 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": "18348267", "user_id": "anonymous", "forum_id": "125200", "hash": -3680693997140232156}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "era_of_blogger8217s_control_is_over", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18348267, "num_posts": 60, "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=era_of_blogger8217s_control_is_over' +
		'&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/era_of_blogger8217s_control_is_over/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='	+ 'era_of_blogger8217s_control_is_over'
			+ '&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/era_of_blogger8217s_control_is_over/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">60</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/era_of_blogger8217s_control_is_over/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/era_of_blogger8217s_control_is_over/">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/era_of_blogger8217s_control_is_over/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:18348267" 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'				: 'era_of_blogger8217s_control_is_over',
			// 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/era_of_blogger8217s_control_is_over/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='	+ 'era_of_blogger8217s_control_is_over'
			+ '&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='	+ 'era_of_blogger8217s_control_is_over'
			+ '&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='		+ 'era_of_blogger8217s_control_is_over'
				+ '&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/18348267/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-9703629">\
	 <div id="dsq-comment-header-9703629" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703629" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703629" href="http://www.deepjiveinterests.com/" target="_blank" rel="nofollow">Tony Hung</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703629" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703629" class="dsq-comment-message">@Robert -- actually, what I wrote was that if a service which is going to exist soley on and directly profit from the content of others, it should have the courtesy to ask the permission to repurpose and recopy that content.<br><br>Surely content owners deserve that courtesy at least -- particularly when they\'ve thrown up a creative commons license? (as I have)<br><br>{And it was Frederic over at the LastPodcast<br><a href="http://www.lastpodcast.net/2008/04/11/go-ahead-steal-my-content/" rel="nofollow">http://www.lastpodcast.net/2008/04/11/go-ahead-...</a><br>... who said "steal my content".}<br><br>Cheers<br>tony @ dji</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703628">\
	 <div id="dsq-comment-header-9703628" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703628" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703628" href="http://nexxgen.wordpress.com/" target="_blank" rel="nofollow">jdavey</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703628" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703628" class="dsq-comment-message">Definitely a big believer in openness and portability when it comes to online discussion.  Those that are worried about fracturing blog comments are way to worried about blog monetization.  They should take a look at what\'s going on in other spaces and realize that comment fracturing could pay off big time in the end with huge traffic returns from the likes of Friendfeed and Twitter.  In fact, my plan this weekend is to start experimenting with Tumblr which allows no comments at all!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703627">\
	 <div id="dsq-comment-header-9703627" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703627" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703627" href="http://greywulf.wordpress.com/" target="_blank" rel="nofollow">greywulf</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703627" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703627" class="dsq-comment-message">I\'m firmly with the "Steal my content" crowd. If you love something, set it free - and that goes for words, photos, images or whatever.<br><br>Intellectual Property is neither intellectual, nor property. It\'s a lie wrapped in a fallacy, and deserves to die a quick and painless death.<br><br>I don\'t mind if people take my content and re-use it. Sure, a credit is nice, but there\'s also a warm fuzzy feeling that comes from finding one of your images on the side of a bus or wherever. It\'s like one of your children returning home when that happens.<br><br>The only exception I make is that I don\'t want anything I write or create to be used for spam purposes. That\'s an industry I refuse to support in any way, shape or form.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703625">\
	 <div id="dsq-comment-header-9703625" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703625" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703625" href="http://www.marketing-consigliere.com/" target="_blank" rel="nofollow">Joseph &quot;Giuseppe&quot; Zuccaro</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703625" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703625" class="dsq-comment-message">The truth is not that bloggers "had" control; the same thing that happened to traditional media (music, publishing in terms of pirating) is merely happening to bloggers too.  This is because bloggers are seen as a source of ideas.  And blogger should not bemoan this - in some sense it\'s a taste of their own medicine.<br><br>But look at it this way - ideas now have the most powerful channel of communication - the blogosphere - that the world has ever know.  Ideas will flow through the blogosphere, and through the "Wisdom of Crowds," be argued and appended, and the most popular ideas (not necessarily the wisest) will survive.  As ideas spread and reach the "Long Tail," they will permutate into other ideas that fit the needs of each subset in the Long Tail.<br><br>I would also submit that there is a continuum of blogging integrity (for lack of a better phrase), from "my ideas should not be stolen, and I won\'t steal yours," to "my ideas and yours are up for grabs."  We all fall somewhere along the continuum.  Many bloggers paraphrase things they\'ve read elsewhere without giving credit. But in the end, like  water, which constantly seeks to find its own level, ideas will ultimate trickle out of a container when a hole develops. And that hole was voluntarily posted to the blogosphere by the blogger.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703626">\
	 <div id="dsq-comment-header-9703626" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703626" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703626" href="http://crueltobekind.org/" target="_blank" rel="nofollow">Nicole Simon</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703626" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703626" class="dsq-comment-message">Robert, this is also because you do have a lot of content which is not high in \'value\' as some other content is. You rarely write about topics which are expensive in the sense of people can make money out of it, nor do you have a lot of content which really is \'effort\' in the sense of information people cannot get somewhere else.<br><br>A lot of site live of the fact that people visit their site for one reason or another. Take sites like freelancefolder or alike. They live on stumbleupon links / social media links going back to *them* and not to other sites.<br><br>This is not saying that you do not work or have \'not valuable\' content, au contrair. just in term of monetizing. I would suggest you have a look at our shared items. What if I take that, rebrand it and sell advertisement to your work without giving you any credit back and such? Sell it for money?<br><br>As much as it annoys me that the tools are splintering up, it is not so much the control I loose in regard of the comments etc, it is more the "control" I loose when for example I make a mistake, what to add something whatever - I cannot change the ones who are out there.<br><br>Plus the tools for aggregating the discussion are not coming back to me without effort. I would not mind so much if I had easy tools to SEE that discussion, to be able to work with them without spending my whole day working it.<br><br>Where I draw the line about republishing my content is simple: Unless I get something valuable out of it, I am not okay with it. Especially not when you do get a lot of value out of it. Period.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703621">\
	 <div id="dsq-comment-header-9703621" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703621" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703621" href="http://www.deepjiveinterests.com/" target="_blank" rel="nofollow">Tony Hung</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703621" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703621" class="dsq-comment-message">@Greywulf -- sir, you cannot have it both ways.<br><br>Either you allow your content to roam wild and free, or you don\'t, and place restrictions, albeit how mild, on it because (I presume that) you care how the content you created is being disseminated, you care about the company it keeps, and perhaps, you care about whose pockets its gilding.<br><br>And that\'s really no different than what other people who care about their content want.<br><br>So if you don\'t want your stuff being republished on spam sites, then yes sir.<br><br>That "counts". :)<br><br>cheers<br>t @ dji</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703616">\
	 <div id="dsq-comment-header-9703616" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703616" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703616" href="http://www.deepjiveinterests.com/" target="_blank" rel="nofollow">Tony Hung</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703616" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703616" class="dsq-comment-message">@JDavey -- wow.  I am going to try really hard not to sound patronizing (I\'m failing I know) when I say that monetization is only part of it.<br><br>I\'m quite familiar with the "give it away and reap the later rewards" idea; on the other hand, I can tell you first hand that Twitter (and I have been Twitted by a few popular people) and Friendfeed *AND* Shyftr traffic (from people who I know who have been "shyfted") amount to a hill of beans compared to ...<br><br>... well, almost anything.  Including a Scoble link. :)<br><br>Furthermore, since we\'re talking broadly, if the person taking your content *doesn\'t* provide a link back to your site or attribute the fact that you even wrote it, there will be *no* way your blog gets return traffic.<br><br>{note: shyftr actually does both, however}<br><br>Cheers<br>t @ dji</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703614">\
	 <div id="dsq-comment-header-9703614" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703614" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703614" href="http://whatsnextblog.com" target="_blank" rel="nofollow">whatsnext</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703614" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703614" class="dsq-comment-message">Robert: This is a complex issue. My content is intellectual property. Beyond the fact that I love blogging, and would not be able to sustain the creation of a top ranked blog for the past six years if I didn\'t care deeply about it, there are business issues.<br><br>My content already is free. It\'s free on my blog. And in *MY* RSS feed. And anywhere else i give my permission, through a creative commons license, for it to be free.<br><br>For those of us who have our own businesses, scraper feeds keep our potential clients off our blogs, which serve as a way of demonstrating our expertise in our fields. Many of my clients have come to me through Google and Yahoo searches where my blog posts are often in the top 10 on a given subject because I post  very consistently on emerging media topics over the past many years.<br><br>Scrapers screw up blog search rankings, and that affects our ad revenue. That\'s a significant sum in my case and for many other independent bloggers.<br><br>Many of us also run Google ads, for which we receive money based on views of the ads. The vast majority of the aggregators are taking that revenue too when they take our content.<br><br>Google, Yahoo, Feedburner, give us something in return for running our content: stats and traffic, and often, ad revenue. Aggregators who are scraping our content also run google ads in order to take advantage of our search optimized blog posts and headlines. They\'re not giving, they\'re taking. I call that stealing.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703615">\
	 <div id="dsq-comment-header-9703615" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703615" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703615" href="http://sebmos.at/" target="_blank" rel="nofollow">Sebastian</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703615" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703615" class="dsq-comment-message">I believe that over time, most of these comments will come back in one way or the other.<br>FriendFeed (for example) creates a situation where comments are outside of the blog, which is uncomfortable for the blogger, because they have more places to check comments for, but better for the user, who can now use an unified interface for all comments.<br>So far, FriendFeed has turned out to be a much better place for comments, because I can subscribe to the people whose opinion I care about (which are friends and "the A-list").<br><br>Eventually, I\'m certain we\'ll see most of these comments that are made outside of the blogs come back to the blog somehow. This will most likely happen through comments-widgets like Disqus, which will work with FriendFeed (or their API) to aggregate all the comments.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703620">\
	 <div id="dsq-comment-header-9703620" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703620" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703620">gregory</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703620" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703620" class="dsq-comment-message">everything existing all at once everywhere is what tech is trending towards<br><br>just like the privacy thing, everyone can know anything about anyone<br><br>omniscience in form is the future</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703609">\
	 <div id="dsq-comment-header-9703609" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703609" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703609" href="http://toddlerplanet.wordpress.com/" target="_blank" rel="nofollow">whymommy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703609" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703609" class="dsq-comment-message">I don\'t make a dime from my daily blogging.  I choose not to.  And while that\'s a discussion for another day, I don\'t want other people making money off it either -- but for a different reason.  My content is personal content, words and pictures about my children, and my cancer, and how we\'re handling it.  When I get blogscraped and my words appear on an ads-only (no original content) blog, that does make me angry.  Absolutely angry.  They have no right to it.<br><br>Friends, though?  They\'re welcome to any or all of it; all they have to do is ask.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703608">\
	 <div id="dsq-comment-header-9703608" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703608" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703608" href="http://1webservices.co.uk/" target="_blank" rel="nofollow">M1ke</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703608" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703608" class="dsq-comment-message">I think you missed the point of Tony\'s article - he doesn\'t mind the conversation moving, but the way that sites are monetising content without the author\'s permission is obviously not a good trend. I know that even Google Reader technically does this, but its very prominent where the sites content has come from and they don\'t show ads. Whilst anyone can make a site that draws from RSS content its frowned upon by most - by putting the same thing in a "social" guise the same thing happens without the condemnation.<br><br>I myself wouldn\'t be bothered about conversations happening away from my blog, but I\'d like to know where they are happening. With things like FriendFeed you and I could both share the same item from a feed on Reader, but the conversations would be different. If the author of the feed had you added but not me then suddenly they miss out on a conversation that they started. This isn\'t a problem that\'s new at all, just that the more social sites allow comments on shared items, the more fragmented it gets. Back in the day, I may blog about an article someone else wrote, but I could leave a trackback and any conversation found on my blog could be easily read by the original author.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703605">\
	 <div id="dsq-comment-header-9703605" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703605" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703605" href="http://thedailycolumns.wordpress.com/" target="_blank" rel="nofollow">aniche</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703605" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703605" class="dsq-comment-message">my brain hurts.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703603">\
	 <div id="dsq-comment-header-9703603" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703603" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703603" href="http://hiphapnin.com/" target="_blank" rel="nofollow">Josh Carr Superstar</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703603" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703603" class="dsq-comment-message">Weird to write a comment on a blog post about how blogging and commenting on them are both dying.<br><br>I know thats now what the post was really about but I was trying to force some irony.<br><br>The real purpose for this comment is that I think it is funny that the same thing that happened to the regular media people that they didn\'t take very well is now happening to the new media people and apparently they don\'t like it either.<br><br>what should we call this content anarchy?<br>Media 3.0?<br>Newer Media?<br>New New Media?<br><br>Migratory Media?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703648">\
	 <div id="dsq-comment-header-9703648" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703648" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703648" href="http://www.louisgray.com/live/" target="_blank" rel="nofollow">Louis Gray</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703648" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703648" class="dsq-comment-message">I tend to agree with Louis.<br><br>If my mother forwards one of my posts by e-mail, and they have a conversation about it, am I involved? What about verbal conversations? Should those be dictated and recorded for posterity? Technology changes things.<br><br>I first commented on FriendFeed rather than here.<br><br>Do I have an obligation to copy/paste it everywhere I find this conversation? That\'d be like posting a comment about Apple stock on every AAPL discussion board across the Web. Redundant and silly. There are different communities!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703649">\
	 <div id="dsq-comment-header-9703649" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703649" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703649" href="http://blog.quintura.com/" target="_blank" rel="nofollow">Yakov</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703649" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703649" class="dsq-comment-message">welcome to distributed web :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703639">\
	 <div id="dsq-comment-header-9703639" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703639" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703639" href="http://scabr.com/" target="_blank" rel="nofollow">Igor Poltavskiy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703639" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703639" class="dsq-comment-message">Louis? Or Tony? Scobleizer!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703640">\
	 <div id="dsq-comment-header-9703640" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703640" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703640" href="http://www.gapingvoid.com/" target="_blank" rel="nofollow">hugh macleod</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703640" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703640" class="dsq-comment-message">Conversation happens wherever two people meet. That was  true, pre-web. It\'s still true, post-web.<br><br>This kind of discussion reminds me of the late 1990\'s i.e. "I know! Let\'s create a website where people will come by in their tens of thousands and talk about how great our products are!"<br><br>It sounded foolish then; it sounds foolish now. So I vote more "Louis" than "Tony". Though I\'m sure Tony is a great guy, as well. Rock on.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703646">\
	 <div id="dsq-comment-header-9703646" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703646" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703646" href="http://www.rocketboom.com/" target="_blank" rel="nofollow">Andrew Baron</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703646" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703646" class="dsq-comment-message">I think you are right, though now the trend will be to bring it all back together.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703613">\
	 <div id="dsq-comment-header-9703613" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703613" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703613">Larry Larrikin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703613" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703613" class="dsq-comment-message">Like musicians, bloggers are just going to have to deal with change. They need to get creative and come up with new business plans and new ways to monetize. How about selling t-shirts and touring with live spoken-word blog events? haha. suckers!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703622">\
	 <div id="dsq-comment-header-9703622" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703622" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703622">tdonaghe</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703622" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703622" class="dsq-comment-message">I think if something is in digital form and has ever appeared on the internet, it\'s a silly question as to who owns it or "where" it should be.<br><br>The internet owns it and it\'s located across (in possibly many places) the internet.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703623">\
	 <div id="dsq-comment-header-9703623" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703623" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703623" href="http://blogs.zdnet.com/SAAS/" target="_blank" rel="nofollow">Phil Wainewright</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703623" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703623" class="dsq-comment-message">It\'s high time commenting got separated from blogs -- keeping them in a post-related silo is broken, and good riddance.<br><br>But Tony\'s point was different -- it\'s about ownership of the original post content. Shyfter has crossed a line and unless it offers some recompense -- such as a) giving blogs an opt-out right or b) paying blog owners a cut of earnings from traffic generated -- preferably both -- then it\'s not the solution.<br><br>In the end, this comes down to technology and innovation. Shyftr is one way of doing this but it\'s not innovative enough. Commenting is going to become more disconnected from blogs and be stronger for it, but no one has yet come up with the best way of achieving this.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703624">\
	 <div id="dsq-comment-header-9703624" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703624" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703624" href="http://pownce.com/avatar" target="_blank" rel="nofollow">Avatar</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703624" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703624" class="dsq-comment-message">There is solution to the problem fortunately and i see that solution as the future of participation. lets see if that solution does materializes this year, or until next year.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703604">\
	 <div id="dsq-comment-header-9703604" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703604" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703604" href="http://techleaders20.blogspot.com/" target="_blank" rel="nofollow">Alex Hammer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703604" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703604" class="dsq-comment-message">Louis is probably my second favorite blogger (after Scoble). Mr. Gray is new (in terms of my discovery) but very perceptive and articulate and very informed (well ahead of the curve). Scoble is all of these things as well in my view.<br><br>I agree that the most forward thinking bloggers, and content producers in general, will want their content to be "stolen". Not necessarily stolen, but to reach the largest audience. Hoarding is isolationism. It doesn\'t work in economics, and it doesn\'t work in blogging. But one\'s content is one\'s currency, so such "pilfering" must have guidelines. Sharing with attribution is one thing. But if the attribution is missing, at a minimum, then the content creator does not benefit from the wide distribution (someone else does). This is clearly wrong.<br><br>In the future hopefully conversations will continue to evolve. There is no reason that we shouldn\'t have a device such that we can instantly see and communicate with (across mediums: visual, voice, text, even video) those whom we are "conversing". Content then becomes an enabler to comments which becomes an enabler to real interactions. Comments and comment streams are not real interactions (or at the most superficial level), but they could, in the future I hope, really lead to them.<br><br>I\'m increasingly hearing the term, but I still don\'t know what a bitchmeme is. Anybody?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703630">\
	 <div id="dsq-comment-header-9703630" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703630" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703630" href="http://www.rluxemburg.com/" target="_blank" rel="nofollow">Rachel Luxemburg</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703630" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703630" class="dsq-comment-message">The issue here is more money than commentary. Someone leaving a comment over at Friendfeed versus on a blog is not that big a deal. Someone scraping a blog\'s entire content and making a bunch of money off it is.<br><br>IMNSHO of course :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703647">\
	 <div id="dsq-comment-header-9703647" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703647" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703647" href="http://www.twitter.com/zdagger" target="_blank" rel="nofollow">zDagger</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703647" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703647" class="dsq-comment-message">I have to take the stance that intellectual property and laws around it need to be upheld strongly.  As Alex Hammer points out, "one’s content is one’s currency."  In an era where information is the most valuable product you can produce, giving away your product (property) is completely foolish.  Owners of distribution channels stand to be the only people who can earn real money if intellectual property has no monetary value.  Providing a distribution channel to multiple information creators was one of the great promises of the Internet, but one that\'s being destroyed by the idea of free information.  Why do you think Steve Jobs has become such a fan of DRM-free music on iTunes?  If music is free, it only serves to improve the profits in owning the distribution channel. (I\'m not defending the DRM methods of iTunes, merely using it as an example for my purposes).  MasterCard and Visa make money by owning the distribution channels of currency.  If your content is free, you\'re merely providing an opportunity for the owner of a distribution channel to make a lot of money while you make nothing for your most valuable product.  And "scraping", as it\'s being called here, is just the next step in destroying the value of your product until you have no income.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703661">\
	 <div id="dsq-comment-header-9703661" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703661" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703661" href="http://blog.jeromeparadis.com/" target="_blank" rel="nofollow">Jerome Paradis</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703661" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703661" class="dsq-comment-message">I think this trend might resuscitate the full vs partial feed discussion.<br><br>I understand that someone who blog for a living and has original content might be tempted to implement partial feeds. Discussions could still happen somewhere else, but to get the full article a visit to the ad-supported blog would be a must.<br><br>Or maybe we will see an increase of sponsored feeds?<br><br>I very much prefer the feeds I subscribe to having full content but I understand how it can become problematic for some.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703660">\
	 <div id="dsq-comment-header-9703660" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703660" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703660" href="http://scrawledinwax.com/" target="_blank" rel="nofollow">Nav</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703660" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703660" class="dsq-comment-message">A bit off-topic, but you could argue that the reason you\'re seeing \'better comments\' on Friendfeed is because, since they come from the Web 2.0 circle je... umm community, they fit your definition of \'better\'. The more centralised feed aggregation becomes in the early-adopter geek cirle, the more and more it will turn into the aforementioned circular love-fest. Yes, syndication in all forms - including giving away your content for free - is great. But the dissemination of that content into a more and more specific, elite group isn\'t going to help anyone but that same elite group.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703659">\
	 <div id="dsq-comment-header-9703659" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703659" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703659" href="http://www.copyblogger.com/" target="_blank" rel="nofollow">Brian Clark</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703659" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703659" class="dsq-comment-message">Scoble, you\'re such a narcissist. You\'re only influential in the tech blogosphere, and these dime-a-dozen feed aps are only relevant to the tech blogosphere. Do you think that the regular folks who the rest of us reach using blog software care about any of this?<br><br>Quit speaking for bloggers in general. You have no clue at all, and no one appointed you spokesperson for anything that actually matters.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703658">\
	 <div id="dsq-comment-header-9703658" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703658" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703658">extra cruem</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703658" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703658" class="dsq-comment-message">Let me see here... It seems to me no one would have a thing if it hadn\'t of been picked up elsewhere.  Who is a self-made blogger or writer?  I can see the concerns over selling stuff written by someone else and making money off of it--wholesale copying is plagiarism last I checked--blog or not I am guessing--I am no lawyer, just a moron who blogs.<br><br>Good thoughts as far as I can tell and an interesting topic.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703611">\
	 <div id="dsq-comment-header-9703611" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703611" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703611" href="http://www.deepjiveinterests.com/" target="_blank" rel="nofollow">Tony Hung</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703611" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703611" class="dsq-comment-message">@Hugh -- thanks. :)<br><br>... but my original post wasn\'t going off on where conversations are happening.  They happen where they happen and this isn\'t the place where I\'m going to crow about that specifically.<br><br>My beef was that a service was using my content -- all of it -- and was building a service around that.  I almost feel obliged to describe an analogous situation where someone decided to create an online comics site with 100% pilfered comics, but that would be ham handed, inelegant and far too obvious. :)<br><br>I contend that if you\'re ok with "content" being free, you also have to be free with sploggers stealing your content, i.e the "real" content scrapers, and the wholesale "theft" (if you believe in such things) of your work and have it claimed by others.<br><br>Cheers<br>tony.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703657">\
	 <div id="dsq-comment-header-9703657" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703657" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703657" href="http://www.reda-ek.com/blog/" target="_blank" rel="nofollow">Reda</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703657" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703657" class="dsq-comment-message">Digital=very easy to copy/change/move/paste, so assuming control over digital content is, with no disrespect to anyone, quite naive. It should not be this way but it is, and if you are worried about your content prevention (do not post/share your content) is better than the cure (take legal actions).<br><br>Regarding the topic of this post, I think is all about narcissism and control. The more some corporations find ways to feed your narcissistic ego the more you let go (e.g. look at Flickr).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703656">\
	 <div id="dsq-comment-header-9703656" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703656" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703656">Del Harris</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703656" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703656" class="dsq-comment-message">i\'m going to try hard not to sound like a snob but really, who gives a flying F what\'s on techmeme? it\'s moderately useful to see what bloggers are yakking about but it\'s small potatoes. i\'m talking about traffic. it\'s nada. of course, it\'s even less useful to me when i see artificial and blatant ploys by certain bloggers - arrington\'s a prime offender - who put up sensationalist headlines so we\'ll click, only to discover a couple of paragraphs of pabulum. personally, i prefer twitter to find out what is the hot button issue. you don\'t find as many fakers there ....at least, not yet.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703655">\
	 <div id="dsq-comment-header-9703655" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703655" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703655">LPH</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703655" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703655" class="dsq-comment-message">A couple thoughts:<br>- This debate post occurs several times a month<br>- Blog gossip is a typical post passed on as news<br>- Press releases are common points of discussions<br>- Rumors about new product releases are common<br><br>From these thoughts I do not see intellectual property. Instead I see these types of posts as extending the water cooler mentality.<br><br>The analogy of the water cooler, though, does not extend far into the blogosphere; that is, if the thought started with someone else then politeness suggests a citation is appropriate. This is not true at the cooler - no one would say "according to" but they might say "I heard."<br><br>In the end the individual is left to decide the appropriateness of a citation.<br><br>Just my 2¢</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703653">\
	 <div id="dsq-comment-header-9703653" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703653" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703653">rambn</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703653" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703653" class="dsq-comment-message">jesus. I usually don\'t read the comments. maybe if they were 140 characters or less...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703654">\
	 <div id="dsq-comment-header-9703654" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703654" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703654" href="http://www.chrisbrogan.com/" target="_blank" rel="nofollow">chrisbrogan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703654" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703654" class="dsq-comment-message">I\'m not a fan of "scrape and make money off my stuff," but if the larger question is, "take my stuff all over the place and talk about it, instead of just on my blog," that\'s okay. Except that I won\'t always see you in my searches, and I won\'t always know that you\'ve commented.<br><br>For instance, I haven\'t logged into FriendFeed in 7 days. That means, all the conversations there aren\'t being commented on by me.<br><br>But then, that\'s a matter of people choosing to have their conversations about stuff where they want.<br><br>Boy, I\'m glad I can say I knew Louis when. : )</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703652">\
	 <div id="dsq-comment-header-9703652" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703652" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703652" href="http://geneo.wordpress.com/" target="_blank" rel="nofollow">Gene&#39;O</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703652" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703652" class="dsq-comment-message">I\'m with Louis. When I write stuff that I don\'t want stolen, I don\'t put it on my blog. I save it offline and try and improve it to the point I can sell it. To me the whole point of a blog is that folks can come and snag your ideas. Yeah, links are great, but reading your ideas discussed on another blog is even greater.<br><br>:)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703651">\
	 <div id="dsq-comment-header-9703651" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703651" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703651">Peter</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703651" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703651" class="dsq-comment-message">Bamn! I _knew_ a good idea had to come out of this somehow. The Twitter-like 140-character comment character limit sounds like an idea we should _defi...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703650">\
	 <div id="dsq-comment-header-9703650" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703650" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703650" href="http://www.louisgray.com/live/" target="_blank" rel="nofollow">Louis Gray</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703650" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703650" class="dsq-comment-message">To take another viewpoint... should I personally be annoyed that the discussion on this topic (which I, in theory, kicked off) is taking place on Scoble\'s blog? :-)<br><br>Conversations happen where people have community and shared interests. I can\'t ask people who follow Scoble to return to the site he\'s linking to and post there too. It\'s human nature to want to speak with peers in a comfortable place.<br><br>@Alex Hammer and @Chris Brogan, you\'re too  kind.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703617">\
	 <div id="dsq-comment-header-9703617" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703617" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703617" href="http://solyoung.com/" target="_blank" rel="nofollow">Sol Young</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703617" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703617" class="dsq-comment-message">Good riddance. As tools evolve, so do we. Anyone with a bit of know-how can integrate these comment engines in  one\'s site and make a richer, more powerful, experience for their visitors.<br><br>Embrace. Do not fear. Evolve.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703635">\
	 <div id="dsq-comment-header-9703635" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703635" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703635" href="http://greywulf.wordpress.com/" target="_blank" rel="nofollow">greywulf</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703635" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703635" class="dsq-comment-message">@Tony Hung sure I can have it both ways. Just as with a conversation, I can choose who I talk but my words can still be free.<br><br>Even though what I produce is free to use, I can still choose who to "sell" it to. That\'s my right. I can can that my content it free to you, and you, and you, but not *you*, because you\'re a spammer and I don\'t like your methods.<br><br>So yes, I can have it both ways, and do.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703634">\
	 <div id="dsq-comment-header-9703634" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703634" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703634" href="http://catskullcollector.deviantart.com/" target="_blank" rel="nofollow">mytasantiago</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703634" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703634" class="dsq-comment-message">I agree with Sol Young. Everything\'s evolving, and so we gotta adapt to our surroundings. That includes the internet. When something\'s disappeared, we gotta make up by doing something else.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703633">\
	 <div id="dsq-comment-header-9703633" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703633" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703633">k1v1n</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703633" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703633" class="dsq-comment-message">Robert, see my comment on Twitter...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703632">\
	 <div id="dsq-comment-header-9703632" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703632" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703632">Carolyn Foote</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703632" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703632" class="dsq-comment-message">I agree with Rachel.<br><br>If content and comments are shared for conversational purposes, that\'s okay by me, but if someone is profiting from my writing (and I don\'t have ads on my own blog so I am not profiting), I\'m not so okay with that.<br><br>I do believe what we share comes back to us very often in all sorts of ways, but I do consider that what I write falls more in the category of "mine"--maybe I need to put a CC license on the blog to indicate no derivatives ;)<br><br>I\'m an educator, so just to think outside the commercial box for a minute--what happens with student blogs.  Is it okay for them to get sucked into these sites?   We want them to be able to be part of the global web and to have readers and to become skilled communicators, but on the other hand, is it all right for their writing to be commercialized, or used by for-profit sites?<br><br><br>And is it any different than if they are using Flickr to share their photos?  Would they see it differently because they\'re used to sharing on Facebook, etc?<br><br>Just some questions I\'m thinking about as I read through the comments.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703631">\
	 <div id="dsq-comment-header-9703631" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703631" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703631" href="http://www.daivddalka.com/createvalue/" target="_blank" rel="nofollow">David</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703631" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703631" class="dsq-comment-message">@Kevin Gamble<br><br>LMAO - but accurate</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703607">\
	 <div id="dsq-comment-header-9703607" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703607" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703607" href="http://robert.accettura.com/" target="_blank" rel="nofollow">Robert Accettura</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703607" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703607" class="dsq-comment-message">The problem I have is that there\'s no ability to archive and retain.<br><br>Lets face it.  9/10 companies in this space, like most of Web 2.0 will disappear in the not too distant future.  It\'s just part of tech.  We saw it in 1.0 as well.  The problem is when they disappear, so does their data.<br><br>I love the fact that I can quickly link to a blog post from 4 years ago and all the comments are still there, and intact.  I\'d hate to loose that.<br><br>Web 2.0 is unfortunately modeled around data entrapment.  What sucks is when the VC\'s decide to pull out, lots of great data disappears forever.  That sucks.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703606">\
	 <div id="dsq-comment-header-9703606" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703606" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703606">Ripley</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703606" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703606" class="dsq-comment-message">We new media types love to tell the old media how much they aren\'t in control anymore. This is a dynamic medium. User generated content, mashups, ect. Why should we expect any less for our own content. But it\'s getting a little crazy out there. In some ways, Friend Feed is an aggregator of aggregation. Co Comment is the nearest I have seen thus far to keep track of all the different places comments can happen in.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703642">\
	 <div id="dsq-comment-header-9703642" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703642" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703642">Tomb</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703642" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703642" class="dsq-comment-message">Wow, anyone heard of creative commons, copyright. If you have the drive to make money off your own copyrighted material, you should put some of it away to protect it. Thats what lawyers are for.<br><br>If anyone has ever encountered the digg effect you can obviously see the benefits of people promoting your material and commenting on it, without them even copying your material. These communities communicate within themselves (thats what makes them communities) and nothing you do will be able to stop that. It\'s the social aspect of web2.0.<br><br>Instead of maintaining a totalitarian grip of your material, think of how if shared it may be the basis for material tomorrow. Oh, I\'m sorry you can\'t make a buck off that, is that the problem? That you can\'t get a cut of people making money off your money?<br><br>As far as I have ever seen it, greed stifles innovation, yet never the other way around.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703643">\
	 <div id="dsq-comment-header-9703643" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703643" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703643" href="http://luke.gedeon.name/" target="_blank" rel="nofollow">Luke Gedeon</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703643" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703643" class="dsq-comment-message">FriendFeed should automatically send trackbacks. Bloggers can chose whether/which to display. This is better for everyone.<br>1. Easier to comment within the tool you are in.<br>2. Better and more comments.<br>3. Bloggers can keep up with the conversation they started.<br>4. FriendFeed gets more attention.<br>5. Easy to set-up using existing tech.<br><br>Come to think of it we need this built into RSS readers and twitter.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703644">\
	 <div id="dsq-comment-header-9703644" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703644" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703644" href="http://advertboy.wordpress.com/" target="_blank" rel="nofollow">Jose Fajardo</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703644" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703644" class="dsq-comment-message">I\'m all for content sharing and conversations everywhere! The web should be free and content should be free, that\'s my whole take on things.<br><br>I write alot of unique content and I create alot of code samples that I\'m happy for people to take and use.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703645">\
	 <div id="dsq-comment-header-9703645" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703645" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703645">Prokofy Neva</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703645" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703645" class="dsq-comment-message">I find this pretty reprehensible, Robert. It\'s easy for you to yammer on about following the conversation blah blah, but blogging is something you just do on top of what you get paid for, which is doing video interviews, finding out stuff about technology, etc. It\'s a kind of running note-taking, the icing on the cake. So the more you personally can exploit all this virally-spreading stuff, the more your brand is spread to sell your value at your paid job.<br><br>What\'s destructive for another works for you, so you\'re willing to bless it.<br><br>For someone who has advertising on their blog, however, or who looks to measure traffic to somehow establish themselves as an authority in their field or community, these aggregator sites are unjust. They don\'t just link and discuss, they draw traffic away from the original place where the discussion can be the most coherent, where there is already a regular community of commentators.<br><br>This is a lot like the Copybot problem of Second Life. Tekkies sneer at us that it\'s technically impossible to stop "if your client has to see it then it can be copied" (although of course it is stopped in places like World of Warcraft of <a href="http://There.com" rel="nofollow">There.com</a>) and don\'t bestir themselves to worry about how people can go on making content if their product is snatched out of their hands like this. It\'s one thing if my work is being commented on a site that does not make money with ads, or is linked, but if it is reprinted in full without revenue-sharing with me, and sells that content to sell its ad, that\'s unethical.<br><br>Tony Curzon Price on <a href="http://opendemocracy.net" rel="nofollow">opendemocracy.net</a> summarized this problem very beautifully in talking about "the community of content" and how he used the CC license to encourage non-commercial use of content, but to get commercial users to pay.<br><br><a href="http://www.opendemocracy.net/media_net/people_copyright/reinvention_scarcity" rel="nofollow">http://www.opendemocracy.net/media_net/people_c...</a><br><br>The site <a href="http://yolto.com" rel="nofollow">yolto.com</a> particularly earned my wrath because they sold ads for game cards and other products by grabbing the full text of my blog and everyone else\'s, then "digesting" them and placing them with what they felt was similar content, then putting a discussion around it -- which in fact they themselvse faked by going around goosing it on blogs and writing it in themselves.<br><br>Half the time when you see "discussions" on aggregator sites, can you be sure these are genuine people who came there to make a comment, or flaks from that social media company trying to drive traffic and create the appearance of activity?!<br><br>Basically, what you are saying, is that Big Important IT Guys and Social Media Mavens like yourself get to exploit the exploitability of everybody else for their own advantage, and I\'m sorry, that rots.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703641">\
	 <div id="dsq-comment-header-9703641" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703641" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703641">Prokofy Neva</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703641" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703641" class="dsq-comment-message">jdavey, I fail to see how anyone can monetarize Twitter, unless they manage to get a third-party site widget that has advertising or VC backing that will also pay writers. Um, can you point to such a successful model?!<br><br>gregory, that\'s not progress, because no one has the attention to pay in the attention economy to all that everythingness<br><br>Sol Young, go evolve yourself dude. Do you have some other way to pay your salary besides blogging? I personally blog for intellectual interest, not as a paid activity, but I sympathize with those trying to sell ads or trying to build up expertise reputations. I don\'t see why they should embrace a site like <a href="http://yolto.com" rel="nofollow">yolto.com</a> that sells ads against their content, away from their site, never driving any content back to their site. Why would any reader go back to a site when they have the full article and the discussion in front of them?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703638">\
	 <div id="dsq-comment-header-9703638" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703638" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703638" href="http://www.relationship-economy.com/" target="_blank" rel="nofollow">Jay Deragon</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703638" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703638" class="dsq-comment-message">Traditional media has attempted to controll and contain their messages through distribution channels they control.<br><br>The opposite philosophy is what makes the social web social.  Please steal my thoughts and distribute them and if my thoughts and ideas add value then it will attract others and get distributed by the people and for the people.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703610">\
	 <div id="dsq-comment-header-9703610" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703610" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9703610">Christopher Coulter</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703610" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703610" class="dsq-comment-message">Steal my content? Not worth bothering, and the time and effort to steal still costs. So even free, isn\'t.<br><br>Now replace "content" with "gadgets" or "furniture" and we have a deal. ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703637">\
	 <div id="dsq-comment-header-9703637" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703637" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703637" href="http://singpolyma.net/" target="_blank" rel="nofollow">Stephen Paul Weber</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703637" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703637" class="dsq-comment-message">"I’ve found that by being open with my content"<br><br>Careful how you use words like "open" - after all, your blog is clearly licensed "All Rights Reserved" under the terms of the Berne Convention and the UCC ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703636">\
	 <div id="dsq-comment-header-9703636" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703636" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703636" href="http://anzman.blogspot.com" target="_blank" rel="nofollow">charlieanzman</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703636" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703636" class="dsq-comment-message">Despite the very obvious paranoia being exhibited by more than a few (on their blogs?!), sharing has way more benefits to all of them than not.<br><br>A couple of these posts already have Louis completely written off. That\'s just crazy. He\'s writing some of the best cutting edge commentary around?!<br><br>Understandable that the larger monetized sites are worried. They shouldn\'t ... and they\'re probably spending too much time watching the competition, which has proven over time to be a HUGE waste of time.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703612">\
	 <div id="dsq-comment-header-9703612" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703612" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703612" href="http://www.sitecharts.com/" target="_blank" rel="nofollow">sitecharts</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703612" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703612" class="dsq-comment-message">why are there not more approaches to allow creators/producers/bloggers/... to monetize their content even if it is popular outside their own walled garden?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703618">\
	 <div id="dsq-comment-header-9703618" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703618" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703618" href="http://www.laraslousylife.com/" target="_blank" rel="nofollow">deannelds</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703618" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703618" class="dsq-comment-message">For F\'s sake, of couse LOUIS.  STEAL thoughts?  Control comments?  Than DON\'T publish on the web.  Go get copyrighted. Jeez. <a href="http://www.laraslousylife.com" rel="nofollow">www.laraslousylife.com</a>.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703619">\
	 <div id="dsq-comment-header-9703619" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703619" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703619" href="http://www.laraslousylife.com/" target="_blank" rel="nofollow">deannelds</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703619" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703619" class="dsq-comment-message">OK, actually I do agree that if people take your comment, then, of course it would be really NICE if they gave you credit.  However, since the world is rarely if ever nice, um, well, can\'t expect that :(<br>cheers</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9703662">\
	 <div id="dsq-comment-header-9703662" class="dsq-comment-header">\
	 <cite id="dsq-cite-9703662" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9703662" href="http://laibcoms.asia/" target="_blank" rel="nofollow">JC John Sese Cuneta (謝施洗)</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9703662" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9703662" class="dsq-comment-message">Hmm... "steal my content".  I share all my content under CC By-SA 3.0 (and once FDLv3 is out, will also release it under GFDLv3) ^_^</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=era_of_blogger8217s_control_is_over&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);
			}
		}
	});
}

})();




