




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": {"e8d0dde0c4b3d65b72a92bba1fee5aa7": {"username": "Chris", "tumblr": "", "display_name": "Chris", "url": "http://disqus.com/guest/e8d0dde0c4b3d65b72a92bba1fee5aa7/", "registered": false, "linkedin": "", "blog": "http://www.beercosoftware.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": ""}, "9b646ff3eeda1f01cc2b1cb86d1634f9": {"username": "paul", "tumblr": "", "display_name": "paul", "url": "http://disqus.com/guest/9b646ff3eeda1f01cc2b1cb86d1634f9/", "registered": false, "linkedin": "", "blog": "http://dotnetjunkies.com/WebLog/paul/", "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": ""}, "dariosalvelli": {"username": "dariosalvelli", "tumblr": "", "display_name": "Dario Salvelli", "url": "http://disqus.com/dariosalvelli/", "registered": true, "linkedin": "", "blog": "http://www.dariosalvelli.com", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c4608d280d7673a4d162814096464416": {"username": "whatdoeswomanwant", "tumblr": "", "display_name": "whatdoeswomanwant", "url": "http://disqus.com/guest/c4608d280d7673a4d162814096464416/", "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": ""}, "4b6ec3cb632af10675425902581b1e74": {"username": "Bess", "tumblr": "", "display_name": "Bess", "url": "http://disqus.com/guest/4b6ec3cb632af10675425902581b1e74/", "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": ""}, "7604593868636a820402c67350a8cd16": {"username": "Dan", "tumblr": "", "display_name": "Dan", "url": "http://disqus.com/guest/7604593868636a820402c67350a8cd16/", "registered": false, "linkedin": "", "blog": "http://blogs.ittoolbox.com/security/dmorrill", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3553f5e0db0fd1ec4e40a932a2d8f5b3": {"username": "Robert Scoble", "tumblr": "", "display_name": "Robert Scoble", "url": "http://disqus.com/guest/3553f5e0db0fd1ec4e40a932a2d8f5b3/", "registered": false, "linkedin": "", "blog": "http://scobleizer.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/4069/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "32618b6e0dce34a5344418e60c7ac30a": {"username": "lee", "tumblr": "", "display_name": "lee", "url": "http://disqus.com/guest/32618b6e0dce34a5344418e60c7ac30a/", "registered": false, "linkedin": "", "blog": "http://www.yireh.sg/", "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": ""}, "fff84bc87483c130a095dba4c2969247": {"username": "Podesta", "tumblr": "", "display_name": "Podesta", "url": "http://disqus.com/guest/fff84bc87483c130a095dba4c2969247/", "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": ""}, "a61980db730441d450103ef8aef749f5": {"username": "wreck", "tumblr": "", "display_name": "wreck", "url": "http://disqus.com/guest/a61980db730441d450103ef8aef749f5/", "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": ""}, "e21d18273096895080bccf91a9a5c264": {"username": "Stephane Rodriguez", "tumblr": "", "display_name": "Stephane Rodriguez", "url": "http://disqus.com/guest/e21d18273096895080bccf91a9a5c264/", "registered": false, "linkedin": "", "blog": "http://xlsgen.arstdesign.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": ""}, "795cdfd6412369c92b8a95d989dce026": {"username": "ET", "tumblr": "", "display_name": "ET", "url": "http://disqus.com/guest/795cdfd6412369c92b8a95d989dce026/", "registered": false, "linkedin": "", "blog": "http://www.almostageek.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": ""}, "5e1140855c47af5e6c5e548bec95a168": {"username": "shannonclark", "tumblr": "", "display_name": "shannonclark", "url": "http://disqus.com/guest/5e1140855c47af5e6c5e548bec95a168/", "registered": false, "linkedin": "", "blog": "http://shannonclark.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/173/3735/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "f9cddcbb7d74dd9b3ce0c2b3ef23eb54": {"username": "Wharf", "tumblr": "", "display_name": "Wharf", "url": "http://disqus.com/guest/f9cddcbb7d74dd9b3ce0c2b3ef23eb54/", "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": ""}, "3d3e728a7a3ce6dbda98525f2a5ecbee": {"username": "Joe", "tumblr": "", "display_name": "Joe", "url": "http://disqus.com/guest/3d3e728a7a3ce6dbda98525f2a5ecbee/", "registered": false, "linkedin": "", "blog": "http://blog.fileville.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6f7addaed3e1d4fdf0b047695ddd5f70": {"username": "shravan", "tumblr": "", "display_name": "shravan", "url": "http://disqus.com/guest/6f7addaed3e1d4fdf0b047695ddd5f70/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/189/6410/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d8190e3316ce996d53b603b15b2b5329": {"username": "searchengines", "tumblr": "", "display_name": "searchengines", "url": "http://disqus.com/guest/d8190e3316ce996d53b603b15b2b5329/", "registered": false, "linkedin": "", "blog": "http://searchengines.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "fd620d30ce856c99eeac7d190bbd4111": {"username": "notaprguy", "tumblr": "", "display_name": "notaprguy", "url": "http://disqus.com/guest/fd620d30ce856c99eeac7d190bbd4111/", "registered": false, "linkedin": "", "blog": "http://notaprguy.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "f80a8136a9f17597224acb75e36c83bf": {"username": "Mark", "tumblr": "", "display_name": "Mark", "url": "http://disqus.com/guest/f80a8136a9f17597224acb75e36c83bf/", "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": ""}, "98583d556bf0b5c55f7a62217ceeafcc": {"username": "Anonymous", "tumblr": "", "display_name": "Anonymous", "url": "http://disqus.com/guest/98583d556bf0b5c55f7a62217ceeafcc/", "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": ""}, "d3ea5ee6736f486f879d4c80695b2223": {"username": "met", "tumblr": "", "display_name": "met", "url": "http://disqus.com/guest/d3ea5ee6736f486f879d4c80695b2223/", "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": ""}, "aaa1c400b7e02bea94b84ce889e72dbd": {"username": "seshadri", "tumblr": "", "display_name": "seshadri", "url": "http://disqus.com/guest/aaa1c400b7e02bea94b84ce889e72dbd/", "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": ""}, "65682f1076fa6644e90f550d22f94641": {"username": "MGB", "tumblr": "", "display_name": "MGB", "url": "http://disqus.com/guest/65682f1076fa6644e90f550d22f94641/", "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": ""}, "84c1f6c262bcff385c56377284f3c68f": {"username": "nchenga nchenga", "tumblr": "", "display_name": "nchenga nchenga", "url": "http://disqus.com/guest/84c1f6c262bcff385c56377284f3c68f/", "registered": false, "linkedin": "", "blog": "http://chiperoni.org/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "63f289d0adff09dc3ff2ce690a25ab3e": {"username": "Tim", "tumblr": "", "display_name": "Tim", "url": "http://disqus.com/guest/63f289d0adff09dc3ff2ce690a25ab3e/", "registered": false, "linkedin": "", "blog": "http://www.techtoolblog.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": ""}, "023574e93eb7ab4122b11a7236210d34": {"username": "Ben Hamey", "tumblr": "", "display_name": "Ben Hamey", "url": "http://disqus.com/guest/023574e93eb7ab4122b11a7236210d34/", "registered": false, "linkedin": "", "blog": "http://www.hamey.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": ""}, "a54251b745d59735ea5e9f0656a5d58d": {"username": "Mike Gunderloy", "tumblr": "", "display_name": "Mike Gunderloy", "url": "http://disqus.com/guest/a54251b745d59735ea5e9f0656a5d58d/", "registered": false, "linkedin": "", "blog": "http://afreshcup.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/189/5975/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "26493d7270fb206c1e08599674e51e5a": {"username": "LayZ", "tumblr": "", "display_name": "LayZ", "url": "http://disqus.com/guest/26493d7270fb206c1e08599674e51e5a/", "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": ""}, "aba6e77dd14a6ba0fc2e7e5f07db3908": {"username": "Joe", "tumblr": "", "display_name": "Joe", "url": "http://disqus.com/guest/aba6e77dd14a6ba0fc2e7e5f07db3908/", "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": ""}, "81c09757a4521e0ef495870ca4d50b8e": {"username": "Wanderley", "tumblr": "", "display_name": "Wanderley", "url": "http://disqus.com/guest/81c09757a4521e0ef495870ca4d50b8e/", "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": ""}, "0f04de82d0a251725f405ae39650b90d": {"username": "Mr. Robinson", "tumblr": "", "display_name": "Mr. Robinson", "url": "http://disqus.com/guest/0f04de82d0a251725f405ae39650b90d/", "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": ""}, "5049191b60d4a694e164c105c75df6d5": {"username": "Cliff Cate", "tumblr": "", "display_name": "Cliff Cate", "url": "http://disqus.com/guest/5049191b60d4a694e164c105c75df6d5/", "registered": false, "linkedin": "", "blog": "http://cliffcate.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "37896b703813a32757edbc232ed15b9e": {"username": "HELL.DLL", "tumblr": "", "display_name": "HELL.DLL", "url": "http://disqus.com/guest/37896b703813a32757edbc232ed15b9e/", "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": ""}, "93a19031b33a307716f98e366faa615d": {"username": "Albert", "tumblr": "", "display_name": "Albert", "url": "http://disqus.com/guest/93a19031b33a307716f98e366faa615d/", "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": ""}, "3aeb85796d88e54daedf94e769fda691": {"username": "Goebbels", "tumblr": "", "display_name": "Goebbels", "url": "http://disqus.com/guest/3aeb85796d88e54daedf94e769fda691/", "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": ""}, "32ca778cb6dc72863614273106fa01ad": {"username": "saran", "tumblr": "", "display_name": "saran", "url": "http://disqus.com/guest/32ca778cb6dc72863614273106fa01ad/", "registered": false, "linkedin": "", "blog": "http://www.saran945.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "Scobleizer", "streaming_realtime": true, "url": "scobleizer", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 1, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": true, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "scobleizer", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-17_06:53:32", "remote_domain": "", "page": 1, "is_moderator": false, "display_username": "", "points": null, "subscribe_on_post": 2, "moderator_can_edit": false, "is_remote": false, "is_verified": false, "missing_perm": "locked"}, "realtime_paused": false, "posts": {"9676032": {"up_voted": false, "ip": "", "has_replies": false, "message": "@Scoble: \"What do you think?\"<br><br>I think you should rename your blog to \"Googleizer\"! :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_14:25:40", "killed": false, "user_key": "6f7addaed3e1d4fdf0b047695ddd5f70", "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}, "9676033": {"up_voted": false, "ip": "", "has_replies": false, "message": "Okay..I was off-topic a bit here.<br><br>As for as this deal goes, only time will tell if this a sound deal or not(as someone already noted in the comments) and again, no one except google would have been justified in doing this.<br><br>My rant was about not finding some fair pro-con anlaysis on the deal. All that i could read had pretty much the same point - this was a victory to google bcos MSFT lost out.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_14:42:06", "killed": false, "user_key": "aaa1c400b7e02bea94b84ce889e72dbd", "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}, "9676034": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh, I know, Scoble... The question was more... considering the entire landscape was Johnson's statement really their best strategy with few other opportunities... or were they just distracted by Google's stock ascendancy like a shiny object, and they proceed with the assumption that they can do anything?<br><br>I think where in agreement... I'm just wondering: now that I think they are thoroughly \"cockblocked\" out of the ad space, do you know what else Microsoft perceives as an opportunity&gt; Have any of your own ideas?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_15:32:03", "killed": false, "user_key": "3aeb85796d88e54daedf94e769fda691", "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}, "9676035": {"up_voted": false, "ip": "", "has_replies": false, "message": "A little overpriced IMHO but I think it was a good purchase that will add to their business.  Also, anytime the door is slammed in MS's face is a good time.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_19:50:17", "killed": false, "user_key": "795cdfd6412369c92b8a95d989dce026", "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}, "9676036": {"up_voted": false, "ip": "", "has_replies": false, "message": "Goebbels: for Microsoft they need massive opportunities to see even slight growth. That's the problem with being so big.<br><br>They see the $300 billion advertising industry as offering far more growth potential than selling another copy of Office or something like that.<br><br>Pretty much explains why the stock price has been flat. Actually it's been going down, if you remove the effect of stock buybacks have had.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_15:22:52", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "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}, "9676037": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't see any saying they are DEAD in relation to this. I do see people say they can't do anything significant in the online advertising space -- and that is TRUE. And in terms of search it is also TRUE. They've done some things in some areas with some Live properties, but they have all been essentially irrelevant financially and strategically.<br><br>It seems to me that you are drawing together anything negative about MS to paint your own little conspiracy theory.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_14:11:53", "killed": false, "user_key": "3aeb85796d88e54daedf94e769fda691", "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}, "9676038": {"up_voted": false, "ip": "", "has_replies": false, "message": "One of the blogs mentioned that Google's ad model was an anti-theses to the DC model and that was one of the reasons for its success. Now by acquiring DC they have some level contradictions in their as business model.<br><br>It would be great to see some validation/invalidation of theories like this and consider tehcnological implications as well...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_14:45:20", "killed": false, "user_key": "aaa1c400b7e02bea94b84ce889e72dbd", "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}, "9676039": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh, and I'm not saying that either Google or Apple or a combination kills the desktop OS. I am saying that their strengths in new markets can be leveraged into other, not yet imagined markets for future-future growth. Whereas Microsoft gets hemmed in, lacks growth, and is left with 2 markets it can no longer leverage into new markets. This does not \"kill\" their marketshare, but it does \"kill\" their financial, market power. Absolutely. In many ways, it's already happened.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_15:21:29", "killed": false, "user_key": "3aeb85796d88e54daedf94e769fda691", "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}, "9676040": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"And what is Apple doing here? Somehow Google\u2019s dominance will kill Desktop OS but not Mac?\"<br><br>I'm not putting Apple in this space. I am saying Apple and Google's financials, power, marketshare in the disparate but growing market segments (consumer electronics, media distribution, consumer software, online advertising, web services... all of the areas that Microsoft sees as its potential for growth) will be far more considerable and relevant. (I primarily paired the two because they are often viewed as the primary Microsoft competitors and they are quickly approaching the smae financials as Microsoft if you add them together.)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_15:18:40", "killed": false, "user_key": "3aeb85796d88e54daedf94e769fda691", "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}, "9676041": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"he says 1/3 rd of the cost is justified as an anti-msft move while the rest is the buyout. I mean, how ridiculous things could get.\"<br><br>What's ridiculous about that? 2 Bills is what MSFT was willing to spend and what the consensus valuation is. 3 Bills is 10x revenue, not absurd. As you say, Google is best positioned to leverage this.<br><br>This deal is 100x better than the YouTube deal, and 1000x better than the Time-AOL merger... Google has the cash ($11+ Billion) and has quarterly profits of $1 Billion on $3+ Billion revenue when they were earning only around $300 million a quarter a year ago. (i.e., a year from, probaly even much sooner, you'll look at Google's financials and see zero sign of a $3 billion purchase.)<br><br><br>Yes, I and others are anti-Microsoft, but this doesn't mean we can't evaluate the value to Google and particularly in relation to its competition fairly.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_14:03:51", "killed": false, "user_key": "3aeb85796d88e54daedf94e769fda691", "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}, "9676042": {"up_voted": false, "ip": "", "has_replies": false, "message": "Getting back on topic, seshadri, I think the pros-cons have been laid out.<br><br>CONS<br>1. Their is a potential evil perception because of DoubleClick's past spyware, deep cookie-ing issues. And also moving back into banners/images/videos (They were successful because they avoided them.)<br><br>That's about it. Google was so successful initially in the ad space by getting away from banner/image ads, but it still represents a large portion of the online ad space. And Google was having difficulty entering it. It's not a contradiction so much as it becomes a compliment. (Do you want text ads, or do you want banner ads, or do you want video ads (another market difficult for Google now?) This isn't so much a contradiction or issue now that they are dominant in ads and have lost much of the \"don't do evil\" shine. And offering the option of text ads pretty much eliminates the concern of banner ad hell for anyone.<br><br>The only other con is whether or not you consider it paying too much for too little.<br><br>That's really about it, and the major pro is thwarting Microsoft. Because you want to perceive and see a list of several pros and several cons, doesn't mean it exists.<br><br>Technologically, people don't like DoubleClick's core stuff. But this shouldn't be a problem to Google. It can either modify it to make it \"nicer\" or it's just another option on the menu. The big gain \"technologically\" is the masses and masses of user and advertiser data that Google is getting. (Despite Google's algorithm expertise and vast cache of data--this really is a big, substantially nugget... even to Google because it specifically correlates to advertisers, the success/failure of their ads, and their consumers.) And the relationships with these advertisers.<br><br>There is another substantial technological gain in DoubleClick's new online marketplace for advertisers. The patents and algorithms behind it are prototypical Google-like goodies.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_15:14:11", "killed": false, "user_key": "3aeb85796d88e54daedf94e769fda691", "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}, "9676043": {"up_voted": false, "ip": "", "has_replies": false, "message": "@Seshadri,<br><br><a href=\"http://blogs.zdnet.com/micro-markets/\" rel=\"nofollow\"> This blog </a> seems to mention some pros/cons of the deal. I agree with you that it's too early to predict the outcome of this deal. Of course, I like Microsoft (even though I don't work there) and that may have influenced my opinion.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_15:14:01", "killed": false, "user_key": "6f7addaed3e1d4fdf0b047695ddd5f70", "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}, "9676044": {"up_voted": false, "ip": "", "has_replies": false, "message": "ET - Perhaps it's almost time to stop worrying about Microsoft and start worrying about Google?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_20:00:28", "killed": false, "user_key": "fd620d30ce856c99eeac7d190bbd4111", "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}, "9676045": {"up_voted": false, "ip": "", "has_replies": false, "message": "I follow your alert on Twitter: are u sure ?<br>There are some Discussions on Techmeme and on CIOL:<br><br><a href=\"http://tinyurl.com/3bzc62\" rel=\"nofollow\">http://tinyurl.com/3bzc62</a><br><a href=\"http://tinyurl.com/2vjj85\" rel=\"nofollow\">http://tinyurl.com/2vjj85</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_17:43:50", "killed": false, "user_key": "dariosalvelli", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "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}, "9676046": {"up_voted": false, "ip": "", "has_replies": false, "message": "Correction, there is of course AIX, but that is quickly shifting to Linux.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_14:47:24", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "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}, "9676047": {"up_voted": false, "ip": "", "has_replies": false, "message": "Damn Goebbels. I hate when I agree with you.<br><br>The stock market does too. Neither Google nor Microsoft really moved much yesterday.<br><br>This is another \"moat\" around Google's advertising business. It just made Google's core business (advertising revenues) much more difficult to attack strategically.<br><br>Microsoft isn't going anywhere. When we say \"Microsoft is dead\" we don't mean literally. We mean its growth is now constrained in a box and it will have to fight to get out of that box (and, yesterday proved that Ballmer isn't willing to give up billions to fight).<br><br>So, what does this all mean? The stock market is yawning. Why? Cause this purchase locks in place Google's ascendancy and locks in place Microsoft's ability (er, inability) to get anything strategically going.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_14:20:31", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "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}, "9676048": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"What\u2019s ridiculous about that?\"<br><br>That particular idea viewed in isolation is not ridiculous. But put it next to the popular view that \"MSFT is DEAD and can never do anything significant in the online space\" and see how it looks.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_14:07:04", "killed": false, "user_key": "aaa1c400b7e02bea94b84ce889e72dbd", "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}, "9676049": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"(and, yesterday proved that Ballmer isn\u2019t willing to give up billions to fight).\"<br><br>Isn't it ironic that IBM out revenues both Google and MS with<br><br>A. No Operating system<br><br>B. No web portal or internet strategy to speak of<br><br>C. no hardware line anymore<br><br>Has anybody at MS thought of growing in the Enterprise sector?<br>Like NOT making out of box kiddy software and actually making some huge custom software and support deals?<br><br>That would be far too painful for them I fear.<br>So the rest of us keep making money off of that.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_14:44:37", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "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}, "9676050": {"up_voted": false, "ip": "", "has_replies": false, "message": "And, Seshadri, this isn't personal. It's just that Google has a far more interesting business growth path than Microsoft does. And Microsoft's own president knows it.<br><br>That makes Google the more interesting company to watch, talk about, and consider.<br><br>Microsoft still has tons of advantages over Google, though. You're right that we shouldn't write it off. Any company with billions in the bank can ALWAYS become interesting again! (Look at Apple).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_14:21:23", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "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}, "9676051": {"up_voted": false, "ip": "", "has_replies": false, "message": "Perhaps a little overpriced but now who will Microsoft acquire if they want to really compete with Google?  Yahoo?  I don't think they can afford it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_00:32:43", "killed": false, "user_key": "023574e93eb7ab4122b11a7236210d34", "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}, "9676052": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well, I've definitely been \"Googleized.\" :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_14:26:32", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "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}, "9676053": {"up_voted": false, "ip": "", "has_replies": false, "message": "Definitely, a coup. Which is why they were willing to pay a 50% premium over Microsoft.<br><br>It's silly to suggest that MS was willing to pay this sum when their ad efforts show a lack of success and many markets show financial losses, and they keep spending their cash hoard. An additional billion dollars would have looked bad on their financial statements. For Google is much more explanable, and they are already kicking ass in the ad space so there is zero concern about their ability to make it a worthwhile acquisition.<br><br>The actual details of integration, the costs, etc... That gets uglier, but stealing them away from Microsoft (who are quickly running out of options in the ad space; this was getting viewed as their last alternative to show major gains) is the only reason they need. And for that it is well worth it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_18:45:45", "killed": false, "user_key": "3aeb85796d88e54daedf94e769fda691", "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}, "9676054": {"up_voted": false, "ip": "", "has_replies": false, "message": "Cool to watch the story break while we were at lunch. I think this is a very good move for Google. As I blogged earlier today, Google is NOT in the search business - this just helps emphasize that point and expands Google into one of the few areas of online advertising (and offline advertising) which they were not dominant in.<br><br>If the NYTimes story is correct DoubleClick was generating $300M / year, so the price is about 10x earnings - not cheap but certainly not seriously overpriced.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_19:02:50", "killed": false, "user_key": "5e1140855c47af5e6c5e548bec95a168", "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}, "9675975": {"up_voted": false, "ip": "", "has_replies": false, "message": "Seshadri: my reaction would have been Google loses one.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_12:49:14", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "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}, "9675976": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't see a new thread on the Google acquisition, so I'm going to post the link to the NYT's article about Microsoft likely filing an antitrust complaint here:<br><br><a href=\"http://www.nytimes.com/2007/04/16/technology/16soft.html?hp\" rel=\"nofollow\">http://www.nytimes.com/2007/04/16/technology/16...</a><br><br>I literally spit the coffee I was drinking when I read that.  MICROSOFT accusing someone of antitrust violations?  RFOL!<br><br>Methinks Goebbels should be paid for participating in Scobleizer.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-16_01:14:39", "killed": false, "user_key": "fff84bc87483c130a095dba4c2969247", "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}, "9675977": {"up_voted": false, "ip": "", "has_replies": false, "message": "In a way this deal is a made-for-google one.<br><br>MSFT can never justify a 3 billion purchase when its online presence is a distant third. Personally I am happy that MSFT didn't end up buying DC. With the google buyout, all the negative perception associated with DC will be 'forgotten'. But the situation would have been whole lot different with a MSFT buyout of DC.<br><br>From a tech reader perspective, any news involving MSFT or its direct competitor is getting boring. You can easily predict the reaction - MSFT thrashed. No proper arguments, no pro-con analysis. Just pick the side against MSFT and start thrashing...<br><br>Curently thats the dominance theme in all the techmeme-d blogs. Look at this - <a href=\"http://paul.kedrosky.com/archives/2007/04/13/googleclick_and.html\" rel=\"nofollow\">http://paul.kedrosky.com/archives/2007/04/13/go...</a> - he says 1/3 rd of the cost is justified as an anti-msft move while the rest is the buyout. I mean, how ridiculous things could get. One instance i see articles saying that msft can never match google whatever they do and the next moment someone justifies a 1 billion spend to keep msft down.<br><br>(I thought scoble would come up with one such pro-con stuff. But i get a feeling that post \"Kathy Sierra\", he is unusually subdued)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_13:53:31", "killed": false, "user_key": "aaa1c400b7e02bea94b84ce889e72dbd", "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}, "9675978": {"up_voted": false, "ip": "", "has_replies": false, "message": "less than 10% search engine market share, to me, this acquisition is a set back for Yahoo and few Media companies. Moreover, Microsoft does have any \u2018user centric\u2019 brand ?<br>Kind rgrds<br>saran", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_13:02:02", "killed": false, "user_key": "32ca778cb6dc72863614273106fa01ad", "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}, "9675979": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Seshadri: my reaction would have been Google loses one.\"<br><br>I don't see how. This is search marketshare but it has a relationship to advertising:<br><br>Google: 64%<br>Yahoo: 21%<br>MSN: 9%<br>Ask: 4%<br><br>Yahoo is a stronger competitor than Microsoft to Google in both search and advertising. With both companies, it strengthens Google. Just because Microsoft was desperate to get a piece doesn't mean this doesn't impact Yahoo.<br><br>\"If they really, really wanted to desperately compete with Google, the best way would be to buy out all the remaining smaller search engine sites that are reasonably big.\"<br><br>Which ones? Do you mean Ask? Or the ones even smaller? The top 4 represent 97% of the market. If they grabbed Ask and the remaining 3% (which would remain impossible: that small percent is almost always going to defect to obscure or niche searche engines), they'd still be smaller than Yahoo.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_13:29:54", "killed": false, "user_key": "3aeb85796d88e54daedf94e769fda691", "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}, "9675980": {"up_voted": false, "ip": "", "has_replies": false, "message": "\u201cwhen I worked at Microsoft Microsoft\u2019s president Kevin Johnson told me (and others) that almost all of its growth would come from advertising-based revenues in the future.\u201d<br><br><br>Is that what he really told you or what you wanted to here?<br><br>Personally I think it\u2019s very depressing that a company like Google have to rely on advertising as their only real source of income. And I find it even more depressing that bloggers &amp; journalists always need to bring Microsoft into every story relating to Google, Apple, Linux etc, just to make things more interesting and of course bring more traffic to their site.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-15_12:43:44", "killed": false, "user_key": "37896b703813a32757edbc232ed15b9e", "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}, "9675981": {"up_voted": false, "ip": "", "has_replies": false, "message": "@60:<br>\"Has anybody at MS thought of growing in the Enterprise sector?<br>Like NOT making out of box kiddy software and actually making some huge custom software and support deals?<br><br>That would be far too painful for them I fear.<br>So the rest of us keep making money off of that.<br><br>Comment by Chris \u2014 April 14, 2007 @ 11:44 am\"<br><br>Um. Enterprise sector is a huge source of MS revenue. AD, Exchange, SMS, MOM, SQL, HIS, MIIS, ISA are a quick list of products that there is a ton of in that space. In terms of custom LOB software there is the Dynamics stuff. Then you got support and consulting services which (although smaller than IBM) is still a significant revenue stream.<br><br>As ever, you obviously haven't got a clue Mr Beer.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-15_07:50:48", "killed": false, "user_key": "f9cddcbb7d74dd9b3ce0c2b3ef23eb54", "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}, "9675982": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"when I worked at Microsoft Microsoft\u2019s president Kevin Johnson told me (and others) that almost all of its growth would come from advertising-based revenues in the future.\"<br><br>Since he was wrong, how much value does that prediction have?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_13:41:51", "killed": false, "user_key": "3aeb85796d88e54daedf94e769fda691", "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}, "9675983": {"up_voted": false, "ip": "", "has_replies": false, "message": "By the way, remember when I recommended buying Yahoo when it \"tanked\" in July (from around $32 to $26)?<br><br>Well, it's back around $31.50 and is going to be THE interesting player in this space. Microsoft is going to want them big time next but I don't know how they'll handle their $42 billion market value. Nevermind how they would incorporate the brand and properties. (In fact, thank god it would be difficult to merge properties and is prohibitively expensive: I'd had to see Microsoft destroy a lot of tools that I use.)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_13:41:03", "killed": false, "user_key": "3aeb85796d88e54daedf94e769fda691", "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}, "9675984": {"up_voted": false, "ip": "", "has_replies": false, "message": "This is not related to Microsoft, Double click was a #1 rival in Google\u2019s Ad business. Google now more than 99% ad revenue company. Media/Technology companies do not clearly understanding Google business models.<br>There is no reason MS to buy this, since MS have", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_13:00:29", "killed": false, "user_key": "32ca778cb6dc72863614273106fa01ad", "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}, "9675985": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't mind a little ad, however I think the internet is now full of irrelevant ads, so much that the information that you might be looking for may turn out to be an ad instead!<br><br>I guess for Google to buy over DoubleClick is to further strengthen their online advertising strength. Hope that things don't get monopolised by one big giant.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-15_20:34:01", "killed": false, "user_key": "c4608d280d7673a4d162814096464416", "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}, "9675986": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wanna put Google, etc., out of the ad business really quickly?<br><br>If I were craislist, I would allow ads on the local metro/area craigslist pages and only charge a dollar for the ads to be shown, or im some cases, allow advertising for free. craigslist would still make a fortune and could keep it real at the same time.<br><br>craigslist could save money on bandwidth by forcing the ad owner to link to his own site and use his own bandwith.<br><br>I'd do this in a heartbeat if I were craigslist, just to take the bottom out of the ad industry. I'd love to see this happen, if only to drastically alter the ad landscape. I'm already pleased as punch that craigslist has really nailed the newspapers, etc. with their business model.<br><br>I hate ads, but to level the playing field, it be fun to see what the outcome would be.<br><br>Anyone could set up a craigslist-like site and do this. Free ads for the first month, and then a couple of dollars thereafter. You'd make a fortune and get the joy out of undercutting the big players.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-15_19:33:04", "killed": false, "user_key": "a61980db730441d450103ef8aef749f5", "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}, "9675987": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Microsoft consolation : Gator (Claria) purchase can proceed\u2026\"<br><br>If they really, really wanted to desperately compete with Google, the best way would be to buy out all the remaining smaller search engine sites that are reasonably big.<br><br>That would draw some attention from the DOJ, and so it is impossible.<br><br>Checkmate from Google on Microsoft's queen, the internet.<br><br>They should now focus on using the internet in other ways than HTTP, and not make it windows ONLY technology as they have been. Non HTTP inter operable technology is the way to go. Once the non-HTTP internet becomes as accessible and as popular as the HTTP web, Microsoft will have beat Google.<br><br>Microsoft however are hell-bent on Windows, and gluing people to it, so they will never realize the potential of selling just the software sans the platform.<br><br>XML RPC and SOAP is cool, why can't EVERYONE use it???<br>This is just a small example of what is possible but has not been popularized.<br><br>Google won't do it, google is starting to own HTTP. MS could, Yahoo could ect...<br>MS totally isn't intelligent enough to succeed anymore. Their entire brains in Bill Gates is too busy going to G8 style summits and giving speeches to do anything meaningful anymore.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_12:56:20", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "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}, "9675988": {"up_voted": false, "ip": "", "has_replies": false, "message": "He not only told ME that stuff, he told the entire group I work with (1200 people) that.<br><br>The advertising industry is about 10x as big as the software industry.<br><br>Why is it depressing to rely on advertising? Thousands of newspapers around the world rely mostly on advertising too. So do TV and radio stations. Outdoor advertising companies. And more.<br><br>Microsoft +is+ part of nearly every technology story whether you like it or not. Microsoft makes more than a billion in revenue every year on advertising TODAY.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-15_13:07:08", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "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}, "9675989": {"up_voted": false, "ip": "", "has_replies": false, "message": "Saran: when I worked at Microsoft Microsoft's president Kevin Johnson told me (and others) that almost all of its growth would come from advertising-based revenues in the future. Double-click mattered a LOT to that future strategy.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_13:38:35", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "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}, "9675990": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"I don\u2019t see anything brilliant coming out of Mountain view , lets not loose focus here just becuase some of us don\u2019t like MS\"<br><br>Yeah..It would have been interesting to see the reactions if it was yahoo instead of msft.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_12:38:45", "killed": false, "user_key": "aaa1c400b7e02bea94b84ce889e72dbd", "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}, "9675991": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree with the sentiment to deny MS the purchase. MS needs to be taken down a notch or two. IF they cannot develop their own ad network, then they have no business being in that business. Google at least came up with adwords and the algorithms, etc.<br><br>MS tends to buy its expertise rather than develop it itself.<br><br>Comment by wreck \u2014 April 14, 2007 @ 7:44 am<br><br>That's actually quite common for most companies, Google,Apple, Oracle. Microsoft does have a Major braintrust in Redmond as does it's competitors.<br><br>I don't see anything brilliant coming out of Mountain view , lets not loose focus here just becuase some of us don't like MS.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_12:23:04", "killed": false, "user_key": "aba6e77dd14a6ba0fc2e7e5f07db3908", "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}, "9675992": {"up_voted": false, "ip": "", "has_replies": false, "message": "I can't help but think that Google overpaid for double click, just as they overpaid for youtube,<br>Google has lots of money, Microsoft has even more money than Google, Google hasn't shown the ability to earn money outside of search.<br>I can't help but think than Goolge's buisness model is based on throwing spagetti at the wall and hoping that something sticks.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_12:19:29", "killed": false, "user_key": "aba6e77dd14a6ba0fc2e7e5f07db3908", "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}, "9675993": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree with the sentiment to deny MS the purchase. MS needs to be taken down a notch or two. IF they cannot develop their own ad network, then they have no business being in that business. Google at least came up with adwords and the algorithms, etc.<br><br>MS tends to buy its expertise rather than develop it itself.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_10:44:03", "killed": false, "user_key": "a61980db730441d450103ef8aef749f5", "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}, "9675994": {"up_voted": false, "ip": "", "has_replies": false, "message": "@34,<br><br>Just do what I do, block ALL ads, even Google ads. If you use Linux, this is a joke to do. Konqueror comes with adblock by default now. It's a cinch to blcok just about anything or anyone.<br><br>Ads should be a choice on the part of the consumer, never forced on them. I don't like being marketed to, so I just say no. I NEVER click on ads, ever.<br><br>It's your right to not see ads during your surfing experience, and there are free, easy tools to help that happen. Adblock with Firefox or if you don't want to worry about it in your browser you can download Privoxy if you use Windows and configure it to see no ads whatsoever.<br><br>Doubleclick's ads have been particularly egregious in the past, so they were the first to get blocked.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_10:39:44", "killed": false, "user_key": "a61980db730441d450103ef8aef749f5", "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}, "9675995": {"up_voted": false, "ip": "", "has_replies": false, "message": "yikes...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_05:37:01", "killed": false, "user_key": "84c1f6c262bcff385c56377284f3c68f", "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}, "9675996": {"up_voted": false, "ip": "", "has_replies": false, "message": "Doubleclick is a firm I have hated since the time they tried to fill my PCs with cookies and other stuff in the 90ies. If Google buys this **** firm some of that hate will be transferred. Bad deal for Google.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_05:32:46", "killed": false, "user_key": "93a19031b33a307716f98e366faa615d", "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}, "9675997": {"up_voted": false, "ip": "", "has_replies": false, "message": "@29 : \"Microsoft should make an online version of Office\"<br><br>They can't. Either it's a full online version which does not require Windows or Internet Explorer, in which case they canibalize themselves. Or it's not a full online version, and nobody bothers.<br><br>Look at those corporate applications that have moved from fat clients to intranet versions. It took a decade but pretty much everything has moved to the server (not to confuse with web-only).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_03:34:00", "killed": false, "user_key": "e21d18273096895080bccf91a9a5c264", "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}, "9675998": {"up_voted": false, "ip": "", "has_replies": false, "message": "3.1 BILLION??!?!?<br><br>FOR DOUBLECLICK?!?!?!?<br><br>HA! HA! HA!<br><br>Hmm... Then again... I don 't think Google could have possibly afforded to lose Doubleclick to Microsoft.<br><br>Bottom line: Google may have had NO choice but to make this purchase. They may not have really wanted Doubkleclick. Maybe Doubleclick really is worth it. But i'll say this...<br><br>Personally I don't think anyone on earth today can reasonably or accurately predict if this was the right move on Google's part. This deal was a \"time will only tell\" move.  Just like Xerox's refusal to go commercial with their Xerox Alto computer... this deal may go down in computing history as either the wisest move...  or the dumbest.<br><br>This deal WILL, like it or not, FOREVER alter the playing field. And ultimately ... the history books.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_02:36:47", "killed": false, "user_key": "65682f1076fa6644e90f550d22f94641", "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}, "9675999": {"up_voted": false, "ip": "", "has_replies": false, "message": "It's sure fun speculating and mixing our personal prejudices in for good measure.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_23:21:59", "killed": false, "user_key": "aba6e77dd14a6ba0fc2e7e5f07db3908", "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}, "9676000": {"up_voted": false, "ip": "", "has_replies": false, "message": "They should be able to tie this in with youtube and the (soon to be enormous) online video market.<br><br>If I had any, I'd put some money into adobe (flash). :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_22:28:31", "killed": false, "user_key": "f80a8136a9f17597224acb75e36c83bf", "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}, "9676001": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble, in relation to your Kevin Johnson statement: do you think Microsoft no longer believes there is growth left in their core markets and that advertising was the best and most promising industry (the only foreseeable one with real growth on their scale) or were they just seeing the massive success of Google and the potential of the advertising market and, with usual hubris, assuming they could just step in, providing them an easy growth path?<br><br>I think, by the way, there are further lessons about Microsoft. A couple of years ago, it was believed they could get into the space with small acquisitions and technology, but those efforts had no effect against the Google Juggernaut. (This also was supposed to leverage existing properties and strengths (MSN, Hotmail -- remember when Hotmail was talked about as the most important web property? Now even if still immense, it's completely irrelevant strategically and financially in relation to the competition... But those web properties are losing value or are dying in a reallignment process that hasn't resulted in any value yet...) So analysts have shifted to saying they could buy (bigger) into the market. But DoubleClick was primarily the only significant feasible opportunity. They've lost thus far on their typical strengths: buying power, leveraging existing properties, and developing their own tech.<br><br>Without some yet unseen rebirth, crystalization, and major leap from the Live initiatives... (True gut-wrenching hard work and fighting involving developing their own tech and changing their strategy to something yet unseen) I don't foresee anything good for Microsoft in this space for years to come.<br><br>Which makes Yahoo extremely important. If Google continues to make gains and Microsoft continues to slide without any major new players in the next couple of years, we won't necessarily be saying Microsoft is dead but we will say they are irrelevant, we will say they are just an OS and office software vendor... We will be saying things like Google-Apple (combined market cap of 215 Bill vs. MSFT's 280 Bill) are more valuable, more powerful, more influential than Microsoft even if Microsoft still owns the business and most of the home software market... if the current landscape is accurate and trends continue.<br><br>And its Microsoft's own fault for perceiving all markets as their domain. For commoditizing most industries eliminating their growth opportunities. (In many respects, I agree with Johnson that their growth would come from advertising -- I just happen to believe they won't get any of it.)<br><br>So over the next couple of years, I think we are finally going to see real examination of Microsoft's attempts to enter new markets, its leadership, and strategies. (There cash has dwindled to 26 Billion; Google has 11 billion and is less than half their size; Apple, a company 3.5x smaller, has 12 billion.)<br><br>We've come along way from when Microsoft was valued at $400 Billion and had $50 billion in cash, Apple was a $10 Billion dollar company, Dell was the financial powerhouse, and Google had no revenue and was just a search engine. They aren't the 800 pound gorilla in any financial sense anymore -- they still dominate 2 software markets, but that's it... Yet some people haven't realized the shift yet... They still think no one has the buying power or cash of Microsoft, that they still have all the leverage and expertise.<br><br>Somehow, I think this purchase will ultimately be key to a perception shift in the market, will have substantial impact on both Microsoft and Google. And in a much bigger historical sense than just the ad/search space. And for this, $3 billion is a steal.<br><br>(I apologize for the essay... I'm sure will think I'm dreaming, smoking crack. I'm seeing this long term and in many ways historically antecedent to the antitrust issues a decade ago which I don't think people really even appropriately consider the effects of to this day.)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_15:00:29", "killed": false, "user_key": "3aeb85796d88e54daedf94e769fda691", "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}, "9676002": {"up_voted": false, "ip": "", "has_replies": false, "message": "<b> <a href=\"http://www.eweek.com/article2/0%2C1895%2C1834514%2C00.asp\" rel=\"nofollow\">http://www.eweek.com/article2/0,1895,1834514,00...</a><br></b><br><br>De'ja Vous...<br>The more things change - the more they remain the same", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_01:56:06", "killed": false, "user_key": "d8190e3316ce996d53b603b15b2b5329", "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}, "9676003": {"up_voted": false, "ip": "", "has_replies": false, "message": "Chris, I disagree about DC's value to Google. Firstly, everything I've read has said 100s of millions of profit. Second, the new online brokering system developed by DoubleClick has been getting mucho kudos and seems to be the latest, leading edge technology in the ad space. Third, Google, because of its enormity and search engine, instantly magnifies the value of DoubleClick once they internalize DC's technology, existing ads, and relationships.<br><br>As for Microsoft stopping trying to compete with everyone. That goes without saying. Just imagine what their profits would look like without the cash sinks (that are likely never to be profitable to them).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_00:38:19", "killed": false, "user_key": "3aeb85796d88e54daedf94e769fda691", "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}, "9676004": {"up_voted": false, "ip": "", "has_replies": false, "message": "Maybe Microsoft was just playing along to make Google spend more.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_21:56:26", "killed": false, "user_key": "d3ea5ee6736f486f879d4c80695b2223", "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}, "9676005": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree with Chris.<br>Microsoft should abandon competing with Google and let them have that space.  Google overpaid for it, but they have it now and will have it forever.  In fact, Microsoft should make an online version of Office and make a deal with Google to make it part of Google's web services (Google's own web apps are a pathetic joke).  Both companies would make money.<br><br>As for Live, I wouldn't abandon it, but move it in a different direction.  Get out of search altogether; meaning, just provide a search box that directs all searches to Google.  And I'd cease trying to compete in the ad-space too.<br><br>The bigger problem is for the non-Microsoft companies that were trying to compete on ads, search, and whatnot.  They're essentially dead now that Google has the market cornered.  They have to hope that the DOJ comes after Google for buying properties at massive loss for the sole reason of stamping out competition.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_00:31:04", "killed": false, "user_key": "0f04de82d0a251725f405ae39650b90d", "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}, "9676006": {"up_voted": false, "ip": "", "has_replies": false, "message": "@66,<br><br>The answer is simple, as I outlined above in post #38:<br><br>block all ads when browsing. It's simple to do and you enjoy an ad-free Internet.<br><br>I don't like being marketed to, and therefore, I refuse to have ads shoved in my face.<br><br>Windows users can use Firefox with the adblock extension or download Privoxy, while Linux users can use FF or Konqueror, which has adblock pre-installed.<br><br>Why do I want to help someone else make money. Another thing you can do is to block referrer logging, so your cookies are not tracked from one site to another. Accept only cookies from sites you visit. Also turn off pre-fetching.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_19:06:41", "killed": false, "user_key": "a61980db730441d450103ef8aef749f5", "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}, "9676007": {"up_voted": false, "ip": "", "has_replies": false, "message": "Way, way over priced, their earnings were only in the 100 millions this quarter, bad move by Google.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_18:41:56", "killed": false, "user_key": "63f289d0adff09dc3ff2ce690a25ab3e", "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}, "9676008": {"up_voted": false, "ip": "", "has_replies": false, "message": "It is cool how the rumor spread first on Twitter and you couldn't find anything about it on the web", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_17:42:10", "killed": false, "user_key": "5049191b60d4a694e164c105c75df6d5", "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}, "9676009": {"up_voted": false, "ip": "", "has_replies": false, "message": "Google says their not evil, but DubleClick certainly is - just take a look at your cookie cash.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_21:55:40", "killed": false, "user_key": "9b646ff3eeda1f01cc2b1cb86d1634f9", "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}, "9676010": {"up_voted": false, "ip": "", "has_replies": false, "message": "Brave.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_18:10:00", "killed": false, "user_key": "aaa1c400b7e02bea94b84ce889e72dbd", "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}, "9676011": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"They see the $300 billion advertising industry as offering far more growth potential than selling another copy of Office or something like that.\"<br><br>They just want a slice of the pie. It's not like they're putting all their eggs in one basket. It actually matters more to Google. Google can't afford to lose in this market.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_15:33:26", "killed": false, "user_key": "6f7addaed3e1d4fdf0b047695ddd5f70", "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}, "9676012": {"up_voted": false, "ip": "", "has_replies": false, "message": "DoubleClick has certainly come in for their share of criticism over privacy and tracking in the past. It will be interesting to see whether Google gets a free pass from the babbling classes for this acquisition. Also will be interesting to see whether Microsoft remains the heavy user of DoubleClick tracking that it is today.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_18:26:59", "killed": false, "user_key": "a54251b745d59735ea5e9f0656a5d58d", "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}, "9676013": {"up_voted": false, "ip": "", "has_replies": false, "message": "@60  uhhhhh...Huh? I'm guessing you don't hang around F100 Enterprises too much.<br><br><br>A. No Operating system<br><br>ummmm... never heard of AIX? MVS?<br><br>B. No web portal or internet strategy to speak of<br><br>err...not heard of their Websphere line of products?<br><br>C. no hardware line anymore<br><br>I'm guessing you've never heard of the iSeries, the pSeries, the xSeries, or any of IBM's UNIX or Linux servers?  or any of their other Intel or AMD based servers? Their intellistations? Their SAN's, or NAS'?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_18:57:53", "killed": false, "user_key": "26493d7270fb206c1e08599674e51e5a", "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}, "9676014": {"up_voted": false, "ip": "", "has_replies": false, "message": "#46,48.<br>MS don\u2019t have any product to integrate such big Ad.business acquisition. As per Mr. Kevin, If MS really had such clear vision, they should have bought it 2 years ago when DoubleClick was worth of below 1B. Online business can have clear strategy for more than 2 months ahead of time?, Dr.Eric told in press conference \"No big deals ahead\" in earlier march 2007. but now 3B+ deal.<br><br>The result of this acquisition is a wait and see game, Google do not get immediate pay back, may face business alignment/Privacy problems similar to MS, till this time MS Is struggling with 2 similar product line up (msn vs windows live) and privacy issues in UK. Even If MS have bought, would be an Ad-business learning phase, privacy issues(DoubleClick uses cookies) and long time pay back.<br><br>Yahoo had a chance to compete head to head with Google, they have missed it (is it a too big amount to you Y?)<br><br>I would recommend to MS&amp;Y that don\u2019t copy/paste Google Ad-Business model, there are lot of places still to be explored. for ex: \u201cAdvertisement as a Service\u201d (more freedom to advertisers, especially in Enterprise space). How Google complementing MS business?, everything at \u2018Cloud\u2019.<br><br>Generally, Microsoft willing to buy technologies, but not coming forth to buy content or users, I don\u2019t know why(what are you going to do with 30B cash?)<br><br>Personally, I hate to see large companies are going on the direction to grow via acquisition instead of R&amp;D / Innovation.<br><br>Kind rgrds<br>Saran", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_19:31:26", "killed": false, "user_key": "32ca778cb6dc72863614273106fa01ad", "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}, "9676015": {"up_voted": false, "ip": "", "has_replies": false, "message": "I can't shake the impression that Google just paid 3.1 cool billions just to keep Microsoft from having it.<br><br>Because I really don't think Google would need to buy DoubleClick for any other reason... Well, at least it wouldn't be worth that much money to them.<br><br>I don't buy it that Google doesn't have the relationships to enter the display ad business or that it couldn't build them in a timely fashion for a lot less money. Robert, can you comment on that? I'd love to read your analysis on this.<br><br>For now, I believe this is all about shutting the door on Microsoft's face. The company's assets and relationships are just icing on the cake.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_17:55:11", "killed": false, "user_key": "81c09757a4521e0ef495870ca4d50b8e", "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}, "9676016": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Saran: when I worked at Microsoft Microsoft\u2019s president Kevin Johnson told me (and others) that almost all of its growth would come from advertising-based revenues in the future\"<br><br>Which pretty much explains why Johnson is no longer in charge of sales.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_18:43:32", "killed": false, "user_key": "26493d7270fb206c1e08599674e51e5a", "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}, "9676017": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"We will be saying things like Google-Apple\"<br><br>And what is Apple doing here? Somehow Google's dominance will kill Desktop OS but not Mac?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_15:07:33", "killed": false, "user_key": "aaa1c400b7e02bea94b84ce889e72dbd", "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}, "9676018": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm not so sure that this is a huge loss for MSFT. If they thought Doubleclick was worth this much they would have bought the company. Google has already been accused by some of overpaying for YouTube. Doubleclick may be another case of their irrational exuberance.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_17:54:04", "killed": false, "user_key": "fd620d30ce856c99eeac7d190bbd4111", "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}, "9676019": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dario: it's in the New York Times now. I updated my post.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_17:47:45", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "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}, "9676020": {"up_voted": false, "ip": "", "has_replies": false, "message": "Here's the New York Times article on the acquisition: <a href=\"http://www.nytimes.com/2007/04/14/technology/14DoubleClick.html?ref=technology:\" rel=\"nofollow\">http://www.nytimes.com/2007/04/14/technology/14...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_17:48:22", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "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}, "9676021": {"up_voted": false, "ip": "", "has_replies": false, "message": "DoubleClick is a major ad network. Google gobbles it, which pretty much signs death for everybody else, including small agile players.<br><br>Microsoft consolation : Gator (Claria) purchase can proceed...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_03:29:10", "killed": false, "user_key": "e21d18273096895080bccf91a9a5c264", "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}, "9676022": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"It\u2019s like saying Me and Bill Gates have billions of $$$ between us.\"<br><br>Not really, but if you want to believe so.<br><br>\"It\u2019s interesting that people so easily discount an entity that is atleast 3rd in about 10-15 different segments.\"<br><br>It's easy to do when Microsoft loses money on 8 of them.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_17:45:54", "killed": false, "user_key": "3aeb85796d88e54daedf94e769fda691", "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}, "9676023": {"up_voted": false, "ip": "", "has_replies": false, "message": "it is one heck of a coup for Google, and makes sense for them to do this, instant $.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_18:35:39", "killed": false, "user_key": "7604593868636a820402c67350a8cd16", "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}, "9676024": {"up_voted": false, "ip": "", "has_replies": false, "message": "with the purchase, hopefully DoubleClick will mend its ways and \"not be evil\". :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_22:47:17", "killed": false, "user_key": "32618b6e0dce34a5344418e60c7ac30a", "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}, "9676025": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"they are quickly approaching the smae financials as Microsoft \"<br>67 &amp; 63 : Apart from the 'competes with MSFT' plank there's no way AAPL and GOOG can be bracketed together (however you may want to spin it).<br><br>It's like saying Me and Bill Gates have billions of $$$ between us.<br><br>In fact the hardest hit guy when GOOG decides to do some sort of consumer software would be Aaple.(think a $500 laptop with just a maxthon browser, google wi-fi and Google apps)<br><br>It's interesting that people so easily discount an entity that is atleast 3rd in about 10-15 different segments.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-14_15:35:46", "killed": false, "user_key": "aaa1c400b7e02bea94b84ce889e72dbd", "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}, "9676026": {"up_voted": false, "ip": "", "has_replies": false, "message": "This move is to disrupt Microsoft short term and long term strategy and plan. It would take longer for Microsoft to catch up.<br><br>Follow Ycombinator Paul Graham's advise: Buy the startups with the brightest developers in Silicon Valley locking them up in a building away from Seattle. Offer them FREE shuttle bus and FREE healthy food. Allow them to bring dogs and cats to office. Waiting for H1B visa talents won't get results fast enough on the web. Listen to the veterans and industry watchers.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_21:36:44", "killed": false, "user_key": "4b6ec3cb632af10675425902581b1e74", "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}, "9676027": {"up_voted": false, "ip": "", "has_replies": false, "message": "@Robert: Thanks,i read the update now. What do u think ? Almost double the 1.65$ billion !", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_17:53:32", "killed": false, "user_key": "dariosalvelli", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "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}, "9676028": {"up_voted": false, "ip": "", "has_replies": false, "message": "None of these businesses Google buys makes anywhere near the amount of money they purchased it for. Youtube for 2 Billion, it was LOSING 1M per month at the time. DoubleClick is a modest business, in the single digit millions GROSS. It's not going to recuperate the money. It's a buy out at a loss.<br><br>The MySpace search buy out is a loss too. Orkut and Gmail on the other hand are different.<br>Google is playing the game of internet Monopoly here.<br>The obvious choice is to let go of the traditional web internet, and let Google choke on their own vomit by spending on businesses that do not live up to the expenditures. The money they spend on Live could alternately be used to fuel a different strategy that does NOT compete with Google.<br>Microsoft competing with Google on the internet is going to be as futile now as it was for Commodore to compete with windows in the early or mid 90s.<br>It's a money pit at this point and they need to find something they ARE good at. And fire Ballmer. He's a train wreck.<br>Screw Doubleclick, it's cookie spam. It's Claria of the internet.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_22:56:55", "killed": false, "user_key": "e8d0dde0c4b3d65b72a92bba1fee5aa7", "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}, "9676029": {"up_voted": false, "ip": "", "has_replies": false, "message": "I was at lunch when my phone started ringing.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_17:37:21", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "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}, "9676030": {"up_voted": false, "ip": "", "has_replies": false, "message": "DoubleClick did the image ads? Right? The ones that many people hate? Thats why Google's AdWords were so popular? Whats going to happen with those?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_19:03:04", "killed": false, "user_key": "3d3e728a7a3ce6dbda98525f2a5ecbee", "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}, "9676031": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"UPDATE: $3.1 billion DoubleClick. Microsoft was in bidding. New York Times has the story, I don\u2019t have the link yet.\"<br><br>Really?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-13_17:32:00", "killed": false, "user_key": "98583d556bf0b5c55f7a62217ceeafcc", "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": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "18464373", "user_id": "anonymous", "forum_id": "125200", "hash": -2263625243482389581}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "google_buys_doubleclick_for_31_billion", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18464373, "num_posts": 80, "closed": true, "queued": false, "killed": false}, "reactions_limit": 10, "context": {"show_reply": false, "use_fb_connect": true, "forum_facebook_key": "faaf467d0f47abde553c3b8e0e1b3570", "use_yahoo": false, "subscribed": false, "use_twitter_signin": true, "use_openid": false, "realtime_speed": 5000}, "reactions_start": 0, "settings": {"debug": false, "disqus_url": "http://disqus.com", "media_url": "http://media.disqus.com"}, "media_url": "http://media.disqus.com"};
	/* */ this.jsonData.cookie_messages = {"user_created": null, "post_has_profile": null, "post_twitter": null, "post_not_approved": null}; this.jsonData.session = {"url": null, "name": null, "email": null}; /* */

	
	this.curPageId = 'dsq-comments';

	this.frames = {};
};

var disqus_popup_reference = null;

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



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

  // Thread moderator actions
  this.CLOSE_THREAD = "Close thread";
  this.OPEN_THREAD = "Open thread";
  this.REMOVE_THREAD = "Remove thread";
  this.RESTORE_THREAD = "Restore thread";
  this.ACTIONS = "Actions";
};
// Dsq.Strings

/**
 * Dsq.FmtStrings: functions that return interpolated UI strings
 */
Dsq.FmtStrings = new function() {
	// Seems we have to use named interpolation for Django to translate. Investigate more.
	this.LOGGED_IN_AS = function(username) {
		return Dsq.Utils.interpolate('Logged in as %(username)s', {username:username});
	};

	this.LOGOUT_FROM = function(disqus) {
		return Dsq.Utils.interpolate('Logout from %(disqus)s', {disqus:disqus});
	};

	this.SHOWING_COMMENTS_FULL = function(total, num) {
		if (num === 1) {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> of <span id='dsq-total-posts'>%(total)s</span> comment", {num:num, total:total});
		} else {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> of <span id='dsq-total-posts'>%(total)s</span> comments", {num:num, total:total});
		}
	};

	this.SHOWING_COMMENTS_WITHOUT_PAGINATION = function(num) {
		if (num === 1) {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> comment", {num:num});
		} else {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> comments", {num:num});
		}
	};

	this.NUMBER_OF_COMMENTS = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s comment'
				: '%(num)s comments'
			), {num:num});
	};

	this.NUMBER_OF_LIKES = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s like'
				: '%(num)s likes'
			), {num:num});
	};

	this.NUMBER_OF_POINTS = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s point'
				: '%(num)s points'
			), {num:num});
	};
};
// Dsq.FmtStrings





Dsq.CSRF_TOKEN = 'a2d140c59df8cd4ce27a20e0829cacd8';
Dsq.COMMENTS_RE = /(<li.*?id="?dsq-comment-(\d+)"?.*?>)((?:.|\s)*?)(<\/li>)/gim;
Dsq.POST_RE = /(<div.*?id="?dsq-comment-header-(\d+)"?.*?>)((?:.|\s)*?)(<\/div>)\s*(<div.*?class="?dsq-comment-body"?.*?>)((?:.|\s)*)(<\/div>)/gim;
Dsq.POST_BODY_RE = /\s*(<div.*?id="?dsq-comment-message-(\d+)"?.*?>)((?:.|\s)*)(<\/div>)/gim;
// HACK: Safari ends with "-->" while other browsers end with "--&gt;" as expected.
Dsq.MEDIA_POST_RE = /&lt;!--\[(.*?)\]--(?:>|&gt;)/gim;



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

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

	this._lastHash = null;

	this._accumMsg = '';

	this._lastSeqno = 0;

	this.MAX_DATA_LEN	= 1024;

	this.WAIT_TIME		= 10;

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

};

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

FragmentPacket.prototype.log = function(msg) {



};

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

		hash = this.reader.name;
	} else {

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

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

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

		this._lastSeqno = seqno;

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

				this._accumMsg = '';

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

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

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

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

};

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

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

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

	if (packetNum === 0) {

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

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

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

	if (num_packets === packetNum) {

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

	this._lastSeqno++;

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

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

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

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

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

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


	this.receiverId = receiverId;
};

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

	var listener = function(e) {

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


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

		that.receiveCallback(data);
	};

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

PostMessagePacket.prototype.send = function(msg) {



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


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

	var packet;
	if (!msg) {

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

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

var JsonRpc = function() {

	this.ids = {};

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

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

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

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

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

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

				json = 'null';
				break;
		}

		return json;
	};

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

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

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

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

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

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

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

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

		send_func(this.objectToJSON(request));

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

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


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



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


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


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

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

	this.packetHandler = null;


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


	var _createReceiverForFragmentPacket = function() {

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

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

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

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

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

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

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

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

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

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

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

			that._ready = true;
		};

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

		that.receiver.onload = receiver_onload;







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

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

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

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


	var _createReceiverForPostMessage = function() {

		var receiver_onload = function() {

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

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


		ParentMessenger['_receiver_onload_' + receiverId] = receiver_onload;

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

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

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

};

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

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

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

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

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

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

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

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

	var sendFunc = function(msg) {

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


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


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

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

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

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

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

		if (msg.username) {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	var handleSessionData = function(session) {

		var forum_url = Dsq.jsonData.forum.url;




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

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

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


	






Dsq.Themes = {};

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



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

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

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

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

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

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

		
		

		return html;

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

		html += Dsq.Templates.pagination();

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

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		


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

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

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

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

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

		return html;
	};

	this.postBox = function(post_id, use_fallback_iframe) {


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

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


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

		var _requestUserInfo = function() {
			var html;



			var user_has_email = false;

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

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

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


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



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

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




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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

		var service_icon = (reaction.get_service_name == 'trackback' || reaction.get_service_name == 'pingback' ? 'rss' : reaction.get_service_name.replace(' ', ''));
		item += (reaction.author_url && reaction.author_url !== ''
				? '</a>'
				: '')
			+ '</td>'
			+ '<td><cite class="dsq-comment-cite">' + reaction.author_name + '</cite> <span class="dsq-comment-header-time">' + reaction.date_created + '</span></td>'
			+ '<td class="dsq-comment-header-likes"></td>'
			+ '</tr></table></div>' // end dsq-comment-header
			+ '<div class="dsq-reaction-header" \
				<table> \
					<tr> \
						<td class="dsq-reaction-header-left">'
							+ '<img class="dsq-service-icon" src="' + Dsq.jsonData.media_url + '/images/reactions/services/' + service_icon + '.png" />'
							+ ' From <a class="dsq-service-name" target="_blank" href="' + reaction.url + '">' + reaction.get_service_name + '</a> '
							+ 'via <a href="' + reaction.source_url + '">' + (reaction.source == 'backtype' ? 'BackType' : 'UberVU') + '</a>'
						+ '</td>'
						+ '<td class="dsq-reaction-header-right">';

			if(reaction.retweets) {
				var num_retweets = reaction.retweets.length;
				if (num_retweets > 0) {
					if (num_retweets == 1) {
						item += 'One more retweet from <a href="' + reaction.retweets[0].url + '">'  + reaction.retweets[0].author_name + '</a>';
					} else {
						item += (num_retweets + ' more retweets from ');
						item += '<span id="dsq-reaction-retweets-' + reaction.id + '">';
						var n_tweets = (num_retweets > 3) ? 3 : num_retweets;
						item += Dsq.Templates.showRetweets(reaction.id, n_tweets);
						if (n_tweets != num_retweets) {
							item += '</span> <a onclick="Dsq.Templates.showRetweets(' + reaction.id + ', 0, \'dsq-reaction-retweets-' + reaction.id + '\');'
								+ 'this.parentNode.removeChild(this); return false;" href="#">Show all</a>';
						}
					}
				}
			}	
			item += '</td></tr> \
			</table> \
			</div>' // end dsq-reaction-header
			+ '<div class="dsq-comment-body"> \
				<div class="dsq-comment-message">' + reaction.body + '</div>'
			+ '</div> \
			<div class="dsq-comment-footer"> \
				<div class="dsq-comment-footer-left"> \
				</div>'
				+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator 
					? ' \
					<div class="dsq-comment-footer-right"> \
						<button type="button" class="dsq-button-small dsq-hide-reaction" onclick="Dsq.Reaction.hide(' + reaction.id + ')">Hide</button> \
					</div>'
					: '')
			+ '</div>'
		item += '</li>'; /* Reaction HTML ends */
		return item;
	};

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

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

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

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

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

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



	
	this.chooseSubscribe = function(post_id) {

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

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

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

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

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

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

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

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

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

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

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

		d = auth_data;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

				body.appendChild(edit_area);

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

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

		Dsq.Templates.toggleEdit(post_id);
	};

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

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

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

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

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

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

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

		}

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

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

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

		var extra_params = '';

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

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


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

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

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

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




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

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

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

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

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

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

		Dsq.Templates.setLoadingButton(false);
	};

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

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




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

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

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

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

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

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


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


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

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


/**
 * Dsq.Urls: URL paths
 */
Dsq.Urls = new function() {
	this.LOGIN = '/profile/login/';
	this.LOGOUT = '/logout/';
	this.REPLY = 'http://scobleizer.disqus.com/google_buys_doubleclick_for_31_billion/reply.html';
	this.REQUEST_USER_PROFILE = '/AnonymousUser/';
	this.REQUEST_USER_AVATAR = 'http://media.disqus.com/images/noavatar92.png';
};
// Dsq.Urls

/**
 * Dsq.Validators: Validation for form fields
 */
Dsq.Validators = new function() {
	this.VALID_EMAIL_RE = /^[a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*\@(([a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*)+\.[a-z]{2,}|([0-9]+\.){3}[0-9]+)$/i;
	this.name = function(name) {
		var error = false;

		if(typeof Dsq.Templates.placeholder !== 'undefined' &&
		   name == Dsq.Templates.placeholder.name) {
			error = true;
		}
		if(name.length <= 1) {
			error = true;
		}

		if(error) {
			return "Please enter a name to comment.";
		} else {
			return true;
		}
	};
	this.email = function(addr) {
		if(Dsq.Validators.VALID_EMAIL_RE.test(addr)) {
			return true;
		} else {
			return "Please enter a valid email to comment.";
		}
	};
	this.url = function(addr) {
		if(!addr || addr.indexOf('.') != -1) {
			return true;
		} else {
			return "Please check your website URL (this field is optional).";
		}
	};

	this.validate = function(bulk_validation, failure_callback) {
		failure_callback = failure_callback || function(e){ alert(e); };

		for(var i = 0; i < bulk_validation.length; i++) {
			v = bulk_validation[i];
			ret = v.validator(v.value);
			if(ret !== true) {
				failure_callback(ret);
				return false;
			}
		}
		return true;
	};
};

/**
 * Dsq.Utils: Generic utility functions.
 */
Dsq.Utils = new function() {
	this.ie = /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
	this.ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false;
	this.ie6 = (!window.XMLHttpRequest) ? true: false;
	this.webkit = navigator.userAgent.indexOf('AppleWebKit/') >= 0;
	this.gebiFromElementCollectionCache = {};
	this._styleSheet = null;

	this.gebiFromElement = function(el, id, tag) {
		// This only method only helps IE.
		if(!this.ie) {
			return Dsq.$(id);
		} else {
			var cacheKey = el.id + '-' + tag;
			tag = tag || 'div';
			if(typeof this.gebiFromElementCollectionCache[cacheKey] != 'undefined') {
				collection = this.gebiFromElementCollectionCache[cacheKey];
			} else {
				collection = el.getElementsByTagName(tag);
				this.gebiFromElementCollectionCache[cacheKey] = collection;
			}

			for(var i = 0; i < collection.length; i++) {
				if(collection[i].id == id) {
					return collection[i];
				}
			}
			return null;
		}
	};

	this.execOnReady = function(func) {
		var node = document.createElement('document:ready');
		try {
			node.doScroll('left');
			func();
			node = null;
		} catch(err) {
			setTimeout(function() { Dsq.Utils.execOnReady(func); }, 10);
		}
	};


	// Courtesy of http://www.quirksmode.org/js/cookies.html
	this.createCookie = function(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	};

	this.readCookie = function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	};

	this.eraseCookie = function(name) {
		Dsq.Utils.createCookie(name,"",-1);
	};

	this.deleteNode = function(node) {
		if(node) {
			this.deleteChildren(node);
			if(typeof node.outerHTML != 'undefined') { node.outerHTML = ''; }
			else if(node.parentNode) { node.parentNode.removeChild(node); }
			delete node;
		}
	};

	this.deleteChildren = function(node) {
		if(node) {
			for(var x = node.childNodes.length-1; x >= 0; x--) {
				var childNode = node.childNodes[x];
				if(childNode.hasChildNodes()) { this.deleteChildren(childNode); }
				if(typeof childNode.outerHTML != 'undefined') { childNode.outerHTML = ''; }
				else node.removeChild(childNode);
				delete childNode;
			}
		}
	};

	this.findPos = function(obj) {
		var curleft = 0;
		var curtop = 0;
		if (obj.offsetParent) {
			do {
				curleft += obj.offsetLeft;
				curtop += obj.offsetTop;
			} while (obj = obj.offsetParent);
		}
		return [curleft,curtop];
	};

	this.getWindowSize = function() {
		var windowWidth = -1;
		var windowHeight = -1;

		if(typeof(window.innerWidth) == 'number') { //Non-IE
			windowWidth = window.innerWidth;
			windowHeight = window.innerHeight;
		} else if(document.documentElement) { // IE 6+ in 'standards compliant mode'
			windowWidth = document.documentElement.clientWidth || document.body.clientWidth;
			windowHeight = document.documentElement.clientHeight || document.body.clientHeight;
		}

		return [windowWidth, windowHeight];
	}

	this.getScrollPos = function() {
		var scrollWidth, scrollTop;

		if(document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollWidth)) {
			scrollWidth = document.documentElement.scrollWidth;
			// IE is weird here.  If no doctype is provided, document.body.scrollTop is 0,
			// otherwise document.documentElement.scrollTop is 0.
			scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
		} else if(document.body.scrollTop && document.body.scrollWidth) {
			scrollWidth = document.body.scrollWidth;
			scrollTop = document.body.scrollTop;
		}

		return [scrollWidth, scrollTop];
	}

	this.addEventListener = function(instance, eventName, listener) {
		var listenerFn = listener;
		if (instance.addEventListener) {
			instance.addEventListener(eventName, listenerFn, false);
		} else if (instance.attachEvent) {
			listenerFn = function() {
				listener(window.event);
			};
			instance.attachEvent("on" + eventName, listenerFn);
		} else {
			throw new Error("Event registration not supported");
		}
		return {
			instance: instance,
			name: eventName,
			listener: listenerFn
		};
	};

	this.removeEventListener = function(event) {
		var instance = event.instance;
		if (instance.removeEventListener) {
			instance.removeEventListener(event.name, event.listener, false);
		} else if (instance.detachEvent) {
			instance.detachEvent("on" + event.name, event.listener);
		}
	};

	this.fixIframesIE = function(id) {
		var disqusThread = Dsq.$(disqus_container_id);
		var iframes = disqusThread.getElementsByTagName('iframe');

		if(id) {
			var container = Dsq.$(id);
		} else {
			var container = Dsq.$('dsq-content');
		}

		for(i = 0; i < iframes.length; i++) {
			if (container) {
				iframes[i].style.width = container.offsetWidth;
			}
		}
	};

	this.getElementsByClassName = function(oElm, strTagName, strClassName) {
	/* Credit: Jonathan Snook [http://www.snook.ca/jonathan], Robert Nyman [http://www.robertnyman.com] */
		var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
		var arrReturnElements = new Array();
		strClassName = strClassName.replace(/\-/g, "\\-");
		var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
		var oElement;
		for(var i = 0; i < arrElements.length; i++) {
			oElement = arrElements[i];
			if(oRegExp.test(oElement.className)) {
				arrReturnElements.push(oElement);
			}
		}
		return (arrReturnElements);
	};

	this.postToUrl = function(url, post_data, opt_redirect) {
		var form = document.createElement('form');
		var iframe_container = document.createElement('div');
		var id = 'dsq-temp-iframe-' + (new Date()).getTime();

		form.method = 'POST';
		form.action = url;
		if (!opt_redirect) {
			form.target = id;
		}
		iframe_container.innerHTML = '<iframe style="display:none" name="' + id + '" id="' + id + '"></iframe>';

		for(var key in post_data) {
			if(post_data.hasOwnProperty(key)) {
				var input = document.createElement('input');
				input.name = key;
				input.type = 'hidden';
				input.value = post_data[key];

				form.appendChild(input);
			}
		}

		Dsq.$b.appendChild(iframe_container);
		Dsq.$b.appendChild(form);
		form.submit();
	};

	// Strips integer id from id of element in the form ('some-id-###')
	this.extractId = function(e) {
		var chunks = e.id.split('-');
		if(chunks.length <= 1) {
			return 0;
		} else {
			var retval = parseInt(chunks[chunks.length-1]);
			return !isNaN(retval) ? retval : null;
		}
	};

	this.getStyle = function(el, styleProp) {
		if(el.currentStyle) {
			var y = el.currentStyle[styleProp];
		} else if(window.getComputedStyle) {
			var y = document.defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);
		}

		if(y == 'transparent' || y == '') {
			this.getStyle(el.parentNode, styleProp);
		} else {
			return y;
		}
	};

	this.execScript = function(url, append_qs, container) {
		var script = document.createElement('script');
		append_qs = typeof append_qs == 'undefined' ? true : append_qs;
		container = container || Dsq.container;

		if(append_qs) {
			var j = (url.indexOf('?') >= 0) ? '&' : '?';
			url += j + (new Date()).getTime();
		}
		script.type = 'text/javascript';
		script.charset = 'UTF-8';
		script.src = url;
		container.appendChild(script);
		return script;
	};

	this.pluralize = function(num, singular, plural) {
		return (num != 1) ? plural || 's' : singular || '';
	};

	this.getRequestParams = function(queryString /* optional */) {
		var pairs, tuple;
		var params = {};

		queryString = queryString || window.location.search.substring(1);
		pairs = queryString.split('&');

		for (var i = 0, pair; pair = pairs[i]; i++) {
			tuple = pair.split('=');
			params[tuple[0]] = (tuple[1] || true);
		}

		return params;
	};

	this.addCssRule = function(selector, styleText, index) {
		var stylesheet;
		index = index || 0;

		if(!this._styleSheet) {
			var styleEl = document.createElement('style');
			document.getElementsByTagName('head')[0].appendChild(styleEl);
			this._styleSheet = styleEl.sheet;
			if(!this._styleSheet) {
				// IE does not like our newly created stylesheet.
				this._styleSheet = document.styleSheets[document.styleSheets.length-1];
			}
		}
		stylesheet = this._styleSheet;

		if(stylesheet.insertRule) {
			var ruleText = selector + ' { ' + styleText + ' }';
			if(index == -1) {
				index = stylesheet.cssRules.length;
			}
			stylesheet.insertRule(ruleText, index);
		} else if(stylesheet.addRule) {
			stylesheet.addRule(selector, styleText, index);
		}
	};

	this.forEachIn = function(obj, callback) {
		for(var key in obj) {
			if(obj.hasOwnProperty(key)) {
				callback(key, obj[key]);
			}
		}
	};

	this._interpolateGlobalContext = {
		// values that get used a lot and are global to the request
		'profile_url': Dsq.Urls.REQUEST_USER_PROFILE,

		'disqus_url': Dsq.jsonData.settings.disqus_url,
		'media_url': Dsq.jsonData.settings.media_url,
		'request_username': Dsq.jsonData.request.username,
		'request_display_username': Dsq.jsonData.request.display_username,
		'forum_name': Dsq.jsonData.forum.name
	};

	this.renderFromContextStack = function(key, contexts) {
		// Returns the first instance of `key` in the array of objects `contexts` or else ''
		for (var i=0; i<contexts.length; i++) {
			if (contexts[i][key] !== undefined) {
				return String(contexts[i][key]);
			}
		}
		throw new Error('key ' + key + ' not found in context');
	};

	var that = this;
	this.interpolate = function(fmt, opt_localContext) {
		// Interpolate `fmt` named-format string with an assumed global context.
		// Based on `interpolate` in django.views.i18n
		var contextStack = [opt_localContext || {}, that._interpolateGlobalContext];
		return fmt.replace(/%\(\w+\)s/g, function(match){
			return that.renderFromContextStack(match.slice(2,-2), contextStack);
		});
	};

	this.stripTags = function(s) {
		// Removes HTML tags from `s`
		return s.replace(/(<([^>]+)>)/g,"");

	};

	this.assert = function(b) {
		if (!b) {
			throw new Error('Assertion error.');
		}
	};

};
// Dsq.Utils

/**
 * Dsq.Popup: Popup helper functions.
 */
Dsq.Popup = new function() {
	this.timeHide = new Array();
	this.timeShow = new Array();
	this.activePopup = {};
	this.profileCache = {};
	this.statusCache = {};

	this.showTimer = function(post_id) {
		// clear the hide timer
		clearTimeout(this.timeHide[post_id]);

		// start the timer
		if(!Dsq.Popup.profileIsOn && !Dsq.Thread.adminIsOn) {
			this.timeShow[post_id] = setTimeout("Dsq.Popup.popProfile(\"" + post_id + "\")", 400);
		}
	};

	this.hideTimer = function(post_id) {
		// clear the show timer
		clearTimeout(this.timeShow[post_id]);
	};

	this.updateProfile = function(username) {
		// Callback from /embed/profile.js
		if (this.statusCache[username]) {
			var statusEl = Dsq.$('dsq-profile-status-' + username);
			statusEl.innerHTML = this.statusCache[username];
			statusEl.style.display = 'block';
		}

		if (this.profileCache[username]) {
			var _cache = this.profileCache[username];

			var _genhtml = function(text) { return '<span><big>' + text + '</big></span>'; };
			var _no_comments = _genhtml(Dsq.FmtStrings.NUMBER_OF_COMMENTS(_cache.comments_count));
			var _no_likes = _genhtml(Dsq.FmtStrings.NUMBER_OF_LIKES(_cache.likes_count));
			var _no_points = _genhtml(Dsq.FmtStrings.NUMBER_OF_POINTS(_cache.points));

			var statsEl = Dsq.$('dsq-popup-profile-user-stats-' + username);
			statsEl.innerHTML = '';

			if (Dsq.jsonData.users[username].registered) {
				statsEl.innerHTML = _no_comments + _no_likes;
			}
			statsEl.innerHTML += _no_points;

			var activeSites = '';
			for (var i = 0; i < _cache.active_sites.length; i++) {
				var site = _cache.active_sites[i];
				activeSites += '<li><a href="' + site.url + '"> \
					<img src="' + site.favicon + '"/ width="16" height="16"/></a>\
					<a href="' + site.url + '">' + site.name + '</a></li>';
			}
			if (activeSites !== '') {
				Dsq.$('dsq-popup-profile-active-sites-' + username).innerHTML = activeSites;
			} else {
				Dsq.$('dsq-popup-profile-active-sites-' + username).innerHTML = 'This site.';
			}

			var moderatedSites = '';
			for (var i = 0; i < _cache.moderated_sites.length; i++) {
				var site = _cache.moderated_sites[i];
				moderatedSites += '<li><a href="' + site.url + '"> \
					<img src="' + site.favicon + '"/ width="16" height="16"/></a>\
					<a href="' + site.url + '">' + site.name + '</a></li>';
			}
			if (moderatedSites !== '') {
				Dsq.$('dsq-popup-profile-moderated-' + username).innerHTML = moderatedSites;
			} else {
				Dsq.$('dsq-popup-profile-moderated-wrapper-' + username).innerHTML = '';
			}
		}

		// Reposition popup after full HTML is rendered
		if(Dsq.Popup.activePopup && Dsq.Popup.activePopup.el) {
			Dsq.Popup.initPopup(Dsq.Popup.activePopup.el, Dsq.Popup.activePopup.id, Dsq.Popup.activePopup.type);
		}

	};

	this.showCookieMsgs = function() {
		var title = '';
		var message = '';
		var numAlerts = 0;

		Dsq.Utils.forEachIn(Dsq.jsonData.cookie_messages, function(k, v) {
			if (!v) return;

			switch(k) {
				// Cookie: Twitter
				case 'post_twitter':
					if (v === 'error') {
						title = 'Twitter Error!';
						message += '<li id="dsq-msg-twitter-error">Oops, we couldn\'t tweet this comment. Please check your <a href="http://disqus.com/account/services">account settings</a>.</li>';
					} else {
						var _msg = v.split(':');
						title = 'Tweeted!';
						message += '<li id="dsq-msg-twitter-success">Your comment was successfully tweeted. <a href="http://twitter.com/' + _msg[0] + '/status/' + _msg[1] + '">Click here to view the tweet</a>.</li>';
					}
					break;
				// Cookie: Unapproved Post
				case 'post_not_approved':
					title = 'Comment awaiting approval by a moderator';
					message += '<li id="dsq-msg-post-not-approved">Your comment must be approved by a moderator before appearing here.</li>';
					break;
				// Cookie: Profile Found
				case 'post_has_profile':
					title = 'Use your existing commenter profile';
					message += '<li id="dsq-msg-post-has-profile">You have just posted your commment as a <span class="dsq-badge-guest">Guest</span>, but you may already have a <span class="logo-disqus">Disqus</span> Profile.<br /><br /><a href="http://disqus.com/claim">Log in and claim this comment!</a></li>';
					break;
				case 'user_created':
					var _data = v.split(':');
					title = 'Profile created!';
					message += '<li id="dsq-msg-user-created">You have just created a <span class="logo-disqus">Disqus</span> Profile, the best way to claim, manage, and track your comments all over the web. \
					<br /><br />A confirmation is being sent to <strong>' + _data[1] + '</strong>. Please check for this email in order to verify your profile. \
					<ul class="dsq-list-tick"> \
						<li>Your username is <strong>' + _data[0] +'</strong>. <a href="http://disqus.com/people/' + _data[0] + '/" target="_blank">Click here to view your public profile</a>.</li> \
						<li>Be sure to set your profile picture, as well as connect your <span class="dsq-badge-facebook">Facebook</span> and <span class="dsq-badge-twitter">Twitter</span> accounts. <a href="http://disqus.com/account/" target="_blank">Click here for account settings</a>.</li> \
					</ul> \
					</li>'
					break;
				default:
					break;
			}
			numAlerts++;
		});

		if(numAlerts > 1) {
			message = '<ul class="dsq-list-bluebullet">' + message;
			message += '</ul>';
			title = 'Thanks for posting!';
		}
		if(numAlerts > 0) {
			if(typeof(disqus_cookie_msgs) == 'function') {
				disqus_cookie_msgs(message, title);
			} else {
				Dsq.Popup.popModal(message, title);
			}
		}
	};

	this.helpBadges = function(post_id) {
		var html = ' \
			<ul class="dsq-popup-help"> \
				<li><span class="dsq-badge dsq-badge-verified">Verified</span> has a <span class="logo-disqus">Disqus</span> Profile with a confirmed email address.</li> \
				<li><span class="dsq-badge dsq-badge-registered">Registered</span> has a <span class="logo-disqus">Disqus</span> Profile, but has not yet confirmed his or her email address.</li> \
				<li><span class="dsq-badge dsq-badge-guest">Guest</span> is not logged in with any account and has not claimed his or her comments.</li> \
				<li class="dsq-help-otheraccts">Other accounts</li> \
				<li><span class="dsq-badge dsq-badge-facebook">Facebook</span> is using his or her Facebook profile via Facebook Connect.</li> \
				<li><span class="dsq-badge dsq-badge-twitter">Twitter</span> is using his or her Twitter profile via Twitter Sign-in.</li> \
				<li><span class="dsq-badge dsq-badge-openid">OpenID</span> is using his or her OpenID.</li> \
			</ul> \
		';

		this.popModal(html, 'Help: Types of Commenters', post_id);
		return;
	};

	this.permalink = function(post_id) {
		var header = 'Link to this comment';
		var body = '<strong>You are anchored to</strong>:<br />' + document.location.protocol + '//' + document.location.host + document.location.pathname + document.location.search + '#comment-' + post_id;

		this.popModal(body, header, post_id);
	};

	this.login = function(header, body) {
		var h = header || 'Login or Register';
		var b = body || '';
		b += Dsq.Templates.frameLogin({id: 'dsq-popup-login'});
		b += '</iframe>'; // HACK: Sometimes there is something funky with the IFRAME SRC that causes no end tag
		this.popModal(b, h, null, true, 'dsq-popup-login');
	};

	this.blacklist = function(id) {
		var _meta = Dsq.jsonData.posts[id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		var title = 'Add to Blacklist';
		var message = ' \
		Adding this person to the blacklist will block him or her from commenting on this site. Check the following types that you would like to add to the blacklist:'
		+ (userData['registered'] ?
			'<div class="dsq-blacklist-option"> \
				<input id="dsq-blacklist-username" type="checkbox" checked> \
				<label for="dsq-blacklist-username"><strong>Username</strong>: ' + userData['username'] + '</label> \
			</div>'
			: '')
		+ (_meta.email ?
			'<div class="dsq-blacklist-option"> \
				<input id="dsq-blacklist-email" type="checkbox" checked> \
				<label for="dsq-blacklist-email"><strong>Email address</strong>: ' + _meta.email + '</label> \
			</div>'
			: '')
		+ '<div class="dsq-blacklist-option"> \
			<input id="dsq-blacklist-ip" type="checkbox" onclick="Dsq.$(\'dsq-blacklist-ip-warning\').style.display=\'block\'"> \
			<label for="dsq-blacklist-ip"><strong>IP address</strong>: ' + _meta.ip + '</label> \
		</div> \
		';

		message += ' \
			<p id="dsq-blacklist-ip-warning" style="display:none">	\
				Note: Blocking this person\'s IP address may also unintentionally prevent others, who share his/her IP address, from commenting on this site. \
				This may include people who are sharing the same computer, living in the same house, or using the same Internet provider. Only block an IP address as a last resort. \
			</p> \
		';

		message += ' \
			<p style="text-align:center"><button type="button" onclick="Dsq.Post.blockUser(' + id + '); this.disabled=true; this.innerHTML=\'Just one moment...\'">Add to Blacklist</button></p> \
		';

		Dsq.Popup.popModal(message, title);
	};

	this.remoteAccountSettings = function() {
		var body = '';
		// Set up IFrame.
		var params = {};
		var base_url = 'http://disqus.com/forums/scobleizer/_auth/embed/remote_settings/';
		var attributes = {id: 'dsq-popup-account-settings'};
		if (typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}

		body = Dsq.Templates._frameGeneric(base_url, params, attributes);
		this.popModal(body, 'Account Settings', null, true, 'dsq-popup-account-settings');
	};

	this.popModal = function(message, title, post_id, use_listener, extra_classes) {
		var container = document.createElement('div');
		var header, body;

		Dsq.Popup._closePopup(null, true);

		if(typeof(title) == 'undefined') { title = ''; }
		if(typeof(use_listener) == 'undefined') { use_listener = true; }

		if(post_id) {
			container.id = 'dsq-popup-message-' + post_id;
		} else {
			container.id = 'dsq-popup-message';
		}

		header = title;
		body = message;

		container.innerHTML = Dsq.Templates.popupModal(header, body);
		Dsq.Popup.initPopup(container, post_id, 'message', extra_classes);
		if(use_listener) {
			Dsq.Popup.popupListener = Dsq.Utils.addEventListener(document, 'mouseup', Dsq.Popup._closePopup);
		}
	};

	this.popAlert = this.popModal;

	this.loading = function(post_id) {
		var title = Dsq.Strings.JUST_A_MOMENT;
		var body = '<div style="text-align:center; padding: 5px 0 10px 0"><img src="http://media.disqus.com/images/loading.gif" alt="" /></div>'
		Dsq.Popup.lightbox(body, title, post_id);
	};

	this.lightbox = function(message, title, post_id) {
		// Wraps Dsq.Popup.popModal

		var overlay = document.createElement('div');
		overlay.id = 'dsq-overlay';
		overlay.className = 'dsq-overlay';
		Dsq.$b.appendChild(overlay);
		
		Dsq.Popup.popModal(message, title, post_id, false, 'dsq-lightbox');
	};

	this.popProfile = function(post_id, userKey) {
		var post = Dsq.jsonData['posts'][post_id];
		if (post && post.has_been_anonymized) {
			Dsq.Popup.popModal('This message was anonymized by its previous owner.', 'Anonymized', post_id);
			return;
		}

		if(post_id) {
			userKey = Dsq.jsonData['posts'][post_id].user_key;	
		}
		var userData = Dsq.jsonData['users'][userKey];
		var elId = 'dsq-popup-profile-' + userKey;
		var container = document.createElement('div');

		if(this.activePopup.el) {
			this._closePopup(null, true);
			if(this.activePopup.linkClicked) {
				this.activePopup.linkClicked = false;
				return;
			}
		}

		container.id = elId;
		container.innerHTML = Dsq.Templates.popupProfile(userKey);

		this.initPopup(container, post_id, 'profile');
		this.popupListener = Dsq.Utils.addEventListener(document, 'mouseup', this._closePopup);

		if(!this.profileCache[userKey]) {
			Dsq.Utils.execScript('http://disqus.com/embed/profile.js'
				+ '?username=' + userKey
				+ '&anon=' + (userData['registered'] ? 0 : 1)
				+ '&f=' + Dsq.jsonData['request'].forum);
		} else {
			this.updateProfile(userKey);
		}
	};

	this._closePopup = function(e, force) {
		var activePopup = Dsq.Popup.activePopup.el;
		var id = Dsq.Popup.activePopup.id;
		var link = 'dsq-avatar-' + id; // HACK: Specific to profile toggle target

		// HACK: This event should be gone if there is no active popup.
		if(!activePopup) {
			return;
		}
		if(force || !Dsq.Popup.isClicked(e, activePopup.id)) {
			// TODO: This is breaking iE?
			if(Dsq.Popup.popupListener) {
				Dsq.Utils.removeEventListener(Dsq.Popup.popupListener);
			}
			
			// Kill overlay
			var overlay = Dsq.$('dsq-overlay');
			if(overlay) { Dsq.Utils.deleteNode(overlay); }
			
			try {
				Dsq.Utils.deleteNode(activePopup);
			} catch(e) {
				// HACK: IE6 throws an error when using deleteNode() with a node containing a <table> in the html.
				activePopup.parentNode.removeChild(activePopup);
			}
			Dsq.Popup.activePopup = {};
		}

		if(!force && Dsq.Popup.isClicked(e, link)) {
 			Dsq.Popup.activePopup.linkClicked = true;
		}

	};

	this.initPopup = function(popup, post_id, type, extra_classes) {
		popup.className = 'dsq-popup dsq-popup-' + type + ' ' + (extra_classes ? extra_classes : '');
		if(Dsq.Utils.ie6 || Dsq.Utils.ie7) {
			// HACK: We can't modify the body before it's ready, so we need
			//       to use an IE-safe "DOMReady" workaround before loading
			//       our popup.
			Dsq.Utils.execOnReady(function() {Dsq.$b.appendChild(popup); });
		} else {
			Dsq.$b.appendChild(popup);
		}

		popup.style.display = 'block';

		var xPos = (Dsq.Utils.getWindowSize()[0] - popup.offsetWidth) / 2;
		var yPos = (Dsq.Utils.getWindowSize()[1] - popup.offsetHeight) / 2;

		if(Dsq.Utils.ie6) {
			yPos += Dsq.Utils.getScrollPos()[1];
		}

		popup.style.left = xPos + 'px';
		popup.style.top = yPos + 'px';

		Dsq.Popup.activePopup = {
			'el' : popup,
			'id' : post_id,
			'type': type,
			'linkClicked' : false
		};
	};

	this.isClicked = function(e, id) {
		var t = e.target || e.srcElement;
		while(t && t.parentNode) {
			if(t.id == id) {
				return true;
			}

			t = t.parentNode;
		}
		return false;
	};
};
// Dsq.Popup

/**
 * Dsq.Templates
 */
Dsq.Templates = new function() {
	/*
	 * Counter keeping track of the number of posts iterated over.
	 */
	this.postLoopCounter = 0;
	this.filters = {};
	this.addPostContainer = 'dsq-post-add';
	this.textareaContainer = 'dsq-post-add';

	this.registerTemplate = function(name, func) {
		this['$$_' + name] = func;

		if(typeof DsqLocal.Filters != 'undefined'
		&& typeof DsqLocal.Filters[name] == 'function') {
			// Push filters to this.filters to unify code.
			this.filters[name] = this.filters[name] || [];
			this.filters[name].push(DsqLocal.Filters[name]);
		}

		this[name] = function() {
			var ret;

			if(typeof DsqLocal.Templates != 'undefined'
			&& typeof DsqLocal.Templates[name] == 'function') {
				ret = DsqLocal.Templates[name].apply(this, arguments);
			}

			if(ret === undefined) {
				ret = this['$$_' + name].apply(this, arguments);
			}

			if(this.filters[name]) {
				var args = [ret];

				args.push.apply(args, arguments);
				for(var i = 0; i < this.filters[name].length; i++) {
					ret = this.filters[name][i].apply(this, args);
				}
			}

			return ret;
		};
	};

	this.registerFilter = function(name, func) {
		this.filters[name] = this.filters[name] || [];
		this.filters[name].push(func);
	};

	/**
	 * Dsq.Templates.Filters
	 */
	this.Filters = new function() {
		this.commentContainer = function(post_id, s) {
			var _meta = Dsq.jsonData.posts[post_id];
			var classes = [];
			if(Dsq.jsonData.request.page > 1) {
				classes.push('dsq-append');
			}

			//
			// Extra classes used for custom themes
			//

			if(_meta.depth) {
				classes.push('dsq-comment-child', 'dsq-depth-' + _meta.depth, 'dsq-parent-is-' + _meta.parent_post_id);
			}


			//

			if(_meta.author_is_creator) {
				// TODO: We need to deprecate the "special" class since it is not properly prefixed.
				classes.push('special', 'dsq-special');
			}
			if(_meta.author_is_moderator) {
				classes.push('dsq-moderator');
			}
			classes.push(['dsq-odd', 'dsq-even'][Dsq.Templates.postLoopCounter % 2]);

			s = s.substring(0, s.lastIndexOf('>'));
			return s + ' class="dsq-comment ' + classes.join(' ') + '" style="margin-left:' + _meta.depth*30 + 'px">';
		};

		this.commentContent = function(post_id, s) {
			var _meta = Dsq.jsonData.posts[post_id];
			if (_meta.killed) {
				return '<em>Comment removed.</em>';
			} else if (!_meta.approved) {
				return '<em>This comment was flagged for review.</em>';
			}

			s = s.replace(Dsq.MEDIA_POST_RE, Dsq.MediaPostHandler);
			return s;
		};
	};

	//
	// Thread
	//
	// TODO: These need to be stripped of all Django template tags.

	this.authPost = function() {
		if (!Dsq.jsonData.context.show_reply) {
			return '';
		}
		var result = [];
		result = result.concat([
				'<div id="dsq-auth"',
						Dsq.jsonData.integration.reply_position ? 'class="dsq-auth-bottom"' : '',
						'>',
					'<div class="dsq-by">',
						'<a href="http://disqus.com" target="_blank">',
							(Dsq.jsonData.integration.disqus_logo ?
								Dsq.Utils.interpolate('<img src="%(media_url)s/images/embed/by-disqus.png" alt="discussion by DISQUS">') :
								Dsq.Utils.interpolate('<img src="%(media_url)s/images/embed/dsq-button-120x19.png" alt="discussion by DISQUS">')
							),
						'</a>',
					'</div>',
					'<div class="dsq-auth-header">',
						'<h3 id="dsq-add-new-comment" class="dsq-h3-addcomment">',
								Dsq.Strings.ADD_NEW_COMMENT,
						'</h3>',
						'<div id="dsq-login">',
						(!Dsq.jsonData.request.is_authenticated && Dsq.jsonData.forum.allow_anon_post
								? '<p class="dsq-login-message" id="dsq-login-message">You are commenting as a <a class="dsq-help" title="Click for more information" href="#" onclick="Dsq.Popup.helpBadges(); return false">Guest</a>. You may select one to log into:</p>'
								: '')
		]);
		if (!Dsq.jsonData.request.is_authenticated) {
			result = result.concat([
							Dsq.Utils.interpolate(
								'<a id="dsq-login-toggle" href="%(disqus_url)s%(login_url)s?next=article:%(thread_id)s" onclick="Dsq.Popup.login(); return false"><img class="dsq-login-icon" src="%(media_url)s/images/dsq-profile-btn.png" title="%(log_into)s" alt="%(log_into)s"/></a>',
								{login_url: Dsq.Urls.LOGIN, thread_id: Dsq.jsonData.thread.id, log_into: Dsq.Strings.LOG_INTO_DISQUS}
								),
							'&nbsp; ',
							(Dsq.jsonData.context.use_fb_connect ?
								'<div id="dsq-fbc-login" onlogin="DisqusFbcParentController.onLogin()" size="medium" background="light" length="short" style="display:inline; margin-right:7px"></div>' :
								''
							),
							(Dsq.jsonData.context.use_twitter_signin ?
								Dsq.Utils.interpolate(
									'<div id="dsq-twitter-login" class="dsq-twitter-login" onclick="Dsq.Twitter.startTwitterConnect();" style="display:inline; cursor: pointer"><img src="%(media_url)s/images/twitter-signin-short.png" style="margin-right:7px" /></div>', {}) : ''),
							(Dsq.jsonData.context.use_openid ?
								Dsq.Utils.interpolate(
									'<div id="dsq-openid-login" class="dsq-openid-login" onclick="Dsq.OpenID.requestURL();" style="display:inline; cursor:pointer;"><img src="%(media_url)s/images/openid-login-button.png"/></div>', {}
								) : '')
			]);
		}
		result = result.concat([
						'</div>', // dsq-login
					'</div>', // dsq-auth-header
					'<div id="dsq-authenticated" class="dsq-authenticated" ',
						Dsq.jsonData.request.is_authenticated ? 'style="display:block"' : '',
						'>',
						'<div class="dsq-authenticated-pic">',
								Dsq.Utils.interpolate('<a href="%(url)s" title="%(request_display_username)s">' +
																			'<img class="dsq-post-avatar" src="%(avatar_url)s" alt="" /></a>',
																			{avatar_url: Dsq.Urls.REQUEST_USER_AVATAR,
																			url: (Dsq.jsonData.request.is_remote
																					 ? Dsq.jsonData.request.url
																					 : Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE) }),
						'</div>',
						'<div class="dsq-authenticated-info">',
							'<ul>',
								'<li>',
									(Dsq.jsonData.request.is_remote
										? Dsq.FmtStrings.LOGGED_IN_AS(
												Dsq.Utils.interpolate('<a href="%(url)s" title="%(request_display_username)s">%(request_display_username)s</a>', {url:Dsq.jsonData.request.url})
										  )
										: Dsq.FmtStrings.LOGGED_IN_AS(
												Dsq.Utils.interpolate('<a href="%(disqus_url)s%(profile_url)s" title="%(request_display_username)s">%(request_display_username)s</a>')
											)
									),
								'</li>',
								'<li class="logout">',
									(!Dsq.jsonData.request.is_remote
										? Dsq.Utils.interpolate('<img class="dsq-login-icon" src="%(media_url)s/images/dsqicon12.png" alt="%(logged_in_as)s"/>&nbsp',
											{logged_in_as: Dsq.FmtStrings.LOGGED_IN_AS(Dsq.jsonData.request.display_username)})
										: ''),

									(!Dsq.jsonData.request.is_remote
										? Dsq.Utils.interpolate('<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="%(logout_from_disqus)s">',
											{logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN, logout_from_disqus: Dsq.FmtStrings.LOGOUT_FROM('DISQUS')})
										: ((Dsq.jsonData.request.remote_domain == 'twitter')
												? Dsq.Utils.interpolate('using Twitter (<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="Logout">Logout</a>)',
												 {logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN})
												: ((Dsq.jsonData.request.remote_domain == 'openid')
													 ? Dsq.Utils.interpolate('using OpenID (<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="Logout">Logout</a>)',
													 {logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN})
													 : ''
													)
											)
									),

									(!Dsq.jsonData.request.is_remote ? Dsq.FmtStrings.LOGOUT_FROM('<span class="logo-disqus">DISQUS</span>') : ''),
									'</a>',
								'</li>',
							'</ul>',
						'</div>',
					'</div>'
		]);
		if (Dsq.jsonData.context.use_fb_connect) {
			result = result.concat([
					'<div id="dsq-fbc-authenticated" class="dsq-authenticated">',
						'<div id="dsq-fbc-profilepic" class="dsq-authenticated-pic" uid="loggedinuser" type="FB.XFBML.ProfilePic" size="square" facebook-logo="true"></div>',
						'<div class="dsq-authenticated-info">',
							'<ul>',
								'<li>',
									'Logged in as <span id="dsq-fbc-name" uid="loggedinuser" type="FB.XFBML.Name" linked="true" useyou="false"></span>',
								'</li>',
								'<li class="logout">using Facebook Connect <a href="#" onclick="javascript:DisqusFbcParentController.logout();return false;">(Logout)</a></li>',
							'</ul>',
						'</div>',
					'</div>'
			]);
		}
		result = result.concat([
				'</div>', // dsq-auth
				'<div id="dsq-toolbar-items">',
				'</div>'
		]);
		result = result.concat([
					//
					//
					//
				((!Dsq.jsonData.forum.allow_anon_post && !Dsq.jsonData.request.is_authenticated) ?
					// Needs to be translated:
					('<p id="dsq-no-anon-msg">Required: Please log into <span class="logo-disqus">Disqus</span> ' +
					(Dsq.jsonData.context.use_fb_connect ? 'or connect with Facebook ' : '') +
					(Dsq.jsonData.context.use_twitter_signin ? 'or sign in with Twitter ' : '') +
					(Dsq.jsonData.context.use_openid ? 'or sign in using OpenID ' : '') +
					Dsq.Utils.interpolate('to comment on <strong>%(forum_name)s</strong>.</p>')) :
					''
				),
				'<div id="dsq-post-add"></div>',
				'<div style="margin:10px 0">',
				((Dsq.jsonData.forum.use_media) ?
						'<a href="#" id="dsq-media-link" onclick="Dsq.Post.showMenu(this, false, \'media\'); return false">' + Dsq.Strings.USE_MEDIA + ' <small>&#9660;</small></a>' :
						''),
				'</div>'
		]);
		return result.join('');
	};


	this.header = function() {

		var html = '\<h3 id="dsq-comments-count" class="dsq-h3-commentcount">\
	 <span id="dsq-num-posts">80</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/google_buys_doubleclick_for_31_billion/latest.rss"><img src="http://media.disqus.com/images/embed/bullet-feed.png"></a>\
	 </span>\
	 </h3>\
	 <div id="dsq-options" style="margin:15px 0">\
	 <span class="dsq-item-sort">\
	 Sort by\
	 <select id="dsq-sort-select" onchange="Dsq.Thread.sortBy(this.value);">\
	 <option value="hot" selected="selected">Popular now</option>\
	 <option value="best" >Best Rating</option>\
	 <option value="newest" >Newest first</option>\
	 <option value="oldest" >Oldest first</option>\
	 </select>\
	 &nbsp;\
	 </span>\
	 <span class="dsq-item-cp"><a href="http://scobleizer.disqus.com/google_buys_doubleclick_for_31_billion/">Community Page</a>&nbsp;&nbsp;&nbsp;</span>\
	 <span class="dsq-item-subscribe">\
	 <img src="http://media.disqus.com/images/embed/email.png" style="width:12px;height:12px;vertical-align:middle">\
	 <span id="dsq-subscribe">\
	 <a href="#" onclick="Dsq.Thread.subscribe(1); return false">Subscribe by email</a>\
	 </span>\
	 </span>\
	 </div>\
	 <div id="dsq-alerts">\
	 <p>Comments for this page are closed.</p>\
	 </div>\
		';

		

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

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

		
			html += Dsq.Templates.authPost();
		

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		

		return html;
	};

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

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

		if (Dsq.jsonData.thread.num_pages > 1 && Dsq.jsonData.request.page < Dsq.jsonData.thread.num_pages) {
			html = ' \<a class="dsq-paginate-append-text" href="#" onclick="Dsq.Thread.paginate(Dsq.jsonData.request.page + 1, this); return false">Show more comments...</a>\
	 <button type="button" class="dsq-button-small dsq-paginate-append-button" onclick="Dsq.Thread.paginate(Dsq.jsonData.request.page + 1, this);">Load more comments</button>\
			';
		}
		
		if (Dsq.$('dsq-pagination')) {
			Dsq.$('dsq-pagination').innerHTML = html;
			return '';
		} else {
			return '<div id="dsq-pagination" class="dsq-pagination">' + html + '</div>';
		}
	};

	this.trackbacks = function() {
		var html = '';

		if(typeof DsqLocal != 'undefined' && DsqLocal.trackback_url && DsqLocal.trackbacks) {
			var trackbacks = DsqLocal.trackbacks;
			var trackback_url = DsqLocal.trackback_url;
		} else {
			var trackbacks = [
			
			
			];
			var trackback_url = 'http://scobleizer.disqus.com/google_buys_doubleclick_for_31_billion/trackback/';
		}

		html += '<div class="dsq-item-trackback">Trackback URL&nbsp;&nbsp;<input class="dsq-trackback-url" onclick="this.select()" readonly="true" value="' + trackback_url + '"></div>';

		if(trackbacks.length) {
			html += '<ul id="dsq-references">'
			for(var i = 0; i < trackbacks.length; i++) {
				var trackback = trackbacks[i];
				html += '<li><cite><a href="' + trackback.author_url + '" rel="nofollow">' + trackback.author_name + '</a></cite> \
						<p class="dsq-meta">' + trackback.date + '</p> \
						<p class="dsq-content">' + trackback.excerpt + '</p></li>';
			}
			html += '</ul>';
			html = '<h3 class="dsq-h3-trackbacks">Trackbacks</h3>' + html;
		}

		return html;
	}

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

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

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

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

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

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

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

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

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

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

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

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

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

		/* Reaction HTML begins */
		var item = '<li class="dsq-reaction" id="dsq-reaction-' + reaction.id + '">'
			+ '<div class="dsq-reaction-header">'
			+ '<div class="dsq-header-avatar">';

		if (reaction.author_url && reaction.author_url !== '') {
			item += '<a target="_blank" href="' + reaction.author_url +'">';
		} else {
			item += '<a target="_blank" href="#" onclick="return false;">';
		}

		if (reaction.avatar_url && reaction.avatar_url !== '') {
			item += '<img src="' + reaction.avatar_url + '"/>';
		} else {
			item += '<img src="' + Dsq.jsonData.media_url + '/images/noavatar32.png"/>';
		}

		var service_icon = (reaction.get_service_name == 'trackback' || reaction.get_service_name == 'pingback' ? 'rss' : reaction.get_service_name.replace(' ', ''));
		item += '<img class="dsq-service-icon" src="' + Dsq.jsonData.media_url + '/images/reactions/services/' + service_icon + '.png"/>'
			+ '</a></div>'
			+ '<cite><span>' + reaction.author_name + '</span></cite>'
			+ '<span class="dsq-header-meta"><a class="dsq-header-time">' + reaction.date_created + '</a></span>'
			+ '</div><div class="dsq-reaction-body">'
			+ '<div class="dsq-reaction-message">' + reaction.body + '</div>'
			+ '<div class="dsq-reaction-footer">From <a class="dsq-service-name" target="_blank" href="' + reaction.url + '">' + reaction.get_service_name + '</a> '
			+ 'via <a href="' + reaction.source_url + '">' + (reaction.source == 'backtype' ? 'BackType' : 'UberVU') + '</a>'
			+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator ? '&nbsp;&bull;&nbsp;<a class="dsq-hide-reaction" href="#" onclick="Dsq.Reaction.hide(' + reaction.id + '); return false;">Hide</a>' : '') + '</div></div>';

		if(reaction.retweets) {
			var num_retweets = reaction.retweets.length;
			if (num_retweets > 0) {
				item += '<div class="dsq-reaction-retweets">';
				if (num_retweets == 1) {
					item += 'One more retweet from <a href="' + reaction.retweets[0].url + '">'  + reaction.retweets[0].author_name + '</a>';
				} else {
					item += (num_retweets + ' more retweets from ');

					item += '<span id="dsq-reaction-retweets-' + reaction.id + '">';
					var n_tweets = (num_retweets > 15) ? 15 : num_retweets;
					item += Dsq.Templates.showRetweets(reaction.id, n_tweets);

					if (n_tweets != num_retweets) {
						item += '</span> <a onclick="Dsq.Templates.showRetweets(' + reaction.id + ', 0, \'dsq-reaction-retweets-' + reaction.id + '\');'
							+ 'this.parentNode.removeChild(this); return false;" href="#">Show all</a>';
					}
				}
				item += '</div>';
			}
		}

		item += '</li>'; /* Reaction HTML ends */
		return item;
	};

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

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

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

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

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

		return '<h3 class="dsq-h3-reactions">Reactions</h3><ul id="dsq-reactions" class="dsq-reactions">' + html + '</ul>';
	};
	
	this.missingPermissions = function() {
		return '	<p>Comments for this page are closed.</p>\n';
	};

	//
	// Post
	//

	this.prependPost = function(post_id) {
		var html = '<div id="comment-' + post_id + '"></div>';
		return html;
	};

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

	this.postPrependHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];

		var _includeServices = function() {
			var userServices = Dsq.Post.getUserServices(null, post_id);
			var html = '';
			var hiddenThreshold = 3; // Define # of services to show before stuffing them in hidden div

			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == hiddenThreshold
					? '<li id="dsq-drop-hidden-' + post_id +'" class="dsq-drop-hidden"><ul>'
					: '')
				+ '<li class="dsq-drop-services"> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank"> \
						<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '">'
					+ userServices[i].name
					+ '</a> \
				</li>';
			}

			if(i >= hiddenThreshold) {
				html += '</ul></li> \
				<li id="dsq-drop-more-' + post_id + '" class="dsq-drop-more"><a href="#" onclick="Dsq.Post.dropProfileMore(this, '+ post_id + '); return false"><small>&#9660;</small></a></li> \
				';
			}
			return html;
		};

		return ' \
			<div class="dsq-header-avatar" id="dsq-header-avatar-' + post_id + '" onmouseover="Dsq.Post.dropProfile(' + post_id + ')"> \
				<a id="dsq-avatar-' + post_id + '" class="dsq-avatar" href="' + userData.url + '" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">'
			+ (Dsq.jsonData.forum.show_avatar
				? '<img src="' + Dsq.jsonData.users[_meta.user_key].avatar + '" alt="" />'
				: '')
			+ '</a>'
			+ '</div> \
		';
	};

	this.postAppendHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];

		return ''
			+ (_meta.author_is_moderator
				? '<img class="dsq-mod-star" src="http://media.disqus.com/images/bullet-star.png" title="Moderator" alt="" />'
				: '')
			+ '<span class="dsq-header-meta"> \
				<a id="dsq-time-' + post_id + '" class="dsq-header-time" href="#comment-' + post_id + '" title="Permalink">' + _meta.date + '</a> \
			</span>';
	};

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

	this.postBody = function(post_id) {
		// TODO: Deprecate flagging conditional
		var _meta = Dsq.jsonData.posts[post_id];
		return ''
			+ (_meta.edited
				? '<p class="dsq-editedtxt">(Edited by a moderator)</p>'
				: '')
			;
	};

	this.postFooter = function(post_id) {
		// TODO: Use media should be conditional
		var _meta = Dsq.jsonData.posts[post_id];
		if(_meta.killed) { return ''; }

		return ' \
			<div class="dsq-comment-footer" id="dsq-comment-footer-' + post_id + '"> \
				<div id="dsq-points-' + post_id + '" class="dsq-likedtxt">'
				+ (_meta.points
					? _meta.points + Dsq.Utils.pluralize(_meta.points, ' person', ' people') + ' liked this comment.'
					: '')
				+ '</div>'
				+ '<ul class="dsq-comment-options dsq-list-style">'
				+ (_meta.votable
					? '<li class="dsq-list-first dsq-rate" id="dsq-rate-cont-' + post_id + '">'
					+ (!_meta.up_voted
						? '<a href="#" onclick="Dsq.Post.rate(this, ' + post_id + ', 1); return false;">Like</a>'
						: 'You liked this.') + '</li>'
					: '')
				+ '<li class="dsq-report' + (!_meta.votable ? ' dsq-list-first' : '') + '" id="dsq-post-report-' + post_id + '"><a href="#" class="dsq-post-report" onclick="Dsq.Post.report(' + post_id + ', false); return false;">Report</a></li> \
				</ul> \
				<ul class="dsq-list-style">'
				+ (_meta.can_reply
					? '<li class="dsq-list-first"><a href="#" id="dsq-reply-link-' + post_id +'" onclick="Dsq.Post.toggleReply(this, ' + post_id +'); return false;">Reply</a></li>'
					: '')
				+ (_meta.can_reply && !_meta.has_replies && _meta.from_request_user
					? '<li id="dsq-edit-el-' + post_id + '"><a id="dsq-edit-link-' + post_id + '" href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); return false;">Edit</a></li>'
					: '')
				+ '<li class="' + (!_meta.can_reply ? 'dsq-list-first' : '') + '" id="dsq-more-el-' + post_id + '"><a id="dsq-more-link-' + post_id + '" href="#" onclick="Dsq.Post.showMenu(this, ' + post_id + ', \'more\'); return false">More <small>&#9660;</small></a></li>'
				+ (Dsq.jsonData.forum.use_media
					? '<li id="dsq-media-el-' + post_id +'" style="display:none"><a id="dsq-media-link-' + post_id + '" href="#" onclick="Dsq.Post.showMenu(this, ' + post_id + ', \'media\'); return false">Use Media <small>&#9660;</small></a></li>'
					: '')
				+ '</ul>'
				+ '<div id="dsq-reply-bar-' + post_id + '" class="dsq-reply-bar" style="display:none"> \
						<div id="dsq-reply-bar-items-' + post_id + '" class="dsq-reply-bar-items"> \
						</div> \
						<div id="dsq-reply-bar-auth-' + post_id + '" class="dsq-reply-bar-auth"> \
							 \
								 \
								 	<a href="#" class="dsq-help dsq-reply-req-opt" title="You are commenting as a Guest. You may choose to log into an existing DISQUS Profile, your Facebook, Twitter or OpenID account to comment on Scobleizer" onclick="Dsq.Popup.helpBadges(); return false">Optional:</a> \
								 \
								<img class="dsq-login-icon" src="http://media.disqus.com/images/dsq-favicon-16x16.png" alt="" /> \
								<a id="dsq-reply-login-' + post_id + '" href="http://disqus.com/profile/login/?next=article:18464373" onclick="Dsq.Popup.login(); return false">Login</a> \
								 \
									&nbsp;or&nbsp; \
									<img class="fb_login_image" src="http://static.ak.fbcdn.net/images/fbconnect/login-buttons/connect_light_small_short.gif" alt="Facebook Connect"/> \
									<a href="#" onclick="FB.Connect.requireSession(DisqusFbcParentController.onLogin); return false;">Connect</a> \
								 \
								&nbsp;or&nbsp; \
									<img src="http://media.disqus.com/images/twitter-signin-icon.png" alt="" /> \
									<a href="#" onclick="Dsq.Twitter.startTwitterConnect(); return false">Sign-in</a> \
								 \
								 \
							 \
						</div> \
					</div> \
					<div id="dsq-reply-' + post_id + '"></div> \
			</div> \
		';
	};

	//
	// Iframes
	//

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

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

		var default_params = {
			// TODO: These should be moved to Dsq.jsonData.
			'f'				: 'scobleizer',
			't'				: 'google_buys_doubleclick_for_31_billion',
			// Do we need encodeURIComponent here?
			'ifrs'			: encodeURIComponent(disqus_iframe_css),
			'to_redirect'	: encodeURIComponent(window.location),
			'cbp'			: disqus_callback_params,
			'ff'			: Dsq.Thread.ff,
			'fc'			: Dsq.Thread.fc,
			'ac'			: Dsq.Thread.ac,
			'default_text'	: disqus_default_text
		};

		base_url += '?' + (new Date()).getTime();
		// Add params to default_params.
		if(params) {
			for(var key in params) {
				if(params.hasOwnProperty(key)) {
					default_params[key] = encodeURIComponent(params[key]);
				}
			}
		}
		// Build querystring.
		for(var key in default_params) {
			if(default_params[key] && default_params.hasOwnProperty(key)) {
				base_url += '&' + key + '=' + default_params[key];
			}
		}

		return [
			'<iframe marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0"',
			(' allowtransparency="true" src="' + base_url + '"'),
			this._makeAttributes(attributes),
			'</iframe>'].join('');
	};

	this.frameLogin = function(opt_attributes) {
		var params = {};
		var base_url = 'http://disqus.com/embed/login.html';
		var attributes = opt_attributes || {};
		attributes['class'] = 'dsq-post-login';

		if(typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}
		return this._frameGeneric(base_url, params, attributes);
	};

	this.frameReply = function(post_id, extra_params, attributes) {
		// Returns the HTML for a reply iframe. Called by Dsq.Iframes.setReplyIframeToContainer
		var _meta = (typeof post_id != 'undefined') ? Dsq.jsonData.posts[post_id] : false;
		var base_url = Dsq.Urls.REPLY;
		var params = {
			'def_email'		: disqus_def_email,
			'def_name'		: disqus_def_name
		};
		if(extra_params) {
			for(var key in extra_params) {
				if(extra_params.hasOwnProperty(key)) {
					params[key] = extra_params[key];
				}
			}
		}
		if(_meta) {
			params['parent_post'] = post_id;
		}
		if(typeof disqus_per_page != 'undefined') {
			params['per_page'] = disqus_per_page;
		}
		if(typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}
		if(Dsq.jsonData.request.is_authenticated) {
			attributes['class'] += '-authenticated';
		}
		return this._frameGeneric(base_url, params, attributes);
	};

	this.frameEdit = function(post_id) {
		var _meta = (typeof post_id != 'undefined') ? Dsq.jsonData.posts[post_id] : false;
		var base_url = 'http://disqus.com/embed/edit.html';
		var params = {
			'p' : post_id
		};
		return this._frameGeneric(base_url, params, {'class': 'dsq-post-edit', 'name': 'dsq-edit_' + post_id + '-frame'});
	};

	//
	// Menus
	//

	this.menuMore = function(post_id) {
		// TODO: "Remove post" button should hide menu.
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		return ' \
			<li><a href="#comment-' + post_id + '" onclick="Dsq.Popup.permalink(' + post_id + ')">Link</a></li> \
			<li><a href="#" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">Profile</a></li>'
	+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator
		? '	<li class="dsq-menu-sep"></li>' + (_meta.email ? '<li class="dsq-admin-email">' + _meta.email + '</li>' : '')
		+ '	<li class="dsq-admin-ip">' + _meta.ip + '</li> \
			<li class="dsq-menu-sep"></li>'
		+ (Dsq.jsonData.request.moderator_can_edit
			? ' <li class="dsq-admin-edit"><a href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); return false;">Edit Comment</a></li>'
			: '')
		+ ' <li class="dsq-remove"><a href="#" onclick="Dsq.Post.removePost(' + post_id + ', 1); return false;">Remove Comment</a></li> \
			<li class="dsq-report-spam"><a href="#" onclick="Dsq.Post.reportSpam(' + post_id + '); return false;">Mark Spam</a></li> \
			<li class="dsq-block-user"><a href="#" onclick="Dsq.Popup.blacklist(' + post_id + '); return false">Block User</a></li>'
		: '');
	};

	this.menuMedia = function(post_id) {
		return ' \
			<li><a href="#" onclick="Dsq.Post.toggleMediaReply(this, ' + post_id + ', \'seesmic\'); return false;">Record video</a></li> \
		';
	};

	this.dropProfile = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];

		var _includeServices = function() {
			var userServices = Dsq.Post.getUserServices(null, post_id);
			var html = '';
			var hiddenThreshold = 3; // Define # of services to show before stuffing them in hidden div

			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == hiddenThreshold
					? '<li id="dsq-drop-hidden-' + post_id +'" class="dsq-drop-hidden"><ul>'
					: '')
				+ '<li class="dsq-drop-services"> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank"> \
						<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '">'
					+ userServices[i].name
					+ '</a> \
				</li>';
			}

			if(i >= hiddenThreshold) {
				html += '</ul></li> \
				<li id="dsq-drop-more-' + post_id + '" class="dsq-drop-more"><a href="#" onclick="Dsq.Post.dropProfileMore(this, '+ post_id + '); return false"><small>&#9660;</small></a></li> \
				';
			}
			return html;
		};


		var menu = '<li class="dsq-drop-showlnk"><a href="#" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">Expand &#8663;</a></li>';
		var pointsMessage = '';
		if (userData['registered']) {
			pointsMessage = 'with ' + userData['points'] + ' points (more points are better).';
		}

		if (userData['is_remote']) {
			var domain = userData['remote_domain_name'];
			menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' is a ' + domain + ' user ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
			menu += '<span class="dsq-badge-' + domain.toLowerCase() + '">' + domain + '</span></li>';
		} else if (userData['registered']) {
			if (userData['verified']) {
				menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has a verified commenter profile ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
				menu += '<span class="dsq-badge-verified">Verified</span></li>';
			} else {
				menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has a registered, but unverified, commenter profile ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
				menu += '<span class="dsq-badge-registered">Registered</span></li>';
			}
		} else {
			menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has not claimed this commenter profile." onclick="Dsq.Popup.helpBadges()"><span class="dsq-badge-guest">Guest</span></li>';
		}

		menu += _includeServices();
		return menu;
	};

	//
	// Popups
	//

	this._popupGeneric = function(content) {
		return ' \
		<div class="dsq-popup-content"> \
			<div class="dsq-popup-top"></div> \
			<div class="dsq-popup-body" class="clearfix"> \
				<div class="dsq-popup-body-padding"> \
					<div class="dsq-popup-header"> \
						<a class="dsq-close-link" href="#" onclick="Dsq.Popup._closePopup(null, true); return false"><img src="http://media.disqus.com/images/modal-close.png" alt="" /></a>'
						+ content['header']
					+ '</div>'
					+ content['body']
					+ '<div class="powered-by"><a href="http://disqus.com/comments/">Powered by <img src="http://media.disqus.com/images/embed/disqus-logo.png" alt="Disqus Comments" style="margin-bottom:-5px" /></a></div> \
				</div> <!-- padding --> \
			</div> <!-- body --> \
			<div class="dsq-popup-bottom"></div> \
		</div> \
		';
	};

	this.popupProfile = function(user_key) {
		var userServices = Dsq.Post.getUserServices(user_key, null);
		var userData = Dsq.jsonData['users'][user_key];
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		var _includeServices = function() {
			var html = '';
			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == 0
					? '<h4>Connections</h4><ul>'
					: '')
				+ '<li> \
					<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '" title="' + userServices[i].name.toLowerCase() + '" /> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank">'
					+ userServices[i].name
					+ '</a> \
				</li>'
				+ (i+1 == userServices.length ? '</ul>' : '');
			}
			return html;
		};

		headerHtml = ' \
			<table> \
				<tr> \
					<td> \
						<a class="dsq-profile-userurl" href="' + userData.url + '"><img class="dsq-popup-profile-avatar" src="' + userData['avatar'] + '" alt="" /></a> \
					</td> \
					<td> \
						<div class="dsq-popup-profile-user"> \
							<h3>' + userData['display_name'] + '</h3> \
							<div class="dsq-popup-profile-user-stats" id="dsq-popup-profile-user-stats-' + user_key + '">Loading...</div> \
						</div> \
					</td> \
				</tr> \
			</table> \
		';

		bodyHtml = ' \
			<div class="dsq-popup-profile-state"> \
				This is a&nbsp;<span class="'
					+ (userData['registered']
						? (userData['verified']
							? ' dsq-badge-verified'
							: (userData['is_remote']
								? ' dsq-badge-' + userData['remote_domain_name'].toLowerCase()
								: ' dsq-badge-registered')
							)
							: ' dsq-badge-guest') + '">'
			+ (userData['registered']
				? (userData['verified']
					? 'Verified'
					: (userData['is_remote']
						 ? userData['remote_domain_name']
						 : 'Registered')
					)
				: 'Guest')
			+ '</span>&nbsp;commenter profile.'
			+ '&nbsp;<a class="dsq-profile-userurl" href="' + userData.url + '"><strong>View more comments </strong></a>'
			+ (!userData['points']
				? '<p class="dsq-popup-notice">If this is you, <a href="http://disqus.com/profile" target="_blank">claim it now</a> to manage your comments.</p>'
				: '')
			+ ((userData['registered'] && !userData['verified'] && (Dsq.jsonData.request.username && (Dsq.jsonData.request.username == userData['username'])) && !userData['is_remote'])
				? '<p class="dsq-popup-notice"><strong>Alert</strong>: You have not verified this account. <a href="http://disqus.com/verify">Verify it now.</a></p>'
				: '')
			+ '</div> \
			<div id="dsq-profile-status-' + user_key + '" class="dsq-popup-profile-status" style="display:none"></div> \
			<div class="dsq-popup-profile-snapshot"> \
				<table> \
					<tr> \
						<td> \
							<div id="dsq-popup-profile-active-sites-wrapper-' + user_key + '"> \
								<h4>Most active sites</h4> \
								<ul id="dsq-popup-profile-active-sites-' + user_key + '"> \
									<li>Loading...</li> \
								</ul> \
							</div> \
						</td> \
						<td>'
							+ _includeServices()
							+ '<div id="dsq-popup-profile-moderated-wrapper-' + user_key + '"> \
								<h4>Moderator of</h4> \
								<ul id="dsq-popup-profile-moderated-' + user_key + '"> \
									<li>Loading...</li> \
								</ul> \
							</div> \
						</td> \
					</tr> \
				</table> \
			</div> \
			';

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.popupReblog = function() {
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		headerHtml = ' \
			<cite><span>Reblog this comment</span></cite> \
		';

		bodyHtml = ' \
			<div id="dsq-reblog-form" class="dsq-reblog-form"> \
			</div> \
		';

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.popupModal = function(title, message) {
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		headerHtml = ' \
			<h3>' + title + '</h3> \
		';

		bodyHtml = message;

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.alertContent = function(name, post_id) {
		var alert = {
			'post_not_approved': {
				'title': 'Comment awaiting approval by a moderator',
				'message': 'Thanks for posting. Your comment must be approved by a moderator before appearing here.'
			},
			'post_has_profile': {
				'title': 'Use your existing commenter profile',
				'message': 'You have just posted your commment as a <span class="dsq-badge dsq-badge-guest">Guest</span>, but you may already have a <span class="dsq-badge dsq-badge-registered">Registered</span> commenter profile.<br /><br /><a href="http://disqus.com/claim">Log in and claim this comment!</a>'
			}
		};
		return alert[name] || false;
	};

	//
	// Actions
	//

	this.voted = function(post_id, points, vote) {
		// Update number of points
		Dsq.$('dsq-points-' + post_id).innerHTML = points + Dsq.Utils.pluralize(points, ' person', ' people') + ' liked this comment.';

		// Update link text
		if(vote) {
			Dsq.$('dsq-rate-cont-' + post_id).innerHTML = 'You liked this.';
		}
	};

	this.subscribed = function(status) {
		var title, message;

		if(status) {
			title = 'Subscribed!';
			message = 'You have subscribed to this comment thread. New comments will be sent directly to your email inbox, where you may read and respond by email.';
			Dsq.$('dsq-subscribe').innerHTML = ' \
				<a href="#" onclick="Dsq.Thread.subscribe(0); return false">Unsubscribe</a> \
			';
		} else {
			title = 'Unsubscribed';
			message = 'You have unsubscribed to this comment thread. New comments will no longer be sent to your email inbox.';
			Dsq.$('dsq-subscribe').innerHTML = ' \
				<a href="#" onclick="Dsq.Thread.subscribe(1); return false">Subscribe by email</a> \
			';
		}

		Dsq.Popup.popModal(message, title);

	};
	
	this.highlighted = function() {
		Dsq.Popup.popModal('This comment has been highlighted.', 'Highlighted comment');
	};

	//
	// Media
	//

	this.mediaSeesmic = function(id, thumb) {
		return ' \
			<div id="dsq-seesmic-' + id + '_preview" class="dsq-seesmic-preview"><a href="http://www.seesmic.com/video/' + id + '" target="_blank" class="see_link">&nbsp;</a> \
				<div style="display:block;width:160px; height:120px; border:none; background-image:url(http://t.seesmic.com/thumbnail/' + thumb + ')"> \
					<div id="dsq-seesmic-' + id + '_hide" class="seePlayOverlay" style="display:none;"><img onclick="see_play_video(\'' + id + '\',false)" src="http://media.disqus.com/images/seesmic/stopOverlay.png" width="50" height="50" style="cursor:pointer; cursor:hand; padding-top: 30px; padding-left: 50px" alt="" /></div> \
					<div id="dsq-seesmic-' + id + '_show" class="seePlayOverlay"><img onclick="see_play_video(\'' + id + '\',true)" src="http://media.disqus.com/images/seesmic/playOverlay.png" width="50" height="50" style="cursor:pointer; cursor:hand; border:none; padding-top: 30px; padding-left: 50px" alt="" /></div> \
				</div> \
			</div> \
			<div id="' + id + '_content" style="display:block; width:100%; padding-top:5px"></div> \
		';
	};

	//
	// Callbacks
	//

	this.postComment_onSuccess = function(parent_post_id) {
		// Increment post count
		var num_posts = Dsq.$('dsq-num-posts');
		var total_posts = Dsq.$('dsq-total-posts');
		
		if (num_posts) { 
			num_posts.innerHTML = parseInt(num_posts.innerHTML) + 1;
		}
		if (total_posts) { 
			total_posts.innerHTML = parseInt(total_posts.innerHTML) + 1;
		}
	};
};
// Dsq.Templates


/**
 * Dsq.Post
 */
Dsq.Post = new function() {
	this.openedMenu = {};
	this.menuEventListener = null;
	this.stateReplyToggled = {};
	this.stateEditToggled = {};
	this.stateRecordLink = {};

	/**
	 * Inserts a new post into the document.
	 *
	 * @param after_id {Number}	Insert a post before specified id.  If after_id
	 *							evaluates to false, then post in the front.  If
	 *							after_id is -1, post at the end.
	 */
	this.insert = function(after_id, id, message, author) {
		// Skeleton template from thread_posts.html.
		var skeleton = ' \
			<li id="dsq-comment-%(id)s"> \
				<div id="dsq-comment-header-%(id)s" class="dsq-comment-header"> \
					<cite id="dsq-cite-%(id)s" class="dsq-comment-cite"> \
						<a id="dsq-author-user-%(id)s" href="%(author_url)s" target="_blank" rel="nofollow">%(author_name)s</a> \
					</cite> \
				</div> \
				<div id="dsq-comment-body-%(id)s" class="dsq-comment-body"> \
					<div id="dsq-comment-message-%(id)s" class="dsq-comment-message">%(message)s</div> \
				</div> \
			</li> \
		';
		var _meta = Dsq.jsonData.posts[id];
		var _user_meta = Dsq.jsonData.users[_meta.user_key];
		var markup = Dsq.Utils.interpolate(skeleton, {
			id: id,
			message: message,
			author_url: _user_meta.blog,
			author_name: _user_meta.display_name
		});
		var div = document.createElement('div');
		markup = markup.replace(Dsq.COMMENTS_RE, Dsq.CommentsHandler);
		div.innerHTML = markup;

		if (after_id === -1) {
			Dsq.$('dsq-comments').appendChild(div);
		} else if (!after_id) {
			Dsq.$('dsq-comments').insertBefore(div, Dsq.$('dsq-comments').firstChild);
		} else if (Dsq.$('dsq-comment-' + after_id)) {
			// Get next node after "after_id", so we can insert before it.
			// If "after_id" is the last comment, the target node is the
			// last node.
			
			// var append_post_id = Dsq.Templates.appendPost(after_id).replace('<div id="','').replace('"></div>', '');
			var append_post_id = 'dsq-append-post-' + after_id;
			var node = Dsq.$(append_post_id);
			while (node = node.nextSibling) {
				if (!node || node.nodeType == 1) { // 1 == Node.ELEMENT_NODE
					break;
				}
			}
			if (!node) {
				node = Dsq.$(append_post_id);
			}
			node.parentNode.insertBefore(div, node);
		}
	};

	this.incrementPostCount = function() {
		
		var num_posts = Dsq.$('dsq-num-posts');
		var total_posts = Dsq.$('dsq-total-posts');

		if (num_posts) {
			num_posts.innerHTML = parseInt(num_posts.innerHTML, 10) + 1;
		}
		if (total_posts) {
			total_posts.innerHTML = parseInt(total_posts.innerHTML, 10) + 1;
		}
	}
	
	this.outlineComment = function(post_id) {
		Dsq.$('dsq-comment-' + post_id).className += ' dsq-comment-outline';
		setTimeout("(function () { Dsq.Post.clearOutlineComment(" + post_id + ") })()", 3000);
	};
	
	this.clearOutlineComment = function(post_id) {
		Dsq.$('dsq-comment-' + post_id).className = Dsq.$('dsq-comment-' + post_id).className.replace('dsq-comment-outline', '');
	};

	this.showMenu = function(el, id, name) {
		var anchorPos = Dsq.Utils.findPos(el);
		var menu = document.createElement('ul');

		if(this.openedMenu) {
			if(this.openedMenu.linkClicked) {
				this.openedMenu.linkClicked = false;
				return;
			}
		}

		switch(name) {
			case 'more':
				menu.innerHTML = Dsq.Templates.menuMore(id);
				break;
			case 'media':
				menu.innerHTML = Dsq.Templates.menuMedia(id);
				break;
			default:
				break;
		}

		// Add menu to document body
		menu.id = 'dsq-menu-' + id;
		menu.className = 'dsq-menu';
		Dsq.$b.appendChild(menu);

		// Position and show
		anchorPos[1] += 15;
		menu.style.left = anchorPos[0] + 'px';
		menu.style.top = anchorPos[1] + 'px';
		menu.style.display = 'block';

		// Set global reference
		this.openedMenu = {
			'el' : menu,
			'id' : id,
			'name' : name,
			'linkClicked' : false
		};

		// Set listener
		this.menuEventListener = Dsq.Utils.addEventListener(document, 'mouseup', this._hideMenu);
	};

	this._hideMenu = function(e) {
		var el = e.target || e.srcElement;
		var openedMenu = Dsq.Post.openedMenu.el;
		var id = Dsq.Post.openedMenu.id;

		if(!id) {
			var link = 'dsq-' + Dsq.Post.openedMenu.name + '-link';
		} else {
			var link = 'dsq-' + Dsq.Post.openedMenu.name + '-link-' + id;
		}

		if(!openedMenu) {
			return;
		}

		if(!Dsq.Popup.isClicked(e, openedMenu.id)) {
			openedMenu.style.display = 'none';
			Dsq.Utils.removeEventListener(Dsq.Post.menuEventListener);
			Dsq.Utils.deleteNode(openedMenu);

		} else {
			// Hide the menu if a link was clicked inside the menu.  We can't
			// completely remove the menu until the onclick event on the link
			// fires, but the menuEventListener will prevent multiple menus
			// from polluting the DOM.
			if(el && typeof el.href != 'undefined') {
				openedMenu.style.display = 'none';
				Dsq.Post.openedMenu.el = null;
			}
		}

		if(Dsq.Popup.isClicked(e, link)) {
 			Dsq.Post.openedMenu.linkClicked = true;
		}
	};


	this.getUserServices = function(user_key, id) {
		if(!user_key && id) {
			var _meta = Dsq.jsonData.posts[id];
			user_key = _meta.user_key;
		}
		var userData = Dsq.jsonData['users'][user_key];
		var userServices = [];

		// Keep a full list of supported services. This is the order they will display in the drop-profile.
		// Each service must have a corresponding case in _buildServiceUrl()
		var supportedServices = ['blog', 'twitter', 'facebook', 'tumblr'];

		function _buildServiceUrl(serviceName) {
			var data = userData[serviceName];
			var services = {
				blog:		function(d) { return d; },
				twitter:	function(d) { return d; },
				facebook:	function(d) { return d; },
				tumblr:		function(d) { return 'http://' + d + '.tumblr.com'; }
			};
			return services[serviceName](data);
		}

		for(var i = 0; i < supportedServices.length; i++) {
			if(userData[supportedServices[i]]) {
				var serviceUrl = _buildServiceUrl(supportedServices[i]);
				userServices.push({'name' : supportedServices[i], 'url' : serviceUrl});
			}
		}
		return userServices;
	}

	this.dropProfile = function(id) {
		var dp = Dsq.$('dsq-drop-profile-' + id);

		// IE6 needs JS to display/hide. All other browsers use CSS.
		if(dp) {
			if(Dsq.Utils.ie6) dp.style.display = (dp.style.display == 'inline') ? 'none' : 'inline';
			return false;
		} else {
			dp = document.createElement('ul');
		}

		dp.id = 'dsq-drop-profile-' + id;
		dp.className = 'dsq-drop-profile';

		if(Dsq.Utils.ie6) { dp.style.display = 'inline'; }

		var container = Dsq.$('dsq-header-avatar-' + id);
		dp.innerHTML = Dsq.Templates.dropProfile(id);
		container.appendChild(dp);
	};

	this.dropProfileMore = function(el, id) {
		var hiddenItems = Dsq.$('dsq-drop-hidden-' + id);

		hiddenItems.style.display = 'inline';
		el.parentNode.style.display = 'none';
	};

	this._updateReplyLinks = function(el, id) {
		// Update "reply / cancel" links based on state.
		var displayDict = {};

		if(id) {
			if(this.stateReplyToggled[id]) {
				el.innerHTML = 'Cancel';
				displayDict['media'] = 'inline';
				displayDict['edit'] = 'none';
			} else {
				el.innerHTML = 'Reply';
				displayDict['media'] = 'none';
				displayDict['edit'] = 'inline';
			}
		}

		for(var key in displayDict) {
			if(displayDict.hasOwnProperty(key)) {
				var	linkEl = Dsq.$('dsq-' + key + '-el-' + id),
					spacer = Dsq.$('dsq-' + key + '-spacer-' + id);

				if(linkEl) {
					linkEl.style.display = displayDict[key];
					if(spacer) spacer.style.display = displayDict[key];
				}
			}
		}
	};

	this._updateMediaLinks = function(el, id) {
		// Update "use media / cancel" links based on state.
		var appendId = (id) ? ('-' + id) : '';
		var link = Dsq.$('dsq-media-link' + appendId);

		if(this.stateRecordLink[id]) {
			link.innerHTML = 'Cancel Media';
			link.onclick = function() { Dsq.Post.toggleMediaReply(link, id); return false; };
		} else {
			link.innerHTML = 'Use Media <small>&#9660;</small>';
			link.onclick = function() { Dsq.Post.showMenu(link, id, 'media'); return false; };
		}
	};

	this.toggleReply = function(el, id) {
		// Create reply IFrame
		if (window.disqus_use_postmessage) {
			if (!this.stateReplyToggled[id]) {
				Dsq.$('dsq-reply-' + id).style.display = 'block';
				Dsq.$('dsq-reply-bar-' + id).style.display = 'block';
				// Create IFrame if it doesn't exist.
				if (!Dsq.frames['reply_' + id]) {
					var _meta = Dsq.jsonData.posts[id];
					Dsq.frames['reply_' + id] = new Dsq.ReplyFrame(Dsq.$('dsq-reply-frame-' + id), id);
					Dsq.frames['reply_' + id].init();
					Dsq.frames['reply_' + id].setState(id, _meta.depth);
				}
			} else {
				Dsq.$('dsq-reply-' + id).style.display = 'none';
				Dsq.$('dsq-reply-bar-' + id).style.display = 'none';
			}
		} else {
			// DEPRECATED
			if(!this.stateReplyToggled[id]) {
				// Reply toolbar
				Dsq.$('dsq-reply-bar-' + id).style.display = 'block';
				Dsq.Iframes.showReplyIframeInContainerIfAllowed(Dsq.$('dsq-reply-' + id), id);
			} else {
				Dsq.$('dsq-reply-bar-' + id).style.display = 'none';
				Dsq.Iframes.hideAllInContainer(Dsq.$('dsq-reply-' + id));
				if(this.stateRecordLink[id]) {
					// HACK: Cancel media before canceling self.
					this.toggleMediaReply(Dsq.$('dsq-media-link-' + id), id);
				}
			}
		}

		this.stateReplyToggled[id] = !this.stateReplyToggled[id];
		this._updateReplyLinks(el, id);

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE('dsq-reply-' + id); }

		Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_TOGGLED, {
			postId: id,
			opened: this.stateReplyToggled[id]
		});
	};

	this.toggleMediaReply = function(el, id, xtype) {
		id = id || 0;
		if(id) {
			var container = Dsq.$('dsq-reply-' + id);
		} else {
			var container = Dsq.$('dsq-post-add');
		}

		if(!this.stateRecordLink[id]) {
			Dsq.Iframes.showReplyIframeInContainer(container, id, {xtype:xtype}, 'dsq-post-video');
		} else {
			Dsq.Iframes.showReplyIframeInContainer(container, id);
		}
		this.stateRecordLink[id] = !this.stateRecordLink[id];
		this._updateMediaLinks(el, id);

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
	};

	this.edit = function(el, id) {
		Dsq.$('dsq-comment-message-' + id).innerHTML = Dsq.Templates.frameEdit(id);
		el.parentNode.style.display = 'none';
		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE('dsq-comment-message-' + id); }
	};

    this.rate = function(el, id, vote) {
		if(Dsq.jsonData.request.is_authenticated || Dsq.jsonData.forum.allow_anon_votes) {
			if(vote == 1) {
                Dsq.$('dsq-rate-cont-' + id).innerHTML = '<img src="http://media.disqus.com/images/loading-small.gif">';
            }

            Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/vote.js'
                + '?post_id='    + id
                + '&vote='        + vote);

		} else {
			Dsq.Popup.login(Dsq.Strings.TO_RATE_PLEASE_LOG_IN);
		}
    };

	this.report = function(id, confirmed) {
		if(confirmed) {
			Dsq.Utils.postToUrl('http://disqus.com/forums/scobleizer/google_buys_doubleclick_for_31_billion/post_report/', {'post_id': id});
			Dsq.Popup.popModal('Thank you. This comment has been flagged for moderator attention.', 'Successfully flagged');
			Dsq.Utils.deleteNode(Dsq.$('dsq-post-report-' + id));
		} else {
			var title = Dsq.Strings.FLAG_INAPPROPRIATE_COMMENT;
			var message = Dsq.Strings.ARE_YOU_SURE_YOU_WOULD_LIKE_TO_REPORT_THIS_COMMENT_TO_A_MODERATOR + '? \
			<br /><br /> \
			<button type="button" onclick="Dsq.Popup._closePopup(null, true)"><strong>' + Dsq.Strings.NO + '</strong>, ' + Dsq.Strings.NEVER_MIND + '</button>&nbsp;&nbsp;&nbsp;<button type="button" onclick="Dsq.Post.report(' + id + ', true);"><strong>' + Dsq.Strings.YES + '</strong>, ' + Dsq.Strings.FLAG_INAPPROPRIATE_COMMENT + '</button><br /><br />'
			+ Dsq.Strings.THIS_WILL_FLAG_COMMENTS_FOR_MODERATORS_TO_TAKE_ACTION + '. \
			';

			Dsq.Popup.popModal(message, title, id);
		}
	};



	this.showAlert = function(id, msg) {
		var msgEl = Dsq.$('dsq-comment-message-' + id);
		var alert = '<div class="dsq-comment-alert">' + msg + '</div>';

		msgEl.innerHTML = alert + msgEl.innerHTML;
	};

};
// Dsq.Post


/**
 * Dsq.Thread
 */
Dsq.Thread = new function() {
	this.fc = null;
	this.ff = null;
	this.ac = null;

	
	this.adminIsOn = false;

	
	
	

	this.hlComment = null;
	this.hlCommentClass = null;

	this.getNextComment = function(el) {
		var start_id = el.id;
		while(el = el.nextSibling) {
			if(el.id && el.id.indexOf('dsq-comment-') != -1 && el.id != start_id) {
				return el;
			}
		}
		return null;
	};

	this.getActiveCommentId = function() {
		if (document.URL.indexOf('#comment-') >= 0) {
			var anchor = document.URL.slice(document.URL.indexOf('#') + 1);
			return anchor.replace('comment-', '');
		}
		return null;
	};

	this.highlightAnchor = function() {
		var i = this.getActiveCommentId();
		if (i == null) return false;
		var id = 'dsq-comment-' + i;
		var hash = window.location.hash;

		// Toggle the hash incase the comment isn't available when the page loads
		// for WebKit-based browsers.
		if (Dsq.Utils.webkit) {
			window.location.hash = '';
			window.location.hash = hash;
		}

		this.hlComment = Dsq.$(id);
		// Adding this conditional guard pending #289
		if (!this.hlComment) {
			return;
		}
		this.hlCommentClass = this.hlComment.className;
		this.hlComment.className += ' dsq-hl-anchor';

		setTimeout("Dsq.Thread.highlightClear()", 3000);
	};

	this.highlightClear = function() {
		if (!this.hlComment) {
			return;
		}
		this.hlComment.className = this.hlCommentClass;
	};

	this.login = function(toggle) {
		// toggle id is #dsq-reply-login-[id]
		var postId;
		if(toggle.id.indexOf('dsq-reply-login') != -1) {
			postId = toggle.id.slice(16);
			var container = Dsq.$('dsq-reply-' + postId);
		} else {
			var container = Dsq.$('dsq-post-add');
		}

		if(toggle) {
			if(toggle.className == 'dsq-login-active') {
				Dsq.Iframes.showReplyIframeInContainerIfAllowed(container, postId);
				toggle.className = '';
			} else {
				Dsq.Iframes.showLoginIframeInContainer(container, postId);
				toggle.className = 'dsq-login-active';
			}
		} else {
			Dsq.Iframes.showLoginIframeInContainer(container, postId);
		}

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
	};


	this.paginate = function(page, el_clicked, per_page) {
		// Use extra_params to pass any override parameters that we need to persist.
		var extra_params = '';

		// "Per page" can either be overriden by providing it as an argument
		// (per-call) or setting the disqus_per_page override variable (global).
		if(typeof per_page == 'undefined') {
			per_page = null;
		}
		if(typeof disqus_per_page != 'undefined' && per_page === null) {
			per_page = disqus_per_page;
		}

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

		Dsq.$('dsq-pagination').innerHTML += '<img src="http://media.disqus.com/images/loading-small.gif">';
		
		if(el_clicked) {
			el_clicked.style.display = 'none';
		}
		
		Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/thread.js'
			+ '?slug='	+ 'google_buys_doubleclick_for_31_billion'
			+ '&p='		+ page
			+ extra_params);
	};

	this.sortBy = function(sort) {
		var disqus_script = document.createElement('script');
		var disqus_date = new Date();

		if (location.hash != '') {
			location.hash = '#disqus_thread';
		}

		if(typeof(disqus_url) == 'undefined') {
			disqus_url = disqus_href;
		}
		disqus_script.type = 'text/javascript';
		disqus_script.src = 'http://disqus.com/forums/scobleizer/thread.js'
			+ '?slug='	+ 'google_buys_doubleclick_for_31_billion'
			+ '&sort='	+ sort
			+ '&title='
			+ '&'		+ disqus_date.getTime();

		Dsq.$('dsq-comments').innerHTML = '<img src="http://media.disqus.com/images/loading.gif">';
		Dsq.container.appendChild(disqus_script);
	};

	this.subscribe = function(status, email) {
		// `status` is an int -- 1 to subscribe, 0 to unsubscribe
		if(Dsq.jsonData.request.is_authenticated || email) {
			// If authenticated user OR anonymous email provided

			if(email) {
				Dsq.Popup._closePopup(null, true);
			}

			Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'google_buys_doubleclick_for_31_billion'
				+ '&email=' 	+ encodeURIComponent(email));

		} else if(!email) {
			// If anonymous user and no email has been provided yet, prompt for email

			var title = 'Subscribe to this comment thread';
			var message = ' \
				New comments will be sent directly to your email inbox! \
				<div class="dsq-subscribe-submit"> \
					<p><strong>Enter your email address below.</strong></p> \
					<input type="text" id="dsq-subscribe-email"> \
					<button type="button" onclick="Dsq.Thread.subscribe(1, Dsq.$(\'dsq-subscribe-email\').value)">Subscribe</button> \
				</div> \
			';

			Dsq.Popup.popModal(message, title);
		}
	};

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

		/* The form has to be re-designed when more options will come out. */
		var html = 'Automatically close comments after <input size="3" id="dsq-thread-days-alive" value="' + Dsq.jsonData.thread.days_alive + '" type="text" /> days. Existing comments will still be displayed.<br /><br />(Using 0 days will disable this feature)<br /><br />'
								 + '<button type="button" onclick="Dsq.Thread.updateDaysAlive();" class="dsq-button-small"><span>Save</span></button>'
								 + '<span id="dsq-thread-settings-status" class="dsq-options-status"></span>';

		Dsq.Popup.popModal(html, 'Settings');
	};

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

      var html = '<div class="dsq-moderate-options"><table><tr>' +
                 '<td>' + Dsq.Strings.ACTIONS + '</td><td><ul>';
      html += '<li><a href="#" onclick="Dsq.Thread.toggleClosed(); return false;">' +
              (Dsq.jsonData.thread.closed ? Dsq.Strings.OPEN_THREAD : Dsq.Strings.CLOSE_THREAD) +
              '</a></li>';
      html += '<li><a href="#" onclick="Dsq.Thread.toggleKilled(); return false;">' +
              (Dsq.jsonData.thread.killed ? Dsq.Strings.RESTORE_THREAD : Dsq.Strings.REMOVE_THREAD) +
              '</a></li>';
      html += '</ul></td></tr></table></div>' +
              '<p>Go to the full <a href="http://disqus.com/comments/moderate-threads/" target="_blank">moderate panel</a> for more options.</p>';
      Dsq.Popup.popModal(html, Dsq.Strings.MODERATE_OPTIONS);
  };

	this.updateDaysAlive = function() {
		  var days = Dsq.$('dsq-thread-days-alive').value;
		  var status = Dsq.$('dsq-thread-settings-status');
		  Dsq.Utils.postToUrl('http://disqus.com/forums/scobleizer/update_days_alive.js', {days:days,thread:Dsq.jsonData.thread.id});
		  status.innerHTML = 'Saved!';
		  window.setTimeout(function() { status.innerHTML = ''; }, 1000);
	};

  this.toggleClosed = function() {
      Dsq.Utils.postToUrl('http://disqus.com/forums/scobleizer/toggle_thread_closed.js', {thread:Dsq.jsonData.thread.id});
      window.setTimeout(function() { window.location.reload(); }, 500);
  };

  this.toggleKilled = function() {
      Dsq.Utils.postToUrl('http://disqus.com/forums/scobleizer/toggle_thread_killed.js', {thread:Dsq.jsonData.thread.id});
      window.setTimeout(function() { window.location.reload(); }, 500);
  };
};
// Dsq.Thread

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

	// Private
	var handlers = {};
	var getHandlers = function(event) {
		if (handlers[event] === undefined) {
			handlers[event] = [];
		}
		return handlers[event];
	};

	// Public
	// Value keys : postId, node, xtype
	obj.REPLY_IFRAME_CREATED = 1;
	// Value keys : postId, opened
	obj.REPLY_IFRAME_TOGGLED = 2;
	obj.fire = function(event, opt_value) {
		if (!event) {
			throw new Error('Unknown event');
		}
		var value = opt_value || {};
		for (var i=0; i<getHandlers(event).length; i++) {
			getHandlers(event)[i](value);
		}
	};
	obj.addHandler = function(event, callback) {
		getHandlers(event).push(callback);
	};

	return obj;
}();

/**
 * Dsq.Realtime
 */
Dsq.Realtime = new function() {
	var initialized = false;
	var interval = null;
	var last_checked = Dsq.jsonData.request.timestamp;
	var new_posts = [];
	var ongoing_request = false;
	var prev_script = null;

	function updateNewPostCount() {
		Dsq.$('dsq-realtime-alert').style.display = new_posts.length ? 'block' : 'none';

		Dsq.$('dsq-realtime-queued').innerHTML = new_posts.length
		+ ' new '
		+ Dsq.Utils.pluralize(new_posts.length, 'comment', 'comments')
		+ Dsq.Utils.pluralize(new_posts.length, ' was', ' were')
		+ ' just posted.';

		Dsq.$('dsq-realtime-show').innerHTML = '(' + Dsq.Strings.SHOW + ')';
	}

	function insertNewPosts() {
		var post_id = null;
		var after_id = Dsq.$('dsq-sort-select').value === 'oldest' ? -1 : null;

		for (var i=0; i<new_posts.length; i++) {
			post_id = new_posts[i];
			Dsq.Post.insert(after_id, post_id, Dsq.jsonData.posts[post_id].message);
			Dsq.Post.incrementPostCount();
			Dsq.Post.outlineComment(post_id);
		}
		new_posts = [];
	}

	this.enableInterval = function() {
		interval = setInterval(Dsq.Realtime.check, Dsq.jsonData.context.realtime_speed);
		Dsq.$('dsq-realtime-status').innerHTML = Dsq.Strings.ENABLED;
		Dsq.$('dsq-realtime-toggle').innerHTML = '(' + Dsq.Strings.PAUSE + ')';
	}

	this.disableInterval = function() {
		if (interval) {
			clearInterval(interval);
			interval = null;
		}
		Dsq.$('dsq-realtime-status').innerHTML = Dsq.Strings.PAUSED;
		Dsq.$('dsq-realtime-toggle').innerHTML = '(' + Dsq.Strings.RESUME + ')';
	}

	this.toggleInterval = function() {
		if (!interval) {
			Dsq.Realtime.enableInterval();
		} else {
			Dsq.Realtime.disableInterval();
		}
		return false;
	}

	this.initialize = function() {
		if (!initialized) {
			initialized = true;
			Dsq.$('dsq-realtime-toggle').onclick = this.toggleInterval;
			if (!Dsq.jsonData.forum.streaming_realtime) {
				Dsq.$('dsq-realtime-show').onclick = this.show;
				updateNewPostCount();
			}
			if (Dsq.jsonData.thread.realtime_paused) {
				Dsq.Realtime.disableInterval();
			} else {
				Dsq.Realtime.enableInterval();
			}
		}
	}

	this.show = function() {
		insertNewPosts();
		updateNewPostCount();
		return false;
	}

	this.check = function() {
		if (!ongoing_request && Dsq.jsonData.realtime_enabled) {
			if (prev_script) {
				prev_script.parentNode.removeChild(prev_script);
			}
			ongoing_request = true;
			prev_script = Dsq.Utils.execScript('http://disqus.com/forums/18464373/realtime.js?timestamp=' + last_checked);
		}
	};

	this.update = function(timestamp, posts, users) {
		ongoing_request = false;
		last_checked = timestamp;

		if (users) {
			for (var user_id in users) {
				if (users.hasOwnProperty(user_id)) {
					if (!Dsq.jsonData.users[user_id]) {
						Dsq.jsonData.users[user_id] = users[user_id];
					}
				}
			}
		}

		if (posts) {
			for (var post_id in posts) {
				if (posts.hasOwnProperty(post_id)) {
					if (!Dsq.jsonData.posts[post_id]) {
						Dsq.jsonData.posts[post_id] = posts[post_id];
						new_posts.push(post_id);
					}
				}
			}

			if (Dsq.jsonData.forum.streaming_realtime) {
				insertNewPosts();
			} else {
				updateNewPostCount();
			}
		}
	};

}();

// DEPRECATED
Dsq.Iframes = function() {
	// Different style of object from the above. Hoping to switch to this for some reason.
	var obj = {};

	// Private
	var showIframeInContainer = function(container, id, markup) {
		// Look through container for iframes, hiding them, except show one that matches id
		// If none of them matched id, create a new iframe using markup and insert it.
		// Returns the iframe node if and only if it was newly created.
		var found = false;
		for (var i=0; i<container.childNodes.length; i++) {
			var child = container.childNodes[i];
			if (child.nodeName == 'IFRAME') {
				if (child.id == id) {
					child.style.display = 'block';
					found = true;
				} else {
					child.style.display = 'none';
				}
			}
		}
		if (found) {
			return;
		}
		// The iframe wasn't found, so construct it and add it to the container.
		// Don't use innerHTML because it might reload iframes
		var div = document.createElement('div');
		div.innerHTML = markup;
		var iframe = div.childNodes[0];
		div.removeChild(iframe);
		container.appendChild(iframe);
		return iframe;
	};

	// Public
	obj.makeReplyIframeId = function(opt_postId, opt_xtype) {
		var id = 'dsq-post-add-iframe';
		if (opt_xtype) {
			id += '-' + opt_xtype;
		}
		if (opt_postId) {
			id += '-' + opt_postId;
		}
		return id;
	};
	obj.makeLoginIframeId = function(opt_postId) {
		if (!opt_postId) {
			return 'dsq-login-iframe';
		}
		return 'dsq-login-iframe-' + opt_postId;
	};
	obj.makeReplyIframeName = function(opt_postId, opt_xtype) {
		var name = 'dsq-reply-frame';
		if (opt_xtype) {
			name += '-' + opt_xtype;
		}
		if (opt_postId) {
			name += '-' + opt_postId;
		}
		return name;
	};
	obj.showReplyIframeInContainer = function(container, opt_postId, opt_extraParams, opt_className) {
		// Construct the id so we can check if it's already present.
		// Hide any other iframes we find, and show this one if it's found.
		var params = opt_extraParams || {};
		// use xtype in the id and name so we can distinguish media replies from text replies:
		var id = Dsq.Iframes.makeReplyIframeId(opt_postId, params.xtype);
		var name = Dsq.Iframes.makeReplyIframeName(opt_postId, params.xtype);
		var attributes = {
			'id': id,
			'name': name,
			'class': opt_className || 'dsq-post-reply'
			};
		var markup = Dsq.Templates.frameReply(opt_postId, opt_extraParams, attributes);
		var iframe = showIframeInContainer(container, id, markup);
		// It was newly created
		if (iframe) {
			Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_CREATED, {
				postId: opt_postId,
				node: iframe,
				xtype: params.xtype
			});
		}
	};
	obj.showLoginIframeInContainer = function(container, opt_postId) {
		var id = Dsq.Iframes.makeLoginIframeId(opt_postId);
		var markup = Dsq.Templates.frameLogin({id: id});
		showIframeInContainer(container, id, markup);
	};
	obj.showReplyIframeInContainerIfAllowed = function(container, opt_postId) {
		if (Dsq.jsonData.context.show_reply) {
			obj.showReplyIframeInContainer(container, opt_postId);
		} else {
			obj.hideAllInContainer(container);
		}
	};
	obj.hideAllInContainer = function(container) {
		for (var i=0; i<container.childNodes.length; i++) {
			var child = container.childNodes[i];
			if (child.nodeName == 'IFRAME') {
				child.style.display = 'none';
			}
		}
	};

	return obj;
}();

Dsq.Twitter = new function() {
	var that = this;

	this.startTwitterConnect = function() {
		var popupParams = 'location=0,status=0,width=800,height=400';
		that._twitterWindow = window.open(Dsq.jsonData.settings.disqus_url + '/_ax/twitter/begin/', 'twitterWindow', popupParams);
		that._twitterInterval = window.setInterval(that.completeTwitterConnect, 1000);
	};

	this.completeTwitterConnect = function() {
		if (that._twitterWindow.closed) {
			window.clearInterval(that._twitterInterval);
			window.location.reload();
		}
	};
};

Dsq.Yahoo = new function() {
	var that = this;

	this.startYahooConnect = function() {
		var popupParams = 'location=0,status=0,width=800,height=400';
		that._yahooWindow = window.open(Dsq.jsonData.settings.disqus_url + '/_ax/yahoo/begin/', 'yahooWindow', popupParams);
		that._yahooInterval = window.setInterval(that.completeYahooConnect, 1000);
	};

	this.completeYahooConnect = function() {
		if (that._yahooWindow.closed) {
			window.clearInterval(that._yahooInterval);
			window.location.reload();
		}
	};
};

Dsq.OpenID = new function() {
	var that = this;

	this.requestURL = function() {
		var message = '<table class="dsq-openid-form"><tr><td style="vertical-align:top;" rowspan="2"><img src="' + Dsq.jsonData.settings.media_url + '/images/openid-icon-100x100.png" /></td>';
		message += '<td><label for="dsq-openid-url">OpenID URL:</label></td><td><input type="text" id="dsq-openid-url" /></td></tr>';
		message += '<tr><td><label for="dsq-openid-username">Display name:</label></td><td><input type="text" id="dsq-openid-username" /></td></tr>';
		message += '<tr><td class="dsq-openid-submit" colspan="3"><input type="button" value="Sign in" onclick="Dsq.OpenID.startConnect();" /></td></tr>';
		message += "</table>";

		Dsq.Popup.popModal(message, 'Sign in using OpenID');
	};

	this.startConnect = function() {
		var isblank = function(str) {
			return /^\s*$/.test(str);
		};

		var openid_url = Dsq.$('dsq-openid-url').value;
		var username = Dsq.$('dsq-openid-username').value;

		if (isblank(openid_url)) {
			return;
		}

		var popupParams = 'location=0,status=0,width=800,height=500';
		var url = Dsq.jsonData.settings.disqus_url + '/_ax/openid/begin/' + '?url=' + encodeURIComponent(openid_url) + '&username=' + encodeURIComponent(username);
		that._openidWindow = window.open(url, 'openidWindow', popupParams);
		that._openidInterval = window.setInterval(that.completeConnect, 1000);
	};

	this.completeConnect = function() {
		if (that._openidWindow.closed) {
			window.clearInterval(that._openidInterval);
			window.location.reload();
		}
	};
};

Dsq.Reaction = new function() {
	var that = this;

	this.hide = function(id) {
		Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/hidereaction.js?' + 'reaction_id=' + id);
	};

	this.reportMissingReactions = function() {
		if (!Dsq.jsonData.request.is_moderator || !Dsq.jsonData.forum.reactions_enabled) {
			return;
		}

		if (Dsq.jsonData.thread.queued) {
			Dsq.Popup.popModal('Your report has been received. The system will automatically search for new reactions; if any are found, they will be displayed on this comment thread.<br/><br/>Thank&nbsp;you.',
												 'Reported missing reactions');
			return;
		}

		Dsq.Utils.execScript(Dsq.jsonData.settings.disqus_url + '/forums/scobleizer/queueurl.js');
	};
};

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

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

	return obj;
}();


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





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

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

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

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

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

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





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

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

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

})();

Dsq.container.className = "clearfix";
Dsq.container.innerHTML = ' \
<ul id="dsq-comments">\
	 <li id="dsq-comment-9676031">\
	 <div id="dsq-comment-header-9676031" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676031" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676031">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676031" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676031" class="dsq-comment-message">"UPDATE: $3.1 billion DoubleClick. Microsoft was in bidding. New York Times has the story, I don’t have the link yet."<br><br>Really?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676029">\
	 <div id="dsq-comment-header-9676029" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676029" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676029" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676029" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676029" class="dsq-comment-message">I was at lunch when my phone started ringing.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676008">\
	 <div id="dsq-comment-header-9676008" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676008" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676008" href="http://cliffcate.wordpress.com/" target="_blank" rel="nofollow">Cliff Cate</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676008" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676008" class="dsq-comment-message">It is cool how the rumor spread first on Twitter and you couldn\'t find anything about it on the web</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676045">\
	 <div id="dsq-comment-header-9676045" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676045" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676045" href="http://www.dariosalvelli.com" target="_blank" rel="nofollow">Dario Salvelli</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676045" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676045" class="dsq-comment-message">I follow your alert on Twitter: are u sure ?<br>There are some Discussions on Techmeme and on CIOL:<br><br><a href="http://tinyurl.com/3bzc62" rel="nofollow">http://tinyurl.com/3bzc62</a><br><a href="http://tinyurl.com/2vjj85" rel="nofollow">http://tinyurl.com/2vjj85</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676019">\
	 <div id="dsq-comment-header-9676019" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676019" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676019" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676019" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676019" class="dsq-comment-message">Dario: it\'s in the New York Times now. I updated my post.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676020">\
	 <div id="dsq-comment-header-9676020" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676020" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676020" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676020" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676020" class="dsq-comment-message">Here\'s the New York Times article on the acquisition: <a href="http://www.nytimes.com/2007/04/14/technology/14DoubleClick.html?ref=technology:" rel="nofollow">http://www.nytimes.com/2007/04/14/technology/14...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676027">\
	 <div id="dsq-comment-header-9676027" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676027" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676027" href="http://www.dariosalvelli.com" target="_blank" rel="nofollow">Dario Salvelli</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676027" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676027" class="dsq-comment-message">@Robert: Thanks,i read the update now. What do u think ? Almost double the 1.65$ billion !</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676018">\
	 <div id="dsq-comment-header-9676018" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676018" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676018" href="http://notaprguy.wordpress.com/" target="_blank" rel="nofollow">notaprguy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676018" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676018" class="dsq-comment-message">I\'m not so sure that this is a huge loss for MSFT. If they thought Doubleclick was worth this much they would have bought the company. Google has already been accused by some of overpaying for YouTube. Doubleclick may be another case of their irrational exuberance.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676015">\
	 <div id="dsq-comment-header-9676015" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676015" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676015">Wanderley</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676015" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676015" class="dsq-comment-message">I can\'t shake the impression that Google just paid 3.1 cool billions just to keep Microsoft from having it.<br><br>Because I really don\'t think Google would need to buy DoubleClick for any other reason... Well, at least it wouldn\'t be worth that much money to them.<br><br>I don\'t buy it that Google doesn\'t have the relationships to enter the display ad business or that it couldn\'t build them in a timely fashion for a lot less money. Robert, can you comment on that? I\'d love to read your analysis on this.<br><br>For now, I believe this is all about shutting the door on Microsoft\'s face. The company\'s assets and relationships are just icing on the cake.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676010">\
	 <div id="dsq-comment-header-9676010" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676010" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676010">seshadri</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676010" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676010" class="dsq-comment-message">Brave.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676012">\
	 <div id="dsq-comment-header-9676012" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676012" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676012" href="http://afreshcup.com/" target="_blank" rel="nofollow">Mike Gunderloy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676012" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676012" class="dsq-comment-message">DoubleClick has certainly come in for their share of criticism over privacy and tracking in the past. It will be interesting to see whether Google gets a free pass from the babbling classes for this acquisition. Also will be interesting to see whether Microsoft remains the heavy user of DoubleClick tracking that it is today.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676023">\
	 <div id="dsq-comment-header-9676023" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676023" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676023" href="http://blogs.ittoolbox.com/security/dmorrill" target="_blank" rel="nofollow">Dan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676023" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676023" class="dsq-comment-message">it is one heck of a coup for Google, and makes sense for them to do this, instant $.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676007">\
	 <div id="dsq-comment-header-9676007" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676007" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676007" href="http://www.techtoolblog.com/" target="_blank" rel="nofollow">Tim</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676007" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676007" class="dsq-comment-message">Way, way over priced, their earnings were only in the 100 millions this quarter, bad move by Google.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676053">\
	 <div id="dsq-comment-header-9676053" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676053" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676053">Goebbels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676053" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676053" class="dsq-comment-message">Definitely, a coup. Which is why they were willing to pay a 50% premium over Microsoft.<br><br>It\'s silly to suggest that MS was willing to pay this sum when their ad efforts show a lack of success and many markets show financial losses, and they keep spending their cash hoard. An additional billion dollars would have looked bad on their financial statements. For Google is much more explanable, and they are already kicking ass in the ad space so there is zero concern about their ability to make it a worthwhile acquisition.<br><br>The actual details of integration, the costs, etc... That gets uglier, but stealing them away from Microsoft (who are quickly running out of options in the ad space; this was getting viewed as their last alternative to show major gains) is the only reason they need. And for that it is well worth it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676054">\
	 <div id="dsq-comment-header-9676054" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676054" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676054" href="http://shannonclark.wordpress.com/" target="_blank" rel="nofollow">shannonclark</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676054" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676054" class="dsq-comment-message">Cool to watch the story break while we were at lunch. I think this is a very good move for Google. As I blogged earlier today, Google is NOT in the search business - this just helps emphasize that point and expands Google into one of the few areas of online advertising (and offline advertising) which they were not dominant in.<br><br>If the NYTimes story is correct DoubleClick was generating $300M / year, so the price is about 10x earnings - not cheap but certainly not seriously overpriced.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676030">\
	 <div id="dsq-comment-header-9676030" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676030" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676030" href="http://blog.fileville.net/" target="_blank" rel="nofollow">Joe</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676030" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676030" class="dsq-comment-message">DoubleClick did the image ads? Right? The ones that many people hate? Thats why Google\'s AdWords were so popular? Whats going to happen with those?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676035">\
	 <div id="dsq-comment-header-9676035" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676035" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676035" href="http://www.almostageek.com/" target="_blank" rel="nofollow">ET</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676035" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676035" class="dsq-comment-message">A little overpriced IMHO but I think it was a good purchase that will add to their business.  Also, anytime the door is slammed in MS\'s face is a good time.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676044">\
	 <div id="dsq-comment-header-9676044" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676044" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676044" href="http://notaprguy.wordpress.com/" target="_blank" rel="nofollow">notaprguy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676044" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676044" class="dsq-comment-message">ET - Perhaps it\'s almost time to stop worrying about Microsoft and start worrying about Google?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676026">\
	 <div id="dsq-comment-header-9676026" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676026" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676026">Bess</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676026" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676026" class="dsq-comment-message">This move is to disrupt Microsoft short term and long term strategy and plan. It would take longer for Microsoft to catch up.<br><br>Follow Ycombinator Paul Graham\'s advise: Buy the startups with the brightest developers in Silicon Valley locking them up in a building away from Seattle. Offer them FREE shuttle bus and FREE healthy food. Allow them to bring dogs and cats to office. Waiting for H1B visa talents won\'t get results fast enough on the web. Listen to the veterans and industry watchers.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676009">\
	 <div id="dsq-comment-header-9676009" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676009" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676009" href="http://dotnetjunkies.com/WebLog/paul/" target="_blank" rel="nofollow">paul</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676009" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676009" class="dsq-comment-message">Google says their not evil, but DubleClick certainly is - just take a look at your cookie cash.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676004">\
	 <div id="dsq-comment-header-9676004" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676004" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676004">met</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676004" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676004" class="dsq-comment-message">Maybe Microsoft was just playing along to make Google spend more.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676024">\
	 <div id="dsq-comment-header-9676024" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676024" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676024" href="http://www.yireh.sg/" target="_blank" rel="nofollow">lee</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676024" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676024" class="dsq-comment-message">with the purchase, hopefully DoubleClick will mend its ways and "not be evil". :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676028">\
	 <div id="dsq-comment-header-9676028" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676028" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676028" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676028" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676028" class="dsq-comment-message">None of these businesses Google buys makes anywhere near the amount of money they purchased it for. Youtube for 2 Billion, it was LOSING 1M per month at the time. DoubleClick is a modest business, in the single digit millions GROSS. It\'s not going to recuperate the money. It\'s a buy out at a loss.<br><br>The MySpace search buy out is a loss too. Orkut and Gmail on the other hand are different.<br>Google is playing the game of internet Monopoly here.<br>The obvious choice is to let go of the traditional web internet, and let Google choke on their own vomit by spending on businesses that do not live up to the expenditures. The money they spend on Live could alternately be used to fuel a different strategy that does NOT compete with Google.<br>Microsoft competing with Google on the internet is going to be as futile now as it was for Commodore to compete with windows in the early or mid 90s.<br>It\'s a money pit at this point and they need to find something they ARE good at. And fire Ballmer. He\'s a train wreck.<br>Screw Doubleclick, it\'s cookie spam. It\'s Claria of the internet.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676005">\
	 <div id="dsq-comment-header-9676005" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676005" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676005">Mr. Robinson</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676005" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676005" class="dsq-comment-message">I agree with Chris.<br>Microsoft should abandon competing with Google and let them have that space.  Google overpaid for it, but they have it now and will have it forever.  In fact, Microsoft should make an online version of Office and make a deal with Google to make it part of Google\'s web services (Google\'s own web apps are a pathetic joke).  Both companies would make money.<br><br>As for Live, I wouldn\'t abandon it, but move it in a different direction.  Get out of search altogether; meaning, just provide a search box that directs all searches to Google.  And I\'d cease trying to compete in the ad-space too.<br><br>The bigger problem is for the non-Microsoft companies that were trying to compete on ads, search, and whatnot.  They\'re essentially dead now that Google has the market cornered.  They have to hope that the DOJ comes after Google for buying properties at massive loss for the sole reason of stamping out competition.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676051">\
	 <div id="dsq-comment-header-9676051" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676051" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676051" href="http://www.hamey.com/" target="_blank" rel="nofollow">Ben Hamey</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676051" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676051" class="dsq-comment-message">Perhaps a little overpriced but now who will Microsoft acquire if they want to really compete with Google?  Yahoo?  I don\'t think they can afford it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676003">\
	 <div id="dsq-comment-header-9676003" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676003" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676003">Goebbels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676003" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676003" class="dsq-comment-message">Chris, I disagree about DC\'s value to Google. Firstly, everything I\'ve read has said 100s of millions of profit. Second, the new online brokering system developed by DoubleClick has been getting mucho kudos and seems to be the latest, leading edge technology in the ad space. Third, Google, because of its enormity and search engine, instantly magnifies the value of DoubleClick once they internalize DC\'s technology, existing ads, and relationships.<br><br>As for Microsoft stopping trying to compete with everyone. That goes without saying. Just imagine what their profits would look like without the cash sinks (that are likely never to be profitable to them).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676002">\
	 <div id="dsq-comment-header-9676002" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676002" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676002" href="http://searchengines.wordpress.com/" target="_blank" rel="nofollow">searchengines</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676002" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676002" class="dsq-comment-message"><b> <a href="http://www.eweek.com/article2/0%2C1895%2C1834514%2C00.asp" rel="nofollow">http://www.eweek.com/article2/0,1895,1834514,00...</a><br></b><br><br>De\'ja Vous...<br>The more things change - the more they remain the same</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675998">\
	 <div id="dsq-comment-header-9675998" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675998" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675998">MGB</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675998" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675998" class="dsq-comment-message">3.1 BILLION??!?!?<br><br>FOR DOUBLECLICK?!?!?!?<br><br>HA! HA! HA!<br><br>Hmm... Then again... I don \'t think Google could have possibly afforded to lose Doubleclick to Microsoft.<br><br>Bottom line: Google may have had NO choice but to make this purchase. They may not have really wanted Doubkleclick. Maybe Doubleclick really is worth it. But i\'ll say this...<br><br>Personally I don\'t think anyone on earth today can reasonably or accurately predict if this was the right move on Google\'s part. This deal was a "time will only tell" move.  Just like Xerox\'s refusal to go commercial with their Xerox Alto computer... this deal may go down in computing history as either the wisest move...  or the dumbest.<br><br>This deal WILL, like it or not, FOREVER alter the playing field. And ultimately ... the history books.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676021">\
	 <div id="dsq-comment-header-9676021" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676021" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676021" href="http://xlsgen.arstdesign.com/" target="_blank" rel="nofollow">Stephane Rodriguez</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676021" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676021" class="dsq-comment-message">DoubleClick is a major ad network. Google gobbles it, which pretty much signs death for everybody else, including small agile players.<br><br>Microsoft consolation : Gator (Claria) purchase can proceed...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675997">\
	 <div id="dsq-comment-header-9675997" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675997" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675997" href="http://xlsgen.arstdesign.com/" target="_blank" rel="nofollow">Stephane Rodriguez</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675997" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675997" class="dsq-comment-message">@29 : "Microsoft should make an online version of Office"<br><br>They can\'t. Either it\'s a full online version which does not require Windows or Internet Explorer, in which case they canibalize themselves. Or it\'s not a full online version, and nobody bothers.<br><br>Look at those corporate applications that have moved from fat clients to intranet versions. It took a decade but pretty much everything has moved to the server (not to confuse with web-only).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675996">\
	 <div id="dsq-comment-header-9675996" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675996" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675996">Albert</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675996" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675996" class="dsq-comment-message">Doubleclick is a firm I have hated since the time they tried to fill my PCs with cookies and other stuff in the 90ies. If Google buys this **** firm some of that hate will be transferred. Bad deal for Google.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675995">\
	 <div id="dsq-comment-header-9675995" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675995" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675995" href="http://chiperoni.org/" target="_blank" rel="nofollow">nchenga nchenga</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675995" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675995" class="dsq-comment-message">yikes...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675994">\
	 <div id="dsq-comment-header-9675994" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675994" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675994">wreck</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675994" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675994" class="dsq-comment-message">@34,<br><br>Just do what I do, block ALL ads, even Google ads. If you use Linux, this is a joke to do. Konqueror comes with adblock by default now. It\'s a cinch to blcok just about anything or anyone.<br><br>Ads should be a choice on the part of the consumer, never forced on them. I don\'t like being marketed to, so I just say no. I NEVER click on ads, ever.<br><br>It\'s your right to not see ads during your surfing experience, and there are free, easy tools to help that happen. Adblock with Firefox or if you don\'t want to worry about it in your browser you can download Privoxy if you use Windows and configure it to see no ads whatsoever.<br><br>Doubleclick\'s ads have been particularly egregious in the past, so they were the first to get blocked.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675993">\
	 <div id="dsq-comment-header-9675993" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675993" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675993">wreck</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675993" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675993" class="dsq-comment-message">I agree with the sentiment to deny MS the purchase. MS needs to be taken down a notch or two. IF they cannot develop their own ad network, then they have no business being in that business. Google at least came up with adwords and the algorithms, etc.<br><br>MS tends to buy its expertise rather than develop it itself.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675992">\
	 <div id="dsq-comment-header-9675992" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675992" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675992">Joe</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675992" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675992" class="dsq-comment-message">I can\'t help but think that Google overpaid for double click, just as they overpaid for youtube,<br>Google has lots of money, Microsoft has even more money than Google, Google hasn\'t shown the ability to earn money outside of search.<br>I can\'t help but think than Goolge\'s buisness model is based on throwing spagetti at the wall and hoping that something sticks.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675991">\
	 <div id="dsq-comment-header-9675991" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675991" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675991">Joe</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675991" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675991" class="dsq-comment-message">I agree with the sentiment to deny MS the purchase. MS needs to be taken down a notch or two. IF they cannot develop their own ad network, then they have no business being in that business. Google at least came up with adwords and the algorithms, etc.<br><br>MS tends to buy its expertise rather than develop it itself.<br><br>Comment by wreck — April 14, 2007 @ 7:44 am<br><br>That\'s actually quite common for most companies, Google,Apple, Oracle. Microsoft does have a Major braintrust in Redmond as does it\'s competitors.<br><br>I don\'t see anything brilliant coming out of Mountain view , lets not loose focus here just becuase some of us don\'t like MS.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675990">\
	 <div id="dsq-comment-header-9675990" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675990" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675990">seshadri</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675990" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675990" class="dsq-comment-message">"I don’t see anything brilliant coming out of Mountain view , lets not loose focus here just becuase some of us don’t like MS"<br><br>Yeah..It would have been interesting to see the reactions if it was yahoo instead of msft.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675975">\
	 <div id="dsq-comment-header-9675975" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675975" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675975" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675975" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675975" class="dsq-comment-message">Seshadri: my reaction would have been Google loses one.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675987">\
	 <div id="dsq-comment-header-9675987" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675987" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675987" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675987" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675987" class="dsq-comment-message">"Microsoft consolation : Gator (Claria) purchase can proceed…"<br><br>If they really, really wanted to desperately compete with Google, the best way would be to buy out all the remaining smaller search engine sites that are reasonably big.<br><br>That would draw some attention from the DOJ, and so it is impossible.<br><br>Checkmate from Google on Microsoft\'s queen, the internet.<br><br>They should now focus on using the internet in other ways than HTTP, and not make it windows ONLY technology as they have been. Non HTTP inter operable technology is the way to go. Once the non-HTTP internet becomes as accessible and as popular as the HTTP web, Microsoft will have beat Google.<br><br>Microsoft however are hell-bent on Windows, and gluing people to it, so they will never realize the potential of selling just the software sans the platform.<br><br>XML RPC and SOAP is cool, why can\'t EVERYONE use it???<br>This is just a small example of what is possible but has not been popularized.<br><br>Google won\'t do it, google is starting to own HTTP. MS could, Yahoo could ect...<br>MS totally isn\'t intelligent enough to succeed anymore. Their entire brains in Bill Gates is too busy going to G8 style summits and giving speeches to do anything meaningful anymore.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675984">\
	 <div id="dsq-comment-header-9675984" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675984" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675984" href="http://www.saran945.com/" target="_blank" rel="nofollow">saran</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675984" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675984" class="dsq-comment-message">This is not related to Microsoft, Double click was a #1 rival in Google’s Ad business. Google now more than 99% ad revenue company. Media/Technology companies do not clearly understanding Google business models.<br>There is no reason MS to buy this, since MS have</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675978">\
	 <div id="dsq-comment-header-9675978" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675978" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675978" href="http://www.saran945.com/" target="_blank" rel="nofollow">saran</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675978" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675978" class="dsq-comment-message">less than 10% search engine market share, to me, this acquisition is a set back for Yahoo and few Media companies. Moreover, Microsoft does have any ‘user centric’ brand ?<br>Kind rgrds<br>saran</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675979">\
	 <div id="dsq-comment-header-9675979" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675979" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675979">Goebbels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675979" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675979" class="dsq-comment-message">"Seshadri: my reaction would have been Google loses one."<br><br>I don\'t see how. This is search marketshare but it has a relationship to advertising:<br><br>Google: 64%<br>Yahoo: 21%<br>MSN: 9%<br>Ask: 4%<br><br>Yahoo is a stronger competitor than Microsoft to Google in both search and advertising. With both companies, it strengthens Google. Just because Microsoft was desperate to get a piece doesn\'t mean this doesn\'t impact Yahoo.<br><br>"If they really, really wanted to desperately compete with Google, the best way would be to buy out all the remaining smaller search engine sites that are reasonably big."<br><br>Which ones? Do you mean Ask? Or the ones even smaller? The top 4 represent 97% of the market. If they grabbed Ask and the remaining 3% (which would remain impossible: that small percent is almost always going to defect to obscure or niche searche engines), they\'d still be smaller than Yahoo.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675989">\
	 <div id="dsq-comment-header-9675989" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675989" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675989" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675989" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675989" class="dsq-comment-message">Saran: when I worked at Microsoft Microsoft\'s president Kevin Johnson told me (and others) that almost all of its growth would come from advertising-based revenues in the future. Double-click mattered a LOT to that future strategy.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675983">\
	 <div id="dsq-comment-header-9675983" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675983" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675983">Goebbels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675983" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675983" class="dsq-comment-message">By the way, remember when I recommended buying Yahoo when it "tanked" in July (from around $32 to $26)?<br><br>Well, it\'s back around $31.50 and is going to be THE interesting player in this space. Microsoft is going to want them big time next but I don\'t know how they\'ll handle their $42 billion market value. Nevermind how they would incorporate the brand and properties. (In fact, thank god it would be difficult to merge properties and is prohibitively expensive: I\'d had to see Microsoft destroy a lot of tools that I use.)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675982">\
	 <div id="dsq-comment-header-9675982" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675982" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675982">Goebbels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675982" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675982" class="dsq-comment-message">"when I worked at Microsoft Microsoft’s president Kevin Johnson told me (and others) that almost all of its growth would come from advertising-based revenues in the future."<br><br>Since he was wrong, how much value does that prediction have?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675977">\
	 <div id="dsq-comment-header-9675977" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675977" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675977">seshadri</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675977" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675977" class="dsq-comment-message">In a way this deal is a made-for-google one.<br><br>MSFT can never justify a 3 billion purchase when its online presence is a distant third. Personally I am happy that MSFT didn\'t end up buying DC. With the google buyout, all the negative perception associated with DC will be \'forgotten\'. But the situation would have been whole lot different with a MSFT buyout of DC.<br><br>From a tech reader perspective, any news involving MSFT or its direct competitor is getting boring. You can easily predict the reaction - MSFT thrashed. No proper arguments, no pro-con analysis. Just pick the side against MSFT and start thrashing...<br><br>Curently thats the dominance theme in all the techmeme-d blogs. Look at this - <a href="http://paul.kedrosky.com/archives/2007/04/13/googleclick_and.html" rel="nofollow">http://paul.kedrosky.com/archives/2007/04/13/go...</a> - he says 1/3 rd of the cost is justified as an anti-msft move while the rest is the buyout. I mean, how ridiculous things could get. One instance i see articles saying that msft can never match google whatever they do and the next moment someone justifies a 1 billion spend to keep msft down.<br><br>(I thought scoble would come up with one such pro-con stuff. But i get a feeling that post "Kathy Sierra", he is unusually subdued)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676041">\
	 <div id="dsq-comment-header-9676041" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676041" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676041">Goebbels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676041" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676041" class="dsq-comment-message">"he says 1/3 rd of the cost is justified as an anti-msft move while the rest is the buyout. I mean, how ridiculous things could get."<br><br>What\'s ridiculous about that? 2 Bills is what MSFT was willing to spend and what the consensus valuation is. 3 Bills is 10x revenue, not absurd. As you say, Google is best positioned to leverage this.<br><br>This deal is 100x better than the YouTube deal, and 1000x better than the Time-AOL merger... Google has the cash ($11+ Billion) and has quarterly profits of $1 Billion on $3+ Billion revenue when they were earning only around $300 million a quarter a year ago. (i.e., a year from, probaly even much sooner, you\'ll look at Google\'s financials and see zero sign of a $3 billion purchase.)<br><br><br>Yes, I and others are anti-Microsoft, but this doesn\'t mean we can\'t evaluate the value to Google and particularly in relation to its competition fairly.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676048">\
	 <div id="dsq-comment-header-9676048" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676048" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676048">seshadri</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676048" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676048" class="dsq-comment-message">"What’s ridiculous about that?"<br><br>That particular idea viewed in isolation is not ridiculous. But put it next to the popular view that "MSFT is DEAD and can never do anything significant in the online space" and see how it looks.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676037">\
	 <div id="dsq-comment-header-9676037" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676037" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676037">Goebbels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676037" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676037" class="dsq-comment-message">I don\'t see any saying they are DEAD in relation to this. I do see people say they can\'t do anything significant in the online advertising space -- and that is TRUE. And in terms of search it is also TRUE. They\'ve done some things in some areas with some Live properties, but they have all been essentially irrelevant financially and strategically.<br><br>It seems to me that you are drawing together anything negative about MS to paint your own little conspiracy theory.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676047">\
	 <div id="dsq-comment-header-9676047" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676047" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676047" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676047" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676047" class="dsq-comment-message">Damn Goebbels. I hate when I agree with you.<br><br>The stock market does too. Neither Google nor Microsoft really moved much yesterday.<br><br>This is another "moat" around Google\'s advertising business. It just made Google\'s core business (advertising revenues) much more difficult to attack strategically.<br><br>Microsoft isn\'t going anywhere. When we say "Microsoft is dead" we don\'t mean literally. We mean its growth is now constrained in a box and it will have to fight to get out of that box (and, yesterday proved that Ballmer isn\'t willing to give up billions to fight).<br><br>So, what does this all mean? The stock market is yawning. Why? Cause this purchase locks in place Google\'s ascendancy and locks in place Microsoft\'s ability (er, inability) to get anything strategically going.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676050">\
	 <div id="dsq-comment-header-9676050" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676050" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676050" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676050" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676050" class="dsq-comment-message">And, Seshadri, this isn\'t personal. It\'s just that Google has a far more interesting business growth path than Microsoft does. And Microsoft\'s own president knows it.<br><br>That makes Google the more interesting company to watch, talk about, and consider.<br><br>Microsoft still has tons of advantages over Google, though. You\'re right that we shouldn\'t write it off. Any company with billions in the bank can ALWAYS become interesting again! (Look at Apple).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676032">\
	 <div id="dsq-comment-header-9676032" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676032" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676032">shravan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676032" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676032" class="dsq-comment-message">@Scoble: "What do you think?"<br><br>I think you should rename your blog to "Googleizer"! :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676052">\
	 <div id="dsq-comment-header-9676052" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676052" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676052" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676052" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676052" class="dsq-comment-message">Well, I\'ve definitely been "Googleized." :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676033">\
	 <div id="dsq-comment-header-9676033" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676033" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676033">seshadri</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676033" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676033" class="dsq-comment-message">Okay..I was off-topic a bit here.<br><br>As for as this deal goes, only time will tell if this a sound deal or not(as someone already noted in the comments) and again, no one except google would have been justified in doing this.<br><br>My rant was about not finding some fair pro-con anlaysis on the deal. All that i could read had pretty much the same point - this was a victory to google bcos MSFT lost out.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676049">\
	 <div id="dsq-comment-header-9676049" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676049" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676049" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676049" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676049" class="dsq-comment-message">"(and, yesterday proved that Ballmer isn’t willing to give up billions to fight)."<br><br>Isn\'t it ironic that IBM out revenues both Google and MS with<br><br>A. No Operating system<br><br>B. No web portal or internet strategy to speak of<br><br>C. no hardware line anymore<br><br>Has anybody at MS thought of growing in the Enterprise sector?<br>Like NOT making out of box kiddy software and actually making some huge custom software and support deals?<br><br>That would be far too painful for them I fear.<br>So the rest of us keep making money off of that.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676038">\
	 <div id="dsq-comment-header-9676038" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676038" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676038">seshadri</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676038" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676038" class="dsq-comment-message">One of the blogs mentioned that Google\'s ad model was an anti-theses to the DC model and that was one of the reasons for its success. Now by acquiring DC they have some level contradictions in their as business model.<br><br>It would be great to see some validation/invalidation of theories like this and consider tehcnological implications as well...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676046">\
	 <div id="dsq-comment-header-9676046" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676046" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676046" href="http://www.beercosoftware.com/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676046" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676046" class="dsq-comment-message">Correction, there is of course AIX, but that is quickly shifting to Linux.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676001">\
	 <div id="dsq-comment-header-9676001" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676001" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676001">Goebbels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676001" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676001" class="dsq-comment-message">Scoble, in relation to your Kevin Johnson statement: do you think Microsoft no longer believes there is growth left in their core markets and that advertising was the best and most promising industry (the only foreseeable one with real growth on their scale) or were they just seeing the massive success of Google and the potential of the advertising market and, with usual hubris, assuming they could just step in, providing them an easy growth path?<br><br>I think, by the way, there are further lessons about Microsoft. A couple of years ago, it was believed they could get into the space with small acquisitions and technology, but those efforts had no effect against the Google Juggernaut. (This also was supposed to leverage existing properties and strengths (MSN, Hotmail -- remember when Hotmail was talked about as the most important web property? Now even if still immense, it\'s completely irrelevant strategically and financially in relation to the competition... But those web properties are losing value or are dying in a reallignment process that hasn\'t resulted in any value yet...) So analysts have shifted to saying they could buy (bigger) into the market. But DoubleClick was primarily the only significant feasible opportunity. They\'ve lost thus far on their typical strengths: buying power, leveraging existing properties, and developing their own tech.<br><br>Without some yet unseen rebirth, crystalization, and major leap from the Live initiatives... (True gut-wrenching hard work and fighting involving developing their own tech and changing their strategy to something yet unseen) I don\'t foresee anything good for Microsoft in this space for years to come.<br><br>Which makes Yahoo extremely important. If Google continues to make gains and Microsoft continues to slide without any major new players in the next couple of years, we won\'t necessarily be saying Microsoft is dead but we will say they are irrelevant, we will say they are just an OS and office software vendor... We will be saying things like Google-Apple (combined market cap of 215 Bill vs. MSFT\'s 280 Bill) are more valuable, more powerful, more influential than Microsoft even if Microsoft still owns the business and most of the home software market... if the current landscape is accurate and trends continue.<br><br>And its Microsoft\'s own fault for perceiving all markets as their domain. For commoditizing most industries eliminating their growth opportunities. (In many respects, I agree with Johnson that their growth would come from advertising -- I just happen to believe they won\'t get any of it.)<br><br>So over the next couple of years, I think we are finally going to see real examination of Microsoft\'s attempts to enter new markets, its leadership, and strategies. (There cash has dwindled to 26 Billion; Google has 11 billion and is less than half their size; Apple, a company 3.5x smaller, has 12 billion.)<br><br>We\'ve come along way from when Microsoft was valued at $400 Billion and had $50 billion in cash, Apple was a $10 Billion dollar company, Dell was the financial powerhouse, and Google had no revenue and was just a search engine. They aren\'t the 800 pound gorilla in any financial sense anymore -- they still dominate 2 software markets, but that\'s it... Yet some people haven\'t realized the shift yet... They still think no one has the buying power or cash of Microsoft, that they still have all the leverage and expertise.<br><br>Somehow, I think this purchase will ultimately be key to a perception shift in the market, will have substantial impact on both Microsoft and Google. And in a much bigger historical sense than just the ad/search space. And for this, $3 billion is a steal.<br><br>(I apologize for the essay... I\'m sure will think I\'m dreaming, smoking crack. I\'m seeing this long term and in many ways historically antecedent to the antitrust issues a decade ago which I don\'t think people really even appropriately consider the effects of to this day.)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676017">\
	 <div id="dsq-comment-header-9676017" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676017" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676017">seshadri</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676017" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676017" class="dsq-comment-message">"We will be saying things like Google-Apple"<br><br>And what is Apple doing here? Somehow Google\'s dominance will kill Desktop OS but not Mac?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676043">\
	 <div id="dsq-comment-header-9676043" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676043" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676043">shravan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676043" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676043" class="dsq-comment-message">@Seshadri,<br><br><a href="http://blogs.zdnet.com/micro-markets/" rel="nofollow"> This blog </a> seems to mention some pros/cons of the deal. I agree with you that it\'s too early to predict the outcome of this deal. Of course, I like Microsoft (even though I don\'t work there) and that may have influenced my opinion.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676042">\
	 <div id="dsq-comment-header-9676042" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676042" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676042">Goebbels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676042" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676042" class="dsq-comment-message">Getting back on topic, seshadri, I think the pros-cons have been laid out.<br><br>CONS<br>1. Their is a potential evil perception because of DoubleClick\'s past spyware, deep cookie-ing issues. And also moving back into banners/images/videos (They were successful because they avoided them.)<br><br>That\'s about it. Google was so successful initially in the ad space by getting away from banner/image ads, but it still represents a large portion of the online ad space. And Google was having difficulty entering it. It\'s not a contradiction so much as it becomes a compliment. (Do you want text ads, or do you want banner ads, or do you want video ads (another market difficult for Google now?) This isn\'t so much a contradiction or issue now that they are dominant in ads and have lost much of the "don\'t do evil" shine. And offering the option of text ads pretty much eliminates the concern of banner ad hell for anyone.<br><br>The only other con is whether or not you consider it paying too much for too little.<br><br>That\'s really about it, and the major pro is thwarting Microsoft. Because you want to perceive and see a list of several pros and several cons, doesn\'t mean it exists.<br><br>Technologically, people don\'t like DoubleClick\'s core stuff. But this shouldn\'t be a problem to Google. It can either modify it to make it "nicer" or it\'s just another option on the menu. The big gain "technologically" is the masses and masses of user and advertiser data that Google is getting. (Despite Google\'s algorithm expertise and vast cache of data--this really is a big, substantially nugget... even to Google because it specifically correlates to advertisers, the success/failure of their ads, and their consumers.) And the relationships with these advertisers.<br><br>There is another substantial technological gain in DoubleClick\'s new online marketplace for advertisers. The patents and algorithms behind it are prototypical Google-like goodies.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676040">\
	 <div id="dsq-comment-header-9676040" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676040" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676040">Goebbels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676040" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676040" class="dsq-comment-message">"And what is Apple doing here? Somehow Google’s dominance will kill Desktop OS but not Mac?"<br><br>I\'m not putting Apple in this space. I am saying Apple and Google\'s financials, power, marketshare in the disparate but growing market segments (consumer electronics, media distribution, consumer software, online advertising, web services... all of the areas that Microsoft sees as its potential for growth) will be far more considerable and relevant. (I primarily paired the two because they are often viewed as the primary Microsoft competitors and they are quickly approaching the smae financials as Microsoft if you add them together.)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676039">\
	 <div id="dsq-comment-header-9676039" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676039" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676039">Goebbels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676039" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676039" class="dsq-comment-message">Oh, and I\'m not saying that either Google or Apple or a combination kills the desktop OS. I am saying that their strengths in new markets can be leveraged into other, not yet imagined markets for future-future growth. Whereas Microsoft gets hemmed in, lacks growth, and is left with 2 markets it can no longer leverage into new markets. This does not "kill" their marketshare, but it does "kill" their financial, market power. Absolutely. In many ways, it\'s already happened.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676036">\
	 <div id="dsq-comment-header-9676036" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676036" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676036" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676036" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676036" class="dsq-comment-message">Goebbels: for Microsoft they need massive opportunities to see even slight growth. That\'s the problem with being so big.<br><br>They see the $300 billion advertising industry as offering far more growth potential than selling another copy of Office or something like that.<br><br>Pretty much explains why the stock price has been flat. Actually it\'s been going down, if you remove the effect of stock buybacks have had.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676034">\
	 <div id="dsq-comment-header-9676034" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676034" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676034">Goebbels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676034" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676034" class="dsq-comment-message">Oh, I know, Scoble... The question was more... considering the entire landscape was Johnson\'s statement really their best strategy with few other opportunities... or were they just distracted by Google\'s stock ascendancy like a shiny object, and they proceed with the assumption that they can do anything?<br><br>I think where in agreement... I\'m just wondering: now that I think they are thoroughly "cockblocked" out of the ad space, do you know what else Microsoft perceives as an opportunity&gt; Have any of your own ideas?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676011">\
	 <div id="dsq-comment-header-9676011" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676011" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676011">shravan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676011" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676011" class="dsq-comment-message">"They see the $300 billion advertising industry as offering far more growth potential than selling another copy of Office or something like that."<br><br>They just want a slice of the pie. It\'s not like they\'re putting all their eggs in one basket. It actually matters more to Google. Google can\'t afford to lose in this market.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676025">\
	 <div id="dsq-comment-header-9676025" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676025" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676025">seshadri</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676025" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676025" class="dsq-comment-message">"they are quickly approaching the smae financials as Microsoft "<br>67 &amp; 63 : Apart from the \'competes with MSFT\' plank there\'s no way AAPL and GOOG can be bracketed together (however you may want to spin it).<br><br>It\'s like saying Me and Bill Gates have billions of $$$ between us.<br><br>In fact the hardest hit guy when GOOG decides to do some sort of consumer software would be Aaple.(think a $500 laptop with just a maxthon browser, google wi-fi and Google apps)<br><br>It\'s interesting that people so easily discount an entity that is atleast 3rd in about 10-15 different segments.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676022">\
	 <div id="dsq-comment-header-9676022" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676022" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676022">Goebbels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676022" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676022" class="dsq-comment-message">"It’s like saying Me and Bill Gates have billions of $$$ between us."<br><br>Not really, but if you want to believe so.<br><br>"It’s interesting that people so easily discount an entity that is atleast 3rd in about 10-15 different segments."<br><br>It\'s easy to do when Microsoft loses money on 8 of them.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676016">\
	 <div id="dsq-comment-header-9676016" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676016" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676016">LayZ</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676016" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676016" class="dsq-comment-message">"Saran: when I worked at Microsoft Microsoft’s president Kevin Johnson told me (and others) that almost all of its growth would come from advertising-based revenues in the future"<br><br>Which pretty much explains why Johnson is no longer in charge of sales.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676013">\
	 <div id="dsq-comment-header-9676013" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676013" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676013">LayZ</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676013" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676013" class="dsq-comment-message">@60  uhhhhh...Huh? I\'m guessing you don\'t hang around F100 Enterprises too much.<br><br><br>A. No Operating system<br><br>ummmm... never heard of AIX? MVS?<br><br>B. No web portal or internet strategy to speak of<br><br>err...not heard of their Websphere line of products?<br><br>C. no hardware line anymore<br><br>I\'m guessing you\'ve never heard of the iSeries, the pSeries, the xSeries, or any of IBM\'s UNIX or Linux servers?  or any of their other Intel or AMD based servers? Their intellistations? Their SAN\'s, or NAS\'?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676006">\
	 <div id="dsq-comment-header-9676006" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676006" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676006">wreck</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676006" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676006" class="dsq-comment-message">@66,<br><br>The answer is simple, as I outlined above in post #38:<br><br>block all ads when browsing. It\'s simple to do and you enjoy an ad-free Internet.<br><br>I don\'t like being marketed to, and therefore, I refuse to have ads shoved in my face.<br><br>Windows users can use Firefox with the adblock extension or download Privoxy, while Linux users can use FF or Konqueror, which has adblock pre-installed.<br><br>Why do I want to help someone else make money. Another thing you can do is to block referrer logging, so your cookies are not tracked from one site to another. Accept only cookies from sites you visit. Also turn off pre-fetching.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676014">\
	 <div id="dsq-comment-header-9676014" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676014" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9676014" href="http://www.saran945.com/" target="_blank" rel="nofollow">saran</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676014" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676014" class="dsq-comment-message">#46,48.<br>MS don’t have any product to integrate such big Ad.business acquisition. As per Mr. Kevin, If MS really had such clear vision, they should have bought it 2 years ago when DoubleClick was worth of below 1B. Online business can have clear strategy for more than 2 months ahead of time?, Dr.Eric told in press conference "No big deals ahead" in earlier march 2007. but now 3B+ deal.<br><br>The result of this acquisition is a wait and see game, Google do not get immediate pay back, may face business alignment/Privacy problems similar to MS, till this time MS Is struggling with 2 similar product line up (msn vs windows live) and privacy issues in UK. Even If MS have bought, would be an Ad-business learning phase, privacy issues(DoubleClick uses cookies) and long time pay back.<br><br>Yahoo had a chance to compete head to head with Google, they have missed it (is it a too big amount to you Y?)<br><br>I would recommend to MS&amp;Y that don’t copy/paste Google Ad-Business model, there are lot of places still to be explored. for ex: “Advertisement as a Service” (more freedom to advertisers, especially in Enterprise space). How Google complementing MS business?, everything at ‘Cloud’.<br><br>Generally, Microsoft willing to buy technologies, but not coming forth to buy content or users, I don’t know why(what are you going to do with 30B cash?)<br><br>Personally, I hate to see large companies are going on the direction to grow via acquisition instead of R&amp;D / Innovation.<br><br>Kind rgrds<br>Saran</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9676000">\
	 <div id="dsq-comment-header-9676000" class="dsq-comment-header">\
	 <cite id="dsq-cite-9676000" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9676000">Mark</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9676000" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9676000" class="dsq-comment-message">They should be able to tie this in with youtube and the (soon to be enormous) online video market.<br><br>If I had any, I\'d put some money into adobe (flash). :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675999">\
	 <div id="dsq-comment-header-9675999" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675999" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675999">Joe</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675999" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675999" class="dsq-comment-message">It\'s sure fun speculating and mixing our personal prejudices in for good measure.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675981">\
	 <div id="dsq-comment-header-9675981" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675981" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675981">Wharf</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675981" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675981" class="dsq-comment-message">@60:<br>"Has anybody at MS thought of growing in the Enterprise sector?<br>Like NOT making out of box kiddy software and actually making some huge custom software and support deals?<br><br>That would be far too painful for them I fear.<br>So the rest of us keep making money off of that.<br><br>Comment by Chris — April 14, 2007 @ 11:44 am"<br><br>Um. Enterprise sector is a huge source of MS revenue. AD, Exchange, SMS, MOM, SQL, HIS, MIIS, ISA are a quick list of products that there is a ton of in that space. In terms of custom LOB software there is the Dynamics stuff. Then you got support and consulting services which (although smaller than IBM) is still a significant revenue stream.<br><br>As ever, you obviously haven\'t got a clue Mr Beer.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675980">\
	 <div id="dsq-comment-header-9675980" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675980" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675980">HELL.DLL</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675980" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675980" class="dsq-comment-message">“when I worked at Microsoft Microsoft’s president Kevin Johnson told me (and others) that almost all of its growth would come from advertising-based revenues in the future.”<br><br><br>Is that what he really told you or what you wanted to here?<br><br>Personally I think it’s very depressing that a company like Google have to rely on advertising as their only real source of income. And I find it even more depressing that bloggers &amp; journalists always need to bring Microsoft into every story relating to Google, Apple, Linux etc, just to make things more interesting and of course bring more traffic to their site.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675988">\
	 <div id="dsq-comment-header-9675988" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675988" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9675988" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675988" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675988" class="dsq-comment-message">He not only told ME that stuff, he told the entire group I work with (1200 people) that.<br><br>The advertising industry is about 10x as big as the software industry.<br><br>Why is it depressing to rely on advertising? Thousands of newspapers around the world rely mostly on advertising too. So do TV and radio stations. Outdoor advertising companies. And more.<br><br>Microsoft +is+ part of nearly every technology story whether you like it or not. Microsoft makes more than a billion in revenue every year on advertising TODAY.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675986">\
	 <div id="dsq-comment-header-9675986" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675986" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675986">wreck</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675986" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675986" class="dsq-comment-message">Wanna put Google, etc., out of the ad business really quickly?<br><br>If I were craislist, I would allow ads on the local metro/area craigslist pages and only charge a dollar for the ads to be shown, or im some cases, allow advertising for free. craigslist would still make a fortune and could keep it real at the same time.<br><br>craigslist could save money on bandwidth by forcing the ad owner to link to his own site and use his own bandwith.<br><br>I\'d do this in a heartbeat if I were craigslist, just to take the bottom out of the ad industry. I\'d love to see this happen, if only to drastically alter the ad landscape. I\'m already pleased as punch that craigslist has really nailed the newspapers, etc. with their business model.<br><br>I hate ads, but to level the playing field, it be fun to see what the outcome would be.<br><br>Anyone could set up a craigslist-like site and do this. Free ads for the first month, and then a couple of dollars thereafter. You\'d make a fortune and get the joy out of undercutting the big players.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675985">\
	 <div id="dsq-comment-header-9675985" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675985" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675985">whatdoeswomanwant</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675985" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675985" class="dsq-comment-message">I don\'t mind a little ad, however I think the internet is now full of irrelevant ads, so much that the information that you might be looking for may turn out to be an ad instead!<br><br>I guess for Google to buy over DoubleClick is to further strengthen their online advertising strength. Hope that things don\'t get monopolised by one big giant.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9675976">\
	 <div id="dsq-comment-header-9675976" class="dsq-comment-header">\
	 <cite id="dsq-cite-9675976" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9675976">Podesta</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9675976" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9675976" class="dsq-comment-message">I don\'t see a new thread on the Google acquisition, so I\'m going to post the link to the NYT\'s article about Microsoft likely filing an antitrust complaint here:<br><br><a href="http://www.nytimes.com/2007/04/16/technology/16soft.html?hp" rel="nofollow">http://www.nytimes.com/2007/04/16/technology/16...</a><br><br>I literally spit the coffee I was drinking when I read that.  MICROSOFT accusing someone of antitrust violations?  RFOL!<br><br>Methinks Goebbels should be paid for participating in Scobleizer.</div>\
	 </div>\
	 </li>\
	 </ul>\
';

(function() {
	
	





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

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


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

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

	
	

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

	Dsq.Popup.showCookieMsgs();

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

	
	if((typeof OB_Script != 'undefined') && (typeof OB_versionNum != 'undefined')) {
		if(navigator.userAgent.indexOf("Firefox") != -1) {
			if(window.frames['dsq-reply-frame']) {
				window.frames['dsq-reply-frame'].location = Dsq.Urls.REPLY + (new Date()).getTime() + '&f=scobleizer&t=google_buys_doubleclick_for_31_billion&to_redirect=' + encodeURIComponent(window.location) + '&ifrs=' + encodeURIComponent(disqus_iframe_css);
			}
		}
	}

	if (Dsq.jsonData.integration.theme == 4) {
		if (Dsq.jsonData.realtime_enabled) {
			Dsq.Realtime.initialize();
		}
	}

	



	window.ExecuteWhen = (function () {
	var obj = {}
	
	// Private
	var running = false;
	var timer = null;
	var pending = [];
	var startTimer = function() {
		running = true;
		timer = setInterval(obj.heartBeat, 100);
	};
	var stopTimer = function() {
		running = false;
		clearInterval(timer);
	};
	
	// Public
	obj.add = function (condition, code) {
		pending.push([condition,code]);
		this.heartBeat(); //!
		if (!running) {
			startTimer();
		}
	};
	obj.heartBeat = function() {
		if (!pending.length) {
			stopTimer();
		}
		var newPending = [];
		for (var i=0; i<pending.length; i++) {
			var cond = pending[i][0];
			var code = pending[i][1];
			// FIXME: if cond or code throw an error, they never get removed from pending
			if (cond()){
				code();
			}
			else {
				newPending.push([cond, code]);
			}
		}
		pending = newPending;
	};
	return obj;
})();

// also used in embed_thread.js:
window.fbIsReady = function () {return window.FB && FB.init;};
// NOTE: This script gets executed again without threadEl
//       set when we are loaded again as the fbc_receiver.
//       In this case, we don't need the hidden container.

if(!window.FB || !FB.init) {
	if(window.Dsq && Dsq.container) {
		// container is not present when init.js is loaded from an xd-receiver iframe; in this case,
		// we don't need the FB_HiddenContainer anyway.
		var fbDiv = document.createElement('div');
		fbDiv.id = "FB_HiddenContainer";	// Required or else FeatureLoader will execute a document.write.
		fbDiv.style.position = 'absolute';	// This is intentionally not setting display to none as this breaks
		fbDiv.style.top = '-10000px';		// Flash in Safari.
		fbDiv.style.left = '-10000px';
		fbDiv.style.width = '0px';
		fbDiv.style.height = '0px';
		Dsq.container.appendChild(fbDiv);
	}
	var fbJS = document.createElement('script');
	fbJS.type = "text/javascript";
	fbJS.src = "http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php";
	document.getElementsByTagName('head')[0].appendChild(fbJS);

	ExecuteWhen.add(window.fbIsReady,
		function () {
			// HACK: This is a workaround FBC's single domain limitation by
			//		 allowing sites to create multiple forums with different
			//		 Facebook API keys.  This must be used in conjunction with
			//		 disqus_facebook_forum (see authenticateFacebook).
			var facebook_api_key = 'faaf467d0f47abde553c3b8e0e1b3570';
			if (typeof disqus_facebook_api_key != 'undefined') {
				facebook_api_key = disqus_facebook_api_key;
			}

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


	


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

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

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

// Global event handler for narcissus.
if (Dsq.jsonData.integration.theme == 4) {
	var g = Dsq.Utils.ie ? document : window;
	Dsq.Utils.addEventListener(g, 'keydown', function(event) {
		// Handle "enter" key on input for post box.
		if ((event.keyCode || event.which) == 13) {
			var target = Dsq.Utils.ie ? event.srcElement : event.target;
			// For Safari bug, detect text node.
			if (target.nodeType == 3) {
				target = target.parentNode;
			}

			if (target.nodeName == 'INPUT' &&
				target.parentNode.className == 'dsq-input-wrapper') {
				var postId = Dsq.Utils.extractId(target);
				Dsq.Templates.postComment(postId, this, false);
			}
		}
	});
}

})();




