




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": {"e9d8c6e6bf9369056f22dfff7a2a07fc": {"username": "elle", "tumblr": "", "display_name": "elle", "url": "http://disqus.com/guest/e9d8c6e6bf9369056f22dfff7a2a07fc/", "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": ""}, "2ac03c4e632127ae8650e193e4cdb953": {"username": "kevin", "tumblr": "", "display_name": "kevin", "url": "http://disqus.com/guest/2ac03c4e632127ae8650e193e4cdb953/", "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": ""}, "3330a1978592608efdfecf6a8c9d54b9": {"username": "Christina", "tumblr": "", "display_name": "Christina", "url": "http://disqus.com/guest/3330a1978592608efdfecf6a8c9d54b9/", "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": ""}, "3de0dfb9b4b711d69bca9f819a486d4c": {"username": "angrignon", "tumblr": "", "display_name": "angrignon", "url": "http://disqus.com/guest/3de0dfb9b4b711d69bca9f819a486d4c/", "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": ""}, "5fa4ec61a2ccf1c0b7bfdf3cfa133dc3": {"username": "m", "tumblr": "", "display_name": "m", "url": "http://disqus.com/guest/5fa4ec61a2ccf1c0b7bfdf3cfa133dc3/", "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": ""}, "eed14c4220bc7aeb96094090083ca759": {"username": "amy", "tumblr": "", "display_name": "amy", "url": "http://disqus.com/guest/eed14c4220bc7aeb96094090083ca759/", "registered": false, "linkedin": "", "blog": "http://www.theworldisfun.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": ""}, "carl555": {"username": "carl555", "tumblr": "", "display_name": "carl555", "url": "http://disqus.com/carl555/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3c48deb20a42836f63af0873ccfb546a": {"username": "Mike", "tumblr": "", "display_name": "Mike", "url": "http://disqus.com/guest/3c48deb20a42836f63af0873ccfb546a/", "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": ""}, "FrankieSardines": {"username": "FrankieSardines", "tumblr": "", "display_name": "FrankieSardines", "url": "http://disqus.com/FrankieSardines/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "eb5a1c66e7e60b5dd21e209ec1eedc7d": {"username": "Ian", "tumblr": "", "display_name": "Ian", "url": "http://disqus.com/guest/eb5a1c66e7e60b5dd21e209ec1eedc7d/", "registered": false, "linkedin": "", "blog": "http://www.killallthewhiteman.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": ""}, "3a5fbe958ce43c39eaf7eab679423953": {"username": "Michael", "tumblr": "", "display_name": "Michael", "url": "http://disqus.com/guest/3a5fbe958ce43c39eaf7eab679423953/", "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": ""}, "d7fc8eb3b212a7d130bfd3c5936fdf4b": {"username": "nicole", "tumblr": "", "display_name": "nicole", "url": "http://disqus.com/guest/d7fc8eb3b212a7d130bfd3c5936fdf4b/", "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": ""}, "d42ad4656f9815dcb6a5eb3cc0c89fdd": {"username": "jennifer", "tumblr": "", "display_name": "jennifer", "url": "http://disqus.com/guest/d42ad4656f9815dcb6a5eb3cc0c89fdd/", "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": ""}, "162a0249fda0edee94288fa0c132a6e5": {"username": "Matthew", "tumblr": "", "display_name": "Matthew", "url": "http://disqus.com/guest/162a0249fda0edee94288fa0c132a6e5/", "registered": false, "linkedin": "", "blog": "http://www.flickr.com/photos/suomynona/sets/72157612880184094/", "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": ""}, "JE425": {"username": "JE425", "tumblr": "", "display_name": "JE425", "url": "http://disqus.com/JE425/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3873a022c037ff29e1d64c7aae6bf6da": {"username": "P.A.B.L.O", "tumblr": "", "display_name": "P.A.B.L.O", "url": "http://disqus.com/guest/3873a022c037ff29e1d64c7aae6bf6da/", "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": ""}, "97f8c0053e8aed157415dda2673c9e68": {"username": "Shane Dillon", "tumblr": "", "display_name": "Shane Dillon", "url": "http://disqus.com/guest/97f8c0053e8aed157415dda2673c9e68/", "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": ""}, "chiizus": {"username": "chiizus", "tumblr": "", "display_name": "chiizus", "url": "http://disqus.com/chiizus/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0ac143f159fa9f45958e1128c0860963": {"username": "pioggia", "tumblr": "", "display_name": "pioggia", "url": "http://disqus.com/guest/0ac143f159fa9f45958e1128c0860963/", "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": ""}, "0c51d5594ad5ca2885bd2e98cdb773ba": {"username": "Michael", "tumblr": "", "display_name": "Michael", "url": "http://disqus.com/guest/0c51d5594ad5ca2885bd2e98cdb773ba/", "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": ""}, "Italiangirl89": {"username": "Italiangirl89", "tumblr": "", "display_name": "Italiangirl89", "url": "http://disqus.com/Italiangirl89/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "shanedillon": {"username": "shanedillon", "tumblr": "", "display_name": "shanedillon", "url": "http://disqus.com/shanedillon/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 22, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6b05d6a5062a40b7597c805f9f1ca776": {"username": "Edawg", "tumblr": "", "display_name": "Edawg", "url": "http://disqus.com/guest/6b05d6a5062a40b7597c805f9f1ca776/", "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": ""}, "8efada368de7f5acbec868a5b39f5c35": {"username": "chiizus", "tumblr": "", "display_name": "chiizus", "url": "http://disqus.com/guest/8efada368de7f5acbec868a5b39f5c35/", "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": ""}, "c_elf": {"username": "c_elf", "tumblr": "", "display_name": "c_elf", "url": "http://disqus.com/c_elf/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "775e3cff792260202553116b15441350": {"username": "chooch magooch", "tumblr": "", "display_name": "chooch magooch", "url": "http://disqus.com/guest/775e3cff792260202553116b15441350/", "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": ""}, "05af8afa71a6286d4dbcaa78835ad814": {"username": "Merle", "tumblr": "", "display_name": "Merle", "url": "http://disqus.com/guest/05af8afa71a6286d4dbcaa78835ad814/", "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": ""}, "2d6198f3d93b50a78d7d2d71a7723f85": {"username": "ExiledBrit", "tumblr": "", "display_name": "ExiledBrit", "url": "http://disqus.com/guest/2d6198f3d93b50a78d7d2d71a7723f85/", "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": ""}, "ad2f07dfe587ec8049dbe872a2b7f007": {"username": "lauram", "tumblr": "", "display_name": "lauram", "url": "http://disqus.com/guest/ad2f07dfe587ec8049dbe872a2b7f007/", "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": ""}, "121315fca70f6c4c3dc8dbeddca624a3": {"username": "Jeff", "tumblr": "", "display_name": "Jeff", "url": "http://disqus.com/guest/121315fca70f6c4c3dc8dbeddca624a3/", "registered": false, "linkedin": "", "blog": "http://www.matlub.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": ""}, "7c0fcb54983192a55cd05b0892182a78": {"username": "M", "tumblr": "", "display_name": "M", "url": "http://disqus.com/guest/7c0fcb54983192a55cd05b0892182a78/", "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": ""}, "sdh": {"username": "sdh", "tumblr": "", "display_name": "sdh", "url": "http://disqus.com/sdh/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "bmvaughn": {"username": "bmvaughn", "tumblr": "", "display_name": "bmvaughn", "url": "http://disqus.com/bmvaughn/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 23, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0667b1cbc0c2ebcc3f6f22f1b925cbaa": {"username": "walruslord", "tumblr": "", "display_name": "walruslord", "url": "http://disqus.com/guest/0667b1cbc0c2ebcc3f6f22f1b925cbaa/", "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": ""}, "1f0e43a3bfd3f2d8edfa88c26e12890e": {"username": "Lexicon Grrl", "tumblr": "", "display_name": "Lexicon Grrl", "url": "http://disqus.com/guest/1f0e43a3bfd3f2d8edfa88c26e12890e/", "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": ""}, "3717483f26171b61a4e2154fb37ffbd1": {"username": "Foo", "tumblr": "", "display_name": "Foo", "url": "http://disqus.com/guest/3717483f26171b61a4e2154fb37ffbd1/", "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": ""}, "55be204aaa6a8dbcb0c14d7c654d488a": {"username": "Melissa", "tumblr": "", "display_name": "Melissa", "url": "http://disqus.com/guest/55be204aaa6a8dbcb0c14d7c654d488a/", "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": ""}, "burgermaster": {"username": "burgermaster", "tumblr": "", "display_name": "burgermaster", "url": "http://disqus.com/burgermaster/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4a9ba3ddbb6555df95f84ba338df0a3a": {"username": "Michael", "tumblr": "", "display_name": "Michael", "url": "http://disqus.com/guest/4a9ba3ddbb6555df95f84ba338df0a3a/", "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": ""}, "2e276c4a096a3b81f3d36d720f82b847": {"username": "matt", "tumblr": "", "display_name": "matt", "url": "http://disqus.com/guest/2e276c4a096a3b81f3d36d720f82b847/", "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": ""}, "07d5ff852d53c953b744405b15ebc179": {"username": "js", "tumblr": "", "display_name": "js", "url": "http://disqus.com/guest/07d5ff852d53c953b744405b15ebc179/", "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": ""}, "d10ca8d11301c2f4993ac2279ce4b930": {"username": "critic", "tumblr": "", "display_name": "critic", "url": "http://disqus.com/guest/d10ca8d11301c2f4993ac2279ce4b930/", "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": false, "name": "My Ballard", "streaming_realtime": false, "url": "myballard", "allow_anon_post": true, "reactions_enabled": false, "reply_position": 0, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": false, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 1, "forum": "myballard", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-04_08:00:45", "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": {"7851264": {"up_voted": false, "ip": "", "has_replies": false, "message": "It was OK.  I don't get the rule about how they don't take \"temperature requests\".  Why the f(*# not?  It's a BURGER joint.  Some people like rare, some medium, some well-done.  Deal with it, you're a BURGER joint.<br><br>Also, agree that the seating is horrible inside and the outside could really use some planter boxes or other sound and visual screening for 15th Ave NW which is VERY NOISY.  <br><br>The food was pretty good.  Yes, greasy, but not in a bad way.  BUT, it was very pricey.  <br><br>Overall, I feel no need to go back unless they deal with seating inside and outside and unless they rescind the ridiculous \"no temperature requests\" rule.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-24_01:04:29", "killed": false, "user_key": "ad2f07dfe587ec8049dbe872a2b7f007", "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}, "7851265": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thought I'd try this place out for lunch after reading some of the reviews. They have a lot of interesting choices for burgers, and my cheeseburger was good, but $14 for a burger and a very small order of fries is way too much. I will save my money, have just as good a burger  and go to Ballard Brothers or Scooters.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-01_15:16:27", "killed": false, "user_key": "05af8afa71a6286d4dbcaa78835ad814", "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}, "7851266": {"up_voted": false, "ip": "", "has_replies": false, "message": "Friends had raved about this place so I gave it a try.   <br><br>Never. Going. Back.<br><br>The snotty attitude, the incredibly raw burger (and the refusal to do anything about said rawness), and the general feeling that they think I should BE so lucky to be condescended to by them... all add up to \"giving my money to Scooters\".  Sure, they're not as inventive or strange, but they're half the price, twice as nice, and at least their street-side seating is on a side street.  :)", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-09_12:40:40", "killed": false, "user_key": "3717483f26171b61a4e2154fb37ffbd1", "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}, "7851267": {"up_voted": false, "ip": "", "has_replies": false, "message": "You know... my gut tells me this place isn't going to last. The service is abrasive. Not less so than a lot of other culinary institutions, though.<br><br>That said, it's a shame. It's a unique burger joint. Some of the concoctions are lackluster; others are freakin' sublime. Ian's totally right in saying that you have to THINK about how the flavors will complement one another, because they won't stop you from creating a shitty burger. Put the work into your burger hypothesis... it'll pay off.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-07-26_01:10:51", "killed": false, "user_key": "121315fca70f6c4c3dc8dbeddca624a3", "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}, "7851268": {"up_voted": false, "ip": "", "has_replies": false, "message": "Too greasy, it was like eating 5 bowls of poutine (Quebec style, not the fake BC/Ontario shit). Should have had some nitro served up on the side.<br><br>There is practically _NO_ room inside to sit. Outside, same thing.<br><br>They seemed to be asses about giving out the water to folks who wanted a drink.<br><br>Had one of the milkshakes and it was horrid.<br><br>Whatever, this place is living off its gimmick that it got in the press. Too bad the articles in the paper didn't actually talk about the food, which sucks.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-08-06_04:27:58", "killed": false, "user_key": "3de0dfb9b4b711d69bca9f819a486d4c", "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}, "7851269": {"up_voted": false, "ip": "", "has_replies": true, "message": "to all of you morons complaining about undercooked burgers, the only reason you're used to overdone and flavorless charred hunks of meat is because you typically eat leftover chunks of cow ground up right along with the brains and the shit and the arms of the slaughterhouse workers. Here they grind up the quality meats themselves, so there is no danger in eating a pink on the inside burger other than you might become acquainted with a good sense of taste. <br><br>Having worked at nice restaurants before (which Lunchbox Lab shares a philosophy with, it seems), the boner who orders a wonderful cut of meat and asks for it well done is right up there with the guest who talks 40 decibels above acceptable levels.  <br><br>You don't have to like it, or come back, but at least understand why your request for a well done, ruined piece of meat doesn't sit well.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-08-13_21:07:25", "killed": false, "user_key": "0667b1cbc0c2ebcc3f6f22f1b925cbaa", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851270": {"up_voted": false, "ip": "", "has_replies": false, "message": "wow walruslord - if you read the comments you'll see that the complaints are much more than just about undercooked burgers. There are several things about this place that make it less than desirable - including a superior attitude much like yours.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-08-14_11:18:53", "killed": false, "user_key": "5fa4ec61a2ccf1c0b7bfdf3cfa133dc3", "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}, "12771207": {"up_voted": false, "ip": "", "has_replies": true, "message": "Shameless - obviously another lunchbox employee (probably its fat, dumpy Angry Lesbian token sasquatch) pumping up the menu and telling people something's wrong with them if they don't like their crappy food.  This is the kinda food that white trash cook up for Superbowl parties for the rest of the trailer park (and even to say that would be kind).  <br><br>Just to give you an idea how bad this place is - after ordering one of their famous \"Span pork\" burgers and taking one bite before feeling like vommiting, I packed it up in a doggie bag to give to some homeless person down by the food bank instead of throwing away my $15 dog vomit burger - not even the homeless wanted it - that's how bad this crap is.  This place should be condemmned by the HEALTH DEPARTMENT--- now", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-16_19:05:19", "killed": true, "user_key": "FrankieSardines", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "4 months ago", "approved": true, "num_replies": 1, "is_first_child": true, "email": "", "parent_post_id": 7851262, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "13345032": {"up_voted": false, "ip": "", "has_replies": true, "message": "Quit smoking the crack, it is not doing you any favors.<br><br>Mine is not the only positive review, the one right below it is positive too, and there are others too... If you learn to read you might be able to find them!<br><br>Something is broken inside of you, maybe an imbalance or were you abused as a child? I suggest to seek professional help.<br><br>I am only just a customer - it may seriously be a sign of actual clinical paranoia that you cannot believe that.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-26_01:59:34", "killed": false, "user_key": "4a9ba3ddbb6555df95f84ba338df0a3a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 months ago", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": 13344895, "depth": 4, "points": 1, "author_is_creator": false, "is_realtime": false}, "7851273": {"up_voted": false, "ip": "", "has_replies": false, "message": "Unfortunately this place doesn't have much reason for me to give anything up to the \"chef\".<br><br>If you want to play the snobby chef earn the right with superior food.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-09-08_17:07:21", "killed": false, "user_key": "5fa4ec61a2ccf1c0b7bfdf3cfa133dc3", "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}, "7851274": {"up_voted": false, "ip": "", "has_replies": false, "message": "Don't worry about the service anymore, since it closed in definately this week.  I think the owner went looney again, just like at his last restaurant.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-09-12_19:01:58", "killed": false, "user_key": "2ac03c4e632127ae8650e193e4cdb953", "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}, "7851275": {"up_voted": false, "ip": "", "has_replies": false, "message": "everything was so good there it was amazing, people you gotta give it up to the hand spun shakes boo ya there tasty... and ya if your a big puss dont eaT THERE", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-09-28_22:24:06", "killed": false, "user_key": "775e3cff792260202553116b15441350", "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}, "7851276": {"up_voted": false, "ip": "", "has_replies": false, "message": "I can't bring myself to try it because every time I drive by there are several giant overflowing dumpsters right next to the outdoor tables.<br><br>And what's with the dozens of choices you apparently must make just to order a burger?    What kind of salt?   Are you joking?   Too much work for a burger.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-12-04_19:00:06", "killed": false, "user_key": "d10ca8d11301c2f4993ac2279ce4b930", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851277": {"up_voted": false, "ip": "", "has_replies": false, "message": "i must agree with critic about the dumpsters and generally dirty looking  appearance when you drive by. I have not tried their burgers yet.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-12-05_17:48:02", "killed": false, "user_key": "07d5ff852d53c953b744405b15ebc179", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "15458446": {"up_voted": false, "ip": "", "has_replies": false, "message": "You know, maybe some of the paranoia is rubbing off on me, but I'm starting to think that these negative comments accusing every positive review of being from an employee are coming from the same person who is trying to sabotage this business for some reason.<br><br>Something just doesn't add up, since all of my friends without exception really enjoy this place to a very great degree.<br><br>Again, I'm not an employee, just someone who appreciates the cool things that they have done here.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-08-27_02:55:59", "killed": false, "user_key": "3a5fbe958ce43c39eaf7eab679423953", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 15203997, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851279": {"up_voted": false, "ip": "", "has_replies": false, "message": "I thought the burgers were delish and unique but EXPENSIVE!  The bill was $40 for my husband and I: 2 burgers, 2 sides.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-12-22_20:37:41", "killed": false, "user_key": "d7fc8eb3b212a7d130bfd3c5936fdf4b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851280": {"up_voted": false, "ip": "", "has_replies": false, "message": "One visit was enough.  I was willing to forgive having to pry my stuck water cup off the counter, but finding a long, greasy hair in the middle of my burger was too much.  Yummy tater tots, though!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-12-31_19:18:53", "killed": false, "user_key": "d42ad4656f9815dcb6a5eb3cc0c89fdd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851281": {"up_voted": false, "ip": "", "has_replies": true, "message": "Click my username for photos of the food. Feel free to ask me questions on those photo pages. I've been there 12 times. Ordered and ate my food there and have never once experienced most of the complaints I've read here. Most of the time, all you hear are \"mmm\" and \"oh my God.\" Or silence as people are eating. The staff is friendly, the food is exactly what you'd expect from someone that comes from fine dining experience. Lastly, for those of you that are complaining about the prices and will continue to go to places that aren't in the same league as Lunchbox Laboratory? Fine with me. Pay a little less for ingredients that are nowhere near as good as those at Lunchbox Laboratory. Want to whine about your meal for two being $40? You obviously ordered two HALF POUND burgers AND sides of the best fries or tater tots you'll  ever have. How much do you think it would cost to order a full pound of meat at Red Mill? What is that? 4 burgers? Kidd Valley? Do those other restaurants grind their own grassfed super (ribeye/sirloin/prime rib) beef at their restaurants? No. Do those other restaurants serve crappy soft drinks? Yes. Do those other restaurants change their specials menu every couple of days because a genius is behind the counter making your burger? No. You pay a little extra for quality. Again, I don't have a problem with you staying away if you're going in there with the attitude that you're worried about what it's going to cost for the best burger you'll ever have. That way I won't have to wait in line behind you or read your nonsense on message boards like this.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-02-05_06:28:18", "killed": false, "user_key": "162a0249fda0edee94288fa0c132a6e5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "10 months ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 1, "author_is_creator": false, "is_realtime": false}, "7851282": {"up_voted": false, "ip": "", "has_replies": true, "message": "matthew, you must be related to the owner?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-02-05_20:26:48", "killed": false, "user_key": "07d5ff852d53c953b744405b15ebc179", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "10 months ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "13344915": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree 1000% with this - the negative comments are really strange and do not match this place at all.<br><br>Every time I have ever gone it has been like burger bliss, and also the people there are really cool as well.<br><br>I'm  not the only one either, many of my friends are just in awe of this place because it is just sooooo good.<br><br>It seems like many of the people posting negative comments are either jerks, cheapskates, or bitter people who decided in advance that they don't like anything different...  I really don't get it.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-07-26_01:50:39", "killed": false, "user_key": "4a9ba3ddbb6555df95f84ba338df0a3a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 months ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 7851281, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851284": {"up_voted": false, "ip": "", "has_replies": false, "message": "My wife and I ate here 2 weeks ago: another over-priced burger joint, except this one employs hippies and passive-aggressive goths. The lady taking our order was a grouch because she had to contend with a crowded area that was built for only half as many people. It doesn't cost that much money to put a door on another wall and re-arrange the tables so the space is more user-friendly. Apparently, even after charging as much as they do, there isn't enough money to buy a few sheets of plywood.<br>I don't have complaints about the food, just the service. The food should be cheaper, I don't put the burgers any better then Redmill. And, they used too much salt.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-03-17_13:33:39", "killed": false, "user_key": "3873a022c037ff29e1d64c7aae6bf6da", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "8 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851285": {"up_voted": false, "ip": "", "has_replies": false, "message": "I've been 3 times (buffalo and blue on blue each time, what can I say, creature of habit) and would go more if only I could get a guarantee of a new heart/complete set of new arteries.<br><br>Well cooked, tasty burgers, cool menu, salt choices - I found the staff friendly (again, what is it with some of you reviewers and the attitude you seem to provoke? Smile folks, and people will smile back)", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-03-21_01:49:28", "killed": false, "user_key": "2d6198f3d93b50a78d7d2d71a7723f85", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "8 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851286": {"up_voted": false, "ip": "", "has_replies": false, "message": "The burgers were good, but too greasy and expensive and probably full of contaminants.<br><br>The place was also disgusting. There were fibers floating around in my water and the table we ate on was covered with felt! You can't clean a felt tabletop!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-03-22_17:23:25", "killed": false, "user_key": "55be204aaa6a8dbcb0c14d7c654d488a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "8 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851287": {"up_voted": false, "ip": "", "has_replies": false, "message": "just went last night.  My husband and i split a bean burger with jalapenos and pepper jack cheese.  OMG it was out of this world.  As two committed vegetarians we were glad to see they added a new vegetarian option.  even happier when we tasted it.  the burger is battered in potato and seriously,  it was insanity how good it was.  The mac and cheese we shared was delish too.  one burger and one side was enough to fill us both.  incredible.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-03-27_15:27:39", "killed": false, "user_key": "e9d8c6e6bf9369056f22dfff7a2a07fc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "8 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14855192": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yeah cos I regularly walk past restaurants that smell like rotting garbage and think \"I'd love to eat there!\"  lol I think not.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-14_17:08:48", "killed": false, "user_key": "sdh", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 14853388, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "12799257": {"up_voted": false, "ip": "", "has_replies": false, "message": "Must be to treat people like a crap and serve undercooked food??????  Nice.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-07-17_00:12:26", "killed": false, "user_key": "JE425", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "4 months ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 7851271, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "14853359": {"up_voted": false, "ip": "", "has_replies": false, "message": "Mexican Coke actually costs more almost anywhere in the US because it's made with cane sugar instead of that corn syrup crap they make all soda here with.<br><br>So she \"literally\" threw your food at you, but you still stayed?  I'm guessing you don't actually mean \"literally\".", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-14_16:29:47", "killed": false, "user_key": "8efada368de7f5acbec868a5b39f5c35", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 12768247, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "15203997": {"up_voted": false, "ip": "", "has_replies": true, "message": "I have to go with Frankiesardines on this one.  Your comment sounds more like a commercial for the lunchbox place than an actual customer comment.  Definately a lunchbox employee undercover.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-21_14:41:26", "killed": false, "user_key": "Italiangirl89", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 7851258, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "14853535": {"up_voted": false, "ip": "", "has_replies": true, "message": "Obviously if he worked there, he would start a flame war on their own review page.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-14_16:33:36", "killed": false, "user_key": "chiizus", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 13344895, "depth": 4, "points": 0, "author_is_creator": false, "is_realtime": false}, "15204699": {"up_voted": false, "ip": "", "has_replies": false, "message": "Why do you comment on every positive comment?  You work for McDonald's or something and afraid they're gonna steal your business?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-21_14:57:27", "killed": false, "user_key": "chiizus", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 15204347, "depth": 3, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851283": {"up_voted": false, "ip": "", "has_replies": false, "message": "I honestly think these are the best burgers I have ever had.  Yes they are a little expensive, and yes the place is a bit of a sh**hole, but wow! the burgers are the best I have had.<br><br>I have tried Hamburger Harry's, Red Mill, Zestos, Zak's, Scooters, and this place does the best burgers.  The vegeburgers are great, and I like the shakes too.  Mind you none of it is healthy food.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-03-01_20:51:01", "killed": false, "user_key": "97f8c0053e8aed157415dda2673c9e68", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "9 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 1, "author_is_creator": false, "is_realtime": false}, "23059653": {"up_voted": false, "ip": "", "has_replies": true, "message": "then don't eat here.  and shut up.  who wants to hear a comment about a place they've never been to?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-11-14_13:48:32", "killed": false, "user_key": "c_elf", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "2 weeks ago", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": 14433861, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851271": {"up_voted": false, "ip": "", "has_replies": true, "message": "Oy!  People, the concept behind this place is that, in exchange for decadent food, you must submit to the chef.    If, for whatever reasons, you do not like decadent food or are unwilling to let go of control, then this is not the restaurant for you.  Personally, I would better enjoy living in this town if more people were okay with letting go of things sometimes, and I thank this restaurant of asking that of us.  For future reviewers, please keep in mind why this place exists before you complain about the service.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-08-22_13:34:22", "killed": false, "user_key": "3c48deb20a42836f63af0873ccfb546a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 1, "author_is_creator": false, "is_realtime": false}, "15203628": {"up_voted": false, "ip": "", "has_replies": true, "message": "You mean like the one you're contributing too?  Asshole - fuck the Lunchbox Lab - your food sucks and stop getting your friends and family on here saying good things about a place that EVERYONE WHO HAS EATEN THERE hates - only return customers they get are rich yuppies who will think anything they eat is good as long as it is expensive - fuck you and fuck your bullshit, over-priced suckass restaurant - I hope it burns down with all of you in it", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-21_14:31:58", "killed": true, "user_key": "FrankieSardines", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 14853535, "depth": 5, "points": 0, "author_is_creator": false, "is_realtime": false}, "15204526": {"up_voted": false, "ip": "", "has_replies": false, "message": "First of all, I'm not a \"bro\".  Secondly, no, no one pays me.  But if they want to, they can give me a free burger.  Third, I wonder what *you* think bad food is seeing as you've actually eaten AMPM food to compare this to.  o_O", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-08-21_14:53:08", "killed": false, "user_key": "chiizus", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 15204294, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "23059741": {"up_voted": false, "ip": "", "has_replies": false, "message": "wow.  frankiesardines has a girlfriend?", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-11-14_13:51:07", "killed": false, "user_key": "c_elf", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "2 weeks ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 12768247, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851272": {"up_voted": false, "ip": "", "has_replies": false, "message": "Nasty burgers and some free verbal insults when you order.  yay! my new favorite place when I want to pay someone $15 for some lard soaked buns and a dishing of verbal abuse.   In fact, today has been a great day, i think I will go get a lunchbox beating this afternoon.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-09-03_14:48:07", "killed": false, "user_key": "2e276c4a096a3b81f3d36d720f82b847", "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}, "14853227": {"up_voted": false, "ip": "", "has_replies": true, "message": "I loved the food.  Even though I'm sure it's a heart attack on a plate.  So good!  Wish there was more seating room, but I get that they can't really fix that.  The wait staff was OK when we were there... not like overly nice, but not rude.  Prob room for some improvement there.  But yeah, the burger was great, the tots with bacon salt were great, and my bf and I split an amazing shake.  Plus they have cane sugar Coca-cola!   My only real complaint is that it's quite expensive, but I'm willing to splurge to go there every so often.  It's not like I'd want to eat there every day anyway unless I wanted to become morbidly obsese and clog my arteries.  On the plus side, the burgers are so big, you can pretty much eat half the burger and have half for lunch the next day... so I guess that helps even out the price.  4 stars for me.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-14_16:26:45", "killed": false, "user_key": "8efada368de7f5acbec868a5b39f5c35", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "23067977": {"up_voted": false, "ip": "", "has_replies": false, "message": "just keep on running . . . run, sdh, run", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-11-14_14:15:46", "killed": false, "user_key": "c_elf", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "2 weeks ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 23067592, "depth": 3, "points": 0, "author_is_creator": false, "is_realtime": false}, "12770616": {"up_voted": false, "ip": "", "has_replies": true, "message": "You must work for the Lunchbox Loboratory, because out of the all the reviews on myballard, yours is the only one with anything nice to say.  Not only was yours the only one with anything nice to say, yours is \"glowlingly\" kind -- not to mention you're plugging the menu too.  If you want to go on myballard and disguise yourself as a regular customer so your piece of crap over-priced redneck burger joint can have at least ONE good review, try to make it a little less obvious.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-16_19:00:32", "killed": false, "user_key": "FrankieSardines", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "4 months ago", "approved": true, "num_replies": 7, "is_first_child": true, "email": "", "parent_post_id": 7851258, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "15458362": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt; because you're pushing its menu<br>&gt; waaaaaay too hard<br><br>Don't be ridiculous - in my original comment I mentioned I liked one particular burger that I ate there, and that I think it is cool that they have rotating specials.<br><br>How on earth is that pushing the menu waaaay too hard?<br><br>Do you actually think that when commenting on a restaurant nothing about the menu should be mentioned at all?  How would that make any sense?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-27_02:50:46", "killed": false, "user_key": "3a5fbe958ce43c39eaf7eab679423953", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 15204071, "depth": 6, "points": 0, "author_is_creator": false, "is_realtime": false}, "14516042": {"up_voted": false, "ip": "", "has_replies": false, "message": "Frankie needs a hug. <br><br>I've never been to this place, but I'd like to try it out this week. I'll report back whether I agree with Frankie or not.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-08-09_12:10:30", "killed": false, "user_key": "bmvaughn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 12771207, "depth": 2, "points": 2, "author_is_creator": false, "is_realtime": false}, "13344580": {"up_voted": false, "ip": "", "has_replies": true, "message": "I posted a glowing review because it is a cool place that has unique food.<br><br>In your world saying that I like something about the menu means that I must be an employee? WTF? Your meds are not working anymore, I suggest you increase their dosage.<br><br>I have noticed a lot of bad reviews here, which just proves to me that the average person is too stupid to appreciate something good when it is different from the norm. If your #1 priority is to get something cheap, go get a McBurger and jam it down your piehole.<br><br>I brought my brother-in-law who was visiting from Maine here, and his verdict was \"best burger I've ever had\".<br><br>So no, I'm not an employee, just a customer that likes good food and doesn't like the overdone hockey pucks that pass for burgers in most other places nowadays.<br><br>It's weird to me that people have gotten so used to eating hockey pucks that when they actually get a juicy burger they freak out about it being greasy.<br><br>Anyway, it's definitely not for the faint-hearted, the burgers here are huge and over-the-top, certainly. If you were not expecting that, I could understand those problems. But many of the other comments such as yours are just a bunch of sissy whiners.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-26_01:29:27", "killed": false, "user_key": "4a9ba3ddbb6555df95f84ba338df0a3a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 months ago", "approved": true, "num_replies": 5, "is_first_child": false, "email": "", "parent_post_id": 12770616, "depth": 2, "points": 1, "author_is_creator": false, "is_realtime": false}, "14433861": {"up_voted": false, "ip": "", "has_replies": true, "message": "Stunned to hear this place wins anything - I run past here regularly and the place smells really bad and it looks nothing like as nice as the above photograph.  I wouldn't eat here!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-07_11:20:08", "killed": false, "user_key": "sdh", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 7, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "15204294": {"up_voted": false, "ip": "", "has_replies": true, "message": "bro, what are you smoking?  does the lunchbox lab pay you to write this shit?<br>I wonder what you think bad food is", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-21_14:47:59", "killed": false, "user_key": "carl555", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 1, "is_first_child": true, "email": "", "parent_post_id": 14853227, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "23067592": {"up_voted": false, "ip": "", "has_replies": true, "message": "c_elf - don't be so intolerant!  free speech,  democracy and all that?  the exterior cleanliness and odour of a restaurant are just as relevant when discussing somewhere to eat as any comment on the food.  I simply expressed my disbelief that it was so highly rated.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-11-14_14:11:26", "killed": false, "user_key": "sdh", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "2 weeks ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 23059653, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "14853388": {"up_voted": false, "ip": "", "has_replies": true, "message": "Ehh... stop in and give it a chance.  Get take out if you don't like the looks or smell of the place.  The food is pretty darn good.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-14_16:30:23", "killed": false, "user_key": "8efada368de7f5acbec868a5b39f5c35", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 3, "is_first_child": true, "email": "", "parent_post_id": 14433861, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "15204298": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh my god, you're rude.  I'm not related to or even know these people.  I just liked the burger I got there.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-21_14:48:04", "killed": false, "user_key": "chiizus", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 15203628, "depth": 6, "points": 0, "author_is_creator": false, "is_realtime": false}, "15204224": {"up_voted": false, "ip": "", "has_replies": true, "message": "WORST PLACE TO EAT EVER!!!!  After eating here I felt sick and so did my girlfriend.  the six week old hot dogs sitting in the microwave at 7-11 is probably better for you and definately tastes better.  Then, to add insult to injury, the food is HELLA EXPENSIVE!!!  Its four-star prices for AMPM quality food.  These people should be ashamed of themselves.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-21_14:46:36", "killed": false, "user_key": "carl555", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851278": {"up_voted": false, "ip": "", "has_replies": false, "message": "Kevin is mistaken, they are still open &amp; serving up fab burgers.  have to add I've NEVER had a problem with the service there.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-12-12_16:16:15", "killed": false, "user_key": "0ac143f159fa9f45958e1128c0860963", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "23059542": {"up_voted": false, "ip": "", "has_replies": false, "message": "best burgers ever.  i eat here about once a month (takes a bit to recover), and as far as i'm concerned, if you pay $20 for all the food you need in a day and half, that's a good deal.  freshly ground burgers?  i'd pay double.  dork?  omg.  who knew burgers could be so damn good?  and the shakes are spectacular.  <br><br>as for the people who comment negatively:<br><br>if you received poor service, you're probably an asshole to begin with.  having worked many years in the service industry, i have firsthand knowledge that those who are rude off the bat are the first (and loudest) to complain about bad service.  and being polite and friendly myself, i almost never have to complain that people who wait on me are rude.  <br><br>if you think the burgers are too greasy, you have no idea what juicy meat looks like.  and guess what - meat has fat, cheese has fat, mayo and other sauces have fat - and fat tastes good.  go gnaw on whatever tasteless cudd you're used to and stay out of my delicious lunch line.<br><br>nobody is forcing you to come here.  if you don't like it, that's your problem.  <br>not everybody has to like it, but based on a lot of the things people are saying that aren't nice, i'm guessing they have bigger problems that not being able to appreciate the best, most gourmet, tastiest burgers in the PNW.<br><br>the food is always amazing (and my couch calls my name loudly when i'm done), the service has never been anything but great, the traffic has never bothered me, and i can't wait to go back.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-11-14_13:44:46", "killed": false, "user_key": "c_elf", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "2 weeks ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "15268955": {"up_voted": false, "ip": "", "has_replies": false, "message": "No. I just love great food.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-08-23_15:17:54", "killed": false, "user_key": "162a0249fda0edee94288fa0c132a6e5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 7851282, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "15458524": {"up_voted": false, "ip": "", "has_replies": false, "message": "You must be an employee of one of their competitors...<br><br>That's the only way your comment would make any sense.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-08-27_03:01:37", "killed": false, "user_key": "3a5fbe958ce43c39eaf7eab679423953", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 15204224, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "15204347": {"up_voted": false, "ip": "", "has_replies": true, "message": "dude - why do you comment on every negative comment (which there are alot of)  I think italiangirl is right...you are an undercover for the lunchbox", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-21_14:49:15", "killed": false, "user_key": "carl555", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 14853388, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "15804646": {"up_voted": false, "ip": "", "has_replies": false, "message": "Undercooked bacon. Unforgivable. Yech!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-09-02_17:07:31", "killed": false, "user_key": "burgermaster", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "15204071": {"up_voted": false, "ip": "", "has_replies": true, "message": "Dude...why do you even care if you're NOT connected to the lunchbox?  you totally sound like someone who works for the lunchbox because you're pushing its menu waaaaaay too hard", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-21_14:43:06", "killed": false, "user_key": "Italiangirl89", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 13345032, "depth": 5, "points": 0, "author_is_creator": false, "is_realtime": false}, "14595607": {"up_voted": false, "ip": "", "has_replies": false, "message": "I love this place and I am a vegetarian!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-08-10_16:39:35", "killed": false, "user_key": "shanedillon", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "3 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "13344895": {"up_voted": false, "ip": "", "has_replies": true, "message": "Yeah, definately an employee posing as a custoner - so far, you're the only person who thinks these burgers are not dog vomit - eithers means two thing - you're the owner or you have not taste buds - and by the way, what does someone being from \"Maine\" have to do with knowing what good food is.  Last time I checked, the no.1 menu item in Maine was moose burger and SPAM - that's why he lives in Maine - just accept the fact that NOBODY LIKES YOUR STINKING FOOD and your business is on its way out -", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-26_01:49:34", "killed": true, "user_key": "FrankieSardines", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "4 months ago", "approved": true, "num_replies": 5, "is_first_child": false, "email": "", "parent_post_id": 13344580, "depth": 3, "points": 0, "author_is_creator": false, "is_realtime": false}, "12799214": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yeah it's my money.  I want my meat cooked how I like it.  They are a service cook my meat my way.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-07-17_00:10:43", "killed": false, "user_key": "JE425", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "4 months ago", "approved": true, "num_replies": 0, "is_first_child": true, "email": "", "parent_post_id": 7851269, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "8659951": {"up_voted": false, "ip": "", "has_replies": false, "message": "I like what they are doing conceptually, but it's just too much for me. 6-7 pieces of bacon on a burger? These are extreme burgers so if that's what you want, you'll get it here. Next time I going for the small one so I don't have to go on cholesteral medication to pass my physical.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-04-24_13:20:11", "killed": false, "user_key": "6b05d6a5062a40b7597c805f9f1ca776", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "7 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "13302003": {"up_voted": false, "ip": "", "has_replies": false, "message": "Be nice dude, and I won't mention that you smell like fish.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-24_23:02:04", "killed": false, "user_key": "2d6198f3d93b50a78d7d2d71a7723f85", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "4 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 12770616, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "18521204": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wow!  Who would have known that a little burger joint could inspire such hatred and loyalty on an online review site?  MyBallard reviews are usually so... civilized.  It sounds like there are some folks with personal problems or a personal bone to pick with the restaurant - nobody gets that hot under the collar about a restaurant unless they're personally involved in it.  Frankie - did they fire you or take your lunch money or something? <br><br>That said...<br><br>My boyfriend and I tried the LL a few months ago because of all the controversy on the forum here.  We figured that any place that insipired such vitriolic hatred had to be worth the experience, so we went.  Here's what I thought about it:<br><br>The interior was fine, sort of a hip new ballard grunge thing going on in there; nothing special.  We ordered a dork burger and bacon-and-grilled onion burger, sweet potato fries with rosemary salt, good n' plenty shake and a nutella shake. <br><br>Fries - were perfect.  The rosemary salt on the sweet potato fries was divine and they were hot, crispy and wonderful.  Party in your mouth good.<br><br>Dork burger - nasty.  It tasted like grease.  Now, I like greasy burgers as much as the next person but it was the FLAVOR that was really gross.  Bleah, like licking out a meatgrinder.<br><br>Bacon burger - I ate 1/4 of it and had to stop because it was so salty it actually made my throat hurt.  I tried to figure out why it was so salty and I think the patty was salted, with salted sauce, salted onions and half a pound of heavily salted bacon.  Yes, it was disintigrating into a pool of its own grease, which I would have loved if it wasn't so damn salty.<br><br>The shakes are INSPIRED.  He actually got a 2nd one to go after taking down a burger and fries because it was that good.  I have to agree.  Best.  Shakes. Ever.<br><br>So there it is.  A real review from a regular person who has no affiliation with the place except that I used to eat there when it was still Ballard Bros.   Flame away!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-10-04_16:57:19", "killed": false, "user_key": "1f0e43a3bfd3f2d8edfa88c26e12890e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "12768247": {"up_voted": false, "ip": "", "has_replies": true, "message": "One of the worst places I've ever been to (ever).  My girlfriend and I went into this Lunchbox Loboratory joint just off of 15th and the misery of our experience began when we were served by what looked like a Yeti in drag -- a fat, rude,  piggish waitress who (literally) threw our food at us -- not to mention that my apetite was ruined after having to look at this fat beast's gianormous, lumbering, cottage-cheese thighs that she insists on showing off by wearing a pair of tight-fitting cargo shorts that would make anyone cringe.  After taking one bite into my $15 hamburger that was swimming in grease, I felt ill instantly - so did my girl friend who ordeder some \"chicken spam\" burger.  The food makes the cuisine served at tail-gate parties cooked off the radiator of some rednecks' truck is more appealing than this disgusting, over-priced garbage they try to pass off as food.  The final insult was the \"Mexican cokes\" - which (since they are from Mexico) are only 1/3 the price of an American coke - but since the Lunchbox people play up their \"Mexican cokes\" as something special, they charge you more - what a rip off - these people should be ashamed of themselves - just because your rednecks freinds like the crap you serve up doesn't mean anyone else will - no wonder they do lousy business.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-16_18:02:42", "killed": false, "user_key": "FrankieSardines", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "4 months ago", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851257": {"up_voted": false, "ip": "", "has_replies": false, "message": "I am SOOOO disappointed. After reading numerous stellar reviews on this place I was filled with excitement when the opportunity to go presented itself. The service was less than stellar, in fact, it was downright rude. I witnessed a customer kindly state that he thought he may have received the wrong burger just to hear the order taker girl complain to a room full of patrons that she thought she could let the cook bring out the food but apparently he wasn't competent.<br><br>The food was disgustingly greasy. Don't get me wrong, greasy CAN be good - but this was not. A greasy soggy burger for $11 with poor counter service - - this place does not live up to its hype.<br><br>In addition, it was shut down at lunchtime this weekend for \"catch up time\" and on my visit the credit card machine was down due to \"broken phone lines.\"<br><br>Do yourself a favor - save your money... there's better burgers (and service) to be found in Ballard.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-04-24_22:23:45", "killed": false, "user_key": "eed14c4220bc7aeb96094090083ca759", "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}, "7851258": {"up_voted": false, "ip": "", "has_replies": true, "message": "This is my favorite place - nowhere else comes close to the burgers they have here.<br><br>A lot of interesting ingredients to choose from, for example you can get a burger with wild boar meat and feta cheese.<br><br>Lots of rotating specials too.<br><br>It's expensive for a burger, but every time I eat here it feels a lot more like a gourmet memorable meal tuned for maximum deliciousness. For that $12 is really cheap.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-04-28_23:15:00", "killed": false, "user_key": "0c51d5594ad5ca2885bd2e98cdb773ba", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 10, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "7851259": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm a total burger snob &amp; this one rated high with me: juicy beefy goodness!  Also loved the Tots and the uber rich mac &amp; cheese but OMG even splitting a burger we ate too much!<br>Service was friendly, and the price was comparable to other high quality burgers around seattle.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-20_16:25:04", "killed": false, "user_key": "0ac143f159fa9f45958e1128c0860963", "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": 1, "author_is_creator": false, "is_realtime": false}, "7851260": {"up_voted": false, "ip": "", "has_replies": false, "message": "Unfortunately I'm with Amy on this one - the service was terrible. I can forgive problems with phone lines etc., particularly when just starting out. I'm even trying to be generous of spirit around the fact that they can't handle their large crowds. While crowds are a sure sign of good food, poor handling of those crowds is enough to turn me away. (Check how Red Mill works their large crowd very well.)<br><br>All this aside, when the co-owner/order-taker is bitchy, it negates everything else.<br><br>May go back and give it one more chance but not in a hurry.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-30_11:30:41", "killed": false, "user_key": "5fa4ec61a2ccf1c0b7bfdf3cfa133dc3", "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}, "7851261": {"up_voted": false, "ip": "", "has_replies": false, "message": "The laboratory gimmick can't make up for the awful food.<br><br>Way too greasy!  Burgers are greasy; fries are greasy; even the mac &amp; cheese is greasy.  Not comfortable for sitting; their preferred temperature indoors is around 35.  Long wait.  Horrible choices for vegetarians.  Bad food for too much money.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-03_17:12:03", "killed": false, "user_key": "7c0fcb54983192a55cd05b0892182a78", "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}, "7851262": {"up_voted": false, "ip": "", "has_replies": true, "message": "If you don't like pornography, don't go to a pornography store. If you don't like giant, greasy comfort food, don't eat here.<br><br>On the other hand, if you DO like giant greasy comfort food,  why haven't you eaten here already? Is the food greasy? Absolutely. Too greasy? Not at all. <br><br>In food like a dork (duck and pork) burger, the flavor is in the fat, and Lunchbox Laboratory has no qualms about making sure you get as much of the flavor as possible. And WHAT flavor. The place is absolutely delicious. <br><br>Of course, part of that is knowing how to order. If you don't understand how different flavors are going to work together and compliment each other, try to keep it simple. A friend I was with very nearly ordered a dork/pepper jack/honey bbq burger, since he likes all those things. The waitress (who was nothing but polite with our group) and I were quick to steer him toward a milder cheese that wouldn't fight the other flavors. After switching to Swiss, the burger came out wonderfully.<br><br>If you're still scared, there's always the days' \"experiments.\" A list of pre-planned burgers with a side of your choice, at $2 less than a do-it-yourself burger with a side. The other two in my party went this route and were extremely pleased with the results. <br><br>Without dragging on, the sides were delicious, though the Mac 'n' Cheese du Jour was a little too heavy after all the food we'd already ordered.  Great selection of bottled sodas with real cane sugar, and tasty (if unremarkable) milk shakes. Obviously, this is not an every day, or in most cases once a week, meal. It's a special treat, when you've been good and you can afford to really go nuts. <br><br>The 20 some blocks I walked home certainly made me feel better.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-12_23:16:48", "killed": false, "user_key": "eb5a1c66e7e60b5dd21e209ec1eedc7d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 2, "author_is_creator": false, "is_realtime": false}, "7851263": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm a vegetarian but went with a co-worker to check it out, not knowing it was a burger joint.  Doesn't \"lunchbox\" say \"sandwich\" to you?). The outside seating is forbiddingly close to the street with no screening at all, and the inside seating feels like a walk-in refrigerator. So much for atmosphere! When my co-worker decided his burger was undercooked and asked for it to be put back on the grill for a minute, he was told the cook does everything the same way - meaning, he undercooks EVERY burger, and too bad if that makes you nervous about food-borne illness.<br>Why would anyone pay money to be treated like that? There are so many other great restaurants in Ballard.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-16_21:22:22", "killed": false, "user_key": "3330a1978592608efdfecf6a8c9d54b9", "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": null, "theme": 2, "reply_position": false, "disqus_logo": true}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "15118211", "user_id": "anonymous", "forum_id": "108022", "hash": -6697244442998328112}, "thread": {"days_alive": 0, "slug": "lunchbox_laboratory", "paginate": false, "num_pages": 1, "num_posts": 67, "per_page": 0, "total_posts": 0, "realtime_paused": true, "id": 15118211, "queued": false}, "reactions_limit": 10, "context": {"show_reply": true, "use_fb_connect": true, "forum_facebook_key": "29ac93bcc80e20dc00554a7b3e9cc874", "use_yahoo": false, "subscribed": false, "use_twitter_signin": false, "use_openid": false, "realtime_speed": 5000}, "reactions_start": 0, "settings": {"debug": false, "disqus_url": "http://disqus.com", "media_url": "http://media.disqus.com"}, "media_url": "http://media.disqus.com"};
	/* */ this.jsonData.cookie_messages = {"user_created": null, "post_has_profile": null, "post_twitter": null, "post_not_approved": null}; this.jsonData.session = {"url": null, "name": null, "email": null}; /* */

	
	this.curPageId = 'dsq-comments';

	this.frames = {};
};

var disqus_popup_reference = null;

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



/**
 * Dsq.Strings: UI strings
 */
Dsq.Strings = new function() {
	this.ADD_NEW_COMMENT = "Add New Comment";
	this.LOG_INTO_DISQUS = "Log into DISQUS";
	this.USE_MEDIA = "Use Media";
	this.LOGOUT = "Logout";
	this.SHARING_OPTIONS = "Sharing options";
	this.SHARE_ON = "Share on";
	this.TWEET_THIS_COMMENT = "Tweet this comment";
	this.SHARE_ON_NEWSFEED = "Share on news feed";
	this.SEND_UPDATE_TO_YAHOO = "Send update to Yahoo!";
	this.REBLOG_ON = "Reblog on";
	this.CONFIGURE_OPTIONS = "Configure options";
	this.POST_AS = "Post as";
	this.SORT_BY = "Sort by";
	this.SUBSCRIBE_BY_EMAIL = "Subscribe by email";
	this.SUBSCRIBE_BY_RSS = "Subscribe by RSS";
	this.POPULAR_NOW = "Popular now";
	this.BEST_RATING = "Best Rating";
	this.NEWEST_FIRST = "Newest first";
	this.OLDEST_FIRST = "Oldest first";
	this.HIGHLIGHTED = "Highlighted";
	this.UNSUBSCRIBE = "Unsubscribe";
	this.REQUIRED = "Required";
	this.OPTIONAL = "Optional";
	this.YOU_ARE_COMMENTING_AS_A = "You are commenting as a";
	this.LOGIN_BELOW = "Login below";
	this.PLEASE_LOGIN_BELOW_TO_COMMENT = "Please login below to comment.";
	this.SUBSCRIBE_TO_ALL_COMMENTS_BY_EMAIL = "Subscribe to all comments by email";
	this.DO_NOT_SUBSCRIBE_TO_COMMENTS = "Do not subscribe to comments";
	this.REALTIME_UPDATING_IS = "Real-time updating is";
	this.ENABLED = "enabled";
	this.PAUSED = "paused";
	this.PAUSE = "Pause";
	this.RESUME = "Resume";
	this.SHOW = "Show";
	this.JUST_NOW = "Just now";
	this.REPLY = "Reply";
	this.EDIT = "Edit";
	this.FLAG = "Flag";
	this.MODERATE = "Moderate";
	this.CANCEL = "Cancel";
	this.REPLYING_TO = "Replying to";
	this.REPORT_MISSING_REACTIONS = "Report missing reactions";
	this.POST_A_COMMENT = "Post a comment";
	this.FLAG_INAPPROPRIATE_COMMENT = "Flag inappropriate comment";
	this.FLAGGED = "Flagged";
	this.NO = "No";
	this.YES = "Yes";
	this.NEVER_MIND = "Never mind";
	this.ARE_YOU_SURE_YOU_WOULD_LIKE_TO_REPORT_THIS_COMMENT_TO_A_MODERATOR = "Are you sure you would like to report this comment to a moderator";
	this.THIS_WILL_FLAG_COMMENTS_FOR_MODERATORS_TO_TAKE_ACTION = "This will flag comments for moderators to take action";
	this.TO_RATE_PLEASE_LOG_IN = "To rate, please log in";
	this.JUST_A_MOMENT = "Just a moment...";
	this.GUEST = "Guest";
	this.NAME = "Name";
	this.EMAIL = "Email";
  this.WEBSITE = "Website";
  this.SETTINGS = "Settings";
  this.MODERATOR_OPTIONS = "Moderator options: ";
};
// 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 = '21bc467119200cb06806902fa8e2f5b0';
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;



// 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://disqus.com/forums/myballard/lunchbox_laboratory/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 {
			return parseInt(chunks[chunks.length-1]);
		}
	};

	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 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/myballard/_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">67</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://disqus.com/forums/myballard/lunchbox_laboratory/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" >Popular now</option>\
	 <option value="best" >Best Rating</option>\
	 <option value="newest" >Newest first</option>\
	 <option value="oldest" selected="selected">Oldest first</option>\
	 </select>\
	 &nbsp;\
	 </span>\
	 <span class="dsq-item-cp"><a href="http://disqus.com/forums/myballard/lunchbox_laboratory/">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();

		

		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 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://disqus.com/forums/myballard/lunchbox_laboratory/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 ' + (reaction.source == 'backtype' ? '<a href="http://backtype.com/">BackType</a>' : '<a href="' + reaction.source_url + '">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 My Ballard" 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:15118211" 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> \
								 \
								 \
								 \
							 \
						</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'				: 'myballard',
			't'				: 'lunchbox_laboratory',
			// 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/myballard/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/myballard/lunchbox_laboratory/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 onclick="Dsq.Popup._closePopup(null, true)"><strong>' + Dsq.Strings.NO + '</strong>, ' + Dsq.Strings.NEVER_MIND + '</button>&nbsp;&nbsp;&nbsp;<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/myballard/thread.js'
			+ '?slug='	+ 'lunchbox_laboratory'
			+ '&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/myballard/thread.js'
			+ '?slug='	+ 'lunchbox_laboratory'
			+ '&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/myballard/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'lunchbox_laboratory'
				+ '&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 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 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.updateDaysAlive = function() {
		var days = Dsq.$('dsq-thread-days-alive').value;
		var status = Dsq.$('dsq-thread-settings-status');
		Dsq.Utils.postToUrl('http://disqus.com/forums/myballard/update_days_alive.js', {days:days,thread:Dsq.jsonData.thread.id});
		status.innerHTML = 'Saved!';
		window.setTimeout(function() { status.innerHTML = ''; }, 1000);
	};
};
// 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/15118211/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/myballard/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/myballard/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;
		});
	})();
}









(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-7851257">\
	 <div id="dsq-comment-header-7851257" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851257" class="dsq-comment-cite">\
	 <a id="dsq-author-user-7851257" href="http://www.theworldisfun.com" target="_blank" rel="nofollow">amy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851257" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851257" class="dsq-comment-message">I am SOOOO disappointed. After reading numerous stellar reviews on this place I was filled with excitement when the opportunity to go presented itself. The service was less than stellar, in fact, it was downright rude. I witnessed a customer kindly state that he thought he may have received the wrong burger just to hear the order taker girl complain to a room full of patrons that she thought she could let the cook bring out the food but apparently he wasn\'t competent.<br><br>The food was disgustingly greasy. Don\'t get me wrong, greasy CAN be good - but this was not. A greasy soggy burger for $11 with poor counter service - - this place does not live up to its hype.<br><br>In addition, it was shut down at lunchtime this weekend for "catch up time" and on my visit the credit card machine was down due to "broken phone lines."<br><br>Do yourself a favor - save your money... there\'s better burgers (and service) to be found in Ballard.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851258">\
	 <div id="dsq-comment-header-7851258" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851258" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851258">Michael</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851258" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851258" class="dsq-comment-message">This is my favorite place - nowhere else comes close to the burgers they have here.<br><br>A lot of interesting ingredients to choose from, for example you can get a burger with wild boar meat and feta cheese.<br><br>Lots of rotating specials too.<br><br>It\'s expensive for a burger, but every time I eat here it feels a lot more like a gourmet memorable meal tuned for maximum deliciousness. For that $12 is really cheap.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12770616">\
	 <div id="dsq-comment-header-12770616" class="dsq-comment-header">\
	 <cite id="dsq-cite-12770616" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12770616">FrankieSardines</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12770616" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12770616" class="dsq-comment-message">You must work for the Lunchbox Loboratory, because out of the all the reviews on myballard, yours is the only one with anything nice to say.  Not only was yours the only one with anything nice to say, yours is "glowlingly" kind -- not to mention you\'re plugging the menu too.  If you want to go on myballard and disguise yourself as a regular customer so your piece of crap over-priced redneck burger joint can have at least ONE good review, try to make it a little less obvious.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-13302003">\
	 <div id="dsq-comment-header-13302003" class="dsq-comment-header">\
	 <cite id="dsq-cite-13302003" class="dsq-comment-cite">\
	 <span id="dsq-author-user-13302003">ExiledBrit</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-13302003" class="dsq-comment-body">\
	 <div id="dsq-comment-message-13302003" class="dsq-comment-message">Be nice dude, and I won\'t mention that you smell like fish.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-13344580">\
	 <div id="dsq-comment-header-13344580" class="dsq-comment-header">\
	 <cite id="dsq-cite-13344580" class="dsq-comment-cite">\
	 <span id="dsq-author-user-13344580">Michael</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-13344580" class="dsq-comment-body">\
	 <div id="dsq-comment-message-13344580" class="dsq-comment-message">I posted a glowing review because it is a cool place that has unique food.<br><br>In your world saying that I like something about the menu means that I must be an employee? WTF? Your meds are not working anymore, I suggest you increase their dosage.<br><br>I have noticed a lot of bad reviews here, which just proves to me that the average person is too stupid to appreciate something good when it is different from the norm. If your #1 priority is to get something cheap, go get a McBurger and jam it down your piehole.<br><br>I brought my brother-in-law who was visiting from Maine here, and his verdict was "best burger I\'ve ever had".<br><br>So no, I\'m not an employee, just a customer that likes good food and doesn\'t like the overdone hockey pucks that pass for burgers in most other places nowadays.<br><br>It\'s weird to me that people have gotten so used to eating hockey pucks that when they actually get a juicy burger they freak out about it being greasy.<br><br>Anyway, it\'s definitely not for the faint-hearted, the burgers here are huge and over-the-top, certainly. If you were not expecting that, I could understand those problems. But many of the other comments such as yours are just a bunch of sissy whiners.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-13344895">\
	 <div id="dsq-comment-header-13344895" class="dsq-comment-header">\
	 <cite id="dsq-cite-13344895" class="dsq-comment-cite">\
	 <span id="dsq-author-user-13344895">FrankieSardines</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-13344895" class="dsq-comment-body">\
	 <div id="dsq-comment-message-13344895" class="dsq-comment-message">Yeah, definately an employee posing as a custoner - so far, you\'re the only person who thinks these burgers are not dog vomit - eithers means two thing - you\'re the owner or you have not taste buds - and by the way, what does someone being from "Maine" have to do with knowing what good food is.  Last time I checked, the no.1 menu item in Maine was moose burger and SPAM - that\'s why he lives in Maine - just accept the fact that NOBODY LIKES YOUR STINKING FOOD and your business is on its way out -</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-13345032">\
	 <div id="dsq-comment-header-13345032" class="dsq-comment-header">\
	 <cite id="dsq-cite-13345032" class="dsq-comment-cite">\
	 <span id="dsq-author-user-13345032">Michael</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-13345032" class="dsq-comment-body">\
	 <div id="dsq-comment-message-13345032" class="dsq-comment-message">Quit smoking the crack, it is not doing you any favors.<br><br>Mine is not the only positive review, the one right below it is positive too, and there are others too... If you learn to read you might be able to find them!<br><br>Something is broken inside of you, maybe an imbalance or were you abused as a child? I suggest to seek professional help.<br><br>I am only just a customer - it may seriously be a sign of actual clinical paranoia that you cannot believe that.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15204071">\
	 <div id="dsq-comment-header-15204071" class="dsq-comment-header">\
	 <cite id="dsq-cite-15204071" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15204071">Italiangirl89</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15204071" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15204071" class="dsq-comment-message">Dude...why do you even care if you\'re NOT connected to the lunchbox?  you totally sound like someone who works for the lunchbox because you\'re pushing its menu waaaaaay too hard</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15458362">\
	 <div id="dsq-comment-header-15458362" class="dsq-comment-header">\
	 <cite id="dsq-cite-15458362" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15458362">Michael</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15458362" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15458362" class="dsq-comment-message">&gt; because you\'re pushing its menu<br>&gt; waaaaaay too hard<br><br>Don\'t be ridiculous - in my original comment I mentioned I liked one particular burger that I ate there, and that I think it is cool that they have rotating specials.<br><br>How on earth is that pushing the menu waaaay too hard?<br><br>Do you actually think that when commenting on a restaurant nothing about the menu should be mentioned at all?  How would that make any sense?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14853535">\
	 <div id="dsq-comment-header-14853535" class="dsq-comment-header">\
	 <cite id="dsq-cite-14853535" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14853535">chiizus</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14853535" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14853535" class="dsq-comment-message">Obviously if he worked there, he would start a flame war on their own review page.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15203628">\
	 <div id="dsq-comment-header-15203628" class="dsq-comment-header">\
	 <cite id="dsq-cite-15203628" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15203628">FrankieSardines</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15203628" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15203628" class="dsq-comment-message">You mean like the one you\'re contributing too?  Asshole - fuck the Lunchbox Lab - your food sucks and stop getting your friends and family on here saying good things about a place that EVERYONE WHO HAS EATEN THERE hates - only return customers they get are rich yuppies who will think anything they eat is good as long as it is expensive - fuck you and fuck your bullshit, over-priced suckass restaurant - I hope it burns down with all of you in it</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15204298">\
	 <div id="dsq-comment-header-15204298" class="dsq-comment-header">\
	 <cite id="dsq-cite-15204298" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15204298">chiizus</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15204298" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15204298" class="dsq-comment-message">Oh my god, you\'re rude.  I\'m not related to or even know these people.  I just liked the burger I got there.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15203997">\
	 <div id="dsq-comment-header-15203997" class="dsq-comment-header">\
	 <cite id="dsq-cite-15203997" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15203997">Italiangirl89</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15203997" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15203997" class="dsq-comment-message">I have to go with Frankiesardines on this one.  Your comment sounds more like a commercial for the lunchbox place than an actual customer comment.  Definately a lunchbox employee undercover.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15458446">\
	 <div id="dsq-comment-header-15458446" class="dsq-comment-header">\
	 <cite id="dsq-cite-15458446" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15458446">Michael</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15458446" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15458446" class="dsq-comment-message">You know, maybe some of the paranoia is rubbing off on me, but I\'m starting to think that these negative comments accusing every positive review of being from an employee are coming from the same person who is trying to sabotage this business for some reason.<br><br>Something just doesn\'t add up, since all of my friends without exception really enjoy this place to a very great degree.<br><br>Again, I\'m not an employee, just someone who appreciates the cool things that they have done here.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851259">\
	 <div id="dsq-comment-header-7851259" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851259" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851259">pioggia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851259" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851259" class="dsq-comment-message">I\'m a total burger snob &amp; this one rated high with me: juicy beefy goodness!  Also loved the Tots and the uber rich mac &amp; cheese but OMG even splitting a burger we ate too much!<br>Service was friendly, and the price was comparable to other high quality burgers around seattle.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851260">\
	 <div id="dsq-comment-header-7851260" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851260" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851260">m</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851260" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851260" class="dsq-comment-message">Unfortunately I\'m with Amy on this one - the service was terrible. I can forgive problems with phone lines etc., particularly when just starting out. I\'m even trying to be generous of spirit around the fact that they can\'t handle their large crowds. While crowds are a sure sign of good food, poor handling of those crowds is enough to turn me away. (Check how Red Mill works their large crowd very well.)<br><br>All this aside, when the co-owner/order-taker is bitchy, it negates everything else.<br><br>May go back and give it one more chance but not in a hurry.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851261">\
	 <div id="dsq-comment-header-7851261" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851261" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851261">M</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851261" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851261" class="dsq-comment-message">The laboratory gimmick can\'t make up for the awful food.<br><br>Way too greasy!  Burgers are greasy; fries are greasy; even the mac &amp; cheese is greasy.  Not comfortable for sitting; their preferred temperature indoors is around 35.  Long wait.  Horrible choices for vegetarians.  Bad food for too much money.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851262">\
	 <div id="dsq-comment-header-7851262" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851262" class="dsq-comment-cite">\
	 <a id="dsq-author-user-7851262" href="http://www.killallthewhiteman.com" target="_blank" rel="nofollow">Ian</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851262" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851262" class="dsq-comment-message">If you don\'t like pornography, don\'t go to a pornography store. If you don\'t like giant, greasy comfort food, don\'t eat here.<br><br>On the other hand, if you DO like giant greasy comfort food,  why haven\'t you eaten here already? Is the food greasy? Absolutely. Too greasy? Not at all. <br><br>In food like a dork (duck and pork) burger, the flavor is in the fat, and Lunchbox Laboratory has no qualms about making sure you get as much of the flavor as possible. And WHAT flavor. The place is absolutely delicious. <br><br>Of course, part of that is knowing how to order. If you don\'t understand how different flavors are going to work together and compliment each other, try to keep it simple. A friend I was with very nearly ordered a dork/pepper jack/honey bbq burger, since he likes all those things. The waitress (who was nothing but polite with our group) and I were quick to steer him toward a milder cheese that wouldn\'t fight the other flavors. After switching to Swiss, the burger came out wonderfully.<br><br>If you\'re still scared, there\'s always the days\' "experiments." A list of pre-planned burgers with a side of your choice, at $2 less than a do-it-yourself burger with a side. The other two in my party went this route and were extremely pleased with the results. <br><br>Without dragging on, the sides were delicious, though the Mac \'n\' Cheese du Jour was a little too heavy after all the food we\'d already ordered.  Great selection of bottled sodas with real cane sugar, and tasty (if unremarkable) milk shakes. Obviously, this is not an every day, or in most cases once a week, meal. It\'s a special treat, when you\'ve been good and you can afford to really go nuts. <br><br>The 20 some blocks I walked home certainly made me feel better.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12771207">\
	 <div id="dsq-comment-header-12771207" class="dsq-comment-header">\
	 <cite id="dsq-cite-12771207" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12771207">FrankieSardines</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12771207" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12771207" class="dsq-comment-message">Shameless - obviously another lunchbox employee (probably its fat, dumpy Angry Lesbian token sasquatch) pumping up the menu and telling people something\'s wrong with them if they don\'t like their crappy food.  This is the kinda food that white trash cook up for Superbowl parties for the rest of the trailer park (and even to say that would be kind).  <br><br>Just to give you an idea how bad this place is - after ordering one of their famous "Span pork" burgers and taking one bite before feeling like vommiting, I packed it up in a doggie bag to give to some homeless person down by the food bank instead of throwing away my $15 dog vomit burger - not even the homeless wanted it - that\'s how bad this crap is.  This place should be condemmned by the HEALTH DEPARTMENT--- now</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14516042">\
	 <div id="dsq-comment-header-14516042" class="dsq-comment-header">\
	 <cite id="dsq-cite-14516042" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14516042">bmvaughn</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14516042" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14516042" class="dsq-comment-message">Frankie needs a hug. <br><br>I\'ve never been to this place, but I\'d like to try it out this week. I\'ll report back whether I agree with Frankie or not.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851263">\
	 <div id="dsq-comment-header-7851263" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851263" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851263">Christina</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851263" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851263" class="dsq-comment-message">I\'m a vegetarian but went with a co-worker to check it out, not knowing it was a burger joint.  Doesn\'t "lunchbox" say "sandwich" to you?). The outside seating is forbiddingly close to the street with no screening at all, and the inside seating feels like a walk-in refrigerator. So much for atmosphere! When my co-worker decided his burger was undercooked and asked for it to be put back on the grill for a minute, he was told the cook does everything the same way - meaning, he undercooks EVERY burger, and too bad if that makes you nervous about food-borne illness.<br>Why would anyone pay money to be treated like that? There are so many other great restaurants in Ballard.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851264">\
	 <div id="dsq-comment-header-7851264" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851264" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851264">lauram</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851264" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851264" class="dsq-comment-message">It was OK.  I don\'t get the rule about how they don\'t take "temperature requests".  Why the f(*# not?  It\'s a BURGER joint.  Some people like rare, some medium, some well-done.  Deal with it, you\'re a BURGER joint.<br><br>Also, agree that the seating is horrible inside and the outside could really use some planter boxes or other sound and visual screening for 15th Ave NW which is VERY NOISY.  <br><br>The food was pretty good.  Yes, greasy, but not in a bad way.  BUT, it was very pricey.  <br><br>Overall, I feel no need to go back unless they deal with seating inside and outside and unless they rescind the ridiculous "no temperature requests" rule.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851265">\
	 <div id="dsq-comment-header-7851265" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851265" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851265">Merle</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851265" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851265" class="dsq-comment-message">Thought I\'d try this place out for lunch after reading some of the reviews. They have a lot of interesting choices for burgers, and my cheeseburger was good, but $14 for a burger and a very small order of fries is way too much. I will save my money, have just as good a burger  and go to Ballard Brothers or Scooters.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851266">\
	 <div id="dsq-comment-header-7851266" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851266" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851266">Foo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851266" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851266" class="dsq-comment-message">Friends had raved about this place so I gave it a try.   <br><br>Never. Going. Back.<br><br>The snotty attitude, the incredibly raw burger (and the refusal to do anything about said rawness), and the general feeling that they think I should BE so lucky to be condescended to by them... all add up to "giving my money to Scooters".  Sure, they\'re not as inventive or strange, but they\'re half the price, twice as nice, and at least their street-side seating is on a side street.  :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851267">\
	 <div id="dsq-comment-header-7851267" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851267" class="dsq-comment-cite">\
	 <a id="dsq-author-user-7851267" href="http://www.matlub.net" target="_blank" rel="nofollow">Jeff</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851267" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851267" class="dsq-comment-message">You know... my gut tells me this place isn\'t going to last. The service is abrasive. Not less so than a lot of other culinary institutions, though.<br><br>That said, it\'s a shame. It\'s a unique burger joint. Some of the concoctions are lackluster; others are freakin\' sublime. Ian\'s totally right in saying that you have to THINK about how the flavors will complement one another, because they won\'t stop you from creating a shitty burger. Put the work into your burger hypothesis... it\'ll pay off.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851268">\
	 <div id="dsq-comment-header-7851268" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851268" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851268">angrignon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851268" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851268" class="dsq-comment-message">Too greasy, it was like eating 5 bowls of poutine (Quebec style, not the fake BC/Ontario shit). Should have had some nitro served up on the side.<br><br>There is practically _NO_ room inside to sit. Outside, same thing.<br><br>They seemed to be asses about giving out the water to folks who wanted a drink.<br><br>Had one of the milkshakes and it was horrid.<br><br>Whatever, this place is living off its gimmick that it got in the press. Too bad the articles in the paper didn\'t actually talk about the food, which sucks.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851269">\
	 <div id="dsq-comment-header-7851269" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851269" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851269">walruslord</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851269" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851269" class="dsq-comment-message">to all of you morons complaining about undercooked burgers, the only reason you\'re used to overdone and flavorless charred hunks of meat is because you typically eat leftover chunks of cow ground up right along with the brains and the shit and the arms of the slaughterhouse workers. Here they grind up the quality meats themselves, so there is no danger in eating a pink on the inside burger other than you might become acquainted with a good sense of taste. <br><br>Having worked at nice restaurants before (which Lunchbox Lab shares a philosophy with, it seems), the boner who orders a wonderful cut of meat and asks for it well done is right up there with the guest who talks 40 decibels above acceptable levels.  <br><br>You don\'t have to like it, or come back, but at least understand why your request for a well done, ruined piece of meat doesn\'t sit well.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12799214">\
	 <div id="dsq-comment-header-12799214" class="dsq-comment-header">\
	 <cite id="dsq-cite-12799214" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12799214">JE425</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12799214" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12799214" class="dsq-comment-message">Yeah it\'s my money.  I want my meat cooked how I like it.  They are a service cook my meat my way.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851270">\
	 <div id="dsq-comment-header-7851270" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851270" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851270">m</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851270" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851270" class="dsq-comment-message">wow walruslord - if you read the comments you\'ll see that the complaints are much more than just about undercooked burgers. There are several things about this place that make it less than desirable - including a superior attitude much like yours.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851271">\
	 <div id="dsq-comment-header-7851271" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851271" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851271">Mike</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851271" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851271" class="dsq-comment-message">Oy!  People, the concept behind this place is that, in exchange for decadent food, you must submit to the chef.    If, for whatever reasons, you do not like decadent food or are unwilling to let go of control, then this is not the restaurant for you.  Personally, I would better enjoy living in this town if more people were okay with letting go of things sometimes, and I thank this restaurant of asking that of us.  For future reviewers, please keep in mind why this place exists before you complain about the service.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12799257">\
	 <div id="dsq-comment-header-12799257" class="dsq-comment-header">\
	 <cite id="dsq-cite-12799257" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12799257">JE425</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12799257" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12799257" class="dsq-comment-message">Must be to treat people like a crap and serve undercooked food??????  Nice.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851272">\
	 <div id="dsq-comment-header-7851272" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851272" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851272">matt</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851272" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851272" class="dsq-comment-message">Nasty burgers and some free verbal insults when you order.  yay! my new favorite place when I want to pay someone $15 for some lard soaked buns and a dishing of verbal abuse.   In fact, today has been a great day, i think I will go get a lunchbox beating this afternoon.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851273">\
	 <div id="dsq-comment-header-7851273" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851273" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851273">m</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851273" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851273" class="dsq-comment-message">Unfortunately this place doesn\'t have much reason for me to give anything up to the "chef".<br><br>If you want to play the snobby chef earn the right with superior food.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851274">\
	 <div id="dsq-comment-header-7851274" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851274" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851274">kevin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851274" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851274" class="dsq-comment-message">Don\'t worry about the service anymore, since it closed in definately this week.  I think the owner went looney again, just like at his last restaurant.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851275">\
	 <div id="dsq-comment-header-7851275" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851275" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851275">chooch magooch</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851275" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851275" class="dsq-comment-message">everything was so good there it was amazing, people you gotta give it up to the hand spun shakes boo ya there tasty... and ya if your a big puss dont eaT THERE</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851276">\
	 <div id="dsq-comment-header-7851276" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851276" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851276">critic</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851276" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851276" class="dsq-comment-message">I can\'t bring myself to try it because every time I drive by there are several giant overflowing dumpsters right next to the outdoor tables.<br><br>And what\'s with the dozens of choices you apparently must make just to order a burger?    What kind of salt?   Are you joking?   Too much work for a burger.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851277">\
	 <div id="dsq-comment-header-7851277" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851277" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851277">js</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851277" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851277" class="dsq-comment-message">i must agree with critic about the dumpsters and generally dirty looking  appearance when you drive by. I have not tried their burgers yet.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851278">\
	 <div id="dsq-comment-header-7851278" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851278" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851278">pioggia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851278" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851278" class="dsq-comment-message">Kevin is mistaken, they are still open &amp; serving up fab burgers.  have to add I\'ve NEVER had a problem with the service there.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851279">\
	 <div id="dsq-comment-header-7851279" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851279" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851279">nicole</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851279" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851279" class="dsq-comment-message">I thought the burgers were delish and unique but EXPENSIVE!  The bill was $40 for my husband and I: 2 burgers, 2 sides.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851280">\
	 <div id="dsq-comment-header-7851280" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851280" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851280">jennifer</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851280" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851280" class="dsq-comment-message">One visit was enough.  I was willing to forgive having to pry my stuck water cup off the counter, but finding a long, greasy hair in the middle of my burger was too much.  Yummy tater tots, though!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851281">\
	 <div id="dsq-comment-header-7851281" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851281" class="dsq-comment-cite">\
	 <a id="dsq-author-user-7851281" href="http://www.flickr.com/photos/suomynona/sets/72157612880184094/" target="_blank" rel="nofollow">Matthew</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851281" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851281" class="dsq-comment-message">Click my username for photos of the food. Feel free to ask me questions on those photo pages. I\'ve been there 12 times. Ordered and ate my food there and have never once experienced most of the complaints I\'ve read here. Most of the time, all you hear are "mmm" and "oh my God." Or silence as people are eating. The staff is friendly, the food is exactly what you\'d expect from someone that comes from fine dining experience. Lastly, for those of you that are complaining about the prices and will continue to go to places that aren\'t in the same league as Lunchbox Laboratory? Fine with me. Pay a little less for ingredients that are nowhere near as good as those at Lunchbox Laboratory. Want to whine about your meal for two being $40? You obviously ordered two HALF POUND burgers AND sides of the best fries or tater tots you\'ll  ever have. How much do you think it would cost to order a full pound of meat at Red Mill? What is that? 4 burgers? Kidd Valley? Do those other restaurants grind their own grassfed super (ribeye/sirloin/prime rib) beef at their restaurants? No. Do those other restaurants serve crappy soft drinks? Yes. Do those other restaurants change their specials menu every couple of days because a genius is behind the counter making your burger? No. You pay a little extra for quality. Again, I don\'t have a problem with you staying away if you\'re going in there with the attitude that you\'re worried about what it\'s going to cost for the best burger you\'ll ever have. That way I won\'t have to wait in line behind you or read your nonsense on message boards like this.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-13344915">\
	 <div id="dsq-comment-header-13344915" class="dsq-comment-header">\
	 <cite id="dsq-cite-13344915" class="dsq-comment-cite">\
	 <span id="dsq-author-user-13344915">Michael</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-13344915" class="dsq-comment-body">\
	 <div id="dsq-comment-message-13344915" class="dsq-comment-message">I agree 1000% with this - the negative comments are really strange and do not match this place at all.<br><br>Every time I have ever gone it has been like burger bliss, and also the people there are really cool as well.<br><br>I\'m  not the only one either, many of my friends are just in awe of this place because it is just sooooo good.<br><br>It seems like many of the people posting negative comments are either jerks, cheapskates, or bitter people who decided in advance that they don\'t like anything different...  I really don\'t get it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851282">\
	 <div id="dsq-comment-header-7851282" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851282" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851282">js</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851282" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851282" class="dsq-comment-message">matthew, you must be related to the owner?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15268955">\
	 <div id="dsq-comment-header-15268955" class="dsq-comment-header">\
	 <cite id="dsq-cite-15268955" class="dsq-comment-cite">\
	 <a id="dsq-author-user-15268955" href="http://flickr.com/suomynona" target="_blank" rel="nofollow">Matthew</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15268955" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15268955" class="dsq-comment-message">No. I just love great food.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851283">\
	 <div id="dsq-comment-header-7851283" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851283" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851283">Shane Dillon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851283" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851283" class="dsq-comment-message">I honestly think these are the best burgers I have ever had.  Yes they are a little expensive, and yes the place is a bit of a sh**hole, but wow! the burgers are the best I have had.<br><br>I have tried Hamburger Harry\'s, Red Mill, Zestos, Zak\'s, Scooters, and this place does the best burgers.  The vegeburgers are great, and I like the shakes too.  Mind you none of it is healthy food.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851284">\
	 <div id="dsq-comment-header-7851284" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851284" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851284">P.A.B.L.O</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851284" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851284" class="dsq-comment-message">My wife and I ate here 2 weeks ago: another over-priced burger joint, except this one employs hippies and passive-aggressive goths. The lady taking our order was a grouch because she had to contend with a crowded area that was built for only half as many people. It doesn\'t cost that much money to put a door on another wall and re-arrange the tables so the space is more user-friendly. Apparently, even after charging as much as they do, there isn\'t enough money to buy a few sheets of plywood.<br>I don\'t have complaints about the food, just the service. The food should be cheaper, I don\'t put the burgers any better then Redmill. And, they used too much salt.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851285">\
	 <div id="dsq-comment-header-7851285" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851285" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851285">ExiledBrit</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851285" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851285" class="dsq-comment-message">I\'ve been 3 times (buffalo and blue on blue each time, what can I say, creature of habit) and would go more if only I could get a guarantee of a new heart/complete set of new arteries.<br><br>Well cooked, tasty burgers, cool menu, salt choices - I found the staff friendly (again, what is it with some of you reviewers and the attitude you seem to provoke? Smile folks, and people will smile back)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851286">\
	 <div id="dsq-comment-header-7851286" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851286" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851286">Melissa</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851286" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851286" class="dsq-comment-message">The burgers were good, but too greasy and expensive and probably full of contaminants.<br><br>The place was also disgusting. There were fibers floating around in my water and the table we ate on was covered with felt! You can\'t clean a felt tabletop!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-7851287">\
	 <div id="dsq-comment-header-7851287" class="dsq-comment-header">\
	 <cite id="dsq-cite-7851287" class="dsq-comment-cite">\
	 <span id="dsq-author-user-7851287">elle</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-7851287" class="dsq-comment-body">\
	 <div id="dsq-comment-message-7851287" class="dsq-comment-message">just went last night.  My husband and i split a bean burger with jalapenos and pepper jack cheese.  OMG it was out of this world.  As two committed vegetarians we were glad to see they added a new vegetarian option.  even happier when we tasted it.  the burger is battered in potato and seriously,  it was insanity how good it was.  The mac and cheese we shared was delish too.  one burger and one side was enough to fill us both.  incredible.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-8659951">\
	 <div id="dsq-comment-header-8659951" class="dsq-comment-header">\
	 <cite id="dsq-cite-8659951" class="dsq-comment-cite">\
	 <span id="dsq-author-user-8659951">Edawg</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-8659951" class="dsq-comment-body">\
	 <div id="dsq-comment-message-8659951" class="dsq-comment-message">I like what they are doing conceptually, but it\'s just too much for me. 6-7 pieces of bacon on a burger? These are extreme burgers so if that\'s what you want, you\'ll get it here. Next time I going for the small one so I don\'t have to go on cholesteral medication to pass my physical.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12768247">\
	 <div id="dsq-comment-header-12768247" class="dsq-comment-header">\
	 <cite id="dsq-cite-12768247" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12768247">FrankieSardines</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12768247" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12768247" class="dsq-comment-message">One of the worst places I\'ve ever been to (ever).  My girlfriend and I went into this Lunchbox Loboratory joint just off of 15th and the misery of our experience began when we were served by what looked like a Yeti in drag -- a fat, rude,  piggish waitress who (literally) threw our food at us -- not to mention that my apetite was ruined after having to look at this fat beast\'s gianormous, lumbering, cottage-cheese thighs that she insists on showing off by wearing a pair of tight-fitting cargo shorts that would make anyone cringe.  After taking one bite into my $15 hamburger that was swimming in grease, I felt ill instantly - so did my girl friend who ordeder some "chicken spam" burger.  The food makes the cuisine served at tail-gate parties cooked off the radiator of some rednecks\' truck is more appealing than this disgusting, over-priced garbage they try to pass off as food.  The final insult was the "Mexican cokes" - which (since they are from Mexico) are only 1/3 the price of an American coke - but since the Lunchbox people play up their "Mexican cokes" as something special, they charge you more - what a rip off - these people should be ashamed of themselves - just because your rednecks freinds like the crap you serve up doesn\'t mean anyone else will - no wonder they do lousy business.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14853359">\
	 <div id="dsq-comment-header-14853359" class="dsq-comment-header">\
	 <cite id="dsq-cite-14853359" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14853359">chiizus</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14853359" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14853359" class="dsq-comment-message">Mexican Coke actually costs more almost anywhere in the US because it\'s made with cane sugar instead of that corn syrup crap they make all soda here with.<br><br>So she "literally" threw your food at you, but you still stayed?  I\'m guessing you don\'t actually mean "literally".</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-23059741">\
	 <div id="dsq-comment-header-23059741" class="dsq-comment-header">\
	 <cite id="dsq-cite-23059741" class="dsq-comment-cite">\
	 <span id="dsq-author-user-23059741">c_elf</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-23059741" class="dsq-comment-body">\
	 <div id="dsq-comment-message-23059741" class="dsq-comment-message">wow.  frankiesardines has a girlfriend?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14433861">\
	 <div id="dsq-comment-header-14433861" class="dsq-comment-header">\
	 <cite id="dsq-cite-14433861" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14433861">sdh</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14433861" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14433861" class="dsq-comment-message">Stunned to hear this place wins anything - I run past here regularly and the place smells really bad and it looks nothing like as nice as the above photograph.  I wouldn\'t eat here!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14853388">\
	 <div id="dsq-comment-header-14853388" class="dsq-comment-header">\
	 <cite id="dsq-cite-14853388" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14853388">chiizus</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14853388" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14853388" class="dsq-comment-message">Ehh... stop in and give it a chance.  Get take out if you don\'t like the looks or smell of the place.  The food is pretty darn good.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14855192">\
	 <div id="dsq-comment-header-14855192" class="dsq-comment-header">\
	 <cite id="dsq-cite-14855192" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14855192">sdh</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14855192" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14855192" class="dsq-comment-message">Yeah cos I regularly walk past restaurants that smell like rotting garbage and think "I\'d love to eat there!"  lol I think not.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15204347">\
	 <div id="dsq-comment-header-15204347" class="dsq-comment-header">\
	 <cite id="dsq-cite-15204347" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15204347">carl555</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15204347" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15204347" class="dsq-comment-message">dude - why do you comment on every negative comment (which there are alot of)  I think italiangirl is right...you are an undercover for the lunchbox</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15204699">\
	 <div id="dsq-comment-header-15204699" class="dsq-comment-header">\
	 <cite id="dsq-cite-15204699" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15204699">chiizus</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15204699" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15204699" class="dsq-comment-message">Why do you comment on every positive comment?  You work for McDonald\'s or something and afraid they\'re gonna steal your business?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-23059653">\
	 <div id="dsq-comment-header-23059653" class="dsq-comment-header">\
	 <cite id="dsq-cite-23059653" class="dsq-comment-cite">\
	 <span id="dsq-author-user-23059653">c_elf</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-23059653" class="dsq-comment-body">\
	 <div id="dsq-comment-message-23059653" class="dsq-comment-message">then don\'t eat here.  and shut up.  who wants to hear a comment about a place they\'ve never been to?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-23067592">\
	 <div id="dsq-comment-header-23067592" class="dsq-comment-header">\
	 <cite id="dsq-cite-23067592" class="dsq-comment-cite">\
	 <span id="dsq-author-user-23067592">sdh</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-23067592" class="dsq-comment-body">\
	 <div id="dsq-comment-message-23067592" class="dsq-comment-message">c_elf - don\'t be so intolerant!  free speech,  democracy and all that?  the exterior cleanliness and odour of a restaurant are just as relevant when discussing somewhere to eat as any comment on the food.  I simply expressed my disbelief that it was so highly rated.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-23067977">\
	 <div id="dsq-comment-header-23067977" class="dsq-comment-header">\
	 <cite id="dsq-cite-23067977" class="dsq-comment-cite">\
	 <span id="dsq-author-user-23067977">c_elf</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-23067977" class="dsq-comment-body">\
	 <div id="dsq-comment-message-23067977" class="dsq-comment-message">just keep on running . . . run, sdh, run</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14595607">\
	 <div id="dsq-comment-header-14595607" class="dsq-comment-header">\
	 <cite id="dsq-cite-14595607" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14595607">shanedillon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14595607" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14595607" class="dsq-comment-message">I love this place and I am a vegetarian!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14853227">\
	 <div id="dsq-comment-header-14853227" class="dsq-comment-header">\
	 <cite id="dsq-cite-14853227" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14853227">chiizus</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14853227" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14853227" class="dsq-comment-message">I loved the food.  Even though I\'m sure it\'s a heart attack on a plate.  So good!  Wish there was more seating room, but I get that they can\'t really fix that.  The wait staff was OK when we were there... not like overly nice, but not rude.  Prob room for some improvement there.  But yeah, the burger was great, the tots with bacon salt were great, and my bf and I split an amazing shake.  Plus they have cane sugar Coca-cola!   My only real complaint is that it\'s quite expensive, but I\'m willing to splurge to go there every so often.  It\'s not like I\'d want to eat there every day anyway unless I wanted to become morbidly obsese and clog my arteries.  On the plus side, the burgers are so big, you can pretty much eat half the burger and have half for lunch the next day... so I guess that helps even out the price.  4 stars for me.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15204294">\
	 <div id="dsq-comment-header-15204294" class="dsq-comment-header">\
	 <cite id="dsq-cite-15204294" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15204294">carl555</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15204294" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15204294" class="dsq-comment-message">bro, what are you smoking?  does the lunchbox lab pay you to write this shit?<br>I wonder what you think bad food is</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15204526">\
	 <div id="dsq-comment-header-15204526" class="dsq-comment-header">\
	 <cite id="dsq-cite-15204526" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15204526">chiizus</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15204526" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15204526" class="dsq-comment-message">First of all, I\'m not a "bro".  Secondly, no, no one pays me.  But if they want to, they can give me a free burger.  Third, I wonder what *you* think bad food is seeing as you\'ve actually eaten AMPM food to compare this to.  o_O</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15204224">\
	 <div id="dsq-comment-header-15204224" class="dsq-comment-header">\
	 <cite id="dsq-cite-15204224" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15204224">carl555</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15204224" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15204224" class="dsq-comment-message">WORST PLACE TO EAT EVER!!!!  After eating here I felt sick and so did my girlfriend.  the six week old hot dogs sitting in the microwave at 7-11 is probably better for you and definately tastes better.  Then, to add insult to injury, the food is HELLA EXPENSIVE!!!  Its four-star prices for AMPM quality food.  These people should be ashamed of themselves.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15458524">\
	 <div id="dsq-comment-header-15458524" class="dsq-comment-header">\
	 <cite id="dsq-cite-15458524" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15458524">Michael</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15458524" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15458524" class="dsq-comment-message">You must be an employee of one of their competitors...<br><br>That\'s the only way your comment would make any sense.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-15804646">\
	 <div id="dsq-comment-header-15804646" class="dsq-comment-header">\
	 <cite id="dsq-cite-15804646" class="dsq-comment-cite">\
	 <span id="dsq-author-user-15804646">burgermaster</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-15804646" class="dsq-comment-body">\
	 <div id="dsq-comment-message-15804646" class="dsq-comment-message">Undercooked bacon. Unforgivable. Yech!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-18521204">\
	 <div id="dsq-comment-header-18521204" class="dsq-comment-header">\
	 <cite id="dsq-cite-18521204" class="dsq-comment-cite">\
	 <span id="dsq-author-user-18521204">Lexicon Grrl</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-18521204" class="dsq-comment-body">\
	 <div id="dsq-comment-message-18521204" class="dsq-comment-message">Wow!  Who would have known that a little burger joint could inspire such hatred and loyalty on an online review site?  MyBallard reviews are usually so... civilized.  It sounds like there are some folks with personal problems or a personal bone to pick with the restaurant - nobody gets that hot under the collar about a restaurant unless they\'re personally involved in it.  Frankie - did they fire you or take your lunch money or something? <br><br>That said...<br><br>My boyfriend and I tried the LL a few months ago because of all the controversy on the forum here.  We figured that any place that insipired such vitriolic hatred had to be worth the experience, so we went.  Here\'s what I thought about it:<br><br>The interior was fine, sort of a hip new ballard grunge thing going on in there; nothing special.  We ordered a dork burger and bacon-and-grilled onion burger, sweet potato fries with rosemary salt, good n\' plenty shake and a nutella shake. <br><br>Fries - were perfect.  The rosemary salt on the sweet potato fries was divine and they were hot, crispy and wonderful.  Party in your mouth good.<br><br>Dork burger - nasty.  It tasted like grease.  Now, I like greasy burgers as much as the next person but it was the FLAVOR that was really gross.  Bleah, like licking out a meatgrinder.<br><br>Bacon burger - I ate 1/4 of it and had to stop because it was so salty it actually made my throat hurt.  I tried to figure out why it was so salty and I think the patty was salted, with salted sauce, salted onions and half a pound of heavily salted bacon.  Yes, it was disintigrating into a pool of its own grease, which I would have loved if it wasn\'t so damn salty.<br><br>The shakes are INSPIRED.  He actually got a 2nd one to go after taking down a burger and fries because it was that good.  I have to agree.  Best.  Shakes. Ever.<br><br>So there it is.  A real review from a regular person who has no affiliation with the place except that I used to eat there when it was still Ballard Bros.   Flame away!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-23059542">\
	 <div id="dsq-comment-header-23059542" class="dsq-comment-header">\
	 <cite id="dsq-cite-23059542" class="dsq-comment-cite">\
	 <span id="dsq-author-user-23059542">c_elf</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-23059542" class="dsq-comment-body">\
	 <div id="dsq-comment-message-23059542" class="dsq-comment-message">best burgers ever.  i eat here about once a month (takes a bit to recover), and as far as i\'m concerned, if you pay $20 for all the food you need in a day and half, that\'s a good deal.  freshly ground burgers?  i\'d pay double.  dork?  omg.  who knew burgers could be so damn good?  and the shakes are spectacular.  <br><br>as for the people who comment negatively:<br><br>if you received poor service, you\'re probably an asshole to begin with.  having worked many years in the service industry, i have firsthand knowledge that those who are rude off the bat are the first (and loudest) to complain about bad service.  and being polite and friendly myself, i almost never have to complain that people who wait on me are rude.  <br><br>if you think the burgers are too greasy, you have no idea what juicy meat looks like.  and guess what - meat has fat, cheese has fat, mayo and other sauces have fat - and fat tastes good.  go gnaw on whatever tasteless cudd you\'re used to and stay out of my delicious lunch line.<br><br>nobody is forcing you to come here.  if you don\'t like it, that\'s your problem.  <br>not everybody has to like it, but based on a lot of the things people are saying that aren\'t nice, i\'m guessing they have bigger problems that not being able to appreciate the best, most gourmet, tastiest burgers in the PNW.<br><br>the food is always amazing (and my couch calls my name loudly when i\'m done), the service has never been anything but great, the traffic has never bothered me, and i can\'t wait to go back.</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=myballard&t=lunchbox_laboratory&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 = '29ac93bcc80e20dc00554a7b3e9cc874';
			if (typeof disqus_facebook_api_key != 'undefined') {
				facebook_api_key = disqus_facebook_api_key;
			}

			FB.init(facebook_api_key, window.facebookXdReceiverPath || null,
				{fetchSignedPublicSessionData: true});
		});
}


	
		Dsq.Debug.log('Loading fbc');
		window.DisqusFbcParentController = (function (){
	var obj = {};
	
	// Private
	var rpcServer = null;
	var initted = false;
	var onInit = [];
	var user = null;
	var defaultRpcClient = null;
	var receiverUrl = "http://disqus.com/facebook-connect/xd_receiver.htm";
	var loginNode = document.getElementById('dsq-fbc-login');
	var authenticatedNode = document.getElementById('dsq-fbc-authenticated');
	var fbName = document.getElementById('dsq-fbc-name');
	var fbPic = document.getElementById('dsq-fbc-profilepic');
	var iframes = { 
		// Map of rpcServerName -> (rpcClient, iframeDomNode) pairs
		// Main Disqus iframe is added by init()
	};
	var makeRpcServerName = function(opt_postId) {
		// this method should be identical here and in iframeController factored out 
		if (opt_postId === undefined) {
			return 'disqusIframeFbcRpcServer';
		} else {
			return 'disqusIframeFbcRpcServer-' + opt_postId;
		}
	};
	var makeRpcClientName = function(opt_postId) {
		if (opt_postId === undefined) {
			return 'disqusParentFbcRpcClient';
		} else {
			return 'disqusParentFbcRpcClient-' + opt_postId;
		}
	};
	var updateFrame = function(rpcServerName) {
		var rpcClient = iframes[rpcServerName][0];
		var iframeNode = iframes[rpcServerName][1];
		rpcClient.send('setConnected', user);
		iframeNode.className = user ? 'dsq-post-reply-authenticated' : 'dsq-post-reply';
	};
	var setUser = function(userNow) {
		user = userNow;
		// pass null user data to signify logout
		var rpcServerName = null;
		for (rpcServerName in iframes) {
			updateFrame(rpcServerName);
		}
	};
	var createRpcClient = function(frameNode, opt_postId) {
		// Creates an XdRpcClient for communication with the iframe frameNode with parent comment 
		// equal to opt_postId. If this argument is undefined, creates a client for communicating with 
		// the main Disqus iframe. The XdRpcClient and frameNode are added to the "iframes" array.
		//
		// Returns the rpcServerName that the client is accessing. This name is also the index into
		// the "iframes" array.
		var ifName = Dsq.Iframes.makeReplyIframeName(opt_postId);
		var rpcServerName = makeRpcServerName(opt_postId);
		var rpcClientName = makeRpcClientName(opt_postId);
		var endpoint = new FB.XdComm.EndPoint(ifName, FB.XdComm.PageRelation.child, receiverUrl);
		var rpcClient = new FB.XdComm.XdRpcClient(rpcServerName, rpcClientName, endpoint, receiverUrl);
		iframes[rpcServerName] = [rpcClient, frameNode];
		if (window.isMashable) {
			// TODO: does this belong here?
			// Right now only Mashable needs this, because only they have a Connect button
			// inside the iframe, and that's the only iframe-> server communication
			rpcClient.send('createRpcClient', FB.XdComm.Server.singleton.get_receiverUrl());
		}
		return rpcServerName;
	};
	var postToNewsfeed = function(opt_result) {
		// Argument opt_result is an object containing values of the fb_connect_newsfeed cookies. 
		// These are `postId`, the id of the comment just posted, and `url`, the shortened link to it
		if (!opt_result) {
			return;
		}
		var activeComment = Dsq.Thread.getActiveCommentId();
		if (activeComment != opt_result.postId) {
			return;
		}
		var comment = Dsq.jsonData.posts[activeComment];
		params = {
			'site_name': Dsq.jsonData.forum.name,
			'comment_url': opt_result.url,
			'message': Dsq.Utils.stripTags(comment.message)
			};
		FB.Connect.showFeedDialog(83035958976, params, null, null, null, FB.RequireConnect.require);
	};
	var requireSession = function() {
		// Used when the iframe wants to initiate an FB Connect session
		FB.Connect.requireSession(obj.onLogin);
	};
	
	var onCreateReplyIframe = function(value) {
		if (value.xtype) {
			return;
		}
		var postId = value['postId'];
		if (!postId) {
			// We handle the main iframe separately, so in case somehow this gets called, skip it
			return;
		}
		var frameNode = value['node'];
		var rpcServerName = createRpcClient(frameNode, postId);
		updateFrame(rpcServerName);
		if(user && postId) {
			var node = document.getElementById('dsq-reply-bar-auth-' + postId);
			if (node) { // Not present in Mashable
				node.style.display = 'none';
			}
		}
	};

	// Public
	obj.onLogin = function() {
		// This is triggered either when the user connects or when they're already connected on visit
		var dsqReplyAuth = Dsq.Utils.getElementsByClassName(document, 'div', 'dsq-reply-bar-auth');
		var noAnonMsg = document.getElementById('dsq-no-anon-msg');
		
		if(noAnonMsg) { noAnonMsg.style.display = 'none'; }
		loginNode.style.display = 'none';
		for(var i=0; i<dsqReplyAuth.length; i++) {
			dsqReplyAuth[i].style.display = 'none';
		}
		
		authenticatedNode.style.display='block';
		FB.XFBML.Host.addElement(new FB.XFBML.ProfilePic(Dsq.$('dsq-fbc-profilepic')));
		FB.XFBML.Host.addElement(new FB.XFBML.Name(Dsq.$('dsq-fbc-name')));
		FB.Connect.getSignedPublicSessionData(setUser);
		
		if(document.getElementById('dsq-login-message')) {
			document.getElementById('dsq-login-message').style.display = 'none';
		}

		
		if(typeof(fbcLoginCallback) == 'function') {
			fbcLoginCallback();
		}
	};
	obj.logout = function() {
		var dsqReplyAuth = Dsq.Utils.getElementsByClassName(document, 'div', 'dsq-reply-bar-auth');
		var noAnonMsg = document.getElementById('dsq-no-anon-msg');
		
		FB.Connect.logout();
		if (!window.isMashable) {
			loginNode.style.display='inline';
		}
		
		if(noAnonMsg) { noAnonMsg.style.display = 'block'; }
		
		for(var i=0; i<dsqReplyAuth.length; i++) {
			dsqReplyAuth[i].style.display = 'block';
		}
		
		authenticatedNode.style.display='none';
		// Passing null user data to signify logout
		setUser(null);
		
		if(document.getElementById('dsq-login-message')) {
			document.getElementById('dsq-login-message').style.display = 'block';
		}
		
		if(typeof(fbcLogoutCallback) == 'function') {
			fbcLogoutCallback();
		}

		return false;
	 };
	obj.ensureInit = function(callback) {
		// If the controller hasn't already been initted, will wait until it has been before calling
		// callback; otherwise, calls it immediately. Does not attempt to call init.
		if (initted) {
			callback();
		} else {
			onInit.push(callback);
		}
	};
	obj.init = function() {
		// This method should be called after the FB scripts have loaded, FB.init has been called, 
		// and XdComm loaded.
		if (initted) {
			// I think this double init is caused by a bug with FB.ensureInit
			return;
		}
		var frameNode = Dsq.$(Dsq.Iframes.makeReplyIframeId());
		var rpcServerName = createRpcClient(frameNode);
		defaultRpcClient = iframes[rpcServerName][0];
		if (!window.isMashable) {
			FB.XFBML.Host.addElement(new FB.XFBML.LoginButton(loginNode));
		}
		Dsq.Events.addHandler(Dsq.Events.REPLY_IFRAME_CREATED, onCreateReplyIframe);
		if (Dsq.Thread.getActiveCommentId()) {
			// If there's a highlighted comment, we may have just posted, so check the cookie
			// to see if we should post to newsfeed.
			defaultRpcClient.send('queryNewsfeed', null, postToNewsfeed);
		}
		if (window.isMashable) {
			// Right now only Mashable needs this, because only they have a Connect button
			// inside the iframe, and that's the only iframe-> server communication
			var exportedMethods = {
				requireSession : {'method': requireSession}
			};
			rpcServer = new FB.XdComm.XdRpcServer('disqusParentFbcRpcServer', exportedMethods);

		}
		initted = true;
		for (var i=0; i<onInit.length; i++) {
			onInit[i]();
		}
	};

	return obj;
})();

		ExecuteWhen.add(window.fbIsReady,
			function() {
				FB.ensureInit(function () {
					DisqusFbcParentController.init();
					FB.Connect.ifUserConnected(DisqusFbcParentController.onLogin);
				});
			});
	


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');
}

})();




