




if (typeof(disqus_iframe_css) == 'undefined') {
	disqus_iframe_css = '';
}
if (typeof(disqus_def_name) == 'undefined') {
	disqus_def_name = '';
}
if (typeof(disqus_def_email) == 'undefined') {
	disqus_def_email = '';
}
if (typeof(disqus_skip_auth) == 'undefined') {
	disqus_skip_auth = false;
}
if (typeof(disqus_default_text) == 'undefined') {
	disqus_default_text = 'Type your comment here.';
}

(function(){
	
	var ie = document.uniqueID
		&& document.compatMode
		&& !window.XMLHttpRequest
		&& document.execCommand ;

	try {
		if(!!ie) {
			document.execCommand("BackgroundImageCache", false, true);
		}
	} catch(e) {};
})();

var Dsq = new function() {
	this.container = document.getElementById('dsq-content');
	this.jsonData = {"reactions": [], "has_more_reactions": false, "users": {"e9f86988def443e83dd648f72463df20": {"username": "Salah", "tumblr": "", "display_name": "Salah", "url": "http://disqus.com/guest/e9f86988def443e83dd648f72463df20/", "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": ""}, "d37aada4f6d6df16ca207b92f34559e8": {"username": "Miguel Castillo", "tumblr": "", "display_name": "Miguel Castillo", "url": "http://disqus.com/guest/d37aada4f6d6df16ca207b92f34559e8/", "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": ""}, "285a5173bd240d66a70ed0ef57cf5e42": {"username": "adam", "tumblr": "", "display_name": "adam", "url": "http://disqus.com/guest/285a5173bd240d66a70ed0ef57cf5e42/", "registered": false, "linkedin": "", "blog": "http://verbo.se/", "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": ""}, "b10bdb24e047c1851c7f482d2c5e6c59": {"username": "m.k.", "tumblr": "", "display_name": "m.k.", "url": "http://disqus.com/guest/b10bdb24e047c1851c7f482d2c5e6c59/", "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": ""}, "6c48ea803cb9f4fc9266b49ccf7e2463": {"username": "akram", "tumblr": "", "display_name": "akram", "url": "http://disqus.com/guest/6c48ea803cb9f4fc9266b49ccf7e2463/", "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": ""}, "439939ead7934424e533cac557f0c7c0": {"username": "Windows Live Mail SUCKS ROYALL", "tumblr": "", "display_name": "Windows Live Mail SUCKS ROYALL", "url": "http://disqus.com/guest/439939ead7934424e533cac557f0c7c0/", "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": ""}, "fbf75f6a00ed1f677a0fc856b84a4ba1": {"username": "Diego Vega", "tumblr": "", "display_name": "Diego Vega", "url": "http://disqus.com/guest/fbf75f6a00ed1f677a0fc856b84a4ba1/", "registered": false, "linkedin": "", "blog": "http://diegov.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e0c1fc4d4085a47972e9e9c921f2b7f1": {"username": "jim", "tumblr": "", "display_name": "jim", "url": "http://disqus.com/guest/e0c1fc4d4085a47972e9e9c921f2b7f1/", "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": ""}, "66c5cd6140a08dbae06d17575c77d736": {"username": "Marcus Episco", "tumblr": "", "display_name": "Marcus Episco", "url": "http://disqus.com/guest/66c5cd6140a08dbae06d17575c77d736/", "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": ""}, "782b8b63cb2e7fabb9a53bd5cd1cad04": {"username": "Katie", "tumblr": "", "display_name": "Katie", "url": "http://disqus.com/guest/782b8b63cb2e7fabb9a53bd5cd1cad04/", "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": ""}, "57cbdf69e62f0455df1b3f34d99c4453": {"username": "TLS", "tumblr": "", "display_name": "TLS", "url": "http://disqus.com/guest/57cbdf69e62f0455df1b3f34d99c4453/", "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": ""}, "2a6072436536a177ca24c19db66f4d6d": {"username": "Vahn Haro", "tumblr": "", "display_name": "Vahn Haro", "url": "http://disqus.com/guest/2a6072436536a177ca24c19db66f4d6d/", "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": ""}, "9c21276ffb992ac5ee635b5d05b9e82f": {"username": "Opt Email", "tumblr": "", "display_name": "Opt Email", "url": "http://disqus.com/guest/9c21276ffb992ac5ee635b5d05b9e82f/", "registered": false, "linkedin": "", "blog": "http://www.opt-email.info/", "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": ""}, "04f6192ccc02cc777819e434611618ff": {"username": "Fred Daniels", "tumblr": "", "display_name": "Fred Daniels", "url": "http://disqus.com/guest/04f6192ccc02cc777819e434611618ff/", "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": ""}, "d48d1f0f867bdc7a66b9846f0e4cc5ab": {"username": "CJ", "tumblr": "", "display_name": "CJ", "url": "http://disqus.com/guest/d48d1f0f867bdc7a66b9846f0e4cc5ab/", "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": ""}, "b9d6370a6d352863ec0988128a655e49": {"username": "Samuel", "tumblr": "", "display_name": "Samuel", "url": "http://disqus.com/guest/b9d6370a6d352863ec0988128a655e49/", "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": ""}, "43883cb5e0b8b2fca0ecfcf07e607626": {"username": "Erikalynne", "tumblr": "", "display_name": "Erikalynne", "url": "http://disqus.com/guest/43883cb5e0b8b2fca0ecfcf07e607626/", "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": ""}, "5c12ef67b41f0f3eed314f883ca2ab5d": {"username": "deannie", "tumblr": "", "display_name": "deannie", "url": "http://disqus.com/guest/5c12ef67b41f0f3eed314f883ca2ab5d/", "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": ""}, "7c8aaec238cec82d7568b4d83e47a48d": {"username": "WindowsLiveMailBlows", "tumblr": "", "display_name": "WindowsLiveMailBlows", "url": "http://disqus.com/guest/7c8aaec238cec82d7568b4d83e47a48d/", "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": ""}, "b8ac0bf8349cc96e01beab87a73feeca": {"username": "TAG", "tumblr": "", "display_name": "TAG", "url": "http://disqus.com/guest/b8ac0bf8349cc96e01beab87a73feeca/", "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": ""}, "b365d38583dfa58a5e87c93fec73bf7f": {"username": "Bruce Wilder", "tumblr": "", "display_name": "Bruce Wilder", "url": "http://disqus.com/guest/b365d38583dfa58a5e87c93fec73bf7f/", "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": ""}, "fd87815e0aa40e90a83c2401daabdc63": {"username": "joe", "tumblr": "", "display_name": "joe", "url": "http://disqus.com/guest/fd87815e0aa40e90a83c2401daabdc63/", "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": ""}, "b9ac9cdb9d77dd95758a15d77cc5a879": {"username": "Mike", "tumblr": "", "display_name": "Mike", "url": "http://disqus.com/guest/b9ac9cdb9d77dd95758a15d77cc5a879/", "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": ""}, "838f88b1700542585c1edd18bd6bd8a0": {"username": "LionShark", "tumblr": "", "display_name": "LionShark", "url": "http://disqus.com/guest/838f88b1700542585c1edd18bd6bd8a0/", "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": ""}, "33c835777d45170a389fb34e0885b93e": {"username": "Cathy", "tumblr": "", "display_name": "Cathy", "url": "http://disqus.com/guest/33c835777d45170a389fb34e0885b93e/", "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": ""}, "437a6ac1492a36a094261dd60c5282a0": {"username": "jean", "tumblr": "", "display_name": "jean", "url": "http://disqus.com/guest/437a6ac1492a36a094261dd60c5282a0/", "registered": false, "linkedin": "", "blog": "http://jean.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3625e1efcc88341488c4deb1856bb130": {"username": "David", "tumblr": "", "display_name": "David", "url": "http://disqus.com/guest/3625e1efcc88341488c4deb1856bb130/", "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": ""}, "c489355ab8af522634fdef64206a3954": {"username": "Dmad", "tumblr": "", "display_name": "Dmad", "url": "http://disqus.com/guest/c489355ab8af522634fdef64206a3954/", "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": ""}, "730286bd752ca9544dad2951a75f9adc": {"username": "Chris", "tumblr": "", "display_name": "Chris", "url": "http://disqus.com/guest/730286bd752ca9544dad2951a75f9adc/", "registered": false, "linkedin": "", "blog": "http://www.liveside.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": ""}, "98a96f1666dbbc64ed6bd35e99c61c4b": {"username": "Mike Johnson", "tumblr": "", "display_name": "Mike Johnson", "url": "http://disqus.com/guest/98a96f1666dbbc64ed6bd35e99c61c4b/", "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": ""}, "74cce638e3213eec6ec96e3d91923bba": {"username": "chancey", "tumblr": "", "display_name": "chancey", "url": "http://disqus.com/guest/74cce638e3213eec6ec96e3d91923bba/", "registered": false, "linkedin": "", "blog": "http://finance74autoinsuran.cloud.prohosting.com/long-term-problems-with-credit-card-debt.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": ""}, "f19ab3578e1fa7cce8e3a94cfcdab653": {"username": "Alfred Shuryan", "tumblr": "", "display_name": "Alfred Shuryan", "url": "http://disqus.com/guest/f19ab3578e1fa7cce8e3a94cfcdab653/", "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": ""}, "987ee02055289447ade74fb5d921fc59": {"username": "chilton", "tumblr": "", "display_name": "chilton", "url": "http://disqus.com/guest/987ee02055289447ade74fb5d921fc59/", "registered": false, "linkedin": "", "blog": "http://www.geocities.com/flower57silkartifici/better-homes-and-gardens.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": ""}, "6d74b7724727ea165302314a1729afdf": {"username": "hasan", "tumblr": "", "display_name": "hasan", "url": "http://disqus.com/guest/6d74b7724727ea165302314a1729afdf/", "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": ""}, "820d0e4ee14e986a44d33782ca852f51": {"username": "L", "tumblr": "", "display_name": "L", "url": "http://disqus.com/guest/820d0e4ee14e986a44d33782ca852f51/", "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": ""}, "215ab51ee61dae404d29f05e78084d5a": {"username": "Ramesh", "tumblr": "", "display_name": "Ramesh", "url": "http://disqus.com/guest/215ab51ee61dae404d29f05e78084d5a/", "registered": false, "linkedin": "", "blog": "http://theramesh.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "5807d8a75ea795138028c4f51fe394cb": {"username": "Diana Ward", "tumblr": "", "display_name": "Diana Ward", "url": "http://disqus.com/guest/5807d8a75ea795138028c4f51fe394cb/", "registered": false, "linkedin": "", "blog": "http://www.traffic-reach.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": ""}, "cc932a145efa24d38b4486a3a2637028": {"username": "maxamed", "tumblr": "", "display_name": "maxamed", "url": "http://disqus.com/guest/cc932a145efa24d38b4486a3a2637028/", "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": ""}, "f83d4b5330af6b2c99b1badaa0abb9fa": {"username": "Dana Wilson", "tumblr": "", "display_name": "Dana Wilson", "url": "http://disqus.com/guest/f83d4b5330af6b2c99b1badaa0abb9fa/", "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": ""}, "da39f0505b2306b3dcd93726c3808226": {"username": "Emily", "tumblr": "", "display_name": "Emily", "url": "http://disqus.com/guest/da39f0505b2306b3dcd93726c3808226/", "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": ""}, "12f03c4c94216af430ed5f8e8ea51286": {"username": "unknown", "tumblr": "", "display_name": "unknown", "url": "http://disqus.com/guest/12f03c4c94216af430ed5f8e8ea51286/", "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": ""}, "ce220171e9ca278f0cc99035773fb43f": {"username": "Light Horse", "tumblr": "", "display_name": "Light Horse", "url": "http://disqus.com/guest/ce220171e9ca278f0cc99035773fb43f/", "registered": false, "linkedin": "", "blog": "http://virginiavirtucon.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "7cce12c3f718b4e7cc332b239e15067b": {"username": "Chrono Cr@cker", "tumblr": "", "display_name": "Chrono Cr@cker", "url": "http://disqus.com/guest/7cce12c3f718b4e7cc332b239e15067b/", "registered": false, "linkedin": "", "blog": "http://chronotron.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "1ccc0cc0f53a2b505e37932c861246b9": {"username": "Omar Shahine", "tumblr": "", "display_name": "Omar Shahine", "url": "http://disqus.com/guest/1ccc0cc0f53a2b505e37932c861246b9/", "registered": false, "linkedin": "", "blog": "http://www.shahine.com/omar", "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": ""}, "5331d0c8b71411d4c9b0b05e91f6b021": {"username": "Slite", "tumblr": "", "display_name": "Slite", "url": "http://disqus.com/guest/5331d0c8b71411d4c9b0b05e91f6b021/", "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": ""}, "5dc554eb41fc11872c10988f09993371": {"username": "J. Dunlap", "tumblr": "", "display_name": "J. Dunlap", "url": "http://disqus.com/guest/5dc554eb41fc11872c10988f09993371/", "registered": false, "linkedin": "", "blog": "http://blogs.wdevs.com/jdunlap/", "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": ""}, "bd9239d1f2e88da3e388e53067a5f450": {"username": "asda", "tumblr": "", "display_name": "asda", "url": "http://disqus.com/guest/bd9239d1f2e88da3e388e53067a5f450/", "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": ""}, "1dadf60aeb8cb404fdfbacc2034f41e6": {"username": "Chris Easton", "tumblr": "", "display_name": "Chris Easton", "url": "http://disqus.com/guest/1dadf60aeb8cb404fdfbacc2034f41e6/", "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": ""}, "5b6954aa58894937501a7f033cfb2ffe": {"username": "MI Mike", "tumblr": "", "display_name": "MI Mike", "url": "http://disqus.com/guest/5b6954aa58894937501a7f033cfb2ffe/", "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": ""}, "087cbcda54d1ad25e2253c7a0b4771a3": {"username": "BenN", "tumblr": "", "display_name": "BenN", "url": "http://disqus.com/guest/087cbcda54d1ad25e2253c7a0b4771a3/", "registered": false, "linkedin": "", "blog": "http://www.benshouse.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": ""}, "9971d005d96dafbe89b8ac200fcdd916": {"username": "eric", "tumblr": "", "display_name": "eric", "url": "http://disqus.com/guest/9971d005d96dafbe89b8ac200fcdd916/", "registered": false, "linkedin": "", "blog": "http://hotmail.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": ""}, "RobertStinnett": {"username": "RobertStinnett", "tumblr": "", "display_name": "Robert Stinnett", "url": "http://disqus.com/RobertStinnett/", "registered": true, "linkedin": "in/robertstinnett", "blog": "http://www.robertstinnett.com", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/27/5729/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "robertstinnett", "twitter": "", "remote_domain_name": ""}, "c3a79b6f40ba93496389e42cd76ad2f1": {"username": "Daniel Nicolas", "tumblr": "", "display_name": "Daniel Nicolas", "url": "http://disqus.com/guest/c3a79b6f40ba93496389e42cd76ad2f1/", "registered": false, "linkedin": "", "blog": "http://www.wakingideas.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": ""}, "57aa6185539ace5312f1748e07b15287": {"username": "Patty", "tumblr": "", "display_name": "Patty", "url": "http://disqus.com/guest/57aa6185539ace5312f1748e07b15287/", "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": ""}, "2093c66843fa466c0a6a9b9a16ff1166": {"username": "May", "tumblr": "", "display_name": "May", "url": "http://disqus.com/guest/2093c66843fa466c0a6a9b9a16ff1166/", "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": ""}, "7892e92db302a8a8fcea9b4fb30fa710": {"username": "Thornkin", "tumblr": "", "display_name": "Thornkin", "url": "http://disqus.com/guest/7892e92db302a8a8fcea9b4fb30fa710/", "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": ""}, "84d3e1eef3487bac69728422fcd431c0": {"username": "RBA", "tumblr": "", "display_name": "RBA", "url": "http://disqus.com/guest/84d3e1eef3487bac69728422fcd431c0/", "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": ""}, "c18817e2340ebddc0d67a61e8ac4385f": {"username": "Santiago", "tumblr": "", "display_name": "Santiago", "url": "http://disqus.com/guest/c18817e2340ebddc0d67a61e8ac4385f/", "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": ""}, "aba10db4b5ea0a9a5cddf9d9dacced49": {"username": "Scoble is a Moron", "tumblr": "", "display_name": "Scoble is a Moron", "url": "http://disqus.com/guest/aba10db4b5ea0a9a5cddf9d9dacced49/", "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": ""}, "8bc49e3c61beaa4a6d40d6aa36c461f8": {"username": "Oscar", "tumblr": "", "display_name": "Oscar", "url": "http://disqus.com/guest/8bc49e3c61beaa4a6d40d6aa36c461f8/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "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_11:08:43", "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": {"9638167": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"They block more than a billion spam messages every day.\"<br><br>They also block - bless those Symantec's filters - tons of legitimate email. I should know...<br><br>One of my services is an email groups thing - like Yahoo Groups, I want to think that's even better - they're all confirmation round-trip opt-in subscriptions of course, and those filters are literally killing my service, because our Hotmail users (and we've got quite a few) simply don't know when they'll get the messages. And you know? No matter what we tell them, they still see it as *our* problem, not Hotmail's. And since these are Symantec's filters, the Hotmail team goes \"take it with them\". Then, \"them\" do little to nothing...<br><br>Then there's the BondedSender program. Sorry, I don't have 30K spare to throw at them, and I won't get into those guys' [questionable] business model, because that's another story.<br><br>Perhaps tomorrow I'll love that team. Not today. Does anyone care?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-29_04:58:55", "killed": false, "user_key": "84d3e1eef3487bac69728422fcd431c0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638168": {"up_voted": false, "ip": "", "has_replies": false, "message": "Nicer when you have a broadband connection I guess. Try today's OWA with a dialup connection, and tell me how great it is. I'd like Microsoft to avoid sacrifying user experience to UI candy especially when the server can figure out what is the connection speed being used. By the way, what about adding this option in the profile so that someone can get their barebone fast UI whenever they are on dialup or any other slow connection?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-29_05:02:21", "killed": false, "user_key": "b9ac9cdb9d77dd95758a15d77cc5a879", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638169": {"up_voted": false, "ip": "", "has_replies": false, "message": "I also agree with the commenter above that the spam filter is not very good, a lot of false positives. And it does not seem to have improved over time (my account is three years old).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-29_05:03:37", "killed": false, "user_key": "b9ac9cdb9d77dd95758a15d77cc5a879", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638170": {"up_voted": false, "ip": "", "has_replies": false, "message": "Also it's nice to note that most of the Spam I in my hotmail account is from Microsoft, advertising their new shit. I really don't mind them advertising. They ought to be 'opt-in' or at least have the option of opting-out.   Yahoo does this too.  I've yet to see a single email from google (aside from the one that told me \"hi welcome to gmail\" that started the account off). Maybe that's what Google understands about email that yahoo and microsft don't. That it's OUR EMAIL.  If we want to hear about the new microsoft thing, we're going to go to Scoble. Or Channel 9. Or Memorandum. Or (insert your favorite microsoft fan/interest blog).  Not our email. We're going to sign up for notices on pages that say, \"launching soon, put your email address in for a \"one-time only email letting you know that we've launched\" type box and be on your way.  Emails from my webmail provider is not cool.<br><br><br>Scoble, I don't mean the dissatisfaction to be directed at you - I'm just letting you know how I see it, and how I've experienced it.  =) Live mail is turning out to very very interesting, as is Yahoo's new mail system.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-29_05:43:15", "killed": false, "user_key": "c3a79b6f40ba93496389e42cd76ad2f1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638171": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hopefully it's the advert down the side of the email they're getting rid of... It normally makes the screen slightly too thin to read anything.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-29_07:40:59", "killed": false, "user_key": "087cbcda54d1ad25e2253c7a0b4771a3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638172": {"up_voted": false, "ip": "", "has_replies": false, "message": "BenN yes it's the skyscraper ad they are removing.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-29_11:45:24", "killed": false, "user_key": "730286bd752ca9544dad2951a75f9adc", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638173": {"up_voted": false, "ip": "", "has_replies": false, "message": "lemme see if I get this straight.  1) MS offers a FREE email service for which they get NO money directly from the user and they decide to leave money on the table in favor of a more usable FREE service?  How does that benefit the shareholders?  I agree, Robert, as a shareholder I'd be scratching my head all the way to the shareholders meeting. Where do they plan to make up this potential revenue source?  Do they think that using Live will cause users to PAY for other MS software?  2) Some are complaining about  the quality of the ant-spam service they get from a FREE email service?  Again, you get what you PAY for!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-29_12:22:10", "killed": false, "user_key": "c489355ab8af522634fdef64206a3954", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638174": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble, does the team have data that suggests the uptake in more users signing up for Live will make up for the loss in number of ads?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-29_12:26:25", "killed": false, "user_key": "c489355ab8af522634fdef64206a3954", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638175": {"up_voted": false, "ip": "", "has_replies": false, "message": "RBA, please drop me a mail about your delivery problems and I can get you in touch with the right folks to resolve this.<br><br>You can get my mail from my blog.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-29_12:39:55", "killed": false, "user_key": "1ccc0cc0f53a2b505e37932c861246b9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638176": {"up_voted": false, "ip": "", "has_replies": false, "message": "The anecdote about 'leaving money on the table' was already done in a Time cover article about Google earlier this year. An engineer was showing the founders how they could make millions more with a single ad and the founders turned it down for usability reasons.<br><br>This post seems kind of like 'me too' on Microsoft's part. 'We can turn down $100 million too because we LOVE our users so so much!'<br><br>User experience is great, but MSFT is a business, not a charity. MSN is still run like a dot-com from the bad old days: spends like crazy and is not profitable.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-29_12:49:12", "killed": false, "user_key": "8bc49e3c61beaa4a6d40d6aa36c461f8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638177": {"up_voted": false, "ip": "", "has_replies": false, "message": "Whoha.  I've followed Robert advice and decided to try Live Domains beta. So ? What I got - I was asked 3 or 4 times if I would like to subscribe to mailing lists, twice to activate my mail box and on separate page to enter captcha.<br><br>You need to work hard to be able understand customer.<br>a) No needs to ask several times if I would like to signup for spam<br>b) Why I need to see this \"Activate\" page ? I've just created my box and was clearly willing to start using it. BTW, Why such a restrictive once in 30 days policy ? Have you ever heard about long vacations ?<br>c) What the point of showing me captcha if I'm only one user from this IP and not requesting new accounts in bulk from your servers ?<br><br>P.S&gt; Nothing personal. Keep evangelizing - This is not end of world - they still have to improve.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-29_14:31:49", "killed": false, "user_key": "b8ac0bf8349cc96e01beab87a73feeca", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638178": {"up_voted": false, "ip": "", "has_replies": false, "message": "If I open Windows Live Mail on an 800 x 600 window, the right side ad will take around 20% of the window width, but if I make the window a little bit narrower, this add will get dynamically hidden! I have just learned this. I was checking it with the idea to suggest doing exactly this to the team.<br><br>So, if they can dynamically hide it (for instance after showing it for a few seconds), I do not fully understand why they are getting rid of it.<br><br>However, what is really a pain is the top ad. On 800 x 600, this ad will take around 35% of the window\u2019s height! You better scale it down or hide it dynamically too.<br><br>Unless users always maximize their windows, Live Mail user interface can really be very difficult to use (too much scrolling and scrolling sometimes does not work on the reading pane).<br><br>Also, consider that maximizing the window is not always an option. What about an Origami Device? What about a small remote desktop window?<br><br>Besides this, they can keep both ads if they do what it takes so they do not get in users way.<br><br>They could also learn form Yahoo. The do a lot of overlay advertising (I think using flash), but still it is not very annoying.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-29_17:12:27", "killed": false, "user_key": "fbf75f6a00ed1f677a0fc856b84a4ba1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638179": {"up_voted": false, "ip": "", "has_replies": false, "message": "I am glad that WLMAil team is at least taking steps to deal with the advertising problem. I would rather have the top banner removed since it is by far the biggest hinderance when the reading pane configuration is set to \"off\" or \"bottom\".<br><br>What is of most concern to me however is this bit from the a Cnet article:<br><br>\"To recoup some of the revenue from the lost ad, Microsoft is looking to sell advertising that would appear at the bottom of e-mail messages sent using the service. In the past, Microsoft has included its own promotional messages, but Microsoft has had talks with some big-name advertisers about buying that prime real estate.\"<br><br>So, the already annyoing ads by MS at the bottom are set to become even more instrusive? Borrow from Peter to pay Paul...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-29_19:43:29", "killed": false, "user_key": "b9d6370a6d352863ec0988128a655e49", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638180": {"up_voted": false, "ip": "", "has_replies": false, "message": "Never going back to hotmail/whatever they end up calling it. They bummped me off when I was on a month long vacation, lost all my mail and all the support does is waive the agreement I clicked \"I Agree\" on and then gives me back my account minus the saved email.<br>I'll buy my own hard drive and take my chances next time", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-29_22:27:09", "killed": false, "user_key": "aba10db4b5ea0a9a5cddf9d9dacced49", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638181": {"up_voted": false, "ip": "", "has_replies": false, "message": "hi,<br><br>I dont find any reason why i should switch to WindowsLive Mail.<br><br>Yahoo's new interface is awesome,  better ad placements and their UI rocks. May Be, WLMail team should try Yahoo's new interface.<br><br>Also, the feature in Gmail, tells whether I am the only recipient or, one of many in to fields is too good, i dont want leave gmail.<br><br>I think, WLMail should do lot of ground work and make it better to make me re think, about switching over.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-30_00:24:54", "killed": false, "user_key": "215ab51ee61dae404d29f05e78084d5a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638182": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey,<br>Live mail is good, but Yahoo mail is the best, I have a very good reason for that.  I use Yahoo as the main email and subscribe to most of the tech sites, now the best part here is that Yahoo has all the spam in the spam box and hotmail half in spam and the other half in the inbox.<br><a href=\"http://www.irin.co.uk\" rel=\"nofollow\">www.irin.co.uk</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-30_01:46:37", "killed": false, "user_key": "437a6ac1492a36a094261dd60c5282a0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638183": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"As I go around Microsoft I ask teams \"are you just gonna sell your participants/partners/users/customers down the river or are you gonna stand up for them?\"\"<br><br>Have you stopped by and asked this of the developers who wrote GDI+, and the ones responsible for System.Drawing? GDI+ \"users\" are still waiting around for fixes for things like the MeasureCharacterRanges() limitation that only allows 32 ranges to be measured at a time, various ClearType anomalies, Graphics.Save() and Graphics.Restore(), and the problem where drawing a portion of a bitmap in a pixel format other than the display format causes the whole thing to be converted to the screen format, instead of just the portion to be drawn. The System.Drawing wrapper doesn't implement Graphics.DrawDriverString(), CachedBitmap, or gamma correction for path gradients, among other things. We can't just drop to the native API for those things, because there is no access available to the native handles of the System.Drawing objects (except through \"hacks\").<br><br>At least if MS is not planning to add new features to GDI+ and System.Drawing, will it please fix longstanding bugs, and make all GDI+'s features available through System.Drawing? (No, simply releasing Avalon is not a suitable substitute - unless you plan a public immediate-mode drawing layer.)<br><br>-- A .NET developer (love the runtime, hate the problems with some of the APIs!)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-30_01:55:43", "killed": false, "user_key": "5dc554eb41fc11872c10988f09993371", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638184": {"up_voted": false, "ip": "", "has_replies": false, "message": "Atlast, the ads have been reduced. People have been screaming for this. Now hopefully live starts functioning in Firefox too, this will give it a much much bigger boost. Design is good! Also, would be fantastic if they used a Bayesian Filter System like Akismet that is much more accurate!!<br><br>You were blogging about whether Microsoft was listening. This is a big test. Let's see if user comments like this around millions of blogs, if not individually responded are noted down and some announcement is made. A good test.<br><br>And oh! People, you might be interested in this - <a href=\"https://chronotron.wordpress.com/2006/04/30/hey-big-guy-are-you-listening/\" rel=\"nofollow\">\"Are the Big Guys Listening? Wake up!\"</a><br><br>~ CC", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-30_03:43:51", "killed": false, "user_key": "7cce12c3f718b4e7cc332b239e15067b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638185": {"up_voted": false, "ip": "", "has_replies": false, "message": "What good is talkinga about this software?  I have signed up with the BETA 94 times. Of those, I have responded to 64 emails from \"hotmail staff\" to sign up with windows live mail and how cool its going to be. i know how cool its going to be - i saw the kahuna video on channel 9 :)<br><br>I have to ask. How low is the level of incompetance of MS marketing and msn development for that matter.<br><br>If MSN has no intention of ever putting people who are committed to trying the software in the program why on earth are you still allowing people to submit their name for the beta??? idiots.<br><br>If you have no intention of ever allowing people to try the software, why send them email asking them to sign up? not once, but 64 times. idiots.<br><br>If MSN doesn't want to put anyone in the program, just tell us the program is closed. I would be ok with that (really) but I would appreciate the honesty and cander.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-30_14:58:51", "killed": false, "user_key": "98a96f1666dbbc64ed6bd35e99c61c4b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638186": {"up_voted": false, "ip": "", "has_replies": false, "message": "I am not a developer, just a user of 10+ years and there are some aspects of Live Mail I have just hated. The second major renditon was better and the advertising stuff *is* better but I agree with the other posters that question the idea of leaving money on the table? Where does that leave me and my requests for a better interface?<br><br>Seriously, yahoo! rocks in a lot of ways and the Live Mail team shouldn't be shy about responding in kind.<br><br>The one thing that really works WELL is Live Mail on my Treo 700. It is speedy and pretty well laid out.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-30_15:44:44", "killed": false, "user_key": "5c12ef67b41f0f3eed314f883ca2ab5d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638187": {"up_voted": false, "ip": "", "has_replies": false, "message": "my my score 95 and 65 touches. after dinner I got another spam from \"hotmail staff\" to sign up. the idiocy never ends...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-04-30_20:53:13", "killed": false, "user_key": "98a96f1666dbbc64ed6bd35e99c61c4b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638188": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm glad to hear they are dropping one of the ads.  I just signed my wife's aunt up for GMail because, at 1024x768, there isn't enough real estate left for the user's conent after the 2 ads on live mail.  You know, <a href=\"http://my.yahoo.com\" rel=\"nofollow\">my.yahoo.com</a> is my home page for this very reason.  5+ years ago, MSN had too many ads and not enough content on their front page.  Glad to hear MS is learning.  Only took a half decade.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-01_04:00:35", "killed": false, "user_key": "7892e92db302a8a8fcea9b4fb30fa710", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638189": {"up_voted": false, "ip": "", "has_replies": false, "message": "Can't stand Live Mail tbh, tried it since early on in the public beta, found it cumbersome and quite ugly.<br><br>Some things are just wrong. For example you can shift-click and ctrl-click to select messages, which is nice; but you can't right-click to delete them, which isn't. It's not hard to disable standard right-click - MS did it on Windows Update years ago - and implement an alternative.<br><br>Then I swtiched to Firefox and it was game over.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-08_20:44:37", "killed": false, "user_key": "285a5173bd240d66a70ed0ef57cf5e42", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638190": {"up_voted": false, "ip": "", "has_replies": false, "message": "So anyway I guess I'll use my email account for Yahoo.ca since I can NO LONGER open my hotmail account since about 2 weeks after I switched to the mail beta. Isn't it funny how yahoo has offer me the choice to switch back but hotmail has not? Or at least has not offered me the choice in a way that I can access it. I dont even know how to complain about this crap except find every site I can that comments about the beta and complain until I'm offered to switch back. Sorry if I seem a little harse but it's been weeks, I have 46 UNREAD EMAILS, I've tried to log on NUMEROUS TIMES, on 2 DIFFERENT COMPUTERS and it just freezes up. I've also found other complaints about the account and am considering taking the spam I get with yahoo and only using that account, that is of course once I get access to my unread mail and contact list from hotmail so I can email all my contacts and tell them NOT to use the mail beta. If anyone knows how to switch back, PLEASE help me out!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-12_10:52:37", "killed": false, "user_key": "43883cb5e0b8b2fca0ecfcf07e607626", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638191": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think that Windows Live Mail Beta is utter crap. All that comes up when i get into it, is \"find in mail\" \"find in contacts\" and an add down the left hand side of then screen. it is very annoying and i like the old one better! Does anyone know how to switch back?<br>HELP ME PLEASE, I\"M DESPERATE!!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-13_07:50:07", "killed": false, "user_key": "782b8b63cb2e7fabb9a53bd5cd1cad04", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638192": {"up_voted": false, "ip": "", "has_replies": false, "message": "Live Mail Beta is horrible.  the service is clearly written as a .NET application with remoting, and the web front end often has issues talking to the application layer.  Today, for example, I've been getting IIS errors advising to alter the web.config file to turn on verbose error reporting for over an hour now.  my suggestion: stick with old-school Hotmail because it works.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-19_14:13:24", "killed": false, "user_key": "9971d005d96dafbe89b8ac200fcdd916", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638193": {"up_voted": false, "ip": "", "has_replies": false, "message": "i want to switch back to hotmail from windows live mail beta", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-24_14:37:18", "killed": false, "user_key": "da39f0505b2306b3dcd93726c3808226", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638194": {"up_voted": false, "ip": "", "has_replies": false, "message": "I haaaate Live Mail with a passion. I have the exact same problem as someone above in that it won't even let me log in! What good is an email service if it won't let me read my emails, which are not starting to pile up. My god is it ever frustrating.<br><br>What's worse is that I didn't even realize that Hotmail/Live Mail had ads. Having had my account for over 6 years my account had never shown ads until I switched. Now I fear that as soon as I switch back (or figure out how to), they'll still be there.<br><br>On that note, does anyone, ANNYYYONE, know how to switch back. PLEEASE, I want to read my email. Blast this windows garbage. I wish I had gmail.*sigh*", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-26_00:08:52", "killed": false, "user_key": "3625e1efcc88341488c4deb1856bb130", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638195": {"up_voted": false, "ip": "", "has_replies": false, "message": "I was hoping for good things from Live mail.  Sadly, it's no match for Yahoo, let alone Gmail.  The screenspace for email is minimal in comparison to the others.  I mean, Why do we have to have 3 columns?  The standard 1 column, 2 rows set up give more width.<br><br>And the folders don't work well - and dragging an email to a folder shows the highlight about 4 items above the cursor.<br><br>It's just not very good.  I do hope they fix these things.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-06-02_08:19:02", "killed": false, "user_key": "5331d0c8b71411d4c9b0b05e91f6b021", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638196": {"up_voted": false, "ip": "", "has_replies": false, "message": "thank you for your work", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-06-13_19:56:49", "killed": false, "user_key": "987ee02055289447ade74fb5d921fc59", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638197": {"up_voted": false, "ip": "", "has_replies": false, "message": "Perfect pages... tnx", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-21_04:51:15", "killed": false, "user_key": "74cce638e3213eec6ec96e3d91923bba", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638198": {"up_voted": false, "ip": "", "has_replies": false, "message": "nothing", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-21_04:39:58", "killed": false, "user_key": "6c48ea803cb9f4fc9266b49ccf7e2463", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638199": {"up_voted": false, "ip": "", "has_replies": false, "message": "to go back to the old hotmail<br>1. Click on options in windows live<br>2. Click the opt-out beta button<br>3. fill in the stupid ass survey and you are done!!!@<br>Yay HOTMAIL.<br><br>Enjoy<br>Chris", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-07-18_23:00:07", "killed": false, "user_key": "1dadf60aeb8cb404fdfbacc2034f41e6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638200": {"up_voted": false, "ip": "", "has_replies": false, "message": "just want to say that anything thats got to do with windows live is now screwed. spaces! everything...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-08-21_21:34:52", "killed": false, "user_key": "12f03c4c94216af430ed5f8e8ea51286", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638201": {"up_voted": false, "ip": "", "has_replies": false, "message": "THIS beta mail sucks bad", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-10-02_13:45:37", "killed": false, "user_key": "fd87815e0aa40e90a83c2401daabdc63", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638202": {"up_voted": false, "ip": "", "has_replies": false, "message": "i went yomake wendows live mail jest now  because i am man  the love  in  the wendows live mail", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-10-26_06:11:27", "killed": false, "user_key": "cc932a145efa24d38b4486a3a2637028", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638203": {"up_voted": false, "ip": "", "has_replies": false, "message": "I din't like the windows live email...hotmail was better..so I decided to switch back.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-12-09_01:05:29", "killed": false, "user_key": "9c21276ffb992ac5ee635b5d05b9e82f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638204": {"up_voted": false, "ip": "", "has_replies": false, "message": "Got no opt out or switch back or whatever button in my copy of Live Beta! I was going to give it a real try despite my distrust of Microsoft's practice of handing out alphas as betas and betas as release copies. But it insists on being the default email software despite all computer and beta settings to the contrary. This wastes my time as the program slowly opens to show me an attached email from my Outlook Express mail. Very irritating. No advice I've found online so far, on the many sites that are discussing it, can tell me a way that works to either stop the beta from dominating my PC or removing it altogether. Can anyone help?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-11-12_17:02:17", "killed": false, "user_key": "5807d8a75ea795138028c4f51fe394cb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "3 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638205": {"up_voted": false, "ip": "", "has_replies": false, "message": "I just want to thank you all for your insight and observations. I was considerring a switch to LiveMail, but I see how that would be a mistake. I'll just stay with my trusted hotmail and yahoo accounts. Tanks again....I mean really.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-05-08_21:08:25", "killed": false, "user_key": "2a6072436536a177ca24c19db66f4d6d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638206": {"up_voted": false, "ip": "", "has_replies": false, "message": "I cannot opt out of Windows live hotmail, when i press switch, the message of \"you are not allowed to view this page come out\", what can I do?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-05-02_07:40:20", "killed": false, "user_key": "e9f86988def443e83dd648f72463df20", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638207": {"up_voted": false, "ip": "", "has_replies": false, "message": "Beta SUCKS", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-03-14_11:39:08", "killed": false, "user_key": "820d0e4ee14e986a44d33782ca852f51", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638208": {"up_voted": false, "ip": "", "has_replies": false, "message": "I am not happy with Windows live Mail and was switched without my permission. People are telling me that they are receiving my e mail 7 times. I want to go back to Hot Mail so i don't continue with these problems because it has been so frustrating.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-04_14:13:53", "killed": false, "user_key": "f83d4b5330af6b2c99b1badaa0abb9fa", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638209": {"up_voted": false, "ip": "", "has_replies": false, "message": "I would like to know how to get ( read)  the Originating IP of an email received in my windows live mail account", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-04-23_00:50:30", "killed": false, "user_key": "d37aada4f6d6df16ca207b92f34559e8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638210": {"up_voted": false, "ip": "", "has_replies": false, "message": "I had msn hotmail and it changed to live on its on.<br>That would be find except for the fact non of my saved emails came with the new version and I am not able to recieve any new emails now? I want msn hotmail back .", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-05-11_02:30:33", "killed": false, "user_key": "33c835777d45170a389fb34e0885b93e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638211": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have used my hotmail account since 1999, I have over 1500 messages and needless to say I am very frustrated that I have to now go and use yahoo. I REALLY wanted to keep this email address, but no way. I will not see every day the crappy page that tells me what lindsay lohan did the last couple of days, that gets on my nerves. So if they cannot function without the crap their popularity will go down way below the email @myself.com, they are down the path of becoming infamous.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-14_09:49:20", "killed": false, "user_key": "439939ead7934424e533cac557f0c7c0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638212": {"up_voted": false, "ip": "", "has_replies": false, "message": "I HATE WINDOWS LIVE  . . . . I DID NOT SWITCH TO IT, I WAS SWITCHED  AND  I WANT TO BE SWITCHED BACK . . . PLEASE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-24_12:53:27", "killed": false, "user_key": "57aa6185539ace5312f1748e07b15287", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638213": {"up_voted": false, "ip": "", "has_replies": false, "message": "they removed the \"switch back\" option. i hate Windows Live, but there's no choice. windows live now forces everyone to leave the old hotmail!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-05_04:23:38", "killed": false, "user_key": "b10bdb24e047c1851c7f482d2c5e6c59", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638214": {"up_voted": false, "ip": "", "has_replies": false, "message": "In the old Hotmail, on the \"Home\" tab, it would show my 15 most recent unread e-mails from people in my contacts list.  I found this to be very useful.<br><br>In the new Windows Live, I cannot find a way to display only unread e-mails.  Am I missing something, or is there no way to display only unread e-mails?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-12-17_18:22:25", "killed": false, "user_key": "ce220171e9ca278f0cc99035773fb43f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638216": {"up_voted": false, "ip": "", "has_replies": false, "message": "There is a kind of work-around for the limits on the number of folders.<br><br>Obviously, some moron at Live Hotmail decided there ought to be a limit, but (and it is a big but), there cannot be a real limit, because the software has to accept folders imported from the old Hotmail, where there was no limit.<br><br>Windows Live Mail does not impose a limit, either.  So, the workaround is to install the Windows Live Mail, where you can create folders to your heart's content.  The folders will appear in Live Hotmail on the web.  You may not be able to create new folders in Live Hotmail, but you can re-name them.<br><br>Unfortunately, there's nothing you can do about the morons.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-10-16_23:48:19", "killed": false, "user_key": "b365d38583dfa58a5e87c93fec73bf7f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638217": {"up_voted": false, "ip": "", "has_replies": false, "message": "take me back to my old hotmail how do i switch back", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-10-27_19:34:03", "killed": false, "user_key": "04f6192ccc02cc777819e434611618ff", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638218": {"up_voted": false, "ip": "", "has_replies": false, "message": "I was automatically forced over to Windows Live - I logged in and looked for an option to switch back.. nothing.. I read the support and followed their instruction verbatim on how to opt out of the windows live beta - It lied ... there is no option to opt out there is no choice - Guess I will be getting my 2nd email account ever in over 10 years or so..<br><br>The new windows live is riddled with problems - 100x more then hotmail had.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-25_17:13:23", "killed": false, "user_key": "7c8aaec238cec82d7568b4d83e47a48d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638219": {"up_voted": false, "ip": "", "has_replies": false, "message": "What really really bugs te crap out of me is that the new Live Hotmail limits the number of custom folders you can create! That sucks cause I've got tons of emails from tons of people needed to be seperated. I need at least 40-50 folders, probabkly more. The old hotmail let me create as many as I wanted to. Now I try to create a new folder I get \"You have reached your maximum limit of folders\" God I hate this.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-10_14:30:58", "killed": false, "user_key": "e0c1fc4d4085a47972e9e9c921f2b7f1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638220": {"up_voted": false, "ip": "", "has_replies": false, "message": "windows live mail is a complete flop.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-09_02:15:58", "killed": false, "user_key": "6d74b7724727ea165302314a1729afdf", "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}, "9638221": {"up_voted": false, "ip": "", "has_replies": false, "message": "I found this page looking for info on how the get the hell out of this Hotmail Live garbage and go back to the original, but guess what... it doesn't look like you CAN go back anymore.  I guess I will spend the next several days sending everyone I know my GMail address.  A shame because I have had the same Hotmail addy for more years than I can recall; since the beginning.  What the hell ever happened to \"If it ain't broke, DON'T FIX IT!!\"?????", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-08_22:24:41", "killed": false, "user_key": "57cbdf69e62f0455df1b3f34d99c4453", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638222": {"up_voted": false, "ip": "", "has_replies": false, "message": "This whole anti-user banner-ads-in-my-inbox-with-no-opt-out is a real BREACH of my PRIVACY! I can call telemarketers and have my number taken off their call lists, and I can opt out of ads coming to my snail mailbox. But not email??!! Please won't someone tell me how to get rid of this banner ad situation? Otherwise I will have to waste my precious time updating my email in all the websites who have my addy.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-29_12:33:17", "killed": false, "user_key": "2093c66843fa466c0a6a9b9a16ff1166", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9638223": {"up_voted": false, "ip": "", "has_replies": false, "message": "During the initial Beta-testing of Hotmail-Terminator (aka Windows Live Mail), they (M$) had tried lure me and everybody else with such freebies that made no sense at the time. Being an IT professional myself, I tried their WLM 3 times and uninstalled 3 times. And each time I replied to them with hard-to-discard advise. I mentioned such things as:<br>- They were trying to grab more cash from me/you.<br>- They were trying to keep freshly-hired developers busy creating some crap.<br>- I told them that before Windows Live Mail, there existed a M$ product called either Outlook Live or Office Live (perhaps outlook live).<br>- I asked them, \"In which way this new crap is live\" and Hotmail is dead?<br>- Windows Live Mail did not function with Firefox well. They said they will fix it in the future. I am still waiting. They had their golden opportunity to score a marginal victory of Firefox; they relished it.<br>- I recommended that they study NetZero mail, which I  still believe superior to any M$ Mail, dead or alive. It would still cheaper to pay some loyalties than developing this colossal crap called Live mail.<br>- I also recommende they look into FoxMail (a Chinesed-developed) POP e-mail client. FoxMail can also read Hotmail messages.<br>Then the all-humble B. Gates suppressed FoxMail's Hotmail reading capability, as Yahoo did with YPOPS proxy client.<br>- If you remember, they took away the option of reading Hotmail with Outlook Express, but under pressure from veteran users, they reinstated Outlook Express' capability.<br><br>After giving them such true criticism, you would think they would offer me a job, wouldn't you? Tough luck. Instead they chose to drown in their own crap.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-29_21:32:31", "killed": false, "user_key": "66c5cd6140a08dbae06d17575c77d736", "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}, "9638224": {"up_voted": false, "ip": "", "has_replies": false, "message": "Windows Live Mail is a big slow crap.<br><br>MS is getting a very crapy company", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-07-13_09:41:01", "killed": false, "user_key": "bd9239d1f2e88da3e388e53067a5f450", "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}, "9638225": {"up_voted": false, "ip": "", "has_replies": false, "message": "Windows Live Mail is a great product, and I appreciate all the work that the folks have put into it.  For years I did not want to let go of my Outlook client because I needed the features -- today, I do not use a \"fat client\" at all.  Everything I need is there in Windows Live Mail.<br><br>One of the best features, by far, is the ability to use my own domain with it.  So instead of <a href=\"mailto:user@live.com\" rel=\"nofollow\">user@live.com</a> I am <a href=\"mailto:user@robertstinnett.com\" rel=\"nofollow\">user@robertstinnett.com</a>.<br><br>Keep up the good work guys -- Your Live portfolio is getting better all the time!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-07-16_23:28:49", "killed": false, "user_key": "RobertStinnett", "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}, "9638226": {"up_voted": false, "ip": "", "has_replies": false, "message": "How do I get back the old classic hotmail. The new live hotmail sucks, really bad.  If I cannot go back is there something I can do to reroute hotmail email to another different email provider till all those that I deal with have my new email address. Thanks", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_06:43:40", "killed": false, "user_key": "5b6954aa58894937501a7f033cfb2ffe", "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}, "9638227": {"up_voted": false, "ip": "", "has_replies": false, "message": "Are you silly? Crazy? HOTMAIL users have been SOLD down the stream. I regrettably installed the \"WINDOWS LIVE\" without the advanced knowledge I would NOT be capable of keeping  my HOTMAIL account with it. I can't UN-install it. No program associations or program defaults will revert back and now all E-Mail built in features are incapable of working like send link by mail. Live comes up, not allowing my hotmail ID and the association will not revert. How can MSN abandon the PAID Hotmail customers???? Are you serious? IT SUCKS everything.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-07_13:07:08", "killed": false, "user_key": "f19ab3578e1fa7cce8e3a94cfcdab653", "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}, "9638228": {"up_voted": false, "ip": "", "has_replies": false, "message": "What I want to know is if there is a way to revert back to the classic windows live, and if there isn't, why not? The whole thing sucks, and it doesnt really do much. So what, it gets rid of 1 banner, they arent really too hard to put your mind around. And anyway, my internet is low and it takes years for the new windows live mail to load up. Up to 70% faster veiwing my ass. If there is a way of going back to the OLD hotmail, then PLEASE LET ME KNOW!!!!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-16_11:47:24", "killed": false, "user_key": "838f88b1700542585c1edd18bd6bd8a0", "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}, "9638229": {"up_voted": false, "ip": "", "has_replies": false, "message": "Haven't found a way to go back to classic hotmail, but I have been using a tool called \"Hotmail Popper\" from Custom Fit Software (search google for it if you like, I think it's like $17.50 USD).  This enables you to run a POP client like Eudora, Outlook, Outlook Express, Thunderbird, Pegasus, etc., and get your Hotmail as if it were POP mail.  Eliminates having to use WLM/WLH on your home PC, but if you travel and want to check in on hotmail from an internet cafe or PC that's not your own, you'll naturally still have to use the web client.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-11-09_12:45:07", "killed": false, "user_key": "c18817e2340ebddc0d67a61e8ac4385f", "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}, "9638230": {"up_voted": false, "ip": "", "has_replies": false, "message": "We are waiting your response Scoble", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-30_18:47:48", "killed": false, "user_key": "f19ab3578e1fa7cce8e3a94cfcdab653", "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}, "9638231": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have to agree - the new version of WLM or WLH sucks big time.  I think it only fair users are given the option - which as of this writing is no longer available - of reverting back to the classic version of Hotmail.  If Yahoo can do it why can't Hotmail???  I tried the new version of Yahoo mail, didn't like it, clicked the link to revert back and wala...my account was returned to the classic version of Yahoo mail.  Piece of cake! Come on ... give the option back to us!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-11-05_09:43:11", "killed": false, "user_key": "d48d1f0f867bdc7a66b9846f0e4cc5ab", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "18359969", "user_id": "anonymous", "forum_id": "125200", "hash": -5867581664226603363}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "windows_live_mail_formerly_hotmail_has_a_philosophy", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18359969, "num_posts": 64, "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=windows_live_mail_formerly_hotmail_has_a_philosophy' +
		'&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/windows_live_mail_formerly_hotmail_has_a_philosophy/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='	+ 'windows_live_mail_formerly_hotmail_has_a_philosophy'
			+ '&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/windows_live_mail_formerly_hotmail_has_a_philosophy/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">64</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/windows_live_mail_formerly_hotmail_has_a_philosophy/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/windows_live_mail_formerly_hotmail_has_a_philosophy/">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/windows_live_mail_formerly_hotmail_has_a_philosophy/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:18359969" 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'				: 'windows_live_mail_formerly_hotmail_has_a_philosophy',
			// 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/windows_live_mail_formerly_hotmail_has_a_philosophy/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='	+ 'windows_live_mail_formerly_hotmail_has_a_philosophy'
			+ '&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='	+ 'windows_live_mail_formerly_hotmail_has_a_philosophy'
			+ '&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='		+ 'windows_live_mail_formerly_hotmail_has_a_philosophy'
				+ '&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/18359969/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-9638167">\
	 <div id="dsq-comment-header-9638167" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638167" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638167">RBA</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638167" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638167" class="dsq-comment-message">"They block more than a billion spam messages every day."<br><br>They also block - bless those Symantec\'s filters - tons of legitimate email. I should know...<br><br>One of my services is an email groups thing - like Yahoo Groups, I want to think that\'s even better - they\'re all confirmation round-trip opt-in subscriptions of course, and those filters are literally killing my service, because our Hotmail users (and we\'ve got quite a few) simply don\'t know when they\'ll get the messages. And you know? No matter what we tell them, they still see it as *our* problem, not Hotmail\'s. And since these are Symantec\'s filters, the Hotmail team goes "take it with them". Then, "them" do little to nothing...<br><br>Then there\'s the BondedSender program. Sorry, I don\'t have 30K spare to throw at them, and I won\'t get into those guys\' [questionable] business model, because that\'s another story.<br><br>Perhaps tomorrow I\'ll love that team. Not today. Does anyone care?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638168">\
	 <div id="dsq-comment-header-9638168" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638168" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638168">Mike</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638168" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638168" class="dsq-comment-message">Nicer when you have a broadband connection I guess. Try today\'s OWA with a dialup connection, and tell me how great it is. I\'d like Microsoft to avoid sacrifying user experience to UI candy especially when the server can figure out what is the connection speed being used. By the way, what about adding this option in the profile so that someone can get their barebone fast UI whenever they are on dialup or any other slow connection?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638169">\
	 <div id="dsq-comment-header-9638169" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638169" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638169">Mike</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638169" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638169" class="dsq-comment-message">I also agree with the commenter above that the spam filter is not very good, a lot of false positives. And it does not seem to have improved over time (my account is three years old).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638170">\
	 <div id="dsq-comment-header-9638170" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638170" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638170" href="http://www.wakingideas.com/" target="_blank" rel="nofollow">Daniel Nicolas</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638170" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638170" class="dsq-comment-message">Also it\'s nice to note that most of the Spam I in my hotmail account is from Microsoft, advertising their new shit. I really don\'t mind them advertising. They ought to be \'opt-in\' or at least have the option of opting-out.   Yahoo does this too.  I\'ve yet to see a single email from google (aside from the one that told me "hi welcome to gmail" that started the account off). Maybe that\'s what Google understands about email that yahoo and microsft don\'t. That it\'s OUR EMAIL.  If we want to hear about the new microsoft thing, we\'re going to go to Scoble. Or Channel 9. Or Memorandum. Or (insert your favorite microsoft fan/interest blog).  Not our email. We\'re going to sign up for notices on pages that say, "launching soon, put your email address in for a "one-time only email letting you know that we\'ve launched" type box and be on your way.  Emails from my webmail provider is not cool.<br><br><br>Scoble, I don\'t mean the dissatisfaction to be directed at you - I\'m just letting you know how I see it, and how I\'ve experienced it.  =) Live mail is turning out to very very interesting, as is Yahoo\'s new mail system.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638171">\
	 <div id="dsq-comment-header-9638171" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638171" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638171" href="http://www.benshouse.net/" target="_blank" rel="nofollow">BenN</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638171" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638171" class="dsq-comment-message">Hopefully it\'s the advert down the side of the email they\'re getting rid of... It normally makes the screen slightly too thin to read anything.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638172">\
	 <div id="dsq-comment-header-9638172" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638172" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638172" href="http://www.liveside.net/" target="_blank" rel="nofollow">Chris</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638172" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638172" class="dsq-comment-message">BenN yes it\'s the skyscraper ad they are removing.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638173">\
	 <div id="dsq-comment-header-9638173" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638173" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638173">Dmad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638173" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638173" class="dsq-comment-message">lemme see if I get this straight.  1) MS offers a FREE email service for which they get NO money directly from the user and they decide to leave money on the table in favor of a more usable FREE service?  How does that benefit the shareholders?  I agree, Robert, as a shareholder I\'d be scratching my head all the way to the shareholders meeting. Where do they plan to make up this potential revenue source?  Do they think that using Live will cause users to PAY for other MS software?  2) Some are complaining about  the quality of the ant-spam service they get from a FREE email service?  Again, you get what you PAY for!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638174">\
	 <div id="dsq-comment-header-9638174" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638174" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638174">Dmad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638174" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638174" class="dsq-comment-message">Scoble, does the team have data that suggests the uptake in more users signing up for Live will make up for the loss in number of ads?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638175">\
	 <div id="dsq-comment-header-9638175" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638175" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638175" href="http://www.shahine.com/omar" target="_blank" rel="nofollow">Omar Shahine</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638175" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638175" class="dsq-comment-message">RBA, please drop me a mail about your delivery problems and I can get you in touch with the right folks to resolve this.<br><br>You can get my mail from my blog.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638176">\
	 <div id="dsq-comment-header-9638176" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638176" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638176">Oscar</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638176" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638176" class="dsq-comment-message">The anecdote about \'leaving money on the table\' was already done in a Time cover article about Google earlier this year. An engineer was showing the founders how they could make millions more with a single ad and the founders turned it down for usability reasons.<br><br>This post seems kind of like \'me too\' on Microsoft\'s part. \'We can turn down $100 million too because we LOVE our users so so much!\'<br><br>User experience is great, but MSFT is a business, not a charity. MSN is still run like a dot-com from the bad old days: spends like crazy and is not profitable.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638177">\
	 <div id="dsq-comment-header-9638177" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638177" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638177">TAG</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638177" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638177" class="dsq-comment-message">Whoha.  I\'ve followed Robert advice and decided to try Live Domains beta. So ? What I got - I was asked 3 or 4 times if I would like to subscribe to mailing lists, twice to activate my mail box and on separate page to enter captcha.<br><br>You need to work hard to be able understand customer.<br>a) No needs to ask several times if I would like to signup for spam<br>b) Why I need to see this "Activate" page ? I\'ve just created my box and was clearly willing to start using it. BTW, Why such a restrictive once in 30 days policy ? Have you ever heard about long vacations ?<br>c) What the point of showing me captcha if I\'m only one user from this IP and not requesting new accounts in bulk from your servers ?<br><br>P.S&gt; Nothing personal. Keep evangelizing - This is not end of world - they still have to improve.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638178">\
	 <div id="dsq-comment-header-9638178" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638178" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638178" href="http://diegov.blogspot.com/" target="_blank" rel="nofollow">Diego Vega</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638178" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638178" class="dsq-comment-message">If I open Windows Live Mail on an 800 x 600 window, the right side ad will take around 20% of the window width, but if I make the window a little bit narrower, this add will get dynamically hidden! I have just learned this. I was checking it with the idea to suggest doing exactly this to the team.<br><br>So, if they can dynamically hide it (for instance after showing it for a few seconds), I do not fully understand why they are getting rid of it.<br><br>However, what is really a pain is the top ad. On 800 x 600, this ad will take around 35% of the window’s height! You better scale it down or hide it dynamically too.<br><br>Unless users always maximize their windows, Live Mail user interface can really be very difficult to use (too much scrolling and scrolling sometimes does not work on the reading pane).<br><br>Also, consider that maximizing the window is not always an option. What about an Origami Device? What about a small remote desktop window?<br><br>Besides this, they can keep both ads if they do what it takes so they do not get in users way.<br><br>They could also learn form Yahoo. The do a lot of overlay advertising (I think using flash), but still it is not very annoying.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638179">\
	 <div id="dsq-comment-header-9638179" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638179" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638179">Samuel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638179" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638179" class="dsq-comment-message">I am glad that WLMAil team is at least taking steps to deal with the advertising problem. I would rather have the top banner removed since it is by far the biggest hinderance when the reading pane configuration is set to "off" or "bottom".<br><br>What is of most concern to me however is this bit from the a Cnet article:<br><br>"To recoup some of the revenue from the lost ad, Microsoft is looking to sell advertising that would appear at the bottom of e-mail messages sent using the service. In the past, Microsoft has included its own promotional messages, but Microsoft has had talks with some big-name advertisers about buying that prime real estate."<br><br>So, the already annyoing ads by MS at the bottom are set to become even more instrusive? Borrow from Peter to pay Paul...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638180">\
	 <div id="dsq-comment-header-9638180" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638180" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638180">Scoble is a Moron</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638180" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638180" class="dsq-comment-message">Never going back to hotmail/whatever they end up calling it. They bummped me off when I was on a month long vacation, lost all my mail and all the support does is waive the agreement I clicked "I Agree" on and then gives me back my account minus the saved email.<br>I\'ll buy my own hard drive and take my chances next time</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638181">\
	 <div id="dsq-comment-header-9638181" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638181" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638181" href="http://theramesh.blogspot.com/" target="_blank" rel="nofollow">Ramesh</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638181" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638181" class="dsq-comment-message">hi,<br><br>I dont find any reason why i should switch to WindowsLive Mail.<br><br>Yahoo\'s new interface is awesome,  better ad placements and their UI rocks. May Be, WLMail team should try Yahoo\'s new interface.<br><br>Also, the feature in Gmail, tells whether I am the only recipient or, one of many in to fields is too good, i dont want leave gmail.<br><br>I think, WLMail should do lot of ground work and make it better to make me re think, about switching over.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638182">\
	 <div id="dsq-comment-header-9638182" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638182" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638182" href="http://jean.wordpress.com/" target="_blank" rel="nofollow">jean</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638182" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638182" class="dsq-comment-message">Hey,<br>Live mail is good, but Yahoo mail is the best, I have a very good reason for that.  I use Yahoo as the main email and subscribe to most of the tech sites, now the best part here is that Yahoo has all the spam in the spam box and hotmail half in spam and the other half in the inbox.<br><a href="http://www.irin.co.uk" rel="nofollow">www.irin.co.uk</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638183">\
	 <div id="dsq-comment-header-9638183" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638183" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638183" href="http://blogs.wdevs.com/jdunlap/" target="_blank" rel="nofollow">J. Dunlap</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638183" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638183" class="dsq-comment-message">"As I go around Microsoft I ask teams "are you just gonna sell your participants/partners/users/customers down the river or are you gonna stand up for them?""<br><br>Have you stopped by and asked this of the developers who wrote GDI+, and the ones responsible for System.Drawing? GDI+ "users" are still waiting around for fixes for things like the MeasureCharacterRanges() limitation that only allows 32 ranges to be measured at a time, various ClearType anomalies, Graphics.Save() and Graphics.Restore(), and the problem where drawing a portion of a bitmap in a pixel format other than the display format causes the whole thing to be converted to the screen format, instead of just the portion to be drawn. The System.Drawing wrapper doesn\'t implement Graphics.DrawDriverString(), CachedBitmap, or gamma correction for path gradients, among other things. We can\'t just drop to the native API for those things, because there is no access available to the native handles of the System.Drawing objects (except through "hacks").<br><br>At least if MS is not planning to add new features to GDI+ and System.Drawing, will it please fix longstanding bugs, and make all GDI+\'s features available through System.Drawing? (No, simply releasing Avalon is not a suitable substitute - unless you plan a public immediate-mode drawing layer.)<br><br>-- A .NET developer (love the runtime, hate the problems with some of the APIs!)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638184">\
	 <div id="dsq-comment-header-9638184" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638184" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638184" href="http://chronotron.wordpress.com/" target="_blank" rel="nofollow">Chrono Cr@cker</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638184" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638184" class="dsq-comment-message">Atlast, the ads have been reduced. People have been screaming for this. Now hopefully live starts functioning in Firefox too, this will give it a much much bigger boost. Design is good! Also, would be fantastic if they used a Bayesian Filter System like Akismet that is much more accurate!!<br><br>You were blogging about whether Microsoft was listening. This is a big test. Let\'s see if user comments like this around millions of blogs, if not individually responded are noted down and some announcement is made. A good test.<br><br>And oh! People, you might be interested in this - <a href="https://chronotron.wordpress.com/2006/04/30/hey-big-guy-are-you-listening/" rel="nofollow">"Are the Big Guys Listening? Wake up!"</a><br><br>~ CC</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638185">\
	 <div id="dsq-comment-header-9638185" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638185" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638185">Mike Johnson</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638185" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638185" class="dsq-comment-message">What good is talkinga about this software?  I have signed up with the BETA 94 times. Of those, I have responded to 64 emails from "hotmail staff" to sign up with windows live mail and how cool its going to be. i know how cool its going to be - i saw the kahuna video on channel 9 :)<br><br>I have to ask. How low is the level of incompetance of MS marketing and msn development for that matter.<br><br>If MSN has no intention of ever putting people who are committed to trying the software in the program why on earth are you still allowing people to submit their name for the beta??? idiots.<br><br>If you have no intention of ever allowing people to try the software, why send them email asking them to sign up? not once, but 64 times. idiots.<br><br>If MSN doesn\'t want to put anyone in the program, just tell us the program is closed. I would be ok with that (really) but I would appreciate the honesty and cander.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638186">\
	 <div id="dsq-comment-header-9638186" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638186" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638186">deannie</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638186" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638186" class="dsq-comment-message">I am not a developer, just a user of 10+ years and there are some aspects of Live Mail I have just hated. The second major renditon was better and the advertising stuff *is* better but I agree with the other posters that question the idea of leaving money on the table? Where does that leave me and my requests for a better interface?<br><br>Seriously, yahoo! rocks in a lot of ways and the Live Mail team shouldn\'t be shy about responding in kind.<br><br>The one thing that really works WELL is Live Mail on my Treo 700. It is speedy and pretty well laid out.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638187">\
	 <div id="dsq-comment-header-9638187" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638187" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638187">Mike Johnson</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638187" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638187" class="dsq-comment-message">my my score 95 and 65 touches. after dinner I got another spam from "hotmail staff" to sign up. the idiocy never ends...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638188">\
	 <div id="dsq-comment-header-9638188" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638188" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638188">Thornkin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638188" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638188" class="dsq-comment-message">I\'m glad to hear they are dropping one of the ads.  I just signed my wife\'s aunt up for GMail because, at 1024x768, there isn\'t enough real estate left for the user\'s conent after the 2 ads on live mail.  You know, <a href="http://my.yahoo.com" rel="nofollow">my.yahoo.com</a> is my home page for this very reason.  5+ years ago, MSN had too many ads and not enough content on their front page.  Glad to hear MS is learning.  Only took a half decade.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638189">\
	 <div id="dsq-comment-header-9638189" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638189" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638189" href="http://verbo.se/" target="_blank" rel="nofollow">adam</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638189" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638189" class="dsq-comment-message">Can\'t stand Live Mail tbh, tried it since early on in the public beta, found it cumbersome and quite ugly.<br><br>Some things are just wrong. For example you can shift-click and ctrl-click to select messages, which is nice; but you can\'t right-click to delete them, which isn\'t. It\'s not hard to disable standard right-click - MS did it on Windows Update years ago - and implement an alternative.<br><br>Then I swtiched to Firefox and it was game over.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638190">\
	 <div id="dsq-comment-header-9638190" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638190" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638190">Erikalynne</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638190" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638190" class="dsq-comment-message">So anyway I guess I\'ll use my email account for Yahoo.ca since I can NO LONGER open my hotmail account since about 2 weeks after I switched to the mail beta. Isn\'t it funny how yahoo has offer me the choice to switch back but hotmail has not? Or at least has not offered me the choice in a way that I can access it. I dont even know how to complain about this crap except find every site I can that comments about the beta and complain until I\'m offered to switch back. Sorry if I seem a little harse but it\'s been weeks, I have 46 UNREAD EMAILS, I\'ve tried to log on NUMEROUS TIMES, on 2 DIFFERENT COMPUTERS and it just freezes up. I\'ve also found other complaints about the account and am considering taking the spam I get with yahoo and only using that account, that is of course once I get access to my unread mail and contact list from hotmail so I can email all my contacts and tell them NOT to use the mail beta. If anyone knows how to switch back, PLEASE help me out!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638191">\
	 <div id="dsq-comment-header-9638191" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638191" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638191">Katie</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638191" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638191" class="dsq-comment-message">I think that Windows Live Mail Beta is utter crap. All that comes up when i get into it, is "find in mail" "find in contacts" and an add down the left hand side of then screen. it is very annoying and i like the old one better! Does anyone know how to switch back?<br>HELP ME PLEASE, I"M DESPERATE!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638192">\
	 <div id="dsq-comment-header-9638192" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638192" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638192" href="http://hotmail.com/" target="_blank" rel="nofollow">eric</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638192" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638192" class="dsq-comment-message">Live Mail Beta is horrible.  the service is clearly written as a .NET application with remoting, and the web front end often has issues talking to the application layer.  Today, for example, I\'ve been getting IIS errors advising to alter the web.config file to turn on verbose error reporting for over an hour now.  my suggestion: stick with old-school Hotmail because it works.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638193">\
	 <div id="dsq-comment-header-9638193" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638193" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638193">Emily</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638193" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638193" class="dsq-comment-message">i want to switch back to hotmail from windows live mail beta</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638194">\
	 <div id="dsq-comment-header-9638194" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638194" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638194">David</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638194" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638194" class="dsq-comment-message">I haaaate Live Mail with a passion. I have the exact same problem as someone above in that it won\'t even let me log in! What good is an email service if it won\'t let me read my emails, which are not starting to pile up. My god is it ever frustrating.<br><br>What\'s worse is that I didn\'t even realize that Hotmail/Live Mail had ads. Having had my account for over 6 years my account had never shown ads until I switched. Now I fear that as soon as I switch back (or figure out how to), they\'ll still be there.<br><br>On that note, does anyone, ANNYYYONE, know how to switch back. PLEEASE, I want to read my email. Blast this windows garbage. I wish I had gmail.*sigh*</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638195">\
	 <div id="dsq-comment-header-9638195" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638195" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638195">Slite</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638195" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638195" class="dsq-comment-message">I was hoping for good things from Live mail.  Sadly, it\'s no match for Yahoo, let alone Gmail.  The screenspace for email is minimal in comparison to the others.  I mean, Why do we have to have 3 columns?  The standard 1 column, 2 rows set up give more width.<br><br>And the folders don\'t work well - and dragging an email to a folder shows the highlight about 4 items above the cursor.<br><br>It\'s just not very good.  I do hope they fix these things.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638196">\
	 <div id="dsq-comment-header-9638196" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638196" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638196" href="http://www.geocities.com/flower57silkartifici/better-homes-and-gardens.html" target="_blank" rel="nofollow">chilton</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638196" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638196" class="dsq-comment-message">thank you for your work</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638199">\
	 <div id="dsq-comment-header-9638199" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638199" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638199">Chris Easton</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638199" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638199" class="dsq-comment-message">to go back to the old hotmail<br>1. Click on options in windows live<br>2. Click the opt-out beta button<br>3. fill in the stupid ass survey and you are done!!!@<br>Yay HOTMAIL.<br><br>Enjoy<br>Chris</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638198">\
	 <div id="dsq-comment-header-9638198" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638198" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638198">akram</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638198" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638198" class="dsq-comment-message">nothing</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638197">\
	 <div id="dsq-comment-header-9638197" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638197" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638197" href="http://finance74autoinsuran.cloud.prohosting.com/long-term-problems-with-credit-card-debt.html" target="_blank" rel="nofollow">chancey</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638197" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638197" class="dsq-comment-message">Perfect pages... tnx</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638200">\
	 <div id="dsq-comment-header-9638200" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638200" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638200">unknown</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638200" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638200" class="dsq-comment-message">just want to say that anything thats got to do with windows live is now screwed. spaces! everything...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638201">\
	 <div id="dsq-comment-header-9638201" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638201" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638201">joe</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638201" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638201" class="dsq-comment-message">THIS beta mail sucks bad</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638202">\
	 <div id="dsq-comment-header-9638202" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638202" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638202">maxamed</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638202" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638202" class="dsq-comment-message">i went yomake wendows live mail jest now  because i am man  the love  in  the wendows live mail</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638204">\
	 <div id="dsq-comment-header-9638204" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638204" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638204" href="http://www.traffic-reach.com/" target="_blank" rel="nofollow">Diana Ward</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638204" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638204" class="dsq-comment-message">Got no opt out or switch back or whatever button in my copy of Live Beta! I was going to give it a real try despite my distrust of Microsoft\'s practice of handing out alphas as betas and betas as release copies. But it insists on being the default email software despite all computer and beta settings to the contrary. This wastes my time as the program slowly opens to show me an attached email from my Outlook Express mail. Very irritating. No advice I\'ve found online so far, on the many sites that are discussing it, can tell me a way that works to either stop the beta from dominating my PC or removing it altogether. Can anyone help?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638203">\
	 <div id="dsq-comment-header-9638203" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638203" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638203" href="http://www.opt-email.info/" target="_blank" rel="nofollow">Opt Email</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638203" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638203" class="dsq-comment-message">I din\'t like the windows live email...hotmail was better..so I decided to switch back.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638208">\
	 <div id="dsq-comment-header-9638208" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638208" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638208">Dana Wilson</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638208" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638208" class="dsq-comment-message">I am not happy with Windows live Mail and was switched without my permission. People are telling me that they are receiving my e mail 7 times. I want to go back to Hot Mail so i don\'t continue with these problems because it has been so frustrating.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638207">\
	 <div id="dsq-comment-header-9638207" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638207" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638207">L</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638207" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638207" class="dsq-comment-message">Beta SUCKS</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638209">\
	 <div id="dsq-comment-header-9638209" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638209" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638209">Miguel Castillo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638209" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638209" class="dsq-comment-message">I would like to know how to get ( read)  the Originating IP of an email received in my windows live mail account</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638206">\
	 <div id="dsq-comment-header-9638206" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638206" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638206">Salah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638206" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638206" class="dsq-comment-message">I cannot opt out of Windows live hotmail, when i press switch, the message of "you are not allowed to view this page come out", what can I do?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638205">\
	 <div id="dsq-comment-header-9638205" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638205" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638205">Vahn Haro</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638205" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638205" class="dsq-comment-message">I just want to thank you all for your insight and observations. I was considerring a switch to LiveMail, but I see how that would be a mistake. I\'ll just stay with my trusted hotmail and yahoo accounts. Tanks again....I mean really.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638210">\
	 <div id="dsq-comment-header-9638210" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638210" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638210">Cathy</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638210" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638210" class="dsq-comment-message">I had msn hotmail and it changed to live on its on.<br>That would be find except for the fact non of my saved emails came with the new version and I am not able to recieve any new emails now? I want msn hotmail back .</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638221">\
	 <div id="dsq-comment-header-9638221" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638221" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638221">TLS</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638221" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638221" class="dsq-comment-message">I found this page looking for info on how the get the hell out of this Hotmail Live garbage and go back to the original, but guess what... it doesn\'t look like you CAN go back anymore.  I guess I will spend the next several days sending everyone I know my GMail address.  A shame because I have had the same Hotmail addy for more years than I can recall; since the beginning.  What the hell ever happened to "If it ain\'t broke, DON\'T FIX IT!!"?????</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638219">\
	 <div id="dsq-comment-header-9638219" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638219" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638219">jim</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638219" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638219" class="dsq-comment-message">What really really bugs te crap out of me is that the new Live Hotmail limits the number of custom folders you can create! That sucks cause I\'ve got tons of emails from tons of people needed to be seperated. I need at least 40-50 folders, probabkly more. The old hotmail let me create as many as I wanted to. Now I try to create a new folder I get "You have reached your maximum limit of folders" God I hate this.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638211">\
	 <div id="dsq-comment-header-9638211" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638211" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638211">Windows Live Mail SUCKS ROYALL</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638211" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638211" class="dsq-comment-message">I have used my hotmail account since 1999, I have over 1500 messages and needless to say I am very frustrated that I have to now go and use yahoo. I REALLY wanted to keep this email address, but no way. I will not see every day the crappy page that tells me what lindsay lohan did the last couple of days, that gets on my nerves. So if they cannot function without the crap their popularity will go down way below the email @myself.com, they are down the path of becoming infamous.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638212">\
	 <div id="dsq-comment-header-9638212" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638212" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638212">Patty</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638212" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638212" class="dsq-comment-message">I HATE WINDOWS LIVE  . . . . I DID NOT SWITCH TO IT, I WAS SWITCHED  AND  I WANT TO BE SWITCHED BACK . . . PLEASE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638218">\
	 <div id="dsq-comment-header-9638218" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638218" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638218">WindowsLiveMailBlows</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638218" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638218" class="dsq-comment-message">I was automatically forced over to Windows Live - I logged in and looked for an option to switch back.. nothing.. I read the support and followed their instruction verbatim on how to opt out of the windows live beta - It lied ... there is no option to opt out there is no choice - Guess I will be getting my 2nd email account ever in over 10 years or so..<br><br>The new windows live is riddled with problems - 100x more then hotmail had.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638216">\
	 <div id="dsq-comment-header-9638216" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638216" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638216">Bruce Wilder</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638216" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638216" class="dsq-comment-message">There is a kind of work-around for the limits on the number of folders.<br><br>Obviously, some moron at Live Hotmail decided there ought to be a limit, but (and it is a big but), there cannot be a real limit, because the software has to accept folders imported from the old Hotmail, where there was no limit.<br><br>Windows Live Mail does not impose a limit, either.  So, the workaround is to install the Windows Live Mail, where you can create folders to your heart\'s content.  The folders will appear in Live Hotmail on the web.  You may not be able to create new folders in Live Hotmail, but you can re-name them.<br><br>Unfortunately, there\'s nothing you can do about the morons.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638217">\
	 <div id="dsq-comment-header-9638217" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638217" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638217">Fred Daniels</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638217" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638217" class="dsq-comment-message">take me back to my old hotmail how do i switch back</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638213">\
	 <div id="dsq-comment-header-9638213" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638213" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638213">m.k.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638213" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638213" class="dsq-comment-message">they removed the "switch back" option. i hate Windows Live, but there\'s no choice. windows live now forces everyone to leave the old hotmail!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638222">\
	 <div id="dsq-comment-header-9638222" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638222" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638222">May</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638222" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638222" class="dsq-comment-message">This whole anti-user banner-ads-in-my-inbox-with-no-opt-out is a real BREACH of my PRIVACY! I can call telemarketers and have my number taken off their call lists, and I can opt out of ads coming to my snail mailbox. But not email??!! Please won\'t someone tell me how to get rid of this banner ad situation? Otherwise I will have to waste my precious time updating my email in all the websites who have my addy.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638214">\
	 <div id="dsq-comment-header-9638214" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638214" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638214" href="http://virginiavirtucon.wordpress.com/" target="_blank" rel="nofollow">Light Horse</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638214" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638214" class="dsq-comment-message">In the old Hotmail, on the "Home" tab, it would show my 15 most recent unread e-mails from people in my contacts list.  I found this to be very useful.<br><br>In the new Windows Live, I cannot find a way to display only unread e-mails.  Am I missing something, or is there no way to display only unread e-mails?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638220">\
	 <div id="dsq-comment-header-9638220" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638220" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638220">hasan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638220" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638220" class="dsq-comment-message">windows live mail is a complete flop.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638223">\
	 <div id="dsq-comment-header-9638223" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638223" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638223">Marcus Episco</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638223" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638223" class="dsq-comment-message">During the initial Beta-testing of Hotmail-Terminator (aka Windows Live Mail), they (M$) had tried lure me and everybody else with such freebies that made no sense at the time. Being an IT professional myself, I tried their WLM 3 times and uninstalled 3 times. And each time I replied to them with hard-to-discard advise. I mentioned such things as:<br>- They were trying to grab more cash from me/you.<br>- They were trying to keep freshly-hired developers busy creating some crap.<br>- I told them that before Windows Live Mail, there existed a M$ product called either Outlook Live or Office Live (perhaps outlook live).<br>- I asked them, "In which way this new crap is live" and Hotmail is dead?<br>- Windows Live Mail did not function with Firefox well. They said they will fix it in the future. I am still waiting. They had their golden opportunity to score a marginal victory of Firefox; they relished it.<br>- I recommended that they study NetZero mail, which I  still believe superior to any M$ Mail, dead or alive. It would still cheaper to pay some loyalties than developing this colossal crap called Live mail.<br>- I also recommende they look into FoxMail (a Chinesed-developed) POP e-mail client. FoxMail can also read Hotmail messages.<br>Then the all-humble B. Gates suppressed FoxMail\'s Hotmail reading capability, as Yahoo did with YPOPS proxy client.<br>- If you remember, they took away the option of reading Hotmail with Outlook Express, but under pressure from veteran users, they reinstated Outlook Express\' capability.<br><br>After giving them such true criticism, you would think they would offer me a job, wouldn\'t you? Tough luck. Instead they chose to drown in their own crap.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638224">\
	 <div id="dsq-comment-header-9638224" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638224" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638224">asda</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638224" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638224" class="dsq-comment-message">Windows Live Mail is a big slow crap.<br><br>MS is getting a very crapy company</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638225">\
	 <div id="dsq-comment-header-9638225" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638225" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638225" href="http://www.robertstinnett.com" target="_blank" rel="nofollow">Robert Stinnett</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638225" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638225" class="dsq-comment-message">Windows Live Mail is a great product, and I appreciate all the work that the folks have put into it.  For years I did not want to let go of my Outlook client because I needed the features -- today, I do not use a "fat client" at all.  Everything I need is there in Windows Live Mail.<br><br>One of the best features, by far, is the ability to use my own domain with it.  So instead of <a href="mailto:user@live.com" rel="nofollow">user@live.com</a> I am <a href="mailto:user@robertstinnett.com" rel="nofollow">user@robertstinnett.com</a>.<br><br>Keep up the good work guys -- Your Live portfolio is getting better all the time!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638227">\
	 <div id="dsq-comment-header-9638227" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638227" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638227">Alfred Shuryan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638227" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638227" class="dsq-comment-message">Are you silly? Crazy? HOTMAIL users have been SOLD down the stream. I regrettably installed the "WINDOWS LIVE" without the advanced knowledge I would NOT be capable of keeping  my HOTMAIL account with it. I can\'t UN-install it. No program associations or program defaults will revert back and now all E-Mail built in features are incapable of working like send link by mail. Live comes up, not allowing my hotmail ID and the association will not revert. How can MSN abandon the PAID Hotmail customers???? Are you serious? IT SUCKS everything.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638228">\
	 <div id="dsq-comment-header-9638228" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638228" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638228">LionShark</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638228" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638228" class="dsq-comment-message">What I want to know is if there is a way to revert back to the classic windows live, and if there isn\'t, why not? The whole thing sucks, and it doesnt really do much. So what, it gets rid of 1 banner, they arent really too hard to put your mind around. And anyway, my internet is low and it takes years for the new windows live mail to load up. Up to 70% faster veiwing my ass. If there is a way of going back to the OLD hotmail, then PLEASE LET ME KNOW!!!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638226">\
	 <div id="dsq-comment-header-9638226" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638226" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638226">MI Mike</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638226" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638226" class="dsq-comment-message">How do I get back the old classic hotmail. The new live hotmail sucks, really bad.  If I cannot go back is there something I can do to reroute hotmail email to another different email provider till all those that I deal with have my new email address. Thanks</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638230">\
	 <div id="dsq-comment-header-9638230" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638230" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638230">Alfred Shuryan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638230" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638230" class="dsq-comment-message">We are waiting your response Scoble</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638231">\
	 <div id="dsq-comment-header-9638231" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638231" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638231">CJ</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638231" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638231" class="dsq-comment-message">I have to agree - the new version of WLM or WLH sucks big time.  I think it only fair users are given the option - which as of this writing is no longer available - of reverting back to the classic version of Hotmail.  If Yahoo can do it why can\'t Hotmail???  I tried the new version of Yahoo mail, didn\'t like it, clicked the link to revert back and wala...my account was returned to the classic version of Yahoo mail.  Piece of cake! Come on ... give the option back to us!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638229">\
	 <div id="dsq-comment-header-9638229" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638229" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638229">Santiago</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638229" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638229" class="dsq-comment-message">Haven\'t found a way to go back to classic hotmail, but I have been using a tool called "Hotmail Popper" from Custom Fit Software (search google for it if you like, I think it\'s like $17.50 USD).  This enables you to run a POP client like Eudora, Outlook, Outlook Express, Thunderbird, Pegasus, etc., and get your Hotmail as if it were POP mail.  Eliminates having to use WLM/WLH on your home PC, but if you travel and want to check in on hotmail from an internet cafe or PC that\'s not your own, you\'ll naturally still have to use the web client.</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=windows_live_mail_formerly_hotmail_has_a_philosophy&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);
			}
		}
	});
}

})();




