




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": [{"body": "This gives me an interesting idea. What if we can change recruitment / career fairs? It's the same concept - Blogs and video conferencing... Furthermore, the career fair (online) can provide excellent updates on the fly via Twitter. People can discuss their experiences via FF comments / Twitter. Companies can maintain a microblog to let people know of what they are looking for. A nice structure and we can definitely give a good run to the traditional career fairs. =)", "author_name": "Guru Panguji", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/12/16/are-bloggers-social-networks-killing-the-big-shows/", "id": 1064843, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/f2115321-cb09-3e4b-8fb3-58e20c3bbaec#16a84f8f-4639-42fd-a2b7-60a0a61afe77", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/gurupanguji/picture?size=large", "author_url": "", "date_created": "12 months ago", "retweets": []}, {"body": "I\u2019ve noticed a trend lately (actually I noticed it back when I worked at Microsoft and my bosses kept refusing to buy booths at conferences, saying they didn\u2019t return the ROI, but that trend has grown and grown big time). Big companies are throwing their own parties to get news out inside of going to big trade shows.\nWhat changed?\nBlogging and online video.\nBig companies are looking at the millions of dollars they spend for booths (not to mention bringing employees to) and are realizing that it\u2019...", "author_name": "Colin Charles", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/12/16/are-bloggers-social-networks-killing-the-big-shows/", "id": 1064844, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/74fe9631-8221-ef4e-e447-39d9053c56a6#e70118bd-0983-4a45-be6c-c1ad42e7d37f", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/byte/picture?size=large", "author_url": "", "date_created": "12 months ago", "retweets": []}, {"body": "44,000 people go to MacWorld. Hell, a lot more people watch Engadget report from that much cheaper conference room. And Apple has the personal touch already thanks to their stores. They don\u2019t need to meet with consumers anymore in expensive trade show booths that, simply, aren\u2019t a very good experience anyway. So, what should we expect over the next year? A lot of bad news for big trade shows. What\u2019s killing them? The Internet. You can launch a product live now from a living room. Thanks to Stick...", "author_name": "Nicolas Gosset", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/12/16/are-bloggers-social-networks-killing-the-big-shows/", "id": 1064845, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/a3e61205-e920-a1dc-f087-4a366e4b1280#98ae2c97-e57f-48ec-a00a-8a3328007d16", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/nicolo/picture?size=large", "author_url": "", "date_created": "12 months ago", "retweets": []}, {"body": "about the recent trend of companies not going to tradeshows anymore...", "author_name": "Marko Saric", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/12/16/are-bloggers-social-networks-killing-the-big-shows/", "id": 1064846, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/6f94ab9e-cf3c-1bee-18df-c0d49bb34ea2#210f012b-4edc-49f8-9653-dcc25780c468", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/howtomakemyblog/picture?size=large", "author_url": "", "date_created": "12 months ago", "retweets": []}, {"body": "\"Big companies are looking at the millions of dollars they spend for booths (not to mention bringing employees to) and are realizing that it\u2019s just not getting the return on investment that they should get... What\u2019s killing them? The Internet. You can launch a product live now from a living room. Thanks to Stickam, Ustream, Qik, Kyte, YouTube, Flixwagon, Viddler, Vimeo, SmugMug, etc and blogs.\"", "author_name": "danblank", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2008/12/16/are-bloggers-social-networks-killing-the-big-shows/", "id": 1064847, "get_service_url": "http://friendfeed.com/", "title": "", "url": "http://friendfeed.com/e/1f135477-e034-d442-8487-8d74e4a1e0ff#389ec407-0462-49f6-9458-57b240019d8e", "source": "ubervu", "get_service_name": "friendfeed", "avatar_url": "http://friendfeed.com/danblank/picture?size=large", "author_url": "", "date_created": "12 months ago", "retweets": []}], "has_more_reactions": false, "users": {"2bf0c67b51d6d751347522dd42e0060f": {"username": "Patrick Scoble", "tumblr": "", "display_name": "Patrick Scoble", "url": "http://disqus.com/guest/2bf0c67b51d6d751347522dd42e0060f/", "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": ""}, "b4e6e1a05109690deba54964bb73f60d": {"username": "Damian Holmes", "tumblr": "", "display_name": "Damian Holmes", "url": "http://disqus.com/guest/b4e6e1a05109690deba54964bb73f60d/", "registered": false, "linkedin": "", "blog": "http://www.worldlandscapearchitect.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": ""}, "0cf3dfcaefe39d93c01270e7eb774886": {"username": "Trade Show Booths", "tumblr": "", "display_name": "Trade Show Booths", "url": "http://disqus.com/guest/0cf3dfcaefe39d93c01270e7eb774886/", "registered": false, "linkedin": "", "blog": "http://www.thompsonkerr.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": ""}, "0d369f1d42c1c677e16777b75f58a2a5": {"username": "david", "tumblr": "", "display_name": "david", "url": "http://disqus.com/guest/0d369f1d42c1c677e16777b75f58a2a5/", "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": ""}, "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": ""}, "e4673df7000bea1fa31e9a056a73b97b": {"username": "Tara Dunion", "tumblr": "", "display_name": "Tara Dunion", "url": "http://disqus.com/guest/e4673df7000bea1fa31e9a056a73b97b/", "registered": false, "linkedin": "", "blog": "http://CESweb.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": ""}, "13fa91d22b5f72c79855905c67aa7b75": {"username": "pjk", "tumblr": "", "display_name": "pjk", "url": "http://disqus.com/guest/13fa91d22b5f72c79855905c67aa7b75/", "registered": false, "linkedin": "", "blog": "http://www.pjk.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": ""}, "cbe72c9ba53963d12bbbbf82a56cfd92": {"username": "Melanie Pearson", "tumblr": "", "display_name": "Melanie Pearson", "url": "http://disqus.com/guest/cbe72c9ba53963d12bbbbf82a56cfd92/", "registered": false, "linkedin": "", "blog": "http://www.liquidimageco.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": ""}, "6b1b7fb0838dc0c80f51d99ed8a3d942": {"username": "Dwight Silverman", "tumblr": "", "display_name": "Dwight Silverman", "url": "http://disqus.com/guest/6b1b7fb0838dc0c80f51d99ed8a3d942/", "registered": false, "linkedin": "", "blog": "http://blogs.chron.com/techblog", "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": ""}, "438d6ac07a726b74ac520f9dc3774532": {"username": "Jennifer Pahlka", "tumblr": "", "display_name": "Jennifer Pahlka", "url": "http://disqus.com/guest/438d6ac07a726b74ac520f9dc3774532/", "registered": false, "linkedin": "", "blog": "http://blog.web2expo.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": ""}, "74755c3800f2852a5be3a0d134078801": {"username": "Chris Brown", "tumblr": "", "display_name": "Chris Brown", "url": "http://disqus.com/guest/74755c3800f2852a5be3a0d134078801/", "registered": false, "linkedin": "", "blog": "http://windydevil.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": ""}, "app103": {"username": "app103", "tumblr": "", "display_name": "app", "url": "http://disqus.com/app103/", "registered": true, "linkedin": "", "blog": "http://appsapps.info", "remote_domain": null, "points": 5, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/12/6215/avatar92.jpg", "delicious": "app103", "is_remote": false, "verified": true, "flickr": "app103", "twitter": "", "remote_domain_name": ""}, "c686bb47784927d89118d470d1b294d9": {"username": "Chike Agwunobi", "tumblr": "", "display_name": "Chike Agwunobi", "url": "http://disqus.com/guest/c686bb47784927d89118d470d1b294d9/", "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": ""}, "fbbc8fa4b8c2f5ee16c8ca1ee1ba7b94": {"username": "Michael Dorausch", "tumblr": "", "display_name": "Michael Dorausch", "url": "http://disqus.com/guest/fbbc8fa4b8c2f5ee16c8ca1ee1ba7b94/", "registered": false, "linkedin": "", "blog": "http://blog.planetc1.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": ""}, "7f6291e8344b594235e57b843fc05d9b": {"username": "Christopher Coulter", "tumblr": "", "display_name": "Christopher Coulter", "url": "http://disqus.com/guest/7f6291e8344b594235e57b843fc05d9b/", "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": ""}, "9b646ff3eeda1f01cc2b1cb86d1634f9": {"username": "paul", "tumblr": "", "display_name": "paul", "url": "http://disqus.com/guest/9b646ff3eeda1f01cc2b1cb86d1634f9/", "registered": false, "linkedin": "", "blog": "http://neuronspark.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": ""}, "7ee5c30046aa286acecad9fb3b980706": {"username": "Michael Forrester", "tumblr": "", "display_name": "Michael Forrester", "url": "http://disqus.com/guest/7ee5c30046aa286acecad9fb3b980706/", "registered": false, "linkedin": "", "blog": "http://www.forrestermedia.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": ""}, "3b25767626b80236e8a0f324f60abbb9": {"username": "Jackie Bassett", "tumblr": "", "display_name": "Jackie Bassett", "url": "http://disqus.com/guest/3b25767626b80236e8a0f324f60abbb9/", "registered": false, "linkedin": "", "blog": "http://www.btind.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": ""}, "bae3fd2386a1d49a8c222c9f0b8a8bd9": {"username": "Susan", "tumblr": "", "display_name": "Susan", "url": "http://disqus.com/guest/bae3fd2386a1d49a8c222c9f0b8a8bd9/", "registered": false, "linkedin": "", "blog": "http://uniquehomebasedbusinessopportunity.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": ""}, "d0eef2fcfcd086e42c19aacc0ceb1c00": {"username": "Pavan K", "tumblr": "", "display_name": "Pavan K", "url": "http://disqus.com/guest/d0eef2fcfcd086e42c19aacc0ceb1c00/", "registered": false, "linkedin": "", "blog": "http://myinfomatrix.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": ""}, "d881753042a8bbff52ed4b78f1e7bec5": {"username": "Jesse Stay", "tumblr": "", "display_name": "Jesse Stay", "url": "http://disqus.com/guest/d881753042a8bbff52ed4b78f1e7bec5/", "registered": false, "linkedin": "", "blog": "http://staynalive.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/19/4201/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3a78ed67e44681511db495cae7243f42": {"username": "Rick Calvert", "tumblr": "", "display_name": "Rick Calvert", "url": "http://disqus.com/guest/3a78ed67e44681511db495cae7243f42/", "registered": false, "linkedin": "", "blog": "http://www.blogworldexpo.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": ""}, "f003ced6f3d132a4b2a28546a7420c32": {"username": "Louis DiMeglio", "tumblr": "", "display_name": "Louis DiMeglio", "url": "http://disqus.com/guest/f003ced6f3d132a4b2a28546a7420c32/", "registered": false, "linkedin": "", "blog": "http://blog.sciencelogic.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": ""}, "6642eb2995c59fca59ac1bd14c7dee8a": {"username": "dan tynan", "tumblr": "", "display_name": "dan tynan", "url": "http://disqus.com/guest/6642eb2995c59fca59ac1bd14c7dee8a/", "registered": false, "linkedin": "", "blog": "http://blogs.computerworld.com/tynan", "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": ""}, "c3a4332ac2fca87f65b02563324f751b": {"username": "Carlos Martins", "tumblr": "", "display_name": "Carlos Martins", "url": "http://disqus.com/guest/c3a4332ac2fca87f65b02563324f751b/", "registered": false, "linkedin": "", "blog": "http://internetbestsecrets.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": ""}, "5fd7293a14c69afee362e74fb24a3d84": {"username": "nicholas butler", "tumblr": "", "display_name": "nicholas butler", "url": "http://disqus.com/guest/5fd7293a14c69afee362e74fb24a3d84/", "registered": false, "linkedin": "", "blog": "http://www.loudmouthman.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/8/302/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3e27e5e264b4a41c80c1373974189a79": {"username": "Howard Greenstein", "tumblr": "", "display_name": "Howard Greenstein", "url": "http://disqus.com/guest/3e27e5e264b4a41c80c1373974189a79/", "registered": false, "linkedin": "", "blog": "http://www.harbrooke.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": ""}, "cfadad4b632060f83944fd4b5852e887": {"username": "Kyle Monson", "tumblr": "", "display_name": "Kyle Monson", "url": "http://disqus.com/guest/cfadad4b632060f83944fd4b5852e887/", "registered": false, "linkedin": "", "blog": "http://www.pcmag.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": ""}, "gerardmclean": {"username": "gerardmclean", "tumblr": "", "display_name": "gerardmclean", "url": "http://disqus.com/gerardmclean/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 7, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/38/2792/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8a56528df44e287f085badfa6bebe48c": {"username": "Technorino", "tumblr": "", "display_name": "Technorino", "url": "http://disqus.com/guest/8a56528df44e287f085badfa6bebe48c/", "registered": false, "linkedin": "", "blog": "http://www.technorino.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": ""}, "cf3e9d35bd06eff284fe3e76ff48ceb8": {"username": "adorkablegrrl", "tumblr": "", "display_name": "adorkablegrrl", "url": "http://disqus.com/guest/cf3e9d35bd06eff284fe3e76ff48ceb8/", "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": ""}, "a4be320afa74962d86835a235cd653db": {"username": "zato", "tumblr": "", "display_name": "zato", "url": "http://disqus.com/guest/a4be320afa74962d86835a235cd653db/", "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": ""}, "ff74951d022e520f110e3a3397dd1616": {"username": "Michael Moncur", "tumblr": "", "display_name": "Michael Moncur", "url": "http://disqus.com/guest/ff74951d022e520f110e3a3397dd1616/", "registered": false, "linkedin": "", "blog": "http://www.figby.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": ""}, "6e4df1b0350277956466551ed8f9a920": {"username": "joel", "tumblr": "", "display_name": "joel", "url": "http://disqus.com/guest/6e4df1b0350277956466551ed8f9a920/", "registered": false, "linkedin": "", "blog": "http://the17thman.typepad.com/my_weblog/2008/11/five-hundred-pace-workout.html", "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": ""}, "24c20bb916cea55f0b1939aef2a97da1": {"username": "gareth wong", "tumblr": "", "display_name": "gareth wong", "url": "http://disqus.com/guest/24c20bb916cea55f0b1939aef2a97da1/", "registered": false, "linkedin": "", "blog": "http://www.garethwong.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": ""}, "7beb3a749c837de79be297f9aa2e41f3": {"username": "Jack", "tumblr": "", "display_name": "Jack", "url": "http://disqus.com/guest/7beb3a749c837de79be297f9aa2e41f3/", "registered": false, "linkedin": "", "blog": "http://www.lasnark.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": ""}, "d3d7c7a76dff6fed50856ea86498738b": {"username": "Gary Shapiro", "tumblr": "", "display_name": "Gary Shapiro", "url": "http://disqus.com/guest/d3d7c7a76dff6fed50856ea86498738b/", "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": ""}, "856b593f1b8fb7847c3a0fa273031d95": {"username": "Don Schindler", "tumblr": "", "display_name": "Don Schindler", "url": "http://disqus.com/guest/856b593f1b8fb7847c3a0fa273031d95/", "registered": false, "linkedin": "", "blog": "http://www.donschindler.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": ""}, "a6451783382cc8b30e146a929b936e17": {"username": "Kelly Lieberman", "tumblr": "", "display_name": "Kelly Lieberman", "url": "http://disqus.com/guest/a6451783382cc8b30e146a929b936e17/", "registered": false, "linkedin": "", "blog": "http://www.Pre-paidGameCard.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": ""}, "db74fd4e9071f9cc13d2be8ba71ab47b": {"username": "Jame", "tumblr": "", "display_name": "Jame", "url": "http://disqus.com/guest/db74fd4e9071f9cc13d2be8ba71ab47b/", "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": ""}, "bec120708a8cd7de58b67d75eba062ad": {"username": "Kelly Graham", "tumblr": "", "display_name": "Kelly Graham", "url": "http://disqus.com/guest/bec120708a8cd7de58b67d75eba062ad/", "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": ""}, "doughaslam": {"username": "doughaslam", "tumblr": "", "display_name": "doughaslam", "url": "http://disqus.com/doughaslam/", "registered": true, "linkedin": "", "blog": "http://doughaslam.com", "remote_domain": null, "points": 3, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/10778/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "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:58:35", "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": {"9712566": {"up_voted": false, "ip": "", "has_replies": false, "message": "I like most of what you say, but you obviously live in a bubble on this topic. Trade shows are having difficulty keeping exhibitors due to the incredibly high cost of exhibiting. Companies can better utilize resources through other means of advertising - and that's unfortunate for those of us who attend.<br><br>Having the opportunity to meet company presidents and reps one on one has afforded me lots of business opportunities - from reviewing equipment to picking up contractual work. It also allows me to see all these people and their new offerings in one location.<br><br>For my industry, it has little to do with bloggers or social networks - except that we get a heads up on what to look for.<br><br>By the way, if face to face isn't important - why do you travel so much?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:17:19", "killed": false, "user_key": "7ee5c30046aa286acecad9fb3b980706", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712567": {"up_voted": false, "ip": "", "has_replies": false, "message": "Here's the problem though Robert - this only benefits Silicon Valley.  Was I able to go to the Facebook party last night?  No, because I live outside the Bay Area.  Would I have been invited if I lived out in the Bay Area?  Yes, most likely.  Businesses aren't Ustreaming these events when they do leave the big tech shows, so only limited audiences hear the news and are able to report it.  Until they start making these exclusive parties more public I'm disappointed that these big companies are leaving trade shows like this.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:21:27", "killed": false, "user_key": "d881753042a8bbff52ed4b78f1e7bec5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712568": {"up_voted": false, "ip": "", "has_replies": false, "message": "I find myself going to more events than ever but they are not traditional mega trade shows. Blogs, twitter, and everything else online social, is connecting people at places like you mentioned, plus there's the untold numbers of meetups and tweetups taking place in bars, businesses, coffee shops, warehouses, etc..<br><br>Individually many of these happenings appear small and insignificant but it's where the relationships are formed that create the army evangelizing the product launched from the living room.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:22:02", "killed": false, "user_key": "fbbc8fa4b8c2f5ee16c8ca1ee1ba7b94", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712569": {"up_voted": false, "ip": "", "has_replies": false, "message": "Please say it isn't so! CES 2008 was our first and Bloggers really helped to launch our Camera Mask.  I was shocked by the overwhelming response around the world that the bloggers helped traditional media to create. The big companies may not need the shows, but the new or small to mid size companies do!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:32:36", "killed": false, "user_key": "cbe72c9ba53963d12bbbbf82a56cfd92", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712570": {"up_voted": false, "ip": "", "has_replies": false, "message": "Kill vs. Complement<br><br>I think instead of these great services (vimeo etc) killing big shows, they could complement them.  Free viral marketing, video streams, PR, and positive network effects - now that's the chocolate fudge cake of marketing, right?  If we all embrace the ecosystem, the thousands of us that cannot afford tickets (yet), and even when we can - would love to see you interviewing people randomly throughout the day, we trust you to decide the people or project presentations that you think we want to hear about.<br><br>If for example bloggers like yourself streamed more than the official event organisers currently do (and they are doing it a lot - Giga Om does a great job using Mogulus) then we would all get the access (and laughs) that doesn't kill but promotes these events.  Huge free viral PR for the people that are saving up for next year's ticket to Le Web, ;-)<br><br>On that note here is the UStream from LeWeb<br><br><a href=\"http://www.lewebparis.com/2008/12/leweb-live-3-free-streams-this-year-thanks-to-ustream.html\" rel=\"nofollow\">http://www.lewebparis.com/2008/12/leweb-live-3-...</a><br><br>Must say though - if you stop going to these things, they will get killed off.  They should be paying you all good money to attend.  How would you calculate the value of that?!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:38:27", "killed": false, "user_key": "d0eef2fcfcd086e42c19aacc0ceb1c00", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712571": {"up_voted": false, "ip": "", "has_replies": false, "message": "I can't help but wonder if Apple not showing up for the next Mac World could backfire on them, with negative press.<br><br>Could the 44,000 perceive it as them being shunned by a company that thinks they are too good to party with them?<br><br>It could be equal to the guest of honor not showing up for their own birthday party.<br><br>What kind of damage can that unhappy 44,000 do to the company's image?<br><br>Sometimes you spend money to make money, other times you spend it so you don't lose money.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:39:12", "killed": false, "user_key": "app103", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712572": {"up_voted": false, "ip": "", "has_replies": false, "message": "app: that's a risk, yes, but then you walk into an Apple store anywhere in the world and get free wifi and you forget all about Macworld.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:41:27", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712573": {"up_voted": false, "ip": "", "has_replies": false, "message": "This is a general trend in a lot of industries. The ROI on big expos and shows is very small in comparison to attending a networking event, conference or product launch.<br><br>If you want to enter a new market its better to talk to your local network and see who has contacts in the market/country/city you want to enter and get introductions its gives people a sense of trust.<br><br>Also digital media has made a difference; however in the service industry traditional meet and greets and attending networking events these in conjunction with digital media(websites, newsletters, blogs, email pdf brochures mail outs) have killed the expo/show.<br><br>Most people who aren't attending the show don't have the time or want the expense of going as you often as a visitor get very little ROI as well.<br><br>So from both sides its better not to attend and just go to a conference at least you get some information that may be beneficial plus people are more open and genuine at conferences as they don't feel the pressure of the business card/small talk shuffle.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:54:53", "killed": false, "user_key": "b4e6e1a05109690deba54964bb73f60d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712574": {"up_voted": false, "ip": "", "has_replies": false, "message": "Times are a changing.  These tough economic times is giving lots of companies time to rethink traditional ways to push products.  Big trade shows are expensive.  Take the auto show circuit for example.  The smaller shows are paid by local dealers but the big ones like LA, NY and Detroit are paid by the automakers.  For some car launches a company can spend upward to over a million dollars.  Or you can fly a few auto bloggers to LA put them up in a fine hotel and give them a bunch of cars to test over a long weekend.  You end up getting more exposure for less a few thousand.  Trade shows are only going to get smaller and smaller.  Blogging over time will get bigger and bigger.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:58:49", "killed": false, "user_key": "6e4df1b0350277956466551ed8f9a920", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712575": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh and one more thing.  The non-tech person who buys a HP or an Apple has never heard of CES or Macworld.  They'll maybe pick up a few magazines at the local store but most likely will go online to Google and search for information.  If you are Apple and you make the tech bloggers happy with smaller intimate events then you've won the game", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_22:00:38", "killed": false, "user_key": "6e4df1b0350277956466551ed8f9a920", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712576": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well on top of all these reasons (economic reasons and the failure of the classic marketing models through things like blogs) Apple has wanted to get out of these expos for a while now (evident in them leaving the east coast MacWorld expos as well as decreasing the presence in many other shows) mainly because it forced them to develop and release products on someone else's schedule and they ended up not getting a whole lot out of it as they don't need the help they needed in the late '90s anymore.<br><br>Every January (and previously, because of MacWorlds in NYC and Boston, in the June-August timeframe) they had to send some products out the door that had to meet the expectations of tons of people (which, as of late, these products have disappointed a majority of these people). They prefer their own private events where they can be more in control of what they release (such as the iPod events in the early fall).<br><br>It is quite unfortunate, but without Apple I will not expect to see a MWSF '11 despite the strong 3rd party developer and community attendance. All of these reasons add up to Apple leaving MacWorld as well as the overall decline of these trade shows in general.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_22:03:05", "killed": false, "user_key": "2bf0c67b51d6d751347522dd42e0060f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712577": {"up_voted": false, "ip": "", "has_replies": false, "message": "Is this such a bad thing? It might impact smaller companies who gain exposure and the chance to press the flesh by networking at these events.  Though, as a freelance writer I tend to agree with Damian - the cost for me to attend these cons is prohibitive and the ROI (one article, two articles?) I get for the price of admission is lacking.  It's much easier (and cheaper) for me to work my own networking channels to get invited into that small room where the big news is being released.<br><br>Changes in the world demand changes in how news is reported and business is done... IMHO this isn't something to worry about, it's just change.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_22:07:35", "killed": false, "user_key": "cf3e9d35bd06eff284fe3e76ff48ceb8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712578": {"up_voted": false, "ip": "", "has_replies": false, "message": "If the Internet is killing trade shows - and it is! - it started years ago, long before anyone cared about blogs or online video.<br><br>I went to COMDEX every year until the Internet killed it. Even Apple used to show off products there - I remember seeing the Newton for the first time at COMDEX 92 or so.<br><br>Now Apple can hold a small press conference and get nationwide media coverage, and even smaller companies have lots of options for getting exposure. Even in the days before Youtube and blogs, a major publisher I worked with decided not to exhibit at COMDEX because the cost was too high for the return compared with online advertising.<br><br>Same with Apple - they dropped out of COMDEX a few years before it crashed and burned, and it wasn't because of blogs or online video or social networks. It was because of the Wall Street Journal and Wired magazine and the fact that people could load Apple's website any time they wanted news from Apple.<br><br>Just because Facebook and Qik are the cool things now doesn't mean they started this trend. It's been going on for probably 10 years, and new forms of online expression just speed it up.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_22:15:08", "killed": false, "user_key": "ff74951d022e520f110e3a3397dd1616", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712579": {"up_voted": false, "ip": "", "has_replies": false, "message": "Most customers gain valuable experiences through blogs, therefore if firms aren't making  substantial Return on Investment (ROI) from trade shows, then I think trade shows may be extinct very soon. This is just one great example of how the internet is changing the world. nice article. Thanks for sharing.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_23:04:54", "killed": false, "user_key": "c686bb47784927d89118d470d1b294d9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712580": {"up_voted": false, "ip": "", "has_replies": false, "message": "Nice job on the blog above, Robert.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_23:31:00", "killed": false, "user_key": "a4be320afa74962d86835a235cd653db", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712581": {"up_voted": false, "ip": "", "has_replies": false, "message": "This may be why Reuters are now experimenting with getting Bloggers into the news rooms at newsmaker events<br><br><a href=\"http://ourmaninside.com/2008/12/14/politics-and-social-media/\" rel=\"nofollow\">http://ourmaninside.com/2008/12/14/politics-and...</a><br><br>I see some instant parallels to how Apple approach 'getting the news out' and how Reuters are doing the same.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-17_01:44:50", "killed": false, "user_key": "5fd7293a14c69afee362e74fb24a3d84", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712582": {"up_voted": false, "ip": "", "has_replies": false, "message": "But see you have it all backwards, the consumer-focused shows are dying because of increased exposure, but CES is not about the consumer, it's a trade deal show between buyers and sellers, and that will never go away. The pressy and bloggy peeps, is a rather new phenom. And in the larger picture, with their short attention spans, irrelevant.<br><br>Bloggers all went these shows can't exist without out us, storm the gates, and then once they got bored (about 3 years later),  the spin be that all these shows can't exist without us, make us excited again. Temper your one-day news and live blogging-egos, it was never about you in the first place, which is why CES will thrive.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-19_12:44:47", "killed": false, "user_key": "7f6291e8344b594235e57b843fc05d9b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712583": {"up_voted": false, "ip": "", "has_replies": false, "message": "While certain trade shows will be crushed under their own weight, I think that the death of the trade show is greatly exaggerated.  While the idea of inviting people to a party, might work if you're Apple, it doesn't work if you're \"SmallBiz Inc.\".  Trade shows with good foot traffic still provide an enormous amount of exposure in a short amount of time and for smaller companies, this can be invaluable.  With some of the trade shows my company has done in the last few years we've directly closed enough business to fund the shows for the next 20 years. Also, who are the \"right people\" to have in the room for these private invites?  How do I pick the buyers out of the 44,000 people going to the show?<br><br>We'll keep going to the trade shows that show direct returns (Interop, FOSE and others) and dump those that don't, but to say the trade show is dead is well, just brain dead IMHO.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-17_11:45:39", "killed": false, "user_key": "f003ced6f3d132a4b2a28546a7420c32", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712584": {"up_voted": false, "ip": "", "has_replies": false, "message": "CES is the Tech bloggers Mecca and we enjoy meeting each other as much as we like seeing all the cool new stuff.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-19_09:31:25", "killed": false, "user_key": "9b646ff3eeda1f01cc2b1cb86d1634f9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712585": {"up_voted": false, "ip": "", "has_replies": false, "message": "And, to add to my comment above, I'm a huge believer that Social networks help create relationships, but I think they are even more powerful when you seal the relationship over coffee or drinks.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:11:32", "killed": false, "user_key": "3e27e5e264b4a41c80c1373974189a79", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712586": {"up_voted": false, "ip": "", "has_replies": false, "message": "It is a virtual world network . com.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:10:14", "killed": false, "user_key": "a6451783382cc8b30e146a929b936e17", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712587": {"up_voted": false, "ip": "", "has_replies": false, "message": "The thing Trade Shows help is in relationship building. That's why I went to Blog World Expo (and hung out with you), and many of those kinds of events are being replaced, at least in tech, with UnConferences.<br>Launching products is much easier online these days. Launching relationships isn't as easy. Learning is also important.<br>I hope we don't lose the Conference aspect of Tradeshows so soon.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:07:46", "killed": false, "user_key": "3e27e5e264b4a41c80c1373974189a79", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712588": {"up_voted": false, "ip": "", "has_replies": false, "message": "Agreed. I guess I wasn't clear enough. BWE was a smaller show. I'm going to CES, but expect to meet most of the people at Jeff Pulver's Social Media Jungle the day before.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:16:39", "killed": false, "user_key": "3e27e5e264b4a41c80c1373974189a79", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712589": {"up_voted": false, "ip": "", "has_replies": false, "message": "Howard: well, I love building relationships as much as anyone, but I'm very expert at that and, sorry, having more than 100 people to meet with in a night results in very poor relationship building. Translation: you're better off attending a small conference, like a Gnomdex, if your goal is relationship building. Going to CES is so big and impersonal that it's very hard to build relationships in any real way and for big companies it's far better to do what Facebook did last night and invite who they want to build a relationship with to a small, intimate party where you actually get to talk to the CEO and founders for more than a minute or two (Zuckerberg spent 20 minutes talking with me and Jeremiah Owyang, for instance).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:13:12", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712590": {"up_voted": false, "ip": "", "has_replies": false, "message": "I quit going to trade shows and now just go to conferences. Most conferences have trade shows that are used to offset expenses for the conference attendees.<br><br>The conference, however, tends to treat trade show exhibitors like second-class citizens to prevent them from \"tainting\" the educational aspect of their workshops, etc. And the attendees are encouraged subtly to do the same.<br><br>So, quit exhibiting, pay more for the conference and go to meet other people. It will make your online product/service launch easier and faster.<br><br>Conferences, yes; trade shows, no.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:12:43", "killed": false, "user_key": "gerardmclean", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712591": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree completely. I get so much more out of the big conferences by attending vicariously through an RSS news reader and Tweetdeck search columns.<br><br>If I *must* go to a show, I don't buy tickets, I just open a tab at the bar in the lobby of the nearest hotel or bar. Its where everyone goes anyway to \"get away from the racket and have a conversation\". Don't tell the folks running these shows, but that's how I've \"attended\" their overpriced soir\u00e9es for the past three years.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-16_21:14:46", "killed": false, "user_key": "13fa91d22b5f72c79855905c67aa7b75", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712592": {"up_voted": false, "ip": "", "has_replies": false, "message": "Big trade shows focus on bringing hundreds of thousands of people together and maximise profit for the tradeshow founder/host (can't blame them).<br><br>It's a good gig if you got history/scale, as not many people(competitor) would dare to start one, unless they can find a different niche/focus (E3, CeBit, CES)<br><br>This is the same for B2B conferences in various industries/sectors (e.g. Telecoms: IIR, IBC, Informa, Finance: euromoney, FT, economists) however, one thing is for sure, most so so organisers (especially the market leaders) tend to become blinkered and develop narrow field vision, namely, they focus too much on sponsors need (rather than paying attendees or even key stake holders' requirements)<br><br>Therefore, in the end, we see things like these MacWorld saga (not knowing the background/real story, the organiser may have asked apple to how best to appease them, it might be too late or they might not have even asked because they thing they have scale!? Anyone knows?)<br><br>Key however is that trade show/conferences alike, need to be focused, and as mentioned the internet/video/blogging change that, but mostly so far within the FMCG market, let's so on B2B, they are still quite niche &amp; sometimes internally focused. E.g. Challenges of rating, not easily understood derivatives/\"structured products\" (or zero cost products, CDO, CDS) are already well known in the finance sector.<br><br>One thing is for sure, pulling a few (or even big number) of key senior industry guys together is not difficult, IF you already has built up the trusted relationships.<br><br>Many conference organisers may have lost sight of key Focus/benefits are clearly relationship buildings.. Cost vs benefits for attendees/sponsors quite frequently don't add up.<br><br>Therefore, finding the balance or win-win is KEY!<br><br>I personally prefer 4-10 people maximum lunch/evening functions of senior people are most effective!<br><br>@garethwong", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-19_13:21:44", "killed": false, "user_key": "24c20bb916cea55f0b1939aef2a97da1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712593": {"up_voted": false, "ip": "", "has_replies": false, "message": "Now that I'm a grey haired curmudgeon I have to admit that the only real value the computer trade shows had for me was the 'I was there' factor. I met lots of people but I didn't build any relationships. I saw lots of new products but I didn't become knowledgeable about them. Fact is, I learn more everyday from the Giz and Engadget then I did at the shows.<br><br>I'm not surprised that Apple has pulled out of MacWorld; the timing astounds me. What I'd love to know is who was Steved? The timing smells of payback.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-17_06:33:47", "killed": false, "user_key": "0d369f1d42c1c677e16777b75f58a2a5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712594": {"up_voted": false, "ip": "", "has_replies": false, "message": "Personally, I will not miss Las Vegas or Orlando or air travel. I will use virtual technology, I will see you online for the next year or two, if that's what it takes to keep my company financially strong.<br><br>It's not web 2.0 that's killing trade shows. It's the economy. No one is spending money. No one is traveling. Face to face events will return when the economy stabilizes. But never the same as before because there will be a healthy blend of virtual, extending the  reach of face2face events globally for those who can't attend live.<br><br>Blogging, social networks, web 2.0 collaboration tools, and virtual events build and sustain business relationships ......  especially during economic downturns.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-19_05:02:14", "killed": false, "user_key": "bec120708a8cd7de58b67d75eba062ad", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712595": {"up_voted": false, "ip": "", "has_replies": false, "message": "Come on :( CES is cool", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-26_16:43:16", "killed": false, "user_key": "8a56528df44e287f085badfa6bebe48c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712596": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't know-- I see the killer of trade shows being the economy and its effect on budget items- does the trade show spend justify itself? Social networks are a valuable substitute and the beneficiary, but not the murderer.<br><br>As to Howard's early points, face to face is still important in making an impact. But to your point, that doesn;t have to be a big trade show. Social networks also facilitate smaller face-to-face meetups, but mostly are opportunisitc, rather than creating the destination points that trade shows are.<br><br>As someone else pointed out above, Boston/Valley/New York types and some others lose little, but anyone traveling from somewhere else doesn't have the network for face-to-face interaction that the tech hub dwellers do. (I'm in Boston btw)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-17_13:57:55", "killed": false, "user_key": "doughaslam", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712597": {"up_voted": false, "ip": "", "has_replies": false, "message": "Has anyone ever asked the shows why they have to be so expensive?<br><br>I really don't understand where a lot of the costs go - until you get the bill from the union workers.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-17_15:48:56", "killed": false, "user_key": "856b593f1b8fb7847c3a0fa273031d95", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712598": {"up_voted": false, "ip": "", "has_replies": false, "message": "I haven't been to a trade show in years, and I can't say that I miss them one bit.  With so much information at you fingertips these days, it would be hard for me to justify going to a trade show.  AS far as having  a booth at a trade show, I would have to be selling something very specific to a narrowed audience for it to be worth my time.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-17_21:13:38", "killed": false, "user_key": "bae3fd2386a1d49a8c222c9f0b8a8bd9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712599": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think there's another side to these big trade shows that we in the media forget about, and that's the wheeling and dealing that goes on at the booths and in the back rooms. I shoot a CES photoblog for PCMag every year, and as such I try to stop in at every single booth on the show floor (though I've never actually achieved my goal). For every photogenic booth with thousands of square feet and expensive displays, there are three smaller booths that are there to conduct business that the companies can't do anywhere else.<br><br>A lot of companies aren't there for the press coverage or the parties or the lavish Sony and Samsung booths. They're there to score a few sales, partnerships, better industry contacts, whatever. For these people, a trade show like CES, where everyone is in the same place at the same time, is cheaper than shuttling reps all over the country making individual stops (and granted, web conferencing is cheaper still). I shared a cab with a salesman and his bluetooth headset last year, and judging from his conversation, I'd never heard of his company but their CES ROI was great. These guys will keep CES alive, even if the show morphs into a more typical trade show.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-18_01:56:00", "killed": false, "user_key": "cfadad4b632060f83944fd4b5852e887", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712600": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yep, completely agree...<br>Though I enjoyed going to trade shows for years, I hardly ever go anymore - as most of the stuff I'll see there is something I've already seen on the internet or received by email.<br><br>Though actually getting to meet the people  face-to-face might be interesting when we're doing some business, most of the \"search\" can now be done remotely instead of walking through corridors... And as it was said, it's far too expensive for small companies to get some space in there as well - while on the internet... anyone can have their website.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-18_06:50:33", "killed": false, "user_key": "c3a4332ac2fca87f65b02563324f751b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712601": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>May I be ubergeeky and quote Battlestar Galactica?<br><br>\"All this has happened before, and all of it will happen again.\"<br><br>Bloggers killing trade shows? Nah. It's cost, pure and simple. It's part of a cycle.<br><br>Comdex imploded long before blogging was commonplace. Remember PC Expo? It's history, too. Many others are gone. But new ones rise to take their places.<br><br>These big shows become wildly popular. Hotel &amp; exhibit space costs rise. Big companies spend big money, but when the economy goes south, so do their marketing &amp; travel budgets. Big moments of chest-thumping - which is all a trade is, really - are often the first things to get cut.<br><br>Of course, you could argue that the LAST thing you should cut in a downturn is a chance to tell your story, but that's another blog post, isn't it?<br><br>Anyway, bloggers have a tendency to think the world revolves around them. They see the giant slain and figure the killer rock must have come from their sling. Not the case, at least in this case.<br><br>It's a cycle. It's happened before, and it will happen again.<br><br>Dwight.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-18_07:51:21", "killed": false, "user_key": "6b1b7fb0838dc0c80f51d99ed8a3d942", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712602": {"up_voted": false, "ip": "", "has_replies": false, "message": "As a CES enthusiast and the guy who calls the shots, I understand some of the sentiment about big shows.  That's why we spend so much time and money to try to make sure the show is navigable and easier to meet up with those with common interests.  Check out our website and explore the matchmaking options in <a href=\"http://mycesweb.org\" rel=\"nofollow\">mycesweb.org</a>.<br><br>I joined CEA because I found and still find CES the most exciting experience on the planet.  It is vibrant and allows you to use all five senses to see the best and newest stuff and how companies position themselves.  Our entire corporate culture is based on the fact that innovation can come from anywhere and we have to run the show so the smallest entrepreneur with an idea can inexpensively expose it to investors, media and retailers from around the world.<br><br>Trade shows work for me because I need the human interaction.  Just like real life.  Technology is great.  But I still need the thrill of holding my wife's hand.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-18_11:04:14", "killed": false, "user_key": "d3d7c7a76dff6fed50856ea86498738b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712603": {"up_voted": false, "ip": "", "has_replies": false, "message": "I  agree with the comment about tradeshow vs. conference.<br><br> I have a day job as a programmer for a Medical Ass.  the conference is a big money maker for my company and the exhibitors. So attendance has great ROI for all parties ( My company, the exhibitors and the attending M.D.s). The education of the M.D.s is what drives this.<br><br> But in my side biz of an online kiteboarding shop (<a href=\"http://WindyDevil.com\" rel=\"nofollow\">http://WindyDevil.com</a>) I have not seen a need to go to any tradeshow.  Walking around a large hall to meet with manufactures has no ROI.  What I have been doing in this case is going to beach expos and contests that give me ROI because it meet lots of people form manufactures to potential customers and have fun doing the sport I love.<br><br>I live in S.F. and I don't even go to MacWorld anymore.<br>-Chris", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-18_12:06:56", "killed": false, "user_key": "74755c3800f2852a5be3a0d134078801", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712604": {"up_voted": false, "ip": "", "has_replies": false, "message": "We're sorry tradeshows!  Love, the bloggers.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-18_12:23:18", "killed": false, "user_key": "7beb3a749c837de79be297f9aa2e41f3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712605": {"up_voted": false, "ip": "", "has_replies": false, "message": "The best quote I've heard about this issue is \"Virtual trade shows will replace real trade shows when virtual honeymoons replace actual ones.\" The average CES attendee has 12 meetings with professionals from across all their target audiences and emerging (i.e. the non-Apples and major name companies of the world) companies can meet with thousands of media, analyst and bloggers all in one place to make a name for themselves and their products. CES is strong and will continue to be the must-attend event for the global tech industry.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-18_12:43:54", "killed": false, "user_key": "e4673df7000bea1fa31e9a056a73b97b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712606": {"up_voted": false, "ip": "", "has_replies": false, "message": "Pitting social media  vs tradeshows is misguided.  Events ARE social media; they are the original conversational marketing.  If anything, social media is what's driven the growth of shows over the past couple of years.  MacWorld is a unique case. Of course all media will suffer in 2009, but shows could actually weather the storm better than many types of media. Marketers who understand that shows are for listening as much as messaging know they need a robust events strategy.  And the good news in this economy that while show attendance may go down, the ones who do show up are the ones with real business to transact: active buyers.  There's a quality advantage in terms of the qualification of the attendees; there's also the quality of the attention they are giving you.  Being there in person is the ultimate way of giving someone your attention.<br><br>As a couple of folks have pointed out above, events are also the origin of an enormous amount of social media.  Video, live blogging/tweeting, etc extend the reach of any show activity.  Good events are the source of so much content for bloggers, and the source of so many connections for everyone-- we may all be pickier about which events to attend this year, but we'll still want to go to the revelant and compelling ones.<br><br>If you're Apple, and you have stores on every corner, perhaps you don't need a show to focus attention on your products (though notice that they're still doing WWDC...a developer ecosystem still needs a lot of stoking). If you're not Apple, I'd be very careful how you evaluate live events.<br><br>More on this here: <a href=\"http://blog.web2expo.com/2008/12/macworld-loses-the-world-part/\" rel=\"nofollow\">http://blog.web2expo.com/2008/12/macworld-loses...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-18_13:18:03", "killed": false, "user_key": "438d6ac07a726b74ac520f9dc3774532", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712607": {"up_voted": false, "ip": "", "has_replies": false, "message": "funny. I wrote almost the exact blog entry yesterday for computerworld (\"culture crash\"). and tara dunion posted almost the exact same response.<br><br>small world, eh?<br><br>dt", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-18_14:09:47", "killed": false, "user_key": "6642eb2995c59fca59ac1bd14c7dee8a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712608": {"up_voted": false, "ip": "", "has_replies": false, "message": "What the media need to do is come experience the 2700 exhibitors at the 2009 International CES -- including the 300 new exhibitors that will be there. We are profiling 30 new exhibitors to CES on <a href=\"http://CESweb.org\" rel=\"nofollow\">CESweb.org</a>. CES is three weeks away so let's see your updates when its been successful!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-18_15:32:34", "killed": false, "user_key": "e4673df7000bea1fa31e9a056a73b97b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712609": {"up_voted": false, "ip": "", "has_replies": false, "message": "The last few shows I have been to seem smaller and smaller.  With less and less good traffic.  It used to be enough to have a good location.  Now location doesn't even matter.  It's hard to get out of the office for local shows.  And I like in tech-show central, the Bay Area!  Tradeshows are effective, are hard to attribute directly to revenue, and decreasing in influence.  Hopefully we can go back to using shows for what they are good for, deepening relationships.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-18_17:01:01", "killed": false, "user_key": "db74fd4e9071f9cc13d2be8ba71ab47b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712610": {"up_voted": false, "ip": "", "has_replies": false, "message": "Who you are  (vendor or consumer) and what you need out of these marketing tools determine which you should use/go to.<br><br>Trade Shows only work (have only ever worked)  for both groups when combined with conferences/low-cost training or when you (as a product consumer) already have done your research and want an in-person meeting.<br><br>Biz dev using Trade shows to build relationships?  Unless you prebook mtgs, it's like hoping the right fish swims by and jumps in your boat.<br><br>Trade Shows are still at the lagging end of the decision cycle to buy or to launch.<br><br>SN tools are  for everything in the \"front end of innovation\".", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-18_17:48:17", "killed": false, "user_key": "3b25767626b80236e8a0f324f60abbb9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "12 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9712611": {"up_voted": false, "ip": "", "has_replies": false, "message": "You know I think you are very smart Robert but in this case you simply do not know what you are a talking about. I would love to have a one on one chat with you about the value of tradeshows (I have been involved with some very big events). The internet and social media is not killing tradeshows. In fact they make tradeshows bigger, better and even more important.<br><br>Until this economic downturn tradeshows on average were growing not shrinking. When the economy comes back tradeshows and other face to face mediums will be as strong as ever.<br><br>As for Apple dropping out. I would love to talk to you about that as well. I am sure they had their own reasons and money was most likely a part of that equation but Apple is a very poor example to use vs. normal companies. They have long proved themselves to be for Apple and only Apple.  For some reason lots of fanboys think that's great. I don't.<br><br>Tradeshows are not meant for consumers, or hobbyists. They are meant for professional buyers, sellers and press. They are the pulse of each industry they represent. Big companies, small companies, new technologies, industry trends and so much more.  MacWorld is really more of a consumer show / tradeshow hybrid.<br><br>CES is a great example of a tradeshow and a very well run, and very high ROI event. If you ask any exhibitor on their tradeshow floor I would wager 8 out of 10 will tell you they got their moneys worth and it is a must attend event for them. They are huge because they are a great association, have a great team running their event but more than anything they are a reflection of their industry and I think Gary would agree with that. The consumer electronics industry is huge covering almost every aspect of our lives and businesses and it has been booming for several years now.<br><br>If you like I would love spending some time walking a show floor with you and comparing the way you walk a tradeshow floor vs the way I do it.  What you see vs. what I see, and what you look for vs. what I look for.<br><br>As a salesperson I can tell you that I find tradeshows to be the single most effective sales tool I have ever used and offer the highest ROI of any sales process. In fact industry data backs my own personal experience up.<br><br>I will sign so folks can take my perspective with a grain of salt but I have attended, exhibited and organized litterally hundreds of events.<br><br><br>Rick Calvert<br>CEO &amp; Co-founder<br>BlogWorld &amp; New Media Expo", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-12-22_19:22:12", "killed": false, "user_key": "3a78ed67e44681511db495cae7243f42", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "11 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "10733113": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thanks for this interesting information.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-11_06:41:21", "killed": false, "user_key": "0cf3dfcaefe39d93c01270e7eb774886", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "18360445", "user_id": "anonymous", "forum_id": "125200", "hash": -3966040659424061000}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "are_bloggers_amp_social_networks_killing_the_big_shows", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18360445, "num_posts": 47, "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=are_bloggers_amp_social_networks_killing_the_big_shows' +
		'&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/are_bloggers_amp_social_networks_killing_the_big_shows/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='	+ 'are_bloggers_amp_social_networks_killing_the_big_shows'
			+ '&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/are_bloggers_amp_social_networks_killing_the_big_shows/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">47</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/are_bloggers_amp_social_networks_killing_the_big_shows/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/are_bloggers_amp_social_networks_killing_the_big_shows/">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/are_bloggers_amp_social_networks_killing_the_big_shows/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:18360445" 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'				: 'are_bloggers_amp_social_networks_killing_the_big_shows',
			// 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/are_bloggers_amp_social_networks_killing_the_big_shows/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='	+ 'are_bloggers_amp_social_networks_killing_the_big_shows'
			+ '&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='	+ 'are_bloggers_amp_social_networks_killing_the_big_shows'
			+ '&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='		+ 'are_bloggers_amp_social_networks_killing_the_big_shows'
				+ '&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/18360445/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-9712587">\
	 <div id="dsq-comment-header-9712587" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712587" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712587" href="http://www.harbrooke.com/" target="_blank" rel="nofollow">Howard Greenstein</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712587" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712587" class="dsq-comment-message">The thing Trade Shows help is in relationship building. That\'s why I went to Blog World Expo (and hung out with you), and many of those kinds of events are being replaced, at least in tech, with UnConferences.<br>Launching products is much easier online these days. Launching relationships isn\'t as easy. Learning is also important.<br>I hope we don\'t lose the Conference aspect of Tradeshows so soon.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712586">\
	 <div id="dsq-comment-header-9712586" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712586" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712586" href="http://www.Pre-paidGameCard.com/" target="_blank" rel="nofollow">Kelly Lieberman</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712586" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712586" class="dsq-comment-message">It is a virtual world network . com.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712585">\
	 <div id="dsq-comment-header-9712585" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712585" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712585" href="http://www.harbrooke.com/" target="_blank" rel="nofollow">Howard Greenstein</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712585" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712585" class="dsq-comment-message">And, to add to my comment above, I\'m a huge believer that Social networks help create relationships, but I think they are even more powerful when you seal the relationship over coffee or drinks.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712590">\
	 <div id="dsq-comment-header-9712590" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712590" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9712590">gerardmclean</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712590" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712590" class="dsq-comment-message">I quit going to trade shows and now just go to conferences. Most conferences have trade shows that are used to offset expenses for the conference attendees.<br><br>The conference, however, tends to treat trade show exhibitors like second-class citizens to prevent them from "tainting" the educational aspect of their workshops, etc. And the attendees are encouraged subtly to do the same.<br><br>So, quit exhibiting, pay more for the conference and go to meet other people. It will make your online product/service launch easier and faster.<br><br>Conferences, yes; trade shows, no.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712589">\
	 <div id="dsq-comment-header-9712589" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712589" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712589" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712589" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712589" class="dsq-comment-message">Howard: well, I love building relationships as much as anyone, but I\'m very expert at that and, sorry, having more than 100 people to meet with in a night results in very poor relationship building. Translation: you\'re better off attending a small conference, like a Gnomdex, if your goal is relationship building. Going to CES is so big and impersonal that it\'s very hard to build relationships in any real way and for big companies it\'s far better to do what Facebook did last night and invite who they want to build a relationship with to a small, intimate party where you actually get to talk to the CEO and founders for more than a minute or two (Zuckerberg spent 20 minutes talking with me and Jeremiah Owyang, for instance).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712591">\
	 <div id="dsq-comment-header-9712591" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712591" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712591" href="http://www.pjk.net/" target="_blank" rel="nofollow">pjk</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712591" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712591" class="dsq-comment-message">I agree completely. I get so much more out of the big conferences by attending vicariously through an RSS news reader and Tweetdeck search columns.<br><br>If I *must* go to a show, I don\'t buy tickets, I just open a tab at the bar in the lobby of the nearest hotel or bar. Its where everyone goes anyway to "get away from the racket and have a conversation". Don\'t tell the folks running these shows, but that\'s how I\'ve "attended" their overpriced soirées for the past three years.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712588">\
	 <div id="dsq-comment-header-9712588" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712588" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712588" href="http://www.harbrooke.com/" target="_blank" rel="nofollow">Howard Greenstein</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712588" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712588" class="dsq-comment-message">Agreed. I guess I wasn\'t clear enough. BWE was a smaller show. I\'m going to CES, but expect to meet most of the people at Jeff Pulver\'s Social Media Jungle the day before.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712566">\
	 <div id="dsq-comment-header-9712566" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712566" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712566" href="http://www.forrestermedia.com/" target="_blank" rel="nofollow">Michael Forrester</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712566" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712566" class="dsq-comment-message">I like most of what you say, but you obviously live in a bubble on this topic. Trade shows are having difficulty keeping exhibitors due to the incredibly high cost of exhibiting. Companies can better utilize resources through other means of advertising - and that\'s unfortunate for those of us who attend.<br><br>Having the opportunity to meet company presidents and reps one on one has afforded me lots of business opportunities - from reviewing equipment to picking up contractual work. It also allows me to see all these people and their new offerings in one location.<br><br>For my industry, it has little to do with bloggers or social networks - except that we get a heads up on what to look for.<br><br>By the way, if face to face isn\'t important - why do you travel so much?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712567">\
	 <div id="dsq-comment-header-9712567" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712567" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712567" href="http://staynalive.com/" target="_blank" rel="nofollow">Jesse Stay</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712567" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712567" class="dsq-comment-message">Here\'s the problem though Robert - this only benefits Silicon Valley.  Was I able to go to the Facebook party last night?  No, because I live outside the Bay Area.  Would I have been invited if I lived out in the Bay Area?  Yes, most likely.  Businesses aren\'t Ustreaming these events when they do leave the big tech shows, so only limited audiences hear the news and are able to report it.  Until they start making these exclusive parties more public I\'m disappointed that these big companies are leaving trade shows like this.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712568">\
	 <div id="dsq-comment-header-9712568" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712568" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712568" href="http://blog.planetc1.com/" target="_blank" rel="nofollow">Michael Dorausch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712568" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712568" class="dsq-comment-message">I find myself going to more events than ever but they are not traditional mega trade shows. Blogs, twitter, and everything else online social, is connecting people at places like you mentioned, plus there\'s the untold numbers of meetups and tweetups taking place in bars, businesses, coffee shops, warehouses, etc..<br><br>Individually many of these happenings appear small and insignificant but it\'s where the relationships are formed that create the army evangelizing the product launched from the living room.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712569">\
	 <div id="dsq-comment-header-9712569" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712569" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712569" href="http://www.liquidimageco.com/" target="_blank" rel="nofollow">Melanie Pearson</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712569" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712569" class="dsq-comment-message">Please say it isn\'t so! CES 2008 was our first and Bloggers really helped to launch our Camera Mask.  I was shocked by the overwhelming response around the world that the bloggers helped traditional media to create. The big companies may not need the shows, but the new or small to mid size companies do!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712570">\
	 <div id="dsq-comment-header-9712570" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712570" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712570" href="http://myinfomatrix.com/" target="_blank" rel="nofollow">Pavan K</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712570" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712570" class="dsq-comment-message">Kill vs. Complement<br><br>I think instead of these great services (vimeo etc) killing big shows, they could complement them.  Free viral marketing, video streams, PR, and positive network effects - now that\'s the chocolate fudge cake of marketing, right?  If we all embrace the ecosystem, the thousands of us that cannot afford tickets (yet), and even when we can - would love to see you interviewing people randomly throughout the day, we trust you to decide the people or project presentations that you think we want to hear about.<br><br>If for example bloggers like yourself streamed more than the official event organisers currently do (and they are doing it a lot - Giga Om does a great job using Mogulus) then we would all get the access (and laughs) that doesn\'t kill but promotes these events.  Huge free viral PR for the people that are saving up for next year\'s ticket to Le Web, ;-)<br><br>On that note here is the UStream from LeWeb<br><br><a href="http://www.lewebparis.com/2008/12/leweb-live-3-free-streams-this-year-thanks-to-ustream.html" rel="nofollow">http://www.lewebparis.com/2008/12/leweb-live-3-...</a><br><br>Must say though - if you stop going to these things, they will get killed off.  They should be paying you all good money to attend.  How would you calculate the value of that?!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712571">\
	 <div id="dsq-comment-header-9712571" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712571" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712571" href="http://appsapps.info" target="_blank" rel="nofollow">app</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712571" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712571" class="dsq-comment-message">I can\'t help but wonder if Apple not showing up for the next Mac World could backfire on them, with negative press.<br><br>Could the 44,000 perceive it as them being shunned by a company that thinks they are too good to party with them?<br><br>It could be equal to the guest of honor not showing up for their own birthday party.<br><br>What kind of damage can that unhappy 44,000 do to the company\'s image?<br><br>Sometimes you spend money to make money, other times you spend it so you don\'t lose money.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712572">\
	 <div id="dsq-comment-header-9712572" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712572" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712572" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712572" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712572" class="dsq-comment-message">app: that\'s a risk, yes, but then you walk into an Apple store anywhere in the world and get free wifi and you forget all about Macworld.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712573">\
	 <div id="dsq-comment-header-9712573" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712573" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712573" href="http://www.worldlandscapearchitect.com/" target="_blank" rel="nofollow">Damian Holmes</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712573" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712573" class="dsq-comment-message">This is a general trend in a lot of industries. The ROI on big expos and shows is very small in comparison to attending a networking event, conference or product launch.<br><br>If you want to enter a new market its better to talk to your local network and see who has contacts in the market/country/city you want to enter and get introductions its gives people a sense of trust.<br><br>Also digital media has made a difference; however in the service industry traditional meet and greets and attending networking events these in conjunction with digital media(websites, newsletters, blogs, email pdf brochures mail outs) have killed the expo/show.<br><br>Most people who aren\'t attending the show don\'t have the time or want the expense of going as you often as a visitor get very little ROI as well.<br><br>So from both sides its better not to attend and just go to a conference at least you get some information that may be beneficial plus people are more open and genuine at conferences as they don\'t feel the pressure of the business card/small talk shuffle.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712574">\
	 <div id="dsq-comment-header-9712574" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712574" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712574" href="http://the17thman.typepad.com/my_weblog/2008/11/five-hundred-pace-workout.html" target="_blank" rel="nofollow">joel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712574" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712574" class="dsq-comment-message">Times are a changing.  These tough economic times is giving lots of companies time to rethink traditional ways to push products.  Big trade shows are expensive.  Take the auto show circuit for example.  The smaller shows are paid by local dealers but the big ones like LA, NY and Detroit are paid by the automakers.  For some car launches a company can spend upward to over a million dollars.  Or you can fly a few auto bloggers to LA put them up in a fine hotel and give them a bunch of cars to test over a long weekend.  You end up getting more exposure for less a few thousand.  Trade shows are only going to get smaller and smaller.  Blogging over time will get bigger and bigger.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712575">\
	 <div id="dsq-comment-header-9712575" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712575" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712575" href="http://the17thman.typepad.com/my_weblog/2008/11/five-hundred-pace-workout.html" target="_blank" rel="nofollow">joel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712575" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712575" class="dsq-comment-message">Oh and one more thing.  The non-tech person who buys a HP or an Apple has never heard of CES or Macworld.  They\'ll maybe pick up a few magazines at the local store but most likely will go online to Google and search for information.  If you are Apple and you make the tech bloggers happy with smaller intimate events then you\'ve won the game</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712576">\
	 <div id="dsq-comment-header-9712576" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712576" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9712576">Patrick Scoble</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712576" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712576" class="dsq-comment-message">Well on top of all these reasons (economic reasons and the failure of the classic marketing models through things like blogs) Apple has wanted to get out of these expos for a while now (evident in them leaving the east coast MacWorld expos as well as decreasing the presence in many other shows) mainly because it forced them to develop and release products on someone else\'s schedule and they ended up not getting a whole lot out of it as they don\'t need the help they needed in the late \'90s anymore.<br><br>Every January (and previously, because of MacWorlds in NYC and Boston, in the June-August timeframe) they had to send some products out the door that had to meet the expectations of tons of people (which, as of late, these products have disappointed a majority of these people). They prefer their own private events where they can be more in control of what they release (such as the iPod events in the early fall).<br><br>It is quite unfortunate, but without Apple I will not expect to see a MWSF \'11 despite the strong 3rd party developer and community attendance. All of these reasons add up to Apple leaving MacWorld as well as the overall decline of these trade shows in general.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712577">\
	 <div id="dsq-comment-header-9712577" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712577" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9712577">adorkablegrrl</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712577" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712577" class="dsq-comment-message">Is this such a bad thing? It might impact smaller companies who gain exposure and the chance to press the flesh by networking at these events.  Though, as a freelance writer I tend to agree with Damian - the cost for me to attend these cons is prohibitive and the ROI (one article, two articles?) I get for the price of admission is lacking.  It\'s much easier (and cheaper) for me to work my own networking channels to get invited into that small room where the big news is being released.<br><br>Changes in the world demand changes in how news is reported and business is done... IMHO this isn\'t something to worry about, it\'s just change.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712578">\
	 <div id="dsq-comment-header-9712578" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712578" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712578" href="http://www.figby.com/" target="_blank" rel="nofollow">Michael Moncur</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712578" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712578" class="dsq-comment-message">If the Internet is killing trade shows - and it is! - it started years ago, long before anyone cared about blogs or online video.<br><br>I went to COMDEX every year until the Internet killed it. Even Apple used to show off products there - I remember seeing the Newton for the first time at COMDEX 92 or so.<br><br>Now Apple can hold a small press conference and get nationwide media coverage, and even smaller companies have lots of options for getting exposure. Even in the days before Youtube and blogs, a major publisher I worked with decided not to exhibit at COMDEX because the cost was too high for the return compared with online advertising.<br><br>Same with Apple - they dropped out of COMDEX a few years before it crashed and burned, and it wasn\'t because of blogs or online video or social networks. It was because of the Wall Street Journal and Wired magazine and the fact that people could load Apple\'s website any time they wanted news from Apple.<br><br>Just because Facebook and Qik are the cool things now doesn\'t mean they started this trend. It\'s been going on for probably 10 years, and new forms of online expression just speed it up.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712579">\
	 <div id="dsq-comment-header-9712579" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712579" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9712579">Chike Agwunobi</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712579" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712579" class="dsq-comment-message">Most customers gain valuable experiences through blogs, therefore if firms aren\'t making  substantial Return on Investment (ROI) from trade shows, then I think trade shows may be extinct very soon. This is just one great example of how the internet is changing the world. nice article. Thanks for sharing.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712580">\
	 <div id="dsq-comment-header-9712580" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712580" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9712580">zato</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712580" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712580" class="dsq-comment-message">Nice job on the blog above, Robert.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712581">\
	 <div id="dsq-comment-header-9712581" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712581" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712581" href="http://www.loudmouthman.com/" target="_blank" rel="nofollow">nicholas butler</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712581" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712581" class="dsq-comment-message">This may be why Reuters are now experimenting with getting Bloggers into the news rooms at newsmaker events<br><br><a href="http://ourmaninside.com/2008/12/14/politics-and-social-media/" rel="nofollow">http://ourmaninside.com/2008/12/14/politics-and...</a><br><br>I see some instant parallels to how Apple approach \'getting the news out\' and how Reuters are doing the same.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712593">\
	 <div id="dsq-comment-header-9712593" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712593" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9712593">david</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712593" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712593" class="dsq-comment-message">Now that I\'m a grey haired curmudgeon I have to admit that the only real value the computer trade shows had for me was the \'I was there\' factor. I met lots of people but I didn\'t build any relationships. I saw lots of new products but I didn\'t become knowledgeable about them. Fact is, I learn more everyday from the Giz and Engadget then I did at the shows.<br><br>I\'m not surprised that Apple has pulled out of MacWorld; the timing astounds me. What I\'d love to know is who was Steved? The timing smells of payback.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712583">\
	 <div id="dsq-comment-header-9712583" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712583" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712583" href="http://blog.sciencelogic.com/" target="_blank" rel="nofollow">Louis DiMeglio</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712583" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712583" class="dsq-comment-message">While certain trade shows will be crushed under their own weight, I think that the death of the trade show is greatly exaggerated.  While the idea of inviting people to a party, might work if you\'re Apple, it doesn\'t work if you\'re "SmallBiz Inc.".  Trade shows with good foot traffic still provide an enormous amount of exposure in a short amount of time and for smaller companies, this can be invaluable.  With some of the trade shows my company has done in the last few years we\'ve directly closed enough business to fund the shows for the next 20 years. Also, who are the "right people" to have in the room for these private invites?  How do I pick the buyers out of the 44,000 people going to the show?<br><br>We\'ll keep going to the trade shows that show direct returns (Interop, FOSE and others) and dump those that don\'t, but to say the trade show is dead is well, just brain dead IMHO.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712596">\
	 <div id="dsq-comment-header-9712596" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712596" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712596" href="http://doughaslam.com" target="_blank" rel="nofollow">doughaslam</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712596" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712596" class="dsq-comment-message">I don\'t know-- I see the killer of trade shows being the economy and its effect on budget items- does the trade show spend justify itself? Social networks are a valuable substitute and the beneficiary, but not the murderer.<br><br>As to Howard\'s early points, face to face is still important in making an impact. But to your point, that doesn;t have to be a big trade show. Social networks also facilitate smaller face-to-face meetups, but mostly are opportunisitc, rather than creating the destination points that trade shows are.<br><br>As someone else pointed out above, Boston/Valley/New York types and some others lose little, but anyone traveling from somewhere else doesn\'t have the network for face-to-face interaction that the tech hub dwellers do. (I\'m in Boston btw)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712597">\
	 <div id="dsq-comment-header-9712597" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712597" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712597" href="http://www.donschindler.com/" target="_blank" rel="nofollow">Don Schindler</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712597" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712597" class="dsq-comment-message">Has anyone ever asked the shows why they have to be so expensive?<br><br>I really don\'t understand where a lot of the costs go - until you get the bill from the union workers.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712598">\
	 <div id="dsq-comment-header-9712598" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712598" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712598" href="http://uniquehomebasedbusinessopportunity.com/" target="_blank" rel="nofollow">Susan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712598" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712598" class="dsq-comment-message">I haven\'t been to a trade show in years, and I can\'t say that I miss them one bit.  With so much information at you fingertips these days, it would be hard for me to justify going to a trade show.  AS far as having  a booth at a trade show, I would have to be selling something very specific to a narrowed audience for it to be worth my time.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712599">\
	 <div id="dsq-comment-header-9712599" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712599" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712599" href="http://www.pcmag.com/" target="_blank" rel="nofollow">Kyle Monson</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712599" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712599" class="dsq-comment-message">I think there\'s another side to these big trade shows that we in the media forget about, and that\'s the wheeling and dealing that goes on at the booths and in the back rooms. I shoot a CES photoblog for PCMag every year, and as such I try to stop in at every single booth on the show floor (though I\'ve never actually achieved my goal). For every photogenic booth with thousands of square feet and expensive displays, there are three smaller booths that are there to conduct business that the companies can\'t do anywhere else.<br><br>A lot of companies aren\'t there for the press coverage or the parties or the lavish Sony and Samsung booths. They\'re there to score a few sales, partnerships, better industry contacts, whatever. For these people, a trade show like CES, where everyone is in the same place at the same time, is cheaper than shuttling reps all over the country making individual stops (and granted, web conferencing is cheaper still). I shared a cab with a salesman and his bluetooth headset last year, and judging from his conversation, I\'d never heard of his company but their CES ROI was great. These guys will keep CES alive, even if the show morphs into a more typical trade show.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712600">\
	 <div id="dsq-comment-header-9712600" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712600" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712600" href="http://internetbestsecrets.com/" target="_blank" rel="nofollow">Carlos Martins</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712600" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712600" class="dsq-comment-message">Yep, completely agree...<br>Though I enjoyed going to trade shows for years, I hardly ever go anymore - as most of the stuff I\'ll see there is something I\'ve already seen on the internet or received by email.<br><br>Though actually getting to meet the people  face-to-face might be interesting when we\'re doing some business, most of the "search" can now be done remotely instead of walking through corridors... And as it was said, it\'s far too expensive for small companies to get some space in there as well - while on the internet... anyone can have their website.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712601">\
	 <div id="dsq-comment-header-9712601" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712601" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712601" href="http://blogs.chron.com/techblog" target="_blank" rel="nofollow">Dwight Silverman</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712601" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712601" class="dsq-comment-message">Robert,<br><br>May I be ubergeeky and quote Battlestar Galactica?<br><br>"All this has happened before, and all of it will happen again."<br><br>Bloggers killing trade shows? Nah. It\'s cost, pure and simple. It\'s part of a cycle.<br><br>Comdex imploded long before blogging was commonplace. Remember PC Expo? It\'s history, too. Many others are gone. But new ones rise to take their places.<br><br>These big shows become wildly popular. Hotel &amp; exhibit space costs rise. Big companies spend big money, but when the economy goes south, so do their marketing &amp; travel budgets. Big moments of chest-thumping - which is all a trade is, really - are often the first things to get cut.<br><br>Of course, you could argue that the LAST thing you should cut in a downturn is a chance to tell your story, but that\'s another blog post, isn\'t it?<br><br>Anyway, bloggers have a tendency to think the world revolves around them. They see the giant slain and figure the killer rock must have come from their sling. Not the case, at least in this case.<br><br>It\'s a cycle. It\'s happened before, and it will happen again.<br><br>Dwight.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712602">\
	 <div id="dsq-comment-header-9712602" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712602" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9712602">Gary Shapiro</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712602" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712602" class="dsq-comment-message">As a CES enthusiast and the guy who calls the shots, I understand some of the sentiment about big shows.  That\'s why we spend so much time and money to try to make sure the show is navigable and easier to meet up with those with common interests.  Check out our website and explore the matchmaking options in <a href="http://mycesweb.org" rel="nofollow">mycesweb.org</a>.<br><br>I joined CEA because I found and still find CES the most exciting experience on the planet.  It is vibrant and allows you to use all five senses to see the best and newest stuff and how companies position themselves.  Our entire corporate culture is based on the fact that innovation can come from anywhere and we have to run the show so the smallest entrepreneur with an idea can inexpensively expose it to investors, media and retailers from around the world.<br><br>Trade shows work for me because I need the human interaction.  Just like real life.  Technology is great.  But I still need the thrill of holding my wife\'s hand.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712603">\
	 <div id="dsq-comment-header-9712603" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712603" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712603" href="http://windydevil.com/" target="_blank" rel="nofollow">Chris Brown</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712603" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712603" class="dsq-comment-message">I  agree with the comment about tradeshow vs. conference.<br><br> I have a day job as a programmer for a Medical Ass.  the conference is a big money maker for my company and the exhibitors. So attendance has great ROI for all parties ( My company, the exhibitors and the attending M.D.s). The education of the M.D.s is what drives this.<br><br> But in my side biz of an online kiteboarding shop (<a href="http://WindyDevil.com" rel="nofollow">http://WindyDevil.com</a>) I have not seen a need to go to any tradeshow.  Walking around a large hall to meet with manufactures has no ROI.  What I have been doing in this case is going to beach expos and contests that give me ROI because it meet lots of people form manufactures to potential customers and have fun doing the sport I love.<br><br>I live in S.F. and I don\'t even go to MacWorld anymore.<br>-Chris</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712604">\
	 <div id="dsq-comment-header-9712604" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712604" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712604" href="http://www.lasnark.com/" target="_blank" rel="nofollow">Jack</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712604" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712604" class="dsq-comment-message">We\'re sorry tradeshows!  Love, the bloggers.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712605">\
	 <div id="dsq-comment-header-9712605" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712605" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712605" href="http://CESweb.org/" target="_blank" rel="nofollow">Tara Dunion</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712605" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712605" class="dsq-comment-message">The best quote I\'ve heard about this issue is "Virtual trade shows will replace real trade shows when virtual honeymoons replace actual ones." The average CES attendee has 12 meetings with professionals from across all their target audiences and emerging (i.e. the non-Apples and major name companies of the world) companies can meet with thousands of media, analyst and bloggers all in one place to make a name for themselves and their products. CES is strong and will continue to be the must-attend event for the global tech industry.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712606">\
	 <div id="dsq-comment-header-9712606" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712606" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712606" href="http://blog.web2expo.com/" target="_blank" rel="nofollow">Jennifer Pahlka</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712606" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712606" class="dsq-comment-message">Pitting social media  vs tradeshows is misguided.  Events ARE social media; they are the original conversational marketing.  If anything, social media is what\'s driven the growth of shows over the past couple of years.  MacWorld is a unique case. Of course all media will suffer in 2009, but shows could actually weather the storm better than many types of media. Marketers who understand that shows are for listening as much as messaging know they need a robust events strategy.  And the good news in this economy that while show attendance may go down, the ones who do show up are the ones with real business to transact: active buyers.  There\'s a quality advantage in terms of the qualification of the attendees; there\'s also the quality of the attention they are giving you.  Being there in person is the ultimate way of giving someone your attention.<br><br>As a couple of folks have pointed out above, events are also the origin of an enormous amount of social media.  Video, live blogging/tweeting, etc extend the reach of any show activity.  Good events are the source of so much content for bloggers, and the source of so many connections for everyone-- we may all be pickier about which events to attend this year, but we\'ll still want to go to the revelant and compelling ones.<br><br>If you\'re Apple, and you have stores on every corner, perhaps you don\'t need a show to focus attention on your products (though notice that they\'re still doing WWDC...a developer ecosystem still needs a lot of stoking). If you\'re not Apple, I\'d be very careful how you evaluate live events.<br><br>More on this here: <a href="http://blog.web2expo.com/2008/12/macworld-loses-the-world-part/" rel="nofollow">http://blog.web2expo.com/2008/12/macworld-loses...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712607">\
	 <div id="dsq-comment-header-9712607" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712607" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712607" href="http://blogs.computerworld.com/tynan" target="_blank" rel="nofollow">dan tynan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712607" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712607" class="dsq-comment-message">funny. I wrote almost the exact blog entry yesterday for computerworld ("culture crash"). and tara dunion posted almost the exact same response.<br><br>small world, eh?<br><br>dt</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712608">\
	 <div id="dsq-comment-header-9712608" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712608" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712608" href="http://CESweb.org/" target="_blank" rel="nofollow">Tara Dunion</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712608" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712608" class="dsq-comment-message">What the media need to do is come experience the 2700 exhibitors at the 2009 International CES -- including the 300 new exhibitors that will be there. We are profiling 30 new exhibitors to CES on <a href="http://CESweb.org" rel="nofollow">CESweb.org</a>. CES is three weeks away so let\'s see your updates when its been successful!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712609">\
	 <div id="dsq-comment-header-9712609" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712609" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9712609">Jame</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712609" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712609" class="dsq-comment-message">The last few shows I have been to seem smaller and smaller.  With less and less good traffic.  It used to be enough to have a good location.  Now location doesn\'t even matter.  It\'s hard to get out of the office for local shows.  And I like in tech-show central, the Bay Area!  Tradeshows are effective, are hard to attribute directly to revenue, and decreasing in influence.  Hopefully we can go back to using shows for what they are good for, deepening relationships.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712610">\
	 <div id="dsq-comment-header-9712610" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712610" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712610" href="http://www.btind.com/" target="_blank" rel="nofollow">Jackie Bassett</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712610" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712610" class="dsq-comment-message">Who you are  (vendor or consumer) and what you need out of these marketing tools determine which you should use/go to.<br><br>Trade Shows only work (have only ever worked)  for both groups when combined with conferences/low-cost training or when you (as a product consumer) already have done your research and want an in-person meeting.<br><br>Biz dev using Trade shows to build relationships?  Unless you prebook mtgs, it\'s like hoping the right fish swims by and jumps in your boat.<br><br>Trade Shows are still at the lagging end of the decision cycle to buy or to launch.<br><br>SN tools are  for everything in the "front end of innovation".</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712594">\
	 <div id="dsq-comment-header-9712594" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712594" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9712594">Kelly Graham</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712594" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712594" class="dsq-comment-message">Personally, I will not miss Las Vegas or Orlando or air travel. I will use virtual technology, I will see you online for the next year or two, if that\'s what it takes to keep my company financially strong.<br><br>It\'s not web 2.0 that\'s killing trade shows. It\'s the economy. No one is spending money. No one is traveling. Face to face events will return when the economy stabilizes. But never the same as before because there will be a healthy blend of virtual, extending the  reach of face2face events globally for those who can\'t attend live.<br><br>Blogging, social networks, web 2.0 collaboration tools, and virtual events build and sustain business relationships ......  especially during economic downturns.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712584">\
	 <div id="dsq-comment-header-9712584" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712584" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712584" href="http://neuronspark.com/" target="_blank" rel="nofollow">paul</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712584" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712584" class="dsq-comment-message">CES is the Tech bloggers Mecca and we enjoy meeting each other as much as we like seeing all the cool new stuff.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712582">\
	 <div id="dsq-comment-header-9712582" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712582" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9712582">Christopher Coulter</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712582" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712582" class="dsq-comment-message">But see you have it all backwards, the consumer-focused shows are dying because of increased exposure, but CES is not about the consumer, it\'s a trade deal show between buyers and sellers, and that will never go away. The pressy and bloggy peeps, is a rather new phenom. And in the larger picture, with their short attention spans, irrelevant.<br><br>Bloggers all went these shows can\'t exist without out us, storm the gates, and then once they got bored (about 3 years later),  the spin be that all these shows can\'t exist without us, make us excited again. Temper your one-day news and live blogging-egos, it was never about you in the first place, which is why CES will thrive.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712592">\
	 <div id="dsq-comment-header-9712592" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712592" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712592" href="http://www.garethwong.com/" target="_blank" rel="nofollow">gareth wong</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712592" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712592" class="dsq-comment-message">Big trade shows focus on bringing hundreds of thousands of people together and maximise profit for the tradeshow founder/host (can\'t blame them).<br><br>It\'s a good gig if you got history/scale, as not many people(competitor) would dare to start one, unless they can find a different niche/focus (E3, CeBit, CES)<br><br>This is the same for B2B conferences in various industries/sectors (e.g. Telecoms: IIR, IBC, Informa, Finance: euromoney, FT, economists) however, one thing is for sure, most so so organisers (especially the market leaders) tend to become blinkered and develop narrow field vision, namely, they focus too much on sponsors need (rather than paying attendees or even key stake holders\' requirements)<br><br>Therefore, in the end, we see things like these MacWorld saga (not knowing the background/real story, the organiser may have asked apple to how best to appease them, it might be too late or they might not have even asked because they thing they have scale!? Anyone knows?)<br><br>Key however is that trade show/conferences alike, need to be focused, and as mentioned the internet/video/blogging change that, but mostly so far within the FMCG market, let\'s so on B2B, they are still quite niche &amp; sometimes internally focused. E.g. Challenges of rating, not easily understood derivatives/"structured products" (or zero cost products, CDO, CDS) are already well known in the finance sector.<br><br>One thing is for sure, pulling a few (or even big number) of key senior industry guys together is not difficult, IF you already has built up the trusted relationships.<br><br>Many conference organisers may have lost sight of key Focus/benefits are clearly relationship buildings.. Cost vs benefits for attendees/sponsors quite frequently don\'t add up.<br><br>Therefore, finding the balance or win-win is KEY!<br><br>I personally prefer 4-10 people maximum lunch/evening functions of senior people are most effective!<br><br>@garethwong</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712611">\
	 <div id="dsq-comment-header-9712611" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712611" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712611" href="http://www.blogworldexpo.com/" target="_blank" rel="nofollow">Rick Calvert</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712611" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712611" class="dsq-comment-message">You know I think you are very smart Robert but in this case you simply do not know what you are a talking about. I would love to have a one on one chat with you about the value of tradeshows (I have been involved with some very big events). The internet and social media is not killing tradeshows. In fact they make tradeshows bigger, better and even more important.<br><br>Until this economic downturn tradeshows on average were growing not shrinking. When the economy comes back tradeshows and other face to face mediums will be as strong as ever.<br><br>As for Apple dropping out. I would love to talk to you about that as well. I am sure they had their own reasons and money was most likely a part of that equation but Apple is a very poor example to use vs. normal companies. They have long proved themselves to be for Apple and only Apple.  For some reason lots of fanboys think that\'s great. I don\'t.<br><br>Tradeshows are not meant for consumers, or hobbyists. They are meant for professional buyers, sellers and press. They are the pulse of each industry they represent. Big companies, small companies, new technologies, industry trends and so much more.  MacWorld is really more of a consumer show / tradeshow hybrid.<br><br>CES is a great example of a tradeshow and a very well run, and very high ROI event. If you ask any exhibitor on their tradeshow floor I would wager 8 out of 10 will tell you they got their moneys worth and it is a must attend event for them. They are huge because they are a great association, have a great team running their event but more than anything they are a reflection of their industry and I think Gary would agree with that. The consumer electronics industry is huge covering almost every aspect of our lives and businesses and it has been booming for several years now.<br><br>If you like I would love spending some time walking a show floor with you and comparing the way you walk a tradeshow floor vs the way I do it.  What you see vs. what I see, and what you look for vs. what I look for.<br><br>As a salesperson I can tell you that I find tradeshows to be the single most effective sales tool I have ever used and offer the highest ROI of any sales process. In fact industry data backs my own personal experience up.<br><br>I will sign so folks can take my perspective with a grain of salt but I have attended, exhibited and organized litterally hundreds of events.<br><br><br>Rick Calvert<br>CEO &amp; Co-founder<br>BlogWorld &amp; New Media Expo</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9712595">\
	 <div id="dsq-comment-header-9712595" class="dsq-comment-header">\
	 <cite id="dsq-cite-9712595" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9712595" href="http://www.technorino.com/" target="_blank" rel="nofollow">Technorino</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9712595" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9712595" class="dsq-comment-message">Come on :( CES is cool</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-10733113">\
	 <div id="dsq-comment-header-10733113" class="dsq-comment-header">\
	 <cite id="dsq-cite-10733113" class="dsq-comment-cite">\
	 <a id="dsq-author-user-10733113" href="http://www.thompsonkerr.com/" target="_blank" rel="nofollow">Trade Show Booths</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-10733113" class="dsq-comment-body">\
	 <div id="dsq-comment-message-10733113" class="dsq-comment-message">Thanks for this interesting information.</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=are_bloggers_amp_social_networks_killing_the_big_shows&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);
			}
		}
	});
}

})();




