




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": {"3e52515e97343e9a76af7104723345ee": {"username": "Justin", "tumblr": "", "display_name": "Justin", "url": "http://disqus.com/guest/3e52515e97343e9a76af7104723345ee/", "registered": false, "linkedin": "", "blog": "http://www.justinll.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/12/8118/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "46636ae4ac17f058b0931c429229c627": {"username": "Andre Kibbe", "tumblr": "", "display_name": "Andre Kibbe", "url": "http://disqus.com/guest/46636ae4ac17f058b0931c429229c627/", "registered": false, "linkedin": "", "blog": "http://tools-for-thought.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/8/423/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "10395a0aac61e547488f6660bfb87bfd": {"username": "vered", "tumblr": "", "display_name": "vered", "url": "http://disqus.com/guest/10395a0aac61e547488f6660bfb87bfd/", "registered": false, "linkedin": "", "blog": "http://momgrind.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/39/8529/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "2de975a7c6c727eb372ffc90bd67fa56": {"username": "Nathan", "tumblr": "", "display_name": "Nathan", "url": "http://disqus.com/guest/2de975a7c6c727eb372ffc90bd67fa56/", "registered": false, "linkedin": "", "blog": "http://www.nathanhangen.com/blog", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/49/9281/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8f1e63519e4870cfd9dcc97c21171c4a": {"username": "Adam King", "tumblr": "", "display_name": "Adam King", "url": "http://disqus.com/guest/8f1e63519e4870cfd9dcc97c21171c4a/", "registered": false, "linkedin": "", "blog": "http://www.adamkingstudio.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": ""}, "dfc3b2964efc6f152b4fcef98c94a4a9": {"username": "Ian", "tumblr": "", "display_name": "Ian", "url": "http://disqus.com/guest/dfc3b2964efc6f152b4fcef98c94a4a9/", "registered": false, "linkedin": "", "blog": "http://breathesmoke.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": ""}, "1db2b882383281868c8f65046f9cb0a4": {"username": "Laurie", "tumblr": "", "display_name": "Laurie", "url": "http://disqus.com/guest/1db2b882383281868c8f65046f9cb0a4/", "registered": false, "linkedin": "", "blog": "http://www.expressyourselftosuccess.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": ""}, "af1ac1a7753392661e07c1df9e96670c": {"username": "River", "tumblr": "", "display_name": "River", "url": "http://disqus.com/guest/af1ac1a7753392661e07c1df9e96670c/", "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": ""}, "fd3bd441241bed5ba8d6d014d2d56618": {"username": "Andr", "tumblr": "", "display_name": "Andr", "url": "http://disqus.com/guest/fd3bd441241bed5ba8d6d014d2d56618/", "registered": false, "linkedin": "", "blog": "http://underconstructionwww.meta-ce.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": ""}, "faf56f119e838d078c30b55ee6829476": {"username": "Jade", "tumblr": "", "display_name": "Jade", "url": "http://disqus.com/guest/faf56f119e838d078c30b55ee6829476/", "registered": false, "linkedin": "", "blog": "http://www.freelancegypsy.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": ""}, "20c887764b5c84b41238d12cd78678a5": {"username": "Gabe", "tumblr": "", "display_name": "Gabe", "url": "http://disqus.com/guest/20c887764b5c84b41238d12cd78678a5/", "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": ""}, "73ae1548d2c3be36a607f12d1ea49718": {"username": "Mary@GoodlifeZen", "tumblr": "", "display_name": "Mary@GoodlifeZen", "url": "http://disqus.com/guest/73ae1548d2c3be36a607f12d1ea49718/", "registered": false, "linkedin": "", "blog": "http://goodlifezen.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/150/5151/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "16313027e2279dfd23fdb325fa5cb737": {"username": "Amanda Linehan", "tumblr": "", "display_name": "Amanda Linehan", "url": "http://disqus.com/guest/16313027e2279dfd23fdb325fa5cb737/", "registered": false, "linkedin": "", "blog": "http://www.amandalinehan.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": ""}, "2dd0bc594b49e6dfba51ff6aa7c51587": {"username": "Scain", "tumblr": "", "display_name": "Scain", "url": "http://disqus.com/guest/2dd0bc594b49e6dfba51ff6aa7c51587/", "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": ""}, "4bbe07d08b4f6d940c88864030e7c737": {"username": "Joe Louthan", "tumblr": "", "display_name": "Joe Louthan", "url": "http://disqus.com/guest/4bbe07d08b4f6d940c88864030e7c737/", "registered": false, "linkedin": "", "blog": "http://www.iamlivingproof.org/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6422ec99852ad8aa1acecabc73f948e8": {"username": "adam", "tumblr": "", "display_name": "adam", "url": "http://disqus.com/guest/6422ec99852ad8aa1acecabc73f948e8/", "registered": false, "linkedin": "", "blog": "http://fakeempire.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": ""}, "91595370c35c9a2dcba1546d686e62c6": {"username": "Nneka", "tumblr": "", "display_name": "Nneka", "url": "http://disqus.com/guest/91595370c35c9a2dcba1546d686e62c6/", "registered": false, "linkedin": "", "blog": "http://www.balancedlifecenter.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": ""}, "f9a0b72f38860d7601afd5a45bb53394": {"username": "Dana", "tumblr": "", "display_name": "Dana", "url": "http://disqus.com/guest/f9a0b72f38860d7601afd5a45bb53394/", "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": ""}, "9f6c7f740a623445d074ce37d92e0565": {"username": "The Financial Philosopher", "tumblr": "", "display_name": "The Financial Philosopher", "url": "http://disqus.com/guest/9f6c7f740a623445d074ce37d92e0565/", "registered": false, "linkedin": "", "blog": "http://financialphilosopher.typepad.com/thefinancialphilosopher/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/67/3643/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0a2364a2944cbda06ce7a459e37f8938": {"username": "Michael Miles", "tumblr": "", "display_name": "Michael Miles", "url": "http://disqus.com/guest/0a2364a2944cbda06ce7a459e37f8938/", "registered": false, "linkedin": "", "blog": "http://effortlessabundance.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/248/6195/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8670b0702aa4ab60131742d1f23158ad": {"username": "Dave", "tumblr": "", "display_name": "Dave", "url": "http://disqus.com/guest/8670b0702aa4ab60131742d1f23158ad/", "registered": false, "linkedin": "", "blog": "http://dave-2-0.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": ""}, "e25f8a9b0a69812ff5455dcea492e278": {"username": "Nathalie Lussier", "tumblr": "", "display_name": "Nathalie Lussier", "url": "http://disqus.com/guest/e25f8a9b0a69812ff5455dcea492e278/", "registered": false, "linkedin": "", "blog": "http://www.billionairewoman.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/30104/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "1be70f8a5d75ed32725ccb82c4c9e09c": {"username": "Akemi - Yes to Me", "tumblr": "", "display_name": "Akemi - Yes to Me", "url": "http://disqus.com/guest/1be70f8a5d75ed32725ccb82c4c9e09c/", "registered": false, "linkedin": "", "blog": "http://yes-to-me.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/30/1833/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "f4452364458654d86ed7809503a5134a": {"username": "Michael Henreckson", "tumblr": "", "display_name": "Michael Henreckson", "url": "http://disqus.com/guest/f4452364458654d86ed7809503a5134a/", "registered": false, "linkedin": "", "blog": "http://paperweightblog.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/8/349/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "96006396668fe3728ab7a98d05038a91": {"username": "Brice", "tumblr": "", "display_name": "Brice", "url": "http://disqus.com/guest/96006396668fe3728ab7a98d05038a91/", "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": ""}, "3f8f2fae8c2568a702ef9445f5ab84be": {"username": "Blake@YoungDough", "tumblr": "", "display_name": "Blake@YoungDough", "url": "http://disqus.com/guest/3f8f2fae8c2568a702ef9445f5ab84be/", "registered": false, "linkedin": "", "blog": "http://www.youngdough.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": ""}, "727c036e155192aa29b231f785b229d5": {"username": "Benoit", "tumblr": "", "display_name": "Benoit", "url": "http://disqus.com/guest/727c036e155192aa29b231f785b229d5/", "registered": false, "linkedin": "", "blog": "http://litanies.over-blog.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "54711c7f467a76847284cadc5c759b48": {"username": "Johnno", "tumblr": "", "display_name": "Johnno", "url": "http://disqus.com/guest/54711c7f467a76847284cadc5c759b48/", "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": ""}, "a094dcf43385e5506f80417522ed85b8": {"username": "Marc and Angel Hack Life", "tumblr": "", "display_name": "Marc and Angel Hack Life", "url": "http://disqus.com/guest/a094dcf43385e5506f80417522ed85b8/", "registered": false, "linkedin": "", "blog": "http://www.marcandangel.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/11/8965/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "664dfe16d62c0a3823aab230bef4396e": {"username": "Vishnu", "tumblr": "", "display_name": "Vishnu", "url": "http://disqus.com/guest/664dfe16d62c0a3823aab230bef4396e/", "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": ""}, "b0d61257d7d7cb23398e0365b0c6e060": {"username": "Laurie", "tumblr": "", "display_name": "Laurie", "url": "http://disqus.com/guest/b0d61257d7d7cb23398e0365b0c6e060/", "registered": false, "linkedin": "", "blog": "http://www.bigcanyonballoon.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/7/4550/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "24319a157aff8646094c0230efeefbd3": {"username": "Liara Covert", "tumblr": "", "display_name": "Liara Covert", "url": "http://disqus.com/guest/24319a157aff8646094c0230efeefbd3/", "registered": false, "linkedin": "", "blog": "http://blog.dreambuilders.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": ""}, "acb3f9ec09d9681cf324ed2be23612a4": {"username": "bflophil", "tumblr": "", "display_name": "bflophil", "url": "http://disqus.com/guest/acb3f9ec09d9681cf324ed2be23612a4/", "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": ""}, "36fc7a135f690433828545280d0275d1": {"username": "Lindsay", "tumblr": "", "display_name": "Lindsay", "url": "http://disqus.com/guest/36fc7a135f690433828545280d0275d1/", "registered": false, "linkedin": "", "blog": "http://loops.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": ""}, "ec621eb08bb64ddcbd9f83661bf564ab": {"username": "Marshall", "tumblr": "", "display_name": "Marshall", "url": "http://disqus.com/guest/ec621eb08bb64ddcbd9f83661bf564ab/", "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": ""}, "ff062b404f8d58486ea048e5d3c9654d": {"username": "chris", "tumblr": "", "display_name": "chris", "url": "http://disqus.com/guest/ff062b404f8d58486ea048e5d3c9654d/", "registered": false, "linkedin": "", "blog": "http://watdawat.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/5/6585/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e0343e2163473b8791fd81a402e61375": {"username": "Dave Navarro", "tumblr": "", "display_name": "Dave Navarro", "url": "http://disqus.com/guest/e0343e2163473b8791fd81a402e61375/", "registered": false, "linkedin": "", "blog": "http://www.rockyourday.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/34/7152/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "a6a4e742d6b18749619a274296b44af4": {"username": "Petey Wheatstraw", "tumblr": "", "display_name": "Petey Wheatstraw", "url": "http://disqus.com/guest/a6a4e742d6b18749619a274296b44af4/", "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": ""}, "7fa97ba38eff4be6031d4078757abbff": {"username": "Justin", "tumblr": "", "display_name": "Justin", "url": "http://disqus.com/guest/7fa97ba38eff4be6031d4078757abbff/", "registered": false, "linkedin": "", "blog": "http://justinpickard.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "20b0bcab530cfe1564a6ae73c3ef4e18": {"username": "gaston monescu", "tumblr": "", "display_name": "gaston monescu", "url": "http://disqus.com/guest/20b0bcab530cfe1564a6ae73c3ef4e18/", "registered": false, "linkedin": "", "blog": "http://thewoodsmen.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "44bd42f685eb84c39a1d93447f81631b": {"username": "gavin", "tumblr": "", "display_name": "gavin", "url": "http://disqus.com/guest/44bd42f685eb84c39a1d93447f81631b/", "registered": false, "linkedin": "", "blog": "http://www.mobimessenger.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": ""}, "50927142699269a9bcfc57578e7ff5ac": {"username": "J. David Fox", "tumblr": "", "display_name": "J. David Fox", "url": "http://disqus.com/guest/50927142699269a9bcfc57578e7ff5ac/", "registered": false, "linkedin": "", "blog": "http://twitter.com/jdfox", "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": ""}, "24f03401060625ab83ca19020e492132": {"username": "Duff", "tumblr": "", "display_name": "Duff", "url": "http://disqus.com/guest/24f03401060625ab83ca19020e492132/", "registered": false, "linkedin": "", "blog": "http://precisionchange.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/67/3647/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "1b9eaf6ab145cd5d183a7d1a11f90953": {"username": "Slade | Shift Your Spirits", "tumblr": "", "display_name": "Slade | Shift Your Spirits", "url": "http://disqus.com/guest/1b9eaf6ab145cd5d183a7d1a11f90953/", "registered": false, "linkedin": "", "blog": "http://sladeroberson.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8f8ff21a67437febebc70afd19364e95": {"username": "Sad people are sad", "tumblr": "", "display_name": "Sad people are sad", "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": ""}, "21e500fce8c731282aeaf607fb49160f": {"username": "Katie", "tumblr": "", "display_name": "Katie", "url": "http://disqus.com/guest/21e500fce8c731282aeaf607fb49160f/", "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": ""}, "33f439572ba61debcd5ff47eb4dc1f52": {"username": "John Schneider", "tumblr": "", "display_name": "John Schneider", "url": "http://disqus.com/guest/33f439572ba61debcd5ff47eb4dc1f52/", "registered": false, "linkedin": "", "blog": "http://www.schneiderism.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": ""}, "c7e93a45eb39ab703fb94d8d5d3492d9": {"username": "ZHereford", "tumblr": "", "display_name": "ZHereford", "url": "http://disqus.com/guest/c7e93a45eb39ab703fb94d8d5d3492d9/", "registered": false, "linkedin": "", "blog": "http://www.essentiallifeskills.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "f22566bca4b90d7156097afd1649cc89": {"username": "Shooter Gunderson", "tumblr": "", "display_name": "Shooter Gunderson", "url": "http://disqus.com/guest/f22566bca4b90d7156097afd1649cc89/", "registered": false, "linkedin": "", "blog": "http://myspace.com/thespraypaintmanifesto", "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": ""}, "f698687eb2bb3368b87dbedaad0de733": {"username": "Brad", "tumblr": "", "display_name": "Brad", "url": "http://disqus.com/guest/f698687eb2bb3368b87dbedaad0de733/", "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": ""}, "2ff54c5f0bef27babd8d9eed9f380f83": {"username": "Jade", "tumblr": "", "display_name": "Jade", "url": "http://disqus.com/guest/2ff54c5f0bef27babd8d9eed9f380f83/", "registered": false, "linkedin": "", "blog": "http://jadearlindita.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": ""}, "39c160aa0b0af00af8d83e3f7d45fb7f": {"username": "anmari", "tumblr": "", "display_name": "anmari", "url": "http://disqus.com/guest/39c160aa0b0af00af8d83e3f7d45fb7f/", "registered": false, "linkedin": "", "blog": "http://brightbluerain.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": ""}, "06cc4017caf97207c9ba41d904d4bb41": {"username": "Stu | Improved Lives", "tumblr": "", "display_name": "Stu | Improved Lives", "url": "http://disqus.com/guest/06cc4017caf97207c9ba41d904d4bb41/", "registered": false, "linkedin": "", "blog": "http://www.improvedlives.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": ""}, "42344adac9cf02ca0035d7d2bbcb8d1d": {"username": "Daniel Richard | WE", "tumblr": "", "display_name": "Daniel Richard | WE", "url": "http://disqus.com/guest/42344adac9cf02ca0035d7d2bbcb8d1d/", "registered": false, "linkedin": "", "blog": "http://winningeveryone.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/19/4818/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "5e3ee0d0659c2070091bb7bb39401976": {"username": "kate", "tumblr": "", "display_name": "kate", "url": "http://disqus.com/guest/5e3ee0d0659c2070091bb7bb39401976/", "registered": false, "linkedin": "", "blog": "http://datinggod.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": ""}, "000b946d19d71d1e30e1407646ef6ebb": {"username": "Unreal Post", "tumblr": "", "display_name": "Unreal Post", "url": "http://disqus.com/guest/000b946d19d71d1e30e1407646ef6ebb/", "registered": false, "linkedin": "", "blog": "http://www.workpost.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": ""}, "7d0fe5e7cf315bbf6879454baabf56e3": {"username": "Seamus Anthony", "tumblr": "", "display_name": "Seamus Anthony", "url": "http://disqus.com/guest/7d0fe5e7cf315bbf6879454baabf56e3/", "registered": false, "linkedin": "", "blog": "http://rebelzen.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/8/7204/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "7016b8dc5b50473b166a31fe03d4cf2a": {"username": "Thankfull", "tumblr": "", "display_name": "Thankfull", "url": "http://disqus.com/guest/7016b8dc5b50473b166a31fe03d4cf2a/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "Project Mojave Blog", "streaming_realtime": false, "url": "pmblog", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 0, "show_avatar": true, "allow_anon_votes": true, "disqus_auth_disabled": false}, "realtime_enabled": false, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "pmblog", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-15_10:57:54", "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": null}, "realtime_paused": false, "posts": {"18740096": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thanks for making the distinction between", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-10_08:48:33", "killed": false, "user_key": "1db2b882383281868c8f65046f9cb0a4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740098": {"up_voted": false, "ip": "", "has_replies": false, "message": "This was a much-needed jolt to get me back on track! Have you heard of the song 'Real World' by Matchbox 20? It reminds me of this so much, since the real world seems to put up a good fight as we try to escape, but it's completely worth it.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-22_16:06:17", "killed": false, "user_key": "3f8f2fae8c2568a702ef9445f5ab84be", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740100": {"up_voted": false, "ip": "", "has_replies": false, "message": "For those content being \"real\" people:<br><br>\"I do not speak to those who are well employed, in whatever circumstances, and they know whether they are well employed or not; but mainly to the mass of men who are discontented, and idly complaining of the hardness of their lot or of the times, when they might improve them.\" - Thoreau", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-01_12:02:19", "killed": false, "user_key": "f698687eb2bb3368b87dbedaad0de733", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740101": {"up_voted": false, "ip": "", "has_replies": false, "message": "Are", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-01_14:29:23", "killed": false, "user_key": "2dd0bc594b49e6dfba51ff6aa7c51587", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740103": {"up_voted": false, "ip": "", "has_replies": false, "message": "Clay,<br><br>I believe this makes me a \"surreal person\" -- \"unreal\" maybe? Either one, I'll take it.<br>:-)<br><br>I too like your expression \"stepping stone lives\" and I understand your point. But I also believe that you can only find peace, joy, and your next great opportunity when you are in alignment with whatever step you are on/in at any given moment.<br><br>It's the tendency to always be looking at the \"next step\" -- or looking too many steps into the past or future -- that really creates the dissatisfaction.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-01_17:24:38", "killed": false, "user_key": "1b9eaf6ab145cd5d183a7d1a11f90953", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740104": {"up_voted": false, "ip": "", "has_replies": false, "message": "Great post! I like the audio. I'm curious now if everything I have done in my life makes me a real person or unreal person... :) For me, whatever works, whatever makes me happy.<br><br>Happy blogging!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-17_03:36:06", "killed": false, "user_key": "39c160aa0b0af00af8d83e3f7d45fb7f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740105": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ramana Maharishi has a lot o really good Anti Hacks!<br>Robert Anton Wilson also.<br>The best blog in my view.<br>thanks", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-02_18:32:16", "killed": false, "user_key": "fd3bd441241bed5ba8d6d014d2d56618", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740106": {"up_voted": false, "ip": "", "has_replies": false, "message": "Regardless of all the real/unreal debate, I think the key thing that stands out here is that you need to take responsibility with where your life ends up.<br><br>And that means ignoring the conventional wisdom and doing what you are passionate doing.  It means saying \"why the hell not?\" when someone says \"it can't be done.\"<br><br>I've always enjoyed the guidance of that timeless movie, The Princess Bride:<br><br>Buttercup:  \"The Fire Swamp?  We can't go in there - we'll never survive!\"<br>Westley: \"Don't be silly.  You're only saying that because nobody ever has.\"<br><br>Decide what you want, set your own rules, lather, rinse repeat.<br><br>Works for me. :-)", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-03_21:40:57", "killed": false, "user_key": "e0343e2163473b8791fd81a402e61375", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740107": {"up_voted": false, "ip": "", "has_replies": false, "message": "Good article. I believe it is our duty to free people from being \"real people,\" especially our family and children. The world is never going to wake up as long as we keep living for someone else.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-21_21:51:08", "killed": false, "user_key": "2de975a7c6c727eb372ffc90bd67fa56", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740108": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dude, you are totally unreal, no doubt about it.<br><br>I loved this post. It makes me feel better about being a freak. Thank you :-)", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-09-22_00:47:00", "killed": false, "user_key": "7d0fe5e7cf315bbf6879454baabf56e3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740109": {"up_voted": false, "ip": "", "has_replies": false, "message": "Excellent timing - I really needed that.  :)", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-27_19:19:56", "killed": false, "user_key": "7fa97ba38eff4be6031d4078757abbff", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740110": {"up_voted": false, "ip": "", "has_replies": false, "message": "Clay, I'm honored. That's all i know to say.<br>-------------<br><strong>Response:</strong><br>You're an inspiration, dude.  I'm looking forward to the interview.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-27_23:22:33", "killed": false, "user_key": "8f1e63519e4870cfd9dcc97c21171c4a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740111": {"up_voted": false, "ip": "", "has_replies": false, "message": "Clay, do you think that there are some people who are passionate about the 9 to 5 job with all the politics?  Some people get off on that.<br><br>I think I am in transition.  I was in administration for a public school district.  I stood out like a sore thumb.  I was unhappy.  So I decided to start a really cool venture with a friend of mine.  I have never been so passionate about anything before.  I feel freed from all the red tape, politics, and general yuck in the public schools!  I am so pumped about it.  SO am I now unreal?  You tell me.<br>------------------------------<br><strong>Response:</strong><br>I think you're unreal, Laurie.  And congrats on the new venture.  I'm really glad that you're so happy.  It sounds like you've come alive.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-27_23:34:38", "killed": false, "user_key": "b0d61257d7d7cb23398e0365b0c6e060", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740112": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hi,<br><br>A friend sent me a link to your blog.  It was his subtle way of cheering me up.  I'm not sure I would define myself as \"unreal\" as I assure you that I am quite \"real,\"  but the \"unreal\" description you provide could be my own.  It's not an easy choice as there are many ways to be derailed, hence why the link was sent to cheer me up, but it is very worth it.<br><br>Keeping it perhaps - surreal.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_19:39:18", "killed": false, "user_key": "36fc7a135f690433828545280d0275d1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740113": {"up_voted": false, "ip": "", "has_replies": false, "message": "Nice......there is so much more to life if you are living YOUR life.....not someone else's interpretation.  By any chance, are you left handed?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_08:50:47", "killed": false, "user_key": "af1ac1a7753392661e07c1df9e96670c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740115": {"up_voted": false, "ip": "", "has_replies": false, "message": "I like your philosophical direction.  Here are a few of my favorite pieces of wisdom:<br><br>\"You spent the first half of your life becoming somebody.  Now you can work on becoming nobody, which is really somebody.  For when you become nobody there is no tension, no pretense, no one trying to be anyone or anything.  The natural state of the mind shines through unobstructed -- and the natural state of the mind is pure love.\" ~ Ram Dass<br><br>\"Health is the greatest possession. Contentment is the greatest treasure. Confidence is the greatest friend. Non-being is the greatest joy.\" ~ Lao Tzu<br><br>Cheers...<br><br>Kent (The Financial Philosopher)<br>--------------------------------<br><strong>Response</strong><br>Kent, where do you get these amazing quotations?  Are they just sitting in your head most of the time for you to pull out on demand.<br><br>I never thought of the similarities between non-being and \"not being a real person.\"  Thanks for that.<br><br>Also, that Ram Dass quotation is dead on.  Who is he and where did you find it?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_09:43:16", "killed": false, "user_key": "9f6c7f740a623445d074ce37d92e0565", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740116": {"up_voted": false, "ip": "", "has_replies": false, "message": "Interesting post. Most people just aren't that brave, of course. Then again, it wouldn't even occur to most people ...", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_09:47:05", "killed": false, "user_key": "0a2364a2944cbda06ce7a459e37f8938", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740118": {"up_voted": false, "ip": "", "has_replies": false, "message": "Interesting food for thought. Like you mention, all the real innovators are innovative partly because they're different. They live differently, work differently, and come up with different ideas.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_09:47:56", "killed": false, "user_key": "f4452364458654d86ed7809503a5134a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740120": {"up_voted": false, "ip": "", "has_replies": false, "message": "Clay -  I really liked the mention of \"stepping stone lives.\"  Many people (and I've recognized this at times in my own life) do things to get something from it, and not for the intrinsic pleasure that it brings them.<br><br>The only problem is when you find that what you thought you were gonna get from something, doesn't happen the way you thought it would or doesn't happen at all.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_10:01:42", "killed": false, "user_key": "16313027e2279dfd23fdb325fa5cb737", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740121": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hi Clay,<br>I see your point, but I still think your \"real\" and \"unreal\" are a word play.  We decide what is real for us.  I work doing what I like and I work on weekends because I love it.  Or I may take a nap on weekday afternoons. I never bother if someone think this is \"real\" or \"unreal\" -- it sure is real for me.<br>---------------------<br><strong>Response</strong><br>OF COURSE it's word play!  It's meant to be an illustrative distinction.  That's all.<br><br>I agree that we decide what is real for us.  This article is food for thought.  It's a ~1,200 word blog post and it's certainly not exhaustive.  That's all.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_16:19:38", "killed": false, "user_key": "1be70f8a5d75ed32725ccb82c4c9e09c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740122": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have to agree at least somewhat with Jonathon Howard in that, AT TIMES, your posts can seem a little too pep-talky. I'd be interested in finding out what you've experienced from living an unreal life.<br><br>That being said...<br><br>The \"fake unreal life\"... brilliant, not because it's original, but because it's accurate. We, as a whole, could probably stand to live a more unreal life, as you put it, but at the other extreme, we can't simply live the unreal because it's different from the norm. There still has to be purpose to it. I think that's why I'd like you to explain why? ...Why is the unreal life better, except because that's what you say you've chosen?<br><br>You can go even deeper, Clay. I", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_16:35:11", "killed": false, "user_key": "ec621eb08bb64ddcbd9f83661bf564ab", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740123": {"up_voted": false, "ip": "", "has_replies": false, "message": "Absolutely fantastic. I have been enjoying your writing so much lately. The last few entries especially have coincided so well with what I have been experiencing in my life the last few months. It's wonderful to see the thoughtful expressions of someone who was fortunate enough to leave the school system so early.<br><br>I've been reading a lot of <a href=\"http://www.johntaylorgatto.com/hp/frames.htm\" rel=\"nofollow\">John Taylor Gatto</a> recently, which always helps to shake things up in my head so that I don't feel so resigned to structuring my life according to how other people/institutions think it should be. The article linked above is a basic introduction to why modern schooling actively cripples children and how you can move away from that. Even though I found out about him after I had already graduated high school, and quit college, he helped make sense of disquieting feelings I had about the whole experience that were hard to put my finger on. I left college so I could think. Sounds like a crazy paradox I know, but the longer I've been away from school, the more right I know I was. I don't need someone else to tell me what I should think about, or how I should think in general.<br><br>This is one of the main things I think school does, makes you dependent on outside forces, be it people, advertisements, or \"expert\" opinions, to define every last aspect of your life and who you are. It made me laugh when you mentioned how the forces trying to make people \"real\" go into hyper drive in their mid-twenties. I am now 27, and the last couple of years I have made even more of a concerted effort to try and define my life and my mind for myself. It has been a very difficult struggle, with long bouts of depression and feelings of intense emptiness while I let a lot of things go.<br><br>I have gravitated towards phone jobs that allow you space to read and write while in between calls. Less supervision. Less responsibility. That has been one of the hardest things for me, dealing with my choice to work at a job that is not a career so that I can work later in the day and have space to think. This has been one of the first jobs I've had where I am working eight hour days and yet because I'm allowed to go to sleep late at night and wake up midday, I no longer need an alarm clock to drag myself out of bed. I have leisurely \"mornings\" to have tea, write, whatever, before I need to go in. This ended up meaning more to me than I originally expected, I took the late hours at first because there was a pay differential to work at night. So in that sense it is a win/win. The hard part is having people ask me what I \"do\" and in order to answer that question accurately, I have to focus on something other then my job. Because so often when people ask what you do, they are asking where you work, etc. My life has ended up different than that, and I am glad I accepted that's how things need to be for me to be happy.<br><br>For the last few weeks, I have been designing a blog to talk about how much I love food. Making notes about content, designing the header, choosing a color scheme, the whole thing. I'm glad I have creative projects I care about, and that I'm working on creating situations where I can express myself. I wasn't sure I would get to this place in my life. I spent most of my twenties so far working at jobs I hated and spending my free time hiding inside of an online videogame. The events of the last nine months have helped to push me to the other side of that and I feel alive for the first time in many years. I am excited about my future, I am happy about the kind of person I am. I am grateful for encouragement and room in my life to peel away all the layers that have been carefully placed on top of me since I was young that were supposed to define who I am. It is refreshing to realize I've been there all along, I just need to get down to where I am. Thank you for being another person reinforcing those kinds of ideas. Best of luck to you while you work on experimenting with your life.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-29_14:44:22", "killed": false, "user_key": "21e500fce8c731282aeaf607fb49160f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740124": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"stepping stone lives\"  This is exactly the term I've been looking for to describe so many of the folks I used to hang out with -- they've disappeared into the real world.<br><br>Great write!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-01_19:32:10", "killed": false, "user_key": "3e52515e97343e9a76af7104723345ee", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740125": {"up_voted": false, "ip": "", "has_replies": false, "message": "As I was growing up, I used to believe that adults had this thing called \"common sense.\"  Then, when I became an adult myself, I realized this kind of general, widespread mindset is not as far-reaching as I thought.  The idea of \"real\" or \"normal\" people is relative. Some people are apt to make categories and place themselves in them.  Other people will resist categories or simply not fit into existing ones. Who cares?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-03_00:34:00", "killed": false, "user_key": "24319a157aff8646094c0230efeefbd3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740126": {"up_voted": false, "ip": "", "has_replies": false, "message": "Man, everything about me is \"real\". But I do a lot of \"unreal\" things...<br><br>This is a good philosophical topic. Like Vered said, you are a thinker and you have a knack for making people think about their situation, which any good philosopher should.<br><br>I'm curious to know whether you think the U.S. Constitution is a product of \"real\" or \"unreal\" people...", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-03_00:55:13", "killed": false, "user_key": "ff062b404f8d58486ea048e5d3c9654d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740127": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thanks for helping me figure out where I am. Stepping stones.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-09-23_23:19:27", "killed": false, "user_key": "2ff54c5f0bef27babd8d9eed9f380f83", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740053": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have a confession to make: I am a real person. I am married to a real person. We were both raised by real people and are currently raising two real little people. :)<br><br>My two cents: you need to know yourself and know what makes you happy. Some people are happy being \"real\" and in fact, if you keep at it long enough and are successful enough, you do gain not only financial independence but also freedoms such as taking long vacations, deciding how long to work each day, and deciding when to start your day and whether to work from your home or from the office. You are also free to take risks and chances and change direction, because you are financially independent. So in a way, if you \"give\" those 10-15 years to the system, you do get to take back - and you're even young enough to enjoy it.<br><br>But of course, life IS structured when you have a \"real\" job, \"real\" responsibilities and real kids that go to a \"real\" school.<br><br>You, Clay, are incredibly smart and talented. You are also very ambitious which is good, because some philosophical types (you know you are! You are a thinker) lack in the ambition department which does not bode well for success in life. You are young, but you are old enough to know yourself and know what you need in order to be happy. Being \"real\" will make you miserable. It makes a lot of sense for you to be unreal, and it is my opinion that you WILL succeed - in real people's terms. You are already on the path to achieve \"real\" success, on your own \"unreal\" terms. That's just awesome.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-30_04:19:08", "killed": false, "user_key": "10395a0aac61e547488f6660bfb87bfd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740054": {"up_voted": false, "ip": "", "has_replies": false, "message": "Clay<br><br>This is a really inspiring post. The Stepping Stone concept really drives it home.  For most of us, completing a series of goals revolving around credentials and acquisitions has been seared into our brains since we were kids.<br><br>Even when you create your own reality or live an alternative, off-the-grid life, it can be easy to gauge your own success using society's measuring stick.<br><br>On a side note,<br><br>Two guys are in a canoe, canoeing across the dessert in the sand.  Guy #1 turns around to guy #2 in back and says,<br><br>\"Wears the paddle\"<br><br>Guy # 2 says,<br><br>\"Yep\"<br><br><br>---<br>I actually know Jeremiah Nelson - a really nice guy but absolutely no semblance of any sort of a memory.  Perhaps he's a folksinger by trade because he can't remember anything besides his own schizophrenic lyrics...", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-30_03:46:47", "killed": false, "user_key": "f22566bca4b90d7156097afd1649cc89", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740055": {"up_voted": false, "ip": "", "has_replies": false, "message": "A few years ago, when my business was struggling and I was courting governement customers, I found myself in the city, in the precinct inhabited by mining companies. It was hot, my shoes were tight. I got a juice and took off my shoes and sat in my suit and tie with barefeet on the steps of a big bank in the shade and just paused to reflect. I wasnt trying to be in anyway provocative. But in some strange way I was, judign bythe horrified looks of the passersby, it was then I realised. I even saw two guys I know from the 'old days' when I used to work for the same mining compaines, they turned their heads away.<br>Thats all it took, take off your shoes and suddenly your not in the real-club anymore. That day to this, I have never put my shoes back on (figuratively at least). I left the club that day and stopped trying to find my place on its endless ladder of despair.<br>I don't regret it.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-30_00:15:34", "killed": false, "user_key": "44bd42f685eb84c39a1d93447f81631b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740056": {"up_voted": false, "ip": "", "has_replies": false, "message": "Awesome post, I really enjoyed it. While people need to be aware of the consequences of becoming \"unreal\" (you need to make sure you don't also become invisible), there are often benefits to stepping out of the lives that are expected of us (and that most people expect for themselves).", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-29_18:04:44", "killed": false, "user_key": "000b946d19d71d1e30e1407646ef6ebb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740057": {"up_voted": false, "ip": "", "has_replies": false, "message": "Good thoughts. - In my meek efforts i've done the following.<br><br>1) Moved within walking distance of my job.<br>2) Made a digital antenna and got rid of cable.<br>3) Got rid of cell phone (actually pay as I go - cost &lt; 100 year)<br>4) made a rocket stove<br>5) cancelled newspaper<br>6) don't pay for sports events<br><br>looking for other ideas now", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-29_20:13:58", "killed": false, "user_key": "acb3f9ec09d9681cf324ed2be23612a4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740058": {"up_voted": false, "ip": "", "has_replies": false, "message": "Enjoyed reading...looks like you have found a great context for your life...especially the point about not trying to actualize someone else's reality. I was in that rut and am still to a large extent...I am gradually shifting to things I love from things that would have made others proud of me.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-30_16:11:48", "killed": false, "user_key": "664dfe16d62c0a3823aab230bef4396e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740059": {"up_voted": false, "ip": "", "has_replies": false, "message": "I liked this post.  What I take from it is not so much that being \"real\" is inherently bad.  What is bad is when we rely only on \"real people's\" criteria when deciding what to do with our lives and fail to consult our heart in those important matters.  Being \"real\" may work perfectly fine for some people, and no one but them can determine that.  We basically just need to try to decide how we define a life worth living without focusing exclusively on what society expects of us because none of us wants to end up like Tolstoy's Ivan Ilyich, on our death bed and finally realizing that everything that we worked so hard for was shallow and meaningless and not what we really wanted out of life.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-30_11:53:40", "killed": false, "user_key": "20c887764b5c84b41238d12cd78678a5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740060": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thank you. I have been bogged down for months after losing my shitty job as a manager for gamestop...I just read your article. Consider my mind blown! I never really thought about it like this.<br>om", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-30_17:14:47", "killed": false, "user_key": "7016b8dc5b50473b166a31fe03d4cf2a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740061": {"up_voted": false, "ip": "", "has_replies": false, "message": "I couldn't agree more with your view. I often feel the same way. Actually I sometimes discuss this topic with my friends, so it's nice to see other people also talking openly about it.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-29_11:55:18", "killed": false, "user_key": "e25f8a9b0a69812ff5455dcea492e278", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740063": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm kind of amazed at the responses here.  Why are we getting caught up in pointless semantics discussions about what \"real\" and \"unreal\" mean and getting offended when no offense was obviously intended?<br><br>I think what Clay meant with his labels of \"real\" and \"unreal\" was how *society* sees people.  If you have The Proper Training(tm) and The Proper Documentation(tm) to perform a specific task, you're a \"real\" person.  This is a very common attitude in today's culture and it is very damaging.  Clay mentions homeschooling and unschooling;  that's a great example.  The pervasive attitude is that children have to be taught to learn by Real Teachers.  Any parent out there who's spent any amount of time with their kids knows that's untrue whether they are conscious of the knowledge or not.  Ever tried to *keep* your kids from learning something?  It doesn't work real well, does it?<br><br>But I read Clay as defining himself as \"unreal\" *from the point of view of society.*  As in society saying, \"Hey, you don't have 4 years undergraduate education or an alphabet soup after your name, therefore you are not 'real'.  You don't work a regular job for someone else, therefore you are not 'real'.\"  I didn't read it as any reason to take personal offense at *him.*  Isn't that kind of shooting the messenger?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-29_12:00:02", "killed": false, "user_key": "f9a0b72f38860d7601afd5a45bb53394", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740064": {"up_voted": false, "ip": "", "has_replies": false, "message": "This is completely wrong.<br><br>Your definition of \"real people\" starts out as \"people who are done planning for and preparing for life and are actually living it.\"  Ok, well, this is a canard because people who \"live\" life never stop learning or preparing to do the next thing.<br><br>But, forget that for a second.  I know what you mean:  When you are in school you often feel like you are just marking time until you \"really\" get to do something.<br><br>So, your \"unreal\" people are those who have decided to do something and are doing it.  This definition is no different from your \"real\" people.  All of this stuff about how they are \"light on their feet\" or can \"implement structural change\" is at best window dressing and at worst, also wrong (let me know how easily you could repurpose your life into raising kids if you had to...and then let me know how \"light on your feet\" you actually are).<br><br>The fact is, most of us never get around to doing \"what we want\" because we are afraid.  When you get to the point in your life where you can actually do this, when you can overcome your fear of the unknown, of failure, of not knowing what comes next, then you are getting somewhere.  But all you have described is people who wear ironic t-shirts and listen to shitty bands nobody has ever heard of.  Once you can account for the fact that your parents have done all this shit, and your grandparents, and so forth (my folks almost got lynched in Mississippi in '64) have all been through this, without blogs or Twitter or scrabulous or iPods, then you will be on to something.<br>------------------<br><strong>Response:</strong><br>I like the part about horrible bands and ironic t-shirts.<br><br>But other than that, I really don't know what you're getting at.  Just when I think I get your point I realize that I don't.  I'd love to respond, and I'm sure you're onto something, but I don't understand what it is yet.<br><br>If you could boil your thesis down to something other than \"this is completely wrong,\" then that would help me out a lot.<br><br>Thanks man.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-29_13:08:06", "killed": false, "user_key": "a6a4e742d6b18749619a274296b44af4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740065": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thank you for pointing out more of the things I want to change.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-29_01:11:34", "killed": false, "user_key": "8670b0702aa4ab60131742d1f23158ad", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740066": {"up_voted": false, "ip": "", "has_replies": false, "message": "Could you elaborate on Amanda's story? Guatemala on a bike? Can I find a story about this on the internet? Sounds awesome.<br><br>thanks<br>.adam.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_21:20:28", "killed": false, "user_key": "6422ec99852ad8aa1acecabc73f948e8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740067": {"up_voted": false, "ip": "", "has_replies": false, "message": "Here, here.<br><br>Well done.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_22:12:47", "killed": false, "user_key": "54711c7f467a76847284cadc5c759b48", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740068": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey Clay,<br><br>I read this and it immediately reminded me of one of my favorite TED talks: <a href=\"http://www.ted.com/index.php/talks/ken_robinson_says_schools_kill_creativity.html\" rel=\"nofollow\">http://www.ted.com/index.php/talks/ken_robinson...</a><br><br>Hope you like it.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_22:18:58", "killed": false, "user_key": "06cc4017caf97207c9ba41d904d4bb41", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740069": {"up_voted": false, "ip": "", "has_replies": false, "message": "It took you this long to realize that you liked the fake trappings of a career, instead of having a passionately engaging life?<br><br>Wow.<br><br>Thinking are hard.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_13:44:28", "killed": false, "user_key": "8f8ff21a67437febebc70afd19364e95", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740070": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey Clay,<br>You just got dugg so I'm sure you're drowning in notifications, but I just wanted to let you know that you got me thinking, and I made a post on my site and gave tribute to you sparking my revelation.<br><br>Check it out if you want. But more importantly, thanks. I'll be reading more often from here on out.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_14:09:01", "killed": false, "user_key": "dfc3b2964efc6f152b4fcef98c94a4a9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740071": {"up_voted": false, "ip": "", "has_replies": false, "message": "This can't be real :)<br>I am living in the real world, wondering how to escape it, and not thinking anything, i live definitely like a zombie, and that all because i don't know what i want to do with my life.<br><br>So anyway, thanks, you saved my day!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_17:55:31", "killed": false, "user_key": "727c036e155192aa29b231f785b229d5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740072": {"up_voted": false, "ip": "", "has_replies": false, "message": "yes, yes, yes.<br>the part about the five names gets me thinking....", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_19:07:58", "killed": false, "user_key": "20b0bcab530cfe1564a6ae73c3ef4e18", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740073": {"up_voted": false, "ip": "", "has_replies": false, "message": "I was really influenced by Janov in my late teens, so \"real\" and \"unreal\" have had opposite connotations than how they're presented here. Neurotics were unreal, and undoing primal traumas made the person real. Of course, Janov always believed that society at large was neurotic, manifesting itself in achievement complexes, agression, comsumerism, busyness, and so on. In his parlance, real = authentic.<br><br>But you're addressing exactly the same truth from the opposite angle.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_18:24:27", "killed": false, "user_key": "46636ae4ac17f058b0931c429229c627", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740074": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have one son.  I am becoming an unreal person.<br><br>Life has to be more than what this world offers.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_12:30:49", "killed": false, "user_key": "4bbe07d08b4f6d940c88864030e7c737", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740076": {"up_voted": false, "ip": "", "has_replies": false, "message": "This is amazing! This is the second post I've read in as many days about authenticity and writing your own rule book. I spoke with a friend about it on Friday and since then, I've been seeing it everywhere.<br><br>Thanks for the reminder,<br>Nneka", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_14:53:42", "killed": false, "user_key": "91595370c35c9a2dcba1546d686e62c6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740078": {"up_voted": false, "ip": "", "has_replies": false, "message": "Very thought-provoking article, Clay. You keep writing stuff that hits right where I'm at. Birthday #29 is coming up next week for me, and I'm getting more and more frustrated at trying to make my \"real\" job work for me when it's not the life I want to live, and I'm getting older all the time. Ok, 29 isn't that old, but...years keep slipping by, you know?<br><br>I'm still up for a phone and/or email chat if you are; drop me a line if you've got the time, I'd love to discuss some stuff with you.<br><br>Peace!<br>---------------------------------------------<br><strong>Response:</strong><br>A phone call sounds great.  Let's do it soon!  I'll email you in the next few days to line things up.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_14:58:49", "killed": false, "user_key": "50927142699269a9bcfc57578e7ff5ac", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740080": {"up_voted": false, "ip": "", "has_replies": false, "message": "Unreal... and with uncanny timing, again. Love the smell of perspective in the morning.<br><br>This post reminded me of the movie 'Stick it' - when ranting about her former rise to superstardom at the gymnastics world championships, the main character said:<br><br>\"I wasn't *great*..... I was just obedient.\"<br><br>I'm stoked that my 9yr old munchkin got all fired up during the movie re: the stupidity of the rules and the judges rewarding stupid things, conformity over innovation and raw authentic brilliance that touches your heart in a way you just can't ignore.<br><br>And he declared that he would rather be *great* and change the rules so they actually reward greatness, and keep obedience in context where it belongs, like keeping your car safely on your side of the road -- that's a sweet sweet sound to a mama's ears :)<br>------------------<br><strong>Response</strong><br>I love stories like this.  Children are much wiser than most people give them credit for.  It sounds like your child is no exception.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_06:16:29", "killed": false, "user_key": "faf56f119e838d078c30b55ee6829476", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740081": {"up_voted": false, "ip": "", "has_replies": false, "message": "A very timely article for me, Clay!<br><br>I've been trying to decide where I fit in or want to fit in the conventional world of work these days. This sure help clarify it for me!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_08:28:27", "killed": false, "user_key": "c7e93a45eb39ab703fb94d8d5d3492d9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740083": {"up_voted": false, "ip": "", "has_replies": false, "message": "found you via precision change . . . what a great post! i've been battling with this Not Being Real - not really being a part of the system, not wanting to, struggling with making my way. i feel like your post celebrates those folks who are living the change, creating lives that make more sense in the context of these vast changes coming our way . . . glad you took the time to write your perspective down :)<br>----------------------<br><strong>Response:</strong><br>:-) Yes.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_09:30:10", "killed": false, "user_key": "5e3ee0d0659c2070091bb7bb39401976", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740085": {"up_voted": false, "ip": "", "has_replies": false, "message": "That certainly was refreshing. And true. In line with your perspective here, I have always believed in NOT doing anything that I do not want to do. Business, personal, I don't care. Thing is, people end up reluctantly respecting this attitude. The concept of doing something because it is what you are expected to do seems very robotic to me, devoid of individuality. Other people's expectations of us are a trap, and you can waste your life working to meet those expectations.<br><br>Rock on.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_11:45:29", "killed": false, "user_key": "33f439572ba61debcd5ff47eb4dc1f52", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740087": {"up_voted": false, "ip": "", "has_replies": false, "message": "Great article! I just spent the day with my son, Sebastian. It was quite exhilerating (and nervous-making) to see that my unreal life has rubbed off on him! He'll never be a 'real person' now...<br><br>I think once you really see through the 'Grand Story of becoming a Real Person', life changes for ever.<br><br> I mean this grand story: that it's great to get a good job and that you need to spend all your energy on your job so that you can get a better job, and then a better job - so that you can get ahead in life AND REALLY MAKE SOMETHING OF YOURSELF. That story.<br><br>Of course, there's always a chapter missing. That's the bit when the person WHO HAS REALLY MADE SOMETHING OF HIMSELF then get's made redundant - because the employer cares f-all about him - and then gets depressed because he has not developed all the lovely talents that lay dormant and spends the rest of his life wondering why being a 'real person' didn't quite work out...<br>--------------<br><strong>Response:</strong><br>Perfectly said.  And thanks for making the world a better place by (as it seems) being an AWESOME parent.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_06:40:22", "killed": false, "user_key": "73ae1548d2c3be36a607f12d1ea49718", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740089": {"up_voted": false, "ip": "", "has_replies": false, "message": "You've got such the multimedia blog, nowadays. Love that little audio clip. It got me all fired up!<br><br>I've at times created a fake unreal life for myself. It's something I think us renegades constantly battle--we've freed ourselves from outside constraints (more or less) but find that the same programming is inside us. I saw this very clearly in my last business which was started with friends out of love, but I found myself stressing over the work later, as if an imaginary boss in my head was forcing me to do things I didn't like! WTF.<br><br>I'm currently reading two books about unreal people: Success Built to Last (studied people who were successful in whatever they were dedicated to--not necessarily fame or fortune--only those committed to something for over 20 years) and The Perfect Mess (studies how and when messiness is advantageous over order in personal life, businesses, relationships, etc.).<br><br>Here's to unreality!<br>----------------------------<br><strong>Resposne</strong><br>I really look forward to reading the perfect mess.  That sounds like a great book.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-27_21:39:54", "killed": false, "user_key": "24f03401060625ab83ca19020e492132", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740090": {"up_voted": false, "ip": "", "has_replies": false, "message": "Clay,<br><br>I'm loving these alternative ideas that roll against the norm of mainstream beliefs.  If your interested in a blogroll link exchange or any other kind of networking, email me.<br><br>Marc C.  ;-)", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-28_01:37:57", "killed": false, "user_key": "a094dcf43385e5506f80417522ed85b8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740092": {"up_voted": false, "ip": "", "has_replies": false, "message": "Clay, I love the audio at the beginning. It reminds me of one of Paul Graham's essay's \"Great Hackers\" that goes like this, \"When I think about the great hackers I know, one thing they have in common is the extreme difficulty of making them work on anything they don't want to.\"<br><br>There really is a great joy in eliminating all the things one is uninterested in and only pursuing what is important.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-27_19:38:55", "killed": false, "user_key": "96006396668fe3728ab7a98d05038a91", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "18740094": {"up_voted": false, "ip": "", "has_replies": false, "message": "Great article there! And you've included an audio clip that compliments this post you have here. You are definitely not a \"real\" person in this world dude. :)", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-27_22:44:49", "killed": false, "user_key": "42344adac9cf02ca0035d7d2bbcb8d1d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": false, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "37997699", "user_id": "anonymous", "forum_id": "201292", "hash": -1229578349021099242}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "not_being_a_real_person_the_1_self_development_anti_hack", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 37997699, "num_posts": 58, "closed": false, "queued": false, "killed": false}, "reactions_limit": 10, "context": {"show_reply": true, "use_fb_connect": true, "forum_facebook_key": "82e88eaec9fe9d0e208aa10dafaf8225", "use_yahoo": true, "subscribed": false, "use_twitter_signin": true, "use_openid": true, "realtime_speed": 5000}, "reactions_start": 0, "settings": {"debug": false, "disqus_url": "http://disqus.com", "media_url": "http://media.disqus.com"}, "media_url": "http://media.disqus.com"};
	/* */ this.jsonData.cookie_messages = {"user_created": null, "post_has_profile": null, "post_twitter": null, "post_not_approved": null}; this.jsonData.session = {"url": null, "name": null, "email": null}; /* */

	
	this.curPageId = 'dsq-comments';

	this.frames = {};
};

var disqus_popup_reference = null;

if(typeof DsqLocal == 'undefined') {
	DsqLocal = {};
}



/**
 * Dsq.Strings: UI strings
 */
Dsq.Strings = new function() {
	this.ADD_NEW_COMMENT = "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=pmblog' +
		'&t=not_being_a_real_person_the_1_self_development_anti_hack' +
		'&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://pmblog.disqus.com/not_being_a_real_person_the_1_self_development_anti_hack/latest.rss">' + Dsq.Strings.SUBSCRIBE_BY_RSS + '</a> \
			</span> \
		</div> \
		';

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

		
		

		return html;

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

		html += Dsq.Templates.pagination();


		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		


		if (Dsq.jsonData.request.is_global_moderator) {
 			html += ' \
				<div class="dsq-global-moderator-extras">'
					+ '<strong>shortname:</strong> ' + Dsq.jsonData.forum.url
					+ '<strong>thread id:</strong> ' + Dsq.jsonData.thread.id
					+ '<strong>thread slug:</strong> ' + Dsq.jsonData.thread.slug
				+ '</div> \
			';
		}

		return html;
	};
	
	this.realtime = function() {
		var html = '';
		
		if (Dsq.jsonData.realtime_enabled) {
			html += '<div id="dsq-realtime-options" class="dsq-options">'
					 + Dsq.Strings.REALTIME_UPDATING_IS + ' <strong id="dsq-realtime-status" style="text-transform: lowercase">' + Dsq.Strings.ENABLED + '</strong>. \
					 <a href="#" id="dsq-realtime-toggle" style="text-transform: capitalize"></a> \
					</div>';
		}

		if (!Dsq.jsonData.forum.streaming_realtime) {
			html += ' \
				<div style="display: none" id="dsq-realtime-alert" class="dsq-realtime-alert"><span id="dsq-realtime-queued"></span> <a href="#" id="dsq-realtime-show"></a></div> \
			';
		}
		
		return html;
	};

	this.showThreadSettings = function() {
		if (!Dsq.jsonData.request.is_moderator) {
			return '';
		}

		html = '<div id="dsq-thread-settings" class="dsq-thread-settings">' + Dsq.Strings.MODERATOR_OPTIONS;
		html += '<a href="#" onclick="Dsq.Thread.showSettings(); return false;">' + Dsq.Strings.SETTINGS + '</a>';
		html += '<a href="#" onclick="Dsq.Thread.showModeratorActions(); return false;">' + Dsq.Strings.MODERATE + '</a>';
		if (Dsq.jsonData.forum.reactions_enabled && Dsq.jsonData.reactions.length === 0) {
			html += '<a href="#" onclick="Dsq.Reaction.reportMissingReactions(); return false;">'
						+ Dsq.Strings.REPORT_MISSING_REACTIONS
						+ '</a>';
		}
		html +='</div>';

		return html;
	};

	this.postBox = function(post_id, use_fallback_iframe) {


		var html;
		var display_sharing_options = Dsq.jsonData.request.is_authenticated;

		if (!Dsq.jsonData.request.is_authenticated && Dsq.jsonData.forum.disqus_auth_disabled && !Dsq.jsonData.forum.allow_anon_post) {
			return '';
		}
		
		if (Dsq.jsonData.request.is_remote) {


			if (!Dsq.jsonData.request.sharing.hasOwnProperty(Dsq.jsonData.request.remote_domain)) {
				display_sharing_options = false;
			}
		}
		
		if (post_id) {
			var _meta = Dsq.jsonData.posts[post_id];
			var userData = Dsq.jsonData['users'][_meta.user_key];				
		}
		
		var pid = post_id ? '-' + post_id : '';

		var _requestUserInfo = function() {
			var html;



			var user_has_email = false;

			html = '<div class="dsq-request-user-info"> <!-- // If authenticated --> \
				<a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.LOGOUT + '?ctkn=' + Dsq.CSRF_TOKEN + '" class="dsq-request-user-logout">' + Dsq.Strings.LOGOUT + '</a> \
				<table> \
					<tr> \
						<td rowspan="2">'
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '<a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE + '">' : '')
								+ '<img src="' + Dsq.Urls.REQUEST_USER_AVATAR + '" width="48" height="48" class="dsq-request-user-avatar">'
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '</a>' : '')
						+ '</td> \
						<td class="dsq-request-user-name">'
								+ (Dsq.jsonData.request.is_remote
									 ? '<span class="dsq-badge-small dsq-badge-' + Dsq.jsonData.request.remote_domain + '">' + Dsq.jsonData.request.remote_domain + '</span>'
									 : (Dsq.jsonData.request.is_verified
											? '<span class="dsq-badge-small dsq-badge-verified">Verified</span>'
											: '<span class="dsq-badge-small dsq-badge-registered">Registered</span>'))
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? ' <a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE + '">' : '') 
								+ Dsq.jsonData.request.display_username 
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '</a>' : '')
							+  (Dsq.jsonData.request.is_remote && user_has_email ? ' <small>(<a href="#" onclick="Dsq.Popup.remoteAccountSettings(); return false;">change settings</a>)</small>' : '')
							+  (!Dsq.jsonData.request.is_remote && !Dsq.jsonData.forum.disqus_auth_disabled ? ' <small>(<a href="' + Dsq.jsonData.settings.disqus_url + '/profile/info/" target="_blank">change name</a> 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/pmblog/thread.js'
			+ '?slug='	+ 'not_being_a_real_person_the_1_self_development_anti_hack'
			+ '&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/pmblog/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://pmblog.disqus.com/not_being_a_real_person_the_1_self_development_anti_hack/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/pmblog/_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">58</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://pmblog.disqus.com/not_being_a_real_person_the_1_self_development_anti_hack/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://pmblog.disqus.com/not_being_a_real_person_the_1_self_development_anti_hack/">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">\
	 </div>\
		';

		
			html = Dsq.Templates.authPost() + html;
		

		
		if (Dsq.jsonData.request.is_moderator) { 
			html = ' \
			<div class="dsq-alert-message dsq-upgrade-message"> \
				<strong>Disqus upgrade available.</strong> Hi ' + Dsq.jsonData.request.display_username + ', this message is being displayed to you because you are a moderator of this site. <a href="#" onclick="Dsq.$(\'dsq-upgrade-message\').style.display=\'block\';this.style.display=\'none\';return false">Click here for details.</a> \
				<div style="display:none; margin-top:10px;" id="dsq-upgrade-message"> \
					A new theme is available with added features. <a href="http://disqus.com/comments/settings/' + Dsq.jsonData.forum.url + '/?p=customize">To change your theme, click here</a> and choose the theme Narcissus. \
					If you do not upgrade, you are missing out on features such as: real-time commenting, new sign-in integrations, and an upgrade interface. \
					<strong>This message will automatically go away in one week.</strong> \
				</div> \
			</div> \
			' + html; 
		}
		return html;
	};

	this.footer = function() {
		var html = Dsq.Templates.pagination();

		

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		

		return html;
	};

	this.pagination = function() {
		var html = '';
		
		if (Dsq.$('dsq-pagination')) { Dsq.$('dsq-pagination').innerHTML = ''; }
		if (!Dsq.jsonData.thread.paginate) { return ''; }

		//
		// TODO: num_paginator still uses the template tag for pagination, 
		// 		while append_paginator does it all in JavaScript.
		//		This should all be in JavaScript.
		//

		if (Dsq.jsonData.thread.num_pages > 1 && Dsq.jsonData.request.page < Dsq.jsonData.thread.num_pages) {
			html = ' \<a class="dsq-paginate-append-text" href="#" onclick="Dsq.Thread.paginate(Dsq.jsonData.request.page + 1, this); return false">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://pmblog.disqus.com/not_being_a_real_person_the_1_self_development_anti_hack/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 '';
	};

	//
	// 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 Project Mojave Blog" 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:37997699" onclick="Dsq.Popup.login(); return false">Login</a> \
								 \
									&nbsp;or&nbsp; \
									<img class="fb_login_image" src="http://static.ak.fbcdn.net/images/fbconnect/login-buttons/connect_light_small_short.gif" alt="Facebook Connect"/> \
									<a href="#" onclick="FB.Connect.requireSession(DisqusFbcParentController.onLogin); return false;">Connect</a> \
								 \
								&nbsp;or&nbsp; \
									<img src="http://media.disqus.com/images/twitter-signin-icon.png" alt="" /> \
									<a href="#" onclick="Dsq.Twitter.startTwitterConnect(); return false">Sign-in</a> \
								 \
								&nbsp;or&nbsp; \
									 <img src="http://media.disqus.com/images/openid-login-icon.png" alt="" /> \
									 <a href="#" onclick="Dsq.OpenID.requestURL(); return false">OpenID</a> \
								 \
							 \
						</div> \
					</div> \
					<div id="dsq-reply-' + post_id + '"></div> \
			</div> \
		';
	};

	//
	// Iframes
	//

	this._makeAttributes = function(attributes) {
		// Makes a tag attributes string out of an object.
		// Caller is responsible for making sure nothing needs to be escaped.
		var result = [];
		for (key in attributes) {
			result.push(' ' + key + '="' + attributes[key] + '"');
		}
		result = result.join('');
		return result;
	};

	this._frameGeneric = function(base_url, params, attributes) {
		if(typeof(disqus_callback_params) == 'undefined') {
			disqus_callback_params = '';
		}

		var default_params = {
			// TODO: These should be moved to Dsq.jsonData.
			'f'				: 'pmblog',
			't'				: 'not_being_a_real_person_the_1_self_development_anti_hack',
			// 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/pmblog/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/pmblog/not_being_a_real_person_the_1_self_development_anti_hack/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/pmblog/thread.js'
			+ '?slug='	+ 'not_being_a_real_person_the_1_self_development_anti_hack'
			+ '&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/pmblog/thread.js'
			+ '?slug='	+ 'not_being_a_real_person_the_1_self_development_anti_hack'
			+ '&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/pmblog/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'not_being_a_real_person_the_1_self_development_anti_hack'
				+ '&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/pmblog/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/pmblog/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/pmblog/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/37997699/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/pmblog/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/pmblog/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-18740109">\
	 <div id="dsq-comment-header-18740109" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740109" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740109" href="http://justinpickard.net/" target="_blank" rel="nofollow">Justin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740109" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740109" class="dsq-comment-message">Excellent timing - I really needed that.  :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740092">\
	 <div id="dsq-comment-header-18740092" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740092" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18740092">Brice</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740092" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740092" class="dsq-comment-message">Clay, I love the audio at the beginning. It reminds me of one of Paul Graham\'s essay\'s "Great Hackers" that goes like this, "When I think about the great hackers I know, one thing they have in common is the extreme difficulty of making them work on anything they don\'t want to."<br><br>There really is a great joy in eliminating all the things one is uninterested in and only pursuing what is important.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740089">\
	 <div id="dsq-comment-header-18740089" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740089" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740089" href="http://precisionchange.com/" target="_blank" rel="nofollow">Duff</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740089" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740089" class="dsq-comment-message">You\'ve got such the multimedia blog, nowadays. Love that little audio clip. It got me all fired up!<br><br>I\'ve at times created a fake unreal life for myself. It\'s something I think us renegades constantly battle--we\'ve freed ourselves from outside constraints (more or less) but find that the same programming is inside us. I saw this very clearly in my last business which was started with friends out of love, but I found myself stressing over the work later, as if an imaginary boss in my head was forcing me to do things I didn\'t like! WTF.<br><br>I\'m currently reading two books about unreal people: Success Built to Last (studied people who were successful in whatever they were dedicated to--not necessarily fame or fortune--only those committed to something for over 20 years) and The Perfect Mess (studies how and when messiness is advantageous over order in personal life, businesses, relationships, etc.).<br><br>Here\'s to unreality!<br>----------------------------<br><strong>Resposne</strong><br>I really look forward to reading the perfect mess.  That sounds like a great book.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740094">\
	 <div id="dsq-comment-header-18740094" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740094" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740094" href="http://winningeveryone.com/" target="_blank" rel="nofollow">Daniel Richard | WE</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740094" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740094" class="dsq-comment-message">Great article there! And you\'ve included an audio clip that compliments this post you have here. You are definitely not a "real" person in this world dude. :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740110">\
	 <div id="dsq-comment-header-18740110" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740110" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740110" href="http://www.adamkingstudio.com/" target="_blank" rel="nofollow">Adam King</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740110" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740110" class="dsq-comment-message">Clay, I\'m honored. That\'s all i know to say.<br>-------------<br><strong>Response:</strong><br>You\'re an inspiration, dude.  I\'m looking forward to the interview.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740111">\
	 <div id="dsq-comment-header-18740111" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740111" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740111" href="http://www.bigcanyonballoon.com/" target="_blank" rel="nofollow">Laurie</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740111" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740111" class="dsq-comment-message">Clay, do you think that there are some people who are passionate about the 9 to 5 job with all the politics?  Some people get off on that.<br><br>I think I am in transition.  I was in administration for a public school district.  I stood out like a sore thumb.  I was unhappy.  So I decided to start a really cool venture with a friend of mine.  I have never been so passionate about anything before.  I feel freed from all the red tape, politics, and general yuck in the public schools!  I am so pumped about it.  SO am I now unreal?  You tell me.<br>------------------------------<br><strong>Response:</strong><br>I think you\'re unreal, Laurie.  And congrats on the new venture.  I\'m really glad that you\'re so happy.  It sounds like you\'ve come alive.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740090">\
	 <div id="dsq-comment-header-18740090" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740090" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740090" href="http://www.marcandangel.com/" target="_blank" rel="nofollow">Marc and Angel Hack Life</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740090" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740090" class="dsq-comment-message">Clay,<br><br>I\'m loving these alternative ideas that roll against the norm of mainstream beliefs.  If your interested in a blogroll link exchange or any other kind of networking, email me.<br><br>Marc C.  ;-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740080">\
	 <div id="dsq-comment-header-18740080" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740080" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740080" href="http://www.freelancegypsy.com/" target="_blank" rel="nofollow">Jade</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740080" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740080" class="dsq-comment-message">Unreal... and with uncanny timing, again. Love the smell of perspective in the morning.<br><br>This post reminded me of the movie \'Stick it\' - when ranting about her former rise to superstardom at the gymnastics world championships, the main character said:<br><br>"I wasn\'t *great*..... I was just obedient."<br><br>I\'m stoked that my 9yr old munchkin got all fired up during the movie re: the stupidity of the rules and the judges rewarding stupid things, conformity over innovation and raw authentic brilliance that touches your heart in a way you just can\'t ignore.<br><br>And he declared that he would rather be *great* and change the rules so they actually reward greatness, and keep obedience in context where it belongs, like keeping your car safely on your side of the road -- that\'s a sweet sweet sound to a mama\'s ears :)<br>------------------<br><strong>Response</strong><br>I love stories like this.  Children are much wiser than most people give them credit for.  It sounds like your child is no exception.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740087">\
	 <div id="dsq-comment-header-18740087" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740087" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740087" href="http://goodlifezen.com/" target="_blank" rel="nofollow">Mary@GoodlifeZen</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740087" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740087" class="dsq-comment-message">Great article! I just spent the day with my son, Sebastian. It was quite exhilerating (and nervous-making) to see that my unreal life has rubbed off on him! He\'ll never be a \'real person\' now...<br><br>I think once you really see through the \'Grand Story of becoming a Real Person\', life changes for ever.<br><br> I mean this grand story: that it\'s great to get a good job and that you need to spend all your energy on your job so that you can get a better job, and then a better job - so that you can get ahead in life AND REALLY MAKE SOMETHING OF YOURSELF. That story.<br><br>Of course, there\'s always a chapter missing. That\'s the bit when the person WHO HAS REALLY MADE SOMETHING OF HIMSELF then get\'s made redundant - because the employer cares f-all about him - and then gets depressed because he has not developed all the lovely talents that lay dormant and spends the rest of his life wondering why being a \'real person\' didn\'t quite work out...<br>--------------<br><strong>Response:</strong><br>Perfectly said.  And thanks for making the world a better place by (as it seems) being an AWESOME parent.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740081">\
	 <div id="dsq-comment-header-18740081" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740081" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740081" href="http://www.essentiallifeskills.net/" target="_blank" rel="nofollow">ZHereford</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740081" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740081" class="dsq-comment-message">A very timely article for me, Clay!<br><br>I\'ve been trying to decide where I fit in or want to fit in the conventional world of work these days. This sure help clarify it for me!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740113">\
	 <div id="dsq-comment-header-18740113" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740113" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18740113">River</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740113" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740113" class="dsq-comment-message">Nice......there is so much more to life if you are living YOUR life.....not someone else\'s interpretation.  By any chance, are you left handed?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740083">\
	 <div id="dsq-comment-header-18740083" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740083" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740083" href="http://datinggod.typepad.com/" target="_blank" rel="nofollow">kate</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740083" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740083" class="dsq-comment-message">found you via precision change . . . what a great post! i\'ve been battling with this Not Being Real - not really being a part of the system, not wanting to, struggling with making my way. i feel like your post celebrates those folks who are living the change, creating lives that make more sense in the context of these vast changes coming our way . . . glad you took the time to write your perspective down :)<br>----------------------<br><strong>Response:</strong><br>:-) Yes.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740115">\
	 <div id="dsq-comment-header-18740115" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740115" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740115" href="http://financialphilosopher.typepad.com/thefinancialphilosopher/" target="_blank" rel="nofollow">The Financial Philosopher</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740115" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740115" class="dsq-comment-message">I like your philosophical direction.  Here are a few of my favorite pieces of wisdom:<br><br>"You spent the first half of your life becoming somebody.  Now you can work on becoming nobody, which is really somebody.  For when you become nobody there is no tension, no pretense, no one trying to be anyone or anything.  The natural state of the mind shines through unobstructed -- and the natural state of the mind is pure love." ~ Ram Dass<br><br>"Health is the greatest possession. Contentment is the greatest treasure. Confidence is the greatest friend. Non-being is the greatest joy." ~ Lao Tzu<br><br>Cheers...<br><br>Kent (The Financial Philosopher)<br>--------------------------------<br><strong>Response</strong><br>Kent, where do you get these amazing quotations?  Are they just sitting in your head most of the time for you to pull out on demand.<br><br>I never thought of the similarities between non-being and "not being a real person."  Thanks for that.<br><br>Also, that Ram Dass quotation is dead on.  Who is he and where did you find it?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740116">\
	 <div id="dsq-comment-header-18740116" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740116" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740116" href="http://effortlessabundance.com/" target="_blank" rel="nofollow">Michael Miles</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740116" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740116" class="dsq-comment-message">Interesting post. Most people just aren\'t that brave, of course. Then again, it wouldn\'t even occur to most people ...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740118">\
	 <div id="dsq-comment-header-18740118" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740118" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740118" href="http://paperweightblog.wordpress.com/" target="_blank" rel="nofollow">Michael Henreckson</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740118" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740118" class="dsq-comment-message">Interesting food for thought. Like you mention, all the real innovators are innovative partly because they\'re different. They live differently, work differently, and come up with different ideas.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740120">\
	 <div id="dsq-comment-header-18740120" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740120" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740120" href="http://www.amandalinehan.com/" target="_blank" rel="nofollow">Amanda Linehan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740120" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740120" class="dsq-comment-message">Clay -  I really liked the mention of "stepping stone lives."  Many people (and I\'ve recognized this at times in my own life) do things to get something from it, and not for the intrinsic pleasure that it brings them.<br><br>The only problem is when you find that what you thought you were gonna get from something, doesn\'t happen the way you thought it would or doesn\'t happen at all.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740085">\
	 <div id="dsq-comment-header-18740085" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740085" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740085" href="http://www.schneiderism.com/" target="_blank" rel="nofollow">John Schneider</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740085" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740085" class="dsq-comment-message">That certainly was refreshing. And true. In line with your perspective here, I have always believed in NOT doing anything that I do not want to do. Business, personal, I don\'t care. Thing is, people end up reluctantly respecting this attitude. The concept of doing something because it is what you are expected to do seems very robotic to me, devoid of individuality. Other people\'s expectations of us are a trap, and you can waste your life working to meet those expectations.<br><br>Rock on.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740074">\
	 <div id="dsq-comment-header-18740074" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740074" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740074" href="http://www.iamlivingproof.org/" target="_blank" rel="nofollow">Joe Louthan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740074" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740074" class="dsq-comment-message">I have one son.  I am becoming an unreal person.<br><br>Life has to be more than what this world offers.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740069">\
	 <div id="dsq-comment-header-18740069" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740069" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18740069">Sad people are sad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740069" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740069" class="dsq-comment-message">It took you this long to realize that you liked the fake trappings of a career, instead of having a passionately engaging life?<br><br>Wow.<br><br>Thinking are hard.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740070">\
	 <div id="dsq-comment-header-18740070" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740070" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740070" href="http://breathesmoke.com/" target="_blank" rel="nofollow">Ian</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740070" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740070" class="dsq-comment-message">Hey Clay,<br>You just got dugg so I\'m sure you\'re drowning in notifications, but I just wanted to let you know that you got me thinking, and I made a post on my site and gave tribute to you sparking my revelation.<br><br>Check it out if you want. But more importantly, thanks. I\'ll be reading more often from here on out.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740076">\
	 <div id="dsq-comment-header-18740076" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740076" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740076" href="http://www.balancedlifecenter.com/" target="_blank" rel="nofollow">Nneka</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740076" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740076" class="dsq-comment-message">This is amazing! This is the second post I\'ve read in as many days about authenticity and writing your own rule book. I spoke with a friend about it on Friday and since then, I\'ve been seeing it everywhere.<br><br>Thanks for the reminder,<br>Nneka</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740078">\
	 <div id="dsq-comment-header-18740078" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740078" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740078" href="http://twitter.com/jdfox" target="_blank" rel="nofollow">J. David Fox</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740078" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740078" class="dsq-comment-message">Very thought-provoking article, Clay. You keep writing stuff that hits right where I\'m at. Birthday #29 is coming up next week for me, and I\'m getting more and more frustrated at trying to make my "real" job work for me when it\'s not the life I want to live, and I\'m getting older all the time. Ok, 29 isn\'t that old, but...years keep slipping by, you know?<br><br>I\'m still up for a phone and/or email chat if you are; drop me a line if you\'ve got the time, I\'d love to discuss some stuff with you.<br><br>Peace!<br>---------------------------------------------<br><strong>Response:</strong><br>A phone call sounds great.  Let\'s do it soon!  I\'ll email you in the next few days to line things up.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740121">\
	 <div id="dsq-comment-header-18740121" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740121" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740121" href="http://yes-to-me.com/" target="_blank" rel="nofollow">Akemi - Yes to Me</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740121" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740121" class="dsq-comment-message">Hi Clay,<br>I see your point, but I still think your "real" and "unreal" are a word play.  We decide what is real for us.  I work doing what I like and I work on weekends because I love it.  Or I may take a nap on weekday afternoons. I never bother if someone think this is "real" or "unreal" -- it sure is real for me.<br>---------------------<br><strong>Response</strong><br>OF COURSE it\'s word play!  It\'s meant to be an illustrative distinction.  That\'s all.<br><br>I agree that we decide what is real for us.  This article is food for thought.  It\'s a ~1,200 word blog post and it\'s certainly not exhaustive.  That\'s all.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740122">\
	 <div id="dsq-comment-header-18740122" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740122" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18740122">Marshall</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740122" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740122" class="dsq-comment-message">I have to agree at least somewhat with Jonathon Howard in that, AT TIMES, your posts can seem a little too pep-talky. I\'d be interested in finding out what you\'ve experienced from living an unreal life.<br><br>That being said...<br><br>The "fake unreal life"... brilliant, not because it\'s original, but because it\'s accurate. We, as a whole, could probably stand to live a more unreal life, as you put it, but at the other extreme, we can\'t simply live the unreal because it\'s different from the norm. There still has to be purpose to it. I think that\'s why I\'d like you to explain why? ...Why is the unreal life better, except because that\'s what you say you\'ve chosen?<br><br>You can go even deeper, Clay. I</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740071">\
	 <div id="dsq-comment-header-18740071" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740071" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740071" href="http://litanies.over-blog.net/" target="_blank" rel="nofollow">Benoit</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740071" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740071" class="dsq-comment-message">This can\'t be real :)<br>I am living in the real world, wondering how to escape it, and not thinking anything, i live definitely like a zombie, and that all because i don\'t know what i want to do with my life.<br><br>So anyway, thanks, you saved my day!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740073">\
	 <div id="dsq-comment-header-18740073" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740073" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740073" href="http://tools-for-thought.com/" target="_blank" rel="nofollow">Andre Kibbe</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740073" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740073" class="dsq-comment-message">I was really influenced by Janov in my late teens, so "real" and "unreal" have had opposite connotations than how they\'re presented here. Neurotics were unreal, and undoing primal traumas made the person real. Of course, Janov always believed that society at large was neurotic, manifesting itself in achievement complexes, agression, comsumerism, busyness, and so on. In his parlance, real = authentic.<br><br>But you\'re addressing exactly the same truth from the opposite angle.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740072">\
	 <div id="dsq-comment-header-18740072" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740072" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740072" href="http://thewoodsmen.net/" target="_blank" rel="nofollow">gaston monescu</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740072" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740072" class="dsq-comment-message">yes, yes, yes.<br>the part about the five names gets me thinking....</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740112">\
	 <div id="dsq-comment-header-18740112" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740112" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740112" href="http://loops.typepad.com/" target="_blank" rel="nofollow">Lindsay</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740112" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740112" class="dsq-comment-message">Hi,<br><br>A friend sent me a link to your blog.  It was his subtle way of cheering me up.  I\'m not sure I would define myself as "unreal" as I assure you that I am quite "real,"  but the "unreal" description you provide could be my own.  It\'s not an easy choice as there are many ways to be derailed, hence why the link was sent to cheer me up, but it is very worth it.<br><br>Keeping it perhaps - surreal.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740066">\
	 <div id="dsq-comment-header-18740066" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740066" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740066" href="http://fakeempire.com/" target="_blank" rel="nofollow">adam</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740066" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740066" class="dsq-comment-message">Could you elaborate on Amanda\'s story? Guatemala on a bike? Can I find a story about this on the internet? Sounds awesome.<br><br>thanks<br>.adam.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740067">\
	 <div id="dsq-comment-header-18740067" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740067" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18740067">Johnno</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740067" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740067" class="dsq-comment-message">Here, here.<br><br>Well done.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740068">\
	 <div id="dsq-comment-header-18740068" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740068" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740068" href="http://www.improvedlives.com/" target="_blank" rel="nofollow">Stu | Improved Lives</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740068" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740068" class="dsq-comment-message">Hey Clay,<br><br>I read this and it immediately reminded me of one of my favorite TED talks: <a href="http://www.ted.com/index.php/talks/ken_robinson_says_schools_kill_creativity.html" rel="nofollow">http://www.ted.com/index.php/talks/ken_robinson...</a><br><br>Hope you like it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740065">\
	 <div id="dsq-comment-header-18740065" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740065" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740065" href="http://dave-2-0.blogspot.com/" target="_blank" rel="nofollow">Dave</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740065" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740065" class="dsq-comment-message">Thank you for pointing out more of the things I want to change.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740061">\
	 <div id="dsq-comment-header-18740061" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740061" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740061" href="http://www.billionairewoman.com/" target="_blank" rel="nofollow">Nathalie Lussier</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740061" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740061" class="dsq-comment-message">I couldn\'t agree more with your view. I often feel the same way. Actually I sometimes discuss this topic with my friends, so it\'s nice to see other people also talking openly about it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740063">\
	 <div id="dsq-comment-header-18740063" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740063" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18740063">Dana</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740063" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740063" class="dsq-comment-message">I\'m kind of amazed at the responses here.  Why are we getting caught up in pointless semantics discussions about what "real" and "unreal" mean and getting offended when no offense was obviously intended?<br><br>I think what Clay meant with his labels of "real" and "unreal" was how *society* sees people.  If you have The Proper Training(tm) and The Proper Documentation(tm) to perform a specific task, you\'re a "real" person.  This is a very common attitude in today\'s culture and it is very damaging.  Clay mentions homeschooling and unschooling;  that\'s a great example.  The pervasive attitude is that children have to be taught to learn by Real Teachers.  Any parent out there who\'s spent any amount of time with their kids knows that\'s untrue whether they are conscious of the knowledge or not.  Ever tried to *keep* your kids from learning something?  It doesn\'t work real well, does it?<br><br>But I read Clay as defining himself as "unreal" *from the point of view of society.*  As in society saying, "Hey, you don\'t have 4 years undergraduate education or an alphabet soup after your name, therefore you are not \'real\'.  You don\'t work a regular job for someone else, therefore you are not \'real\'."  I didn\'t read it as any reason to take personal offense at *him.*  Isn\'t that kind of shooting the messenger?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740064">\
	 <div id="dsq-comment-header-18740064" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740064" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18740064">Petey Wheatstraw</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740064" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740064" class="dsq-comment-message">This is completely wrong.<br><br>Your definition of "real people" starts out as "people who are done planning for and preparing for life and are actually living it."  Ok, well, this is a canard because people who "live" life never stop learning or preparing to do the next thing.<br><br>But, forget that for a second.  I know what you mean:  When you are in school you often feel like you are just marking time until you "really" get to do something.<br><br>So, your "unreal" people are those who have decided to do something and are doing it.  This definition is no different from your "real" people.  All of this stuff about how they are "light on their feet" or can "implement structural change" is at best window dressing and at worst, also wrong (let me know how easily you could repurpose your life into raising kids if you had to...and then let me know how "light on your feet" you actually are).<br><br>The fact is, most of us never get around to doing "what we want" because we are afraid.  When you get to the point in your life where you can actually do this, when you can overcome your fear of the unknown, of failure, of not knowing what comes next, then you are getting somewhere.  But all you have described is people who wear ironic t-shirts and listen to shitty bands nobody has ever heard of.  Once you can account for the fact that your parents have done all this shit, and your grandparents, and so forth (my folks almost got lynched in Mississippi in \'64) have all been through this, without blogs or Twitter or scrabulous or iPods, then you will be on to something.<br>------------------<br><strong>Response:</strong><br>I like the part about horrible bands and ironic t-shirts.<br><br>But other than that, I really don\'t know what you\'re getting at.  Just when I think I get your point I realize that I don\'t.  I\'d love to respond, and I\'m sure you\'re onto something, but I don\'t understand what it is yet.<br><br>If you could boil your thesis down to something other than "this is completely wrong," then that would help me out a lot.<br><br>Thanks man.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740123">\
	 <div id="dsq-comment-header-18740123" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740123" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18740123">Katie</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740123" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740123" class="dsq-comment-message">Absolutely fantastic. I have been enjoying your writing so much lately. The last few entries especially have coincided so well with what I have been experiencing in my life the last few months. It\'s wonderful to see the thoughtful expressions of someone who was fortunate enough to leave the school system so early.<br><br>I\'ve been reading a lot of <a href="http://www.johntaylorgatto.com/hp/frames.htm" rel="nofollow">John Taylor Gatto</a> recently, which always helps to shake things up in my head so that I don\'t feel so resigned to structuring my life according to how other people/institutions think it should be. The article linked above is a basic introduction to why modern schooling actively cripples children and how you can move away from that. Even though I found out about him after I had already graduated high school, and quit college, he helped make sense of disquieting feelings I had about the whole experience that were hard to put my finger on. I left college so I could think. Sounds like a crazy paradox I know, but the longer I\'ve been away from school, the more right I know I was. I don\'t need someone else to tell me what I should think about, or how I should think in general.<br><br>This is one of the main things I think school does, makes you dependent on outside forces, be it people, advertisements, or "expert" opinions, to define every last aspect of your life and who you are. It made me laugh when you mentioned how the forces trying to make people "real" go into hyper drive in their mid-twenties. I am now 27, and the last couple of years I have made even more of a concerted effort to try and define my life and my mind for myself. It has been a very difficult struggle, with long bouts of depression and feelings of intense emptiness while I let a lot of things go.<br><br>I have gravitated towards phone jobs that allow you space to read and write while in between calls. Less supervision. Less responsibility. That has been one of the hardest things for me, dealing with my choice to work at a job that is not a career so that I can work later in the day and have space to think. This has been one of the first jobs I\'ve had where I am working eight hour days and yet because I\'m allowed to go to sleep late at night and wake up midday, I no longer need an alarm clock to drag myself out of bed. I have leisurely "mornings" to have tea, write, whatever, before I need to go in. This ended up meaning more to me than I originally expected, I took the late hours at first because there was a pay differential to work at night. So in that sense it is a win/win. The hard part is having people ask me what I "do" and in order to answer that question accurately, I have to focus on something other then my job. Because so often when people ask what you do, they are asking where you work, etc. My life has ended up different than that, and I am glad I accepted that\'s how things need to be for me to be happy.<br><br>For the last few weeks, I have been designing a blog to talk about how much I love food. Making notes about content, designing the header, choosing a color scheme, the whole thing. I\'m glad I have creative projects I care about, and that I\'m working on creating situations where I can express myself. I wasn\'t sure I would get to this place in my life. I spent most of my twenties so far working at jobs I hated and spending my free time hiding inside of an online videogame. The events of the last nine months have helped to push me to the other side of that and I feel alive for the first time in many years. I am excited about my future, I am happy about the kind of person I am. I am grateful for encouragement and room in my life to peel away all the layers that have been carefully placed on top of me since I was young that were supposed to define who I am. It is refreshing to realize I\'ve been there all along, I just need to get down to where I am. Thank you for being another person reinforcing those kinds of ideas. Best of luck to you while you work on experimenting with your life.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740056">\
	 <div id="dsq-comment-header-18740056" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740056" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740056" href="http://www.workpost.com/" target="_blank" rel="nofollow">Unreal Post</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740056" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740056" class="dsq-comment-message">Awesome post, I really enjoyed it. While people need to be aware of the consequences of becoming "unreal" (you need to make sure you don\'t also become invisible), there are often benefits to stepping out of the lives that are expected of us (and that most people expect for themselves).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740057">\
	 <div id="dsq-comment-header-18740057" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740057" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18740057">bflophil</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740057" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740057" class="dsq-comment-message">Good thoughts. - In my meek efforts i\'ve done the following.<br><br>1) Moved within walking distance of my job.<br>2) Made a digital antenna and got rid of cable.<br>3) Got rid of cell phone (actually pay as I go - cost &lt; 100 year)<br>4) made a rocket stove<br>5) cancelled newspaper<br>6) don\'t pay for sports events<br><br>looking for other ideas now</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740055">\
	 <div id="dsq-comment-header-18740055" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740055" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740055" href="http://www.mobimessenger.com/" target="_blank" rel="nofollow">gavin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740055" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740055" class="dsq-comment-message">A few years ago, when my business was struggling and I was courting governement customers, I found myself in the city, in the precinct inhabited by mining companies. It was hot, my shoes were tight. I got a juice and took off my shoes and sat in my suit and tie with barefeet on the steps of a big bank in the shade and just paused to reflect. I wasnt trying to be in anyway provocative. But in some strange way I was, judign bythe horrified looks of the passersby, it was then I realised. I even saw two guys I know from the \'old days\' when I used to work for the same mining compaines, they turned their heads away.<br>Thats all it took, take off your shoes and suddenly your not in the real-club anymore. That day to this, I have never put my shoes back on (figuratively at least). I left the club that day and stopped trying to find my place on its endless ladder of despair.<br>I don\'t regret it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740054">\
	 <div id="dsq-comment-header-18740054" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740054" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740054" href="http://myspace.com/thespraypaintmanifesto" target="_blank" rel="nofollow">Shooter Gunderson</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740054" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740054" class="dsq-comment-message">Clay<br><br>This is a really inspiring post. The Stepping Stone concept really drives it home.  For most of us, completing a series of goals revolving around credentials and acquisitions has been seared into our brains since we were kids.<br><br>Even when you create your own reality or live an alternative, off-the-grid life, it can be easy to gauge your own success using society\'s measuring stick.<br><br>On a side note,<br><br>Two guys are in a canoe, canoeing across the dessert in the sand.  Guy #1 turns around to guy #2 in back and says,<br><br>"Wears the paddle"<br><br>Guy # 2 says,<br><br>"Yep"<br><br><br>---<br>I actually know Jeremiah Nelson - a really nice guy but absolutely no semblance of any sort of a memory.  Perhaps he\'s a folksinger by trade because he can\'t remember anything besides his own schizophrenic lyrics...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740053">\
	 <div id="dsq-comment-header-18740053" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740053" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740053" href="http://momgrind.com/" target="_blank" rel="nofollow">vered</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740053" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740053" class="dsq-comment-message">I have a confession to make: I am a real person. I am married to a real person. We were both raised by real people and are currently raising two real little people. :)<br><br>My two cents: you need to know yourself and know what makes you happy. Some people are happy being "real" and in fact, if you keep at it long enough and are successful enough, you do gain not only financial independence but also freedoms such as taking long vacations, deciding how long to work each day, and deciding when to start your day and whether to work from your home or from the office. You are also free to take risks and chances and change direction, because you are financially independent. So in a way, if you "give" those 10-15 years to the system, you do get to take back - and you\'re even young enough to enjoy it.<br><br>But of course, life IS structured when you have a "real" job, "real" responsibilities and real kids that go to a "real" school.<br><br>You, Clay, are incredibly smart and talented. You are also very ambitious which is good, because some philosophical types (you know you are! You are a thinker) lack in the ambition department which does not bode well for success in life. You are young, but you are old enough to know yourself and know what you need in order to be happy. Being "real" will make you miserable. It makes a lot of sense for you to be unreal, and it is my opinion that you WILL succeed - in real people\'s terms. You are already on the path to achieve "real" success, on your own "unreal" terms. That\'s just awesome.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740059">\
	 <div id="dsq-comment-header-18740059" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740059" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18740059">Gabe</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740059" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740059" class="dsq-comment-message">I liked this post.  What I take from it is not so much that being "real" is inherently bad.  What is bad is when we rely only on "real people\'s" criteria when deciding what to do with our lives and fail to consult our heart in those important matters.  Being "real" may work perfectly fine for some people, and no one but them can determine that.  We basically just need to try to decide how we define a life worth living without focusing exclusively on what society expects of us because none of us wants to end up like Tolstoy\'s Ivan Ilyich, on our death bed and finally realizing that everything that we worked so hard for was shallow and meaningless and not what we really wanted out of life.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740060">\
	 <div id="dsq-comment-header-18740060" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740060" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18740060">Thankfull</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740060" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740060" class="dsq-comment-message">Thank you. I have been bogged down for months after losing my shitty job as a manager for gamestop...I just read your article. Consider my mind blown! I never really thought about it like this.<br>om</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740100">\
	 <div id="dsq-comment-header-18740100" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740100" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18740100">Brad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740100" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740100" class="dsq-comment-message">For those content being "real" people:<br><br>"I do not speak to those who are well employed, in whatever circumstances, and they know whether they are well employed or not; but mainly to the mass of men who are discontented, and idly complaining of the hardness of their lot or of the times, when they might improve them." - Thoreau</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740101">\
	 <div id="dsq-comment-header-18740101" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740101" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18740101">Scain</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740101" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740101" class="dsq-comment-message">Are</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740103">\
	 <div id="dsq-comment-header-18740103" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740103" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740103" href="http://sladeroberson.com/" target="_blank" rel="nofollow">Slade | Shift Your Spirits</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740103" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740103" class="dsq-comment-message">Clay,<br><br>I believe this makes me a "surreal person" -- "unreal" maybe? Either one, I\'ll take it.<br>:-)<br><br>I too like your expression "stepping stone lives" and I understand your point. But I also believe that you can only find peace, joy, and your next great opportunity when you are in alignment with whatever step you are on/in at any given moment.<br><br>It\'s the tendency to always be looking at the "next step" -- or looking too many steps into the past or future -- that really creates the dissatisfaction.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740124">\
	 <div id="dsq-comment-header-18740124" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740124" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740124" href="http://www.justinll.com/" target="_blank" rel="nofollow">Justin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740124" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740124" class="dsq-comment-message">"stepping stone lives"  This is exactly the term I\'ve been looking for to describe so many of the folks I used to hang out with -- they\'ve disappeared into the real world.<br><br>Great write!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740105">\
	 <div id="dsq-comment-header-18740105" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740105" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740105" href="http://underconstructionwww.meta-ce.com/" target="_blank" rel="nofollow">Andr</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740105" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740105" class="dsq-comment-message">Ramana Maharishi has a lot o really good Anti Hacks!<br>Robert Anton Wilson also.<br>The best blog in my view.<br>thanks</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740125">\
	 <div id="dsq-comment-header-18740125" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740125" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740125" href="http://blog.dreambuilders.com.au/" target="_blank" rel="nofollow">Liara Covert</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740125" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740125" class="dsq-comment-message">As I was growing up, I used to believe that adults had this thing called "common sense."  Then, when I became an adult myself, I realized this kind of general, widespread mindset is not as far-reaching as I thought.  The idea of "real" or "normal" people is relative. Some people are apt to make categories and place themselves in them.  Other people will resist categories or simply not fit into existing ones. Who cares?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740126">\
	 <div id="dsq-comment-header-18740126" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740126" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740126" href="http://watdawat.com/" target="_blank" rel="nofollow">chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740126" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740126" class="dsq-comment-message">Man, everything about me is "real". But I do a lot of "unreal" things...<br><br>This is a good philosophical topic. Like Vered said, you are a thinker and you have a knack for making people think about their situation, which any good philosopher should.<br><br>I\'m curious to know whether you think the U.S. Constitution is a product of "real" or "unreal" people...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740106">\
	 <div id="dsq-comment-header-18740106" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740106" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740106" href="http://www.rockyourday.com/" target="_blank" rel="nofollow">Dave Navarro</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740106" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740106" class="dsq-comment-message">Regardless of all the real/unreal debate, I think the key thing that stands out here is that you need to take responsibility with where your life ends up.<br><br>And that means ignoring the conventional wisdom and doing what you are passionate doing.  It means saying "why the hell not?" when someone says "it can\'t be done."<br><br>I\'ve always enjoyed the guidance of that timeless movie, The Princess Bride:<br><br>Buttercup:  "The Fire Swamp?  We can\'t go in there - we\'ll never survive!"<br>Westley: "Don\'t be silly.  You\'re only saying that because nobody ever has."<br><br>Decide what you want, set your own rules, lather, rinse repeat.<br><br>Works for me. :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740096">\
	 <div id="dsq-comment-header-18740096" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740096" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740096" href="http://www.expressyourselftosuccess.com/" target="_blank" rel="nofollow">Laurie</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740096" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740096" class="dsq-comment-message">Thanks for making the distinction between</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740104">\
	 <div id="dsq-comment-header-18740104" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740104" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740104" href="http://brightbluerain.blogspot.com/" target="_blank" rel="nofollow">anmari</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740104" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740104" class="dsq-comment-message">Great post! I like the audio. I\'m curious now if everything I have done in my life makes me a real person or unreal person... :) For me, whatever works, whatever makes me happy.<br><br>Happy blogging!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740107">\
	 <div id="dsq-comment-header-18740107" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740107" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740107" href="http://www.nathanhangen.com/blog" target="_blank" rel="nofollow">Nathan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740107" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740107" class="dsq-comment-message">Good article. I believe it is our duty to free people from being "real people," especially our family and children. The world is never going to wake up as long as we keep living for someone else.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740098">\
	 <div id="dsq-comment-header-18740098" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740098" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740098" href="http://www.youngdough.com/" target="_blank" rel="nofollow">Blake@YoungDough</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740098" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740098" class="dsq-comment-message">This was a much-needed jolt to get me back on track! Have you heard of the song \'Real World\' by Matchbox 20? It reminds me of this so much, since the real world seems to put up a good fight as we try to escape, but it\'s completely worth it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740058">\
	 <div id="dsq-comment-header-18740058" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740058" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18740058">Vishnu</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740058" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740058" class="dsq-comment-message">Enjoyed reading...looks like you have found a great context for your life...especially the point about not trying to actualize someone else\'s reality. I was in that rut and am still to a large extent...I am gradually shifting to things I love from things that would have made others proud of me.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740108">\
	 <div id="dsq-comment-header-18740108" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740108" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740108" href="http://rebelzen.com/" target="_blank" rel="nofollow">Seamus Anthony</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740108" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740108" class="dsq-comment-message">Dude, you are totally unreal, no doubt about it.<br><br>I loved this post. It makes me feel better about being a freak. Thank you :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18740127">\
	 <div id="dsq-comment-header-18740127" class="dsq-comment-header">\
	 <cite id="dsq-cite-18740127" class="dsq-comment-cite">\
	 <a id="dsq-author-user-18740127" href="http://jadearlindita.wordpress.com/" target="_blank" rel="nofollow">Jade</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18740127" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18740127" class="dsq-comment-message">Thanks for helping me figure out where I am. Stepping stones.</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=pmblog&t=not_being_a_real_person_the_1_self_development_anti_hack&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 = '82e88eaec9fe9d0e208aa10dafaf8225';
			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);
			}
		}
	});
}

})();




