




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": {"92d1be869293efe3b302e3db1579930c": {"username": "Matt Marshall", "tumblr": "", "display_name": "Matt Marshall", "url": "http://disqus.com/guest/92d1be869293efe3b302e3db1579930c/", "registered": false, "linkedin": "", "blog": "http://venturebeat.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": ""}, "4407238595779d710aa6dff06dcd5ee6": {"username": "Dave Kashen", "tumblr": "", "display_name": "Dave Kashen", "url": "http://disqus.com/guest/4407238595779d710aa6dff06dcd5ee6/", "registered": false, "linkedin": "", "blog": "http://www.wellsphere.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": ""}, "00b73368e899c54cba3c1353e9411911": {"username": "Andrew Kin", "tumblr": "", "display_name": "Andrew Kin", "url": "http://disqus.com/guest/00b73368e899c54cba3c1353e9411911/", "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": ""}, "6ee8e03101695f271f5f0e234a9e83ba": {"username": "Another former employee", "tumblr": "", "display_name": "Another former employee", "url": "http://disqus.com/guest/6ee8e03101695f271f5f0e234a9e83ba/", "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": ""}, "e51f04c91464a3f9e75a9bf96b9ad574": {"username": "Jon Herman", "tumblr": "", "display_name": "Jon Herman", "url": "http://disqus.com/guest/e51f04c91464a3f9e75a9bf96b9ad574/", "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": ""}, "814eb462824551ce0ccac60008e910c3": {"username": "Ben Aloena", "tumblr": "", "display_name": "Ben Aloena", "url": "http://disqus.com/guest/814eb462824551ce0ccac60008e910c3/", "registered": false, "linkedin": "", "blog": "http://www.wellsphere.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": ""}, "d5ab73643b719d797b4778ac485adba4": {"username": "Solomon", "tumblr": "", "display_name": "Solomon", "url": "http://disqus.com/guest/d5ab73643b719d797b4778ac485adba4/", "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": ""}, "c02850c7afe8288e4d2f28a19959d546": {"username": "web guru", "tumblr": "", "display_name": "web guru", "url": "http://disqus.com/guest/c02850c7afe8288e4d2f28a19959d546/", "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": ""}, "8b26b672b1fc0be94ec03c3b877d8ae8": {"username": "Kept", "tumblr": "", "display_name": "Kept", "url": "http://disqus.com/guest/8b26b672b1fc0be94ec03c3b877d8ae8/", "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": ""}, "4369d8f8e637778ec59232e42fadb676": {"username": "Miss Gutman", "tumblr": "", "display_name": "Miss Gutman", "url": "http://disqus.com/guest/4369d8f8e637778ec59232e42fadb676/", "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": ""}, "32c79158d6bcb1ef0cd58c177cfda41d": {"username": "Katie", "tumblr": "", "display_name": "Katie", "url": "http://disqus.com/guest/32c79158d6bcb1ef0cd58c177cfda41d/", "registered": false, "linkedin": "", "blog": "http://www.woofwoof.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": ""}, "69d08e82601d2c5a4e6b87fe65930574": {"username": "Jack LaLanne", "tumblr": "", "display_name": "Jack LaLanne", "url": "http://disqus.com/guest/69d08e82601d2c5a4e6b87fe65930574/", "registered": false, "linkedin": "", "blog": "http://www.wellsphere.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": ""}, "c9f4de382409abcc67c20673679f5214": {"username": "Geoff", "tumblr": "", "display_name": "Geoff", "url": "http://disqus.com/guest/c9f4de382409abcc67c20673679f5214/", "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": ""}, "f14cdd76d2b2cb23808857151c412374": {"username": "Larisa Rozentals", "tumblr": "", "display_name": "Larisa Rozentals", "url": "http://disqus.com/guest/f14cdd76d2b2cb23808857151c412374/", "registered": false, "linkedin": "", "blog": "http://www.wellsphere.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": ""}, "e72c996c558afe8380cd7ac123407bc9": {"username": "Little Yaron Gutman", "tumblr": "", "display_name": "Little Yaron Gutman", "url": "http://disqus.com/guest/e72c996c558afe8380cd7ac123407bc9/", "registered": false, "linkedin": "", "blog": "http://www.wellsphere.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": ""}, "83ef03108c6b616e09eef6e7b059baea": {"username": "Sam Milas", "tumblr": "", "display_name": "Sam Milas", "url": "http://disqus.com/guest/83ef03108c6b616e09eef6e7b059baea/", "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": ""}, "3d0d6f53454db7852ffbc75c2cd1dfd6": {"username": "Kate Berkeley", "tumblr": "", "display_name": "Kate Berkeley", "url": "http://disqus.com/guest/3d0d6f53454db7852ffbc75c2cd1dfd6/", "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": ""}, "2d53bba9e2b542cdea8d13f270ecd629": {"username": "Geoff Rutledge", "tumblr": "", "display_name": "Geoff Rutledge", "url": "http://disqus.com/guest/2d53bba9e2b542cdea8d13f270ecd629/", "registered": false, "linkedin": "", "blog": "http://www.wellsphere.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": ""}, "d94d13d3cedfea0e449f604b5ffcd1cb": {"username": "Kathleen Donahue", "tumblr": "", "display_name": "Kathleen Donahue", "url": "http://disqus.com/guest/d94d13d3cedfea0e449f604b5ffcd1cb/", "registered": false, "linkedin": "", "blog": "http://www.wellsphere.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": ""}, "1c0f6d1fed71d4ebfb7d6d7e553f097b": {"username": "For warned thankfully", "tumblr": "", "display_name": "For warned thankfully", "url": "http://disqus.com/guest/1c0f6d1fed71d4ebfb7d6d7e553f097b/", "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": ""}, "2992e559ca055b7daf6f762fa0d5bac5": {"username": "Flashlight", "tumblr": "", "display_name": "Flashlight", "url": "http://disqus.com/guest/2992e559ca055b7daf6f762fa0d5bac5/", "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": ""}, "79ca5954badd3f67870c872c59618bbb": {"username": "Howard", "tumblr": "", "display_name": "Howard", "url": "http://disqus.com/guest/79ca5954badd3f67870c872c59618bbb/", "registered": false, "linkedin": "", "blog": "http://www.uship.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": ""}, "59581aec4790bfc0f3b81314a8d88701": {"username": "Heather", "tumblr": "", "display_name": "Heather", "url": "http://disqus.com/guest/59581aec4790bfc0f3b81314a8d88701/", "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": ""}, "04ed1e5e7d66b459fe4e037e03031b16": {"username": "Greg Barstow", "tumblr": "", "display_name": "Greg Barstow", "url": "http://disqus.com/guest/04ed1e5e7d66b459fe4e037e03031b16/", "registered": false, "linkedin": "", "blog": "http://www.wellsphere.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": ""}, "edbe1727338c1a53b6ec7de4a940570c": {"username": "Ron Gutman", "tumblr": "", "display_name": "Ron Gutman", "url": "http://disqus.com/guest/edbe1727338c1a53b6ec7de4a940570c/", "registered": false, "linkedin": "", "blog": "http://www.wellsphere.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": ""}, "dc7acad1723de4c324b2617c754ce6af": {"username": "StumbleBum", "tumblr": "", "display_name": "StumbleBum", "url": "http://disqus.com/guest/dc7acad1723de4c324b2617c754ce6af/", "registered": false, "linkedin": "", "blog": "http://www.wellsphere.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": ""}, "d42cb627c9aee8e1ad4ad51c2fa960c2": {"username": "Former Employee", "tumblr": "", "display_name": "Former Employee", "url": "http://disqus.com/guest/d42cb627c9aee8e1ad4ad51c2fa960c2/", "registered": false, "linkedin": "", "blog": "http://www.wellnet.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": ""}, "06db81f02537377c4bb207cdf8fd18ec": {"username": "how clueless can you be?", "tumblr": "", "display_name": "how clueless can you be?", "url": "http://disqus.com/guest/06db81f02537377c4bb207cdf8fd18ec/", "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": ""}, "8d8d7181e50a37887b5afe34edfe26b3": {"username": "Sean", "tumblr": "", "display_name": "Sean", "url": "http://disqus.com/guest/8d8d7181e50a37887b5afe34edfe26b3/", "registered": false, "linkedin": "", "blog": "http://www.wellsphere.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": ""}, "eccc6ce582a9f83932267d38da7f668d": {"username": "wellnot", "tumblr": "", "display_name": "wellnot", "url": "http://disqus.com/guest/eccc6ce582a9f83932267d38da7f668d/", "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": ""}, "f5cdf4abd09ec474713a8abaf78e85ca": {"username": "Ugh", "tumblr": "", "display_name": "Ugh", "url": "http://disqus.com/guest/f5cdf4abd09ec474713a8abaf78e85ca/", "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": ""}, "c59b813273e3e7b3efe1de4f565551e8": {"username": "Ann Rad", "tumblr": "", "display_name": "Ann Rad", "url": "http://disqus.com/guest/c59b813273e3e7b3efe1de4f565551e8/", "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": ""}, "3b3800ea7524746ba4c155c824933b31": {"username": "Katie", "tumblr": "", "display_name": "Katie", "url": "http://disqus.com/guest/3b3800ea7524746ba4c155c824933b31/", "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": ""}, "f3da450d7bbee38176e098dadb3a965f": {"username": "Jules", "tumblr": "", "display_name": "Jules", "url": "http://disqus.com/guest/f3da450d7bbee38176e098dadb3a965f/", "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": ""}, "fb0994adee9efc75f51fabd788fa7698": {"username": "The Wellsphere Team", "tumblr": "", "display_name": "The Wellsphere Team", "url": "http://disqus.com/guest/fb0994adee9efc75f51fabd788fa7698/", "registered": false, "linkedin": "", "blog": "http://www.wellsphere.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": ""}, "fe31c05aba6f49085afa185b2bddfac3": {"username": "Hank", "tumblr": "", "display_name": "Hank", "url": "http://disqus.com/guest/fe31c05aba6f49085afa185b2bddfac3/", "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": ""}, "d004e65d6b3ba0db115c1cdbc1b058cf": {"username": "MSG", "tumblr": "", "display_name": "MSG", "url": "http://disqus.com/guest/d004e65d6b3ba0db115c1cdbc1b058cf/", "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": ""}, "3e80b702a095b6b797a6e8b4ddd9df7a": {"username": "thank you", "tumblr": "", "display_name": "thank you", "url": "http://disqus.com/guest/3e80b702a095b6b797a6e8b4ddd9df7a/", "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": ""}, "f2afc41bbade8fa4492bd4b710455c40": {"username": "knock knock", "tumblr": "", "display_name": "knock knock", "url": "http://disqus.com/guest/f2afc41bbade8fa4492bd4b710455c40/", "registered": false, "linkedin": "", "blog": "http://www.wellsphere.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": ""}, "efc4b2d095a86c6c252fa12757b96755": {"username": "Sastry Nanduri", "tumblr": "", "display_name": "Sastry Nanduri", "url": "http://disqus.com/guest/efc4b2d095a86c6c252fa12757b96755/", "registered": false, "linkedin": "", "blog": "http://www.wellsphere.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": ""}, "bf05475a1b916df9587510ff1a516c54": {"username": "dk", "tumblr": "", "display_name": "dk", "url": "http://disqus.com/guest/bf05475a1b916df9587510ff1a516c54/", "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": ""}, "2cbdce0a95b4eaf756c364ca39c5b81c": {"username": "Another lawsuit ....", "tumblr": "", "display_name": "Another lawsuit ....", "url": "http://disqus.com/guest/2cbdce0a95b4eaf756c364ca39c5b81c/", "registered": false, "linkedin": "", "blog": "http://www.uncov.com/2007/7/30/wellsphere-a-tale-from-the-trenches", "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": ""}, "d750194af29deb74059a0f14e2638aad": {"username": "Big Yaron Gutman", "tumblr": "", "display_name": "Big Yaron Gutman", "url": "http://disqus.com/guest/d750194af29deb74059a0f14e2638aad/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "VentureBeat", "streaming_realtime": false, "url": "venturebeat", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 1, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": false, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "venturebeat", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-03_12:31:54", "remote_domain": "", "page": 1, "is_moderator": false, "display_username": "", "points": null, "subscribe_on_post": 2, "moderator_can_edit": false, "is_remote": false, "is_verified": false, "missing_perm": null}, "realtime_paused": false, "posts": {"14672258": {"up_voted": false, "ip": "", "has_replies": false, "message": "i do like the idea of putting my goals out there and hoping others can help me stick to em...", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_02:36:32", "killed": false, "user_key": "bf05475a1b916df9587510ff1a516c54", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672259": {"up_voted": false, "ip": "", "has_replies": false, "message": "Can't wait until this site launches... I can already see all the possibilities.  My friend is about to start a triathlon.. another friend is on a campaign to cut out starches and sodium (and get a personal trainer).  And this non-fat yogurt shop (pinkberry) is popping up all over LA -- people are going nuts about it.  where better to find out than this site?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_02:37:05", "killed": false, "user_key": "00b73368e899c54cba3c1353e9411911", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672261": {"up_voted": false, "ip": "", "has_replies": false, "message": "I\u00e2\u20ac\u2122m also excited about the launch of Wellsphere. I\u00e2\u20ac\u2122m a member of other sites such as Match, Friendster, and MySpace, but have difficulty finding health and wellness enthusiasts like myself. I\u00e2\u20ac\u2122m training for a triathlon and am looking forward to using Wellsphere to find training partners as well as get advice on my training regimen and diet.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_02:47:03", "killed": false, "user_key": "8d8d7181e50a37887b5afe34edfe26b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672262": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wellsphere is a great idea! I\u00e2\u20ac\u2122m excited to play around with this more to connect with people who share my love of a healthy and active lifestyle to exchange information. Wellsphere has a fun brand that I think people will gravitate towards.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_05:13:44", "killed": false, "user_key": "3b3800ea7524746ba4c155c824933b31", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672263": {"up_voted": false, "ip": "", "has_replies": false, "message": "the url in the link in the title is wrong.  just letting you know", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_10:24:37", "killed": false, "user_key": "79ca5954badd3f67870c872c59618bbb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672264": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm training for a marathon and can't wait to connect with people who are training as well.  I've been hoping to find running partners and get to know people who think the way that I do about fitness and their athletic and health goals.  Wellsphere is going to be the most important tool in my training.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_10:26:52", "killed": false, "user_key": "59581aec4790bfc0f3b81314a8d88701", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672265": {"up_voted": false, "ip": "", "has_replies": false, "message": "an apropos time to launch...could really help me stick to those healthy resolutions.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_12:07:17", "killed": false, "user_key": "f3da450d7bbee38176e098dadb3a965f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672266": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ugh, thanks Howard. I've corrected URL.<br><br>Matt", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_13:33:55", "killed": false, "user_key": "92d1be869293efe3b302e3db1579930c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672267": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jeez.  Wellsphere obviously posted the same happy comments here that they did on Techcrunch.  What bad blog behavior. Transparency, people.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_14:01:51", "killed": false, "user_key": "d5ab73643b719d797b4778ac485adba4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672268": {"up_voted": false, "ip": "", "has_replies": false, "message": "You're right on solomon.  They could at least try to post different comments.  That's pretty pathetic.  I was going to check out the site, but common now ... it's all a fake PR play.  This is NOT how genuine, sustainable communities involve.  Makes you wonder about the integrity of the company.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_14:24:39", "killed": false, "user_key": "2992e559ca055b7daf6f762fa0d5bac5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672269": {"up_voted": false, "ip": "", "has_replies": false, "message": "Is it just me, or are these new Web 2.0 ideas just getting old, or variations of each other.  I haven't seen an exciting idea since Google started indexing the US patent database, or YouTube.  I have a better idea, a completely new idea, that fits a niche market, and is radical that it's one of the few websites that integrates with a real life device.  Any VC's want to hear my idea, let me know.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_14:40:15", "killed": false, "user_key": "d004e65d6b3ba0db115c1cdbc1b058cf", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672270": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ok... who are these comments from? Let's guess:<br>DK: Dave Kashen, CFO of Wellsphere<br>KATIE: Katie is a dog that comes into wellnet. Owned by Geoff Rutledge<br>The others are probably their consultants.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_15:17:13", "killed": false, "user_key": "04ed1e5e7d66b459fe4e037e03031b16", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672271": {"up_voted": false, "ip": "", "has_replies": false, "message": "People the site is terrible. It is not original. Booze and wellness? Nothing but expensive poor taste. These guys are nothing but PR and hype. They were seeded for a party and a bad site. Is this for real?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_15:18:07", "killed": false, "user_key": "f5cdf4abd09ec474713a8abaf78e85ca", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672272": {"up_voted": false, "ip": "", "has_replies": false, "message": "these are minor league rookie maneuvers that shed some light on how clueless they are.  this is a joke, did they really think we couldn't tell that they posted all the positive comments and did so on techcrunch and gigaom as well?  'they' being wellsphere employees.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_16:27:20", "killed": false, "user_key": "eccc6ce582a9f83932267d38da7f668d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672273": {"up_voted": false, "ip": "", "has_replies": false, "message": "Where are these screen grabs from? They aren't from the site. Is this article a plant?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_19:13:00", "killed": false, "user_key": "814eb462824551ce0ccac60008e910c3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672274": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ben, these screen grabs are from the site. What makes you think otherwise?<br><br>For the first one, check out \"local resources\" tab. That was my point. There's a lot going on here, but it's tricky to navigate without hitting all the tabs...<br><br>Nah, not a plant.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_19:53:45", "killed": false, "user_key": "92d1be869293efe3b302e3db1579930c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672275": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well, I'm not an employee or consultant.  I am an active person in the Bay Area and like the idea of a wellness community.  For example, I recently hurt my shoulder and am in desperate need of a good referral.  I already got one through the Wellsphere community.  I also like to swim in aquatic park and could use some people to go with (more motivating, less dangerous).  This site is a great resource for that.  Sure, the site is a bit limited right now, but what do you expect?  They launched Saturday and the idea is a wellness community so the community is in the process of building up.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_21:22:00", "killed": false, "user_key": "3d0d6f53454db7852ffbc75c2cd1dfd6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672276": {"up_voted": false, "ip": "", "has_replies": false, "message": "You got a doctor referral for a hurt shoulder through the web site- hahahaha! And, you had no friends to swim with and had no idea where to find a pool without the site- in the bay area? Okay, I give, maybe the pathetically clueless and socially hopeless could use the site. Still not enough of a thrill.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_21:45:56", "killed": false, "user_key": "f5cdf4abd09ec474713a8abaf78e85ca", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672277": {"up_voted": false, "ip": "", "has_replies": false, "message": "Too many bugs and no cool features.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-29_22:59:24", "killed": false, "user_key": "fe31c05aba6f49085afa185b2bddfac3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672278": {"up_voted": false, "ip": "", "has_replies": false, "message": "What a joke of a website... 2.0 wannabe all the way.  I'm all for social networks and reviews by the masses, but I'm not too sure the site will inspire people to care enough about it.  It's currently a nightmare.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-30_01:44:15", "killed": false, "user_key": "f2afc41bbade8fa4492bd4b710455c40", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672279": {"up_voted": false, "ip": "", "has_replies": false, "message": "good idea, but it's too bad they have not been able to hire a tech team. I'm guessing it was outsourced to some second rate Bangalore chop shop.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-30_01:53:05", "killed": false, "user_key": "69d08e82601d2c5a4e6b87fe65930574", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672280": {"up_voted": false, "ip": "", "has_replies": false, "message": "you can read the real story in GigaOM comments", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-30_11:55:09", "killed": false, "user_key": "c59b813273e3e7b3efe1de4f565551e8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672281": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think the site makes a lot of sense...unfortunately I live in New York and it looks like the Bay Area will be targeted initially. Maybe you guys are spoiled by knowing a million people who do active/healthy stuff, but my friends' idea of a triathalon involves Jim, Jack and Jose.  The one time I tried hiking out here (through Outward Bound), I ended up on a nature walk thru Harriman State Park. Hopefully this thing gets off the ground and makes it east ASAP.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-30_13:27:06", "killed": false, "user_key": "c9f4de382409abcc67c20673679f5214", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672282": {"up_voted": false, "ip": "", "has_replies": false, "message": "Are you another one of their shills, Geoff?  You can't be serious.  My friends all around NY are plenty active and have no trouble at all finding stuff to do.  Sounds like you may have issues that no website out there can help you with.  Ever hear of the NY Marathon?  Tell me again how difficult it is to find someone to train with.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-30_16:29:50", "killed": false, "user_key": "06db81f02537377c4bb207cdf8fd18ec", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672283": {"up_voted": false, "ip": "", "has_replies": false, "message": "Free me! My owner is a doofus!<br>woof woof WOOF! woof!<br>Free me! My owner is a doofus!<br>woof woof! bark! snuffle snuffle<br>WOOF! Whimper...<br><br>FREE KATIE!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-30_23:29:01", "killed": false, "user_key": "32c79158d6bcb1ef0cd58c177cfda41d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672284": {"up_voted": false, "ip": "", "has_replies": false, "message": "Not impressed at all. This site is a joke, right? Please tell me a group of Stanford grads did not create this...my 5 year old son could do a better job creating something after an introductory coding class.<br><br>By the way everyone -please try googling \"Ron Gutman\". Can't find anything interesting? Weird since I thought this guy was a serial entrepreneur...more like a serial liar.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-31_01:13:55", "killed": false, "user_key": "c02850c7afe8288e4d2f28a19959d546", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672285": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jack Lalanne -please dont equate the work of Wellsphere to a \"second rate Bangalore chop shop\". What a horrible insult for those people in Bangalore! <br><br>By the way, there are so many anti Ron Gutman and Dave Kashen comments on this site, TechCrunch and GigaOm! This guy must seriously be a ridiculous character to garner so much negative attention from everyone. I guess it's safe to assume we haven't stumbled upon the next Larry Page and Sergey Brin.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-31_03:50:11", "killed": false, "user_key": "83ef03108c6b616e09eef6e7b059baea", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672286": {"up_voted": false, "ip": "", "has_replies": false, "message": "Guys, there are a lot of negative comments here, and this appears to be a vendetta of sorts. Comments like \"serial liar\" make me uncomfortable,  especially when not backed up with facts.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-31_03:56:12", "killed": false, "user_key": "92d1be869293efe3b302e3db1579930c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672287": {"up_voted": false, "ip": "", "has_replies": false, "message": "Matt I'm sorry if you're uncomfortable, but when there are lots of people out there flaming someone, there's usually a pretty good reason for it.  How many people/organizations are widely disliked and yet are not deserving of some of the criticism?  Listing the \"facts\" in a forum would be inefficient and, frankly, painfully boring.  I don't know these guys, but I think the posts are funny and telling.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-31_16:23:01", "killed": false, "user_key": "2992e559ca055b7daf6f762fa0d5bac5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672288": {"up_voted": false, "ip": "", "has_replies": false, "message": "To all of those that are posting the personal attacks on the founders of this company, I encourage you to take your issues up with them directly, rather than using this forum to sling mud at them. This blog is used to support the startup community, not slander and childish rumors. Let's keep it's credibility by being constructive and supportive, so we can improve that state of things.<br><br>I quit Wellsphere today after working there for a month. It was the hardest I've worked in my entire life and I am totally crushed that the site was released so early. In my opinion, it was too early to release and we pushed the product out the door.<br><br>Sure, this is Ron and Dave's first web startup, but that doesn't mean they're completely incompetent. They made some mistakes. It happens. Startups are hard work, as most of us acknowledge, and part the reason many of us love being in startups is the learning experience involved. <br><br>Wellsphere's plan is to get user feedback on the site from users and improve. They have a long way to go, but they are definitely motivated to do it. <br><br>In my opinion, I saw these things from the inside:<br><br>1) There was not a core group of in-house engineers working full-time on the product from beginning to end. There was a lot of turn over, which made it hard to keep consistent progress and polish the features.<br><br>2) There was a very unrealistic expectation about when the site would be ready. Rather than determining how long engineering would need to produce the product, it seemed that a date was picked and we went forward with it, regardless of the state of progress.<br><br>3) Part of the reason a bad deadline was picked, was because the requirements were not flushed out for engineering to determine how long it would take. So, during development, core concepts about about the site's functionality changed several times.<br><br>4) A UI person was not hired to help ensure the site was usable.<br><br>The team of people that worked on this site gave it all they had. We came a long way in a very short time. It just wasn't enough time, and the requirements were not defined.<br><br>It seems that there are a lot of disgruntled ex-employees commenting here. Now that I am an ex-employee, I can say that Ron and Dave were good to me. Yes, they expected a lot from me, and yes, there were times when I felt like I was being pushed too far, but they were good to me.  I'm not sure what happened with the other employees, but I know how I was treated and I know it was good.<br><br>Finally, I want to make it clear that I chose to make this post, and no one else asked me to do it. I just felt compelled to share my view since there was so much negativity here.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-31_16:28:36", "killed": false, "user_key": "e51f04c91464a3f9e75a9bf96b9ad574", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672289": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jon, I know who you are. I know what you\u00e2\u20ac\u2122ve been through. Sadly, you don\u00e2\u20ac\u2122t. Not trying to sound arrogant here, but you were used by Rave. You were underpaid. You were lied to about deadlines. You were given unreasonable expectations. How do I know this? I went through the same thing. I was there for many many many months.<br><br>These founders are deserving of personal attacks. You wouldn\u00e2\u20ac\u2122t _believe_ the shit they pulled on people. Lying about them being fired. Forging documents to Administaff about firing/resignation. Putting the wrong dates on forms (always in their favor\u00e2\u20ac\u00a6 I know of at least 3 instances of this). Changing contracts on file (I have first-hand knowledge of at least 2 instances of this). They are completely unscrupulous. Check the date on your forms. Trust me.<br><br>As for taking this up with them directly, believe me, I tried. I tried for many months. I tried until I was blue in the face. Ron and Dave are in complete denial. Ask them about the input they solicited from the employees. It covered this with them honestly and directly. They chose to ignore it. They have their heads in the sand. Ron Gutman is a sociopath. Don\u00e2\u20ac\u2122t believe it? Read this and tell me if it isn\u00e2\u20ac\u2122t him 100%. ( <a href=\"http://www.exit...rtcls/socio.htm\" rel=\"nofollow\">http://www.exit...rtcls/socio.htm</a> ). We can\u00e2\u20ac\u2122t figure Dave out. Seems like he was once his own man, but his free will has been subsumed by Ron.<br><br>We tried. It was hopeless. Their MO is to get new faces in the door and try the same old shit again, make another 2 months of progess, every one quits, then they try again. Ron will tell you people are too negative. The fact is he drives people insane.<br><br>It was definitely to early to release that product. It was ridiculous from the beginning. Do you even know what they were doing 3 months ago? Something completely different. Not even a consumer based app. They chase whatever idea fancies them today.<br><br>Ron\u00e2\u20ac\u2122s first startup? Come on. Surely he\u00e2\u20ac\u2122s regaled you with tales of how he\u00e2\u20ac\u2122s started 7 or 8 companies, all but one successfully. Where are they? What are their names? Where are the hordes of good people who helped him and still want to work with and for him? He\u00e2\u20ac\u2122s a liar. He has no clue how to manage people. If he did, they wouldn\u00e2\u20ac\u2122t have had 30 people (REALLY, ITS TRUE) in and out of the door in calendar year 2006. He\u00e2\u20ac\u2122s just batty.<br><br>I\u00e2\u20ac\u2122ve worked for countless startups. Wellsphere is the most bumbling brew of incompetence and disaster I\u00e2\u20ac\u2122ve ever seen. They are rookies among rookies. Their only saving grace is that they do somehow manage to attract fabulous employees, which pulls them along for some time. But they inevitably leave when they realize how moronic the people steering the ship are. I know at least 8 of these people. We still talk. We will probably be friends and colleagues for years to come. We spend most of our time laughing about our experiences at Hellsphere.<br><br>There was a core group of engineers. Really good ones. Stanford. MIT, etc. They got fed up and quit. Found work the next day. Why waste your time? There were no features to polish. Ron couldn\u00e2\u20ac\u2122t keep the ship pointed in the same direction for more than four weeks at a time. How can you be successful in that environment?<br><br>Unrealistic expectations? Hello! Hi there! I\u00e2\u20ac\u2122m Ron. This is my friend Dave. We want you to build this in four weeks. You agreed to this deadline. It has to be done by then because that\u00e2\u20ac\u2122s when we have to launch. Bugger if it\u00e2\u20ac\u2122s not possible. We can do it if we believe. Have some of this magical fairy dust!<br><br>The requirements weren\u00e2\u20ac\u2122t flushed out because they never point at the same goal long enough to develop a sense of what they are building.<br><br>They\u00e2\u20ac\u2122ve had several good UI people. They quit too. Some in tears at how awful Ron and Dave are. They were truly heartless. Who makes their employees cry? Seriously now? Who? More people throw shoes!<br><br>I commend the team that stuck it out. I met them once. They seemed like solid guys. If only we could have warned them what they were getting into. We tried. There was no way they could know. We are just disgruntled employees. Maybe now through this shared experience we can come to understand one another.<br><br>Jon, I\u00e2\u20ac\u2122ve heard you\u00e2\u20ac\u2122re good at what you do. We\u00e2\u20ac\u2122re going to look you up. Sorry you got dragged across the country for this, but don\u00e2\u20ac\u2122t worry. There are tons of brilliant, smart people to work with in this town\u00e2\u20ac\u00a6 you just got drafted by the wrong team.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-01-31_17:21:35", "killed": false, "user_key": "d42cb627c9aee8e1ad4ad51c2fa960c2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672290": {"up_voted": false, "ip": "", "has_replies": false, "message": "Good People, unite!<br>I truly believe that all people in this world are fundamentally good.<br>Thankfully, many people choose to take their good energy and direct it<br>to ward helping other people live a better life. They devote their<br>time, energy and resources to improve other peoples\u00e2\u20ac\u2122 lives in some<br>way.<br><br>Directing our and others\u00e2\u20ac\u2122 energy toward doing good (rather than<br>channeling it in negative, destructive or unpleasant ways) is<br>something that the Wellsphere team is highly committed to. We<br>encourage anyone who feels frustrated, sad, disenchanted, confused,<br>gloomy or depressed to try this: help someone else be healthier and<br>happier. Though it sounds counterintuitive to help others just at the<br>time when you want to focus on yourself, when you help others, it<br>actually makes YOU feel better. Plus, all the warm, positive regard<br>your receive from the people you help (like all the wonderful e-mails<br>we\u00e2\u20ac\u2122ve been getting from community members, thanking us and encouraging<br>us to continue doing what we\u00e2\u20ac\u2122re doing), will help to convert any bad<br>energy you may have accumulated to good energy that will make YOU a<br>happier individual.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-02-03_00:03:15", "killed": false, "user_key": "e72c996c558afe8380cd7ac123407bc9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672291": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wow Ron -that\u00e2\u20ac\u2122s amazing insight. I\u00e2\u20ac\u2122m moved to tears with your words. You are a serious genius. I\u00e2\u20ac\u2122m so glad you are so warm, positive, and HONEST. That must be why everyone loves you and all the people who have worked with you praise you so highly. Keep up the good work!!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-02-03_02:08:49", "killed": false, "user_key": "d750194af29deb74059a0f14e2638aad", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672292": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ron, <br><br>You spread so much goodwill and happiness that there are dozens of people who could have written the personal attacks that have been posted across multiple sites.  I have not seen any proof that you ever produced a happy employee (from your previous 8 businesses).  It seems impossible that such a person could exist.  <br><br>You are a hypocrite.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-02-03_02:34:13", "killed": false, "user_key": "4369d8f8e637778ec59232e42fadb676", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672293": {"up_voted": false, "ip": "", "has_replies": false, "message": "You know, if you keep saying something it makes it true -- even if your actions are completely orthogonal to your statements.  <br><br>For those of you reading this to whom Mr. Gutman has spoken, proclaiming his innocence, I suspect he has told you that he's \"sick about it\" and quoted \"spirals of negativity\" and other dribble.   He'll pretend that he has personal insight by proclaiming that he made bad hiring decisions.  You'll listen to him and empathize.  His friend Dave will do the same and talk about how personally hurt they are.  Once they have done all of that, please know that you're being played.  All of the employees they have upset are upset because of personal actions:  they lied and manipulated talented, trusting, and knowledgable people.  <br><br>Incompetence is forgivable.  This is not about poor business acumen or a lack of understanding about tech start ups.  This is about pathologic behavior that has negative and lasting effects on the lives of well-intentioned people.  <br><br>Employees and people who have inside knowledge who have posted here are doing so to warn others.  Prior to now, if you would search Ron/Yaron Gutman your search would derive little to nothing (even though he has started 4/6/8 companies -- which number you hear depends on which version of the truth he is on).  Now when he drops the credible names of luminaries like Mark Leslie, Eric Benhammoud, Woodrow Myers, etc. you won't be walking in the dark like we were. <br><br>Enough said, and consider yourself warned.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-02-03_03:26:08", "killed": false, "user_key": "6ee8e03101695f271f5f0e234a9e83ba", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672294": {"up_voted": false, "ip": "", "has_replies": false, "message": "I was going to go to explore the possibility of working at Wellsphere...thankfully I read this blog first!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-02-18_22:36:09", "killed": false, "user_key": "1c0f6d1fed71d4ebfb7d6d7e553f097b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672295": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yes- thank you for the information as well. I too was looking into wellsphere as a potential job possibility, but now I dont think I will waste my time. If this many past employees have bad things to say about the management, then it's probably not a good idea to get involved.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-02-19_17:07:07", "killed": false, "user_key": "3e80b702a095b6b797a6e8b4ddd9df7a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672296": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ron, I retract every good thing I ever said about you.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-02-21_02:20:11", "killed": false, "user_key": "dc7acad1723de4c324b2617c754ce6af", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672297": {"up_voted": false, "ip": "", "has_replies": false, "message": "If you take a look at the facts - an unprofessional, bug ridden site, unbelievable amounts of turnover, an army of disgruntled former employees, little about Ron's previous managerial experience, and so on - it's clear that there is something very wrong at Wellsphere.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-02-23_14:13:16", "killed": false, "user_key": "4369d8f8e637778ec59232e42fadb676", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672298": {"up_voted": false, "ip": "", "has_replies": false, "message": "NOTE!!<br>These guys Ron, Dave, and Geoff took another step and now as they probably started to run out of money they simply fraud vendors to work and reduce the amounts dramaticaly post factum. If you don't sign a waiving letter and agree to compromise they threat they won't pay at all. Please write email ASAP to <a href=\"mailto:law222@hotmail.com\" rel=\"nofollow\">law222@hotmail.com</a> if you suffer or suffered from them. A law suit is about to be filed in the next few days.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-07-06_08:29:31", "killed": false, "user_key": "8b26b672b1fc0be94ec03c3b877d8ae8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672299": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hi, Good to see were in the same area )...<br> There is another Lawsuit against Wellsphere, It appears They are using Code that was deliberately not payed, so they have a copyright isuue. There is also some publications &amp; interviews going on in some major newspapers and sites. If you have anything to say or If you worked in Wellsphere in the past please mail us @ <a href=\"mailto:lawsuit.wellsphere@gmail.com\" rel=\"nofollow\">lawsuit.wellsphere@gmail.com</a> ... Stay tuned )...", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-07-30_15:27:19", "killed": false, "user_key": "2cbdce0a95b4eaf756c364ca39c5b81c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672300": {"up_voted": false, "ip": "", "has_replies": false, "message": "We felt compelled to add our comment here because we were personally and professionally hurt by what was written in some of these comments, and we thought this would be a good opportunity to describe openly and honestly who we really are and what our company is really all about, and invite you to (please!) contact us if you have any questions. <br><br>All of us at Wellsphere share a deep commitment to our mission of helping people live healthier, happier lives.  We are a group of positive, hardworking, caring people who very much enjoy each other\u2019s company, and are dedicated to helping one another and to achieving our goals.  Our \u2018WellSpace\u2019 in San Mateo is a bright, energetic, fun environment (we even have a small exercise room and beautiful views of the green hills and the Bay!).  We recently launched our Beta site based on substantial research and feedback from our alpha community.  We implemented a scalable technology that is designed to support our growing community.  We are delighted to watch our members help and support each other everyday in their quests for well-being.  We are very proud of the progress we\u2019ve made and the growth of our community, though we know there is much more to do. We think our site speaks for itself, and invite you to visit us at <a href=\"http://www.wellsphere.com\" rel=\"nofollow\">http://www.wellsphere.com</a>.<br><br>We are committed to continuing to improve Wellsphere everyday and we enjoy responding to the feedback from our community.  We greatly appreciate all constructive advice about how we can improve the site and our users\u2019 experience.  Please feel free to share your thoughts (or hate mail if you must :-) ) with us at <a href=\"mailto:wecare@wellsphere.com\" rel=\"nofollow\">wecare@wellsphere.com</a>.  If you would like to learn more about our company, our mission, and our values firsthand, please reach out to any of us directly. You can reach us by phone at (650) 345-2100, or by email at the addresses below. <br><br>Our core team (alphabetical by last name):<br><br>Kathleen Donahue<br><a href=\"mailto:kathleen.donahue@wellsphere.com\" rel=\"nofollow\">kathleen.donahue@wellsphere.com</a><br><br>Ron Gutman<br><a href=\"mailto:ron.gutman@wellsphere.com\" rel=\"nofollow\">ron.gutman@wellsphere.com</a><br><br>Dave Kashen<br><a href=\"mailto:dave.kashen@wellsphere.com\" rel=\"nofollow\">dave.kashen@wellsphere.com</a><br><br>Ivan Marchenko<br><a href=\"mailto:ivan.marchenko@wellsphere.com\" rel=\"nofollow\">ivan.marchenko@wellsphere.com</a> <br><br>Sastry Nanduri<br><a href=\"mailto:sastry.nanduri@wellsphere.com\" rel=\"nofollow\">sastry.nanduri@wellsphere.com</a><br><br>Larisa Rozentals<br><a href=\"mailto:larisa.rozentals@wellsphere.com\" rel=\"nofollow\">larisa.rozentals@wellsphere.com</a><br><br>Geoff Rutledge, MD, PhD<br><a href=\"mailto:geoff.rutledge@wellsphere.com\" rel=\"nofollow\">geoff.rutledge@wellsphere.com</a>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-08-02_12:47:46", "killed": false, "user_key": "fb0994adee9efc75f51fabd788fa7698", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672301": {"up_voted": false, "ip": "", "has_replies": false, "message": "Personally, I have not experienced what others may have; rather I\u2019ve had a very positive experience with the company, Ron and Dave.  I enjoy working for Wellsphere \u2013 its nice to come into the an office where I can eat breakfast with others or at my desk, Katie, the well-dog, says hello to everyone (she\u2019s so happy and excited \u2013 she really reminds you what life is all about), we enjoy a casual weekly lunch with everyone together, fruit and other healthy items are provided for us (although Kathleen and I would really enjoy some dark chocolate), and the office has a great view of the Bay Area.<br><br>From my experience, both Ron and Dave care about their company and their employees.  You know you have a great team of employees working for you when you are instructed to leave the building promptly at 5:00 pm to repair the AC and none of us wanted to leave \u2013 it took Ron and the AC company over an hour to get everyone to go home.  What can I say\u2026 I enjoy the people, the culture, and working with Katie.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-08-02_12:49:38", "killed": false, "user_key": "f14cdd76d2b2cb23808857151c412374", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672302": {"up_voted": false, "ip": "", "has_replies": false, "message": "Read the comments, both good and bad. I can only speak for myself and tell those interested that overall, as an employee since the beginning of April, I've had a very positive, productive time with Wellsphere. We have a great crew of people, both employees and contractors with whom I interact regularly. We've formed a tight, fun team that keeps on moving forward together to improve our product. As a user-interface designer, I love hearing back from people about the site and how we can improve it for them. Yes, being a young company, we have a ways to go, but we are listening, learning, and steadily enhancing the site. So, to burst the hyperbolic bubble of those who have never worked here, yet seem to be bent on creating/spreading hearsay, this is the current atmosphere.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-08-02_12:50:34", "killed": false, "user_key": "d94d13d3cedfea0e449f604b5ffcd1cb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672303": {"up_voted": false, "ip": "", "has_replies": false, "message": "My experience at Wellsphere has been very pleasant. Wellsphere has a great mission, a fun working environment and a strong team of passionate, positive-minded individuals. As a technologist, I am very excited at the opportunity to build a product that will help millions of people lead a happier and healthier lifestyle.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-08-02_12:51:13", "killed": false, "user_key": "efc4b2d095a86c6c252fa12757b96755", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672304": {"up_voted": false, "ip": "", "has_replies": false, "message": "Since the day we founded our company, we have always taken the time to listen to people- from the deep research we conducted on how to help people make healthier lifestyle choices to developing our initial prototype to our focus groups and feedback from our alpha community, serving people has been at the heart of our company.  Our recently launched Beta site is built on top of all of this great input and we will continue to listen and continuously improve Wellsphere in our efforts to help people live healthier, happier lives. I would like to thank the people who have taken the time to help us improve our site by providing serious, thoughtful and meaningful feedback. I also want to warmly thank my fellow employees at Wellsphere for joining me in working toward our shared mission and for making the challenging job of bringing innovation to the world enjoyable and rewarding.<br><br>In particular, I would like to thank my co-founder Dave, who has been working with me from the day we founded the company (and even before), around the clock to make our dream come true \u2013 to help millions of people live healthier, happier lives. I also want to give a huge kudos to Dr. Geoff Rutledge, a great friend and our CIO - without whom we would not have been able to bring the beta site we are so proud of to life. Finally, I would like to give the warmest of words to our wonderful, smart, dedicated team including Sastry, Kathleen, Ivan, Larisa, Nikki, Paul, Vadym, Irina, Jeff, Phil, and all the others who are working to make our vision a reality.<br><br>It takes a lot of work to make a real change in the world, but we are determined to do so and enjoying ourselves along the way. It is pretty amazing to see how a strong culture can enable a small, committed group to make remarkable things happen.<br><br>I invite anyone in the greater community to write to me, call me or meet with me so we can have a frank, open discussion about the Wellsphere community. I will be delighted to tell you more about Wellsphere, our mission and why I strongly believe in dedicating my life to helping others live well and be happy.  Please feel free to write to me at <a href=\"mailto:ron.gutman@wellsphere.com\" rel=\"nofollow\">ron.gutman@wellsphere.com</a> or call me at (650) 345-2100.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-08-02_12:54:06", "killed": false, "user_key": "edbe1727338c1a53b6ec7de4a940570c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672305": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hi, I\u2019m Dave, co-founder of Wellsphere.  Since founding this company with Ron I\u2019ve been working incredibly hard, sacrificing most of my time with my friends and family because I believe in the importance of what we\u2019re doing and our potential to make a significant positive impact on people\u2019s lives.  Having become a much more active person myself about 5 years ago, I know firsthand how much of a difference it can make in someone\u2019s life to make this kind of a lifestyle change.  I\u2019m a much happier, more energized person because of it.  It saddens me to see people spending their time and energy to harm us and undermine our efforts when our team is working so hard to build a great company and do good in the world.  We have a great, hardworking group of employees who really care about helping others.  Our team has a lot of fun together and we\u2019re excited about our new Beta site and all of the kind, supportive comments we\u2019ve received from our community members.  We stand behind Ron, our CEO, and appreciate his passion, commitment and extraordinary work ethic.  Of course we\u2019ve had our share of roadblocks and setbacks (it\u2019s a startup after all), but we\u2019re committed to building a great company and making a difference in the world.  I\u2019d be more than happy to talk to anyone who has questions about Wellsphere (or anyone who wants to get more active!)<br><br>Please contact me at <a href=\"mailto:dave.kashen@wellsphere.com\" rel=\"nofollow\">dave.kashen@wellsphere.com</a>.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-08-02_12:55:31", "killed": false, "user_key": "4407238595779d710aa6dff06dcd5ee6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "14672306": {"up_voted": false, "ip": "", "has_replies": false, "message": "After seeing the cynically negative comments about my company, I feel compelled to offer my experiences with our company and with our CEO. I'll restrict my comments to my personal thoughts and observations, which are based on my experiences here over the past year. I am a <br>physician and technologist who left a medical practice and executive management position in hospital information systems to join Wellsphere. I was attracted to Wellsphere because I thought the success of this company would achieve more good than I could hope to achieve as a physician caring for patients one at a time. We can only be successful if we are able to help people achieve healthier lifestyles. My previous business experience included building Healtheon/WebMD's consumer website; Wellsphere offered the opportunity to take a great leap forward, from a website that mostly provides  disease information, to a modern web service that would create a community that enables people to be well.   <br><br>Our CEO, Ron Gutman, expects a lot from all of us, and he delivers a lot in return. In fact, it was my realization that he is profoundly committed to the mission of helping people that made me want to join Wellsphere. Mostly, he challenges us to achieve great things. This is good, and helps establish a culture here that sets us up for success. Our main challenge is to grow the team with other smart, motivated people who have a similarly positive view on life, and who want to participate in what we are trying to accomplish. <br><br>We have developed a delightful culture at the company -- we are now in a new office in San Mateo, where the light, openness, view, and shared workspace provide a pleasing environment. True to the mission of the company, we have our own gym in the office (and full shower), so we often have management meetings while spinning on our stationary bikes. I'm able to bring my hyper-charged Belgian Malinois, Katie, to work with me every day, and she provides a point of relaxation, charm, and playfulness to the office. <br><br>I'm happy to discuss Wellsphere with anyone who would like to know more! Feel free to call me at (650) 345-2100, or reach me via email at <a href=\"mailto:geoff.rutledge@wellsphere.com\" rel=\"nofollow\">geoff.rutledge@wellsphere.com</a>.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2007-08-02_12:57:50", "killed": false, "user_key": "2d53bba9e2b542cdea8d13f270ecd629", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": true}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "21802182", "user_id": "anonymous", "forum_id": "7041", "hash": -6574331959604268793}, "thread": {"days_alive": 0, "slug": "wellsphere_for_those_striving_to_be_fit_and_healthy", "paginate": false, "num_pages": 1, "num_posts": 48, "per_page": 0, "total_posts": 0, "realtime_paused": true, "id": 21802182, "queued": false}, "reactions_limit": 10, "context": {"show_reply": true, "use_fb_connect": true, "forum_facebook_key": "547225e2dda46ccfdec279a9a44a0074", "use_yahoo": false, "subscribed": false, "use_twitter_signin": true, "use_openid": false, "realtime_speed": 5000}, "reactions_start": 0, "settings": {"debug": false, "disqus_url": "http://disqus.com", "media_url": "http://media.disqus.com"}, "media_url": "http://media.disqus.com"};
	/* */ this.jsonData.cookie_messages = {"user_created": null, "post_has_profile": null, "post_twitter": null, "post_not_approved": null}; this.jsonData.session = {"url": null, "name": null, "email": null}; /* */

	
	this.curPageId = 'dsq-comments';

	this.frames = {};
};

var disqus_popup_reference = null;

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



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



var FragmentPacket = function(reader, writer, writer_url, is_child, receiveCallback) {
	var that = this;
	this.reader = reader;
	this.writer = writer;
	this.writer_url = writer_url;

	this.is_child = is_child || false;
	this.receiveCallback = receiveCallback;

	this._lastHash = null;

	this._accumMsg = '';

	this._lastSeqno = 0;

	this.MAX_DATA_LEN	= 1024;

	this.WAIT_TIME		= 10;

	this.READY		= 0x1;
	this.WRITING	= 0x2;
	this.FIN		= 0x4;
	this.ACK		= 0x8;

};

FragmentPacket.prototype.createListener = function() {
	var that = this;
	var listener = function() {
		that.recv();
	};
	return window.setInterval(listener, 10);
};

FragmentPacket.prototype.log = function(msg) {



};

FragmentPacket.prototype.recv = function() {
	var hash;
	if (/MSIE/.test(navigator.userAgent)) {

		hash = this.reader.name;
	} else {

		var hashIndex = this.reader.location.href.indexOf('#');
		if (hashIndex == -1) {
			return;
		}
		hash = this.reader.location.href.substring(hashIndex+1);
	}
	var flags = parseInt(hash.substring(0, 4), 10);
	var seqno = parseInt(hash.substring(4, 24), 10);
	var data  = hash.substring(24);

	if (this._lastHash !== hash) {
		this._lastHash = hash;
		this.log('recv: ' + hash);

		this.log(' flags: ' + flags);
		this.log(' seqno: ' + seqno + ' len: ' + hash.substring(4, 24).length + ' (' + hash.substring(4, 24) + ')');
		this.log(' data: ' + data + ' len: ' + data.length);

		this._lastSeqno = seqno;

		if (flags & this.WRITING) {
			this._accumMsg += data;
			this.sendFlag(this.ACK, seqno);
			if (flags & this.FIN) {
				this.log('recv finished: ' + decodeURIComponent(this._accumMsg));
				this.receiveCallback(decodeURIComponent(this._accumMsg));

				this._accumMsg = '';

				this.sendFlag(this.READY | this.ACK, this._lastSeqno);
			}
		}
	}

	return {
		flags: flags,
		seqno: seqno,
		data: data
	};
};

FragmentPacket.prototype.sendRawPacket = function(packet) {
	if (/MSIE/.test(navigator.userAgent)) {
		this.writer.name = packet;
	} else {

		this.writer.location.href = this.writer_url + '#' + packet;
	}

};

FragmentPacket.prototype.sendFlag = function(flag, seqno) {
	this.sendRawPacket(this._zerofill(flag, 4) + this._zerofill(seqno, 20));
};

FragmentPacket.prototype.send = function(msg) {
	this._send(0, encodeURIComponent(msg));
};

FragmentPacket.prototype._send = function(packetNum, msg) {
	var that = this;
	var recvBuf = this.recv();

	if (packetNum === 0) {

		if (!(recvBuf.flags & this.READY)) {
			this.log('client is not ready, waiting...');
			window.setTimeout(function() { that._send(packetNum, msg); }, this.WAIT_TIME);
			return;
		}
	} else {

		if (!( (recvBuf.flags & this.ACK) && (recvBuf.seqno === this._lastSeqno) )) {
			this.log('waiting for ack from client...');
			window.setTimeout(function() { that._send(packetNum, msg); }, this.WAIT_TIME);
			return;
		} else {
			this.log('received ack: ' + this._lastSeqno + ' ' + recvBuf.seqno);
		}
	}

	var flags = this.WRITING;
	var num_packets = Math.ceil(msg.length / this.MAX_DATA_LEN);
	this.log('num_packets: ' + num_packets);

	if (num_packets === packetNum) {

		this.log('message successfully sent!');
		this.sendFlag(this.READY | this.ACK, this._lastSeqno);
		return true;
	}

	this._lastSeqno++;

	if (packetNum == num_packets-1) {
		flags |= this.FIN;
	}

	var data = msg.substring(packetNum * this.MAX_DATA_LEN, (packetNum+1) * this.MAX_DATA_LEN);
	var packet = this._zerofill(flags, 4) + this._zerofill(this._lastSeqno, 20) + data;

	this.log('sending raw packet: ' + packet);
	this.sendRawPacket(packet);

	return this._send(packetNum + 1, msg);
};

FragmentPacket.prototype._zerofill = function(num, width) {
	var retval = num.toString();
	var retval_len = retval.length;
	for (var i = 0; i < width - retval_len; i++) {
		retval = '0' + retval;
	}
	return retval;
};

var PostMessagePacket = function(receiver, receiveCallback, id, receiverId) {
	var that = this;
	this.receiver = receiver;
	this.receiveCallback = receiveCallback;
	this.id = id;


	this.receiverId = receiverId;
};

PostMessagePacket.prototype.createListener = function() {
	var that = this;

	var listener = function(e) {

		if (!that.id) {
			that.id = e.data;
			return;
		}


		var id = e.data.split(';')[0];
		if (id !== that.id) {
			return;
		}
		var data = e.data.substring(e.data.indexOf(';') + 1);

		that.receiveCallback(data);
	};

	if (typeof window.attachEvent == 'function') {
		window.attachEvent('onmessage', listener);
	} else if (typeof window.addEventListener == 'function') {
		window.addEventListener('message', listener, false);
	} else {
		throw new Error('No method found to create event listener for PostMessagePacket.');
	}
};

PostMessagePacket.prototype.send = function(msg) {



	var needs_reget = false;
	try {
		if (typeof this.receiver.id == 'undefined' || typeof this.receiver.postMessage == 'undefined') {
			needs_reget = true;
		}
	} catch(e) {


	}
	if (needs_reget && typeof this.receiverId != 'undefined') {
		this.receiver = document.getElementById(this.receiverId).contentWindow;
	}

	var packet;
	if (!msg) {

		packet = this.id;
	} else {
		packet = this.id + ';' + msg;
	}
	this.receiver.postMessage(packet, '*');
};

PostMessagePacket._last_unique_id = null;
PostMessagePacket._get_unique_id = function() {
	var id = (new Date()).getTime();
	if (id == PostMessagePacket._last_unique_id) {
		id++;
	}
	PostMessagePacket._last_unique_id = id;
	return id.toString();
};

var JsonRpc = function() {

	this.ids = {};

	this.objectToJSON = function(obj) {
		var json = '';
		var results = [];

		if (obj === undefined || obj === null) {
			return 'null';
		}

		switch (obj.constructor) {
			case Object:
				for (var property in obj) {
					if (obj.hasOwnProperty(property)) {
						results.push(this.objectToJSON(property) + ': ' + this.objectToJSON(obj[property]));
					}
				}
				json = '{' + results.join(', ') + '}';
				break;
			case Array:
				for (var i = 0; i < obj.length; i++) {
					results.push(this.objectToJSON(obj[i]));
				}
				json = '[' + results.join(', ') + ']';
				break;
			case Number:
			case Boolean:
				json = obj.toString();
				break;
			case String:

				var specialChars = {'\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '\\': '\\\\'};

				json = obj.replace(/[\x00-\x1f\\]/g, function(match) {
					var ch = specialChars[match];
					return ch ? ch : '\\u00' + match.charCodeAt().toPaddedString(2, 16);
				});

				json = '"' + json.replace(/"/g, '\\"') + '"';
				break;
			default:

				json = 'null';
				break;
		}

		return json;
	};

	this.createHandler = function(send_func, registered_funcs) {
		var that = this;
		var handler = function(message) {

			try {
				var rpc = eval('(' + message + ')');
			} catch(e) {
				alert('bad JSON: ' + message);
				return;
			}
			if (rpc.method) {

				if (!registered_funcs[rpc.method]) {
					return;
				}

				var retval = registered_funcs[rpc.method].apply(null, rpc.params);
				if (rpc.id) {
					var response = {
						result: retval,
						error: null,	// TODO
						id: rpc.id
					};
					send_func(that.objectToJSON(response));
				}
			} else if(rpc.result) {

				if (!that.ids[rpc.id]) {
					return;
				}

				that.ids[rpc.id](rpc.result);
				delete that.ids[rpc.id];
			}
		};
		return handler;
	};

	this.execute = function(send_func, method, params, response_callback) {
		response_callback = response_callback || null;
		var id = (response_callback) ? (new Date()).getTime() : null;

		var request = {
			method: method,
			params: params,
			id: id
		};

		send_func(this.objectToJSON(request));

		if (id) {
			this.ids[id] = response_callback;
		}
	};
};
JsonRpc = new JsonRpc();

var ParentMessenger = function(childUrl, receiverUrl, container, receiveCallback) {


	if (navigator.userAgent.indexOf('Safari') >= 0 && parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf('Version/') + 8), 10) == 3) {
		throw new Error("unsupported.");
	} else if (window.opera) {
		throw new Error("unsupported.");
	}



	if (!receiverUrl &&
		navigator.userAgent.indexOf('Gecko') >= 0 &&
		parseFloat(navigator.userAgent.slice(navigator.userAgent.indexOf('rv:') + 3, navigator.userAgent.indexOf('rv:') + 6)) < 1.9) {
		throw new Error("unsupported.");
	}


	if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) {


		if (document.domain == window.location.hostname) {
			receiverUrl = '';
		}
	}

	var that = this;
	this.childUrl = childUrl;
	this.receiverUrl = receiverUrl;
	this.container = container || document.body;

	this.packetHandler = null;


	this._ready = false;
	this._error = false;


	var _createReceiverForFragmentPacket = function() {

		that.receiver = document.createElement('iframe');
		that.receiver.src = receiverUrl;
		that.receiver.id = 'receiver_' + (new Date()).getTime();
		that.receiver.name = that.receiver.id;

		that.receiver.frameBorder = '0';
		that.receiver.frameSpacing = '0';
		that.receiver.style.borderStyle = 'none';

		var receiver_onload = function() {
			var receiver = document.getElementById(that.receiver.id).contentWindow;

			try {
				receiver.document.body.innerHTML = '';
			} catch(e) {

				that._error = true;
			}
			receiver.document.body.style.padding = '0px';
			receiver.document.body.style.margin = '0px';

			var child = receiver.document.createElement('iframe');
			child.id = 'child';
			child.name = 'child';
			child.src = that.childUrl;

			child.frameBorder = '0';
			child.frameSpacing = '0';
			child.style.borderStyle = 'none';
			child.style.width = '100%';
			child.style.height = '100%';
			receiver.document.body.appendChild(child);

			that.child = receiver.document.getElementById('child').contentWindow;
			that.receiver = receiver;

			that.packetHandler = new FragmentPacket(that.receiver, that.child, that.childUrl, false, receiveCallback);

			that._listener = that.packetHandler.createListener();

			that.packetHandler.sendFlag(that.packetHandler.READY, 0);

			that._ready = true;
		};

		that.receiver.onreadystatechange = function() {
			if (this.readyState == 'complete') {
				receiver_onload();
			}
		};

		that.receiver.onload = receiver_onload;







		if (Dsq.Utils.ie) {
			if (that.container.clientWidth === 0) {

				var _waitForWidth = function() {
					if (that.container.clientWidth > 0) {
						Dsq.Utils.fixIframesIE(that.container.id);
					} else {
						window.setTimeout(_waitForWidth, 100);
					}
				};
				_waitForWidth();

				that._once = false;
				that.receiver.onresize = function() {
					if (!that._once) {
						Dsq.Utils.fixIframesIE(that.container.id);
					}
					that._once = true;
				};
			}
		}

		that.container.appendChild(that.receiver);
	};


	var _createReceiverForPostMessage = function() {

		var receiver_onload = function() {

			that.packetHandler.send();
			that._ready = true;
		};

		var id = PostMessagePacket._get_unique_id();
		var receiverId = 'child_' + id;


		ParentMessenger['_receiver_onload_' + receiverId] = receiver_onload;

		that.container.innerHTML += '<iframe ' +
			'src="' + childUrl + '" ' +
			'id="' + receiverId + '" ' +
			'name="' + receiverId + '" ' +
			'onload="ParentMessenger._receiver_onload_' + receiverId +'();" ' +
			'></iframe>';

		that.receiver = document.getElementById(receiverId).contentWindow;
		that.packetHandler = new PostMessagePacket(that.receiver, receiveCallback, id, receiverId);
		that._listener = that.packetHandler.createListener();
	};

	if (typeof window.postMessage == 'function') {
		_createReceiverForPostMessage();
	} else {
		_createReceiverForFragmentPacket();
	}

};

ParentMessenger.prototype.sendMessage = function(message) {
	var that = this;
	if (!this._ready) {

		window.setTimeout(function() { that.sendMessage(message); }, 10);
		return;
	}
	this.packetHandler.send(message);
	return true;
};

Dsq.NewFrames = function(url) {
	this.url = url;
};

Dsq.NewFrames.prototype.init = function(onFailure) {
	var that = this;

	try {
		this.messenger = new ParentMessenger(this.url, Dsq.jsonData.integration.receiver_url, this.container, this.receive_callback);
	} catch(e) {
		if (typeof onFailure == 'function') {
			onFailure();
		}
	}

	if (typeof onFailure == 'function') {
		var iId = window.setInterval(function() {
			if (typeof that.messenger == 'undefined') {
				window.clearInterval(iId);
				return;
			}
			if (that.messenger._ready) {
				window.clearInterval(iId);
			} else if (that.messenger._error) {
				window.clearInterval(iId);
				onFailure();
			}
		}, 10);
	}
};

Dsq.NewFrames.prototype._execute = function(method, args, callback) {
	var that = this;
	if (typeof that.messenger == 'undefined') {
		return false;
	}
	JsonRpc.execute(
		function(msg) { that.messenger.sendMessage(msg); },
		method,
		args || [],
		callback);
	return true;
};

Dsq.ReplyFrame = function(container, parent_post_id) {
	var that = this;
	this.container = container;
	this.parent_post_id = parent_post_id;

	var sendFunc = function(msg) {

		Dsq.Debug.log('Dsq.ReplyFrame.sendFunc');
		that.messenger.sendMessage(msg);
	};


	var postComment_onSuccess = function(response) {
		Dsq.jsonData.posts[response.message.id] = response.message.post_meta;
		if (!Dsq.jsonData.users[response.message.post_meta.user_key]) {
			Dsq.jsonData.users[response.message.post_meta.user_key] = response.message.user_meta;
		}


		var reply_position = (typeof(disqus_insert_wrt_sort) == 'undefined' 
			? (Dsq.jsonData.forum.reply_position ? -1 : null) 
			: (Dsq.jsonData.request.sort == 2 ? null : -1));
		
		if (response.message.post_meta.approved) {
			Dsq.Post.insert(response.message.post_meta.parent_post_id || reply_position, response.message.id, response.message.post_meta.message);
		}

		Dsq.Templates.postComment_onSuccess(response, parent_post_id, response.message.id);
	};

	var postComment_onFailure = function(response) {
		Dsq.Popup.popModal(response.message, 'Error');
		Dsq.Templates.postComment_onFailure(response, parent_post_id, response.message.id);
	};

	var editComment_onSuccess = function(response) {
		var post_id = parent_post_id;
		var message = Dsq.$('dsq-comment-message-' + post_id);
		
		message.innerHTML = response.message;
		Dsq.Templates.toggleEdit(post_id);
		Dsq.Templates.setLoadingButton(false);
	};
	
	var editComment_onFailure = function(response) {
		var post_id = parent_post_id;
		
		Dsq.Popup.popModal('Sorry, there was an error editing this comment.', 'Edit Error');
		Dsq.Templates.toggleEdit(post_id);
		Dsq.Templates.setLoadingButton(false);
	};

	var getUserByEmail_onSuccess = function(response) {
		var msg = response.message;
		var fields = Dsq.Templates.getFormFields(parent_post_id);

		if (msg.username) {

			Dsq.Templates.lightboxAuthenticate(parent_post_id, 'login', {
				'username': msg.username,
				'display_name': msg.display_name,
				'avatar_url': msg.avatar_url,
				'verified': msg.verified,
				'email': fields.email.value
			});
		} else {

			Dsq.Templates.lightboxAuthenticate(parent_post_id, 'register');
		}
	};

	var validateAuth_onSuccess = function(response, auth_choice) {
		Dsq.Templates.postComment(parent_post_id, null, true, auth_choice);
	};

	var validateAuth_onFailure = function(response, auth_choice) {
		var pid = parent_post_id ? '-' + parent_post_id : '';
		var msg = response.message;

		if (auth_choice == 'register') {
			var fields = ['email', 'username', 'password'];

			for (var i = 0; i < fields.length; i++) {
				var field = fields[i];
				var errorDiv = Dsq.$('dsq-' + field + '-errors' + pid);

				if (msg[field]) {
					errorDiv.innerHTML = msg[field];
				} else {
					errorDiv.innerHTML = '';
				}
			}
		} else if (auth_choice == 'login') {
			Dsq.$('dsq-lightbox-errors' + pid).innerHTML = '<p>We couldn\'t log you in. Please verify your login.</p>';
		}
		
		Dsq.Templates.setLoadingButton(false);
	};

	this.receive_callback = JsonRpc.createHandler(sendFunc, {
		'postComment.onSuccess': postComment_onSuccess,
		'postComment.onFailure': postComment_onFailure,
		'editComment.onSuccess': editComment_onSuccess,
		'editComment.onFailure': editComment_onFailure,		
		'getUserByEmail.onSuccess': getUserByEmail_onSuccess,
		'validateAuth.onSuccess': validateAuth_onSuccess,
		'validateAuth.onFailure': validateAuth_onFailure,
		'reload': function() { window.location.reload(); }
	});

	this.url = Dsq.Urls.REPLY +
		'?' + (new Date()).getTime() +
		'&f=venturebeat' +
		'&t=wellsphere_for_those_striving_to_be_fit_and_healthy' +
		'&ff=' + Dsq.Thread.ff +
		'&default_text=' + disqus_default_text +
		'&ifrs=' + encodeURIComponent(disqus_iframe_css);
	if (this.parent_post_id) {
		this.url += '&parent_post=' + this.parent_post_id;
	}
};

Dsq.ReplyFrame.prototype = new Dsq.NewFrames(Dsq.ReplyFrame.url);

Dsq.ReplyFrame.prototype.post = function(author_name, author_email, author_url, authenticate, sharing_services, subscribe) {
	this._execute('postComment', [author_name, author_email, author_url, authenticate, sharing_services, subscribe]);
};

Dsq.ReplyFrame.prototype.edit = function(post_id, message) {
	this._execute('editComment', [post_id, message]);
};

Dsq.ReplyFrame.prototype.setState = function(parent_post_id, depth) {
	this._execute('setState', [parent_post_id, depth]);
};

Dsq.ReplyFrame.prototype.getUserByEmail = function(email) {
	this._execute('getUserByEmail', [email]);
};

Dsq.ReplyFrame.prototype.validateAuth = function(auth_choice, email, username, password) {
	this._execute('validateAuth', [auth_choice, email, username, password]);
};

Dsq.ReplyFrame.prototype.authenticateFacebook = function(session, forum_url) {
	this._execute('authenticateFacebook', [session, forum_url]);
};

	Dsq.Facebook = function() {
	var that = this;

	var handleSessionData = function(session) {

		var forum_url = Dsq.jsonData.forum.url;




		if (typeof disqus_facebook_forum != 'undefined') {
			forum_url = disqus_facebook_forum;
		}
		Dsq.frames.reply_0.authenticateFacebook(session, forum_url);
	};

	var onLogin = function() {
		FB.Connect.getSignedPublicSessionData(handleSessionData);
	};

	this.login = function() {
		FB.Connect.requireSession(onLogin, true);
	};
};
Dsq.Facebook = new Dsq.Facebook();


	






Dsq.Themes = {};

Dsq.Themes.narcissus = new function() {
	this.addPostContainer = 'dsq-form-area';
	this.textareaContainer = 'dsq-textarea-wrapper';



	
	this.header = function() {
		var comments_count, total_posts, num_posts;
		var html = '';
		var missing_perm_tmpl;

		if (Dsq.jsonData.request.missing_perm) {
			missing_perm_tmpl = Dsq.Templates.missingPermissions();
			if (missing_perm_tmpl) {
				html += '<div class="dsq-missing-permissions">' + missing_perm_tmpl + '</div>';
			}
		}

		total_posts = Dsq.jsonData.thread.total_posts;
		num_posts = Dsq.jsonData.thread.num_posts;

		if (total_posts) {
			comments_count = Dsq.FmtStrings.SHOWING_COMMENTS_FULL(total_posts, num_posts);
		} else {
			comments_count = Dsq.FmtStrings.SHOWING_COMMENTS_WITHOUT_PAGINATION(num_posts);
		}

		html += ' \
		<div id="dsq-comments-title"> \
			<h3>' + comments_count + '</h3> \
		</div> \
		';

		html += ' \
		<div class="dsq-options"> \
			<span class="dsq-item-sort">'
				+ Dsq.Strings.SORT_BY + ' \
				<select id="dsq-sort-select" onchange="Dsq.Thread.sortBy(this.value);"> \
					<option value="hot" ' + (Dsq.jsonData.request.sort == 4 ? 'selected="selected"' : '') + '>' + Dsq.Strings.POPULAR_NOW + '</option> \
					<option value="best" ' + (Dsq.jsonData.request.sort == 3 ? 'selected="selected"' : '') + '>' + Dsq.Strings.BEST_RATING + '</option> \
					<option value="newest" ' + (Dsq.jsonData.request.sort == 2 ? 'selected="selected"' : '') + '>' + Dsq.Strings.NEWEST_FIRST + '</option> \
					<option value="oldest" ' + (Dsq.jsonData.request.sort == 1 ? 'selected="selected"' : '') + '>' + Dsq.Strings.OLDEST_FIRST + '</option> \
				</select> \
				&nbsp; \
			</span> \
			<span class="dsq-subscribe-email"> \
				<img src="http://media.disqus.com/images/embed/email.png" style="width:12px;height:12px;vertical-align:middle"> \
				<span id="dsq-subscribe">'
					+ (Dsq.jsonData.context.subscribed
						? '<a href="#" onclick="Dsq.Thread.subscribe(0); return false">' + Dsq.Strings.UNSUBSCRIBE + '</a>'
						: '<a href="#" onclick="Dsq.Thread.subscribe(1); return false">' + Dsq.Strings.SUBSCRIBE_BY_EMAIL + '</a>')
				+ '</span> \
			</span> \
			<span class="dsq-subscribe-rss" style="width:12px;height:12px;vertical-align:middle"> \
				<img src="http://media.disqus.com/images/embed/bullet-feed.png" alt="" /> \
				<a href="http://disqus.com/forums/venturebeat/wellsphere_for_those_striving_to_be_fit_and_healthy/latest.rss">' + Dsq.Strings.SUBSCRIBE_BY_RSS + '</a> \
			</span> \
		</div> \
		';

		
		

		return html;

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

		html += Dsq.Templates.pagination();

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

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		


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

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

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

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

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

		return html;
	};

	this.postBox = function(post_id, use_fallback_iframe) {


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

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


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

		var _requestUserInfo = function() {
			var html;



			var user_has_email = false;

			html = '<div class="dsq-request-user-info"> <!-- // If authenticated --> \
				<a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.LOGOUT + '?ctkn=' + Dsq.CSRF_TOKEN + '" class="dsq-request-user-logout">' + Dsq.Strings.LOGOUT + '</a> \
				<table> \
					<tr> \
						<td rowspan="2">'
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '<a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE + '">' : '')
								+ '<img src="' + Dsq.Urls.REQUEST_USER_AVATAR + '" width="48" height="48" class="dsq-request-user-avatar">'
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '</a>' : '')
						+ '</td> \
						<td class="dsq-request-user-name">'
								+ (Dsq.jsonData.request.is_remote
									 ? '<span class="dsq-badge-small dsq-badge-' + Dsq.jsonData.request.remote_domain + '">' + Dsq.jsonData.request.remote_domain + '</span>'
									 : (Dsq.jsonData.request.is_verified
											? '<span class="dsq-badge-small dsq-badge-verified">Verified</span>'
											: '<span class="dsq-badge-small dsq-badge-registered">Registered</span>'))
							+ ' <a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE + '">' + Dsq.jsonData.request.display_username + '</a>'
							+  (Dsq.jsonData.request.is_remote && user_has_email ? ' <small>(<a href="#" onclick="Dsq.Popup.remoteAccountSettings(); return false;">change settings</a>)</small>' : '')
							+  (!Dsq.jsonData.request.is_remote && !Dsq.jsonData.forum.disqus_auth_disabled ? ' <small>(<a href="' + Dsq.jsonData.settings.disqus_url + '/profile/info/" target="_blank">change name</a> or <a href="' + Dsq.jsonData.settings.disqus_url + '/profile/avatar/" target="_blank">picture</a>)</small>' : '')
						+ '</td> \
					</tr> \
					<tr> \
						<td class="dsq-request-user-stats"> \
							<span><big>' + Dsq.jsonData.request.comments_count + '</big> ' + (Dsq.jsonData.request.comments_count == 1 ? 'comment' : 'comments') + '</span> \
							<span><big>' + Dsq.jsonData.request.likes_count + '</big> ' + (Dsq.jsonData.request.likes_count == 1 ? 'like' : 'likes') + '</span> \
							<span><big>' + Dsq.jsonData.request.points + '</big> ' + (Dsq.jsonData.request.points == 1 ? 'point' : 'points') + '</span> \
						</td> \
					</tr> \
				</table> \
			</div> \
			';
			return html;
		};

		var _loginOptions = function() {
			var html;
			html = ' \
			<div class="dsq-authenticate"> \
				<p class="dsq-autheneticate-copy">'
				+ (Dsq.jsonData.forum.allow_anon_post
					? Dsq.Strings.YOU_ARE_COMMENTING_AS_A + ' <a class="dsq-help" title="Click for more information" href="#" onclick="Dsq.Popup.helpBadges(); return false">Guest</a>. ' + Dsq.Strings.OPTIONAL + ': ' + Dsq.Strings.LOGIN_BELOW + '.'
					: Dsq.Strings.REQUIRED + ': ' + Dsq.Strings.PLEASE_LOGIN_BELOW_TO_COMMENT + '.')
				+ '</p> \
				<ul class="dsq-login-buttons">'
					+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Popup.login(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-disqus.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_fb_connect ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Facebook.login(); return false;"><img src="http://media.disqus.com/images/themes/narcissus/login-facebook.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_twitter_signin ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Twitter.startTwitterConnect(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-twitter.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_openid ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.OpenID.requestURL(); return false" ><img src="http://media.disqus.com/images/themes/narcissus/login-openid.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_yahoo ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Yahoo.startYahooConnect(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-yahoo.gif" /></a></li>' : '')
				+ '</ul> \
			</div> \
			';
			return html;
		};

		if (!Dsq.jsonData.context.show_reply) {


			if (!Dsq.jsonData.request.is_authenticated) {



				return '<div id="dsq-form-area" style="display:none"><div id="dsq-textarea-wrapper"></div></div>' + _loginOptions();
			} else {
				return '';
			}
		}

		html = ' \
		<div id="' + (post_id 
			? 'dsq-reply-post-' + post_id
			: 'dsq-new-post')
		 	+ '" class="dsq-post-area"> \
			<div class="dsq-dc-logo"> \
				<a href="http://disqus.com/comments" target="_blank"><img src="http://media.disqus.com/images/themes/narcissus/disqus-logo.png"></a> \
			</div>'
			+ (post_id 
				? '<h3>' + Dsq.Strings.REPLYING_TO + ' ' + userData.display_name + '</h3>'
				: '<h3>' + Dsq.Strings.ADD_NEW_COMMENT + '</h3>')
			+ (Dsq.jsonData.request.is_authenticated 
				? _requestUserInfo()
				: _loginOptions() )
			+ '<div id="dsq-form-area' + pid + '">'
			+ '<div class="dsq-textarea"> \
				<div class="dsq-textarea-wrapper" id="dsq-textarea-wrapper' + pid + '"></div> \
			</div>'
			+ (!Dsq.jsonData.request.is_authenticated
			? ' \
			<div class="dsq-post-fields"> \
				<form action="." method="GET" onsubmit="Dsq.Templates.postComment(' + post_id + ', this, false); return false;"> \
				<table> \
					<tr> \
						<td class="dsq-post-fields-left"><div class="dsq-input-wrapper"><input id="dsq-field-name' + pid + '" type="text" value="' + (disqus_def_name ? disqus_def_name : (Dsq.jsonData.session.name ? Dsq.jsonData.session.name : Dsq.Strings.NAME + '" class="dsq-placeholder')) + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'name\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'name\')" /></div></td> \
						<td class="dsq-post-fields-right"><div class="dsq-input-wrapper"><input id="dsq-field-website' + pid + '" type="text" value="' + (Dsq.jsonData.session.url ? Dsq.jsonData.session.url : Dsq.Strings.WEBSITE + ' (' + Dsq.Strings.OPTIONAL.toLowerCase() + ')" class="dsq-placeholder') + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'website\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'website\')" /></div></td> \
					</tr> \
					<tr> \
						<td class="dsq-post-fields-left"><div class="dsq-input-wrapper"><input id="dsq-field-email' + pid + '" type="text" value="' + (disqus_def_email ? disqus_def_email : (Dsq.jsonData.session.email ? Dsq.jsonData.session.email : Dsq.Strings.EMAIL + '" class="dsq-placeholder')) + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'email\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'email\')" /></div></td> \
						<td class="dsq-post-fields-right"> \
							<div class="dsq-subscribe"> \
								<a href="#" onclick="Dsq.Templates.chooseSubscribe(' + post_id + '); return false" class="dsq-subscribe-menu"><span id="dsq-subscribe-select' + pid + '">' + (Dsq.jsonData.request.subscribe_on_post ? Dsq.Strings.SUBSCRIBE_TO_ALL_COMMENTS_BY_EMAIL : Dsq.Strings.DO_NOT_SUBSCRIBE_TO_COMMENTS) + '</span> <small>&#9660;</small></a> \
								<ul class="dsq-panel" id="dsq-subscribe-menu' + pid + '"> \
									<li><a href="#" onclick="Dsq.Templates.setSubscribe(2, this, ' + post_id + '); return false">Subscribe to all comments by email</a></li> \
									<li><a href="#" onclick="Dsq.Templates.setSubscribe(0, this, ' + post_id + '); return false">Do not subscribe to comments</a></li> \
								</ul> \
								<input id="dsq-subscribe-on-post' + pid + '" type="hidden" value="' + Dsq.jsonData.request.subscribe_on_post + '" /> \
							</div> \
						</td> \
					</tr> \
				</table> \
				</form> \
			</div>'
			: '')
			+ '<div class="dsq-post-footer"> \
				<div class="dsq-sharing-options" ' + (!display_sharing_options ? 'style="display:none;"' : '') + '> \
					<button class="dsq-button-small" onfocus="document.getElementById(\'dsq-post-button' + pid + '\').focus();"><span>' + Dsq.Strings.SHARING_OPTIONS + ' <small>&#9660;</small></span></button> \
					<div class="dsq-panel"> '
						+ (Dsq.jsonData.request.sharing.twitter !== undefined
								&& Dsq.jsonData.request.sharing.twitter.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-twitter' + pid + '"'
								  + (Dsq.jsonData.request.sharing.twitter.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-twitter' + pid + '">' + Dsq.Strings.SHARE_ON + ' Twitter</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.facebook
								&& (Dsq.jsonData.request.sharing.facebook.enabled === true ||
										(Dsq.jsonData.request.is_remote && Dsq.jsonData.request.remote_domain == 'facebook'))
							? '<div><input type="checkbox" id="dsq-sharing-facebook' + pid + '"'
									+ (Dsq.jsonData.request.sharing.facebook.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-facebook' + pid + '">' + Dsq.Strings.SHARE_ON + ' Facebook</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.yahoo !== undefined
								&& Dsq.jsonData.request.sharing.yahoo.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-yahoo' + pid + '"'
									+ (Dsq.jsonData.request.sharing.yahoo.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-yahoo' + pid + '">' + Dsq.Strings.SHARE_ON + ' Yahoo!</label> \
								</div>'
							: '')
						+ (Dsq.jsonData.request.sharing.tumblr !== undefined
								&& Dsq.jsonData.request.sharing.tumblr.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-tumblr' + pid + '"'
									+ (Dsq.jsonData.request.sharing.tumblr.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-tumblr' + pid + '">' + Dsq.Strings.SHARE_ON + ' Tumblr</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.wordpress !== undefined
								&& Dsq.jsonData.request.sharing.wordpress.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-wordpress' + pid + '"'
									+ (Dsq.jsonData.request.sharing.wordpress.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-wordpress' + pid + '">' + Dsq.Strings.SHARE_ON + ' Wordpress</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.movabletype !== undefined
							  && Dsq.jsonData.request.sharing.movabletype.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-movabletype' + pid + '"'
									+ (Dsq.jsonData.request.sharing.movabletype.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-movabletype' + pid + '">' + Dsq.Strings.SHARE_ON + ' Movable Type</label> \
							   </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.typepad !== undefined
							  && Dsq.jsonData.request.sharing.typepad.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-typepad' + pid + '"'
									+ (Dsq.jsonData.request.sharing.typepad.auto === true ? 'checked=true' : '') + '/> \
								  <label for="dsq-sharing-typepad' + pid + '">' + Dsq.Strings.SHARE_ON + ' TypePad</label> \
							   </div>'
							: '')
						+ '<div><a href="' + Dsq.jsonData.settings.disqus_url + '/profile/connections/" target="_blank" class="dsq-configure-options">' + Dsq.Strings.CONFIGURE_OPTIONS + '</a></div>'
					+ '</div> \
				</div>'
				+ '<button class="dsq-button" id="dsq-post-button' + pid + '" onclick="Dsq.Templates.postComment(' + post_id + ', this, false)"><span>' + Dsq.Strings.POST_AS + ' '
				+ (Dsq.jsonData.request.display_username
					? Dsq.jsonData.request.display_username
					: Dsq.Strings.GUEST)
				+ '</span></button>'
				+ (post_id
					? '<button class="dsq-button" id="dsq-cancel-button' + pid + '" onclick="Dsq.Post.toggleReply(' + post_id +', this)"><span>' + Dsq.Strings.CANCEL + '</span></button>'
					: '')
			+ '</div>'
			+ '</div>' // end dsq-form-area
		+ '</div> \
		';
		
		return html;
	};




	this.appendPost = function(post_id) {
		var html = '<div id="dsq-append-post-' + post_id + '"></div>';
		return html;
	};

	this.postPrependHeader = function(post_id) {
		var html;
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		
		html = ' \
		<table> \
			<tr> \
				<td id="dsq-header-avatar-' + post_id + '" class="dsq-header-avatar" onmouseover="Dsq.Post.dropProfile(' + post_id + ')"> \
					<a id="dsq-avatar-' + post_id + '" class="dsq-avatar" href="' + userData.url + '" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">'
					+ (Dsq.jsonData.forum.show_avatar
					? '<img src="' + Dsq.jsonData.users[_meta.user_key].avatar + '" alt="" />'
					: '')
				+ '</a> \
				</td> \
				<td class="dsq-comment-header-meta"> \
		';

		
		return html;
	};
	
	this.postAppendHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var html;
		var parent_display_name = '';
		
		if(_meta.parent_post_id) {

			var _parent_meta = Dsq.jsonData.posts[_meta.parent_post_id];

			if (_parent_meta) {
				var parentUserData = Dsq.jsonData['users'][_parent_meta.user_key];
				parent_display_name = parentUserData.display_name;
			}
		}

		html = ' \
		<img src="http://media.disqus.com/images/themes/narcissus/moderator.png" class="dsq-moderator-star" title="Moderator" /> \
		<span class="dsq-comment-header-time"><a href="#comment-' + post_id + '" onclick="Dsq.Popup.permalink(' + post_id + ')" title="Permalink">' + (_meta.is_realtime ? Dsq.Strings.JUST_NOW : _meta.date) + '</a></span> '
		+ (_meta.parent_post_id && parent_display_name
			? '<a href="#comment-' + _meta.parent_post_id + '" title="Jump to comment">in reply to ' + parent_display_name + '</a>'
			: '')
		+ '</td> \
		<td id="dsq-like-pts-' + post_id + '" class="dsq-comment-header-likes">'
		+ (_meta.points
			? _meta.points + Dsq.Utils.pluralize(_meta.points, ' person', ' people') + ' liked this.'
			: '')
		+ '</td> \
		</tr> \
		</table> \
		';
		return html;
	};

	this.preBody = function(post_id) {
		var html = '';
		return html;
	};

	this.postFooter = function(post_id) {
		var html;
		var _meta = Dsq.jsonData.posts[post_id];
		if(_meta.killed || !_meta.approved) { return ''; }
		
		html = ' \
		<div class="dsq-comment-footer" id="dsq-comment-footer-' + post_id + '"> \
			<div class="dsq-comment-footer-left">'
				+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator
					? '<a href="#" onclick="Dsq.Templates.moderateOptions(' + post_id+ '); return false">' + Dsq.Strings.MODERATE + '</a>'
					: '')
				+ '<a href="#" id="dsq-post-report-' + post_id + '" class="dsq-post-report" onclick="Dsq.Post.report(' + post_id + ', false); return false;">' + Dsq.Strings.FLAG + '</a> \
			</div> \
			<div class="dsq-comment-footer-right">'
				+ (_meta.votable 
					? '<span id="dsq-like-' + post_id + '" class="dsq-like">'
					+ (!_meta.up_voted
						? '<button class="dsq-button-small" onclick="Dsq.Post.rate(this, ' + post_id + ', 1)" >Like</button>'
						: 'You liked this.&nbsp;&nbsp;')
					+ '</span>'
					: '')
				+ (_meta.can_reply && !_meta.has_replies && _meta.from_request_user
					? '<button class="dsq-button-small dsq-post-edit" onclick="Dsq.Post.edit(this, ' + post_id + ')" >' + Dsq.Strings.EDIT + '</button>'
					: '')
				+ (_meta.can_reply
					? '<span class="dsq-comment-footer-reply" id="dsq-comment-footer-reply-' + post_id + '" onclick="Dsq.Post.toggleReply(' + post_id +', this)"> \
						<button class="dsq-button-small">' + Dsq.Strings.REPLY + '</button> \
						<button class="dsq-comment-footer-reply-tab">' + Dsq.Strings.REPLY + '</button><span></span> \
					</span>'
					: '')
			+ '</div> \
		</div> \
		';
		
		return html;
	};



	
	this.showRetweets = function(id, limit, element_id /* Optional */) {
		var source, html = '';

		for (var i = 0, reaction; reaction = Dsq.jsonData.reactions[i]; i++) {
			if (reaction.id === id) {
				source = reaction.retweets;
			}
		}

		if (source) {
			if (limit === 0) {
				limit = source.length;
			}

			for (var j = 0; j < limit; j++) {
				var rt = source[j];
				html += '<a href="' + rt.url + '">' + rt.author_name + '</a>'	+ ((j === (limit - 1)) ? '.' : ', ');
			}
		}

		if (element_id === undefined) {
			return html;
		}

		var element = document.getElementById(element_id);
		element.innerHTML = html;
		return element;
	};

	this.showMoreReactions = function(reactions, has_more, start, limit) {
		var link = document.getElementById('dsq-show-more-reactions');
		var container = link.parentNode;
		container.removeChild(link);

		for (var i = 0, reaction; reaction = reactions[i]; i++) {
			var el = Dsq.Templates.generateReactionHTML(reaction);
			if (el) {
				container.innerHTML += el;
			}
		}

		if (has_more) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = start;
			var l = limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			container.innerHTML += '<li id="dsq-show-more-reactions" class="dsq-show-more-reactions"><button class="dsq-button-small" onclick="' + handler + '">Show more reactions</button></li>';
		}
	};

	this.generateReactionHTML = function(reaction) {
		if (reaction.body === null || reaction.body == '') {
			return;
		}

		if (reaction.author_name === '') {
			reaction.author_name = '&nbsp;';
		}

		if (reaction.url === '') {
			reaction.url = reaction.get_service_url;
		}

		var item = '<li class="dsq-comment dsq-reaction" id="dsq-reaction-' + reaction.id + '">'
			+ '<div class="dsq-comment-header"> \
			<table> \
			<tr> \
			<td class="dsq-header-avatar"> \
			';

		if (reaction.author_url && reaction.author_url !== '') {
			item += '<a target="_blank" href="' + reaction.author_url +'" class="dsq-avatar">';
		}

		if (reaction.avatar_url && reaction.avatar_url !== '') {
			item += '<img src="' + reaction.avatar_url + '"/>';
		} else {

			item += '<img src="' + Dsq.jsonData.media_url + '/images/noavatar92.png"/>';
		}

		var service_icon = (reaction.get_service_name == 'trackback' || reaction.get_service_name == 'pingback' ? 'rss' : reaction.get_service_name.replace(' ', ''));
		item += (reaction.author_url && reaction.author_url !== ''
				? '</a>'
				: '')
			+ '</td>'
			+ '<td><cite class="dsq-comment-cite">' + reaction.author_name + '</cite> <span class="dsq-comment-header-time">' + reaction.date_created + '</span></td>'
			+ '<td class="dsq-comment-header-likes"></td>'
			+ '</tr></table></div>' // end dsq-comment-header
			+ '<div class="dsq-reaction-header" \
				<table> \
					<tr> \
						<td class="dsq-reaction-header-left">'
							+ '<img class="dsq-service-icon" src="' + Dsq.jsonData.media_url + '/images/reactions/services/' + service_icon + '.png" />'
							+ ' From <a class="dsq-service-name" target="_blank" href="' + reaction.url + '">' + reaction.get_service_name + '</a> '
							+ 'via ' + (reaction.source == 'backtype' ? '<a href="http://backtype.com/">BackType</a>' : '<a href="' + reaction.source_url + '">UberVU</a>')
						+ '</td>'
						+ '<td class="dsq-reaction-header-right">';
			
			if(reaction.retweets) {
				var num_retweets = reaction.retweets.length;
				if (num_retweets > 0) {
					if (num_retweets == 1) {
						item += 'One more retweet from <a href="' + reaction.retweets[0].url + '">'  + reaction.retweets[0].author_name + '</a>';
					} else {
						item += (num_retweets + ' more retweets from ');
						item += '<span id="dsq-reaction-retweets-' + reaction.id + '">';
						var n_tweets = (num_retweets > 3) ? 3 : num_retweets;
						item += Dsq.Templates.showRetweets(reaction.id, n_tweets);
						if (n_tweets != num_retweets) {
							item += '</span> <a onclick="Dsq.Templates.showRetweets(' + reaction.id + ', 0, \'dsq-reaction-retweets-' + reaction.id + '\');'
								+ 'this.parentNode.removeChild(this); return false;" href="#">Show all</a>';
						}
					}
				}
			}	
			item += '</td></tr> \
			</table> \
			</div>' // end dsq-reaction-header
			+ '<div class="dsq-comment-body"> \
				<div class="dsq-comment-message">' + reaction.body + '</div>'
			+ '</div> \
			<div class="dsq-comment-footer"> \
				<div class="dsq-comment-footer-left"> \
				</div>'
				+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator 
					? ' \
					<div class="dsq-comment-footer-right"> \
						<button class="dsq-button-small dsq-hide-reaction" onclick="Dsq.Reaction.hide(' + reaction.id + ')">Hide</button> \
					</div>'
					: '')
			+ '</div>'
		item += '</li>'; /* Reaction HTML ends */
		return item;
	};

	this.reactions = function() {
		var html, reaction;

		if (Dsq.jsonData.reactions === undefined || Dsq.jsonData.reactions.length === 0) {
			return '';
		}

		html = '';
		for (var i = 0; reaction = Dsq.jsonData.reactions[i]; i++) {
			var item = Dsq.Templates.generateReactionHTML(reaction);
			if (item) {
				html += item;
			}
		}

		if (Dsq.jsonData.has_more_reactions) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = Dsq.jsonData.reactions_start;
			var l = Dsq.jsonData.reactions_limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			html += '<li id="dsq-show-more-reactions" class="dsq-show-more-reactions"><button class="dsq-button-small" onclick="' + handler + '">Show more reactions</button></li>';
		}

		return '<h3 id="dsq-reactions-title" class="dsq-h3-reactions">Reactions</h3><ul id="dsq-reactions" class="dsq-reactions">' + html + '</ul>';
	};
	
	this._popupGeneric = function(content) {
		return ' \
		<div class="dsq-popup-container"> \
			<table> \
				<tbody> \
					<tr> \
						<td class="dsq-popup-tl"></td><td class="dsq-popup-b"></td><td class="dsq-popup-tr"></td> \
					</tr> \
					<tr> \
						<td class="dsq-popup-b"></td> \
						<td class="dsq-popup-body"> \
							<div class="dsq-popup-content"> \
								<div class="dsq-popup-title"> \
									<button class="dsq-button-small" style="float:right" onclick="Dsq.Popup._closePopup(null, true)">Close</button>' 
									+ content['header'] 
								+ '</div>'
								+ content['body']
							+ '</div> \
							<div class="powered-by"><a href="http://disqus.com/comments/">Powered by <img src="http://media.disqus.com/images/embed/disqus-logo.png" alt="Disqus Comments" style="margin-bottom:-5px" /></a></div> \
						</td> \
						<td class="dsq-popup-b"></td> \
					</tr> \
					<tr> \
						<td class="dsq-popup-bl"></td><td class="dsq-popup-b"></td><td class="dsq-popup-br"></td> \
					</tr> \
				</tbody> \
			</table> \
		</div> \
		';
	};



	
	this.chooseSubscribe = function(post_id) {

		var pid = post_id ? '-' + post_id : '';
		var menu = Dsq.$('dsq-subscribe-menu' + pid);
		
		menu.style.display = menu.style.display == 'block' ? 'none' : 'block';
		
	};
	
	this.setSubscribe = function(value, el, post_id) {

		var pid = post_id ? '-' + post_id : '';
		var input = Dsq.$('dsq-subscribe-on-post' + pid);
		var select = Dsq.$('dsq-subscribe-select' + pid);
		var menu = Dsq.$('dsq-subscribe-menu' + pid);
		
		select.innerHTML = el.innerHTML;
		input.value = value;
		this.chooseSubscribe(post_id);
	};
	
	this.getFormFields = function(post_id) {

		var fields = {};
		var pid = post_id ? '-' + post_id : '';
		var name = Dsq.$('dsq-field-name' + pid);
		var email = Dsq.$('dsq-field-email' + pid);
		var website = Dsq.$('dsq-field-website' + pid);
		var username = Dsq.$('dsq-field-username' + pid);
		var password = Dsq.$('dsq-field-password' + pid);

		fields = {
			'name': name,
			'email': email,
			'website': website,
			'username': username,
			'password': password
		}
		
		return fields;
	}
	
	this.validateFields = function(post_id) {
		
		if(Dsq.jsonData.request.is_authenticated) { return true; }
		
		var fields = Dsq.Templates.getFormFields(post_id);
		
		var nameField = fields.name;
		var websiteField = fields.website;
		var emailField = fields.email;
		
		websiteField.value = (websiteField.value == Dsq.Templates.placeholder['website']) ? '' : websiteField.value;
		
		var v = [{

			validator: Dsq.Validators.name,
			value: nameField.value
		}, {

			validator: Dsq.Validators.email,
			value: emailField.value
		}, {

			validator: Dsq.Validators.url,
			value: websiteField.value
		}];
		
		return Dsq.Validators.validate(v, function(e) { Dsq.Popup.popModal(e, 'Oops...') } );
	};
	
	this.checkExistingUser = function(post_id) {
		var fields = Dsq.Templates.getFormFields(post_id);		
		Dsq.Popup.loading(post_id);
		
		if (post_id) {
			Dsq.frames['reply_' + post_id].getUserByEmail(fields.email.value);
		} else {
			Dsq.frames['reply_0'].getUserByEmail(fields.email.value);
		}
	};

	this.validateAuth = function(el_clicked, post_id, auth_choice) {
		var fields = Dsq.Templates.getFormFields(post_id);
		var email = fields.email ? fields.email.value : '';
		var username = fields.username ? fields.username.value : '';
		var password = fields.password ? fields.password.value : '';
		
		Dsq.Templates.setLoadingButton(el_clicked, post_id);
		
		if (post_id) {
			Dsq.frames['reply_' + post_id].validateAuth(auth_choice, email, username, password);
		} else {
			Dsq.frames['reply_0'].validateAuth(auth_choice, email, username, password);
		}
	};

	this.lightboxUpdateEmail = function(post_id, new_email) {
		var fields = Dsq.Templates.getFormFields(post_id);
		fields.email.value = new_email;
	};

	this.lightboxAuthenticate = function(post_id, auth_choice, auth_data) {
		var title, body;
		var pid = post_id ? '-' + post_id : '';

		if(typeof(auth_data) == 'undefined') {
			var auth_data = Dsq.Templates.getFormFields(post_id);
		}

		d = auth_data;

		switch(auth_choice) {
			case 'register':
				var suggestedUsername = d.name.value.replace(/[^a-zA-Z0-9-]/g,'').toLowerCase();
			
				title = Dsq.jsonData.forum.allow_anon_post ? 'Optional:' : 'Required:';
				title += ' Register a <img src="http://media.disqus.com/images/embed/disqus-profile.png" alt=Disqus Profile" />';

				body = ' \
				<ul class="dsq-lightbox-register-reasons"> \
				<li>Verify your comments</li> \
				<li>Edit and delete comments</li> \
				<li>Manage comments and replies</li> \
				</ul> \
				';

				body += ' \
				<div class="dsq-lightbox-auth-fields"> \
					<table> \
						<tr> \
							<td>Email</td> \
							<td><input type="text" value="' + d.email.value + '" onchange="Dsq.Templates.lightboxUpdateEmail(' + post_id + ', this.value)" /><div id="dsq-email-errors' + pid + '"></div></td> \
						</tr> \
						<tr> \
							<td>Username</td> \
							<td><input id="dsq-field-username' + pid + '" type="text" value="' + suggestedUsername + '"/><div id="dsq-username-errors' + pid + '"></div></td> \
						</tr> \
						<tr> \
							<td>Password</td> \
							<td><input id="dsq-field-password' + pid + '" type="password" /><div id="dsq-password-errors' + pid + '"></div></td> \
						</tr> \
					</table> \
					<div class="dsq-lightbox-switch-auth"><a href="#" onclick="Dsq.Templates.lightboxAuthenticate(' + post_id + ',\'login\'); return false">Login instead</a></div> \
				</div> \
				<div id="dsq-lightbox-errors' + pid + '" class="dsq-lightbox-errors"></div> \
				<div class="dsq-lightbox-submit"> \
					<div class="dsq-lightbox-auth-post"><button class="dsq-button" onclick="Dsq.Templates.validateAuth(this, ' + post_id + ',\'' + auth_choice + '\')">Register and Post comment</button></div>'
					+ (Dsq.jsonData.forum.allow_anon_post
						? '<div class="dsq-lightbox-auth-skip"><button class="dsq-button-small" onclick="Dsq.Templates.postComment(' + post_id + ', this, true)">Just post as a Guest</button></div>'
						: '')
				+ '</div> \
				';
				break;
			case 'login':
				title = Dsq.jsonData.forum.allow_anon_post ? 'Optional:' : 'Required:';
				title += ' Login to your <img src="http://media.disqus.com/images/embed/disqus-profile.png" alt=Disqus Profile" />';
				body = '';
				
				if(d.avatar_url) {
					body += '<div class="dsq-lightbox-recognized"><table><tr>';
					body += '<td><img src="' + d.avatar_url + '" alt="" /></td>';
					body += '<td><span class="dsq-badge ' + (d.verified ? 'dsq-badge-verified' : 'dsq-badge-registered') + '">' + (d.verified ? 'Verified' : 'Registered') + '</span></td>';
					body += '<td>Hey <strong>' + d.display_name + '</strong>, is that you? Login below to claim this comment.';
					body += '</tr></table></div>';
				}

				body += ' \
				<div class="dsq-lightbox-auth-fields"> \
					<table> \
						<tr> \
							<td>Username or Email</td> \
							<td><input id="dsq-field-username' + pid + '" type="text" value="' + (d.avatar_url ? d.username : '') + '" /></td> \
						</tr> \
						<tr> \
							<td>Password <a href="http://disqus.com/forgot" target="_blank">(cannot log in?)</a></td> \
							<td><input id="dsq-field-password' + pid + '" type="password" /></td> \
						</tr> \
					</table> \
					<div class="dsq-lightbox-switch-auth"><a href="#" onclick="Dsq.Templates.lightboxAuthenticate(' + post_id + ',\'register\'); return false">Register instead</a></div> \
				</div> \
				<div id="dsq-lightbox-errors' + pid + '" class="dsq-lightbox-errors"></div> \
				<div class="dsq-lightbox-submit"> \
					<div class="dsq-lightbox-auth-post"><button class="dsq-button" onclick="Dsq.Templates.validateAuth(this, ' + post_id + ',\'' + auth_choice + '\')">Login and Post comment</button></div>'
					+ (Dsq.jsonData.forum.allow_anon_post
						? '<div class="dsq-lightbox-auth-skip"><button class="dsq-button-small" onclick="Dsq.Templates.postComment(' + post_id + ', this, true)">Just post as a Guest</button></div>'
						: '')
				+ '</div> \
				';
				break;
			default:
				break;
		}
		Dsq.Popup.lightbox(body, title, post_id);
		Dsq.$('dsq-field-username' + pid).focus();
	};
	
	this.buttonsToRestore = [];
	this.setLoadingButton = function(btn, post_id) {
		var pid = post_id ? '-' + post_id : '';
		if (btn) {

			var loadingBtn = document.createElement('button');
			loadingBtn.id = btn.id + '-loading';
			loadingBtn.innerHTML = '<img src="http://media.disqus.com/images/loading-lite.gif" alt="" /> Just a moment...';
			loadingBtn.className = btn.className + ' dsq-post-loading';
			btn.parentNode.appendChild(loadingBtn);
			btn.style.display = 'none';
			var cancelBtn = Dsq.$('dsq-cancel-button' + pid);
			if(cancelBtn) { cancelBtn.style.display = 'none'; this.buttonsToRestore.push(cancelBtn); }
			this.buttonsToRestore.push(btn);
		} else {

			var buttons = this.buttonsToRestore;
			for(var i = 0; i < buttons.length; i++) {
				buttons[i].style.display = 'inline';
				Dsq.Utils.deleteNode(Dsq.$(buttons[i].id + '-loading'));
			}
		}
		
	};

	this.postComment = function(post_id, el_clicked, force, auth_choice) {
		var append_id = post_id ? '-' + post_id : '';
		var fields = Dsq.Templates.getFormFields(post_id);

		if (Dsq.Templates.validateFields(post_id)) {

			if (!Dsq.jsonData.request.is_authenticated && !force &&
				((!Dsq.Utils.readCookie('skipped_auth') && !disqus_skip_auth && !Dsq.jsonData.forum.disqus_auth_disabled) || !Dsq.jsonData.forum.allow_anon_post)) {
				Dsq.Templates.checkExistingUser(post_id);
				return false;
			}
			var params = [];
			if (!Dsq.jsonData.request.is_authenticated) {
				params.push(fields.name.value,
					fields.email.value,
					fields.website.value);

				if (auth_choice == 'login' || auth_choice == 'register') {
					params.push({
						auth_choice: auth_choice,
						username: fields.username.value,
						password: fields.password.value,
						email: fields.email.value
					});
				} else {
					params.push(null);
				}

				params.push(null /* sharing options */, Dsq.$('dsq-subscribe-on-post' + append_id).value);
			} else {
				var service_checked = function(name) {
					var el = Dsq.$('dsq-sharing-' + name + append_id);
					return (el !== null && el.checked === true) ? '1' : '0';
				};
				params.push(null, null, null, null, {
					tw: service_checked('twitter'),
					fb: service_checked('facebook'),
					tr: service_checked('tumblr'),
					wp: service_checked('wordpress'),
					mt: service_checked('movabletype'),
					tp: service_checked('typepad'),
					yh: service_checked('yahoo')
				});
			}

			var frame = Dsq.frames['reply_' + (post_id ? post_id : 0)];
			frame.post.apply(frame, params);

			if (el_clicked) {
				Dsq.Templates.setLoadingButton(el_clicked, post_id);
			}
			
			if (force) {
				Dsq.Utils.createCookie('skipped_auth', true);	
			}
			
		} else {
			return false;
		}
	};

	this.editComment = function(el_clicked, post_id) {
		var edited_message = Dsq.$('dsq-edit-textarea-' + post_id).value;

		Dsq.Templates.setLoadingButton(el_clicked, post_id);
		Dsq.frames['edit_' + post_id].edit(post_id, edited_message);
	};

	this.toggleEdit = function(post_id) {
		var body = Dsq.$('dsq-comment-body-' + post_id);
		var message = Dsq.$('dsq-comment-message-' + post_id);

		if (!Dsq.Post.stateEditToggled[post_id]) {


			message.style.display = 'none';
			if (Dsq.$('dsq-edit-' + post_id)) {
				Dsq.$('dsq-edit-' + post_id).style.display = 'block';
			} else {

				var edit_area = document.createElement('div');
				edit_area.id = 'dsq-edit-' + post_id;
				edit_area.className = 'dsq-edit dsq-textarea';
				edit_area.innerHTML = ' \
				<div class="dsq-textarea-wrapper"> \
					<textarea class="dsq-edit-textarea" id="dsq-edit-textarea-' + post_id + '">' + message.innerHTML + '</textarea> \
				</div> \
				<div class="dsq-save-edit"> \
					<button onclick="Dsq.Templates.editComment(this, ' + post_id + ')" class="dsq-button-small">Save Edit</button> \
				</div> \
				<div id="dsq-edit-iframe-' + post_id + '" style="display: none"></div> \
				';

				body.appendChild(edit_area);

				if (!Dsq.frames['edit_' + post_id]) {
					var _meta = Dsq.jsonData.posts[post_id];
					Dsq.frames['edit_' + post_id] = new Dsq.ReplyFrame(Dsq.$('dsq-edit-iframe-' + post_id), post_id);
					Dsq.frames['edit_' + post_id].init();
					Dsq.frames['edit_' + post_id].setState(post_id, _meta.depth);
				}
			}
		} else {

			message.style.display = 'block';
			Dsq.$('dsq-edit-' + post_id).style.display = 'none';
		}
		
		Dsq.Post.stateEditToggled[post_id] = !Dsq.Post.stateEditToggled[post_id];
	};
	
	this.edit = function(el, post_id) {

		Dsq.Templates.toggleEdit(post_id);
	};

	this.toggleReply = function(post_id, button) {
		
		if(!this.stateReplyToggled[post_id]) {

			if (Dsq.$('dsq-reply-post-' + post_id)) {
				Dsq.$('dsq-append-post-' + post_id).style.display = 'block';
			} else {
				Dsq.$('dsq-append-post-' + post_id).innerHTML = Dsq.Templates.postBox(post_id);
				var container = Dsq.$('dsq-textarea-wrapper-' + post_id);
				if (!Dsq.frames['reply_' + post_id] && container) {
					var _meta = Dsq.jsonData.posts[post_id];
					Dsq.frames['reply_' + post_id] = new Dsq.ReplyFrame(container, post_id);
					Dsq.frames['reply_' + post_id].init(function() {

						Dsq.$('dsq-append-post-' + post_id).innerHTML = Dsq.Templates.postBox(post_id, true);
						Dsq.$('dsq-form-area-' + post_id).innerHTML = '';

						var theme = (typeof disqus_frame_theme == 'undefined') ? 'default' : disqus_frame_theme;
						Dsq.Iframes.showReplyIframeInContainer(Dsq.$('dsq-form-area-' + post_id), post_id, {theme: theme});

					});
					Dsq.frames['reply_' + post_id].setState(post_id, _meta.depth);
				}
			}
			Dsq.$('dsq-append-post-' + post_id).className = 'dsq-append-post';
			Dsq.$('dsq-comment-footer-reply-' + post_id).className = 'dsq-comment-footer-reply-active';
			
		} else {

			Dsq.$('dsq-append-post-' + post_id).style.display = 'none';
			Dsq.$('dsq-append-post-' + post_id).className = '';
			Dsq.$('dsq-comment-footer-reply-' + post_id).className = 'dsq-comment-footer-reply';
		}
		
		this.stateReplyToggled[post_id] = !this.stateReplyToggled[post_id];

		if(Dsq.Utils.ie && this.stateReplyToggled[post_id]) {

		}

		Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_TOGGLED, {
			postId: post_id,
			opened: this.stateReplyToggled[post_id]
		});
	};
	
	this.moderateOptions = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		
		if(!Dsq.jsonData.request.is_moderator && !Dsq.jsonData.request.is_global_moderator) { return false; }

		var html;
		
		html = ' \
		<div class="dsq-moderate-options"> \
		<table>'
		+ (_meta.email ? '<tr><td>Email</td><td>' + _meta.email + '</td></tr>' : '')
		+ (_meta.ip ? '<tr><td>IP address</td><td>' + _meta.ip + '</td></tr>' : '')
		+ '<tr> \
			<td>Actions</td> \
			<td><ul>'
			+ (Dsq.jsonData.request.moderator_can_edit
				? '<li><a href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); Dsq.Popup._closePopup(null, true); return false;">Edit Comment</a></li>'
				: '')
			+ '<li><a href="#" onclick="Dsq.Post.removePost(' + post_id + ', 1); Dsq.Popup._closePopup(null, true); return false;">Delete Comment</a></li> \
			<li><a href="#" onclick="Dsq.Post.reportSpam(' + post_id + '); Dsq.Popup._closePopup(null, true); return false;">Mark Spam</a></li> \
			<li><a href="#" onclick="Dsq.Popup.blacklist(' + post_id + '); return false">Block User</a></li> \
			</ul></td> \
			</table> \
		</div> \
		';
		
		html += '<p>Go to the full <a href="http://disqus.com/comments/moderate/" target="_blank">moderate panel</a> for more options.</p>';
		
		return Dsq.Popup.popModal(html, 'Moderate Options', post_id);
	};
	
	this.placeholder = {
		'class': 'dsq-placeholder',
		'name': Dsq.Strings.NAME,
		'email': Dsq.Strings.EMAIL,
		'website': Dsq.Strings.WEBSITE + ' (' + Dsq.Strings.OPTIONAL.toLowerCase() + ')'
	};
	
	this.handlePlaceholder = function(evt, el, key) {
		var placeholder = Dsq.Templates.placeholder[key];
		var className = Dsq.Templates.placeholder['class'];
		
		switch(evt.type) {
			case 'focus':
				if(el.value == placeholder) {
					el.value = '';
					el.className = '';
				}
				break;

			case 'blur':
				if(el.value == '') {
					el.value = placeholder;
					el.className = className;
				}
				break;
			default:
				break;
		}
	};
	
	this.paginate = function(page, el_clicked) {

		var extra_params = '';

		if(typeof disqus_per_page != 'undefined') {
			extra_params += '&per_page=' + disqus_per_page;
		}
		if(typeof disqus_sort != 'undefined') {
			extra_params += '&sort=' + disqus_sort;
		}

		Dsq.$('dsq-pagination').innerHTML += '<img src="http://media.disqus.com/images/loading-small.gif">';
		
		if(el_clicked) {
			Dsq.Templates.setLoadingButton(el_clicked);
		}
		
		Dsq.Utils.execScript('http://disqus.com/forums/venturebeat/thread.js'
			+ '?slug='	+ 'wellsphere_for_those_striving_to_be_fit_and_healthy'
			+ '&p='		+ page
			+ extra_params);
	};
	
	
	this.rate = function(el, id, vote) {


		if(Dsq.jsonData.request.is_authenticated || Dsq.jsonData.forum.allow_anon_votes) {
			if(vote == 1) {
				Dsq.$('dsq-like-' + id).innerHTML = '<img src="http://media.disqus.com/images/loading-small.gif">';
			}
			Dsq.Utils.execScript('http://disqus.com/forums/venturebeat/vote.js'
				+ '?post_id='    + id
				+ '&vote='        + vote);
		} else {
			Dsq.Popup.login('To rate, please log in');
		}
	};

	this.voted = function(post_id, points, vote) {

		Dsq.$('dsq-like-pts-' + post_id).innerHTML = points + Dsq.Utils.pluralize(points, ' person', ' people') + ' liked this.';

		if(vote) {
			Dsq.$('dsq-like-' + post_id).innerHTML = 'You liked this.&nbsp;&nbsp;';
		}
	};




	this.postComment_onSuccess = function(response, parent_post_id, post_id) {
		var approved = response.message.post_meta.approved;

		if (parent_post_id) {
			Dsq.Post.toggleReply(parent_post_id);
		}

		Dsq.Popup._closePopup(null, true);
		
		if (approved) {
			Dsq.Post.incrementPostCount();
			Dsq.Post.outlineComment(post_id);
		} else {			
			var unapproved_msg = 'Thanks for posting!\
	 Your comment must be approved by a moderator before appearing here.\
			';
			Dsq.Popup.popModal(unapproved_msg, 'Comment awaiting approval', post_id);
		}

		var sharing_results = response.message.sharing_results;
		var sharing_errors = '';
		for (var service in sharing_results) {
			if (sharing_results.hasOwnProperty(service) === true) {
				if (sharing_results[service].error === true) {
					sharing_errors += service + ', ';
				}
			}
		}

		if (sharing_results.facebook && sharing_results.facebook.callback) {
			FB.ensureInit(function() {
				FB.Connect.streamPublish('', sharing_results.facebook.attachment);
			});
		}

		if (sharing_errors !== '') {
			var message = 'Your comment was posted, but there were errors sharing with the following connections: ';
			message += sharing_errors.replace(/,\s$/, '');
			message += '<p><a href="' + Dsq.jsonData.settings.disqus_url + '/profile/connections" target="_blank">Configure your connections here</a></p>'
			Dsq.Popup.popModal(message, 'Sharing options');
		}

		Dsq.Templates.setLoadingButton(false);
	};

	this.postComment_onFailure = function(response, parent_post_id, post_id) {

		Dsq.Templates.setLoadingButton(false);
	};
};




// TODO: It might be faster to use string methods to find all <li (...) </li> blocks and pass to Dsq.PostHandler manually.
Dsq.CommentsHandler = function(str, head, post_id, content, tail, offset, s) {
	var prepend_post = Dsq.Templates.prependPost(post_id);
	var append_post = Dsq.Templates.appendPost(post_id);

	content = content.replace(Dsq.POST_RE, Dsq.PostHandler);
	Dsq.Templates.postLoopCounter++;
	head = Dsq.Templates.Filters.commentContainer(post_id, head);
	return prepend_post + head + content + tail + append_post;
};

Dsq.PostHandler = function(str, h_head, post_id, h_content, h_tail, b_head, b_content, b_tail, offset, s) {
	var prepend_header = Dsq.Templates.postPrependHeader(post_id);
	var append_header = Dsq.Templates.postAppendHeader(post_id);
	var prepend_body = Dsq.Templates.preBody(post_id);
	var append_body = Dsq.Templates.postBody(post_id);
	var append_footer = Dsq.Templates.postFooter(post_id);

	b_content = b_content.replace(Dsq.POST_BODY_RE, Dsq.PostBodyHandler);
	return h_head + prepend_header + h_content + append_header + h_tail + b_head + prepend_body + b_content + append_body + b_tail + append_footer;
};

Dsq.PostBodyHandler = function(str, head, post_id, content, tail, offset, s) {
	content = Dsq.Templates.Filters.commentContent(post_id, content);
	return head + content + tail;
};

Dsq.MediaPostHandler = function(str, args, offset, s) {
	args = args.split(' ');
	if(args[0] == 'seesmic') {
		return '<br />' + Dsq.Templates.mediaSeesmic(args[1], args[2]);
	}
	return '';
};


/**
 * Shorcuts
 */
Dsq.$ = function(element) { return document.getElementById(element); };
Dsq.$b = document.body || document.getElementsByTagName('body')[0];


/**
 * Dsq.Debug: Logging functions.
 */

Dsq.Debug = new function() {this.log=function(s){};this.profile=function(f){if(typeof f == 'function')return f();else return eval(f);};};


/**
 * Dsq.Urls: URL paths
 */
Dsq.Urls = new function() {
	this.LOGIN = '/profile/login/';
	this.LOGOUT = '/logout/';
	this.REPLY = 'http://disqus.com/forums/venturebeat/wellsphere_for_those_striving_to_be_fit_and_healthy/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/venturebeat/_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">48</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://disqus.com/forums/venturebeat/wellsphere_for_those_striving_to_be_fit_and_healthy/latest.rss"><img src="http://media.disqus.com/images/embed/bullet-feed.png"></a>\
	 </span>\
	 </h3>\
	 <div id="dsq-options" style="margin:15px 0">\
	 <span class="dsq-item-sort">\
	 Sort by\
	 <select id="dsq-sort-select" onchange="Dsq.Thread.sortBy(this.value);">\
	 <option value="hot" selected="selected">Popular now</option>\
	 <option value="best" >Best Rating</option>\
	 <option value="newest" >Newest first</option>\
	 <option value="oldest" >Oldest first</option>\
	 </select>\
	 &nbsp;\
	 </span>\
	 <span class="dsq-item-cp"><a href="http://disqus.com/forums/venturebeat/wellsphere_for_those_striving_to_be_fit_and_healthy/">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>\
		';

		

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

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

		
			html += Dsq.Templates.authPost();
		

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		

		return html;
	};

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

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

		if (Dsq.jsonData.thread.num_pages > 1 && Dsq.jsonData.request.page < Dsq.jsonData.thread.num_pages) {
			html = ' \<a class="dsq-paginate-append-text" href="#" onclick="Dsq.Thread.paginate(Dsq.jsonData.request.page + 1, this); return false">Show more comments...</a>\
	 <button 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/venturebeat/wellsphere_for_those_striving_to_be_fit_and_healthy/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 VentureBeat" 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:21802182" onclick="Dsq.Popup.login(); return false">Login</a> \
								 \
									&nbsp;or&nbsp; \
									<img class="fb_login_image" src="http://static.ak.fbcdn.net/images/fbconnect/login-buttons/connect_light_small_short.gif" alt="Facebook Connect"/> \
									<a href="#" onclick="FB.Connect.requireSession(DisqusFbcParentController.onLogin); return false;">Connect</a> \
								 \
								&nbsp;or&nbsp; \
									<img src="http://media.disqus.com/images/twitter-signin-icon.png" alt="" /> \
									<a href="#" onclick="Dsq.Twitter.startTwitterConnect(); return false">Sign-in</a> \
								 \
								 \
							 \
						</div> \
					</div> \
					<div id="dsq-reply-' + post_id + '"></div> \
			</div> \
		';
	};

	//
	// Iframes
	//

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

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

		var default_params = {
			// TODO: These should be moved to Dsq.jsonData.
			'f'				: 'venturebeat',
			't'				: 'wellsphere_for_those_striving_to_be_fit_and_healthy',
			// 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/venturebeat/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/venturebeat/wellsphere_for_those_striving_to_be_fit_and_healthy/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/venturebeat/thread.js'
			+ '?slug='	+ 'wellsphere_for_those_striving_to_be_fit_and_healthy'
			+ '&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/venturebeat/thread.js'
			+ '?slug='	+ 'wellsphere_for_those_striving_to_be_fit_and_healthy'
			+ '&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/venturebeat/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'wellsphere_for_those_striving_to_be_fit_and_healthy'
				+ '&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/venturebeat/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/21802182/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/venturebeat/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/venturebeat/queueurl.js');
	};
};

Dsq.CNN = function() {
	var obj = {};

	obj.authenticate = function() {
		var url = Dsq.jsonData.settings.disqus_url + "/saml/cnn/try/";
		Dsq.Utils.postToUrl(url, {'target': document.location}, true);
	};

	return obj;
}();


if(Dsq.Utils.ie6) {
	(function() {
		DSQ_HEADER_AVATAR_RE = /<div class="dsq-header-avatar"(.*?)>/gim;
		Dsq.Templates.registerFilter('postPrependHeader', function(html, post_id) {
			// Add "onmouseout" for dsq-header-avatar for dropProfile
			// functionality since IE6 cannot use :hover.
			function _headerAvatarReplace(content, inner, _unused, html) {
				return '<div class="dsq-header-avatar" '
					+ inner
					+ ' onmouseout="Dsq.Post.dropProfile(' + post_id + ')">';
			}
			html = html.replace(DSQ_HEADER_AVATAR_RE, _headerAvatarReplace);
			return html;
		});
	})();
}





	// TODO: Move Seesmic code outside of the main script.  Don't let this script clobber the global namespace.
	if(typeof seesmic == 'undefined') { var seesmic = {}; }
	seesmic.widget = new function () {
		this.callback = function (data) {
			playerVersion = data.disqusplayer;
		};
	};

	
	var scriptEl = document.createElement('script');
	scriptEl.setAttribute('type', 'text/javascript');
	scriptEl.setAttribute('src', 'http://seesmic.com/version.js?callback=seesmic.widget.callback');
	document.getElementsByTagName('head')[0].appendChild(scriptEl);

	
	var scriptEl = document.createElement('script');
	scriptEl.setAttribute('type', 'text/javascript');
	scriptEl.setAttribute('src', 'http://media.disqus.com/javascript/library/swfobject.js');
	document.getElementsByTagName('head')[0].appendChild(scriptEl);

	function see_play_video(_videoUri, _add) {
		var swf = !!playerVersion ? playerVersion : 'http://seesmic.com/embeds/StandalonePlayer.swf';

		flashcontentDiv = Dsq.$(_videoUri + '_content');
		previewDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_preview');
		hideDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_hide');
		showDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_show');
		if(_add) {
			// push flash widget
			var so = new SWFObject(swf, 'sotester', '300', '270', '9', '#000000');
			so.addVariable('video', _videoUri);
			so.addParam('allowFullScreen', 'true');
			so.addParam('allowScriptAccess','always');
			so.useExpressInstall('swfobject/expressinstall.swf');
			so.write(_videoUri + '_content');

			previewDiv.style.display = 'none';
			hideDiv.style.display = 'block';
			showDiv.style.display = 'none';
		}
		else {
			flashcontentDiv.innerHTML = '';
			previewDiv.style.display = 'block';
			hideDiv.style.display = 'none';
			showDiv.style.display = 'block';
		}
	};





(function() {
	//
	// Load theme.  This overrides the base templates with template functions
	// from the respective themes.
	//
	if (Dsq.jsonData.integration.theme == 4) {
		var theme = 'narcissus';
		// HACK: Set variable on window to use post message.
		window.disqus_use_postmessage = true;

		
		for(var prop in Dsq.Themes[theme]) {
			if(Dsq.Themes[theme] && Dsq.Themes[theme].hasOwnProperty(prop)) {
				Dsq.Templates[prop] = Dsq.Themes[theme][prop];
			}
		}
		
		for(var prop in Dsq.Post) {
			if(Dsq.Themes[theme] && Dsq.Themes[theme].hasOwnProperty(prop)) {
				Dsq.Post[prop] = Dsq.Themes[theme][prop];
			}
		}
	}

	//
	// Register templates.  This must be done after all themes are loaded.
	//
	Dsq.Templates.registerTemplate('authPost', Dsq.Templates.authPost);
	Dsq.Templates.registerTemplate('header', Dsq.Templates.header);
	Dsq.Templates.registerTemplate('footer', Dsq.Templates.footer);
	Dsq.Templates.registerTemplate('trackbacks', Dsq.Templates.trackbacks);
	Dsq.Templates.registerTemplate('reactions', Dsq.Templates.reactions);
	Dsq.Templates.registerTemplate('prependPost', Dsq.Templates.prependPost);
	Dsq.Templates.registerTemplate('appendPost', Dsq.Templates.appendPost);
	Dsq.Templates.registerTemplate('postPrependHeader', Dsq.Templates.postPrependHeader);
	Dsq.Templates.registerTemplate('postAppendHeader', Dsq.Templates.postAppendHeader);
	Dsq.Templates.registerTemplate('preBody', Dsq.Templates.preBody);
	Dsq.Templates.registerTemplate('postBody', Dsq.Templates.postBody);
	Dsq.Templates.registerTemplate('postFooter', Dsq.Templates.postFooter);
	Dsq.Templates.registerTemplate('_popupGeneric', Dsq.Templates._popupGeneric);
	Dsq.Templates.registerTemplate('voted', Dsq.Templates.voted);
	Dsq.Templates.registerTemplate('popupProfile', Dsq.Templates.popupProfile);
	Dsq.Templates.registerTemplate('postBox', Dsq.Templates.postBox);
	Dsq.Templates.registerTemplate('pagination', Dsq.Templates.pagination);
	Dsq.Templates.registerTemplate('postComment_onSuccess', Dsq.Templates.postComment_onSuccess);

})();

Dsq.container.className = "clearfix";
Dsq.container.innerHTML = ' \
<ul id="dsq-comments">\
	 <li id="dsq-comment-14672258">\
	 <div id="dsq-comment-header-14672258" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672258" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672258">dk</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672258" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672258" class="dsq-comment-message">i do like the idea of putting my goals out there and hoping others can help me stick to em...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672259">\
	 <div id="dsq-comment-header-14672259" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672259" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672259">Andrew Kin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672259" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672259" class="dsq-comment-message">Can\'t wait until this site launches... I can already see all the possibilities.  My friend is about to start a triathlon.. another friend is on a campaign to cut out starches and sodium (and get a personal trainer).  And this non-fat yogurt shop (pinkberry) is popping up all over LA -- people are going nuts about it.  where better to find out than this site?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672261">\
	 <div id="dsq-comment-header-14672261" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672261" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672261" href="http://www.wellsphere.com/" target="_blank" rel="nofollow">Sean</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672261" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672261" class="dsq-comment-message">Iâ€™m also excited about the launch of Wellsphere. Iâ€™m a member of other sites such as Match, Friendster, and MySpace, but have difficulty finding health and wellness enthusiasts like myself. Iâ€™m training for a triathlon and am looking forward to using Wellsphere to find training partners as well as get advice on my training regimen and diet.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672262">\
	 <div id="dsq-comment-header-14672262" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672262" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672262">Katie</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672262" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672262" class="dsq-comment-message">Wellsphere is a great idea! Iâ€™m excited to play around with this more to connect with people who share my love of a healthy and active lifestyle to exchange information. Wellsphere has a fun brand that I think people will gravitate towards.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672263">\
	 <div id="dsq-comment-header-14672263" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672263" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672263" href="http://www.uship.com/" target="_blank" rel="nofollow">Howard</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672263" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672263" class="dsq-comment-message">the url in the link in the title is wrong.  just letting you know</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672264">\
	 <div id="dsq-comment-header-14672264" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672264" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672264">Heather</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672264" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672264" class="dsq-comment-message">I\'m training for a marathon and can\'t wait to connect with people who are training as well.  I\'ve been hoping to find running partners and get to know people who think the way that I do about fitness and their athletic and health goals.  Wellsphere is going to be the most important tool in my training.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672265">\
	 <div id="dsq-comment-header-14672265" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672265" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672265">Jules</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672265" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672265" class="dsq-comment-message">an apropos time to launch...could really help me stick to those healthy resolutions.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672266">\
	 <div id="dsq-comment-header-14672266" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672266" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672266" href="http://venturebeat.com/" target="_blank" rel="nofollow">Matt Marshall</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672266" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672266" class="dsq-comment-message">Ugh, thanks Howard. I\'ve corrected URL.<br><br>Matt</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672267">\
	 <div id="dsq-comment-header-14672267" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672267" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672267">Solomon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672267" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672267" class="dsq-comment-message">Jeez.  Wellsphere obviously posted the same happy comments here that they did on Techcrunch.  What bad blog behavior. Transparency, people.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672268">\
	 <div id="dsq-comment-header-14672268" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672268" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672268">Flashlight</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672268" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672268" class="dsq-comment-message">You\'re right on solomon.  They could at least try to post different comments.  That\'s pretty pathetic.  I was going to check out the site, but common now ... it\'s all a fake PR play.  This is NOT how genuine, sustainable communities involve.  Makes you wonder about the integrity of the company.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672269">\
	 <div id="dsq-comment-header-14672269" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672269" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672269">MSG</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672269" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672269" class="dsq-comment-message">Is it just me, or are these new Web 2.0 ideas just getting old, or variations of each other.  I haven\'t seen an exciting idea since Google started indexing the US patent database, or YouTube.  I have a better idea, a completely new idea, that fits a niche market, and is radical that it\'s one of the few websites that integrates with a real life device.  Any VC\'s want to hear my idea, let me know.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672270">\
	 <div id="dsq-comment-header-14672270" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672270" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672270" href="http://www.wellsphere.com/" target="_blank" rel="nofollow">Greg Barstow</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672270" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672270" class="dsq-comment-message">Ok... who are these comments from? Let\'s guess:<br>DK: Dave Kashen, CFO of Wellsphere<br>KATIE: Katie is a dog that comes into wellnet. Owned by Geoff Rutledge<br>The others are probably their consultants.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672271">\
	 <div id="dsq-comment-header-14672271" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672271" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672271">Ugh</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672271" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672271" class="dsq-comment-message">People the site is terrible. It is not original. Booze and wellness? Nothing but expensive poor taste. These guys are nothing but PR and hype. They were seeded for a party and a bad site. Is this for real?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672272">\
	 <div id="dsq-comment-header-14672272" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672272" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672272">wellnot</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672272" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672272" class="dsq-comment-message">these are minor league rookie maneuvers that shed some light on how clueless they are.  this is a joke, did they really think we couldn\'t tell that they posted all the positive comments and did so on techcrunch and gigaom as well?  \'they\' being wellsphere employees.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672273">\
	 <div id="dsq-comment-header-14672273" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672273" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672273" href="http://www.wellsphere.com/" target="_blank" rel="nofollow">Ben Aloena</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672273" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672273" class="dsq-comment-message">Where are these screen grabs from? They aren\'t from the site. Is this article a plant?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672274">\
	 <div id="dsq-comment-header-14672274" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672274" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672274" href="http://venturebeat.com/" target="_blank" rel="nofollow">Matt Marshall</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672274" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672274" class="dsq-comment-message">Ben, these screen grabs are from the site. What makes you think otherwise?<br><br>For the first one, check out "local resources" tab. That was my point. There\'s a lot going on here, but it\'s tricky to navigate without hitting all the tabs...<br><br>Nah, not a plant.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672275">\
	 <div id="dsq-comment-header-14672275" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672275" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672275">Kate Berkeley</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672275" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672275" class="dsq-comment-message">Well, I\'m not an employee or consultant.  I am an active person in the Bay Area and like the idea of a wellness community.  For example, I recently hurt my shoulder and am in desperate need of a good referral.  I already got one through the Wellsphere community.  I also like to swim in aquatic park and could use some people to go with (more motivating, less dangerous).  This site is a great resource for that.  Sure, the site is a bit limited right now, but what do you expect?  They launched Saturday and the idea is a wellness community so the community is in the process of building up.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672276">\
	 <div id="dsq-comment-header-14672276" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672276" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672276">Ugh</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672276" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672276" class="dsq-comment-message">You got a doctor referral for a hurt shoulder through the web site- hahahaha! And, you had no friends to swim with and had no idea where to find a pool without the site- in the bay area? Okay, I give, maybe the pathetically clueless and socially hopeless could use the site. Still not enough of a thrill.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672277">\
	 <div id="dsq-comment-header-14672277" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672277" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672277">Hank</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672277" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672277" class="dsq-comment-message">Too many bugs and no cool features.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672278">\
	 <div id="dsq-comment-header-14672278" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672278" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672278" href="http://www.wellsphere.com/" target="_blank" rel="nofollow">knock knock</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672278" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672278" class="dsq-comment-message">What a joke of a website... 2.0 wannabe all the way.  I\'m all for social networks and reviews by the masses, but I\'m not too sure the site will inspire people to care enough about it.  It\'s currently a nightmare.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672279">\
	 <div id="dsq-comment-header-14672279" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672279" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672279" href="http://www.wellsphere.com/" target="_blank" rel="nofollow">Jack LaLanne</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672279" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672279" class="dsq-comment-message">good idea, but it\'s too bad they have not been able to hire a tech team. I\'m guessing it was outsourced to some second rate Bangalore chop shop.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672280">\
	 <div id="dsq-comment-header-14672280" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672280" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672280">Ann Rad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672280" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672280" class="dsq-comment-message">you can read the real story in GigaOM comments</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672281">\
	 <div id="dsq-comment-header-14672281" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672281" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672281">Geoff</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672281" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672281" class="dsq-comment-message">I think the site makes a lot of sense...unfortunately I live in New York and it looks like the Bay Area will be targeted initially. Maybe you guys are spoiled by knowing a million people who do active/healthy stuff, but my friends\' idea of a triathalon involves Jim, Jack and Jose.  The one time I tried hiking out here (through Outward Bound), I ended up on a nature walk thru Harriman State Park. Hopefully this thing gets off the ground and makes it east ASAP.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672282">\
	 <div id="dsq-comment-header-14672282" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672282" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672282">how clueless can you be?</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672282" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672282" class="dsq-comment-message">Are you another one of their shills, Geoff?  You can\'t be serious.  My friends all around NY are plenty active and have no trouble at all finding stuff to do.  Sounds like you may have issues that no website out there can help you with.  Ever hear of the NY Marathon?  Tell me again how difficult it is to find someone to train with.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672283">\
	 <div id="dsq-comment-header-14672283" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672283" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672283" href="http://www.woofwoof.com/" target="_blank" rel="nofollow">Katie</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672283" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672283" class="dsq-comment-message">Free me! My owner is a doofus!<br>woof woof WOOF! woof!<br>Free me! My owner is a doofus!<br>woof woof! bark! snuffle snuffle<br>WOOF! Whimper...<br><br>FREE KATIE!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672284">\
	 <div id="dsq-comment-header-14672284" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672284" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672284">web guru</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672284" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672284" class="dsq-comment-message">Not impressed at all. This site is a joke, right? Please tell me a group of Stanford grads did not create this...my 5 year old son could do a better job creating something after an introductory coding class.<br><br>By the way everyone -please try googling "Ron Gutman". Can\'t find anything interesting? Weird since I thought this guy was a serial entrepreneur...more like a serial liar.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672285">\
	 <div id="dsq-comment-header-14672285" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672285" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672285">Sam Milas</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672285" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672285" class="dsq-comment-message">Jack Lalanne -please dont equate the work of Wellsphere to a "second rate Bangalore chop shop". What a horrible insult for those people in Bangalore! <br><br>By the way, there are so many anti Ron Gutman and Dave Kashen comments on this site, TechCrunch and GigaOm! This guy must seriously be a ridiculous character to garner so much negative attention from everyone. I guess it\'s safe to assume we haven\'t stumbled upon the next Larry Page and Sergey Brin.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672286">\
	 <div id="dsq-comment-header-14672286" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672286" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672286" href="http://venturebeat.com/" target="_blank" rel="nofollow">Matt Marshall</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672286" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672286" class="dsq-comment-message">Guys, there are a lot of negative comments here, and this appears to be a vendetta of sorts. Comments like "serial liar" make me uncomfortable,  especially when not backed up with facts.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672287">\
	 <div id="dsq-comment-header-14672287" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672287" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672287">Flashlight</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672287" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672287" class="dsq-comment-message">Matt I\'m sorry if you\'re uncomfortable, but when there are lots of people out there flaming someone, there\'s usually a pretty good reason for it.  How many people/organizations are widely disliked and yet are not deserving of some of the criticism?  Listing the "facts" in a forum would be inefficient and, frankly, painfully boring.  I don\'t know these guys, but I think the posts are funny and telling.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672288">\
	 <div id="dsq-comment-header-14672288" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672288" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672288">Jon Herman</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672288" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672288" class="dsq-comment-message">To all of those that are posting the personal attacks on the founders of this company, I encourage you to take your issues up with them directly, rather than using this forum to sling mud at them. This blog is used to support the startup community, not slander and childish rumors. Let\'s keep it\'s credibility by being constructive and supportive, so we can improve that state of things.<br><br>I quit Wellsphere today after working there for a month. It was the hardest I\'ve worked in my entire life and I am totally crushed that the site was released so early. In my opinion, it was too early to release and we pushed the product out the door.<br><br>Sure, this is Ron and Dave\'s first web startup, but that doesn\'t mean they\'re completely incompetent. They made some mistakes. It happens. Startups are hard work, as most of us acknowledge, and part the reason many of us love being in startups is the learning experience involved. <br><br>Wellsphere\'s plan is to get user feedback on the site from users and improve. They have a long way to go, but they are definitely motivated to do it. <br><br>In my opinion, I saw these things from the inside:<br><br>1) There was not a core group of in-house engineers working full-time on the product from beginning to end. There was a lot of turn over, which made it hard to keep consistent progress and polish the features.<br><br>2) There was a very unrealistic expectation about when the site would be ready. Rather than determining how long engineering would need to produce the product, it seemed that a date was picked and we went forward with it, regardless of the state of progress.<br><br>3) Part of the reason a bad deadline was picked, was because the requirements were not flushed out for engineering to determine how long it would take. So, during development, core concepts about about the site\'s functionality changed several times.<br><br>4) A UI person was not hired to help ensure the site was usable.<br><br>The team of people that worked on this site gave it all they had. We came a long way in a very short time. It just wasn\'t enough time, and the requirements were not defined.<br><br>It seems that there are a lot of disgruntled ex-employees commenting here. Now that I am an ex-employee, I can say that Ron and Dave were good to me. Yes, they expected a lot from me, and yes, there were times when I felt like I was being pushed too far, but they were good to me.  I\'m not sure what happened with the other employees, but I know how I was treated and I know it was good.<br><br>Finally, I want to make it clear that I chose to make this post, and no one else asked me to do it. I just felt compelled to share my view since there was so much negativity here.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672289">\
	 <div id="dsq-comment-header-14672289" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672289" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672289" href="http://www.wellnet.com/" target="_blank" rel="nofollow">Former Employee</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672289" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672289" class="dsq-comment-message">Jon, I know who you are. I know what youâ€™ve been through. Sadly, you donâ€™t. Not trying to sound arrogant here, but you were used by Rave. You were underpaid. You were lied to about deadlines. You were given unreasonable expectations. How do I know this? I went through the same thing. I was there for many many many months.<br><br>These founders are deserving of personal attacks. You wouldnâ€™t _believe_ the shit they pulled on people. Lying about them being fired. Forging documents to Administaff about firing/resignation. Putting the wrong dates on forms (always in their favorâ€¦ I know of at least 3 instances of this). Changing contracts on file (I have first-hand knowledge of at least 2 instances of this). They are completely unscrupulous. Check the date on your forms. Trust me.<br><br>As for taking this up with them directly, believe me, I tried. I tried for many months. I tried until I was blue in the face. Ron and Dave are in complete denial. Ask them about the input they solicited from the employees. It covered this with them honestly and directly. They chose to ignore it. They have their heads in the sand. Ron Gutman is a sociopath. Donâ€™t believe it? Read this and tell me if it isnâ€™t him 100%. ( <a href="http://www.exit...rtcls/socio.htm" rel="nofollow">http://www.exit...rtcls/socio.htm</a> ). We canâ€™t figure Dave out. Seems like he was once his own man, but his free will has been subsumed by Ron.<br><br>We tried. It was hopeless. Their MO is to get new faces in the door and try the same old shit again, make another 2 months of progess, every one quits, then they try again. Ron will tell you people are too negative. The fact is he drives people insane.<br><br>It was definitely to early to release that product. It was ridiculous from the beginning. Do you even know what they were doing 3 months ago? Something completely different. Not even a consumer based app. They chase whatever idea fancies them today.<br><br>Ronâ€™s first startup? Come on. Surely heâ€™s regaled you with tales of how heâ€™s started 7 or 8 companies, all but one successfully. Where are they? What are their names? Where are the hordes of good people who helped him and still want to work with and for him? Heâ€™s a liar. He has no clue how to manage people. If he did, they wouldnâ€™t have had 30 people (REALLY, ITS TRUE) in and out of the door in calendar year 2006. Heâ€™s just batty.<br><br>Iâ€™ve worked for countless startups. Wellsphere is the most bumbling brew of incompetence and disaster Iâ€™ve ever seen. They are rookies among rookies. Their only saving grace is that they do somehow manage to attract fabulous employees, which pulls them along for some time. But they inevitably leave when they realize how moronic the people steering the ship are. I know at least 8 of these people. We still talk. We will probably be friends and colleagues for years to come. We spend most of our time laughing about our experiences at Hellsphere.<br><br>There was a core group of engineers. Really good ones. Stanford. MIT, etc. They got fed up and quit. Found work the next day. Why waste your time? There were no features to polish. Ron couldnâ€™t keep the ship pointed in the same direction for more than four weeks at a time. How can you be successful in that environment?<br><br>Unrealistic expectations? Hello! Hi there! Iâ€™m Ron. This is my friend Dave. We want you to build this in four weeks. You agreed to this deadline. It has to be done by then because thatâ€™s when we have to launch. Bugger if itâ€™s not possible. We can do it if we believe. Have some of this magical fairy dust!<br><br>The requirements werenâ€™t flushed out because they never point at the same goal long enough to develop a sense of what they are building.<br><br>Theyâ€™ve had several good UI people. They quit too. Some in tears at how awful Ron and Dave are. They were truly heartless. Who makes their employees cry? Seriously now? Who? More people throw shoes!<br><br>I commend the team that stuck it out. I met them once. They seemed like solid guys. If only we could have warned them what they were getting into. We tried. There was no way they could know. We are just disgruntled employees. Maybe now through this shared experience we can come to understand one another.<br><br>Jon, Iâ€™ve heard youâ€™re good at what you do. Weâ€™re going to look you up. Sorry you got dragged across the country for this, but donâ€™t worry. There are tons of brilliant, smart people to work with in this townâ€¦ you just got drafted by the wrong team.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672290">\
	 <div id="dsq-comment-header-14672290" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672290" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672290" href="http://www.wellsphere.com/" target="_blank" rel="nofollow">Little Yaron Gutman</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672290" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672290" class="dsq-comment-message">Good People, unite!<br>I truly believe that all people in this world are fundamentally good.<br>Thankfully, many people choose to take their good energy and direct it<br>to ward helping other people live a better life. They devote their<br>time, energy and resources to improve other peoplesâ€™ lives in some<br>way.<br><br>Directing our and othersâ€™ energy toward doing good (rather than<br>channeling it in negative, destructive or unpleasant ways) is<br>something that the Wellsphere team is highly committed to. We<br>encourage anyone who feels frustrated, sad, disenchanted, confused,<br>gloomy or depressed to try this: help someone else be healthier and<br>happier. Though it sounds counterintuitive to help others just at the<br>time when you want to focus on yourself, when you help others, it<br>actually makes YOU feel better. Plus, all the warm, positive regard<br>your receive from the people you help (like all the wonderful e-mails<br>weâ€™ve been getting from community members, thanking us and encouraging<br>us to continue doing what weâ€™re doing), will help to convert any bad<br>energy you may have accumulated to good energy that will make YOU a<br>happier individual.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672291">\
	 <div id="dsq-comment-header-14672291" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672291" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672291">Big Yaron Gutman</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672291" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672291" class="dsq-comment-message">Wow Ron -thatâ€™s amazing insight. Iâ€™m moved to tears with your words. You are a serious genius. Iâ€™m so glad you are so warm, positive, and HONEST. That must be why everyone loves you and all the people who have worked with you praise you so highly. Keep up the good work!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672292">\
	 <div id="dsq-comment-header-14672292" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672292" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672292">Miss Gutman</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672292" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672292" class="dsq-comment-message">Ron, <br><br>You spread so much goodwill and happiness that there are dozens of people who could have written the personal attacks that have been posted across multiple sites.  I have not seen any proof that you ever produced a happy employee (from your previous 8 businesses).  It seems impossible that such a person could exist.  <br><br>You are a hypocrite.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672293">\
	 <div id="dsq-comment-header-14672293" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672293" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672293">Another former employee</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672293" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672293" class="dsq-comment-message">You know, if you keep saying something it makes it true -- even if your actions are completely orthogonal to your statements.  <br><br>For those of you reading this to whom Mr. Gutman has spoken, proclaiming his innocence, I suspect he has told you that he\'s "sick about it" and quoted "spirals of negativity" and other dribble.   He\'ll pretend that he has personal insight by proclaiming that he made bad hiring decisions.  You\'ll listen to him and empathize.  His friend Dave will do the same and talk about how personally hurt they are.  Once they have done all of that, please know that you\'re being played.  All of the employees they have upset are upset because of personal actions:  they lied and manipulated talented, trusting, and knowledgable people.  <br><br>Incompetence is forgivable.  This is not about poor business acumen or a lack of understanding about tech start ups.  This is about pathologic behavior that has negative and lasting effects on the lives of well-intentioned people.  <br><br>Employees and people who have inside knowledge who have posted here are doing so to warn others.  Prior to now, if you would search Ron/Yaron Gutman your search would derive little to nothing (even though he has started 4/6/8 companies -- which number you hear depends on which version of the truth he is on).  Now when he drops the credible names of luminaries like Mark Leslie, Eric Benhammoud, Woodrow Myers, etc. you won\'t be walking in the dark like we were. <br><br>Enough said, and consider yourself warned.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672294">\
	 <div id="dsq-comment-header-14672294" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672294" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672294">For warned thankfully</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672294" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672294" class="dsq-comment-message">I was going to go to explore the possibility of working at Wellsphere...thankfully I read this blog first!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672295">\
	 <div id="dsq-comment-header-14672295" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672295" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672295">thank you</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672295" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672295" class="dsq-comment-message">Yes- thank you for the information as well. I too was looking into wellsphere as a potential job possibility, but now I dont think I will waste my time. If this many past employees have bad things to say about the management, then it\'s probably not a good idea to get involved.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672296">\
	 <div id="dsq-comment-header-14672296" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672296" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672296" href="http://www.wellsphere.com/" target="_blank" rel="nofollow">StumbleBum</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672296" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672296" class="dsq-comment-message">Ron, I retract every good thing I ever said about you.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672297">\
	 <div id="dsq-comment-header-14672297" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672297" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672297">Miss Gutman</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672297" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672297" class="dsq-comment-message">If you take a look at the facts - an unprofessional, bug ridden site, unbelievable amounts of turnover, an army of disgruntled former employees, little about Ron\'s previous managerial experience, and so on - it\'s clear that there is something very wrong at Wellsphere.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672298">\
	 <div id="dsq-comment-header-14672298" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672298" class="dsq-comment-cite">\
	 <span id="dsq-author-user-14672298">Kept</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672298" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672298" class="dsq-comment-message">NOTE!!<br>These guys Ron, Dave, and Geoff took another step and now as they probably started to run out of money they simply fraud vendors to work and reduce the amounts dramaticaly post factum. If you don\'t sign a waiving letter and agree to compromise they threat they won\'t pay at all. Please write email ASAP to <a href="mailto:law222@hotmail.com" rel="nofollow">law222@hotmail.com</a> if you suffer or suffered from them. A law suit is about to be filed in the next few days.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672299">\
	 <div id="dsq-comment-header-14672299" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672299" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672299" href="http://www.uncov.com/2007/7/30/wellsphere-a-tale-from-the-trenches" target="_blank" rel="nofollow">Another lawsuit ....</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672299" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672299" class="dsq-comment-message">Hi, Good to see were in the same area )...<br> There is another Lawsuit against Wellsphere, It appears They are using Code that was deliberately not payed, so they have a copyright isuue. There is also some publications &amp; interviews going on in some major newspapers and sites. If you have anything to say or If you worked in Wellsphere in the past please mail us @ <a href="mailto:lawsuit.wellsphere@gmail.com" rel="nofollow">lawsuit.wellsphere@gmail.com</a> ... Stay tuned )...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672300">\
	 <div id="dsq-comment-header-14672300" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672300" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672300" href="http://www.wellsphere.com/" target="_blank" rel="nofollow">The Wellsphere Team</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672300" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672300" class="dsq-comment-message">We felt compelled to add our comment here because we were personally and professionally hurt by what was written in some of these comments, and we thought this would be a good opportunity to describe openly and honestly who we really are and what our company is really all about, and invite you to (please!) contact us if you have any questions. <br><br>All of us at Wellsphere share a deep commitment to our mission of helping people live healthier, happier lives.  We are a group of positive, hardworking, caring people who very much enjoy each other’s company, and are dedicated to helping one another and to achieving our goals.  Our ‘WellSpace’ in San Mateo is a bright, energetic, fun environment (we even have a small exercise room and beautiful views of the green hills and the Bay!).  We recently launched our Beta site based on substantial research and feedback from our alpha community.  We implemented a scalable technology that is designed to support our growing community.  We are delighted to watch our members help and support each other everyday in their quests for well-being.  We are very proud of the progress we’ve made and the growth of our community, though we know there is much more to do. We think our site speaks for itself, and invite you to visit us at <a href="http://www.wellsphere.com" rel="nofollow">http://www.wellsphere.com</a>.<br><br>We are committed to continuing to improve Wellsphere everyday and we enjoy responding to the feedback from our community.  We greatly appreciate all constructive advice about how we can improve the site and our users’ experience.  Please feel free to share your thoughts (or hate mail if you must :-) ) with us at <a href="mailto:wecare@wellsphere.com" rel="nofollow">wecare@wellsphere.com</a>.  If you would like to learn more about our company, our mission, and our values firsthand, please reach out to any of us directly. You can reach us by phone at (650) 345-2100, or by email at the addresses below. <br><br>Our core team (alphabetical by last name):<br><br>Kathleen Donahue<br><a href="mailto:kathleen.donahue@wellsphere.com" rel="nofollow">kathleen.donahue@wellsphere.com</a><br><br>Ron Gutman<br><a href="mailto:ron.gutman@wellsphere.com" rel="nofollow">ron.gutman@wellsphere.com</a><br><br>Dave Kashen<br><a href="mailto:dave.kashen@wellsphere.com" rel="nofollow">dave.kashen@wellsphere.com</a><br><br>Ivan Marchenko<br><a href="mailto:ivan.marchenko@wellsphere.com" rel="nofollow">ivan.marchenko@wellsphere.com</a> <br><br>Sastry Nanduri<br><a href="mailto:sastry.nanduri@wellsphere.com" rel="nofollow">sastry.nanduri@wellsphere.com</a><br><br>Larisa Rozentals<br><a href="mailto:larisa.rozentals@wellsphere.com" rel="nofollow">larisa.rozentals@wellsphere.com</a><br><br>Geoff Rutledge, MD, PhD<br><a href="mailto:geoff.rutledge@wellsphere.com" rel="nofollow">geoff.rutledge@wellsphere.com</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672301">\
	 <div id="dsq-comment-header-14672301" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672301" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672301" href="http://www.wellsphere.com/" target="_blank" rel="nofollow">Larisa Rozentals</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672301" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672301" class="dsq-comment-message">Personally, I have not experienced what others may have; rather I’ve had a very positive experience with the company, Ron and Dave.  I enjoy working for Wellsphere – its nice to come into the an office where I can eat breakfast with others or at my desk, Katie, the well-dog, says hello to everyone (she’s so happy and excited – she really reminds you what life is all about), we enjoy a casual weekly lunch with everyone together, fruit and other healthy items are provided for us (although Kathleen and I would really enjoy some dark chocolate), and the office has a great view of the Bay Area.<br><br>From my experience, both Ron and Dave care about their company and their employees.  You know you have a great team of employees working for you when you are instructed to leave the building promptly at 5:00 pm to repair the AC and none of us wanted to leave – it took Ron and the AC company over an hour to get everyone to go home.  What can I say… I enjoy the people, the culture, and working with Katie.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672302">\
	 <div id="dsq-comment-header-14672302" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672302" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672302" href="http://www.wellsphere.com/" target="_blank" rel="nofollow">Kathleen Donahue</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672302" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672302" class="dsq-comment-message">Read the comments, both good and bad. I can only speak for myself and tell those interested that overall, as an employee since the beginning of April, I\'ve had a very positive, productive time with Wellsphere. We have a great crew of people, both employees and contractors with whom I interact regularly. We\'ve formed a tight, fun team that keeps on moving forward together to improve our product. As a user-interface designer, I love hearing back from people about the site and how we can improve it for them. Yes, being a young company, we have a ways to go, but we are listening, learning, and steadily enhancing the site. So, to burst the hyperbolic bubble of those who have never worked here, yet seem to be bent on creating/spreading hearsay, this is the current atmosphere.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672303">\
	 <div id="dsq-comment-header-14672303" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672303" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672303" href="http://www.wellsphere.com/" target="_blank" rel="nofollow">Sastry Nanduri</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672303" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672303" class="dsq-comment-message">My experience at Wellsphere has been very pleasant. Wellsphere has a great mission, a fun working environment and a strong team of passionate, positive-minded individuals. As a technologist, I am very excited at the opportunity to build a product that will help millions of people lead a happier and healthier lifestyle.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672304">\
	 <div id="dsq-comment-header-14672304" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672304" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672304" href="http://www.wellsphere.com/" target="_blank" rel="nofollow">Ron Gutman</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672304" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672304" class="dsq-comment-message">Since the day we founded our company, we have always taken the time to listen to people- from the deep research we conducted on how to help people make healthier lifestyle choices to developing our initial prototype to our focus groups and feedback from our alpha community, serving people has been at the heart of our company.  Our recently launched Beta site is built on top of all of this great input and we will continue to listen and continuously improve Wellsphere in our efforts to help people live healthier, happier lives. I would like to thank the people who have taken the time to help us improve our site by providing serious, thoughtful and meaningful feedback. I also want to warmly thank my fellow employees at Wellsphere for joining me in working toward our shared mission and for making the challenging job of bringing innovation to the world enjoyable and rewarding.<br><br>In particular, I would like to thank my co-founder Dave, who has been working with me from the day we founded the company (and even before), around the clock to make our dream come true – to help millions of people live healthier, happier lives. I also want to give a huge kudos to Dr. Geoff Rutledge, a great friend and our CIO - without whom we would not have been able to bring the beta site we are so proud of to life. Finally, I would like to give the warmest of words to our wonderful, smart, dedicated team including Sastry, Kathleen, Ivan, Larisa, Nikki, Paul, Vadym, Irina, Jeff, Phil, and all the others who are working to make our vision a reality.<br><br>It takes a lot of work to make a real change in the world, but we are determined to do so and enjoying ourselves along the way. It is pretty amazing to see how a strong culture can enable a small, committed group to make remarkable things happen.<br><br>I invite anyone in the greater community to write to me, call me or meet with me so we can have a frank, open discussion about the Wellsphere community. I will be delighted to tell you more about Wellsphere, our mission and why I strongly believe in dedicating my life to helping others live well and be happy.  Please feel free to write to me at <a href="mailto:ron.gutman@wellsphere.com" rel="nofollow">ron.gutman@wellsphere.com</a> or call me at (650) 345-2100.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672305">\
	 <div id="dsq-comment-header-14672305" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672305" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672305" href="http://www.wellsphere.com/" target="_blank" rel="nofollow">Dave Kashen</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672305" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672305" class="dsq-comment-message">Hi, I’m Dave, co-founder of Wellsphere.  Since founding this company with Ron I’ve been working incredibly hard, sacrificing most of my time with my friends and family because I believe in the importance of what we’re doing and our potential to make a significant positive impact on people’s lives.  Having become a much more active person myself about 5 years ago, I know firsthand how much of a difference it can make in someone’s life to make this kind of a lifestyle change.  I’m a much happier, more energized person because of it.  It saddens me to see people spending their time and energy to harm us and undermine our efforts when our team is working so hard to build a great company and do good in the world.  We have a great, hardworking group of employees who really care about helping others.  Our team has a lot of fun together and we’re excited about our new Beta site and all of the kind, supportive comments we’ve received from our community members.  We stand behind Ron, our CEO, and appreciate his passion, commitment and extraordinary work ethic.  Of course we’ve had our share of roadblocks and setbacks (it’s a startup after all), but we’re committed to building a great company and making a difference in the world.  I’d be more than happy to talk to anyone who has questions about Wellsphere (or anyone who wants to get more active!)<br><br>Please contact me at <a href="mailto:dave.kashen@wellsphere.com" rel="nofollow">dave.kashen@wellsphere.com</a>.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-14672306">\
	 <div id="dsq-comment-header-14672306" class="dsq-comment-header">\
	 <cite id="dsq-cite-14672306" class="dsq-comment-cite">\
	 <a id="dsq-author-user-14672306" href="http://www.wellsphere.com/" target="_blank" rel="nofollow">Geoff Rutledge</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-14672306" class="dsq-comment-body">\
	 <div id="dsq-comment-message-14672306" class="dsq-comment-message">After seeing the cynically negative comments about my company, I feel compelled to offer my experiences with our company and with our CEO. I\'ll restrict my comments to my personal thoughts and observations, which are based on my experiences here over the past year. I am a <br>physician and technologist who left a medical practice and executive management position in hospital information systems to join Wellsphere. I was attracted to Wellsphere because I thought the success of this company would achieve more good than I could hope to achieve as a physician caring for patients one at a time. We can only be successful if we are able to help people achieve healthier lifestyles. My previous business experience included building Healtheon/WebMD\'s consumer website; Wellsphere offered the opportunity to take a great leap forward, from a website that mostly provides  disease information, to a modern web service that would create a community that enables people to be well.   <br><br>Our CEO, Ron Gutman, expects a lot from all of us, and he delivers a lot in return. In fact, it was my realization that he is profoundly committed to the mission of helping people that made me want to join Wellsphere. Mostly, he challenges us to achieve great things. This is good, and helps establish a culture here that sets us up for success. Our main challenge is to grow the team with other smart, motivated people who have a similarly positive view on life, and who want to participate in what we are trying to accomplish. <br><br>We have developed a delightful culture at the company -- we are now in a new office in San Mateo, where the light, openness, view, and shared workspace provide a pleasing environment. True to the mission of the company, we have our own gym in the office (and full shower), so we often have management meetings while spinning on our stationary bikes. I\'m able to bring my hyper-charged Belgian Malinois, Katie, to work with me every day, and she provides a point of relaxation, charm, and playfulness to the office. <br><br>I\'m happy to discuss Wellsphere with anyone who would like to know more! Feel free to call me at (650) 345-2100, or reach me via email at <a href="mailto:geoff.rutledge@wellsphere.com" rel="nofollow">geoff.rutledge@wellsphere.com</a>.</div>\
	 </div>\
	 </li>\
	 </ul>\
';

(function() {
	
	





Dsq.Debug.profile(function() {
	if(Dsq.jsonData.request.page == 1 && Dsq.jsonData.request.is_initial_load) {
		Dsq.container.innerHTML = Dsq.Templates.header() + Dsq.container.innerHTML + Dsq.Templates.footer();
	}
	Dsq.$(Dsq.curPageId).innerHTML = Dsq.$(Dsq.curPageId).innerHTML.replace(Dsq.COMMENTS_RE, Dsq.CommentsHandler);
}); // Dsq.Debug.Profile

// HACK: Resetting cache because we're done with.
Dsq.Utils.gebiFromElementCollectionCache = null;


	
	
	var dsq_styleEl = document.getElementById(disqus_container_id);
	var dsq_anchorEl = document.getElementsByTagName('a')[0];
	
	Dsq.Thread.fc = Dsq.Utils.getStyle(dsq_styleEl, 'color');
	if(dsq_anchorEl) { Dsq.Thread.ac = Dsq.Utils.getStyle(dsq_anchorEl, 'color'); }
	Dsq.Thread.ff = Dsq.Utils.getStyle(dsq_styleEl, (Dsq.Utils.ie || window.opera ? 'fontFamily' : 'font-family'));
	// For Safari / Opera: strip quotes.
	Dsq.Thread.ff = Dsq.Thread.ff.replace(/['"]/g, '');
	Dsq.Thread.fc = encodeURIComponent(Dsq.Thread.fc);
	Dsq.Thread.ac = encodeURIComponent(Dsq.Thread.ac);
	Dsq.Thread.ff = encodeURIComponent(Dsq.Thread.ff);

	
	
	
	if(Dsq.$(Dsq.Templates.addPostContainer)) {
		// TODO: Check to see if theme uses postmessage.
		if (window.disqus_use_postmessage) {
			Dsq.frames['reply_0'] = new Dsq.ReplyFrame(Dsq.$(Dsq.Templates.textareaContainer));
			Dsq.frames['reply_0'].init(function() {
				// Use fallback iframe
				Dsq.$(Dsq.Templates.addPostContainer).innerHTML = '';
				var theme = (typeof disqus_frame_theme == 'undefined') ? 'default' : disqus_frame_theme;
				Dsq.Iframes.showReplyIframeInContainer(Dsq.$(Dsq.Templates.addPostContainer), null, {theme: theme});
				// if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
			});
		} else {
			// DEPRECATED
			Dsq.Iframes.showReplyIframeInContainer(Dsq.$('dsq-post-add'));
		}
	}

	
	

	
	if(document.location.hash != '') {
		document.location.hash = document.location.hash.substring(1);
	}

	Dsq.Popup.showCookieMsgs();

	
	if(document.location.search != '' && location.hash != '#disqus_thread') {
		var reply_id = Dsq.Utils.getRequestParams().dsq;
		if(reply_id) { document.location.hash = 'comment-' + reply_id; }
	}

	
	if((typeof OB_Script != 'undefined') && (typeof OB_versionNum != 'undefined')) {
		if(navigator.userAgent.indexOf("Firefox") != -1) {
			if(window.frames['dsq-reply-frame']) {
				window.frames['dsq-reply-frame'].location = Dsq.Urls.REPLY + (new Date()).getTime() + '&f=venturebeat&t=wellsphere_for_those_striving_to_be_fit_and_healthy&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 = '547225e2dda46ccfdec279a9a44a0074';
			if (typeof disqus_facebook_api_key != 'undefined') {
				facebook_api_key = disqus_facebook_api_key;
			}

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


	


if(typeof(disqus_callback) == 'function') {
	var callback_params = Dsq.Utils.getRequestParams()['dsq_cbp'] || null;

	// We don't care about any errors in third-party code
	try {
		disqus_callback(callback_params);
	} catch (x) {
		if (typeof(console) != 'undefined' && typeof(console.log) == 'function') {
			// But it would be nice to let developers know about them
			console.log(x);
		}
		// pass
	}

	// HACK: We don't know if the callback wraps our container, which may
	// possibly result in a new DOM element.
	Dsq.container = document.getElementById('dsq-content');
}

})();




