




if (typeof(disqus_iframe_css) == 'undefined') {
	disqus_iframe_css = '';
}
if (typeof(disqus_def_name) == 'undefined') {
	disqus_def_name = '';
}
if (typeof(disqus_def_email) == 'undefined') {
	disqus_def_email = '';
}
if (typeof(disqus_skip_auth) == 'undefined') {
	disqus_skip_auth = false;
}
if (typeof(disqus_default_text) == 'undefined') {
	disqus_default_text = 'Type your comment here.';
}

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

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

var Dsq = new function() {
	this.container = document.getElementById('dsq-content');
	this.jsonData = {"reactions": [], "has_more_reactions": false, "users": {"a25d305109741d32cf064232a35bd568": {"username": "Larry Borsato", "tumblr": "", "display_name": "Larry Borsato", "url": "http://disqus.com/guest/a25d305109741d32cf064232a35bd568/", "registered": false, "linkedin": "", "blog": "http://larryborsato.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": ""}, "04589837c6a6f90d00668285a980cf3b": {"username": "Curt", "tumblr": "", "display_name": "Curt", "url": "http://disqus.com/guest/04589837c6a6f90d00668285a980cf3b/", "registered": false, "linkedin": "", "blog": "http://morphemetales.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": ""}, "844db5e761eb9626db9f108e72c83793": {"username": "Simon", "tumblr": "", "display_name": "Simon", "url": "http://disqus.com/guest/844db5e761eb9626db9f108e72c83793/", "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": ""}, "9d6d8974c4b9d15a2586b5afd7b52740": {"username": "Zoli Erdos", "tumblr": "", "display_name": "Zoli Erdos", "url": "http://disqus.com/guest/9d6d8974c4b9d15a2586b5afd7b52740/", "registered": false, "linkedin": "", "blog": "http://www.zoliblog.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": ""}, "626c4c1b50d69b437148940c80ea0c4c": {"username": "Rob Palmer", "tumblr": "", "display_name": "Rob Palmer", "url": "http://disqus.com/guest/626c4c1b50d69b437148940c80ea0c4c/", "registered": false, "linkedin": "", "blog": "http://www.freelanceworkexchange.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": ""}, "9be84454c697f2315c0ecff3dad9f015": {"username": "shserver", "tumblr": "", "display_name": "shserver", "url": "http://disqus.com/guest/9be84454c697f2315c0ecff3dad9f015/", "registered": false, "linkedin": "", "blog": "http://www.shserver.ch/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3553f5e0db0fd1ec4e40a932a2d8f5b3": {"username": "scobleizer", "tumblr": "", "display_name": "scobleizer", "url": "http://disqus.com/guest/3553f5e0db0fd1ec4e40a932a2d8f5b3/", "registered": false, "linkedin": "", "blog": "http://scobleizer.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/4069/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c3169e7f4c83e81188794c7f146a6b3e": {"username": "Mark Aufflick", "tumblr": "", "display_name": "Mark Aufflick", "url": "http://disqus.com/guest/c3169e7f4c83e81188794c7f146a6b3e/", "registered": false, "linkedin": "", "blog": "http://mark.aufflick.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": ""}, "70fe121c9172e9882762d7f28f233567": {"username": "Rogers Cadenhead", "tumblr": "", "display_name": "Rogers Cadenhead", "url": "http://disqus.com/guest/70fe121c9172e9882762d7f28f233567/", "registered": false, "linkedin": "", "blog": "http://www.cadenhead.org/workbench/", "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": ""}, "3c6937c2a1bb7745ae050fbe6527e443": {"username": "Regis", "tumblr": "", "display_name": "Regis", "url": "http://disqus.com/guest/3c6937c2a1bb7745ae050fbe6527e443/", "registered": false, "linkedin": "", "blog": "http://www.dungis.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": ""}, "6c4e59e287e83647ffc7885667df3696": {"username": "Paul Montgomery", "tumblr": "", "display_name": "Paul Montgomery", "url": "http://disqus.com/guest/6c4e59e287e83647ffc7885667df3696/", "registered": false, "linkedin": "", "blog": "http://tinfinger.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": ""}, "447c6df31b83d7b3abe864f6fd9de135": {"username": "me", "tumblr": "", "display_name": "me", "url": "http://disqus.com/guest/447c6df31b83d7b3abe864f6fd9de135/", "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": ""}, "a329ba9b39d1912ecd0469e59d443769": {"username": "John Evans (Syntagma)", "tumblr": "", "display_name": "John Evans (Syntagma)", "url": "http://disqus.com/guest/a329ba9b39d1912ecd0469e59d443769/", "registered": false, "linkedin": "", "blog": "http://www.syntagmamedia.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": ""}, "300ecca6ea56a6f94224e42931349142": {"username": "Hilary", "tumblr": "", "display_name": "Hilary", "url": "http://disqus.com/guest/300ecca6ea56a6f94224e42931349142/", "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": ""}, "3f513e2cf340de447da7d12d8497d7bc": {"username": "Richard Brownell", "tumblr": "", "display_name": "Richard Brownell", "url": "http://disqus.com/guest/3f513e2cf340de447da7d12d8497d7bc/", "registered": false, "linkedin": "", "blog": "http://www.richbrownell.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "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": ""}, "a25cf3aac3166d64876da4bf39fac865": {"username": "Dominic Jones", "tumblr": "", "display_name": "Dominic Jones", "url": "http://disqus.com/guest/a25cf3aac3166d64876da4bf39fac865/", "registered": false, "linkedin": "", "blog": "http://irwebreport.blogsome.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": ""}, "d17b2f1c0b567c12903d5eb8a4dd00ea": {"username": "The I&#39;mPerfect Mom", "tumblr": "", "display_name": "The I&#39;mPerfect Mom", "url": "http://disqus.com/guest/d17b2f1c0b567c12903d5eb8a4dd00ea/", "registered": false, "linkedin": "", "blog": "http://jenntai.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": ""}, "be4e7fd208d47dce6697eb579cf3a32f": {"username": "Dan", "tumblr": "", "display_name": "Dan", "url": "http://disqus.com/guest/be4e7fd208d47dce6697eb579cf3a32f/", "registered": false, "linkedin": "", "blog": "http://www.p0mi.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": ""}, "b40148da9f73336eacef6ffb8942b583": {"username": "david zotter", "tumblr": "", "display_name": "david zotter", "url": "http://disqus.com/guest/b40148da9f73336eacef6ffb8942b583/", "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": ""}, "5bd6e86daf74582e3f756a1603dcfc0f": {"username": "nuvaslacker", "tumblr": "", "display_name": "nuvaslacker", "url": "http://disqus.com/guest/5bd6e86daf74582e3f756a1603dcfc0f/", "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": ""}, "0510d88cc9c42fd729b2d61a173d9c44": {"username": "Brandon Paddock", "tumblr": "", "display_name": "Brandon Paddock", "url": "http://disqus.com/guest/0510d88cc9c42fd729b2d61a173d9c44/", "registered": false, "linkedin": "", "blog": "http://www.brandonlive.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": ""}, "84feeea95f41ca63d53906296464370e": {"username": "Gianni Catalfamo", "tumblr": "", "display_name": "Gianni Catalfamo", "url": "http://disqus.com/guest/84feeea95f41ca63d53906296464370e/", "registered": false, "linkedin": "", "blog": "http://www.pleon.it/web/blogs/geektalk.nsf/dx/2803200616.58.20GCAKKH.htm", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "02ac79b9b2373a4788ae9311d19c4fb1": {"username": "Ethan", "tumblr": "", "display_name": "Ethan", "url": "http://disqus.com/guest/02ac79b9b2373a4788ae9311d19c4fb1/", "registered": false, "linkedin": "", "blog": "", "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": ""}, "32e384d3facb00b422e3ae19c77495c7": {"username": "lifetech", "tumblr": "", "display_name": "lifetech", "url": "http://disqus.com/guest/32e384d3facb00b422e3ae19c77495c7/", "registered": false, "linkedin": "", "blog": "http://lifetech.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": ""}, "c489355ab8af522634fdef64206a3954": {"username": "Dmad", "tumblr": "", "display_name": "Dmad", "url": "http://disqus.com/guest/c489355ab8af522634fdef64206a3954/", "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": ""}, "71bdadce75d856a59c4c1af10c970075": {"username": "Mr. Sun", "tumblr": "", "display_name": "Mr. Sun", "url": "http://disqus.com/guest/71bdadce75d856a59c4c1af10c970075/", "registered": false, "linkedin": "", "blog": "http://sunandfun.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": ""}, "c2cb359ff3ec0e0eb4426089e179ce3f": {"username": "Kevin Burton", "tumblr": "", "display_name": "Kevin Burton", "url": "http://disqus.com/guest/c2cb359ff3ec0e0eb4426089e179ce3f/", "registered": false, "linkedin": "", "blog": "http://tailrank.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": ""}, "423deebec77032651e9a927cf20ee1df": {"username": "Dekks Herton", "tumblr": "", "display_name": "Dekks Herton", "url": "http://disqus.com/guest/423deebec77032651e9a927cf20ee1df/", "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": ""}, "bab1c98e59348c4d907f2887fbd17eb4": {"username": "Mark Johnson", "tumblr": "", "display_name": "Mark Johnson", "url": "http://disqus.com/guest/bab1c98e59348c4d907f2887fbd17eb4/", "registered": false, "linkedin": "", "blog": "http://ipioneer.typepad.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "36385c8f19a92a18b2a467d245d08593": {"username": "Ben Hollis", "tumblr": "", "display_name": "Ben Hollis", "url": "http://disqus.com/guest/36385c8f19a92a18b2a467d245d08593/", "registered": false, "linkedin": "", "blog": "http://brh.numbera.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": ""}, "2d571f1484b09d9081e20399fb6869f4": {"username": "Dave Fourputt", "tumblr": "", "display_name": "Dave Fourputt", "url": "http://disqus.com/guest/2d571f1484b09d9081e20399fb6869f4/", "registered": false, "linkedin": "", "blog": "http://lqblog.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": ""}, "aa23f282433367fb8204d03967c0932d": {"username": "Gabe", "tumblr": "", "display_name": "Gabe", "url": "http://disqus.com/guest/aa23f282433367fb8204d03967c0932d/", "registered": false, "linkedin": "", "blog": "http://tech.memeorandum.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": ""}, "20646fbea4f73f57ca8ba76dc6e77959": {"username": "pb", "tumblr": "", "display_name": "pb", "url": "http://disqus.com/guest/20646fbea4f73f57ca8ba76dc6e77959/", "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": ""}, "30a93bc390dbfe85ddf90f18419c784e": {"username": "Porucznik Borewicznxv", "tumblr": "", "display_name": "Porucznik Borewicznxv", "url": "http://disqus.com/guest/30a93bc390dbfe85ddf90f18419c784e/", "registered": false, "linkedin": "", "blog": "http://niemachujanamariolke.com/nxv", "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": ""}, "17689853767151aea4babf959df73939": {"username": "Lance Dutson", "tumblr": "", "display_name": "Lance Dutson", "url": "http://disqus.com/guest/17689853767151aea4babf959df73939/", "registered": false, "linkedin": "", "blog": "http://www.mainewebreport.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "422187df3c45655b0dc2ae5de0710b27": {"username": "John C. Welch", "tumblr": "", "display_name": "John C. Welch", "url": "http://disqus.com/guest/422187df3c45655b0dc2ae5de0710b27/", "registered": false, "linkedin": "", "blog": "http://www.bynkii.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "473c52cd1e3b2b4d558f328fa2fb049a": {"username": "webci", "tumblr": "", "display_name": "webci", "url": "http://disqus.com/guest/473c52cd1e3b2b4d558f328fa2fb049a/", "registered": false, "linkedin": "", "blog": "http://www.chattr.de/", "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": ""}, "865deb2d4b440a8d849f5f6f09f35c37": {"username": "billg", "tumblr": "", "display_name": "billg", "url": "http://disqus.com/guest/865deb2d4b440a8d849f5f6f09f35c37/", "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": ""}, "120f6678dc7990a340d3ad465602bfd3": {"username": "John Dowdell", "tumblr": "", "display_name": "John Dowdell", "url": "http://disqus.com/guest/120f6678dc7990a340d3ad465602bfd3/", "registered": false, "linkedin": "", "blog": "http://weblogs.macromedia.com/jd", "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": ""}, "8fbd1902c9d786dd42a39d3e081ff778": {"username": "Ian Betteridge", "tumblr": "", "display_name": "Ian Betteridge", "url": "http://disqus.com/guest/8fbd1902c9d786dd42a39d3e081ff778/", "registered": false, "linkedin": "", "blog": "http://technovia.typepad.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "a3e1dfcb5950eab3cab0f571cf13ee71": {"username": "Sriram Krishnan", "tumblr": "", "display_name": "Sriram Krishnan", "url": "http://disqus.com/guest/a3e1dfcb5950eab3cab0f571cf13ee71/", "registered": false, "linkedin": "", "blog": "http://blogs.msdn.com/sriram", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8f8ff21a67437febebc70afd19364e95": {"username": "J. Random Poster", "tumblr": "", "display_name": "J. Random Poster", "url": "http://disqus.com/guest/8f8ff21a67437febebc70afd19364e95/", "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": ""}, "dba9deebd401367b9184dec7862ae04a": {"username": "Dave", "tumblr": "", "display_name": "Dave", "url": "http://disqus.com/guest/dba9deebd401367b9184dec7862ae04a/", "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": ""}, "8bc49e3c61beaa4a6d40d6aa36c461f8": {"username": "Oscar", "tumblr": "", "display_name": "Oscar", "url": "http://disqus.com/guest/8bc49e3c61beaa4a6d40d6aa36c461f8/", "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": ""}, "29e7ec5ef50f487710a42d48a0447ee0": {"username": "Todd Jordan", "tumblr": "", "display_name": "Todd Jordan", "url": "http://disqus.com/guest/29e7ec5ef50f487710a42d48a0447ee0/", "registered": false, "linkedin": "", "blog": "http://tojosan.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/5/6813/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8d567dc3ced0b0a773a03a988374c5e2": {"username": "Martin", "tumblr": "", "display_name": "Martin", "url": "http://disqus.com/guest/8d567dc3ced0b0a773a03a988374c5e2/", "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": ""}, "ebc97caed618854b40b207a99f47f066": {"username": "Stephen E. Arnold", "tumblr": "", "display_name": "Stephen E. Arnold", "url": "http://disqus.com/guest/ebc97caed618854b40b207a99f47f066/", "registered": false, "linkedin": "", "blog": "http://www.arnoldit.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": ""}, "e26dca815d22c7b9817db40d4d44df8c": {"username": "Ricky", "tumblr": "", "display_name": "Ricky", "url": "http://disqus.com/guest/e26dca815d22c7b9817db40d4d44df8c/", "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": ""}, "956fff805c5296852559d9332ce6d10e": {"username": "chat bloggers", "tumblr": "", "display_name": "chat bloggers", "url": "http://disqus.com/guest/956fff805c5296852559d9332ce6d10e/", "registered": false, "linkedin": "", "blog": "http://www.bloggingmsnchat.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": ""}, "afb1d884dea5fedbc7084bc25fc36c37": {"username": "Stef Wisniewski", "tumblr": "", "display_name": "Stef Wisniewski", "url": "http://disqus.com/guest/afb1d884dea5fedbc7084bc25fc36c37/", "registered": false, "linkedin": "", "blog": "http://www.vizio.com.au/", "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_04:27:16", "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": {"9635456": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well, I guess all the information we got to ultimately bring down Richard Nixon was not credible because it came from an \"anonymous\" person that refused to give his name.  Man! Luckily Woodward and Bernstein weren't as apoplectic as you are.  Imagine if every journalist took the position you did, Scoble, and chose not to listen to people who refused to identify themselves?<br><br>I guess the book \"Primary Colors\" should have never been intially published, either.<br><br>I now know where NOT to send my kids to study journalism if they want to.<br><br>I guess we should start ignorning mini-microsoft.  Few know who he is, or even if he currently works for Microsoft.  Can we assume you've unsubcribed to him (her?), Scoble?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_19:58:06", "killed": false, "user_key": "c489355ab8af522634fdef64206a3954", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635457": {"up_voted": false, "ip": "", "has_replies": false, "message": "@44: Don't you have the guts to trackback in English?! How can anyone understand what you are saying?<br><br>(That would be sarcasm, folks.)<br><br>All I will say about this thread is this: I recently asked \"The Head Lemur\" to provide me with his blogging pedigree. I was kidding when I did this. The lashing out at \"Ricky\" above shows that I was about 14 days +/- ahead of the curve.<br><br>Papers, please.<br><br>(Nevermind this comment, by the way, as it is \"unsigned\".)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_20:23:03", "killed": false, "user_key": "02ac79b9b2373a4788ae9311d19c4fb1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635458": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey Robert...<br><br>The nofollow rel attribute would actually be fine for this.  I'm not sure if Memeorandum supports it.<br><br>The problem I have with it is that within comments it might be nice to follow a nofollow attribute.<br><br>I've blogged about this in the past:<br><br><a href=\"http://www.feedblog.org/2005/08/nofollow_consid.html\" rel=\"nofollow\">http://www.feedblog.org/2005/08/nofollow_consid...</a><br><br>\"At the time it really bothered me since while it would in fact punish spammers it would also publish bloggers since legitimate links wouldn't be included within ranking algorithms (which yielded to nofollow). The problem was that at lot of people went storming through the gate with their support for nofollow.\"<br><br><br>...... I have a better idea though.  Maybe we could have a central repository for bloggers so that thhey can link to an MSM site and note how reputable it is.<br><br>I've had problems with MSM rags in the past (including the print version of Wired (not the online one)) so I can feel your pain.<br><br>Onward!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_20:46:16", "killed": false, "user_key": "c2cb359ff3ec0e0eb4426089e179ce3f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635459": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dmad: Mini Microsoft is NOT anonymous. I know at least one person, Jay Greene at Business Week, who knows who he is and has verified he works at Microsoft. That's already FAR MORE information than I know about you.<br><br>Also, go back and study the Watergate era. I did in journalism school. They held the story for weeks because they couldn't verify it with a second source.<br><br>Getting a second source, particularly when it's an anonymous one, is tantamount to keeping credibility and ensuring you aren't being used to hoodwink your readers.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_21:17:34", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635460": {"up_voted": false, "ip": "", "has_replies": false, "message": "Actually, if you link to the memeorandum permalink instead of to the article itself, you impart no Google/memeorandum juice to the article, send no direct traffic to the article, and still get your post associated with the article on memeorandum!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_21:22:20", "killed": false, "user_key": "aa23f282433367fb8204d03967c0932d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635461": {"up_voted": false, "ip": "", "has_replies": false, "message": "Gabe, good to know!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_21:27:55", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635462": {"up_voted": false, "ip": "", "has_replies": false, "message": "I posted this on Dominic's blog. I was talking to a bunch of other internal folks and we cannot believe that people are actually taking this story seriously. Sheesh!<br><br>I dont understand why Scoble or Microsoft has to 'prove' it. For example, let me make a random accusation off the top of my head here. I'm going to say that using Mac OS X has hidden back doors put in by a terrorist organization. And my source. I'm going to say that my source is an 'anonymous' insider inside Apple.<br><br>Now, who needs to prove/disprove this claim? Does Steve Jobs  need to come out and say Apple is not hand-in-glove with the Al-Qaeda? Or does he need to sue me?<br><br>I hope you see where I'm going with this - the burden of proof is always on the accuser.Just like I need to prove this nonsensical claim about Apple, so does David Richards. A past as in 'Fleet Street' does not proof make.<br><br>In this specific case, this 60% thing is a nonsensical statement. You've already seen blog posts from Larry Osterman, Scoble and the XBox team talking about how false it is. What more proof do you want? Code diffs for the next 4 months?<br><br>Vista is 10s of millions of lines of code and is a few months away from shipping. Knowing our internal processes, I expect all teams to be really locked down now and focussing on stabilizing the operating system. Rewriting 60% is not possible if we want to ship this decade.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_22:22:44", "killed": false, "user_key": "a3e1dfcb5950eab3cab0f571cf13ee71", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635463": {"up_voted": false, "ip": "", "has_replies": false, "message": "48.  But in the end they went with the one \"anonymous\"source, right?   Really, man, the ad-hominem  comments are really childish.<br><br>Whether you know me or not, does that take away from discussing the value of getting Brian Valentine on Channel 9 to discuss the current state of Vista?  Having worked with Brian years ago during some early adopter programs, I can tell you, (as I'm sure you know), he can be quite entertaining, as well as honest and up front. Again, just a suggestion.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_22:43:45", "killed": false, "user_key": "c489355ab8af522634fdef64206a3954", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635464": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey Robert-<br><br>I don't have first hand knowledge of whether Vista needs 0.6%, 6%, or 60% of the source code rewritten.<br><br>Is it possible that they can rewrite 60% of such a bloated OS by January 07?  Okay, probably not.<br><br>Is it possible that 60% *should* be rewritten (or better tested)?  Yes, without question.<br><br><br>I hope you guys get the next generation right!  People hate dealing with Microsoft bugs\u2026especially with products that they don\u2019t love.<br><br>-E. David Zotter", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_22:48:38", "killed": false, "user_key": "b40148da9f73336eacef6ffb8942b583", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635465": {"up_voted": false, "ip": "", "has_replies": false, "message": "Actually Robert you are promoting censorship of bloggers when you say this:<br><blockquote><i>But, we should now start deriding people who link to non-credible sources. I will. </i></blockquote><br><br>It would seem that you are trying to suppress ideas or expression by threatening bloggers who link to non-credible sources (as defined by you).<br><br>It's a free country, and people have every right to link to whatever they want, and to suggest otherwise is to censor them. It doesn't matter if what they link to is true or not; they have every right to make fools of themselves (i.e. even the Ku Klux Klan has the right to free speech).<br><br>People lacking in common sense will believe whatever they want to. Threatening them only reflects badly on you.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_22:48:41", "killed": false, "user_key": "a25d305109741d32cf064232a35bd568", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635466": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sriram, I posted this in reply to your comments and questions:<br><br>The onus to prove the story is on the writer. That's a heavy burden, and partly why we generally attach credibility to what journalists do.<br><br>The company doesn't have to prove anything. It simply has to deny or correct the facts in the story.<br><br>In this case, it has not denied -- officially -- that up to 60% of the Vista code needs to be rewritten.<br><br>Yes, individual employees have denied and made very logical arguments why this story is wrong and not credible. But individuals are not speaking on behalf of Microsoft. If they get it wrong, the company itself is not accountable for these individual employees' statements unless they are officers or official spokespersons on behalf of officers. Last time I checked, bloggers are not designated officers or spokespersons for the company.<br><br>What I and people like <a href=\"http://www.nevillehobson.com/2006/03/25/fud-surrounds-vista/\" rel=\"nofollow\">Neville Hobson</a> are saying is \"kill this thing now by getting out an official company statement.\" Preferably that statement will tell us how much of the code is broken and how much needs to be fixed.<br><br>But there has been no official statement or denial. Add to this the fact that Microsoft's PR people spun the delay of Vista as a kind of good news story, the company's credibility is vulnerable.<br><br>Scoble going off half-cocked and calling people \"slimebags\" and liars and \"jerks\" and dismissing the real experience of a real journalist, without being specific about what the real story is, has not helped things for MSFT.<br><br>Then, importantly, he calls for his followers to form a blogophere guardian angels patrol to weed out the \"non-credible journalists...\"<br><br>Sorry, that's going too far. He said lets deride those we don't like.<br><br>Instead, we should deride those who suggest that it is acceptable to deride those we don't like.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_23:00:25", "killed": false, "user_key": "a25cf3aac3166d64876da4bf39fac865", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635467": {"up_voted": false, "ip": "", "has_replies": false, "message": "When you don't link to something you are criticizing, you're punishing your audience. It also implies some doubt about what you're writing, as if you don't want your readers to look at the source and decide for themselves.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_23:16:38", "killed": false, "user_key": "70fe121c9172e9882762d7f28f233567", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635468": {"up_voted": false, "ip": "", "has_replies": false, "message": "re: the repeated Woodward &amp; Bernstein analogies, folks here are still assuming they got Truth from WaPo. I'm not sure... I was exposed to the evidence from Hougan, Colodny and Gettlin in the late 80s and have been distressed since that these legit questions have flown beneath the radar of \"professional news\" reporting.<br><br>Main takeaway: Let's not assume that what we know is all there is, okay?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_00:30:14", "killed": false, "user_key": "120f6678dc7990a340d3ad465602bfd3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635469": {"up_voted": false, "ip": "", "has_replies": false, "message": "#45 Dmad:<br><br>Woodward and Bernstein's source for their reports that brought down Richard Nixon was the infamous \"Deep Throat\", who was only \"anonymous\" to us outsiders, but all along, both Woodward &amp; Bernstein knew who he was -- one W. Mark Felt, an FBI high-ranking officer, whose identity was revealed in 2005.<br><br>Deep Throat on Wikipedia -- <a href=\"http://en.wikipedia.org/wiki/Deep_Throat_%2528Watergate%2529\" rel=\"nofollow\">http://en.wikipedia.org/wiki/Deep_Throat_%28Wat...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_01:27:16", "killed": false, "user_key": "71bdadce75d856a59c4c1af10c970075", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635470": {"up_voted": false, "ip": "", "has_replies": false, "message": "Orlowski is nothing but a lower-budget Dvorak.  Don't expect anything close to credible reporting from him, and you won't be disappointed.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_04:08:07", "killed": false, "user_key": "8f8ff21a67437febebc70afd19364e95", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635471": {"up_voted": false, "ip": "", "has_replies": false, "message": "Who the hell is Robert Scoble?  Looks like some at-ass loser...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_04:17:06", "killed": false, "user_key": "447c6df31b83d7b3abe864f6fd9de135", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635472": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>I see MS is still a major banner-ad sponsor of The Register.<br><br>Clearly, you have nothing to do with where the marketing budget is spent. But there can't be any harm in giving your opinion to those with the purse strings.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_07:11:08", "killed": false, "user_key": "844db5e761eb9626db9f108e72c83793", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635473": {"up_voted": false, "ip": "", "has_replies": false, "message": "Simon: the problem is that they have an audience of tech users who have money. To NOT advertise to that audience would be irresponsible. Unfortunately as long as people want to read this kind of \"journalism\" (and I use that word lightly) then we'll need to be there advertising.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_10:54:29", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635474": {"up_voted": false, "ip": "", "has_replies": false, "message": "The only part of the Register that is definitely, absolutely, literally true is BOFH.<br><br>All else is windy wittering.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_10:56:01", "killed": false, "user_key": "5bd6e86daf74582e3f756a1603dcfc0f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635475": {"up_voted": false, "ip": "", "has_replies": false, "message": "I like The Register. You know it's trashy, but trashy news makes money because people like it!<br><br>Surely people don't really believe everything they read in a news site whose tagline is \"Biting the hand that feeds IT\" and who hosts the BOFH? Some people will, sure, but then some people probably believe what they read in The Onion.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_12:00:43", "killed": false, "user_key": "c3169e7f4c83e81188794c7f146a6b3e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635476": {"up_voted": false, "ip": "", "has_replies": false, "message": "I find your frequent use of \"Here's a hint\" very condescending.  If you want to say something just say it, don't hint around it like we're idiots.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_12:48:09", "killed": false, "user_key": "be4e7fd208d47dce6697eb579cf3a32f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635477": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dan: here's a hint: it's something I picked up in usenet and newsgroup discussions. I'll try to delete it from my vocabulary, but sometimes I like being condescending. It's better than kicking a dog.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_13:14:17", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635478": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think this is very very rich coming from someone who works for a company that feeds wheelbarrow loads of dung to the press on a daily basis. Microsoft has no credibility whatsoever. Now you're whingeing about people that don't tell the truth, the whole truth and nothing but the truth? MS has been convicted in court as a monopolist, has left a trail of shattered innovative companies in it's wake while it grabs every penny it can. And now we must feel sorry for you? O boo hoo.<br>Quote:<br>\"Cause they lied about me last year and didn't even care about the damage they did to their brand. They just want you to visit and click on their ads.\" And you want us to come here and hang on every word you say. Are your motives purely altruistic? I don't think so. Oh and they did so much damage to their brand they went under, oh no wait a minute, they didn't. I think you overestimate your own popularity and influence.<br>And thanks for all the helpful hints too on how to spot \"non-credible journalists\" but unfortunately we are not the brain damaged morons you and Microsoft so desperately wish we are. MS is finding out much to it's own pain that you cannot bully and bullshit people indefinitely.<br>Your article is condescending and another insincere attempt to paint Microsoft as this beleaguered underdog that just wants the best for everybody and is just so misunderstood.<br>I'm sure you link to Microsoft on a regular basis. They are a non-credible source, should we start deriding you?<br>\"We need to be vigilant against bad journalism\" - I'm going to throw up.<br>I forgot why I haven't been here for some time but I remember now, you have no credibility.<br>Enough said.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_14:53:54", "killed": false, "user_key": "8d567dc3ced0b0a773a03a988374c5e2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635479": {"up_voted": false, "ip": "", "has_replies": false, "message": "I left a comment and was about to leave when I saw this:<br>\"Simon: the problem is that they [The Register] have an audience of tech users who have money. To NOT advertise to that audience would be irresponsible. Unfortunately as long as people want to read this kind of \u201cjournalism\u201d (and I use that word lightly) then we\u2019ll need to be there advertising.\"<br>What a clanger!<br>Wow, I've haven't seen someone contort a viewpoint so badly to try and make something stick for a long time. The last person with so much entertainment value was the Iraqi Information Minister telling the journalists in Iraq how they were going to defeat those American Oppressors when over his shoulder you could see American tanks rolling into Baghdad...<br>So you are going to take this strong moral stand point against bad bloggers and non-credible sources but your moral viewpoint evaporates as soon as there is money involved? Before I was just kinda outraged by your thoughtless comments but this is so bad it is actually embarrassing.<br>I personally think that you have spent an enormous amount of time building up your credibility but you have just shown your true colours and blown all that credit right out the window. When I left my last comment I thought I would come back another time to see what you were up to, now I just know I won't, what's the point?<br>Don't worry about firing this \"ignorant\" reader, I resign!<br>Bye bye.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_15:32:34", "killed": false, "user_key": "8d567dc3ced0b0a773a03a988374c5e2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635480": {"up_voted": false, "ip": "", "has_replies": false, "message": "With all due respect Robert, I think you need to take a little bit of time out. In the past couple of days your posts have started to display a real \"siege\" mentality.<br><br>To my mind the acme of that has been the way you have gone on the offensive and started to attack people. As an important PR rep for Microsoft I understand that, at times, that is part of your job. Just as I understand that it is part of your job to \"spin\" news.<br><br>The question at issue here is how you go about doing that in the age of instant analysis, where editorial, weblogs and news websites are so easily conflated into a broad stream of information.<br><br>For me you are an important source of information. I'm always mindful of your job, and the colour that will lend to your writing. Just as I am always mindful of the colour and slant of the register articles. When reading instant mediums it would be foolish not to be mindful of that. Having said, I want you to remember in the future that when you go on the offensive, you had better do it carefully because _your_ reputation will be as much at stake as the person (or media outlet) you are attacking.<br><br>To wit, your statement: \"Some bloggers don't know who is a credible journalist and who isn't. Hint: anything the Register writes is NOT credible. Why do I say that? Cause they lied about me last year and didn't even care about the damage they did to their brand. They just want you to visit and click on their ads.\"<br><br>You know full well that is an poorly considered, emotive, totalising statement that can easily be disproved, and in disproving it your credibility suffers just as much as Andrew Orlowski's cred suffered last year.<br><br>Given that, was it such a smart move? Was it worth the cost? Do you seriously think you come off looking better than The Register by doing it?<br><br>I expect more from you, and you've disappointed me, and I'll never give what you say as much credence as before, and I imagine many of your readers feel the same.<br><br>Yes, the register and andrew orlowski sometimes get it wrong. Perhaps you have a basis for attributing it to something more than human error, instant reporting, deadlines etc. But you've presented your personal opinion as a totalising fact, and frankly the evidence you put forward just isn't good to support it.<br><br>You work in PR and are fully conversant with spinning the news, yet you go apocalyptic when a news source makes a mistake, or rushes to  print an article that might not be completely correct, or displays something less than perfect objectivity. It verges on hypocrisy. Instead why can't we all acknowledge that no one source of information should be trusted entirely. That no one article or media outlet is objective - not the times, not the New York Times, not the register and not your blog - people would be crazy to regard your weblog as an unencumbered news source, and it would be a rather foolish reader that treated the reg as an unencumbered news source either.<br><br>Instead readers need to assemble their own opinions of events by reading multiple sources and comparing and contrasting them. That's the value of listening and participating in these conversations you're so passionate about, and if you want to continue being treated as a credible speaker in that conversation you need to take a step back and think about what's happening, what your saying, and all the things at stake. Its unfair that you have to reach such a high standard when others don't appear to be doing the same, but you're paid to try and get good coverage and rapport for microsoft, and you can't do that without credability.<br><br>I'm sorry to lecture and sound patronising, but I'm surprised at the basic error you've made here. Perhaps you can use this scenario in the revised edition of your book? \"casualities in a crisis - your tone, your credibility, and your readers\".<br><br>Hint: Get A Grip.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_19:46:01", "killed": false, "user_key": "300ecca6ea56a6f94224e42931349142", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635481": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble : Tells me that the writer can't stand up to criticism.<br><br>You tell them, bud.<br><br>Hilary's right. The Register has a huge pro audience and it's earned much of it through its coverage of Microsoft - through really great legal and business analysis. And BOFH, heh.<br><br>Of course this makes Microsoft nervous. Go figure.<br><br>So Robert when you go off on one of your emotional rants about The Register, and try to bully the publication and its journalists, are you speaking on behalf of Big Corp., or yourself?<br><br>If it's Big Corp., it's disturbing. If it's only yourself, it just looks like you want to dish it out but can't take it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_20:20:47", "killed": false, "user_key": "20646fbea4f73f57ca8ba76dc6e77959", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635482": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh I don't agree with Robert on much, but the Reg is the Weekly World News of the Tech space.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-27_20:39:16", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635483": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>although I am no fan of Microsoft, I disagree with most of the s**t that is being thrown at you, and I think you have some nerve in letting all comments in. Kudos to you for that.<br><br>I don't know if the 60% story is any true, I read Mini like the next guy, and - let's be honest - a lot of people would like to see MS in trouble.<br><br>But the side discussion on corporate blogging (as demonstrated by you) is interesting in its own right.  Is this something every corporate should do?<br><br>I advise my clients to start a corporate blog only if they're prepared to trade in the <a href=\"http://www.pleon.it/web/blogs/geektalk.nsf/dx/2803200616.58.20GCAKKH.htm\" rel=\"nofollow\">Credibility Currency</a>, something most companies are not really equipped for.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-28_10:20:57", "killed": false, "user_key": "84feeea95f41ca63d53906296464370e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635485": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yo, Mr. Scoble!  I'd like to repeat the kudos in the comments for speaking your mind, letting people comment on your post, and responding to criticism later.  Even when you get saucy, you promote a great conversation in the blogosphere. . .and isn't that what it's all about?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-28_18:45:37", "killed": false, "user_key": "bab1c98e59348c4d907f2887fbd17eb4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635486": {"up_voted": false, "ip": "", "has_replies": false, "message": "I just had a quick idea about that nofollow thing...<br>Until everyone supports it, we would just need some scalable solution for a simple javascript redirect.<br>I did that here: <a href=\"http://www.dungis.com/nofollow?http://scobleizer.wordpress.com/2006/03/26/the-irritant-of-the-non-credible-journalists\" rel=\"nofollow\">http://www.dungis.com/nofollow?http://scobleizer.wordpress.com/2006/03/26/the-irritant-of-the-non-credible-journalists</a><br>Only browsers (with javascript enabled) will redirect, so no google juice there. Or is the number of non-js users too big?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-28_19:58:15", "killed": false, "user_key": "3c6937c2a1bb7745ae050fbe6527e443", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635487": {"up_voted": false, "ip": "", "has_replies": false, "message": "Kiss me w <a href=\"http://stinkers.net/\" rel=\"nofollow\">poker</a> rurenxv", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-21_05:38:33", "killed": false, "user_key": "30a93bc390dbfe85ddf90f18419c784e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635488": {"up_voted": false, "ip": "", "has_replies": false, "message": "Unfortunately, the Internet has tended to dumb down journalism, now that anyone can post anything online without having to pass it by an editor first.<br><br>It's great to have so much freedom of expression, but it does come at a price.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-09-24_05:18:18", "killed": false, "user_key": "626c4c1b50d69b437148940c80ea0c4c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635489": {"up_voted": false, "ip": "", "has_replies": false, "message": "Stef, that's amazing. Thanks!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-11-02_00:11:35", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635490": {"up_voted": false, "ip": "", "has_replies": false, "message": "The credibility of the \"journalist\" just dissolved completely - the event described within the link below appears to have resulted in the expulsion of the \"journalist\"'s websites by his (former) hosting provider.<br><a href=\"http://www.bigpicturebigsound.com/smart-house-plagiarism-868.shtml\" rel=\"nofollow\">http://www.bigpicturebigsound.com/smart-house-p...</a><br>More evidence on his \"journalistic\" talents at <a href=\"http://forums.whirlpool.net.au/forum-replies-archive.cfm/439341.html\" rel=\"nofollow\">http://forums.whirlpool.net.au/forum-replies-ar...</a><br><br>Judge for yourself.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-11-01_23:21:05", "killed": false, "user_key": "afb1d884dea5fedbc7084bc25fc36c37", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635491": {"up_voted": false, "ip": "", "has_replies": false, "message": "News sourced to a single source, especially a source lacking a track record, should be handled with care, if at all.<br><br><a href=\"http://www.chatekle.net\" rel=\"nofollow\"> chattr1 </a><br><a href=\"http://www.chattr.de\" rel=\"nofollow\"> chattr team </a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-03_14:41:54", "killed": false, "user_key": "473c52cd1e3b2b4d558f328fa2fb049a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635412": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"We need to be vigilant against bad journalism. Here's a hint: when you see a story about a company and that story doesn't even attempt to get that company's point of view, then it probably is a non-credible journalist writing it. All credible journalists will get at least three sources to every story and will try to remain objective and impartial.\"<br><br>Get real. Do YOU do this? Did you even check out the 60% Code Rewrite journalist's credentials before slaming him and calling for him to fired?<br><br>I think his credentials are quite impressive. Or do you just simply dismiss him because he's Australian?<br><br><a href=\"http://squash.wordpress.com/2006/03/25/who-the-heck-is-david-richards/\" rel=\"nofollow\">http://squash.wordpress.com/2006/03/25/who-the-...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_13:32:47", "killed": false, "user_key": "a25cf3aac3166d64876da4bf39fac865", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635414": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yeah, and lets censor the whole friggin' blogosphere while we're at it.<br><br>Blacklist certain blogs and publications because we don't like what they say.<br><br>What's happening to you, Robert. Losing your own objectivity?<br><br>I can't believe you wrote the above post.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_13:44:25", "killed": false, "user_key": "a25cf3aac3166d64876da4bf39fac865", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635416": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dominic: you call that impressive? I call it a history of non-credibility.<br><br>It's not about not liking what they have to say. It's about sticking up for objectivity and journalists who do their job professionally (like Om Malik, who writes for Business 2.0 magazine).<br><br>I've been reading the stuff you've been writing lately and it seems YOU have lost your WAY to figure out who is credible and who isn't. The fact that you are defending a guy, who Squash says, is \"Richards is the most notorious and controversial technology journalist in Australia\" and someone who has been accused of plagiarism and conflicts of interest says VOLUMES ABOUT YOU.<br><br>But, I guess there's a reason why those gossip magazines make lots of money: people like you buy this crap.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_13:48:51", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635417": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh, not to mention that you don't know the difference between censorship and asking people to demonstrate that they will link only to credible news sources. You know, I want smart readers only, please. Sometimes you need to fire a reader. You're fired.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_13:50:07", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635418": {"up_voted": false, "ip": "", "has_replies": false, "message": "Censored.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_14:07:17", "killed": false, "user_key": "a25cf3aac3166d64876da4bf39fac865", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635419": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dominic: you can&#39;t censor a blogger unless you have control of his/her server&nbsp;(I do not)&nbsp;and you&#39;ll notice I don&#39;t remove your comments, no matter how idiotic I think they are. Just proved you don&#39;t know the meaning of the word &quot;censor.&quot; Hope that helps.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_14:08:05", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635420": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, the problem with giving a general hit tool to all and sundry is that it will mostly be used for malicious purposes. You of all people will know that. Blogs will get blacklisted for trivial, spiteful reasons and that's one more reason not to blog at all.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_14:24:57", "killed": false, "user_key": "a329ba9b39d1912ecd0469e59d443769", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635421": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>It's great to see you and OM pick up on this issue, as discussed on GigaOM. When I wrote my comments on <a href=\"http://louisgray.com/live/files/category-12.html#unique-entry-id-154\" rel=\"nofollow\">Launching Products in the Age of Instant Analysis</a>, I really felt that people were not checking their facts or were eager to be among the first to stake a claim on whether something was an accomplishment or a disappointment, even if the products had not yet hit the shelves.<br><br>It's too early to say that Origami is a failure, or that the iPod HiFi is a disappointement, or that Google Finance will never catch up to Yahoo! Finance. Myself, I was at first disappointed with iTunes music offerings, but since then, they've dramatically expanded their library, as they have also done with video. Services and products are continuously improved, often because of feedback from customers.<br><br>Whether it's from the blogs or from print and TV media, we should hold ourselves to a standard that we can be trusted.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_14:29:45", "killed": false, "user_key": "7cb19373f7b4f85e63e634c47e1d9678", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635422": {"up_voted": false, "ip": "", "has_replies": false, "message": "It is curious that some bloggers appear to believe nothing published by anyone who's paid to report, while other bloggers appear to be prepared to believe anything published by anyone, so long as it plays to their personal wish fulfilment fantasies.<br><br>News sourced to a single source, especially a source lacking a track record, should be handled with care, if at all.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_14:35:45", "killed": false, "user_key": "865deb2d4b440a8d849f5f6f09f35c37", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635423": {"up_voted": false, "ip": "", "has_replies": false, "message": "OK, to cool the tempers off, and for some fun, <a href=\"http://static.flickr.com/36/118218898_e513d2dd76_o.jpg\" rel=\"nofollow\">check out this photo</a> &ndash; then guess how it relates to the Steve Jobs.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_14:37:15", "killed": false, "user_key": "9d6d8974c4b9d15a2586b5afd7b52740", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635424": {"up_voted": false, "ip": "", "has_replies": false, "message": "Standing up for an ethic in blogging seems to me the right thing to do. The rallying cry of old journalism is that bloggers are irresponsible and untrustworthy, therefore their work should be diregarded or maligned. I think a stand in the face of that, like Robert's here, helps all of us. It doesn't mean that we all have to jump on board and follow some strict protocal, but it helps keep blogging in general from being pigeonholed as crap gossip.<br>Right on Robert.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_14:40:51", "killed": false, "user_key": "17689853767151aea4babf959df73939", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635425": {"up_voted": false, "ip": "", "has_replies": false, "message": "So... the fact that The Register and The Inquirer are not credible isn't news to me.<br><br>They've been around for ages, and people pay attention to them because *sometimes* they get it right.  Usually they're stories are either:<br>A) Completely and utterly wrong.<br>B) Completely and utterly common knowledge with some worthless commentary.<br><br>Once in a great while they'll post a rumor or prediction that will turn out to be true.  For all I know, they're just guessing and by chance they're right at least some of the time.<br><br>In either case, you're right that they're pretty much tabloids like The National Inquirer and whatnot.  I'd rather read The Onion, at least their fake news is funny.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_14:51:11", "killed": false, "user_key": "0510d88cc9c42fd729b2d61a173d9c44", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635426": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ack... \"Their\" not \"they're\" - that's what I get for not proofreading =)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_14:53:18", "killed": false, "user_key": "0510d88cc9c42fd729b2d61a173d9c44", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635427": {"up_voted": false, "ip": "", "has_replies": false, "message": "The odd thing is how are these sites still allowed to exist? I mean, if James Frey and Randomhouse get crucified, how are these purportedly legit news sources still allowed to continue without at least some sort of slap on the wrist and/or a disclaimer a la getodd.com?<br><br>Someone sic Oprah on The Register!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_14:58:08", "killed": false, "user_key": "d17b2f1c0b567c12903d5eb8a4dd00ea", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635428": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"But, we should now start deriding people who link to non-credible sources. I will.\"<br><br>Sounds like a lynch mob. If they are non-credible, then  link to them and let your readers decide.<br><br>I think we should deride people who suggest deriding people who link to sources that may or may not be credible. <a href=\"http://irwebreport.blogsome.com/2006/03/26/microsoft-blogger-scoble-wants-to-censor-unfriendly-blogosphere/ \" rel=\"nofollow\">I have.</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_15:00:13", "killed": false, "user_key": "a25cf3aac3166d64876da4bf39fac865", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635429": {"up_voted": false, "ip": "", "has_replies": false, "message": "Talk of firing people is the sort of stuff that I hear from you only when you are saying things that I know that you later wish you hadn't said.<br><br>Your old policy, your best policy, is just \"link and comment, or comment and link\".<br><br>Policies like \"deliberately not linking as a punishment\" and \"not linking because they don't deserve the traffic\" is a sign that you are \"giving your own links in too much respect\".<br><br>Stop giving your links or anyone else's links any \"respect\".<br><br>Think humility, which is your stongest suit.<br><br>You link and comment in order to \"add one more potentially interesting journey\" to the web.<br><br>Not to \"spread the truth according to St Scoble\" or to \"teach someone a lesson\" in how to be a good journalist.<br><br>The moment you start to \"set a standard\" for what you will or won't link to, you restrict the number and diversity of experiences that you can provide for your readers.<br><br>It is NOT \"what you link to\" that defines the service that you give to your readers.<br><br>It is \"what you say about it\".<br><br>\"Look at this STORY I linked to here, I personally don't think this is accurate\" is a perfectly good piece of blogging, while either \"blogger's silence\", or telling people about the existence of something that you then tell them that won't link to, what kind of \"naked conversation\" is that?<br><br>You're much, much better than that.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_15:13:02", "killed": false, "user_key": "e26dca815d22c7b9817db40d4d44df8c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635430": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br>I'm no expert on whether one blogger is more honest than another or contributes a ton of value, but I can say one thing, too many bloggers don't point to sources. I dislike running across an interesting story on /. for example, only to read the link and it points to a blog. Open the full blog and find it points to an earlier post on the blog, and so on. No actual link to the website or company blogged about is provided.<br><br>I'm not sure if that qualifies as shody journalism, but it certainliy makes it hard for me to take them seriously. Heck, if I'm going to blog about something Google or MS does, I could at least link to that company's own news release. If I'm just ranting about someone else's opinion, then I link to their blog post or article.<br><br>Anyway, though I sometimes have a hard time keeping up, at least you provide links.  As to whether that makes you a good journalist...well...you know... :)<br>Todd", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_15:32:15", "killed": false, "user_key": "29e7ec5ef50f487710a42d48a0447ee0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635431": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, a hearty slap on the back. If bloggers or anyone else want to wear the mantle of journalist, they need to do more than write \"Joe Schmoe said this or Joe Blow told me that -- here's a link.\" More like yourself and Om need to stand up and denounce people who report \"news\" without any fact-checking beyond someone told them something. Without first checking on the validity of these comments whispered in your ear, reporting simply become rumor-mongering.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_15:35:27", "killed": false, "user_key": "32e384d3facb00b422e3ae19c77495c7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635432": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ricky: why, again, am I listening to someone who doesn't even have the courage to sign his/her name on what he/she writes?<br><br>Dominic: I thought I was dealing with someone who has a respect for the truth. Obviously I was wrong.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_16:09:31", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635433": {"up_voted": false, "ip": "", "has_replies": false, "message": "you dont have to worry about the register or bloggers giving microsoft/msn a bad name - the incompetent goofs that are somehow called management there do it just fine all by themselves.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_16:30:17", "killed": false, "user_key": "956fff805c5296852559d9332ce6d10e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635434": {"up_voted": false, "ip": "", "has_replies": false, "message": "FYI:<br><br>The \"60% rewrite\" story link on Digg was submitted by someone with the nickname of \"SCOOPOZ\".  Here is the link to his profile page:<br><br><a href=\"http://www.digg.com/users/SCOOPOZ\" rel=\"nofollow\">http://www.digg.com/users/SCOOPOZ</a><br><br>Pay attention to the other stories he promoted on Digg.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_16:36:12", "killed": false, "user_key": "71bdadce75d856a59c4c1af10c970075", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635435": {"up_voted": false, "ip": "", "has_replies": false, "message": "If you are going to call me a liar(someone who doesn't respect the truth), then could you at least explain why? Provide some support for the accusation.<br><br>It is important for the credibility of any accusation \u2014 be it the claim by Smarthouse or your accusation of me being untruthful \u2014 that it be supported by detail and evidence.<br><br>Just because you say something is true, doesn\u2019t make it so, even if your name is Robert Scoble, or Bill Gates or Nelson Mandela.<br><br>You still have an onus to provide support for your argument. Otherwise you are just calling people names and acting like a childish snob brat: \"You bad! I hate you.\"<br><br>Back it up, like backing up the non-official denial that 60% of Vista must be rewritten.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_16:37:05", "killed": false, "user_key": "a25cf3aac3166d64876da4bf39fac865", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635436": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, you want to know why you are listening to me, even though I don't have the courage to sign my name?<br><br>Because deciding whether to listen to someone based upon what they say, rather than who they are, is the precise opposite to something both you and I don't like.<br><br>That thing we don't like is something called \"ad-hominem\".<br><br>Not signing your name is no more likely to invalidate what you say, than your race, colour, gender, or anything else.<br><br>Ask any poet for the name to be found at the bottom of some of the greatest verse ever written: \"anonymous\".", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_16:48:38", "killed": false, "user_key": "e26dca815d22c7b9817db40d4d44df8c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635437": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert:<br><br>I agree with you completely that all journalists, bloggie or not, should check three sources. But I can tell you, from personal experience writing and reporting on the staffs of both a paper and a radio station (both allegedly \"credible\") that this rarely happens. And it will continue to happen less and less as the pressure to fill up inches/minutes is the order of the day. As \"credible\" news organizations continue to consolidate, the bottom line (I mean profit at any cost) will contine to dominate. This is not just happening with the big guys. When a newspaper wants its reporters to write up to 5 articles a day? You can rest assured there will not be a single article with three sources.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_16:52:00", "killed": false, "user_key": "04589837c6a6f90d00668285a980cf3b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635438": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ricky: unfortunately I like listening a lot more to people who are credible. Anonymous people are NOT credible.<br><br>Dominic: when you write headlines like this: <a href=\"http://irwebreport.blogsome.com/2006/03/26/microsoft-blogger-scoble-wants-to-censor-unfriendly-blogosphere/\" rel=\"nofollow\">http://irwebreport.blogsome.com/2006/03/26/micr...</a> \"Microsoft blogger Scoble wants to censor unfriendly blogosphere\" that demonstrates you have absolutely no clue what truth is.<br><br>I never advocated censoring bloggers. Even unfriendly ones. If I did, I'd delete your posts here. I DID advocate not listening to those people who put crap out there. Glad you demonstrated that you don't know the difference. You misrepresented my point. Therefor you demonstrated you are NOT a defender of truth.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_16:54:25", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635439": {"up_voted": false, "ip": "", "has_replies": false, "message": "Curt: that's cool, but we get the journalism we deserve. Do we want the kind that Dominic is printing? Or do we want stuff that's at least fair and objective?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_16:55:51", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635440": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>I applaud your passion for Microsoft and defending the company. The past week has been hard for you, as you have said.<br><br>You'd like to stop people writing rubbish or not linking to people who write what you think or know is rubbish.<br><br>You wish people would take your word for it that 60% of the Vista code in not garbage, or at least that it's impossible to rewrite that much before the deadlines.<br><br>You wish we weren't all so dumb as to believe a muckraking journalist who knows how not to let the facts get in the way of a good story.<br><br>I can fully understand how you feel. The powerlessness to stop the meme must be frustrating.<br><br>But you need to chill, recognize that people are not stupid.<br><br>Just give them access to all sides of the story, and let them decide. As an old editor or mine used to say, \"the truth will out.\"<br><br>So your strategy should be to link to this guy's stuff AS MUCH AS POSSIBLE to show people just what he's up to. And to show that you're not afraid to point to what he says.<br><br>How about you go through his site and pick out all the pieces he's written that you consider rubbish and  write them up as \"Is this credible journalism?\"<br><br>Or you could just have the PR people put out a press release denying the claim and telling us exactly what is being done with Vista and why.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_17:09:20", "killed": false, "user_key": "a25cf3aac3166d64876da4bf39fac865", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635441": {"up_voted": false, "ip": "", "has_replies": false, "message": "If you care about journalistic integrity, why link to Zoli's blog? He says that Jobs basically did Apple a favor by doing the net share settlement. Not true. It's no favor to the company when they use company cash to buy back shares. That's a corporate finance decision unrelated to Job's tax situation. It's clear Zoli doesn't know anything about corp finance or taxes, but feels free to write about it anyway. There's no integrity in that.<br><br>He also makes a dig at Bill Gates at the bottom of the post because the picture of Gates shows a Mac in the background. Gates used to be a huge cheerleader for the Mac and Microsoft continues to support the platform. Only in the the conspiracy-theory-addled mind of the Mac fanatic does Gates hate the Mac and want to destroy it. How many times have you heard Steve Jobs publicly dis Microsoft and Gates? Too many to count. How many times have you heard Bill Gates publicly dis Apple and Jobs?<br><br>The problem with bloggers is that they feel they can write about any subject, even when they don't know what they're talking about. Many blog posts are nothing more than self-righteous, biased opinion paraded as fact. And if you link to zealots, even ones on the \"other side\" in a weak attempt at objectivity, you can't really pretend to stand for journalistic integrity.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_17:14:04", "killed": false, "user_key": "8bc49e3c61beaa4a6d40d6aa36c461f8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635442": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert: Remember when I emailed you a few months back and said you were getting too angry and needed to take a vacation? You weren't this bad then. As a pseudo-internet-almost-friend-through-blogging, I suggest some heavy drinks and a long nap.<br><br>Also, from what I can tell, you have completely removed any separation of work and personal life. You are available 24/7 as a Microsoft employee. And that's great for Microsoft. But I hope you find some time to be a Scoble as well.<br><br>You say you want only smart readers on your blog. But I would guess it's the smart that ones that would stop coming first when you start yelling at your readers. Just food for thought, and yes I know if you read my blog you know I don't always practice what I preach ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_17:17:42", "killed": false, "user_key": "3f513e2cf340de447da7d12d8497d7bc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635443": {"up_voted": false, "ip": "", "has_replies": false, "message": "Seeing as MS are a company that values spin over reality at times i find your cries rather laughable.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_17:19:16", "killed": false, "user_key": "423deebec77032651e9a927cf20ee1df", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635444": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"we should now start deriding people who link to non-credible sources.\" I call that censorship through coersion.<br><br>\"I wish Memeorandum (and other memetrackers like TailRank) had a \"no follow\" link so that when I link to something I can tell Memeorandum's engine that I don't want the linked article to go up.\" I call that censorship.<br><br>\"Some bloggers don't know who is a credible journalist and who isn't.\" Whose definition are you using of credible? Yours? That's censorship of a sort.<br><br>\"We need to be vigilant against bad journalism.\" And who defines what is bad. You? Censorship.<br><br>To my mind, any attempt to control what people think -- by banning them or not linking to them or whatever other action -- is censorship.<br><br>I STAND BY MY HEADLINE. You do want to censor the blogosphere.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_17:26:04", "killed": false, "user_key": "a25cf3aac3166d64876da4bf39fac865", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635445": {"up_voted": false, "ip": "", "has_replies": false, "message": "Richard - Robert: I agree.<br><br>I unsubscribed Friday because of Robert's, uh, personal attacks on me in his comments - attacks he has a total right to do, however personally unfair. I thought I'd come back one more time to see how things are going with Robert...<br><br>You hit it right on Richard.<br><br>It's one thing for him to post like we simply read his words and take them as gospel truth. It's another for him to believe it.<br><br>What's the saying? The proof is in the pudding? (Or something like that.)<br><br>Robert wants us to believe he is (a) objective, (b) not biased to critical posts about Microsft, (c) that he comes from - an appearantly - past age of things where bloggin is positive....<br><br>And when it comes to that moment of truth.... that moment where he could have proved to us this.... he took 2 days to attack someone - followed by many others in comments - instead of providing us with details.<br><br>Yes Robert. I'm STILL only providing you with my first name only. Not last name. No place of emplyment. And no blog. Guess that makes you the bigger man.... in spite of your very bitter words that defy everything you've said FOR YEARS prior to this weekend.<br><br>Deal with it.<br><br>And I'm quite sure you can't understand me right now.... but I do mean this in a positive way.<br><br>You HAVE changed. Just like the environment has too.<br><br>Better? Worse? I have no clue. But since there ARE more sources for \"credible\" journalism than the MSM and PR types like who have (so far) spoken for MS.... I'd have to say it ain't worse.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_17:39:13", "killed": false, "user_key": "dba9deebd401367b9184dec7862ae04a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635446": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oscar, a stock repurchase is often a good move for a company, but if you read my post, you realize I am not analizing the situation and much as quite someone that has facts, and point out my preference for that, rather then the summary judgement of \"Jobs dumping stock, (the ship is sinking)\".<br><br>As for the Gates photo - oh, man, you're putting word in my mouth. You left your sense of humor at home today, I suppose (the smiley in the post could have helped).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_18:15:25", "killed": false, "user_key": "9d6d8974c4b9d15a2586b5afd7b52740", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635447": {"up_voted": false, "ip": "", "has_replies": false, "message": "wow, too many typos above, this is what I meant:I am not analizing the situation as much as quote someone that has facts,", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_18:16:46", "killed": false, "user_key": "9d6d8974c4b9d15a2586b5afd7b52740", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635448": {"up_voted": false, "ip": "", "has_replies": false, "message": "I guess I'm the only one who was intrigued by this statement:<br><br>\"I wish Memeorandum (and other memetrackers like TailRank) had a \"no follow\" link so that when I link to something I can tell Memeorandum's engine that I don't want the linked article to go up.\"<br><br>There actually are ways of making a link have no Google juice or showing your opinion of the linked site. Check out <a href=\"http://googleblog.blogspot.com/2005/01/preventing-comment-spam.html\" rel=\"nofollow\">the nofollow attribute</a>, which I know Scoble's aware of. There's also a neat microformat called <a href=\"http://microformats.org/wiki/vote-links\" rel=\"nofollow\">VoteLinks</a> that allows you to tag a link as to whether you support the linked content or not.<br><br>If Memeorandom or other popularity-tracking sites took these attributes into account when ranking things, it wouldn't be censorship. It would just be making a link more meaningful, and making the job of these popularity-trackers easier. When Scoble refuses to link to a story he doesn't like, it denies me the ability to check it out for myself. But I also don't want to see those bad links helping out the linkee. It would also be cool to see in Memeorandom \"this article had 34 votes for, 26 votes against, and 120 ambigous links\".", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_18:16:48", "killed": false, "user_key": "36385c8f19a92a18b2a467d245d08593", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635449": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert<br><br>Put this post as your background. And when your finders are flying, and you're in a \"OMGI'MFIRST\" fuge, read it until you calm down, and make sure that what you're writing is accurate, and what you're saying is the precise message you want to get across.<br><br>If you want things to change, you must set that example in your writing. If you want things to be better, you must be better as well. No more \"Oh, well, it was hard to get ahold of the guy\" stuff. If you can't verify it, don't post it. If it means you delay your posts by an hour, you do that. You've been getting better about it, but you have to set the example for at least this site.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_18:24:36", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635450": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, I really think you need to take a step away from the keyboard, take a deep breath, and go spend some more time with your family. You're getting *way* overheated about this, and it doesn't sound like the Robert Scoble I respect and enjoy reading at the moment.<br><br>To elaborate, when you say: \"Ricky: why, again, am I listening to someone who doesn\u2019t even have the courage to sign his/her name on what he/she writes?\"<br><br>Perhaps because Ricky is writing something pretty sensible when he says \"It is NOT 'what you link to' that defines the service that you give to your readers. It is 'what you say about it'\"<br><br>And when you say \"anonymous people are not credible\" you're falling into one of the oldest traps in the book. Stating that someone who chooses to keep their identity quiet is \"not credible\" *no matter what they say* is the exact equivalent of stating that nothing you say about Microsoft is credible because you happen to work there. The people who sneer \"Yeah, Scoble, you can't trust him because he works for Microsoft\" are making exactly the same call. They're judging you not on what you say, but on who you are.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_18:41:50", "killed": false, "user_key": "8fbd1902c9d786dd42a39d3e081ff778", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635451": {"up_voted": false, "ip": "", "has_replies": false, "message": "I thought the conversation was supposed to be naked. That means all the naughty bits are on display, no matter how unsightly.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_19:13:31", "killed": false, "user_key": "6c4e59e287e83647ffc7885667df3696", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635452": {"up_voted": false, "ip": "", "has_replies": false, "message": "Mr. Scoble, for whom do you work?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_19:45:20", "killed": false, "user_key": "ebc97caed618854b40b207a99f47f066", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635453": {"up_voted": false, "ip": "", "has_replies": false, "message": "The infamous Comic Strip blogger has now \"attacked\" Scoble.<br><br>Is nothing sacred?<br><br><a href=\"http://comicstripblog.com/?p=212\" rel=\"nofollow\">http://comicstripblog.com/?p=212</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_19:50:08", "killed": false, "user_key": "2d571f1484b09d9081e20399fb6869f4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635454": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert: Just because something is doesn't mean it's as it ought to be. Or course we don't deserve bad journalism (or its variants) at any time. But we get it. All we can do is decide to accept it or reject it. What you're describing with the Register is the real problem with journalism, not the alleged political biases that take up so much of the news (ironically). Perhaps you'll convince enough people of the Register's malfeasance that it will cease to be a viable site. I will certainly regard it with a greater skepticism next time I encounter it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_19:54:05", "killed": false, "user_key": "04589837c6a6f90d00668285a980cf3b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9635455": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://www.shserver.ch\" rel=\"nofollow\">http://www.shserver.ch</a><br><br>billigstes schweizer webhosting kontaktieren sie uns noch heute!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-03-26_19:54:22", "killed": false, "user_key": "9be84454c697f2315c0ecff3dad9f015", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "18389451", "user_id": "anonymous", "forum_id": "125200", "hash": 4650439851666790054}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "the_irritant_of_the_non_credible_journalists", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18389451, "num_posts": 77, "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=the_irritant_of_the_non_credible_journalists' +
		'&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/the_irritant_of_the_non_credible_journalists/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='	+ 'the_irritant_of_the_non_credible_journalists'
			+ '&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/the_irritant_of_the_non_credible_journalists/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">77</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/the_irritant_of_the_non_credible_journalists/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/the_irritant_of_the_non_credible_journalists/">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/the_irritant_of_the_non_credible_journalists/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:18389451" 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'				: 'the_irritant_of_the_non_credible_journalists',
			// 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/the_irritant_of_the_non_credible_journalists/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='	+ 'the_irritant_of_the_non_credible_journalists'
			+ '&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='	+ 'the_irritant_of_the_non_credible_journalists'
			+ '&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='		+ 'the_irritant_of_the_non_credible_journalists'
				+ '&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/18389451/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-9635412">\
	 <div id="dsq-comment-header-9635412" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635412" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635412" href="http://irwebreport.blogsome.com/" target="_blank" rel="nofollow">Dominic Jones</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635412" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635412" class="dsq-comment-message">"We need to be vigilant against bad journalism. Here\'s a hint: when you see a story about a company and that story doesn\'t even attempt to get that company\'s point of view, then it probably is a non-credible journalist writing it. All credible journalists will get at least three sources to every story and will try to remain objective and impartial."<br><br>Get real. Do YOU do this? Did you even check out the 60% Code Rewrite journalist\'s credentials before slaming him and calling for him to fired?<br><br>I think his credentials are quite impressive. Or do you just simply dismiss him because he\'s Australian?<br><br><a href="http://squash.wordpress.com/2006/03/25/who-the-heck-is-david-richards/" rel="nofollow">http://squash.wordpress.com/2006/03/25/who-the-...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635414">\
	 <div id="dsq-comment-header-9635414" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635414" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635414" href="http://irwebreport.blogsome.com/" target="_blank" rel="nofollow">Dominic Jones</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635414" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635414" class="dsq-comment-message">Yeah, and lets censor the whole friggin\' blogosphere while we\'re at it.<br><br>Blacklist certain blogs and publications because we don\'t like what they say.<br><br>What\'s happening to you, Robert. Losing your own objectivity?<br><br>I can\'t believe you wrote the above post.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635416">\
	 <div id="dsq-comment-header-9635416" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635416" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635416" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635416" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635416" class="dsq-comment-message">Dominic: you call that impressive? I call it a history of non-credibility.<br><br>It\'s not about not liking what they have to say. It\'s about sticking up for objectivity and journalists who do their job professionally (like Om Malik, who writes for Business 2.0 magazine).<br><br>I\'ve been reading the stuff you\'ve been writing lately and it seems YOU have lost your WAY to figure out who is credible and who isn\'t. The fact that you are defending a guy, who Squash says, is "Richards is the most notorious and controversial technology journalist in Australia" and someone who has been accused of plagiarism and conflicts of interest says VOLUMES ABOUT YOU.<br><br>But, I guess there\'s a reason why those gossip magazines make lots of money: people like you buy this crap.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635417">\
	 <div id="dsq-comment-header-9635417" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635417" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635417" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635417" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635417" class="dsq-comment-message">Oh, not to mention that you don\'t know the difference between censorship and asking people to demonstrate that they will link only to credible news sources. You know, I want smart readers only, please. Sometimes you need to fire a reader. You\'re fired.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635418">\
	 <div id="dsq-comment-header-9635418" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635418" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635418" href="http://irwebreport.blogsome.com/" target="_blank" rel="nofollow">Dominic Jones</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635418" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635418" class="dsq-comment-message">Censored.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635419">\
	 <div id="dsq-comment-header-9635419" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635419" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635419" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635419" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635419" class="dsq-comment-message">Dominic: you can&#39;t censor a blogger unless you have control of his/her server&nbsp;(I do not)&nbsp;and you&#39;ll notice I don&#39;t remove your comments, no matter how idiotic I think they are. Just proved you don&#39;t know the meaning of the word &quot;censor.&quot; Hope that helps.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635420">\
	 <div id="dsq-comment-header-9635420" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635420" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635420" href="http://www.syntagmamedia.com/" target="_blank" rel="nofollow">John Evans (Syntagma)</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635420" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635420" class="dsq-comment-message">Robert, the problem with giving a general hit tool to all and sundry is that it will mostly be used for malicious purposes. You of all people will know that. Blogs will get blacklisted for trivial, spiteful reasons and that\'s one more reason not to blog at all.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635421">\
	 <div id="dsq-comment-header-9635421" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635421" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635421" href="http://www.louisgray.com/live/" target="_blank" rel="nofollow">Louis Gray</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635421" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635421" class="dsq-comment-message">Robert,<br><br>It\'s great to see you and OM pick up on this issue, as discussed on GigaOM. When I wrote my comments on <a href="http://louisgray.com/live/files/category-12.html#unique-entry-id-154" rel="nofollow">Launching Products in the Age of Instant Analysis</a>, I really felt that people were not checking their facts or were eager to be among the first to stake a claim on whether something was an accomplishment or a disappointment, even if the products had not yet hit the shelves.<br><br>It\'s too early to say that Origami is a failure, or that the iPod HiFi is a disappointement, or that Google Finance will never catch up to Yahoo! Finance. Myself, I was at first disappointed with iTunes music offerings, but since then, they\'ve dramatically expanded their library, as they have also done with video. Services and products are continuously improved, often because of feedback from customers.<br><br>Whether it\'s from the blogs or from print and TV media, we should hold ourselves to a standard that we can be trusted.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635422">\
	 <div id="dsq-comment-header-9635422" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635422" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635422">billg</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635422" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635422" class="dsq-comment-message">It is curious that some bloggers appear to believe nothing published by anyone who\'s paid to report, while other bloggers appear to be prepared to believe anything published by anyone, so long as it plays to their personal wish fulfilment fantasies.<br><br>News sourced to a single source, especially a source lacking a track record, should be handled with care, if at all.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635423">\
	 <div id="dsq-comment-header-9635423" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635423" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635423" href="http://www.zoliblog.com/" target="_blank" rel="nofollow">Zoli Erdos</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635423" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635423" class="dsq-comment-message">OK, to cool the tempers off, and for some fun, <a href="http://static.flickr.com/36/118218898_e513d2dd76_o.jpg" rel="nofollow">check out this photo</a> &ndash; then guess how it relates to the Steve Jobs.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635424">\
	 <div id="dsq-comment-header-9635424" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635424" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635424" href="http://www.mainewebreport.com/" target="_blank" rel="nofollow">Lance Dutson</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635424" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635424" class="dsq-comment-message">Standing up for an ethic in blogging seems to me the right thing to do. The rallying cry of old journalism is that bloggers are irresponsible and untrustworthy, therefore their work should be diregarded or maligned. I think a stand in the face of that, like Robert\'s here, helps all of us. It doesn\'t mean that we all have to jump on board and follow some strict protocal, but it helps keep blogging in general from being pigeonholed as crap gossip.<br>Right on Robert.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635425">\
	 <div id="dsq-comment-header-9635425" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635425" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635425" href="http://www.brandonlive.com/" target="_blank" rel="nofollow">Brandon Paddock</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635425" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635425" class="dsq-comment-message">So... the fact that The Register and The Inquirer are not credible isn\'t news to me.<br><br>They\'ve been around for ages, and people pay attention to them because *sometimes* they get it right.  Usually they\'re stories are either:<br>A) Completely and utterly wrong.<br>B) Completely and utterly common knowledge with some worthless commentary.<br><br>Once in a great while they\'ll post a rumor or prediction that will turn out to be true.  For all I know, they\'re just guessing and by chance they\'re right at least some of the time.<br><br>In either case, you\'re right that they\'re pretty much tabloids like The National Inquirer and whatnot.  I\'d rather read The Onion, at least their fake news is funny.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635426">\
	 <div id="dsq-comment-header-9635426" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635426" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635426" href="http://www.brandonlive.com/" target="_blank" rel="nofollow">Brandon Paddock</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635426" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635426" class="dsq-comment-message">Ack... "Their" not "they\'re" - that\'s what I get for not proofreading =)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635427">\
	 <div id="dsq-comment-header-9635427" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635427" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635427" href="http://jenntai.wordpress.com/" target="_blank" rel="nofollow">The I&#39;mPerfect Mom</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635427" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635427" class="dsq-comment-message">The odd thing is how are these sites still allowed to exist? I mean, if James Frey and Randomhouse get crucified, how are these purportedly legit news sources still allowed to continue without at least some sort of slap on the wrist and/or a disclaimer a la getodd.com?<br><br>Someone sic Oprah on The Register!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635428">\
	 <div id="dsq-comment-header-9635428" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635428" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635428" href="http://irwebreport.blogsome.com/" target="_blank" rel="nofollow">Dominic Jones</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635428" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635428" class="dsq-comment-message">"But, we should now start deriding people who link to non-credible sources. I will."<br><br>Sounds like a lynch mob. If they are non-credible, then  link to them and let your readers decide.<br><br>I think we should deride people who suggest deriding people who link to sources that may or may not be credible. <a href="http://irwebreport.blogsome.com/2006/03/26/microsoft-blogger-scoble-wants-to-censor-unfriendly-blogosphere/ " rel="nofollow">I have.</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635429">\
	 <div id="dsq-comment-header-9635429" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635429" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635429">Ricky</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635429" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635429" class="dsq-comment-message">Talk of firing people is the sort of stuff that I hear from you only when you are saying things that I know that you later wish you hadn\'t said.<br><br>Your old policy, your best policy, is just "link and comment, or comment and link".<br><br>Policies like "deliberately not linking as a punishment" and "not linking because they don\'t deserve the traffic" is a sign that you are "giving your own links in too much respect".<br><br>Stop giving your links or anyone else\'s links any "respect".<br><br>Think humility, which is your stongest suit.<br><br>You link and comment in order to "add one more potentially interesting journey" to the web.<br><br>Not to "spread the truth according to St Scoble" or to "teach someone a lesson" in how to be a good journalist.<br><br>The moment you start to "set a standard" for what you will or won\'t link to, you restrict the number and diversity of experiences that you can provide for your readers.<br><br>It is NOT "what you link to" that defines the service that you give to your readers.<br><br>It is "what you say about it".<br><br>"Look at this STORY I linked to here, I personally don\'t think this is accurate" is a perfectly good piece of blogging, while either "blogger\'s silence", or telling people about the existence of something that you then tell them that won\'t link to, what kind of "naked conversation" is that?<br><br>You\'re much, much better than that.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635430">\
	 <div id="dsq-comment-header-9635430" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635430" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635430" href="http://tojosan.blogspot.com/" target="_blank" rel="nofollow">Todd Jordan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635430" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635430" class="dsq-comment-message">Robert,<br>I\'m no expert on whether one blogger is more honest than another or contributes a ton of value, but I can say one thing, too many bloggers don\'t point to sources. I dislike running across an interesting story on /. for example, only to read the link and it points to a blog. Open the full blog and find it points to an earlier post on the blog, and so on. No actual link to the website or company blogged about is provided.<br><br>I\'m not sure if that qualifies as shody journalism, but it certainliy makes it hard for me to take them seriously. Heck, if I\'m going to blog about something Google or MS does, I could at least link to that company\'s own news release. If I\'m just ranting about someone else\'s opinion, then I link to their blog post or article.<br><br>Anyway, though I sometimes have a hard time keeping up, at least you provide links.  As to whether that makes you a good journalist...well...you know... :)<br>Todd</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635431">\
	 <div id="dsq-comment-header-9635431" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635431" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635431" href="http://lifetech.wordpress.com/" target="_blank" rel="nofollow">lifetech</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635431" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635431" class="dsq-comment-message">Robert, a hearty slap on the back. If bloggers or anyone else want to wear the mantle of journalist, they need to do more than write "Joe Schmoe said this or Joe Blow told me that -- here\'s a link." More like yourself and Om need to stand up and denounce people who report "news" without any fact-checking beyond someone told them something. Without first checking on the validity of these comments whispered in your ear, reporting simply become rumor-mongering.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635432">\
	 <div id="dsq-comment-header-9635432" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635432" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635432" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635432" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635432" class="dsq-comment-message">Ricky: why, again, am I listening to someone who doesn\'t even have the courage to sign his/her name on what he/she writes?<br><br>Dominic: I thought I was dealing with someone who has a respect for the truth. Obviously I was wrong.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635433">\
	 <div id="dsq-comment-header-9635433" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635433" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635433" href="http://www.bloggingmsnchat.blogspot.com/" target="_blank" rel="nofollow">chat bloggers</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635433" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635433" class="dsq-comment-message">you dont have to worry about the register or bloggers giving microsoft/msn a bad name - the incompetent goofs that are somehow called management there do it just fine all by themselves.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635434">\
	 <div id="dsq-comment-header-9635434" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635434" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635434" href="http://sunandfun.blogspot.com/" target="_blank" rel="nofollow">Mr. Sun</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635434" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635434" class="dsq-comment-message">FYI:<br><br>The "60% rewrite" story link on Digg was submitted by someone with the nickname of "SCOOPOZ".  Here is the link to his profile page:<br><br><a href="http://www.digg.com/users/SCOOPOZ" rel="nofollow">http://www.digg.com/users/SCOOPOZ</a><br><br>Pay attention to the other stories he promoted on Digg.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635435">\
	 <div id="dsq-comment-header-9635435" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635435" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635435" href="http://irwebreport.blogsome.com/" target="_blank" rel="nofollow">Dominic Jones</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635435" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635435" class="dsq-comment-message">If you are going to call me a liar(someone who doesn\'t respect the truth), then could you at least explain why? Provide some support for the accusation.<br><br>It is important for the credibility of any accusation — be it the claim by Smarthouse or your accusation of me being untruthful — that it be supported by detail and evidence.<br><br>Just because you say something is true, doesn’t make it so, even if your name is Robert Scoble, or Bill Gates or Nelson Mandela.<br><br>You still have an onus to provide support for your argument. Otherwise you are just calling people names and acting like a childish snob brat: "You bad! I hate you."<br><br>Back it up, like backing up the non-official denial that 60% of Vista must be rewritten.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635436">\
	 <div id="dsq-comment-header-9635436" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635436" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635436">Ricky</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635436" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635436" class="dsq-comment-message">Robert, you want to know why you are listening to me, even though I don\'t have the courage to sign my name?<br><br>Because deciding whether to listen to someone based upon what they say, rather than who they are, is the precise opposite to something both you and I don\'t like.<br><br>That thing we don\'t like is something called "ad-hominem".<br><br>Not signing your name is no more likely to invalidate what you say, than your race, colour, gender, or anything else.<br><br>Ask any poet for the name to be found at the bottom of some of the greatest verse ever written: "anonymous".</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635437">\
	 <div id="dsq-comment-header-9635437" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635437" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635437" href="http://morphemetales.blogspot.com/" target="_blank" rel="nofollow">Curt</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635437" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635437" class="dsq-comment-message">Robert:<br><br>I agree with you completely that all journalists, bloggie or not, should check three sources. But I can tell you, from personal experience writing and reporting on the staffs of both a paper and a radio station (both allegedly "credible") that this rarely happens. And it will continue to happen less and less as the pressure to fill up inches/minutes is the order of the day. As "credible" news organizations continue to consolidate, the bottom line (I mean profit at any cost) will contine to dominate. This is not just happening with the big guys. When a newspaper wants its reporters to write up to 5 articles a day? You can rest assured there will not be a single article with three sources.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635438">\
	 <div id="dsq-comment-header-9635438" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635438" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635438" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635438" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635438" class="dsq-comment-message">Ricky: unfortunately I like listening a lot more to people who are credible. Anonymous people are NOT credible.<br><br>Dominic: when you write headlines like this: <a href="http://irwebreport.blogsome.com/2006/03/26/microsoft-blogger-scoble-wants-to-censor-unfriendly-blogosphere/" rel="nofollow">http://irwebreport.blogsome.com/2006/03/26/micr...</a> "Microsoft blogger Scoble wants to censor unfriendly blogosphere" that demonstrates you have absolutely no clue what truth is.<br><br>I never advocated censoring bloggers. Even unfriendly ones. If I did, I\'d delete your posts here. I DID advocate not listening to those people who put crap out there. Glad you demonstrated that you don\'t know the difference. You misrepresented my point. Therefor you demonstrated you are NOT a defender of truth.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635439">\
	 <div id="dsq-comment-header-9635439" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635439" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635439" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635439" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635439" class="dsq-comment-message">Curt: that\'s cool, but we get the journalism we deserve. Do we want the kind that Dominic is printing? Or do we want stuff that\'s at least fair and objective?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635440">\
	 <div id="dsq-comment-header-9635440" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635440" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635440" href="http://irwebreport.blogsome.com/" target="_blank" rel="nofollow">Dominic Jones</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635440" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635440" class="dsq-comment-message">Robert,<br><br>I applaud your passion for Microsoft and defending the company. The past week has been hard for you, as you have said.<br><br>You\'d like to stop people writing rubbish or not linking to people who write what you think or know is rubbish.<br><br>You wish people would take your word for it that 60% of the Vista code in not garbage, or at least that it\'s impossible to rewrite that much before the deadlines.<br><br>You wish we weren\'t all so dumb as to believe a muckraking journalist who knows how not to let the facts get in the way of a good story.<br><br>I can fully understand how you feel. The powerlessness to stop the meme must be frustrating.<br><br>But you need to chill, recognize that people are not stupid.<br><br>Just give them access to all sides of the story, and let them decide. As an old editor or mine used to say, "the truth will out."<br><br>So your strategy should be to link to this guy\'s stuff AS MUCH AS POSSIBLE to show people just what he\'s up to. And to show that you\'re not afraid to point to what he says.<br><br>How about you go through his site and pick out all the pieces he\'s written that you consider rubbish and  write them up as "Is this credible journalism?"<br><br>Or you could just have the PR people put out a press release denying the claim and telling us exactly what is being done with Vista and why.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635441">\
	 <div id="dsq-comment-header-9635441" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635441" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635441">Oscar</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635441" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635441" class="dsq-comment-message">If you care about journalistic integrity, why link to Zoli\'s blog? He says that Jobs basically did Apple a favor by doing the net share settlement. Not true. It\'s no favor to the company when they use company cash to buy back shares. That\'s a corporate finance decision unrelated to Job\'s tax situation. It\'s clear Zoli doesn\'t know anything about corp finance or taxes, but feels free to write about it anyway. There\'s no integrity in that.<br><br>He also makes a dig at Bill Gates at the bottom of the post because the picture of Gates shows a Mac in the background. Gates used to be a huge cheerleader for the Mac and Microsoft continues to support the platform. Only in the the conspiracy-theory-addled mind of the Mac fanatic does Gates hate the Mac and want to destroy it. How many times have you heard Steve Jobs publicly dis Microsoft and Gates? Too many to count. How many times have you heard Bill Gates publicly dis Apple and Jobs?<br><br>The problem with bloggers is that they feel they can write about any subject, even when they don\'t know what they\'re talking about. Many blog posts are nothing more than self-righteous, biased opinion paraded as fact. And if you link to zealots, even ones on the "other side" in a weak attempt at objectivity, you can\'t really pretend to stand for journalistic integrity.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635442">\
	 <div id="dsq-comment-header-9635442" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635442" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635442" href="http://www.richbrownell.com/" target="_blank" rel="nofollow">Richard Brownell</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635442" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635442" class="dsq-comment-message">Robert: Remember when I emailed you a few months back and said you were getting too angry and needed to take a vacation? You weren\'t this bad then. As a pseudo-internet-almost-friend-through-blogging, I suggest some heavy drinks and a long nap.<br><br>Also, from what I can tell, you have completely removed any separation of work and personal life. You are available 24/7 as a Microsoft employee. And that\'s great for Microsoft. But I hope you find some time to be a Scoble as well.<br><br>You say you want only smart readers on your blog. But I would guess it\'s the smart that ones that would stop coming first when you start yelling at your readers. Just food for thought, and yes I know if you read my blog you know I don\'t always practice what I preach ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635443">\
	 <div id="dsq-comment-header-9635443" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635443" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635443">Dekks Herton</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635443" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635443" class="dsq-comment-message">Seeing as MS are a company that values spin over reality at times i find your cries rather laughable.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635444">\
	 <div id="dsq-comment-header-9635444" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635444" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635444" href="http://irwebreport.blogsome.com/" target="_blank" rel="nofollow">Dominic Jones</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635444" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635444" class="dsq-comment-message">"we should now start deriding people who link to non-credible sources." I call that censorship through coersion.<br><br>"I wish Memeorandum (and other memetrackers like TailRank) had a "no follow" link so that when I link to something I can tell Memeorandum\'s engine that I don\'t want the linked article to go up." I call that censorship.<br><br>"Some bloggers don\'t know who is a credible journalist and who isn\'t." Whose definition are you using of credible? Yours? That\'s censorship of a sort.<br><br>"We need to be vigilant against bad journalism." And who defines what is bad. You? Censorship.<br><br>To my mind, any attempt to control what people think -- by banning them or not linking to them or whatever other action -- is censorship.<br><br>I STAND BY MY HEADLINE. You do want to censor the blogosphere.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635445">\
	 <div id="dsq-comment-header-9635445" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635445" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635445">Dave</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635445" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635445" class="dsq-comment-message">Richard - Robert: I agree.<br><br>I unsubscribed Friday because of Robert\'s, uh, personal attacks on me in his comments - attacks he has a total right to do, however personally unfair. I thought I\'d come back one more time to see how things are going with Robert...<br><br>You hit it right on Richard.<br><br>It\'s one thing for him to post like we simply read his words and take them as gospel truth. It\'s another for him to believe it.<br><br>What\'s the saying? The proof is in the pudding? (Or something like that.)<br><br>Robert wants us to believe he is (a) objective, (b) not biased to critical posts about Microsft, (c) that he comes from - an appearantly - past age of things where bloggin is positive....<br><br>And when it comes to that moment of truth.... that moment where he could have proved to us this.... he took 2 days to attack someone - followed by many others in comments - instead of providing us with details.<br><br>Yes Robert. I\'m STILL only providing you with my first name only. Not last name. No place of emplyment. And no blog. Guess that makes you the bigger man.... in spite of your very bitter words that defy everything you\'ve said FOR YEARS prior to this weekend.<br><br>Deal with it.<br><br>And I\'m quite sure you can\'t understand me right now.... but I do mean this in a positive way.<br><br>You HAVE changed. Just like the environment has too.<br><br>Better? Worse? I have no clue. But since there ARE more sources for "credible" journalism than the MSM and PR types like who have (so far) spoken for MS.... I\'d have to say it ain\'t worse.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635446">\
	 <div id="dsq-comment-header-9635446" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635446" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635446" href="http://www.zoliblog.com/" target="_blank" rel="nofollow">Zoli Erdos</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635446" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635446" class="dsq-comment-message">Oscar, a stock repurchase is often a good move for a company, but if you read my post, you realize I am not analizing the situation and much as quite someone that has facts, and point out my preference for that, rather then the summary judgement of "Jobs dumping stock, (the ship is sinking)".<br><br>As for the Gates photo - oh, man, you\'re putting word in my mouth. You left your sense of humor at home today, I suppose (the smiley in the post could have helped).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635447">\
	 <div id="dsq-comment-header-9635447" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635447" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635447" href="http://www.zoliblog.com/" target="_blank" rel="nofollow">Zoli Erdos</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635447" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635447" class="dsq-comment-message">wow, too many typos above, this is what I meant:I am not analizing the situation as much as quote someone that has facts,</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635448">\
	 <div id="dsq-comment-header-9635448" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635448" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635448" href="http://brh.numbera.com/" target="_blank" rel="nofollow">Ben Hollis</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635448" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635448" class="dsq-comment-message">I guess I\'m the only one who was intrigued by this statement:<br><br>"I wish Memeorandum (and other memetrackers like TailRank) had a "no follow" link so that when I link to something I can tell Memeorandum\'s engine that I don\'t want the linked article to go up."<br><br>There actually are ways of making a link have no Google juice or showing your opinion of the linked site. Check out <a href="http://googleblog.blogspot.com/2005/01/preventing-comment-spam.html" rel="nofollow">the nofollow attribute</a>, which I know Scoble\'s aware of. There\'s also a neat microformat called <a href="http://microformats.org/wiki/vote-links" rel="nofollow">VoteLinks</a> that allows you to tag a link as to whether you support the linked content or not.<br><br>If Memeorandom or other popularity-tracking sites took these attributes into account when ranking things, it wouldn\'t be censorship. It would just be making a link more meaningful, and making the job of these popularity-trackers easier. When Scoble refuses to link to a story he doesn\'t like, it denies me the ability to check it out for myself. But I also don\'t want to see those bad links helping out the linkee. It would also be cool to see in Memeorandom "this article had 34 votes for, 26 votes against, and 120 ambigous links".</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635449">\
	 <div id="dsq-comment-header-9635449" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635449" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635449" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635449" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635449" class="dsq-comment-message">Robert<br><br>Put this post as your background. And when your finders are flying, and you\'re in a "OMGI\'MFIRST" fuge, read it until you calm down, and make sure that what you\'re writing is accurate, and what you\'re saying is the precise message you want to get across.<br><br>If you want things to change, you must set that example in your writing. If you want things to be better, you must be better as well. No more "Oh, well, it was hard to get ahold of the guy" stuff. If you can\'t verify it, don\'t post it. If it means you delay your posts by an hour, you do that. You\'ve been getting better about it, but you have to set the example for at least this site.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635450">\
	 <div id="dsq-comment-header-9635450" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635450" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635450" href="http://technovia.typepad.com/" target="_blank" rel="nofollow">Ian Betteridge</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635450" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635450" class="dsq-comment-message">Robert, I really think you need to take a step away from the keyboard, take a deep breath, and go spend some more time with your family. You\'re getting *way* overheated about this, and it doesn\'t sound like the Robert Scoble I respect and enjoy reading at the moment.<br><br>To elaborate, when you say: "Ricky: why, again, am I listening to someone who doesn’t even have the courage to sign his/her name on what he/she writes?"<br><br>Perhaps because Ricky is writing something pretty sensible when he says "It is NOT \'what you link to\' that defines the service that you give to your readers. It is \'what you say about it\'"<br><br>And when you say "anonymous people are not credible" you\'re falling into one of the oldest traps in the book. Stating that someone who chooses to keep their identity quiet is "not credible" *no matter what they say* is the exact equivalent of stating that nothing you say about Microsoft is credible because you happen to work there. The people who sneer "Yeah, Scoble, you can\'t trust him because he works for Microsoft" are making exactly the same call. They\'re judging you not on what you say, but on who you are.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635451">\
	 <div id="dsq-comment-header-9635451" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635451" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635451" href="http://tinfinger.blogspot.com/" target="_blank" rel="nofollow">Paul Montgomery</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635451" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635451" class="dsq-comment-message">I thought the conversation was supposed to be naked. That means all the naughty bits are on display, no matter how unsightly.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635452">\
	 <div id="dsq-comment-header-9635452" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635452" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635452" href="http://www.arnoldit.com/" target="_blank" rel="nofollow">Stephen E. Arnold</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635452" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635452" class="dsq-comment-message">Mr. Scoble, for whom do you work?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635453">\
	 <div id="dsq-comment-header-9635453" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635453" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635453" href="http://lqblog.com/" target="_blank" rel="nofollow">Dave Fourputt</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635453" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635453" class="dsq-comment-message">The infamous Comic Strip blogger has now "attacked" Scoble.<br><br>Is nothing sacred?<br><br><a href="http://comicstripblog.com/?p=212" rel="nofollow">http://comicstripblog.com/?p=212</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635454">\
	 <div id="dsq-comment-header-9635454" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635454" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635454" href="http://morphemetales.blogspot.com/" target="_blank" rel="nofollow">Curt</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635454" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635454" class="dsq-comment-message">Robert: Just because something is doesn\'t mean it\'s as it ought to be. Or course we don\'t deserve bad journalism (or its variants) at any time. But we get it. All we can do is decide to accept it or reject it. What you\'re describing with the Register is the real problem with journalism, not the alleged political biases that take up so much of the news (ironically). Perhaps you\'ll convince enough people of the Register\'s malfeasance that it will cease to be a viable site. I will certainly regard it with a greater skepticism next time I encounter it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635455">\
	 <div id="dsq-comment-header-9635455" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635455" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635455" href="http://www.shserver.ch/" target="_blank" rel="nofollow">shserver</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635455" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635455" class="dsq-comment-message"><a href="http://www.shserver.ch" rel="nofollow">http://www.shserver.ch</a><br><br>billigstes schweizer webhosting kontaktieren sie uns noch heute!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635456">\
	 <div id="dsq-comment-header-9635456" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635456" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635456">Dmad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635456" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635456" class="dsq-comment-message">Well, I guess all the information we got to ultimately bring down Richard Nixon was not credible because it came from an "anonymous" person that refused to give his name.  Man! Luckily Woodward and Bernstein weren\'t as apoplectic as you are.  Imagine if every journalist took the position you did, Scoble, and chose not to listen to people who refused to identify themselves?<br><br>I guess the book "Primary Colors" should have never been intially published, either.<br><br>I now know where NOT to send my kids to study journalism if they want to.<br><br>I guess we should start ignorning mini-microsoft.  Few know who he is, or even if he currently works for Microsoft.  Can we assume you\'ve unsubcribed to him (her?), Scoble?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635457">\
	 <div id="dsq-comment-header-9635457" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635457" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635457">Ethan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635457" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635457" class="dsq-comment-message">@44: Don\'t you have the guts to trackback in English?! How can anyone understand what you are saying?<br><br>(That would be sarcasm, folks.)<br><br>All I will say about this thread is this: I recently asked "The Head Lemur" to provide me with his blogging pedigree. I was kidding when I did this. The lashing out at "Ricky" above shows that I was about 14 days +/- ahead of the curve.<br><br>Papers, please.<br><br>(Nevermind this comment, by the way, as it is "unsigned".)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635458">\
	 <div id="dsq-comment-header-9635458" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635458" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635458" href="http://tailrank.com/" target="_blank" rel="nofollow">Kevin Burton</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635458" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635458" class="dsq-comment-message">Hey Robert...<br><br>The nofollow rel attribute would actually be fine for this.  I\'m not sure if Memeorandum supports it.<br><br>The problem I have with it is that within comments it might be nice to follow a nofollow attribute.<br><br>I\'ve blogged about this in the past:<br><br><a href="http://www.feedblog.org/2005/08/nofollow_consid.html" rel="nofollow">http://www.feedblog.org/2005/08/nofollow_consid...</a><br><br>"At the time it really bothered me since while it would in fact punish spammers it would also publish bloggers since legitimate links wouldn\'t be included within ranking algorithms (which yielded to nofollow). The problem was that at lot of people went storming through the gate with their support for nofollow."<br><br><br>...... I have a better idea though.  Maybe we could have a central repository for bloggers so that thhey can link to an MSM site and note how reputable it is.<br><br>I\'ve had problems with MSM rags in the past (including the print version of Wired (not the online one)) so I can feel your pain.<br><br>Onward!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635459">\
	 <div id="dsq-comment-header-9635459" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635459" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635459" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635459" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635459" class="dsq-comment-message">Dmad: Mini Microsoft is NOT anonymous. I know at least one person, Jay Greene at Business Week, who knows who he is and has verified he works at Microsoft. That\'s already FAR MORE information than I know about you.<br><br>Also, go back and study the Watergate era. I did in journalism school. They held the story for weeks because they couldn\'t verify it with a second source.<br><br>Getting a second source, particularly when it\'s an anonymous one, is tantamount to keeping credibility and ensuring you aren\'t being used to hoodwink your readers.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635460">\
	 <div id="dsq-comment-header-9635460" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635460" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635460" href="http://tech.memeorandum.com/" target="_blank" rel="nofollow">Gabe</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635460" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635460" class="dsq-comment-message">Actually, if you link to the memeorandum permalink instead of to the article itself, you impart no Google/memeorandum juice to the article, send no direct traffic to the article, and still get your post associated with the article on memeorandum!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635461">\
	 <div id="dsq-comment-header-9635461" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635461" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635461" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635461" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635461" class="dsq-comment-message">Gabe, good to know!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635462">\
	 <div id="dsq-comment-header-9635462" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635462" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635462" href="http://blogs.msdn.com/sriram" target="_blank" rel="nofollow">Sriram Krishnan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635462" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635462" class="dsq-comment-message">I posted this on Dominic\'s blog. I was talking to a bunch of other internal folks and we cannot believe that people are actually taking this story seriously. Sheesh!<br><br>I dont understand why Scoble or Microsoft has to \'prove\' it. For example, let me make a random accusation off the top of my head here. I\'m going to say that using Mac OS X has hidden back doors put in by a terrorist organization. And my source. I\'m going to say that my source is an \'anonymous\' insider inside Apple.<br><br>Now, who needs to prove/disprove this claim? Does Steve Jobs  need to come out and say Apple is not hand-in-glove with the Al-Qaeda? Or does he need to sue me?<br><br>I hope you see where I\'m going with this - the burden of proof is always on the accuser.Just like I need to prove this nonsensical claim about Apple, so does David Richards. A past as in \'Fleet Street\' does not proof make.<br><br>In this specific case, this 60% thing is a nonsensical statement. You\'ve already seen blog posts from Larry Osterman, Scoble and the XBox team talking about how false it is. What more proof do you want? Code diffs for the next 4 months?<br><br>Vista is 10s of millions of lines of code and is a few months away from shipping. Knowing our internal processes, I expect all teams to be really locked down now and focussing on stabilizing the operating system. Rewriting 60% is not possible if we want to ship this decade.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635463">\
	 <div id="dsq-comment-header-9635463" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635463" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635463">Dmad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635463" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635463" class="dsq-comment-message">48.  But in the end they went with the one "anonymous"source, right?   Really, man, the ad-hominem  comments are really childish.<br><br>Whether you know me or not, does that take away from discussing the value of getting Brian Valentine on Channel 9 to discuss the current state of Vista?  Having worked with Brian years ago during some early adopter programs, I can tell you, (as I\'m sure you know), he can be quite entertaining, as well as honest and up front. Again, just a suggestion.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635464">\
	 <div id="dsq-comment-header-9635464" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635464" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635464">david zotter</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635464" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635464" class="dsq-comment-message">Hey Robert-<br><br>I don\'t have first hand knowledge of whether Vista needs 0.6%, 6%, or 60% of the source code rewritten.<br><br>Is it possible that they can rewrite 60% of such a bloated OS by January 07?  Okay, probably not.<br><br>Is it possible that 60% *should* be rewritten (or better tested)?  Yes, without question.<br><br><br>I hope you guys get the next generation right!  People hate dealing with Microsoft bugs…especially with products that they don’t love.<br><br>-E. David Zotter</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635465">\
	 <div id="dsq-comment-header-9635465" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635465" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635465" href="http://larryborsato.com/" target="_blank" rel="nofollow">Larry Borsato</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635465" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635465" class="dsq-comment-message">Actually Robert you are promoting censorship of bloggers when you say this:<br><blockquote><i>But, we should now start deriding people who link to non-credible sources. I will. </i></blockquote><br><br>It would seem that you are trying to suppress ideas or expression by threatening bloggers who link to non-credible sources (as defined by you).<br><br>It\'s a free country, and people have every right to link to whatever they want, and to suggest otherwise is to censor them. It doesn\'t matter if what they link to is true or not; they have every right to make fools of themselves (i.e. even the Ku Klux Klan has the right to free speech).<br><br>People lacking in common sense will believe whatever they want to. Threatening them only reflects badly on you.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635466">\
	 <div id="dsq-comment-header-9635466" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635466" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635466" href="http://irwebreport.blogsome.com/" target="_blank" rel="nofollow">Dominic Jones</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635466" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635466" class="dsq-comment-message">Sriram, I posted this in reply to your comments and questions:<br><br>The onus to prove the story is on the writer. That\'s a heavy burden, and partly why we generally attach credibility to what journalists do.<br><br>The company doesn\'t have to prove anything. It simply has to deny or correct the facts in the story.<br><br>In this case, it has not denied -- officially -- that up to 60% of the Vista code needs to be rewritten.<br><br>Yes, individual employees have denied and made very logical arguments why this story is wrong and not credible. But individuals are not speaking on behalf of Microsoft. If they get it wrong, the company itself is not accountable for these individual employees\' statements unless they are officers or official spokespersons on behalf of officers. Last time I checked, bloggers are not designated officers or spokespersons for the company.<br><br>What I and people like <a href="http://www.nevillehobson.com/2006/03/25/fud-surrounds-vista/" rel="nofollow">Neville Hobson</a> are saying is "kill this thing now by getting out an official company statement." Preferably that statement will tell us how much of the code is broken and how much needs to be fixed.<br><br>But there has been no official statement or denial. Add to this the fact that Microsoft\'s PR people spun the delay of Vista as a kind of good news story, the company\'s credibility is vulnerable.<br><br>Scoble going off half-cocked and calling people "slimebags" and liars and "jerks" and dismissing the real experience of a real journalist, without being specific about what the real story is, has not helped things for MSFT.<br><br>Then, importantly, he calls for his followers to form a blogophere guardian angels patrol to weed out the "non-credible journalists..."<br><br>Sorry, that\'s going too far. He said lets deride those we don\'t like.<br><br>Instead, we should deride those who suggest that it is acceptable to deride those we don\'t like.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635467">\
	 <div id="dsq-comment-header-9635467" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635467" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635467" href="http://www.cadenhead.org/workbench/" target="_blank" rel="nofollow">Rogers Cadenhead</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635467" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635467" class="dsq-comment-message">When you don\'t link to something you are criticizing, you\'re punishing your audience. It also implies some doubt about what you\'re writing, as if you don\'t want your readers to look at the source and decide for themselves.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635468">\
	 <div id="dsq-comment-header-9635468" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635468" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635468" href="http://weblogs.macromedia.com/jd" target="_blank" rel="nofollow">John Dowdell</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635468" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635468" class="dsq-comment-message">re: the repeated Woodward &amp; Bernstein analogies, folks here are still assuming they got Truth from WaPo. I\'m not sure... I was exposed to the evidence from Hougan, Colodny and Gettlin in the late 80s and have been distressed since that these legit questions have flown beneath the radar of "professional news" reporting.<br><br>Main takeaway: Let\'s not assume that what we know is all there is, okay?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635469">\
	 <div id="dsq-comment-header-9635469" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635469" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635469" href="http://sunandfun.blogspot.com/" target="_blank" rel="nofollow">Mr. Sun</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635469" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635469" class="dsq-comment-message">#45 Dmad:<br><br>Woodward and Bernstein\'s source for their reports that brought down Richard Nixon was the infamous "Deep Throat", who was only "anonymous" to us outsiders, but all along, both Woodward &amp; Bernstein knew who he was -- one W. Mark Felt, an FBI high-ranking officer, whose identity was revealed in 2005.<br><br>Deep Throat on Wikipedia -- <a href="http://en.wikipedia.org/wiki/Deep_Throat_%2528Watergate%2529" rel="nofollow">http://en.wikipedia.org/wiki/Deep_Throat_%28Wat...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635470">\
	 <div id="dsq-comment-header-9635470" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635470" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635470">J. Random Poster</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635470" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635470" class="dsq-comment-message">Orlowski is nothing but a lower-budget Dvorak.  Don\'t expect anything close to credible reporting from him, and you won\'t be disappointed.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635471">\
	 <div id="dsq-comment-header-9635471" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635471" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635471">me</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635471" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635471" class="dsq-comment-message">Who the hell is Robert Scoble?  Looks like some at-ass loser...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635472">\
	 <div id="dsq-comment-header-9635472" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635472" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635472">Simon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635472" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635472" class="dsq-comment-message">Robert,<br><br>I see MS is still a major banner-ad sponsor of The Register.<br><br>Clearly, you have nothing to do with where the marketing budget is spent. But there can\'t be any harm in giving your opinion to those with the purse strings.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635473">\
	 <div id="dsq-comment-header-9635473" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635473" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635473" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">scobleizer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635473" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635473" class="dsq-comment-message">Simon: the problem is that they have an audience of tech users who have money. To NOT advertise to that audience would be irresponsible. Unfortunately as long as people want to read this kind of "journalism" (and I use that word lightly) then we\'ll need to be there advertising.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635474">\
	 <div id="dsq-comment-header-9635474" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635474" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635474">nuvaslacker</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635474" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635474" class="dsq-comment-message">The only part of the Register that is definitely, absolutely, literally true is BOFH.<br><br>All else is windy wittering.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635475">\
	 <div id="dsq-comment-header-9635475" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635475" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635475" href="http://mark.aufflick.com/" target="_blank" rel="nofollow">Mark Aufflick</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635475" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635475" class="dsq-comment-message">I like The Register. You know it\'s trashy, but trashy news makes money because people like it!<br><br>Surely people don\'t really believe everything they read in a news site whose tagline is "Biting the hand that feeds IT" and who hosts the BOFH? Some people will, sure, but then some people probably believe what they read in The Onion.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635476">\
	 <div id="dsq-comment-header-9635476" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635476" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635476" href="http://www.p0mi.com/" target="_blank" rel="nofollow">Dan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635476" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635476" class="dsq-comment-message">I find your frequent use of "Here\'s a hint" very condescending.  If you want to say something just say it, don\'t hint around it like we\'re idiots.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635477">\
	 <div id="dsq-comment-header-9635477" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635477" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635477" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635477" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635477" class="dsq-comment-message">Dan: here\'s a hint: it\'s something I picked up in usenet and newsgroup discussions. I\'ll try to delete it from my vocabulary, but sometimes I like being condescending. It\'s better than kicking a dog.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635478">\
	 <div id="dsq-comment-header-9635478" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635478" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635478">Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635478" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635478" class="dsq-comment-message">I think this is very very rich coming from someone who works for a company that feeds wheelbarrow loads of dung to the press on a daily basis. Microsoft has no credibility whatsoever. Now you\'re whingeing about people that don\'t tell the truth, the whole truth and nothing but the truth? MS has been convicted in court as a monopolist, has left a trail of shattered innovative companies in it\'s wake while it grabs every penny it can. And now we must feel sorry for you? O boo hoo.<br>Quote:<br>"Cause they lied about me last year and didn\'t even care about the damage they did to their brand. They just want you to visit and click on their ads." And you want us to come here and hang on every word you say. Are your motives purely altruistic? I don\'t think so. Oh and they did so much damage to their brand they went under, oh no wait a minute, they didn\'t. I think you overestimate your own popularity and influence.<br>And thanks for all the helpful hints too on how to spot "non-credible journalists" but unfortunately we are not the brain damaged morons you and Microsoft so desperately wish we are. MS is finding out much to it\'s own pain that you cannot bully and bullshit people indefinitely.<br>Your article is condescending and another insincere attempt to paint Microsoft as this beleaguered underdog that just wants the best for everybody and is just so misunderstood.<br>I\'m sure you link to Microsoft on a regular basis. They are a non-credible source, should we start deriding you?<br>"We need to be vigilant against bad journalism" - I\'m going to throw up.<br>I forgot why I haven\'t been here for some time but I remember now, you have no credibility.<br>Enough said.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635479">\
	 <div id="dsq-comment-header-9635479" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635479" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635479">Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635479" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635479" class="dsq-comment-message">I left a comment and was about to leave when I saw this:<br>"Simon: the problem is that they [The Register] have an audience of tech users who have money. To NOT advertise to that audience would be irresponsible. Unfortunately as long as people want to read this kind of “journalism” (and I use that word lightly) then we’ll need to be there advertising."<br>What a clanger!<br>Wow, I\'ve haven\'t seen someone contort a viewpoint so badly to try and make something stick for a long time. The last person with so much entertainment value was the Iraqi Information Minister telling the journalists in Iraq how they were going to defeat those American Oppressors when over his shoulder you could see American tanks rolling into Baghdad...<br>So you are going to take this strong moral stand point against bad bloggers and non-credible sources but your moral viewpoint evaporates as soon as there is money involved? Before I was just kinda outraged by your thoughtless comments but this is so bad it is actually embarrassing.<br>I personally think that you have spent an enormous amount of time building up your credibility but you have just shown your true colours and blown all that credit right out the window. When I left my last comment I thought I would come back another time to see what you were up to, now I just know I won\'t, what\'s the point?<br>Don\'t worry about firing this "ignorant" reader, I resign!<br>Bye bye.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635480">\
	 <div id="dsq-comment-header-9635480" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635480" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635480">Hilary</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635480" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635480" class="dsq-comment-message">With all due respect Robert, I think you need to take a little bit of time out. In the past couple of days your posts have started to display a real "siege" mentality.<br><br>To my mind the acme of that has been the way you have gone on the offensive and started to attack people. As an important PR rep for Microsoft I understand that, at times, that is part of your job. Just as I understand that it is part of your job to "spin" news.<br><br>The question at issue here is how you go about doing that in the age of instant analysis, where editorial, weblogs and news websites are so easily conflated into a broad stream of information.<br><br>For me you are an important source of information. I\'m always mindful of your job, and the colour that will lend to your writing. Just as I am always mindful of the colour and slant of the register articles. When reading instant mediums it would be foolish not to be mindful of that. Having said, I want you to remember in the future that when you go on the offensive, you had better do it carefully because _your_ reputation will be as much at stake as the person (or media outlet) you are attacking.<br><br>To wit, your statement: "Some bloggers don\'t know who is a credible journalist and who isn\'t. Hint: anything the Register writes is NOT credible. Why do I say that? Cause they lied about me last year and didn\'t even care about the damage they did to their brand. They just want you to visit and click on their ads."<br><br>You know full well that is an poorly considered, emotive, totalising statement that can easily be disproved, and in disproving it your credibility suffers just as much as Andrew Orlowski\'s cred suffered last year.<br><br>Given that, was it such a smart move? Was it worth the cost? Do you seriously think you come off looking better than The Register by doing it?<br><br>I expect more from you, and you\'ve disappointed me, and I\'ll never give what you say as much credence as before, and I imagine many of your readers feel the same.<br><br>Yes, the register and andrew orlowski sometimes get it wrong. Perhaps you have a basis for attributing it to something more than human error, instant reporting, deadlines etc. But you\'ve presented your personal opinion as a totalising fact, and frankly the evidence you put forward just isn\'t good to support it.<br><br>You work in PR and are fully conversant with spinning the news, yet you go apocalyptic when a news source makes a mistake, or rushes to  print an article that might not be completely correct, or displays something less than perfect objectivity. It verges on hypocrisy. Instead why can\'t we all acknowledge that no one source of information should be trusted entirely. That no one article or media outlet is objective - not the times, not the New York Times, not the register and not your blog - people would be crazy to regard your weblog as an unencumbered news source, and it would be a rather foolish reader that treated the reg as an unencumbered news source either.<br><br>Instead readers need to assemble their own opinions of events by reading multiple sources and comparing and contrasting them. That\'s the value of listening and participating in these conversations you\'re so passionate about, and if you want to continue being treated as a credible speaker in that conversation you need to take a step back and think about what\'s happening, what your saying, and all the things at stake. Its unfair that you have to reach such a high standard when others don\'t appear to be doing the same, but you\'re paid to try and get good coverage and rapport for microsoft, and you can\'t do that without credability.<br><br>I\'m sorry to lecture and sound patronising, but I\'m surprised at the basic error you\'ve made here. Perhaps you can use this scenario in the revised edition of your book? "casualities in a crisis - your tone, your credibility, and your readers".<br><br>Hint: Get A Grip.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635481">\
	 <div id="dsq-comment-header-9635481" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635481" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9635481">pb</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635481" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635481" class="dsq-comment-message">Scoble : Tells me that the writer can\'t stand up to criticism.<br><br>You tell them, bud.<br><br>Hilary\'s right. The Register has a huge pro audience and it\'s earned much of it through its coverage of Microsoft - through really great legal and business analysis. And BOFH, heh.<br><br>Of course this makes Microsoft nervous. Go figure.<br><br>So Robert when you go off on one of your emotional rants about The Register, and try to bully the publication and its journalists, are you speaking on behalf of Big Corp., or yourself?<br><br>If it\'s Big Corp., it\'s disturbing. If it\'s only yourself, it just looks like you want to dish it out but can\'t take it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635482">\
	 <div id="dsq-comment-header-9635482" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635482" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635482" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635482" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635482" class="dsq-comment-message">Oh I don\'t agree with Robert on much, but the Reg is the Weekly World News of the Tech space.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635483">\
	 <div id="dsq-comment-header-9635483" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635483" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635483" href="http://www.pleon.it/web/blogs/geektalk.nsf/dx/2803200616.58.20GCAKKH.htm" target="_blank" rel="nofollow">Gianni Catalfamo</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635483" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635483" class="dsq-comment-message">Robert,<br><br>although I am no fan of Microsoft, I disagree with most of the s**t that is being thrown at you, and I think you have some nerve in letting all comments in. Kudos to you for that.<br><br>I don\'t know if the 60% story is any true, I read Mini like the next guy, and - let\'s be honest - a lot of people would like to see MS in trouble.<br><br>But the side discussion on corporate blogging (as demonstrated by you) is interesting in its own right.  Is this something every corporate should do?<br><br>I advise my clients to start a corporate blog only if they\'re prepared to trade in the <a href="http://www.pleon.it/web/blogs/geektalk.nsf/dx/2803200616.58.20GCAKKH.htm" rel="nofollow">Credibility Currency</a>, something most companies are not really equipped for.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635485">\
	 <div id="dsq-comment-header-9635485" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635485" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635485" href="http://ipioneer.typepad.com/" target="_blank" rel="nofollow">Mark Johnson</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635485" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635485" class="dsq-comment-message">Yo, Mr. Scoble!  I\'d like to repeat the kudos in the comments for speaking your mind, letting people comment on your post, and responding to criticism later.  Even when you get saucy, you promote a great conversation in the blogosphere. . .and isn\'t that what it\'s all about?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635486">\
	 <div id="dsq-comment-header-9635486" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635486" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635486" href="http://www.dungis.com/" target="_blank" rel="nofollow">Regis</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635486" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635486" class="dsq-comment-message">I just had a quick idea about that nofollow thing...<br>Until everyone supports it, we would just need some scalable solution for a simple javascript redirect.<br>I did that here: <a href="http://www.dungis.com/nofollow?http://scobleizer.wordpress.com/2006/03/26/the-irritant-of-the-non-credible-journalists" rel="nofollow">http://www.dungis.com/nofollow?http://scobleizer.wordpress.com/2006/03/26/the-irritant-of-the-non-credible-journalists</a><br>Only browsers (with javascript enabled) will redirect, so no google juice there. Or is the number of non-js users too big?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635487">\
	 <div id="dsq-comment-header-9635487" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635487" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635487" href="http://niemachujanamariolke.com/nxv" target="_blank" rel="nofollow">Porucznik Borewicznxv</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635487" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635487" class="dsq-comment-message">Kiss me w <a href="http://stinkers.net/" rel="nofollow">poker</a> rurenxv</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635488">\
	 <div id="dsq-comment-header-9635488" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635488" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635488" href="http://www.freelanceworkexchange.com/" target="_blank" rel="nofollow">Rob Palmer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635488" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635488" class="dsq-comment-message">Unfortunately, the Internet has tended to dumb down journalism, now that anyone can post anything online without having to pass it by an editor first.<br><br>It\'s great to have so much freedom of expression, but it does come at a price.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635490">\
	 <div id="dsq-comment-header-9635490" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635490" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635490" href="http://www.vizio.com.au/" target="_blank" rel="nofollow">Stef Wisniewski</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635490" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635490" class="dsq-comment-message">The credibility of the "journalist" just dissolved completely - the event described within the link below appears to have resulted in the expulsion of the "journalist"\'s websites by his (former) hosting provider.<br><a href="http://www.bigpicturebigsound.com/smart-house-plagiarism-868.shtml" rel="nofollow">http://www.bigpicturebigsound.com/smart-house-p...</a><br>More evidence on his "journalistic" talents at <a href="http://forums.whirlpool.net.au/forum-replies-archive.cfm/439341.html" rel="nofollow">http://forums.whirlpool.net.au/forum-replies-ar...</a><br><br>Judge for yourself.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635489">\
	 <div id="dsq-comment-header-9635489" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635489" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635489" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635489" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635489" class="dsq-comment-message">Stef, that\'s amazing. Thanks!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9635491">\
	 <div id="dsq-comment-header-9635491" class="dsq-comment-header">\
	 <cite id="dsq-cite-9635491" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9635491" href="http://www.chattr.de/" target="_blank" rel="nofollow">webci</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9635491" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9635491" class="dsq-comment-message">News sourced to a single source, especially a source lacking a track record, should be handled with care, if at all.<br><br><a href="http://www.chatekle.net" rel="nofollow"> chattr1 </a><br><a href="http://www.chattr.de" rel="nofollow"> chattr team </a></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=the_irritant_of_the_non_credible_journalists&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);
			}
		}
	});
}

})();




