




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": {"0cb25c7d191e7dbecb8fd382ab60f19b": {"username": "Stanley Krute", "tumblr": "", "display_name": "Stanley Krute", "url": "http://disqus.com/guest/0cb25c7d191e7dbecb8fd382ab60f19b/", "registered": false, "linkedin": "", "blog": "http://StanleyDaily.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": ""}, "adf85074f381692ad1618702f0b014cd": {"username": "Simon Heseltine", "tumblr": "", "display_name": "Simon Heseltine", "url": "http://disqus.com/guest/adf85074f381692ad1618702f0b014cd/", "registered": false, "linkedin": "", "blog": "http://heseltine.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": ""}, "5d1483d16d793cad13a8358609000349": {"username": "marcoos", "tumblr": "", "display_name": "marcoos", "url": "http://disqus.com/guest/5d1483d16d793cad13a8358609000349/", "registered": false, "linkedin": "", "blog": "http://marcoos.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": ""}, "0163290b3bd95a0dfb748d844792765b": {"username": "Andrew", "tumblr": "", "display_name": "Andrew", "url": "http://disqus.com/guest/0163290b3bd95a0dfb748d844792765b/", "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": ""}, "e202148e6249ec0aa6661fe4890df3fc": {"username": "Draco", "tumblr": "", "display_name": "Draco", "url": "http://disqus.com/guest/e202148e6249ec0aa6661fe4890df3fc/", "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": ""}, "0c8825d03e6127bbdc18f1543c5b66eb": {"username": "Carl", "tumblr": "", "display_name": "Carl", "url": "http://disqus.com/guest/0c8825d03e6127bbdc18f1543c5b66eb/", "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": ""}, "d7db2c5f6bad64aa19f153b4b54a53d1": {"username": "Bill Logan", "tumblr": "", "display_name": "Bill Logan", "url": "http://disqus.com/guest/d7db2c5f6bad64aa19f153b4b54a53d1/", "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": ""}, "13f93ce1e022ce7016613acefb30baa0": {"username": "James", "tumblr": "", "display_name": "James", "url": "http://disqus.com/guest/13f93ce1e022ce7016613acefb30baa0/", "registered": false, "linkedin": "", "blog": "http://frem.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": ""}, "6181170b5a0070107644c3d1d1508dc4": {"username": "Doug", "tumblr": "", "display_name": "Doug", "url": "http://disqus.com/guest/6181170b5a0070107644c3d1d1508dc4/", "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": ""}, "dcfe8221c75c70b5c59d63c96712c07b": {"username": "fenin", "tumblr": "", "display_name": "fenin", "url": "http://disqus.com/guest/dcfe8221c75c70b5c59d63c96712c07b/", "registered": false, "linkedin": "", "blog": "http://fenin.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": ""}, "brettnordquist": {"username": "brettnordquist", "tumblr": "", "display_name": "Brett Nordquist", "url": "http://disqus.com/brettnordquist/", "registered": true, "linkedin": "", "blog": "http://blog.nordquist.org", "remote_domain": null, "points": 2, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/24152/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "http://twitter.com/Akula", "remote_domain_name": ""}, "4f461968932ea62ad97ee27091efee6d": {"username": "fatfingur", "tumblr": "", "display_name": "fatfingur", "url": "http://disqus.com/guest/4f461968932ea62ad97ee27091efee6d/", "registered": false, "linkedin": "", "blog": "http://fatfingur.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/51/1595/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c2722dc7d0af3bf77654b5332ce0e119": {"username": "Jake", "tumblr": "", "display_name": "Jake", "url": "http://disqus.com/guest/c2722dc7d0af3bf77654b5332ce0e119/", "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": ""}, "afd158076adbd35812c909edbe52d5e4": {"username": "Neil Cowburn", "tumblr": "", "display_name": "Neil Cowburn", "url": "http://disqus.com/guest/afd158076adbd35812c909edbe52d5e4/", "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": ""}, "23c1e2063688620b75b248e08c0d5c24": {"username": "Kevin Dente", "tumblr": "", "display_name": "Kevin Dente", "url": "http://disqus.com/guest/23c1e2063688620b75b248e08c0d5c24/", "registered": false, "linkedin": "", "blog": "http://weblogs.asp.net/kdente", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/59/7781/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3c6937c2a1bb7745ae050fbe6527e443": {"username": "Regis", "tumblr": "", "display_name": "Regis", "url": "http://disqus.com/guest/3c6937c2a1bb7745ae050fbe6527e443/", "registered": false, "linkedin": "", "blog": "http://www.dungis.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": ""}, "ca882327303b67c770270172758ce2ff": {"username": "Tanny O&#39;Haley", "tumblr": "", "display_name": "Tanny O&#39;Haley", "url": "http://disqus.com/guest/ca882327303b67c770270172758ce2ff/", "registered": false, "linkedin": "", "blog": "http://tanny.ica.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": ""}, "6d792f8267fa9f9beee48f0cb6b8fcd4": {"username": "Tina", "tumblr": "", "display_name": "Tina", "url": "http://disqus.com/guest/6d792f8267fa9f9beee48f0cb6b8fcd4/", "registered": false, "linkedin": "", "blog": "http://threebyfive.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": ""}, "de2f5c8241377188175f6cc030644427": {"username": "Dileepa P", "tumblr": "", "display_name": "Dileepa P", "url": "http://disqus.com/guest/de2f5c8241377188175f6cc030644427/", "registered": false, "linkedin": "", "blog": "http://spaces.msn.com/volatilechar", "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": ""}, "3c4709a607c552f2e6f7726f9207b38a": {"username": "Jimbo", "tumblr": "", "display_name": "Jimbo", "url": "http://disqus.com/guest/3c4709a607c552f2e6f7726f9207b38a/", "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": ""}, "ea5ae47db54d1993df4f63a3abc2d2eb": {"username": "Nicole Simon", "tumblr": "", "display_name": "Nicole Simon", "url": "http://disqus.com/guest/ea5ae47db54d1993df4f63a3abc2d2eb/", "registered": false, "linkedin": "", "blog": "http://crueltobekind.org/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/22/9523/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "9d572fa5bab63f834041ee3230289f42": {"username": "jerry", "tumblr": "", "display_name": "jerry", "url": "http://disqus.com/guest/9d572fa5bab63f834041ee3230289f42/", "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": ""}, "13f4348a7e757c35b79abd2e29fef404": {"username": "Matt Rolak", "tumblr": "", "display_name": "Matt Rolak", "url": "http://disqus.com/guest/13f4348a7e757c35b79abd2e29fef404/", "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": ""}, "1b7c12e7a1422249d2dea6ef74ba1c2d": {"username": "William", "tumblr": "", "display_name": "William", "url": "http://disqus.com/guest/1b7c12e7a1422249d2dea6ef74ba1c2d/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/189/4257/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "54328fcb511e6360232fa47bfbfb0090": {"username": "Jon", "tumblr": "", "display_name": "Jon", "url": "http://disqus.com/guest/54328fcb511e6360232fa47bfbfb0090/", "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": ""}, "0510d88cc9c42fd729b2d61a173d9c44": {"username": "Brandon Paddock", "tumblr": "", "display_name": "Brandon Paddock", "url": "http://disqus.com/guest/0510d88cc9c42fd729b2d61a173d9c44/", "registered": false, "linkedin": "", "blog": "http://www.brandonlive.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": ""}, "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": ""}, "a63b335881f1e007e5ed6f874aa6b1ca": {"username": "Rob", "tumblr": "", "display_name": "Rob", "url": "http://disqus.com/guest/a63b335881f1e007e5ed6f874aa6b1ca/", "registered": false, "linkedin": "", "blog": "http://blog.rsynnott.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": ""}, "45e493354a4d1d0a9d6e90127543aa6e": {"username": "Michael Kenward", "tumblr": "", "display_name": "Michael Kenward", "url": "http://disqus.com/guest/45e493354a4d1d0a9d6e90127543aa6e/", "registered": false, "linkedin": "", "blog": "http://www.michael.kenward.dial.pipex.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": ""}, "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": ""}, "eeb36f4504caf7e23bf50829449a81d2": {"username": "Colin", "tumblr": "", "display_name": "Colin", "url": "http://disqus.com/guest/eeb36f4504caf7e23bf50829449a81d2/", "registered": false, "linkedin": "", "blog": "http://bankwatch.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": ""}, "4014faa76f94764aeb84e70bf39bf22f": {"username": "Tom Raftery", "tumblr": "", "display_name": "Tom Raftery", "url": "http://disqus.com/guest/4014faa76f94764aeb84e70bf39bf22f/", "registered": false, "linkedin": "", "blog": "http://www.tomrafteryit.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/8161/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "cff4f71f71d904c5dfb6000e70ae4489": {"username": "peteremcc", "tumblr": "", "display_name": "peteremcc", "url": "http://disqus.com/guest/cff4f71f71d904c5dfb6000e70ae4489/", "registered": false, "linkedin": "", "blog": "http://peteremcc.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/15477/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "61aa5138ccf9606158a3efdbcb5c1b0d": {"username": "Chris G.", "tumblr": "", "display_name": "Chris G.", "url": "http://disqus.com/guest/61aa5138ccf9606158a3efdbcb5c1b0d/", "registered": false, "linkedin": "", "blog": "http://chrisgonyea.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": ""}, "be4f76627ca9cf2e927431f5c7a7caab": {"username": "ychittaranjan", "tumblr": "", "display_name": "ychittaranjan", "url": "http://disqus.com/guest/be4f76627ca9cf2e927431f5c7a7caab/", "registered": false, "linkedin": "", "blog": "http://ychittaranjan.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": ""}, "ef141ace7daf0325cdfcdff8307f38ff": {"username": "Alexey Feldgendler", "tumblr": "", "display_name": "Alexey Feldgendler", "url": "http://disqus.com/guest/ef141ace7daf0325cdfcdff8307f38ff/", "registered": false, "linkedin": "", "blog": "http://feldgendler.livejournal.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": ""}, "b9ed774661a22ff8797a1e0e24f0baf3": {"username": "Robert Sayre", "tumblr": "", "display_name": "Robert Sayre", "url": "http://disqus.com/guest/b9ed774661a22ff8797a1e0e24f0baf3/", "registered": false, "linkedin": "", "blog": "http://franklinmint.fm/", "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": ""}, "20b15be51f8a93b91ec7f250e1524a55": {"username": "Sean DALY", "tumblr": "", "display_name": "Sean DALY", "url": "http://disqus.com/guest/20b15be51f8a93b91ec7f250e1524a55/", "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": ""}, "93b6060cbb32124ae3a382aab2377dd1": {"username": "Damien Mulley", "tumblr": "", "display_name": "Damien Mulley", "url": "http://disqus.com/guest/93b6060cbb32124ae3a382aab2377dd1/", "registered": false, "linkedin": "", "blog": "http://mulley.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": ""}, "dahowlett": {"username": "dahowlett", "tumblr": "", "display_name": "dahowlett", "url": "http://disqus.com/dahowlett/", "registered": true, "linkedin": "", "blog": "http://www.dahowlett.com", "remote_domain": null, "points": 2, "facebook": "http://www.facebook.com/dahowlett", "avatar": "http://media.disqus.com/uploads/users/1740/avatar92.jpg", "delicious": "dahowlett", "is_remote": false, "verified": true, "flickr": "dahowlett", "twitter": "", "remote_domain_name": ""}, "aaf1185108604ef16ffd850f2e1dfafc": {"username": "kp", "tumblr": "", "display_name": "kp", "url": "http://disqus.com/guest/aaf1185108604ef16ffd850f2e1dfafc/", "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": ""}, "20fb82ade9630f4abe063d8728eb7150": {"username": "Dan Becker", "tumblr": "", "display_name": "Dan Becker", "url": "http://disqus.com/guest/20fb82ade9630f4abe063d8728eb7150/", "registered": false, "linkedin": "", "blog": "http://doofusdan.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": ""}, "a3c6c32779144d768cf16069e4db9f1c": {"username": "Michael", "tumblr": "", "display_name": "Michael", "url": "http://disqus.com/guest/a3c6c32779144d768cf16069e4db9f1c/", "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": ""}, "aae893d1baeff4df4a020a96771100ed": {"username": "Brook", "tumblr": "", "display_name": "Brook", "url": "http://disqus.com/guest/aae893d1baeff4df4a020a96771100ed/", "registered": false, "linkedin": "", "blog": "http://selfdeprecatingjournalism.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": ""}, "7cd21d706444339285b779efb2e5f34e": {"username": "Jim Hill", "tumblr": "", "display_name": "Jim Hill", "url": "http://disqus.com/guest/7cd21d706444339285b779efb2e5f34e/", "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": ""}, "1af22e539505c60049523c410081864a": {"username": "bananasfk", "tumblr": "", "display_name": "bananasfk", "url": "http://disqus.com/guest/1af22e539505c60049523c410081864a/", "registered": false, "linkedin": "", "blog": "http://bananasfk.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": ""}, "0b0e5425835511571d7b1f3393faf206": {"username": "Hemebond", "tumblr": "", "display_name": "Hemebond", "url": "http://disqus.com/guest/0b0e5425835511571d7b1f3393faf206/", "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": ""}, "21bf0d9fa925fa1de387d98fba7bdf4f": {"username": "Danny Tuppeny", "tumblr": "", "display_name": "Danny Tuppeny", "url": "http://disqus.com/guest/21bf0d9fa925fa1de387d98fba7bdf4f/", "registered": false, "linkedin": "", "blog": "http://easylinux.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": ""}, "cb086f0b5efd1f44f599918cd2010f16": {"username": "Scott Isaacs", "tumblr": "", "display_name": "Scott Isaacs", "url": "http://disqus.com/guest/cb086f0b5efd1f44f599918cd2010f16/", "registered": false, "linkedin": "", "blog": "http://spaces.msn.com/siteexperts", "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": ""}, "36385c8f19a92a18b2a467d245d08593": {"username": "Ben Hollis", "tumblr": "", "display_name": "Ben Hollis", "url": "http://disqus.com/guest/36385c8f19a92a18b2a467d245d08593/", "registered": false, "linkedin": "", "blog": "http://brh.numbera.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": ""}, "a85cb5b6f821f907c4f7786e1cbdc6a0": {"username": "Devil&#39;s Advocate", "tumblr": "", "display_name": "Devil&#39;s Advocate", "url": "http://disqus.com/guest/a85cb5b6f821f907c4f7786e1cbdc6a0/", "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": ""}, "422187df3c45655b0dc2ae5de0710b27": {"username": "John C. Welch", "tumblr": "", "display_name": "John C. Welch", "url": "http://disqus.com/guest/422187df3c45655b0dc2ae5de0710b27/", "registered": false, "linkedin": "", "blog": "http://www.bynkii.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": ""}, "de92e6470a16fd7f9b7f23a575eae105": {"username": "Michael Griffiths", "tumblr": "", "display_name": "Michael Griffiths", "url": "http://disqus.com/guest/de92e6470a16fd7f9b7f23a575eae105/", "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": ""}, "302beb62dc6f2f47acc9e3bbe2fe4f34": {"username": "MT", "tumblr": "", "display_name": "MT", "url": "http://disqus.com/guest/302beb62dc6f2f47acc9e3bbe2fe4f34/", "registered": false, "linkedin": "", "blog": "http://www.firefoxmyths.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": ""}, "3edc6db082311fa355c026a51b33fd2b": {"username": "Peter Darling", "tumblr": "", "display_name": "Peter Darling", "url": "http://disqus.com/guest/3edc6db082311fa355c026a51b33fd2b/", "registered": false, "linkedin": "", "blog": "http://www.peterdarling.com/leftfield/", "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": ""}, "8d55a6c5556ef2fadb2f8c6e7f1b6739": {"username": "Scott", "tumblr": "", "display_name": "Scott", "url": "http://disqus.com/guest/8d55a6c5556ef2fadb2f8c6e7f1b6739/", "registered": false, "linkedin": "", "blog": "http://spaces.msn.com/scottie/", "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": ""}, "e65b5ca688e05bf3fd82df97564628f1": {"username": "Rick Mahn", "tumblr": "", "display_name": "Rick Mahn", "url": "http://disqus.com/guest/e65b5ca688e05bf3fd82df97564628f1/", "registered": false, "linkedin": "", "blog": "http://www.rickmahn.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/9072/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4556a42d71a742a0a0a08472fb0d524e": {"username": "Alfredo Octavio", "tumblr": "", "display_name": "Alfredo Octavio", "url": "http://disqus.com/guest/4556a42d71a742a0a0a08472fb0d524e/", "registered": false, "linkedin": "", "blog": "http://alfredo.octavio.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": ""}, "df679bd3d287a21d5ed6020bae384e17": {"username": "Diego Barros", "tumblr": "", "display_name": "Diego Barros", "url": "http://disqus.com/guest/df679bd3d287a21d5ed6020bae384e17/", "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": ""}, "456636993483a10e9b50ffe17733de4a": {"username": "Robert Scoble", "tumblr": "", "display_name": "Robert Scoble", "url": "http://disqus.com/guest/456636993483a10e9b50ffe17733de4a/", "registered": false, "linkedin": "", "blog": "http://scobleizer.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": ""}, "236ad0c7c2bdbe68f9cb60a87558aeb1": {"username": "Limulus", "tumblr": "", "display_name": "Limulus", "url": "http://disqus.com/guest/236ad0c7c2bdbe68f9cb60a87558aeb1/", "registered": false, "linkedin": "", "blog": "http://limulus.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": ""}, "3ef4f82253de41f977a5d22cd263a98e": {"username": "jeff", "tumblr": "", "display_name": "jeff", "url": "http://disqus.com/guest/3ef4f82253de41f977a5d22cd263a98e/", "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": ""}, "7ebfc1ce7d88297a4bf1d4836487f250": {"username": "hypertime", "tumblr": "", "display_name": "hypertime", "url": "http://disqus.com/guest/7ebfc1ce7d88297a4bf1d4836487f250/", "registered": false, "linkedin": "", "blog": "http://hypertime.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": ""}, "1344cf4ad88d9f200150fa8cb8f28da6": {"username": "Martijn", "tumblr": "", "display_name": "Martijn", "url": "http://disqus.com/guest/1344cf4ad88d9f200150fa8cb8f28da6/", "registered": false, "linkedin": "", "blog": "http://windowsxp.startpagin.nl/", "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": ""}, "ee17d0018d258f96d8d0a5009ad6ad8a": {"username": "Larry", "tumblr": "", "display_name": "Larry", "url": "http://disqus.com/guest/ee17d0018d258f96d8d0a5009ad6ad8a/", "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": ""}, "63c32b4489d13b17d23fd9db1505bdf9": {"username": "Jon Galloway", "tumblr": "", "display_name": "Jon Galloway", "url": "http://disqus.com/guest/63c32b4489d13b17d23fd9db1505bdf9/", "registered": false, "linkedin": "", "blog": "http://weblogs.asp.net/jgalloway", "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": ""}, "ac4b1b1e8cffeecfab39ddb9affaa88e": {"username": "sundoggy", "tumblr": "", "display_name": "sundoggy", "url": "http://disqus.com/guest/ac4b1b1e8cffeecfab39ddb9affaa88e/", "registered": false, "linkedin": "", "blog": "http://www.sundoggy.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": ""}, "d29517896d3c97dcbe808f61cae7cefa": {"username": "Wild Bill", "tumblr": "", "display_name": "Wild Bill", "url": "http://disqus.com/guest/d29517896d3c97dcbe808f61cae7cefa/", "registered": false, "linkedin": "", "blog": "http://www.billbuchan.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "Scobleizer", "streaming_realtime": true, "url": "scobleizer", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 1, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": true, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "scobleizer", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-17_03:08:16", "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": {"9638767": {"up_voted": false, "ip": "", "has_replies": false, "message": "Nice to see you talk about this.<br><br>I know I automatically avoid Microsoft services these days unless I have no other choice, because most of the time they never work with Firefox or at best, work poorly.<br><br>Sure Firefox is somewhere around 10% marketshare, give or take, but you know how big 10% is of the Internet's user base? Your talking 10s of millions of people...if not approaching 100s of millions.<br><br>Any company who chooses to avoid that potential customer base size has no clue.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_18:48:00", "killed": false, "user_key": "61aa5138ccf9606158a3efdbcb5c1b0d", "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}, "9638768": {"up_voted": false, "ip": "", "has_replies": false, "message": "Who though that supporting FireFox and other browsers in general wasn't important?!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_18:52:31", "killed": false, "user_key": "aae893d1baeff4df4a020a96771100ed", "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}, "9638769": {"up_voted": false, "ip": "", "has_replies": false, "message": "Brook: it's not that they don't think it's important, it's that they put it on a lower priority and are trying to get things out faster.<br><br>Increasing the number of clients you need to support increases time to market and increases number of people each team needs.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_18:55:15", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "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}, "9638770": {"up_voted": false, "ip": "", "has_replies": false, "message": "Maybe the team should have written a more polite message, something like:<br><br>\"Sorry no FireFox support yet, but we are working on it\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_19:05:54", "killed": false, "user_key": "aae893d1baeff4df4a020a96771100ed", "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}, "9638771": {"up_voted": false, "ip": "", "has_replies": false, "message": "Why not higher someone that can build webpages that work on all, not just IE, not just IE and Firefox but All? I hadn't realised it was that difficult to do but I've forgotten all my HTML skills of late. Perhaps higher some of the kids out there who make it seem so easy?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_19:30:23", "killed": false, "user_key": "93b6060cbb32124ae3a382aab2377dd1", "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}, "9638772": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hire, not higher. D'oh!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_19:31:19", "killed": false, "user_key": "93b6060cbb32124ae3a382aab2377dd1", "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}, "9638773": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, please realize iniatives like the one you just suggested are precisely the same thing that makes Microsoft less agile.<br><br>Microsoft products are expected to ship in X numer of languages, comply to X quality level, go through N security reviews, etc.<br><br>This type of beurocracy increases the overall quality of the software, but reduces time to market.<br><br>You need to optimize this. Given MSN/Live's commitment to cross-browser standards AFTER getting it to work in IE, I'm not sure they're sriking the wrong balance.<br><br>People pick on Microsoft for the smallest possible reason, and view everything they do in a neative mental framework. Certainly, you need to change that - but it doesn't mean a unilateral rule is the right way.<br><br>Incidentally, you're argument about influentials is a good one. But you need to tone down the rhetoric and approach influentials WITHIN Microsoft to get that around. Bring it up when you meet with teams as part of your job on Channel9: \"Do you know how many reporters are using Firefox to evaluate your products?\"<br><br>If you can make the point that cross-browser functionality is a POLITICAL (i.e. PR) argument, and NOT a \"overall usefulness\" or \"necessary\" argument, it's much more effective.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_19:38:06", "killed": false, "user_key": "de92e6470a16fd7f9b7f23a575eae105", "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}, "9638774": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt;We're sorry. Windows Live Shopping Beta does not yet support Firefox.<br>&gt;We\u2019re working to correct this as soon as possible.<br>That's exactly what we did...<br>Yeah, it sucked to have to cut this to meet our release date, and we did cut other stuff that we wanted even more.<br>And yes, we're working on it right now :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_19:39:05", "killed": false, "user_key": "3c6937c2a1bb7745ae050fbe6527e443", "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}, "9638775": {"up_voted": false, "ip": "", "has_replies": false, "message": "Why not just build websites to W3C standards? That way you know you are compatible with Mozilla-based browsers.<br><br>I myself use IE only to run Windows Update, and I counsel friends and family to not risk financial transactions with IE because of the security issues (over and above the advice I have to give about protecting a Windows computer).<br><br>Firefox happens to be the only cross-platform browser, as Microsoft has dropped support on Apple and couldn't care less about GNU/Linux users. Everyday users don't care, but power users who connect to the web with different machines throughout the day like finding the same interface for browsing.<br><br>Firefox also offers natively live RSS bookmarks, which I understand will be available in IE sometime in 2007.<br><br>Sean DALY.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_19:40:08", "killed": false, "user_key": "20b15be51f8a93b91ec7f250e1524a55", "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}, "9638776": {"up_voted": false, "ip": "", "has_replies": false, "message": "Why only Firefox, what about Safari/Opera?<br><br>If you want to give me a message that states your site may not display correctly on my browser of choice then that's fine, but at least let me use it as-is.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_19:42:10", "killed": false, "user_key": "0163290b3bd95a0dfb748d844792765b", "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}, "9638777": {"up_voted": false, "ip": "", "has_replies": false, "message": "The need to get things out faster isn't really a valid excuse, though. Everyone else manages it. When Google launches a new product, people would be very surprised if it didn't work on at least IE, Firefox and Safari; with MSN products, one would tend to assume the opposite until proven otherwise. Even design nightmares like Bebo seem to manage to work on most common browsers, broken though they may be in other ways.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_19:44:00", "killed": false, "user_key": "a63b335881f1e007e5ed6f874aa6b1ca", "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}, "9638778": {"up_voted": false, "ip": "", "has_replies": false, "message": "This is a breath of fresh air Robert - brave- but it begs the question as to whether MSFT sees IE7 as a continuing lock-in plank or whether you're a lone voice. If this kind of discussion is being taken seriously inside MSFT dev, then can you point to others with whom 'we' FF bigots can shoot the breeze? that would be serious, enterprisey goodness.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_19:45:24", "killed": false, "user_key": "dahowlett", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "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}, "9638779": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Why not just build websites to W3C standards?\" - so you don't like 'AJAX' sites then? XMLHTTPRequest isn't a W3C standard yet.<br><br>Its an idealistic goal to support all browsers from the get-go, but thankfully things are starting to converge in terms of browser supported features. But it is MS place to innovate (as indeed most developers), and sometimes their own products are best placed to meet those innovations.<br><br>I also agree with Michael Griffiths; push this from a PR standpoint, not a techy/geek angle. You claim benefits of aiming towards saatisfying the Fx enthusiasts, but have you weighed the benefits to MS from speedier delivery to 90% of the market?<br><br>Nice idea not linking to browser specific sites though.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_19:49:13", "killed": false, "user_key": "6181170b5a0070107644c3d1d1508dc4", "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}, "9638780": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yeah, I guess all those years of leveraging Microsoft's undisputed desktop monopoly for proprietary technology designed to eliminate every viable competitor and to ensure lock-in to in-house products kind of formed some nasty habits.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_19:53:27", "killed": false, "user_key": "7ebfc1ce7d88297a4bf1d4836487f250", "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}, "9638781": {"up_voted": false, "ip": "", "has_replies": false, "message": "Nice post Robert. This is one of the few times I agree 100% with you.<br><br>I can understand if they don't have 100% cross-browser compatibility within the members area at launch but it is pretty sad that you can't even <b>sign up</b> for the service without using IE.<br><br>What could possibly be on a sign up form that makes it technically impossible to use a non-IE browser?<br><br>I have a high traffic site I wouldn't mind trying MS's ad center on but this is a big negative mark on the service and I'm not touching it till Firefox is supported. IE-only sites are so 1990s.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_19:57:05", "killed": false, "user_key": "54328fcb511e6360232fa47bfbfb0090", "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}, "9638782": {"up_voted": false, "ip": "", "has_replies": false, "message": "So where the development tools teams stand on this?<br><br>Aren't they ones writing development tools that generate code that target IE? Using those tools leads to services that target IE and exclude Firefox. If the tools were agnostic, then time to market for service development would be a wash.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_19:58:36", "killed": false, "user_key": "c2722dc7d0af3bf77654b5332ce0e119", "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}, "9638783": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"so you don\u2019t like \u2018AJAX\u2019 sites then? XMLHTTPRequest isn\u2019t a W3C standard yet.\"<br><br>Stop trolling. It's <b>absolutely</b> possible to make a site that's 100% XHTML compliant that uses AJAX technology. Stop spreading BS please.<br><br>\"You claim benefits of aiming towards saatisfying the Fx enthusiasts, but have you weighed the benefits to MS from speedier delivery to 90% of the market?\"<br><br>I guess you missed the part that even Scoble mentioned in his post:<br><br><i>Because a high percentage of influentials are Firefox users.In other words, if you want the most passionate people in society to use your stuff, you must support Firefox.</i><br><br>90% of the total web population may be IE users but I can assure you that the target audience for this service is anything but 90% IE.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_20:01:30", "killed": false, "user_key": "54328fcb511e6360232fa47bfbfb0090", "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}, "9638784": {"up_voted": false, "ip": "", "has_replies": false, "message": "My goodness - this is a seriously high quality discussion. And there's me a newly converted Mac bigot after 24 years of Wintel. Listen guys, why not keep it simple.<br><br>1 You in the blue corner (MSFT), stop messing about. Ask the community what they want in IE7, prepare to hand it over to them so they can make MSFT great.<br><br>2. You in the red corner - APPLE - big it up for Robert, He's putting his professional nuts on the line here - guess what - play your cards right and you get a piece of the pie (hint - you got me already but you haven;t earned your corn just yet.)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_21:04:32", "killed": false, "user_key": "dahowlett", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "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}, "9638785": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ironically Darren's site looks pretty rough in IE.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_21:21:18", "killed": false, "user_key": "8d55a6c5556ef2fadb2f8c6e7f1b6739", "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}, "9638786": {"up_voted": false, "ip": "", "has_replies": false, "message": "Don't forget us the influential Mac user that actually buys Office from Microsoft... No Window Media, No Music Store, No Safari support... No good Messenger...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_21:23:37", "killed": false, "user_key": "4556a42d71a742a0a0a08472fb0d524e", "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}, "9638787": {"up_voted": false, "ip": "", "has_replies": false, "message": "Windows Live Mail M6 to support Firefox<br><br>Straight from the horse's mouth:<br><a href=\"http://spaces.msn.com/mailcall/Blog/cns%21CC9301187A51FE33%213771.entry\" rel=\"nofollow\">http://spaces.msn.com/mailcall/Blog/cns!CC93011...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_21:50:50", "killed": false, "user_key": "de2f5c8241377188175f6cc030644427", "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}, "9638788": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well done Robert,<br><br>I wrote a post earlier this week on <a href=\"http://www.tomrafteryit.net/windows-live-mails-exclusionary-philosophy/\" rel=\"nofollow\">Windows Live Mail's exclusionary policy</a> of supporting IE only. I put up a screenshot of the crappy interface  that is Live Mail in Firefox.<br><br>Keep pushing that boat out and making Microsoft a better corporate citizen for all of us.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_22:00:29", "killed": false, "user_key": "4014faa76f94764aeb84e70bf39bf22f", "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}, "9638789": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have to disagree and I do agree with Doug above.  The issue is W3C standards.  We come across this all the time with browser support for our online banking applicaition up here in Canada ( <a href=\"http://www.bmo.com\" rel=\"nofollow\">www.bmo.com</a> ).<br>We push the developers for open standard support, yet the flaws in IE continually push us to browser specific support.<br>We should be able to develop apps with W3C support, and it should be up to the browsers manufacturers to follow those, but this just doesn't happen.<br>If Mircosoft could be 100% W3C compatible this would put them in the lead overnight.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_22:33:41", "killed": false, "user_key": "eeb36f4504caf7e23bf50829449a81d2", "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}, "9638790": {"up_voted": false, "ip": "", "has_replies": false, "message": "Tom and Dileepa: The Live Mail team told me two weeks ago they were going to support Firefox. In fact, most teams, even those who ship only IE support at first, tell me that Firefox versions are coming. I just think that Firefox support should be there from the very beginning.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_22:39:12", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "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}, "9638791": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yes... I agree... At least it's getting better, right? I remember the very first interviews the WLMail team - and they very clearly told that at the moment they were only concentrating on IE and no other browsers. Now, they are going to release a version that works well in FF.<br><br>I use both FF and IE7 - IE7 is a memory hog, but hangs way less than FF (no extensions installed).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_22:51:03", "killed": false, "user_key": "de2f5c8241377188175f6cc030644427", "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}, "9638792": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dileepa, oh, it certainly is getting better. Microsoft teams generally are pretty good about prioritizing things that have large usage patterns.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_22:56:57", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "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}, "9638793": {"up_voted": false, "ip": "", "has_replies": false, "message": "Totally agree, if you go completely insular and only support your own products you'll just succeed in driving people away from your products, although as a developer in a past life, I do understand the need to cut features to get a product out, with the intention of improving and adding those features back in at a later date (of course, some of them continue to get cut and eventually just fall off the list).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_23:04:27", "killed": false, "user_key": "adf85074f381692ad1618702f0b014cd", "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}, "9638794": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'd far prefer see Windows Live products out of the door, with IE support only than not at all, and a long delay.<br><br>In the same way that most products &amp; services are rolled out progresively in teh 'real' world - you have a partner, then another, then you build on it to expand. This \"all in one go\" stuff seems to just slow the process down.<br><br>Additionally, I'm coming accross an inreasingly high number of websites that are Firefox only. Do they get the same sort of bashing? I could be wrong, but I dont get that impression.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_23:08:44", "killed": false, "user_key": "1b7c12e7a1422249d2dea6ef74ba1c2d", "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}, "9638795": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think there's a difference between \"not supporting Firefox\" and \"not supporting Firefox from the start.\"<br><br>Frankly I don't think it's a huge deal that some services in BETA don't support Firefox - if they're planning to before release.<br><br>AdCenter certainly should have had at least a fallback-mode ready.  So I'm with you on this one Robert... that just plain sucks.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-05_23:30:40", "killed": false, "user_key": "0510d88cc9c42fd729b2d61a173d9c44", "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}, "9638796": {"up_voted": false, "ip": "", "has_replies": false, "message": "The problem with adding Firefox support at a later date is that if I visit a site that doesn't offer support at launch, I don't go back. So you might work really hard on your site or product and spend a lot of money getting me there but if my first experience sucks I won't go back. There are too many other companies that care enough to make my first experience a positive one.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_00:12:57", "killed": false, "user_key": "brettnordquist", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "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}, "9638797": {"up_voted": false, "ip": "", "has_replies": false, "message": "It was my understanding that the long term strategy for Windows Live is about creating lock-in for IE by providing gadgets and apps that only work in IE. At least that's what I've read. Am I wrong? If the long term goal IS universal access, that would be nice. But that would involve competing purely on merit.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_00:37:41", "killed": false, "user_key": "3c4709a607c552f2e6f7726f9207b38a", "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}, "9638798": {"up_voted": false, "ip": "", "has_replies": false, "message": "Good discussion. I am in the camp to just develop to W3C standards and be done with it (and that means making IE7 W3C compliant too), without the MS hooks. I'm an Apple guy to the bone, but I'm also a Microsoft customer for almost as many years. I want this stuff to work in Safari, or at least Firefox Mac (but if you stick to standards, then I can use Safari).<br><br>And BTW, Robert, this also comes back to your \"influentials\" comment. As you know, something bordering on the majority of technology \"influentials\" use Macs these days. MS should take this opportunity to use the service applications to leap frog everyone and free them from the past of their own inhibiting legacy (Windows OS), its dragging reliance on backward compatibility, and anti-trust lawyers at elevator stop. If MS ties this at all to Windows OS, they are locking themselves and their users in the past, when they should be defining the future. It may take 15 years, but that kind of strategy will take them down.<br><br>There is a huge opportunity here... No one is that close to really having a solid and comprehensive net-Office, or complete service package (all the players seem to have one or two good pieces, but no one has the MS Office of web aps yet). It's time to reinvent MS, and the tools and pieces are all there...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_00:51:12", "killed": false, "user_key": "ac4b1b1e8cffeecfab39ddb9affaa88e", "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}, "9638800": {"up_voted": false, "ip": "", "has_replies": false, "message": "While I'm all for having full browser support in all 'online' services.. doing so at the first launch has a cost.  While it may be easy to say 'develop a site that is cross-browser from the start' that isn't so true on the testing side of things.<br><br>Robert, you want to give out 3.0's to everyone who doesn't support 'all' browsers then you better give them the $$ to hire the people to TEST those systems in order to get out of your 'auto-3.0-hell'.  Over and over I see messages stating that dev time is the big constraint.. let's not forget about testing too!  It's great if I can write code which is supposed to work in FireFox, IE, Safari, Opera, etc... but we still have to test it.  One of the scariest things to a tester is 'we got this working in X-browser for no dev time so it's free for us to have this feature'.  Features (and yes, supporting more than 1 browser is a feature) are never free...<br><br>---just the thoughts of a tester on one of those sites I guess you won't link to cause we don't have Firefox support yet :(", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_00:51:56", "killed": false, "user_key": "13f4348a7e757c35b79abd2e29fef404", "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}, "9638801": {"up_voted": false, "ip": "", "has_replies": false, "message": "Excellent post Robert. I hope it all comes to fruition soon.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_00:56:26", "killed": false, "user_key": "df679bd3d287a21d5ed6020bae384e17", "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}, "9638802": {"up_voted": false, "ip": "", "has_replies": false, "message": "@26  You'd think that with all he time you spend with various and sundry MS dev teams you would understand the risks of shipping with all browser support in V1 of a product. Do you really think MS would want to risk losing money by shipping even later simply to support Firefox?  There is a difference between not supporting firefox, period, and not supporting it until later versions.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_01:02:18", "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}, "9638803": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jimbo -<br><br>You are wrong.  The strategy for Windows Live has been to support Firefox at the earliest opportunity (and to work with Opera and Safari as much as possible).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_01:17:47", "killed": false, "user_key": "0510d88cc9c42fd729b2d61a173d9c44", "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}, "9638804": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br>I am sorry to say this but you sound naive. Why should Microsoft support a competing product? If I were Microsoft, I am in a business of making money and I will make sure my customers (aka users) don't use products other than mine. Also, Firefox is now passe considering the leaps that IE7 has made. I was a fan of Firefox till I found IE7 beta.<br><br>If I were Bill Gates I'd issue a memo that said \"any team that ships without supporting what majority of end users want automatically gets 3.0s for all members.\"...and if I were Bill Gates I WOULD make sure majority of users would eventually be satisfied with Microsoft products only (i.e. I will focus on innovating stuff that users would love). Keep in mind, Microsoft is all about predicting what will be bleeding edge and them making it happen for end users. 10 years back no one imagined a Windows based UI for desktop will rule the industry.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_01:42:04", "killed": false, "user_key": "aaf1185108604ef16ffd850f2e1dfafc", "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}, "9638805": {"up_voted": false, "ip": "", "has_replies": false, "message": "kp: You're kidding, right, when you say Firefox is passe? What \"leaps\" has IE 7 Beta made that you can't find in Firefox? You assume all users are created equal, but they are not. MS *should* care about that 10% who use Firefox because they are the most savvy, most influential users that MS should want as customers.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_02:30:48", "killed": false, "user_key": "brettnordquist", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "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}, "9638807": {"up_voted": false, "ip": "", "has_replies": false, "message": "kp: Leaps that IE7 has made? Maybe leaps from IE6, certainly not over Firefox. It's only playing catchup to Firefox. MS had been sleeping after the work they had done with IE and killing Netscape. Firefox nudged them out of their slumber.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_02:41:41", "killed": false, "user_key": "df679bd3d287a21d5ed6020bae384e17", "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}, "9638808": {"up_voted": false, "ip": "", "has_replies": false, "message": "@37 - shipping cross platform apps is less risky if you develop for all platforms at once.  Otherwise you end up doing rework on the first platform when you go back to add the second.<br><br>IE 7 is still less capable and standards compliant than Firefox.<br><br>I use Safari 90% of the time.  Support it.<br><br>Practically speaking - Safari 1.3+, Firefox 1.0+, and IE 6+ constitute 98% of web traffic.  You must support at least these or you are losers.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_03:36:40", "killed": false, "user_key": "a85cb5b6f821f907c4f7786e1cbdc6a0", "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}, "9638809": {"up_voted": false, "ip": "", "has_replies": false, "message": "Devil's: Scott and I talked about Safari. That one is going to be harder because it has a bug that keeps advanced AJAX stuff from working.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_05:00:06", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "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}, "9638810": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert - I agree absolutely (no surprise there) - Microsoft's products do need to support Firefox out of the gate.<br><br>I wouldn't count myself as one of the 'influentials' but I have reviewed many of Microsoft's releases soon after their release and I have always panned them for their lack of Firefox support.<br><br>In fact, I have gone further and left comments on the blogs of any of the teams who had them (like the <a href=\"http://start.com\" rel=\"nofollow\">start.com</a> team, for instance) but I always got the impression that I was annoying people rather than providing valuable feedback.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_05:28:13", "killed": false, "user_key": "4014faa76f94764aeb84e70bf39bf22f", "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}, "9638811": {"up_voted": false, "ip": "", "has_replies": false, "message": "If you want users to use your services its simple provide support for firefox.  I myself uses firefox and hotmail not written to support for firefox is sad, which makes users likemyself use yahoo mail.<br><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-05-06_07:18:21", "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}, "9638812": {"up_voted": false, "ip": "", "has_replies": false, "message": "Whoa! there was some stuff up above that I couldnt understand but I did most of it anyways! I tried the site in question on Opera and it worked fine! Now what does Opera 'have' that Firefox 'hasn't?'.<br>And the less said about how \"IE7 is better than Firefox\", the better!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_07:33:32", "killed": false, "user_key": "be4f76627ca9cf2e927431f5c7a7caab", "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}, "9638813": {"up_voted": false, "ip": "", "has_replies": false, "message": "Microsoft, at his very core, is feared as hell of everybody else. Call it hitech-xenophobia if you like.<br><br>They have found a way to fight this (BillG memo 1991), and that's to recreate their own file formats everytime there is a new standard/file format to deal with.<br><br>That Microsoft should support Firefox, i.e. a bunch of  file formats that were not created at Microsoft in the first place is both ludicrous and a lack of understanding of Microsoft's core business.<br><br>This is never going to happen. Because it's hard. Having to worry about others is hard. It might fool a couple influential bloggers though.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_07:56:50", "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}, "9638814": {"up_voted": false, "ip": "", "has_replies": false, "message": "I totally agree with you. I just wrote an entry about this too. I don't mind Microsoft products in general, but when they block me from using their services it does not make me want to switch over to IE. Microsoft has more to win from making their services available for everyone, than by trying to convert people back to IE!<br><br>They need to remember that most Firefox users are people who have chosen to use it, not because it was an already installed program on their computer. For Microsoft to win these people back, they have to offer something more than what Firefox users have already turned down. So let's just wait and see how IE7 turns out :D", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_08:35:45", "killed": false, "user_key": "6d792f8267fa9f9beee48f0cb6b8fcd4", "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}, "9638815": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert: you say<br><blockquote>it\u2019s not that they don\u2019t think it\u2019s important, it\u2019s that they put it on a lower priority and are trying to get things out faster<br></blockquote><br>and<br><blockquote>[Safari] has a bug that keeps advanced AJAX stuff from working.</blockquote><br>&mdash; and that pair is the heart of the matter.  The issue isn't, except among the fanboys, really about Microsoft's support for Firefox or Safari or iCab or Amaya or whathaveyou.<br><br>It's about Microsoft trying to support the standards all those other people's browsers are also trying to support.  Safari can't do AJAX because it's got a bug? That's Safari's problem.  Apple will get no sympathy for that problem beyond the baseline it-happens-to-everybody forbearance.<br><br><a href=\"http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm#iiia\" rel=\"nofollow\"> Judge Jackson's explanation</a> (at paragraph 36) of network effects explains what Microsoft have been after &mdash; that they produce real, and huge, value &mdash; perhaps less provocatively than kp did above.  But I think, because standards evolve, this game is the iterated  prisoner's dilemma with a real and huge reward for cooperation.  Microsoft's strategy has been consistent defection.  Long-term, it's not a winner.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_08:50:38", "killed": false, "user_key": "7cd21d706444339285b779efb2e5f34e", "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}, "9638816": {"up_voted": false, "ip": "", "has_replies": false, "message": "Gaaah! Paragraph 39, not 36!Sorry.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_08:55:19", "killed": false, "user_key": "7cd21d706444339285b779efb2e5f34e", "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}, "9638817": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think Microsoft should comply with web standards through their browser because they don't own the web.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_09:05:20", "killed": false, "user_key": "4f461968932ea62ad97ee27091efee6d", "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}, "9638818": {"up_voted": false, "ip": "", "has_replies": false, "message": "Firefox users are approaching 50% of my readers, IE readers are already in the minority. This is consistent over all my blogs.<br><br>As for supporting IE vs. Firefox: I do accept if a service starts out the full version on their own browsers IF and only if it is built to support both. If not, then building \"it for good in our browser first\" usually introduces 'features' which will never make it to other browsers at all. That is like wanting to use a basement which was not built from the beginning.<br><br>Now, do I use Microsoft pages at all? The only one I do use it win update / driver download and yes, I have to do that in IE because Firefox does not work properly there. Everything else which says 'IE only' I leave immeadeatly.<br><br>Last example was a website which sold me a gadget at some hundred dollars. I went for another website which was 20 dollar more. But it did work great in Firefox and let me do what I wanted.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_09:11:01", "killed": false, "user_key": "ea5ae47db54d1993df4f63a3abc2d2eb", "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}, "9638819": {"up_voted": false, "ip": "", "has_replies": false, "message": "Everyone is missing the point, instead of having to customise every website to work with every browser, or the other way around, we have these things called 'standards'.<br><br>If all the browsers supported the standards then there wouldn't be all these problems. Sure the occasional website might not be built properly but anything halfway decent will support the standards because it will be much easier to do if everyone else is.<br>-----<br>Peter<br><a href=\"http://peteremcc.wordpress.com\" rel=\"nofollow\">http://peteremcc.wordpress.com</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_09:40:40", "killed": false, "user_key": "cff4f71f71d904c5dfb6000e70ae4489", "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}, "9638820": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think there is a movement happening towards supporting Firefox more; some MSN teams and the ASP.NET team are using automation tools such as Nexus to make sure that their testing encompasses Firefox and IE equally; supporting Firefox fully will only quicken the interest in the technical enthusiast community.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_10:23:48", "killed": false, "user_key": "3ef4f82253de41f977a5d22cd263a98e", "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}, "9638821": {"up_voted": false, "ip": "", "has_replies": false, "message": "Okay, so when are all Live products gonna support firefox. Will be a happy day for us when they do.<br><br>Awaiting that nice day...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_11:13:23", "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}, "9638822": {"up_voted": false, "ip": "", "has_replies": false, "message": "When Microsoft bought Onfolio recently, Firefox support was the first casualty.<br><br>The Onfolio team says that there are no plans to restore this valuable connection.<br><br>Needless to say, there has been a rush for the exit doors and a search for Firefox friendly alternatives to Onfolio.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_11:15:37", "killed": false, "user_key": "45e493354a4d1d0a9d6e90127543aa6e", "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}, "9638824": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, even if Safari has a bug, Gmail supports it, Flickr supports it. Microsoft simply looks bad when it claims difficulty doing what some of the smaller players are doing. Yes, sometimes Google has to wait a while to support Macs or Safari, but they come with Firefox support from the Start. Microsoft should simply do better than them. It's the only way to beat them... Now. You should also avoid the \"it's coming\" really. It looks bad.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_11:35:26", "killed": false, "user_key": "4556a42d71a742a0a0a08472fb0d524e", "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}, "9638825": {"up_voted": false, "ip": "", "has_replies": false, "message": "Alfredo: Gmail and Flickr use very little AJAX. <a href=\"http://Live.com\" rel=\"nofollow\">Live.com</a> is going to do stuff that Google simply isn't trying to do yet. More to come this summer.<br><br>Fatfingr: I agree. But I don't live in a fantasy world. I live in the world as it is. There are hundreds of millions of IE 6 versions out there. They will never support standards the way IE 7 or Firefox or Safari do. Sorry. So, until we get everyone to upgrade to one of the modern browsers, you can't rely on doing just standards-based development.<br><br>Chrono: I don't know when they all will. I would expect almost all to support it before they take off the beta label.<br><br>Michael: regarding Onfolio. I think that is a damn shame and is being driven by our lawyers. I think that's a business mistake and I hope it gets rectified (I'm yelling and screaming about it internally).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_12:18:55", "killed": false, "user_key": "456636993483a10e9b50ffe17733de4a", "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}, "9638826": {"up_voted": false, "ip": "", "has_replies": false, "message": "I am going to jump in very briefly...<br><br>To reiterate what Robert is saying, all Windows Live services are still in beta.  Expect to see Firefox support on Live services by final release or even before.  For example, Hotmail (Kahuna) already announced plans to provide Firefox support in the very very near future.<br><br>Re: Safari - We are discussing with them our issues (there are bugs against Safari filed).  If you explore my blog, you will find the technical explanation on the issues.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_12:30:23", "killed": false, "user_key": "cb086f0b5efd1f44f599918cd2010f16", "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}, "9638827": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm not a \"firefox guy\" or an \"IE guy\" or a \"Safari guy\".<br><br>I'm a technologist -- and I use all of these browsers (including IE7 on Vista) every single day, across about 6 different machines at home &amp; at work (W2k, TabletXP, Vista, OS X, and varied linux distros) - oh, and Opera Mini on my Razr, too.<br><br>If a website/web service requires me to THINK \"Oh, wait I need to be on this browser/platform before I can go there\" then I will not keep it in my 'web-toolbox'. Simple as that.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_12:31:28", "killed": false, "user_key": "20fb82ade9630f4abe063d8728eb7150", "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}, "9638828": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>I thought Microsoft believed in freedom choice?  That was certainly the early positioning against the iTunes music store.<br><br>How does your company (not you) square this seemingly hypocritical position?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_12:48:39", "killed": false, "user_key": "ee17d0018d258f96d8d0a5009ad6ad8a", "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}, "9638829": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, I'd love to some progress on the ASP.NET front.  If MS would take the lead in publishing an upgraded browserCaps many many web sites, presumably including many MS and sharepoint sites would work much with new browsers. For reference, see <a href=\"http://aspnet.4guysfromrolla.com/articles/050504-1.aspx\" rel=\"nofollow\">http://aspnet.4guysfromrolla.com/articles/05050...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_14:37:31", "killed": false, "user_key": "9d572fa5bab63f834041ee3230289f42", "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}, "9638830": {"up_voted": false, "ip": "", "has_replies": false, "message": "Heh,heh. I blogged almost the exact same thing back with the launch of <a href=\"http://Live.com\" rel=\"nofollow\">Live.com</a> in November.<br><a href=\"http://weblogs.asp.net/kdente/archive/2005/11/12/430424.aspx\" rel=\"nofollow\">http://weblogs.asp.net/kdente/archive/2005/11/1...</a><br><br>Firefox support is no longer an optional feature, it's an absolute requirement. Someone needs to beat that drum at the highest level of MS.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_14:41:27", "killed": false, "user_key": "23c1e2063688620b75b248e08c0d5c24", "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}, "9638831": {"up_voted": false, "ip": "", "has_replies": false, "message": "Re: my comment above.<br><br>I don't think some bloggers realise that the majority of their visitors using Fx are not the majority using web services for the public.<br><br>This puts me in mind when politicians say \"the majority of people I speak to agree with my view on imigration/iraq/education/healthcare\", ignoring the fact that the reason the majority of people they speak to agree is because they are surrounded by like-minded people. Want to guess what the major browser on <a href=\"http://Mozillazine.org\" rel=\"nofollow\">Mozillazine.org</a> may be?<br><br>This anecdotal evidence does not equate to a sound business case. How many Fx 'influentials' have the power to insist their company operates in a MS OS/Office environment rather than moving to Open source? I think ad revenue has a long way to meet MS Office revenue. Passionate enthusiasts, 'influentials', haven't managed to take over the desktop with linux. They can perpetuate a meme, not a business case.<br><br>I use Fx, and I am influential in my place of work, but that does not correspond to any zealous belief that product launch should be held back because it hasn't been built and tested for 10-15% of the browser market.<br><br>imo.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_14:59:16", "killed": false, "user_key": "6181170b5a0070107644c3d1d1508dc4", "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}, "9638832": {"up_voted": false, "ip": "", "has_replies": false, "message": "Glad to see this get talked about.  While I'm a fan of MS, I've taken to using both browsers full time. and it is important to have the flexibility.<br><br>More importantly, if MS really wants to be viewed as trying to reach out, grow, and participate in the web 2.0 world, it needs to support the major browsers.  Making Firefox support manditory is a huge step in the right direction.<br><br>Good post.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_15:01:31", "killed": false, "user_key": "e65b5ca688e05bf3fd82df97564628f1", "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}, "9638833": {"up_voted": false, "ip": "", "has_replies": false, "message": "I've got to go with what a few people have been saying: If I can't properly use a service the first time I go to it, it's dead to me.<br><br>Why should I keep going back? That's a waste of time. They didn't want my patronage once, who am I to beg for the chance to use their service.<br><br>Spaces didn't want my patronage, not a problem, there are other places that do. I use them.<br><br>Windows Live, <a href=\"http://Start.com\" rel=\"nofollow\">Start.com</a>, whatever didn't want my patronage, not a problem, I'll go elsewhere to someone that does.<br><br>Same thing with WIndows Live Mail. What are they possibly going to have in some random amount of time that Gmail won't have? Not bloody much, it's email. What Gmail has RIGHT NOW, is the ability for me to fully use it on any platform I happen to be using.<br><br>Google's services obviously want my patronage more than Microsoft's, and because of that, they get them.<br><br>But here's the kicker. Now that I'm on Gmail, Windows Live Mail would have to be SIGNIFICANTLY BETTER for the things that *I* care about. See, getting me the first time is easy. I don't have an existing service, so I don't really know what I want yet. But once I've got something I like, it's much harder to get me to switch. Not only do you have to match everything I get out of my current service, but you have to have some significant advantages over my current service.<br><br>So, even on that magical day when Windows Live Mail fully supports Firefox on every OS Firefox runs on, to the exact.same.level that they support IE on Windows, why should I switch? What does Windows Live Mail have that Gmail doesn't FOR ME?<br><br>Without that last question being answered, I'm not going to even consider switching", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_15:15:59", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "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}, "9638834": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble: Thank you!<br>As a Linux user, you don't know how nice it is to hear this from someone within Microsoft.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_15:30:50", "killed": false, "user_key": "13f93ce1e022ce7016613acefb30baa0", "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}, "9638835": {"up_voted": false, "ip": "", "has_replies": false, "message": "I can write xhtml that blows up old ie, it does not blowup firefox,seamonkey et all.  I write to xhtml standards not what ie 'feels like what it can hack'<br><br>If it comes to writing both a ff and an ie html page then Sco is right - as a ff user Im steering clear of microsoft sites why because i consider having to use ms sw on ms sites as lock in.<br><br>Our office is migrating to Linux very soon (in a month), eg no Microsoft pc's, when Microsoft can code a proper browser that supports xhtml. I'll come back until then some of our pages will make ie gpf, or alternatively I can write code that tells the windows user to 'use firefox on windows' its no bother.<br><br>html is a standard, and if m/s wishes its sites to become the modern cix/compuserve (before the internet version) then good, just don't expect me to play ball.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_16:05:45", "killed": false, "user_key": "1af22e539505c60049523c410081864a", "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}, "9638836": {"up_voted": false, "ip": "", "has_replies": false, "message": "This is just the tip of the iceberg, Robert.<br><br>In general: lots of Microsoft apps BREAK THE RULES.<br>Whether its Win32 or HTML or CSS. Sloppy engineering, kids.<br><br>For example: install XP on a clean new machine. Then run a good registry cleaner-upper like the one in System Suite 6. It'll find a coupla hundred registry errors.<br><br>Office is even worse.<br><br>If MS wrote browser code that validated (HTML and CSS), the stuff would just work in Firefox. No major extra engineering needed.<br><br>I'm a Microsoft fan -- it's the reason we have great $500 computer systems and ubiquitous cybernia -- but this is the biggest hole in MS engineering. Frankly, I think folks would be embarassed by such incompetence.<br><br>-- stan", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_16:33:51", "killed": false, "user_key": "0cb25c7d191e7dbecb8fd382ab60f19b", "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}, "9638837": {"up_voted": false, "ip": "", "has_replies": false, "message": "You've totally got it, Robert. Pushing out IE-only sites makes Microsoft look old-fashioned. No matter how much Web 2.0 AJAX buzzword whizbang they put in the page, if it's IE-only then whoever launched it just doesn't understand the web.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_17:48:31", "killed": false, "user_key": "36385c8f19a92a18b2a467d245d08593", "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}, "9638838": {"up_voted": false, "ip": "", "has_replies": false, "message": "What about the actual ad code - does that work in Firefox? I'd imagine so, and surely that's more important than the ad control panel? I don't think there's any excuse for them not to support it (even if there's a note saying it may not work properly), but at least if the ads display, it shows they're not completely ignoring Firefox!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_18:00:06", "killed": false, "user_key": "21bf0d9fa925fa1de387d98fba7bdf4f", "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}, "9638839": {"up_voted": false, "ip": "", "has_replies": false, "message": "Interesting comment, Scoble.<br><br>\"The influencers use Firefox\".<br><br>Complete market dominance just p*ssed away.<br><br>I betcha the VPs who choose to let IE stagnate these last five years are really getting beat up for that.<br><br>Let me rephrase that. They *should* be beating beat up for that decision.<br><br>I guess they're not, and they and their money are enjoying long term employment benefits within MS.<br><br>I'm with Mini-MSFT on this one. Cut the fat. Fire the dead wood. And if someone screws up (IE stagnation, Vista Reset, Mr Clippy, MS Share price flatline, etc) - they get FIRED. Regardless how long they've been \"chums\" with Bill.<br><br>Then folks outside MS will have faith again.<br><br>---* Bill", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_18:06:03", "killed": false, "user_key": "d29517896d3c97dcbe808f61cae7cefa", "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}, "9638840": {"up_voted": false, "ip": "", "has_replies": false, "message": "I for one would love to see *better* support for Firefox from Microsoft. Windows Live Mail hasn't really changed much in the last few months despite the \"we're working on it\" message and OWA thru Firefox (or any non-IE browser) sucks ass.<br><br>Don't even get me started on support for Safari and Microsoft's decision to drop IE for the Mac! Ludicrious!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_18:08:49", "killed": false, "user_key": "afd158076adbd35812c909edbe52d5e4", "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}, "9638841": {"up_voted": false, "ip": "", "has_replies": false, "message": "Doug: Stop bringing up that \"targetting 10% of the browser market\" crap into this conversation. Fact is Firefox's market (and other non-IE browsers) is a higher than 10% <b>for the market AdCenter</b> is in.<br><br>Since you apparently love numbers, here's an example of how a site's target audience can make the browser statistics change:<br><a href=\"http://www.w3schools.com/browsers/browsers_stats.asp\" rel=\"nofollow\">http://www.w3schools.com/browsers/browsers_stat...</a><br><br>W3schools is a site targetted at webmasters and the link above is their traffic stats. W3school's traffic is <b>63%</b> IE, 25% Firefox.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_18:19:40", "killed": false, "user_key": "54328fcb511e6360232fa47bfbfb0090", "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}, "9638842": {"up_voted": false, "ip": "", "has_replies": false, "message": "No, dropping IE Mac was a good idea. It started as a really good browser, but like IE 6, it just got neglected all to hell. If you're not going to do anything with it, just keeping it around is silly.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_18:27:44", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "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}, "9638843": {"up_voted": false, "ip": "", "has_replies": false, "message": "Here's a link to an MS PM helping with the Firefox installer for Windows Vista:<br><br><a href=\"http://groups.google.com/group/mozilla.dev.apps.firefox/browse_frm/thread/86594176b67aa28e\" rel=\"nofollow\">http://groups.google.com/group/mozilla.dev.apps...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-06_21:21:14", "killed": false, "user_key": "b9ed774661a22ff8797a1e0e24f0baf3", "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}, "9638844": {"up_voted": false, "ip": "", "has_replies": false, "message": "I guess MSN does not want my money either. I use IE, but have high DPI display. Most MSN sites use fixed font sized, thus displaying very tiny fonts - barely readable. And <a href=\"http://expo.live.com\" rel=\"nofollow\">expo.live.com</a> is the worst - it uses fixed fonts, still managed to screw up the page layout (they obviously were creative) - so I have to scroll couple of pages to see the main page content. I guess they are obviously not interested in my money.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-07_00:53:04", "killed": false, "user_key": "a3c6c32779144d768cf16069e4db9f1c", "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}, "9638845": {"up_voted": false, "ip": "", "has_replies": false, "message": "Treating browser support as a feature is a bad idea, just from a practical point of view. It's like saying you'll add on security as a Version 2 feature - it's much harder to do after the fact.<br><br>The easiest way to build cross broswer web applications is to develop standards compliant HTML and use IE specific conditional comments to use modified CSS or Javascript which works around IE bugs. It's what the IE team is reccommending as well.<br><br>Standards compliant code is a measure of code quality, and you can't bolt quality on. It needs to be part of the process from day one.<br><br>I wrote about this a while ago:<br><a href=\"http://weblogs.asp.net/jgalloway/archive/2005/11/01/429200.aspx\" rel=\"nofollow\">http://weblogs.asp.net/jgalloway/archive/2005/1...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-07_02:09:02", "killed": false, "user_key": "63c32b4489d13b17d23fd9db1505bdf9", "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}, "9638846": {"up_voted": false, "ip": "", "has_replies": false, "message": "To clarify my comment (84) - IE7's is in many ways a lot closer to Firefox than IE6. That's why the IE team is reccommending that you write standards compliant code now, then modify it with conditional comments so your sites won't break when IE7 comes out.<br><br>It's a mistake to think you're covered by writing code that works in IE6, even if you don't care about \"those Firefox zealots\". Within a year (fingers crossed) that IE6 specific site won't look so good.<br><br>It's very shortsighted to write IE6 code right now - even if you manage to \"upgrade\" to add IE7 and Firefox support later, you'll always have patched code. Why not do it right from the start?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-07_02:25:49", "killed": false, "user_key": "63c32b4489d13b17d23fd9db1505bdf9", "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}, "9638847": {"up_voted": false, "ip": "", "has_replies": false, "message": "I disagree with John. Letting IE for Mac stagnate was a huge mistake for Microsoft. It allowed the entrance of Safari in the market. Even with small market share numbers it has a big mind share. It also force pretty much every Mac User to download Firefox (as the only option in the sites that think Windows is all there is). This is the same that is happening in music. The Windows Media Stores do not make a dent, because they are tied to Windows. Influential and \"bleeding edge\" Mac users can't use the, It is true, Microsoft does not want my money. I thought I will be forced to buy Virtual PC at some point, but later developments say I won't have to buy Microsoft products for my mac again!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-07_13:40:36", "killed": false, "user_key": "4556a42d71a742a0a0a08472fb0d524e", "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}, "9638848": {"up_voted": false, "ip": "", "has_replies": false, "message": "Microsoft is perfectly capable of fully supporting Windows Media on OS X as well as Linux. But Windows Media is not about such things.<br><br>Windows Media doesn't care about the best digital media experience as a thing unto itself. Windows Media has one major purpose:<br><br>To force you to use Windows if you want to see content. If you think that there is any other justification to Windows Media only being fully supported on Microsoft Platforms, you're fooling yourself. I guarantee you if QuickTime and iTunes and Real all jumped on to Windows Media tomorrow, you would still never, ever, ever see Windows Media 10 or 11 or whatever support on anything but a Microsoft -created OS.<br><br>You will *never* see Microsoft support Windows Media DRM fully on anything but a Microsoft created OS. To do so would grant a legitimacy to non-Microsoft OS's that neither Gates, nor Ballmer shall ever allow.<br><br>It is the reason why every time you see Microsoft offering a Windows interoperability solution, it is either a migration tool, or so crippled that you'd have to be masochistic to use it. Services for Macintosh is the perfect example.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-07_14:10:51", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "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}, "9638849": {"up_voted": false, "ip": "", "has_replies": false, "message": "John: I know that's the reason. What I am saying is that that strategy has failed for Microsoft. It's the reason they are not competitive. They do not compete!<br><br>Robert: <i> <a href=\"http://Live.com\" rel=\"nofollow\">Live.com</a> is going to do stuff that Google simply isn\u2019t trying to do yet. More to come this summer.</i> I see... Microsoft is doing great stuff with Ajax with \"more to come\" coming... Unfortunately, I will never get to see it, since I use Safari and, at most, Firefox. Pity.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-07_18:02:25", "killed": false, "user_key": "4556a42d71a742a0a0a08472fb0d524e", "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}, "9638850": {"up_voted": false, "ip": "", "has_replies": false, "message": "ychittaranjan wrote: I tried the site in question on Opera and it worked fine! Now what does Opera \u2018have\u2019 that Firefox \u2018hasn\u2019t?\u2019.<br><br>iiRC, older versions of Opera spoofed the user agent string by default to pretend to be IE 6.  In fact I can confirm that by using Opera 8.5 on Linux and going Tools -&gt; Preferences -&gt; Advanced -&gt; Network and changing \"Browser identification\" to \"Identify as MSIE 6.0\" that the form on <a href=\"https://adcenter.msn.com/Signup.aspx\" rel=\"nofollow\">https://adcenter.msn.com/Signup.aspx</a> loads just fine.<br><br>There really is no excuse for whoever designed that page to disallow users of alternate browsers when a simple notice at the top of the page, indicating that it *might* not work 100% correctly with alternate browsers, would suffice.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-07_18:29:44", "killed": false, "user_key": "236ad0c7c2bdbe68f9cb60a87558aeb1", "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}, "9638851": {"up_voted": false, "ip": "", "has_replies": false, "message": "Mike wrote:<br><br>&gt; Microsoft, at his very core, is feared as hell of everybody else. Call it hitech-xenophobia if you like.<br><br>quoting <a href=\"http://en.wiktionary.org/wiki/xenophobia\" rel=\"nofollow\">http://en.wiktionary.org/wiki/xenophobia</a><br><br>xenophobia: pathological fear/hatred of the unknown<br><br>Actually, any fear of Microsoft is because of what we *do know* about it...  consider Paul Thurrott's comments on <a href=\"http://www.winsupersite.com/reviews/winvista_5308_05.asp\" rel=\"nofollow\">http://www.winsupersite.com/reviews/winvista_53...</a><br><br>\"the bad, old Microsoft. This is the Microsoft that ran roughshod over competitors in order to gain market share at any cost. The Microsoft that forgot about customers in its blind zeal to harm competitors. The Microsoft, that frankly, all the Linux and Apple fanatics always imagined was out there, plotting and planning their termination. The Microsoft that threatens Windows fans with needless legal threats rather than reaching out and creating constructive relationships with the very people who prop up the company the most.\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-07_18:41:12", "killed": false, "user_key": "236ad0c7c2bdbe68f9cb60a87558aeb1", "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}, "9638852": {"up_voted": false, "ip": "", "has_replies": false, "message": "Tina wrote: \"most Firefox users are people who have chosen to use it, not because it was an already installed program on their computer. For Microsoft to win these people back, they have to offer something more than what Firefox users have already turned down. So let\u2019s just wait and see how IE7 turns out :D\"<br><br>The way I see it, MS knows that IE 6 is in rough shape; new security vulnerabilities are routinely found and patched up, but more importantly to MS, its hemmoraging market share badly.<br><br>IE 7 isn't about getting people to switch back from FF (IMHO IE 7 would have a tough time winning in a fight against FF *1.0*, never mind 1.5 or 2.0...), its about stopping (or at least slowing) the mass exodus from IE.  That's a more realistic goal.  If you look at <a href=\"http://www.xitimonitor.com/etudes/equipement14.asp\" rel=\"nofollow\">http://www.xitimonitor.com/etudes/equipement14.asp</a> you can see how bad its gotten for MS in Europe: about 20% of all Europeans are using FF, with some notable examples near or above 30% (Germany, Finland, Slovenia, etc.)<br><br>And based on my personal experience, each and every one of those people is now a good candidate for migrating to Linux, since the experience is the same regardless of the OS...<br><br>A decade ago, MS said it was \"delivering on its commitment to provide full-featured Web browser support on all major operating system platforms\" (see <a href=\"http://en.wikipedia.org/wiki/Internet_Explorer_for_UNIX\" rel=\"nofollow\">http://en.wikipedia.org/wiki/Internet_Explorer_...</a>) but then they won the browser wars and that was the end of that.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-07_20:43:39", "killed": false, "user_key": "236ad0c7c2bdbe68f9cb60a87558aeb1", "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}, "9638853": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jon wrote: \"here\u2019s an example of how a site\u2019s target audience can make the browser statistics change:<br><a href=\"http://www.w3schools.com/browsers/browsers_stats.asp\" rel=\"nofollow\">http://www.w3schools.com/browsers/browsers_stat...</a> W3schools is a site targetted at webmasters and the link above is their traffic stats. W3school\u2019s traffic is 63% IE, 25% Firefox.\"<br><br>One excellent example of a site where Firefox has taken over (no doubt one of the places where \"the most passionate people in society\" go ;) is BoingBoing (see <a href=\"http://www.boingboing.net/stats/awstats.boingboing.net.browserdetail.html\" rel=\"nofollow\">http://www.boingboing.net/stats/awstats.boingbo...</a>)<br><br>For May thusfar, its 46.3% FF vs 28.4% for IE", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-07_21:47:38", "killed": false, "user_key": "236ad0c7c2bdbe68f9cb60a87558aeb1", "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}, "9638854": {"up_voted": false, "ip": "", "has_replies": false, "message": "Previously, I wrote: \"There really is no excuse for whoever designed that page to disallow users of alternate browsers when a simple notice at the top of the page, indicating that it *might* not work 100% correctly with alternate browsers, would suffice.\"<br><br>Er... apparently, it *is* just a notice at the top of the page (but with a lot of white space to trick you into thinking you're getting an error page) if you scroll down, there's the form (though clicking on the billing tab doesn't work... I guess its true that they don't want my money ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-08_01:47:45", "killed": false, "user_key": "236ad0c7c2bdbe68f9cb60a87558aeb1", "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}, "9638855": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sean DALY wrote: \"Firefox happens to be the only cross-platform browser\"<br><br>You forgot about Opera :)<br><br>As per <a href=\"http://www.opera.com/download/index.dml?custom=yes\" rel=\"nofollow\">http://www.opera.com/download/index.dml?custom=yes</a> Opera is supported on Windows, Solaris, QNX, OS/2, MacOS, Linux, FreeBSD and BeOS (and on several chipsets).<br><br>Though AFAIK, Firefox is the only *open-source* cross-platform browser ;)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-08_01:59:38", "killed": false, "user_key": "236ad0c7c2bdbe68f9cb60a87558aeb1", "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}, "9638856": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh wait! There's Sea Monkey (formerly the Mozilla Suite) too! <a href=\"http://www.mozilla.org/projects/seamonkey/\" rel=\"nofollow\">http://www.mozilla.org/projects/seamonkey/</a> though it does share a common ancestor with Firefox.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-08_02:07:35", "killed": false, "user_key": "236ad0c7c2bdbe68f9cb60a87558aeb1", "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}, "9638857": {"up_voted": false, "ip": "", "has_replies": false, "message": "Regarding the \"More about system requirements\" link that appears non-functional, you can get to that by going through the FAQ (<a href=\"http://advertising.msn.com/microsoft-adcenter/faqs\" rel=\"nofollow\">http://advertising.msn.com/microsoft-adcenter/faqs</a>)<br><br>---<br>Which browsers work with Microsoft adCenter?<br>Microsoft Internet Explorer 6.0 or later. Microsoft adCenter is currently incompatible with Firefox, Safari and Internet Explorer 7 (beta) browsers. As Microsoft adCenter becomes compatible with additional browsers, we will update this site.<br>---<br>What do I need to run Microsoft adCenter?<br>Microsoft adCenter is a Web-based program that can be used on any computer. You will need to make sure you have the following:<br><br>o A working Internet connection.<br>o Microsoft Windows 98 or later operating system installed.<br>o Microsoft Internet Explorer 6.0 or later Web browser installed.<br><br>In addition, be sure to check that your system has the following:<br><br>o Macromedia Flash Player 6.0 or later installed to properly view adCenter reports. Download and install the latest version from Macromedia.<br>o Adobe Acrobat Reader installed. Download and install the latest version from Adobe.<br>o Screen resolution set to \u201cNormal size (96 DPI),\u201d and display resolution set to 1024 x 768 or higher. Consult your operating system's help for specific instructions.<br>o Microsoft adCenter ActiveX control installed. Add Microsoft adCenter to your browser's list of trusted sites. Consult your Web browser's help for specific instructions.<br>o Pop-up windows* allowed when visiting adCenter. Consult your Web browser's help for specific instructions.<br><br>* Additional small windows that 'pop up' over the web page you are viewing.<br>---<br><br>Wow, ActiveX *and* Pop-ups!  Sounds like a wonderful place to visit ^_-", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-08_02:25:26", "killed": false, "user_key": "236ad0c7c2bdbe68f9cb60a87558aeb1", "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}, "9638858": {"up_voted": false, "ip": "", "has_replies": false, "message": "There is a total disconnect between the statement \"As Microsoft adCenter becomes compatible with additional browsers\" and requiring a \"Microsoft adCenter ActiveX control\".<br><br>I'm beginning to think that future claims of support for other browsers was less of an afterthought than a statement like 'we're taking pre-orders for Duke Nukem Forever too' ;P", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-08_02:47:30", "killed": false, "user_key": "236ad0c7c2bdbe68f9cb60a87558aeb1", "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}, "9638859": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yeah...Hey MS, how 'bout you 'splain \"requires Active X\" and \"We'll support !IE\", because those statements are mutually exclusive.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-08_07:33:49", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "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}, "9638860": {"up_voted": false, "ip": "", "has_replies": false, "message": "I personally think that this just reflects on the sort of testing mentality over in Redmond.<br><br>They obviously know that it doesn't work in FF because they've took the trouble to create a special case message for it. So why not do the job properly and write compliant html code that doesn't require you to be viewing the internet through a browser that has been hashed-up to be able to parse bastardised code?<br><br>Any company the size of MS that releases a public facing website into the wild without ensuring its compatibility with all the mainstream browsers (like it or not, FF is mainstream) should be ashamed.<br><br>It occurs to me that maybe the reason that they don't bother is because they managed to convince the DOJ that Internet Explorer being an integral part of Windows was necessary - so for people that are accessing Windows Update they will always have IE installed so there is no need for FF compatibility.<br><br>Just for the record, I am not anti-Microsoft, and the above is probably the only antitrust case that I actually believe was justified. I would just like to be able to browse the web using whatever means I see fit.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-08_08:05:28", "killed": false, "user_key": "0c8825d03e6127bbdc18f1543c5b66eb", "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}, "9638861": {"up_voted": false, "ip": "", "has_replies": false, "message": "Limulus - I stand corrected. Many thanks for the heads-up.<br><br>Sean DALY", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-08_10:10:24", "killed": false, "user_key": "20b15be51f8a93b91ec7f250e1524a55", "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}, "9638862": {"up_voted": false, "ip": "", "has_replies": false, "message": "For me it actually takes less time to do a web project if I start with Firefox then add the hacks for IE. I've only been bit by this one time when I created a project that used JSON and built a large tree structure in script. It worked fine in Firefox even with a large tree of 4,700 plus entries. When I tried it in IE, it worked fine up to around 1,200 entries, then tanked. In Firefox it took less than two seconds with 4,700 plus entries but almost two minutes in IE! I had to rewrite this one piece (which actually worked out better) because of IE.<br><br>The company I work at has IE on every desktop. I still use Firefox to start with because I support employees who sometimes work from home and may or may not want to use IE.<br><br>The bottom line for me is that starting with Firefox usually reduces my development time. BTW, I am not an XHTML zealot, I still use HTML 4.01 strict most of the time.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-08_23:52:23", "killed": false, "user_key": "ca882327303b67c770270172758ce2ff", "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}, "9638863": {"up_voted": false, "ip": "", "has_replies": false, "message": "What I find amusing is that, with security restrictions on high (which every IE user should have them on) with file downloads and script prompting, I get script errors and half a page. In your own browser!<br><br>So I bumped it down to medium to see what the fuss was about. Wanted to see this amazing complicated AJAX usage. Um. All I saw was the page loading large sections without going to a different page...<br><br>Is that it? What exactly are you doing there that couldn't be done with static or semi-static HTML? In fact why isn't this just HTML? Why are you trying to use a markup language your own browser doesn't understand? Why do you have to trigger quirks mode in your browser to get it to work? Have the developers not heard of unintrusive scripting? Seperation of structure from style from behaviour?<br><br>There's nothing on those pages that couldn't be done in valid HTML. Any version of HTML really.<br><br>Lame.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-09_04:31:55", "killed": false, "user_key": "0b0e5425835511571d7b1f3393faf206", "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}, "9638864": {"up_voted": false, "ip": "", "has_replies": false, "message": "I dont think Peter Kay's grandmother will ever think of an IE alternative. But people who are wired a lot, does. Chances are that the so called 10% represent the most active /advanced users, who would probably go ahead and experiment new products[hei! thts why the other 90% dont try Firefox!!].<br>So if Microsoft is gonna say no to Firefox, most of these \"let me try\" users just wont try their stuff!! Who else will??!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-09_06:55:40", "killed": false, "user_key": "dcfe8221c75c70b5c59d63c96712c07b", "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}, "9638865": {"up_voted": false, "ip": "", "has_replies": false, "message": "Not a lot of people know this, but almost any business or strategic problem can be easily solved by applying the lessons of the terrific Rob Reiner movie The Princess Bride.<br><br>The stupidity of adCenter not working with anything but IE is pretty obvious \u2014 a lot of the people who are potential customers of this service, like, say, me, are Firefox users.  Right away, with a brand-new product and a lot of competition, Microsoft is alienating customers.<br><br>And to use two characters from the movie as metaphors, rather than behaving like Inigo and Westley -- fast, agile, lethal and working together -- Web 2.0 guys -- Microsoft is behaving like Fezzik -- slow, powerful, but lumbering. At the end of the movie, Westley gets the princess, Inigo gets rich, and we never hear from Fezzik again.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-09_14:22:06", "killed": false, "user_key": "3edc6db082311fa355c026a51b33fd2b", "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}, "9638867": {"up_voted": false, "ip": "", "has_replies": false, "message": "Just try this with Firefox: <a href=\"http://www.microsoft.com/businesssolutions/content/demos/Axapta/seq16/level0.html\" rel=\"nofollow\">www.microsoft.com/businesssolutions/content/dem...</a><br><br>It should tell us more about MS business software, but instead the Firefox user sees a grey square.<br><br>And here we have something about the Balanced Scorecard: <a href=\"http://www.microsoft.com/businesssolutions/content/demos/Axapta/seq11/level0.html\" rel=\"nofollow\">www.microsoft.com/businesssolutions/content/dem...</a><br>The same level of grey content.<br><br>I guess you could try any of these links: <a href=\"http://www.microsoft.com/dynamics/ax/product/demos.mspx\" rel=\"nofollow\">www.microsoft.com/dynamics/ax/product/demos.mspx</a><br>All use the same method and all fail to load in Firefox because the embed-content is not synchronized with the object-content.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-09_15:00:53", "killed": false, "user_key": "1344cf4ad88d9f200150fa8cb8f28da6", "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}, "9638868": {"up_voted": false, "ip": "", "has_replies": false, "message": "Speaking of bashing, have you seen the new commercials about no viruses attacking Mac's?  The only logical reason for this is because no wants to write a virus for a computer system noone uses!!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-09_19:20:33", "killed": false, "user_key": "e202148e6249ec0aa6661fe4890df3fc", "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}, "9638869": {"up_voted": false, "ip": "", "has_replies": false, "message": "Web services should not support IE, Firefox, Opera, Safari, Lynx, ... They should follow web standards AND be tested in several popular browsers. The former is more important. If a web service complies to standards but fails the test in a particular browser, and that browser's user base is important (like with IE), it should implement a workaround.<br><br>I repeat: it's more important to follow web standards than to \"support browsers\". If a web site doesn't follow web standards, it's likely to fail in any browser other than those specifically \"supported\". But if a standards-compliant site fails in some (less popular) browser, it may encourage the browser developers to fix the bug. In the end, it's better to work in all browsers but the buggy one than to fail in all browsers but the \"supported\" one(s).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-10_02:16:39", "killed": false, "user_key": "ef141ace7daf0325cdfcdff8307f38ff", "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}, "9638872": {"up_voted": false, "ip": "", "has_replies": false, "message": "Draco, if you are referring to this thread[all the related hype and the now infamous LATE CNN coverage]:<br><a href=\"http://forums.macrumors.com/showthread.php?t=180066\" rel=\"nofollow\">http://forums.macrumors.com/showthread.php?t=18...</a><br>That aint a Mac vulnerability . You have to download and CLICK it.<br>Show something else :)<br>And the context you chose is totally inappropriate!Its like saying \"speaking of bashing, my GF dumped me!\"<br>Try somewhere else dude.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-10_02:18:07", "killed": false, "user_key": "dcfe8221c75c70b5c59d63c96712c07b", "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}, "9638873": {"up_voted": false, "ip": "", "has_replies": false, "message": "Coming to this thread very late, but I want to correct something some people have said.  A lot of people have talked about how these Windows Live websites are beta and that when they're finished they'll support whatever.<br><br>No.  This is an absolutely wrong mindset.  If a website is publicly accessible, if any Joe Q. Public can access it, then it has been \"released.\"  The term \"beta\" is a holdover from when disks were being shipped out to a certain large group of test users.  It should be discarded.  Applied to a website, the term \"beta\" is absolutely meaningless.<br><br>If people can access the website or service, then they are dealing with the final product you have put out there.  As some people have noted, you essentially have one chance to get people interested in a website or service.  If the site or service doesn't support their major browser (i.e. Firefox), they're not coming back.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-10_14:56:41", "killed": false, "user_key": "d7db2c5f6bad64aa19f153b4b54a53d1", "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}, "9638874": {"up_voted": false, "ip": "", "has_replies": false, "message": "Cry me a river Firefox does not work with another website? Old news, get the facts:<br><br><a href=\"http://www.firefoxmyths.com\" rel=\"nofollow\">http://www.firefoxmyths.com</a><br><br>Before the fanboys decide to go burn Redmond down they better come to the realization that Microsoft can support whatever they want with their web pages. I wonder how many of these Fanboys also support the Explorer Destroyer Campaign.<br><br>Another News Flash, if you have over 85% of the market you do not worry about the rest.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-11_19:45:11", "killed": false, "user_key": "302beb62dc6f2f47acc9e3bbe2fe4f34", "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}, "9638875": {"up_voted": false, "ip": "", "has_replies": false, "message": "Once again, your company doesn't want me to try your web server. :)<br><br>\"Due to the complex requirements of presenting these lab content over the internet, only Microsoft Internet Explorer 6 or later is supported.\"<br><br><a href=\"http://staginglabs.iis.net/\" rel=\"nofollow\">http://staginglabs.iis.net/</a><br><br>Guess I'll stay with Apache and AOL Server, then. :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2006-05-23_19:34:16", "killed": false, "user_key": "5d1483d16d793cad13a8358609000349", "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}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "18355779", "user_id": "anonymous", "forum_id": "125200", "hash": 8181064701680022846}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "microsoft_doesn8217t_support_firefox", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18355779, "num_posts": 103, "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=microsoft_doesn8217t_support_firefox' +
		'&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/microsoft_doesn8217t_support_firefox/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='	+ 'microsoft_doesn8217t_support_firefox'
			+ '&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/microsoft_doesn8217t_support_firefox/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">103</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/microsoft_doesn8217t_support_firefox/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/microsoft_doesn8217t_support_firefox/">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/microsoft_doesn8217t_support_firefox/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:18355779" 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'				: 'microsoft_doesn8217t_support_firefox',
			// 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/microsoft_doesn8217t_support_firefox/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='	+ 'microsoft_doesn8217t_support_firefox'
			+ '&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='	+ 'microsoft_doesn8217t_support_firefox'
			+ '&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='		+ 'microsoft_doesn8217t_support_firefox'
				+ '&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/18355779/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-9638767">\
	 <div id="dsq-comment-header-9638767" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638767" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638767" href="http://chrisgonyea.com/" target="_blank" rel="nofollow">Chris G.</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638767" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638767" class="dsq-comment-message">Nice to see you talk about this.<br><br>I know I automatically avoid Microsoft services these days unless I have no other choice, because most of the time they never work with Firefox or at best, work poorly.<br><br>Sure Firefox is somewhere around 10% marketshare, give or take, but you know how big 10% is of the Internet\'s user base? Your talking 10s of millions of people...if not approaching 100s of millions.<br><br>Any company who chooses to avoid that potential customer base size has no clue.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638768">\
	 <div id="dsq-comment-header-9638768" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638768" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638768" href="http://selfdeprecatingjournalism.blogspot.com/" target="_blank" rel="nofollow">Brook</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638768" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638768" class="dsq-comment-message">Who though that supporting FireFox and other browsers in general wasn\'t important?!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638769">\
	 <div id="dsq-comment-header-9638769" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638769" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638769" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638769" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638769" class="dsq-comment-message">Brook: it\'s not that they don\'t think it\'s important, it\'s that they put it on a lower priority and are trying to get things out faster.<br><br>Increasing the number of clients you need to support increases time to market and increases number of people each team needs.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638770">\
	 <div id="dsq-comment-header-9638770" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638770" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638770" href="http://selfdeprecatingjournalism.blogspot.com/" target="_blank" rel="nofollow">Brook</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638770" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638770" class="dsq-comment-message">Maybe the team should have written a more polite message, something like:<br><br>"Sorry no FireFox support yet, but we are working on it"</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638771">\
	 <div id="dsq-comment-header-9638771" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638771" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638771" href="http://mulley.net/" target="_blank" rel="nofollow">Damien Mulley</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638771" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638771" class="dsq-comment-message">Why not higher someone that can build webpages that work on all, not just IE, not just IE and Firefox but All? I hadn\'t realised it was that difficult to do but I\'ve forgotten all my HTML skills of late. Perhaps higher some of the kids out there who make it seem so easy?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638772">\
	 <div id="dsq-comment-header-9638772" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638772" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638772" href="http://mulley.net/" target="_blank" rel="nofollow">Damien Mulley</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638772" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638772" class="dsq-comment-message">Hire, not higher. D\'oh!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638773">\
	 <div id="dsq-comment-header-9638773" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638773" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638773">Michael Griffiths</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638773" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638773" class="dsq-comment-message">Robert, please realize iniatives like the one you just suggested are precisely the same thing that makes Microsoft less agile.<br><br>Microsoft products are expected to ship in X numer of languages, comply to X quality level, go through N security reviews, etc.<br><br>This type of beurocracy increases the overall quality of the software, but reduces time to market.<br><br>You need to optimize this. Given MSN/Live\'s commitment to cross-browser standards AFTER getting it to work in IE, I\'m not sure they\'re sriking the wrong balance.<br><br>People pick on Microsoft for the smallest possible reason, and view everything they do in a neative mental framework. Certainly, you need to change that - but it doesn\'t mean a unilateral rule is the right way.<br><br>Incidentally, you\'re argument about influentials is a good one. But you need to tone down the rhetoric and approach influentials WITHIN Microsoft to get that around. Bring it up when you meet with teams as part of your job on Channel9: "Do you know how many reporters are using Firefox to evaluate your products?"<br><br>If you can make the point that cross-browser functionality is a POLITICAL (i.e. PR) argument, and NOT a "overall usefulness" or "necessary" argument, it\'s much more effective.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638774">\
	 <div id="dsq-comment-header-9638774" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638774" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638774" href="http://www.dungis.com/" target="_blank" rel="nofollow">Regis</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638774" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638774" class="dsq-comment-message">&gt;We\'re sorry. Windows Live Shopping Beta does not yet support Firefox.<br>&gt;We’re working to correct this as soon as possible.<br>That\'s exactly what we did...<br>Yeah, it sucked to have to cut this to meet our release date, and we did cut other stuff that we wanted even more.<br>And yes, we\'re working on it right now :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638775">\
	 <div id="dsq-comment-header-9638775" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638775" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638775">Sean DALY</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638775" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638775" class="dsq-comment-message">Why not just build websites to W3C standards? That way you know you are compatible with Mozilla-based browsers.<br><br>I myself use IE only to run Windows Update, and I counsel friends and family to not risk financial transactions with IE because of the security issues (over and above the advice I have to give about protecting a Windows computer).<br><br>Firefox happens to be the only cross-platform browser, as Microsoft has dropped support on Apple and couldn\'t care less about GNU/Linux users. Everyday users don\'t care, but power users who connect to the web with different machines throughout the day like finding the same interface for browsing.<br><br>Firefox also offers natively live RSS bookmarks, which I understand will be available in IE sometime in 2007.<br><br>Sean DALY.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638776">\
	 <div id="dsq-comment-header-9638776" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638776" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638776">Andrew</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638776" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638776" class="dsq-comment-message">Why only Firefox, what about Safari/Opera?<br><br>If you want to give me a message that states your site may not display correctly on my browser of choice then that\'s fine, but at least let me use it as-is.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638777">\
	 <div id="dsq-comment-header-9638777" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638777" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638777" href="http://blog.rsynnott.com/" target="_blank" rel="nofollow">Rob</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638777" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638777" class="dsq-comment-message">The need to get things out faster isn\'t really a valid excuse, though. Everyone else manages it. When Google launches a new product, people would be very surprised if it didn\'t work on at least IE, Firefox and Safari; with MSN products, one would tend to assume the opposite until proven otherwise. Even design nightmares like Bebo seem to manage to work on most common browsers, broken though they may be in other ways.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638778">\
	 <div id="dsq-comment-header-9638778" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638778" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638778" href="http://www.dahowlett.com" target="_blank" rel="nofollow">dahowlett</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638778" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638778" class="dsq-comment-message">This is a breath of fresh air Robert - brave- but it begs the question as to whether MSFT sees IE7 as a continuing lock-in plank or whether you\'re a lone voice. If this kind of discussion is being taken seriously inside MSFT dev, then can you point to others with whom \'we\' FF bigots can shoot the breeze? that would be serious, enterprisey goodness.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638779">\
	 <div id="dsq-comment-header-9638779" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638779" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638779">Doug</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638779" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638779" class="dsq-comment-message">"Why not just build websites to W3C standards?" - so you don\'t like \'AJAX\' sites then? XMLHTTPRequest isn\'t a W3C standard yet.<br><br>Its an idealistic goal to support all browsers from the get-go, but thankfully things are starting to converge in terms of browser supported features. But it is MS place to innovate (as indeed most developers), and sometimes their own products are best placed to meet those innovations.<br><br>I also agree with Michael Griffiths; push this from a PR standpoint, not a techy/geek angle. You claim benefits of aiming towards saatisfying the Fx enthusiasts, but have you weighed the benefits to MS from speedier delivery to 90% of the market?<br><br>Nice idea not linking to browser specific sites though.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638780">\
	 <div id="dsq-comment-header-9638780" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638780" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638780" href="http://hypertime.wordpress.com/" target="_blank" rel="nofollow">hypertime</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638780" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638780" class="dsq-comment-message">Yeah, I guess all those years of leveraging Microsoft\'s undisputed desktop monopoly for proprietary technology designed to eliminate every viable competitor and to ensure lock-in to in-house products kind of formed some nasty habits.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638781">\
	 <div id="dsq-comment-header-9638781" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638781" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638781">Jon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638781" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638781" class="dsq-comment-message">Nice post Robert. This is one of the few times I agree 100% with you.<br><br>I can understand if they don\'t have 100% cross-browser compatibility within the members area at launch but it is pretty sad that you can\'t even <b>sign up</b> for the service without using IE.<br><br>What could possibly be on a sign up form that makes it technically impossible to use a non-IE browser?<br><br>I have a high traffic site I wouldn\'t mind trying MS\'s ad center on but this is a big negative mark on the service and I\'m not touching it till Firefox is supported. IE-only sites are so 1990s.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638782">\
	 <div id="dsq-comment-header-9638782" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638782" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638782">Jake</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638782" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638782" class="dsq-comment-message">So where the development tools teams stand on this?<br><br>Aren\'t they ones writing development tools that generate code that target IE? Using those tools leads to services that target IE and exclude Firefox. If the tools were agnostic, then time to market for service development would be a wash.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638783">\
	 <div id="dsq-comment-header-9638783" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638783" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638783">Jon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638783" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638783" class="dsq-comment-message">"so you don’t like ‘AJAX’ sites then? XMLHTTPRequest isn’t a W3C standard yet."<br><br>Stop trolling. It\'s <b>absolutely</b> possible to make a site that\'s 100% XHTML compliant that uses AJAX technology. Stop spreading BS please.<br><br>"You claim benefits of aiming towards saatisfying the Fx enthusiasts, but have you weighed the benefits to MS from speedier delivery to 90% of the market?"<br><br>I guess you missed the part that even Scoble mentioned in his post:<br><br><i>Because a high percentage of influentials are Firefox users.In other words, if you want the most passionate people in society to use your stuff, you must support Firefox.</i><br><br>90% of the total web population may be IE users but I can assure you that the target audience for this service is anything but 90% IE.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638784">\
	 <div id="dsq-comment-header-9638784" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638784" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638784" href="http://www.dahowlett.com" target="_blank" rel="nofollow">dahowlett</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638784" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638784" class="dsq-comment-message">My goodness - this is a seriously high quality discussion. And there\'s me a newly converted Mac bigot after 24 years of Wintel. Listen guys, why not keep it simple.<br><br>1 You in the blue corner (MSFT), stop messing about. Ask the community what they want in IE7, prepare to hand it over to them so they can make MSFT great.<br><br>2. You in the red corner - APPLE - big it up for Robert, He\'s putting his professional nuts on the line here - guess what - play your cards right and you get a piece of the pie (hint - you got me already but you haven;t earned your corn just yet.)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638785">\
	 <div id="dsq-comment-header-9638785" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638785" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638785" href="http://spaces.msn.com/scottie/" target="_blank" rel="nofollow">Scott</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638785" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638785" class="dsq-comment-message">Ironically Darren\'s site looks pretty rough in IE.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638786">\
	 <div id="dsq-comment-header-9638786" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638786" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638786" href="http://alfredo.octavio.net/" target="_blank" rel="nofollow">Alfredo Octavio</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638786" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638786" class="dsq-comment-message">Don\'t forget us the influential Mac user that actually buys Office from Microsoft... No Window Media, No Music Store, No Safari support... No good Messenger...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638787">\
	 <div id="dsq-comment-header-9638787" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638787" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638787" href="http://spaces.msn.com/volatilechar" target="_blank" rel="nofollow">Dileepa P</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638787" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638787" class="dsq-comment-message">Windows Live Mail M6 to support Firefox<br><br>Straight from the horse\'s mouth:<br><a href="http://spaces.msn.com/mailcall/Blog/cns%21CC9301187A51FE33%213771.entry" rel="nofollow">http://spaces.msn.com/mailcall/Blog/cns!CC93011...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638788">\
	 <div id="dsq-comment-header-9638788" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638788" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638788" href="http://www.tomrafteryit.net/" target="_blank" rel="nofollow">Tom Raftery</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638788" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638788" class="dsq-comment-message">Well done Robert,<br><br>I wrote a post earlier this week on <a href="http://www.tomrafteryit.net/windows-live-mails-exclusionary-philosophy/" rel="nofollow">Windows Live Mail\'s exclusionary policy</a> of supporting IE only. I put up a screenshot of the crappy interface  that is Live Mail in Firefox.<br><br>Keep pushing that boat out and making Microsoft a better corporate citizen for all of us.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638789">\
	 <div id="dsq-comment-header-9638789" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638789" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638789" href="http://bankwatch.wordpress.com/" target="_blank" rel="nofollow">Colin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638789" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638789" class="dsq-comment-message">I have to disagree and I do agree with Doug above.  The issue is W3C standards.  We come across this all the time with browser support for our online banking applicaition up here in Canada ( <a href="http://www.bmo.com" rel="nofollow">www.bmo.com</a> ).<br>We push the developers for open standard support, yet the flaws in IE continually push us to browser specific support.<br>We should be able to develop apps with W3C support, and it should be up to the browsers manufacturers to follow those, but this just doesn\'t happen.<br>If Mircosoft could be 100% W3C compatible this would put them in the lead overnight.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638790">\
	 <div id="dsq-comment-header-9638790" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638790" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638790" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638790" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638790" class="dsq-comment-message">Tom and Dileepa: The Live Mail team told me two weeks ago they were going to support Firefox. In fact, most teams, even those who ship only IE support at first, tell me that Firefox versions are coming. I just think that Firefox support should be there from the very beginning.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638791">\
	 <div id="dsq-comment-header-9638791" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638791" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638791" href="http://spaces.msn.com/volatilechar" target="_blank" rel="nofollow">Dileepa P</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638791" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638791" class="dsq-comment-message">Yes... I agree... At least it\'s getting better, right? I remember the very first interviews the WLMail team - and they very clearly told that at the moment they were only concentrating on IE and no other browsers. Now, they are going to release a version that works well in FF.<br><br>I use both FF and IE7 - IE7 is a memory hog, but hangs way less than FF (no extensions installed).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638792">\
	 <div id="dsq-comment-header-9638792" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638792" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638792" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638792" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638792" class="dsq-comment-message">Dileepa, oh, it certainly is getting better. Microsoft teams generally are pretty good about prioritizing things that have large usage patterns.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638793">\
	 <div id="dsq-comment-header-9638793" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638793" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638793" href="http://heseltine.blogspot.com/" target="_blank" rel="nofollow">Simon Heseltine</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638793" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638793" class="dsq-comment-message">Totally agree, if you go completely insular and only support your own products you\'ll just succeed in driving people away from your products, although as a developer in a past life, I do understand the need to cut features to get a product out, with the intention of improving and adding those features back in at a later date (of course, some of them continue to get cut and eventually just fall off the list).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638794">\
	 <div id="dsq-comment-header-9638794" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638794" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638794">William</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638794" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638794" class="dsq-comment-message">I\'d far prefer see Windows Live products out of the door, with IE support only than not at all, and a long delay.<br><br>In the same way that most products &amp; services are rolled out progresively in teh \'real\' world - you have a partner, then another, then you build on it to expand. This "all in one go" stuff seems to just slow the process down.<br><br>Additionally, I\'m coming accross an inreasingly high number of websites that are Firefox only. Do they get the same sort of bashing? I could be wrong, but I dont get that impression.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638795">\
	 <div id="dsq-comment-header-9638795" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638795" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638795" href="http://www.brandonlive.com/" target="_blank" rel="nofollow">Brandon Paddock</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638795" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638795" class="dsq-comment-message">I think there\'s a difference between "not supporting Firefox" and "not supporting Firefox from the start."<br><br>Frankly I don\'t think it\'s a huge deal that some services in BETA don\'t support Firefox - if they\'re planning to before release.<br><br>AdCenter certainly should have had at least a fallback-mode ready.  So I\'m with you on this one Robert... that just plain sucks.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638796">\
	 <div id="dsq-comment-header-9638796" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638796" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638796" href="http://blog.nordquist.org" target="_blank" rel="nofollow">Brett Nordquist</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638796" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638796" class="dsq-comment-message">The problem with adding Firefox support at a later date is that if I visit a site that doesn\'t offer support at launch, I don\'t go back. So you might work really hard on your site or product and spend a lot of money getting me there but if my first experience sucks I won\'t go back. There are too many other companies that care enough to make my first experience a positive one.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638797">\
	 <div id="dsq-comment-header-9638797" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638797" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638797">Jimbo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638797" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638797" class="dsq-comment-message">It was my understanding that the long term strategy for Windows Live is about creating lock-in for IE by providing gadgets and apps that only work in IE. At least that\'s what I\'ve read. Am I wrong? If the long term goal IS universal access, that would be nice. But that would involve competing purely on merit.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638798">\
	 <div id="dsq-comment-header-9638798" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638798" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638798" href="http://www.sundoggy.net/" target="_blank" rel="nofollow">sundoggy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638798" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638798" class="dsq-comment-message">Good discussion. I am in the camp to just develop to W3C standards and be done with it (and that means making IE7 W3C compliant too), without the MS hooks. I\'m an Apple guy to the bone, but I\'m also a Microsoft customer for almost as many years. I want this stuff to work in Safari, or at least Firefox Mac (but if you stick to standards, then I can use Safari).<br><br>And BTW, Robert, this also comes back to your "influentials" comment. As you know, something bordering on the majority of technology "influentials" use Macs these days. MS should take this opportunity to use the service applications to leap frog everyone and free them from the past of their own inhibiting legacy (Windows OS), its dragging reliance on backward compatibility, and anti-trust lawyers at elevator stop. If MS ties this at all to Windows OS, they are locking themselves and their users in the past, when they should be defining the future. It may take 15 years, but that kind of strategy will take them down.<br><br>There is a huge opportunity here... No one is that close to really having a solid and comprehensive net-Office, or complete service package (all the players seem to have one or two good pieces, but no one has the MS Office of web aps yet). It\'s time to reinvent MS, and the tools and pieces are all there...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638800">\
	 <div id="dsq-comment-header-9638800" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638800" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638800">Matt Rolak</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638800" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638800" class="dsq-comment-message">While I\'m all for having full browser support in all \'online\' services.. doing so at the first launch has a cost.  While it may be easy to say \'develop a site that is cross-browser from the start\' that isn\'t so true on the testing side of things.<br><br>Robert, you want to give out 3.0\'s to everyone who doesn\'t support \'all\' browsers then you better give them the $$ to hire the people to TEST those systems in order to get out of your \'auto-3.0-hell\'.  Over and over I see messages stating that dev time is the big constraint.. let\'s not forget about testing too!  It\'s great if I can write code which is supposed to work in FireFox, IE, Safari, Opera, etc... but we still have to test it.  One of the scariest things to a tester is \'we got this working in X-browser for no dev time so it\'s free for us to have this feature\'.  Features (and yes, supporting more than 1 browser is a feature) are never free...<br><br>---just the thoughts of a tester on one of those sites I guess you won\'t link to cause we don\'t have Firefox support yet :(</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638801">\
	 <div id="dsq-comment-header-9638801" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638801" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638801">Diego Barros</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638801" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638801" class="dsq-comment-message">Excellent post Robert. I hope it all comes to fruition soon.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638802">\
	 <div id="dsq-comment-header-9638802" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638802" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638802">Dmad</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638802" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638802" class="dsq-comment-message">@26  You\'d think that with all he time you spend with various and sundry MS dev teams you would understand the risks of shipping with all browser support in V1 of a product. Do you really think MS would want to risk losing money by shipping even later simply to support Firefox?  There is a difference between not supporting firefox, period, and not supporting it until later versions.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638803">\
	 <div id="dsq-comment-header-9638803" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638803" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638803" href="http://www.brandonlive.com/" target="_blank" rel="nofollow">Brandon Paddock</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638803" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638803" class="dsq-comment-message">Jimbo -<br><br>You are wrong.  The strategy for Windows Live has been to support Firefox at the earliest opportunity (and to work with Opera and Safari as much as possible).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638804">\
	 <div id="dsq-comment-header-9638804" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638804" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638804">kp</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638804" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638804" class="dsq-comment-message">Robert,<br>I am sorry to say this but you sound naive. Why should Microsoft support a competing product? If I were Microsoft, I am in a business of making money and I will make sure my customers (aka users) don\'t use products other than mine. Also, Firefox is now passe considering the leaps that IE7 has made. I was a fan of Firefox till I found IE7 beta.<br><br>If I were Bill Gates I\'d issue a memo that said "any team that ships without supporting what majority of end users want automatically gets 3.0s for all members."...and if I were Bill Gates I WOULD make sure majority of users would eventually be satisfied with Microsoft products only (i.e. I will focus on innovating stuff that users would love). Keep in mind, Microsoft is all about predicting what will be bleeding edge and them making it happen for end users. 10 years back no one imagined a Windows based UI for desktop will rule the industry.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638805">\
	 <div id="dsq-comment-header-9638805" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638805" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638805" href="http://blog.nordquist.org" target="_blank" rel="nofollow">Brett Nordquist</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638805" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638805" class="dsq-comment-message">kp: You\'re kidding, right, when you say Firefox is passe? What "leaps" has IE 7 Beta made that you can\'t find in Firefox? You assume all users are created equal, but they are not. MS *should* care about that 10% who use Firefox because they are the most savvy, most influential users that MS should want as customers.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638807">\
	 <div id="dsq-comment-header-9638807" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638807" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638807">Diego Barros</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638807" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638807" class="dsq-comment-message">kp: Leaps that IE7 has made? Maybe leaps from IE6, certainly not over Firefox. It\'s only playing catchup to Firefox. MS had been sleeping after the work they had done with IE and killing Netscape. Firefox nudged them out of their slumber.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638808">\
	 <div id="dsq-comment-header-9638808" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638808" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638808">Devil&#39;s Advocate</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638808" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638808" class="dsq-comment-message">@37 - shipping cross platform apps is less risky if you develop for all platforms at once.  Otherwise you end up doing rework on the first platform when you go back to add the second.<br><br>IE 7 is still less capable and standards compliant than Firefox.<br><br>I use Safari 90% of the time.  Support it.<br><br>Practically speaking - Safari 1.3+, Firefox 1.0+, and IE 6+ constitute 98% of web traffic.  You must support at least these or you are losers.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638809">\
	 <div id="dsq-comment-header-9638809" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638809" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638809" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638809" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638809" class="dsq-comment-message">Devil\'s: Scott and I talked about Safari. That one is going to be harder because it has a bug that keeps advanced AJAX stuff from working.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638810">\
	 <div id="dsq-comment-header-9638810" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638810" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638810">Tom Raftery</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638810" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638810" class="dsq-comment-message">Robert - I agree absolutely (no surprise there) - Microsoft\'s products do need to support Firefox out of the gate.<br><br>I wouldn\'t count myself as one of the \'influentials\' but I have reviewed many of Microsoft\'s releases soon after their release and I have always panned them for their lack of Firefox support.<br><br>In fact, I have gone further and left comments on the blogs of any of the teams who had them (like the <a href="http://start.com" rel="nofollow">start.com</a> team, for instance) but I always got the impression that I was annoying people rather than providing valuable feedback.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638811">\
	 <div id="dsq-comment-header-9638811" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638811" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638811" href="http://jean.wordpress.com/" target="_blank" rel="nofollow">jean</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638811" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638811" class="dsq-comment-message">If you want users to use your services its simple provide support for firefox.  I myself uses firefox and hotmail not written to support for firefox is sad, which makes users likemyself use yahoo mail.<br><br><a href="http://www.irin.co.uk" rel="nofollow">www.irin.co.uk</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638812">\
	 <div id="dsq-comment-header-9638812" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638812" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638812" href="http://ychittaranjan.wordpress.com/" target="_blank" rel="nofollow">ychittaranjan</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638812" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638812" class="dsq-comment-message">Whoa! there was some stuff up above that I couldnt understand but I did most of it anyways! I tried the site in question on Opera and it worked fine! Now what does Opera \'have\' that Firefox \'hasn\'t?\'.<br>And the less said about how "IE7 is better than Firefox", the better!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638813">\
	 <div id="dsq-comment-header-9638813" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638813" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638813">Mike</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638813" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638813" class="dsq-comment-message">Microsoft, at his very core, is feared as hell of everybody else. Call it hitech-xenophobia if you like.<br><br>They have found a way to fight this (BillG memo 1991), and that\'s to recreate their own file formats everytime there is a new standard/file format to deal with.<br><br>That Microsoft should support Firefox, i.e. a bunch of  file formats that were not created at Microsoft in the first place is both ludicrous and a lack of understanding of Microsoft\'s core business.<br><br>This is never going to happen. Because it\'s hard. Having to worry about others is hard. It might fool a couple influential bloggers though.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638814">\
	 <div id="dsq-comment-header-9638814" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638814" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638814" href="http://threebyfive.wordpress.com/" target="_blank" rel="nofollow">Tina</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638814" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638814" class="dsq-comment-message">I totally agree with you. I just wrote an entry about this too. I don\'t mind Microsoft products in general, but when they block me from using their services it does not make me want to switch over to IE. Microsoft has more to win from making their services available for everyone, than by trying to convert people back to IE!<br><br>They need to remember that most Firefox users are people who have chosen to use it, not because it was an already installed program on their computer. For Microsoft to win these people back, they have to offer something more than what Firefox users have already turned down. So let\'s just wait and see how IE7 turns out :D</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638815">\
	 <div id="dsq-comment-header-9638815" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638815" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638815">Jim Hill</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638815" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638815" class="dsq-comment-message">Robert: you say<br><blockquote>it’s not that they don’t think it’s important, it’s that they put it on a lower priority and are trying to get things out faster<br></blockquote><br>and<br><blockquote>[Safari] has a bug that keeps advanced AJAX stuff from working.</blockquote><br>&mdash; and that pair is the heart of the matter.  The issue isn\'t, except among the fanboys, really about Microsoft\'s support for Firefox or Safari or iCab or Amaya or whathaveyou.<br><br>It\'s about Microsoft trying to support the standards all those other people\'s browsers are also trying to support.  Safari can\'t do AJAX because it\'s got a bug? That\'s Safari\'s problem.  Apple will get no sympathy for that problem beyond the baseline it-happens-to-everybody forbearance.<br><br><a href="http://www.usdoj.gov/atr/cases/f3800/msjudgex.htm#iiia" rel="nofollow"> Judge Jackson\'s explanation</a> (at paragraph 36) of network effects explains what Microsoft have been after &mdash; that they produce real, and huge, value &mdash; perhaps less provocatively than kp did above.  But I think, because standards evolve, this game is the iterated  prisoner\'s dilemma with a real and huge reward for cooperation.  Microsoft\'s strategy has been consistent defection.  Long-term, it\'s not a winner.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638816">\
	 <div id="dsq-comment-header-9638816" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638816" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638816">Jim Hill</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638816" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638816" class="dsq-comment-message">Gaaah! Paragraph 39, not 36!Sorry.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638817">\
	 <div id="dsq-comment-header-9638817" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638817" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638817" href="http://fatfingur.wordpress.com/" target="_blank" rel="nofollow">fatfingur</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638817" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638817" class="dsq-comment-message">I think Microsoft should comply with web standards through their browser because they don\'t own the web.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638818">\
	 <div id="dsq-comment-header-9638818" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638818" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638818" href="http://crueltobekind.org/" target="_blank" rel="nofollow">Nicole Simon</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638818" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638818" class="dsq-comment-message">Firefox users are approaching 50% of my readers, IE readers are already in the minority. This is consistent over all my blogs.<br><br>As for supporting IE vs. Firefox: I do accept if a service starts out the full version on their own browsers IF and only if it is built to support both. If not, then building "it for good in our browser first" usually introduces \'features\' which will never make it to other browsers at all. That is like wanting to use a basement which was not built from the beginning.<br><br>Now, do I use Microsoft pages at all? The only one I do use it win update / driver download and yes, I have to do that in IE because Firefox does not work properly there. Everything else which says \'IE only\' I leave immeadeatly.<br><br>Last example was a website which sold me a gadget at some hundred dollars. I went for another website which was 20 dollar more. But it did work great in Firefox and let me do what I wanted.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638819">\
	 <div id="dsq-comment-header-9638819" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638819" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638819" href="http://peteremcc.wordpress.com/" target="_blank" rel="nofollow">peteremcc</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638819" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638819" class="dsq-comment-message">Everyone is missing the point, instead of having to customise every website to work with every browser, or the other way around, we have these things called \'standards\'.<br><br>If all the browsers supported the standards then there wouldn\'t be all these problems. Sure the occasional website might not be built properly but anything halfway decent will support the standards because it will be much easier to do if everyone else is.<br>-----<br>Peter<br><a href="http://peteremcc.wordpress.com" rel="nofollow">http://peteremcc.wordpress.com</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638820">\
	 <div id="dsq-comment-header-9638820" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638820" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638820">jeff</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638820" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638820" class="dsq-comment-message">I think there is a movement happening towards supporting Firefox more; some MSN teams and the ASP.NET team are using automation tools such as Nexus to make sure that their testing encompasses Firefox and IE equally; supporting Firefox fully will only quicken the interest in the technical enthusiast community.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638821">\
	 <div id="dsq-comment-header-9638821" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638821" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638821" href="http://chronotron.wordpress.com/" target="_blank" rel="nofollow">Chrono Cr@cker</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638821" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638821" class="dsq-comment-message">Okay, so when are all Live products gonna support firefox. Will be a happy day for us when they do.<br><br>Awaiting that nice day...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638822">\
	 <div id="dsq-comment-header-9638822" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638822" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638822" href="http://www.michael.kenward.dial.pipex.com/" target="_blank" rel="nofollow">Michael Kenward</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638822" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638822" class="dsq-comment-message">When Microsoft bought Onfolio recently, Firefox support was the first casualty.<br><br>The Onfolio team says that there are no plans to restore this valuable connection.<br><br>Needless to say, there has been a rush for the exit doors and a search for Firefox friendly alternatives to Onfolio.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638824">\
	 <div id="dsq-comment-header-9638824" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638824" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638824" href="http://alfredo.octavio.net/" target="_blank" rel="nofollow">Alfredo Octavio</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638824" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638824" class="dsq-comment-message">Robert, even if Safari has a bug, Gmail supports it, Flickr supports it. Microsoft simply looks bad when it claims difficulty doing what some of the smaller players are doing. Yes, sometimes Google has to wait a while to support Macs or Safari, but they come with Firefox support from the Start. Microsoft should simply do better than them. It\'s the only way to beat them... Now. You should also avoid the "it\'s coming" really. It looks bad.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638825">\
	 <div id="dsq-comment-header-9638825" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638825" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638825" href="http://scobleizer.wordpress.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638825" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638825" class="dsq-comment-message">Alfredo: Gmail and Flickr use very little AJAX. <a href="http://Live.com" rel="nofollow">Live.com</a> is going to do stuff that Google simply isn\'t trying to do yet. More to come this summer.<br><br>Fatfingr: I agree. But I don\'t live in a fantasy world. I live in the world as it is. There are hundreds of millions of IE 6 versions out there. They will never support standards the way IE 7 or Firefox or Safari do. Sorry. So, until we get everyone to upgrade to one of the modern browsers, you can\'t rely on doing just standards-based development.<br><br>Chrono: I don\'t know when they all will. I would expect almost all to support it before they take off the beta label.<br><br>Michael: regarding Onfolio. I think that is a damn shame and is being driven by our lawyers. I think that\'s a business mistake and I hope it gets rectified (I\'m yelling and screaming about it internally).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638826">\
	 <div id="dsq-comment-header-9638826" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638826" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638826" href="http://spaces.msn.com/siteexperts" target="_blank" rel="nofollow">Scott Isaacs</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638826" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638826" class="dsq-comment-message">I am going to jump in very briefly...<br><br>To reiterate what Robert is saying, all Windows Live services are still in beta.  Expect to see Firefox support on Live services by final release or even before.  For example, Hotmail (Kahuna) already announced plans to provide Firefox support in the very very near future.<br><br>Re: Safari - We are discussing with them our issues (there are bugs against Safari filed).  If you explore my blog, you will find the technical explanation on the issues.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638827">\
	 <div id="dsq-comment-header-9638827" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638827" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638827" href="http://doofusdan.blogspot.com/" target="_blank" rel="nofollow">Dan Becker</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638827" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638827" class="dsq-comment-message">I\'m not a "firefox guy" or an "IE guy" or a "Safari guy".<br><br>I\'m a technologist -- and I use all of these browsers (including IE7 on Vista) every single day, across about 6 different machines at home &amp; at work (W2k, TabletXP, Vista, OS X, and varied linux distros) - oh, and Opera Mini on my Razr, too.<br><br>If a website/web service requires me to THINK "Oh, wait I need to be on this browser/platform before I can go there" then I will not keep it in my \'web-toolbox\'. Simple as that.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638828">\
	 <div id="dsq-comment-header-9638828" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638828" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638828">Larry</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638828" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638828" class="dsq-comment-message">Robert,<br><br>I thought Microsoft believed in freedom choice?  That was certainly the early positioning against the iTunes music store.<br><br>How does your company (not you) square this seemingly hypocritical position?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638829">\
	 <div id="dsq-comment-header-9638829" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638829" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638829">jerry</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638829" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638829" class="dsq-comment-message">Robert, I\'d love to some progress on the ASP.NET front.  If MS would take the lead in publishing an upgraded browserCaps many many web sites, presumably including many MS and sharepoint sites would work much with new browsers. For reference, see <a href="http://aspnet.4guysfromrolla.com/articles/050504-1.aspx" rel="nofollow">http://aspnet.4guysfromrolla.com/articles/05050...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638830">\
	 <div id="dsq-comment-header-9638830" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638830" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638830" href="http://weblogs.asp.net/kdente" target="_blank" rel="nofollow">Kevin Dente</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638830" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638830" class="dsq-comment-message">Heh,heh. I blogged almost the exact same thing back with the launch of <a href="http://Live.com" rel="nofollow">Live.com</a> in November.<br><a href="http://weblogs.asp.net/kdente/archive/2005/11/12/430424.aspx" rel="nofollow">http://weblogs.asp.net/kdente/archive/2005/11/1...</a><br><br>Firefox support is no longer an optional feature, it\'s an absolute requirement. Someone needs to beat that drum at the highest level of MS.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638831">\
	 <div id="dsq-comment-header-9638831" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638831" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638831">Doug</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638831" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638831" class="dsq-comment-message">Re: my comment above.<br><br>I don\'t think some bloggers realise that the majority of their visitors using Fx are not the majority using web services for the public.<br><br>This puts me in mind when politicians say "the majority of people I speak to agree with my view on imigration/iraq/education/healthcare", ignoring the fact that the reason the majority of people they speak to agree is because they are surrounded by like-minded people. Want to guess what the major browser on <a href="http://Mozillazine.org" rel="nofollow">Mozillazine.org</a> may be?<br><br>This anecdotal evidence does not equate to a sound business case. How many Fx \'influentials\' have the power to insist their company operates in a MS OS/Office environment rather than moving to Open source? I think ad revenue has a long way to meet MS Office revenue. Passionate enthusiasts, \'influentials\', haven\'t managed to take over the desktop with linux. They can perpetuate a meme, not a business case.<br><br>I use Fx, and I am influential in my place of work, but that does not correspond to any zealous belief that product launch should be held back because it hasn\'t been built and tested for 10-15% of the browser market.<br><br>imo.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638832">\
	 <div id="dsq-comment-header-9638832" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638832" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638832" href="http://www.rickmahn.com/" target="_blank" rel="nofollow">Rick Mahn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638832" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638832" class="dsq-comment-message">Glad to see this get talked about.  While I\'m a fan of MS, I\'ve taken to using both browsers full time. and it is important to have the flexibility.<br><br>More importantly, if MS really wants to be viewed as trying to reach out, grow, and participate in the web 2.0 world, it needs to support the major browsers.  Making Firefox support manditory is a huge step in the right direction.<br><br>Good post.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638833">\
	 <div id="dsq-comment-header-9638833" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638833" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638833" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638833" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638833" class="dsq-comment-message">I\'ve got to go with what a few people have been saying: If I can\'t properly use a service the first time I go to it, it\'s dead to me.<br><br>Why should I keep going back? That\'s a waste of time. They didn\'t want my patronage once, who am I to beg for the chance to use their service.<br><br>Spaces didn\'t want my patronage, not a problem, there are other places that do. I use them.<br><br>Windows Live, <a href="http://Start.com" rel="nofollow">Start.com</a>, whatever didn\'t want my patronage, not a problem, I\'ll go elsewhere to someone that does.<br><br>Same thing with WIndows Live Mail. What are they possibly going to have in some random amount of time that Gmail won\'t have? Not bloody much, it\'s email. What Gmail has RIGHT NOW, is the ability for me to fully use it on any platform I happen to be using.<br><br>Google\'s services obviously want my patronage more than Microsoft\'s, and because of that, they get them.<br><br>But here\'s the kicker. Now that I\'m on Gmail, Windows Live Mail would have to be SIGNIFICANTLY BETTER for the things that *I* care about. See, getting me the first time is easy. I don\'t have an existing service, so I don\'t really know what I want yet. But once I\'ve got something I like, it\'s much harder to get me to switch. Not only do you have to match everything I get out of my current service, but you have to have some significant advantages over my current service.<br><br>So, even on that magical day when Windows Live Mail fully supports Firefox on every OS Firefox runs on, to the exact.same.level that they support IE on Windows, why should I switch? What does Windows Live Mail have that Gmail doesn\'t FOR ME?<br><br>Without that last question being answered, I\'m not going to even consider switching</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638834">\
	 <div id="dsq-comment-header-9638834" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638834" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638834" href="http://frem.wordpress.com/" target="_blank" rel="nofollow">James</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638834" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638834" class="dsq-comment-message">Scoble: Thank you!<br>As a Linux user, you don\'t know how nice it is to hear this from someone within Microsoft.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638835">\
	 <div id="dsq-comment-header-9638835" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638835" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638835" href="http://bananasfk.wordpress.com/" target="_blank" rel="nofollow">bananasfk</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638835" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638835" class="dsq-comment-message">I can write xhtml that blows up old ie, it does not blowup firefox,seamonkey et all.  I write to xhtml standards not what ie \'feels like what it can hack\'<br><br>If it comes to writing both a ff and an ie html page then Sco is right - as a ff user Im steering clear of microsoft sites why because i consider having to use ms sw on ms sites as lock in.<br><br>Our office is migrating to Linux very soon (in a month), eg no Microsoft pc\'s, when Microsoft can code a proper browser that supports xhtml. I\'ll come back until then some of our pages will make ie gpf, or alternatively I can write code that tells the windows user to \'use firefox on windows\' its no bother.<br><br>html is a standard, and if m/s wishes its sites to become the modern cix/compuserve (before the internet version) then good, just don\'t expect me to play ball.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638836">\
	 <div id="dsq-comment-header-9638836" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638836" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638836" href="http://StanleyDaily.com/" target="_blank" rel="nofollow">Stanley Krute</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638836" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638836" class="dsq-comment-message">This is just the tip of the iceberg, Robert.<br><br>In general: lots of Microsoft apps BREAK THE RULES.<br>Whether its Win32 or HTML or CSS. Sloppy engineering, kids.<br><br>For example: install XP on a clean new machine. Then run a good registry cleaner-upper like the one in System Suite 6. It\'ll find a coupla hundred registry errors.<br><br>Office is even worse.<br><br>If MS wrote browser code that validated (HTML and CSS), the stuff would just work in Firefox. No major extra engineering needed.<br><br>I\'m a Microsoft fan -- it\'s the reason we have great $500 computer systems and ubiquitous cybernia -- but this is the biggest hole in MS engineering. Frankly, I think folks would be embarassed by such incompetence.<br><br>-- stan</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638837">\
	 <div id="dsq-comment-header-9638837" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638837" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638837" href="http://brh.numbera.com/" target="_blank" rel="nofollow">Ben Hollis</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638837" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638837" class="dsq-comment-message">You\'ve totally got it, Robert. Pushing out IE-only sites makes Microsoft look old-fashioned. No matter how much Web 2.0 AJAX buzzword whizbang they put in the page, if it\'s IE-only then whoever launched it just doesn\'t understand the web.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638838">\
	 <div id="dsq-comment-header-9638838" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638838" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638838" href="http://easylinux.wordpress.com/" target="_blank" rel="nofollow">Danny Tuppeny</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638838" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638838" class="dsq-comment-message">What about the actual ad code - does that work in Firefox? I\'d imagine so, and surely that\'s more important than the ad control panel? I don\'t think there\'s any excuse for them not to support it (even if there\'s a note saying it may not work properly), but at least if the ads display, it shows they\'re not completely ignoring Firefox!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638839">\
	 <div id="dsq-comment-header-9638839" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638839" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638839" href="http://www.billbuchan.com/" target="_blank" rel="nofollow">Wild Bill</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638839" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638839" class="dsq-comment-message">Interesting comment, Scoble.<br><br>"The influencers use Firefox".<br><br>Complete market dominance just p*ssed away.<br><br>I betcha the VPs who choose to let IE stagnate these last five years are really getting beat up for that.<br><br>Let me rephrase that. They *should* be beating beat up for that decision.<br><br>I guess they\'re not, and they and their money are enjoying long term employment benefits within MS.<br><br>I\'m with Mini-MSFT on this one. Cut the fat. Fire the dead wood. And if someone screws up (IE stagnation, Vista Reset, Mr Clippy, MS Share price flatline, etc) - they get FIRED. Regardless how long they\'ve been "chums" with Bill.<br><br>Then folks outside MS will have faith again.<br><br>---* Bill</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638840">\
	 <div id="dsq-comment-header-9638840" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638840" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638840">Neil Cowburn</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638840" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638840" class="dsq-comment-message">I for one would love to see *better* support for Firefox from Microsoft. Windows Live Mail hasn\'t really changed much in the last few months despite the "we\'re working on it" message and OWA thru Firefox (or any non-IE browser) sucks ass.<br><br>Don\'t even get me started on support for Safari and Microsoft\'s decision to drop IE for the Mac! Ludicrious!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638841">\
	 <div id="dsq-comment-header-9638841" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638841" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638841">Jon</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638841" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638841" class="dsq-comment-message">Doug: Stop bringing up that "targetting 10% of the browser market" crap into this conversation. Fact is Firefox\'s market (and other non-IE browsers) is a higher than 10% <b>for the market AdCenter</b> is in.<br><br>Since you apparently love numbers, here\'s an example of how a site\'s target audience can make the browser statistics change:<br><a href="http://www.w3schools.com/browsers/browsers_stats.asp" rel="nofollow">http://www.w3schools.com/browsers/browsers_stat...</a><br><br>W3schools is a site targetted at webmasters and the link above is their traffic stats. W3school\'s traffic is <b>63%</b> IE, 25% Firefox.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638842">\
	 <div id="dsq-comment-header-9638842" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638842" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638842" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638842" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638842" class="dsq-comment-message">No, dropping IE Mac was a good idea. It started as a really good browser, but like IE 6, it just got neglected all to hell. If you\'re not going to do anything with it, just keeping it around is silly.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638843">\
	 <div id="dsq-comment-header-9638843" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638843" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638843" href="http://franklinmint.fm/" target="_blank" rel="nofollow">Robert Sayre</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638843" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638843" class="dsq-comment-message">Here\'s a link to an MS PM helping with the Firefox installer for Windows Vista:<br><br><a href="http://groups.google.com/group/mozilla.dev.apps.firefox/browse_frm/thread/86594176b67aa28e" rel="nofollow">http://groups.google.com/group/mozilla.dev.apps...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638844">\
	 <div id="dsq-comment-header-9638844" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638844" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638844">Michael</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638844" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638844" class="dsq-comment-message">I guess MSN does not want my money either. I use IE, but have high DPI display. Most MSN sites use fixed font sized, thus displaying very tiny fonts - barely readable. And <a href="http://expo.live.com" rel="nofollow">expo.live.com</a> is the worst - it uses fixed fonts, still managed to screw up the page layout (they obviously were creative) - so I have to scroll couple of pages to see the main page content. I guess they are obviously not interested in my money.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638845">\
	 <div id="dsq-comment-header-9638845" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638845" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638845" href="http://weblogs.asp.net/jgalloway" target="_blank" rel="nofollow">Jon Galloway</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638845" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638845" class="dsq-comment-message">Treating browser support as a feature is a bad idea, just from a practical point of view. It\'s like saying you\'ll add on security as a Version 2 feature - it\'s much harder to do after the fact.<br><br>The easiest way to build cross broswer web applications is to develop standards compliant HTML and use IE specific conditional comments to use modified CSS or Javascript which works around IE bugs. It\'s what the IE team is reccommending as well.<br><br>Standards compliant code is a measure of code quality, and you can\'t bolt quality on. It needs to be part of the process from day one.<br><br>I wrote about this a while ago:<br><a href="http://weblogs.asp.net/jgalloway/archive/2005/11/01/429200.aspx" rel="nofollow">http://weblogs.asp.net/jgalloway/archive/2005/1...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638846">\
	 <div id="dsq-comment-header-9638846" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638846" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638846" href="http://weblogs.asp.net/jgalloway" target="_blank" rel="nofollow">Jon Galloway</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638846" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638846" class="dsq-comment-message">To clarify my comment (84) - IE7\'s is in many ways a lot closer to Firefox than IE6. That\'s why the IE team is reccommending that you write standards compliant code now, then modify it with conditional comments so your sites won\'t break when IE7 comes out.<br><br>It\'s a mistake to think you\'re covered by writing code that works in IE6, even if you don\'t care about "those Firefox zealots". Within a year (fingers crossed) that IE6 specific site won\'t look so good.<br><br>It\'s very shortsighted to write IE6 code right now - even if you manage to "upgrade" to add IE7 and Firefox support later, you\'ll always have patched code. Why not do it right from the start?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638847">\
	 <div id="dsq-comment-header-9638847" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638847" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638847" href="http://alfredo.octavio.net/" target="_blank" rel="nofollow">Alfredo Octavio</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638847" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638847" class="dsq-comment-message">I disagree with John. Letting IE for Mac stagnate was a huge mistake for Microsoft. It allowed the entrance of Safari in the market. Even with small market share numbers it has a big mind share. It also force pretty much every Mac User to download Firefox (as the only option in the sites that think Windows is all there is). This is the same that is happening in music. The Windows Media Stores do not make a dent, because they are tied to Windows. Influential and "bleeding edge" Mac users can\'t use the, It is true, Microsoft does not want my money. I thought I will be forced to buy Virtual PC at some point, but later developments say I won\'t have to buy Microsoft products for my mac again!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638848">\
	 <div id="dsq-comment-header-9638848" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638848" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638848" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638848" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638848" class="dsq-comment-message">Microsoft is perfectly capable of fully supporting Windows Media on OS X as well as Linux. But Windows Media is not about such things.<br><br>Windows Media doesn\'t care about the best digital media experience as a thing unto itself. Windows Media has one major purpose:<br><br>To force you to use Windows if you want to see content. If you think that there is any other justification to Windows Media only being fully supported on Microsoft Platforms, you\'re fooling yourself. I guarantee you if QuickTime and iTunes and Real all jumped on to Windows Media tomorrow, you would still never, ever, ever see Windows Media 10 or 11 or whatever support on anything but a Microsoft -created OS.<br><br>You will *never* see Microsoft support Windows Media DRM fully on anything but a Microsoft created OS. To do so would grant a legitimacy to non-Microsoft OS\'s that neither Gates, nor Ballmer shall ever allow.<br><br>It is the reason why every time you see Microsoft offering a Windows interoperability solution, it is either a migration tool, or so crippled that you\'d have to be masochistic to use it. Services for Macintosh is the perfect example.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638849">\
	 <div id="dsq-comment-header-9638849" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638849" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638849" href="http://alfredo.octavio.net/" target="_blank" rel="nofollow">Alfredo Octavio</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638849" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638849" class="dsq-comment-message">John: I know that\'s the reason. What I am saying is that that strategy has failed for Microsoft. It\'s the reason they are not competitive. They do not compete!<br><br>Robert: <i> <a href="http://Live.com" rel="nofollow">Live.com</a> is going to do stuff that Google simply isn’t trying to do yet. More to come this summer.</i> I see... Microsoft is doing great stuff with Ajax with "more to come" coming... Unfortunately, I will never get to see it, since I use Safari and, at most, Firefox. Pity.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638850">\
	 <div id="dsq-comment-header-9638850" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638850" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638850" href="http://limulus.wordpress.com/" target="_blank" rel="nofollow">Limulus</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638850" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638850" class="dsq-comment-message">ychittaranjan wrote: I tried the site in question on Opera and it worked fine! Now what does Opera ‘have’ that Firefox ‘hasn’t?’.<br><br>iiRC, older versions of Opera spoofed the user agent string by default to pretend to be IE 6.  In fact I can confirm that by using Opera 8.5 on Linux and going Tools -&gt; Preferences -&gt; Advanced -&gt; Network and changing "Browser identification" to "Identify as MSIE 6.0" that the form on <a href="https://adcenter.msn.com/Signup.aspx" rel="nofollow">https://adcenter.msn.com/Signup.aspx</a> loads just fine.<br><br>There really is no excuse for whoever designed that page to disallow users of alternate browsers when a simple notice at the top of the page, indicating that it *might* not work 100% correctly with alternate browsers, would suffice.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638851">\
	 <div id="dsq-comment-header-9638851" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638851" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638851" href="http://limulus.wordpress.com/" target="_blank" rel="nofollow">Limulus</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638851" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638851" class="dsq-comment-message">Mike wrote:<br><br>&gt; Microsoft, at his very core, is feared as hell of everybody else. Call it hitech-xenophobia if you like.<br><br>quoting <a href="http://en.wiktionary.org/wiki/xenophobia" rel="nofollow">http://en.wiktionary.org/wiki/xenophobia</a><br><br>xenophobia: pathological fear/hatred of the unknown<br><br>Actually, any fear of Microsoft is because of what we *do know* about it...  consider Paul Thurrott\'s comments on <a href="http://www.winsupersite.com/reviews/winvista_5308_05.asp" rel="nofollow">http://www.winsupersite.com/reviews/winvista_53...</a><br><br>"the bad, old Microsoft. This is the Microsoft that ran roughshod over competitors in order to gain market share at any cost. The Microsoft that forgot about customers in its blind zeal to harm competitors. The Microsoft, that frankly, all the Linux and Apple fanatics always imagined was out there, plotting and planning their termination. The Microsoft that threatens Windows fans with needless legal threats rather than reaching out and creating constructive relationships with the very people who prop up the company the most."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638852">\
	 <div id="dsq-comment-header-9638852" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638852" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638852" href="http://limulus.wordpress.com/" target="_blank" rel="nofollow">Limulus</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638852" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638852" class="dsq-comment-message">Tina wrote: "most Firefox users are people who have chosen to use it, not because it was an already installed program on their computer. For Microsoft to win these people back, they have to offer something more than what Firefox users have already turned down. So let’s just wait and see how IE7 turns out :D"<br><br>The way I see it, MS knows that IE 6 is in rough shape; new security vulnerabilities are routinely found and patched up, but more importantly to MS, its hemmoraging market share badly.<br><br>IE 7 isn\'t about getting people to switch back from FF (IMHO IE 7 would have a tough time winning in a fight against FF *1.0*, never mind 1.5 or 2.0...), its about stopping (or at least slowing) the mass exodus from IE.  That\'s a more realistic goal.  If you look at <a href="http://www.xitimonitor.com/etudes/equipement14.asp" rel="nofollow">http://www.xitimonitor.com/etudes/equipement14.asp</a> you can see how bad its gotten for MS in Europe: about 20% of all Europeans are using FF, with some notable examples near or above 30% (Germany, Finland, Slovenia, etc.)<br><br>And based on my personal experience, each and every one of those people is now a good candidate for migrating to Linux, since the experience is the same regardless of the OS...<br><br>A decade ago, MS said it was "delivering on its commitment to provide full-featured Web browser support on all major operating system platforms" (see <a href="http://en.wikipedia.org/wiki/Internet_Explorer_for_UNIX" rel="nofollow">http://en.wikipedia.org/wiki/Internet_Explorer_...</a>) but then they won the browser wars and that was the end of that.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638853">\
	 <div id="dsq-comment-header-9638853" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638853" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638853" href="http://limulus.wordpress.com/" target="_blank" rel="nofollow">Limulus</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638853" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638853" class="dsq-comment-message">Jon wrote: "here’s an example of how a site’s target audience can make the browser statistics change:<br><a href="http://www.w3schools.com/browsers/browsers_stats.asp" rel="nofollow">http://www.w3schools.com/browsers/browsers_stat...</a> W3schools is a site targetted at webmasters and the link above is their traffic stats. W3school’s traffic is 63% IE, 25% Firefox."<br><br>One excellent example of a site where Firefox has taken over (no doubt one of the places where "the most passionate people in society" go ;) is BoingBoing (see <a href="http://www.boingboing.net/stats/awstats.boingboing.net.browserdetail.html" rel="nofollow">http://www.boingboing.net/stats/awstats.boingbo...</a>)<br><br>For May thusfar, its 46.3% FF vs 28.4% for IE</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638854">\
	 <div id="dsq-comment-header-9638854" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638854" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638854" href="http://limulus.wordpress.com/" target="_blank" rel="nofollow">Limulus</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638854" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638854" class="dsq-comment-message">Previously, I wrote: "There really is no excuse for whoever designed that page to disallow users of alternate browsers when a simple notice at the top of the page, indicating that it *might* not work 100% correctly with alternate browsers, would suffice."<br><br>Er... apparently, it *is* just a notice at the top of the page (but with a lot of white space to trick you into thinking you\'re getting an error page) if you scroll down, there\'s the form (though clicking on the billing tab doesn\'t work... I guess its true that they don\'t want my money ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638855">\
	 <div id="dsq-comment-header-9638855" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638855" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638855" href="http://limulus.wordpress.com/" target="_blank" rel="nofollow">Limulus</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638855" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638855" class="dsq-comment-message">Sean DALY wrote: "Firefox happens to be the only cross-platform browser"<br><br>You forgot about Opera :)<br><br>As per <a href="http://www.opera.com/download/index.dml?custom=yes" rel="nofollow">http://www.opera.com/download/index.dml?custom=yes</a> Opera is supported on Windows, Solaris, QNX, OS/2, MacOS, Linux, FreeBSD and BeOS (and on several chipsets).<br><br>Though AFAIK, Firefox is the only *open-source* cross-platform browser ;)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638856">\
	 <div id="dsq-comment-header-9638856" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638856" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638856" href="http://limulus.wordpress.com/" target="_blank" rel="nofollow">Limulus</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638856" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638856" class="dsq-comment-message">Oh wait! There\'s Sea Monkey (formerly the Mozilla Suite) too! <a href="http://www.mozilla.org/projects/seamonkey/" rel="nofollow">http://www.mozilla.org/projects/seamonkey/</a> though it does share a common ancestor with Firefox.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638857">\
	 <div id="dsq-comment-header-9638857" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638857" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638857" href="http://limulus.wordpress.com/" target="_blank" rel="nofollow">Limulus</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638857" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638857" class="dsq-comment-message">Regarding the "More about system requirements" link that appears non-functional, you can get to that by going through the FAQ (<a href="http://advertising.msn.com/microsoft-adcenter/faqs" rel="nofollow">http://advertising.msn.com/microsoft-adcenter/faqs</a>)<br><br>---<br>Which browsers work with Microsoft adCenter?<br>Microsoft Internet Explorer 6.0 or later. Microsoft adCenter is currently incompatible with Firefox, Safari and Internet Explorer 7 (beta) browsers. As Microsoft adCenter becomes compatible with additional browsers, we will update this site.<br>---<br>What do I need to run Microsoft adCenter?<br>Microsoft adCenter is a Web-based program that can be used on any computer. You will need to make sure you have the following:<br><br>o A working Internet connection.<br>o Microsoft Windows 98 or later operating system installed.<br>o Microsoft Internet Explorer 6.0 or later Web browser installed.<br><br>In addition, be sure to check that your system has the following:<br><br>o Macromedia Flash Player 6.0 or later installed to properly view adCenter reports. Download and install the latest version from Macromedia.<br>o Adobe Acrobat Reader installed. Download and install the latest version from Adobe.<br>o Screen resolution set to “Normal size (96 DPI),” and display resolution set to 1024 x 768 or higher. Consult your operating system\'s help for specific instructions.<br>o Microsoft adCenter ActiveX control installed. Add Microsoft adCenter to your browser\'s list of trusted sites. Consult your Web browser\'s help for specific instructions.<br>o Pop-up windows* allowed when visiting adCenter. Consult your Web browser\'s help for specific instructions.<br><br>* Additional small windows that \'pop up\' over the web page you are viewing.<br>---<br><br>Wow, ActiveX *and* Pop-ups!  Sounds like a wonderful place to visit ^_-</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638858">\
	 <div id="dsq-comment-header-9638858" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638858" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638858" href="http://limulus.wordpress.com/" target="_blank" rel="nofollow">Limulus</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638858" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638858" class="dsq-comment-message">There is a total disconnect between the statement "As Microsoft adCenter becomes compatible with additional browsers" and requiring a "Microsoft adCenter ActiveX control".<br><br>I\'m beginning to think that future claims of support for other browsers was less of an afterthought than a statement like \'we\'re taking pre-orders for Duke Nukem Forever too\' ;P</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638859">\
	 <div id="dsq-comment-header-9638859" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638859" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638859" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638859" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638859" class="dsq-comment-message">Yeah...Hey MS, how \'bout you \'splain "requires Active X" and "We\'ll support !IE", because those statements are mutually exclusive.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638860">\
	 <div id="dsq-comment-header-9638860" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638860" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638860">Carl</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638860" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638860" class="dsq-comment-message">I personally think that this just reflects on the sort of testing mentality over in Redmond.<br><br>They obviously know that it doesn\'t work in FF because they\'ve took the trouble to create a special case message for it. So why not do the job properly and write compliant html code that doesn\'t require you to be viewing the internet through a browser that has been hashed-up to be able to parse bastardised code?<br><br>Any company the size of MS that releases a public facing website into the wild without ensuring its compatibility with all the mainstream browsers (like it or not, FF is mainstream) should be ashamed.<br><br>It occurs to me that maybe the reason that they don\'t bother is because they managed to convince the DOJ that Internet Explorer being an integral part of Windows was necessary - so for people that are accessing Windows Update they will always have IE installed so there is no need for FF compatibility.<br><br>Just for the record, I am not anti-Microsoft, and the above is probably the only antitrust case that I actually believe was justified. I would just like to be able to browse the web using whatever means I see fit.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638861">\
	 <div id="dsq-comment-header-9638861" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638861" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638861">Sean DALY</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638861" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638861" class="dsq-comment-message">Limulus - I stand corrected. Many thanks for the heads-up.<br><br>Sean DALY</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638862">\
	 <div id="dsq-comment-header-9638862" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638862" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638862" href="http://tanny.ica.com/" target="_blank" rel="nofollow">Tanny O&#39;Haley</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638862" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638862" class="dsq-comment-message">For me it actually takes less time to do a web project if I start with Firefox then add the hacks for IE. I\'ve only been bit by this one time when I created a project that used JSON and built a large tree structure in script. It worked fine in Firefox even with a large tree of 4,700 plus entries. When I tried it in IE, it worked fine up to around 1,200 entries, then tanked. In Firefox it took less than two seconds with 4,700 plus entries but almost two minutes in IE! I had to rewrite this one piece (which actually worked out better) because of IE.<br><br>The company I work at has IE on every desktop. I still use Firefox to start with because I support employees who sometimes work from home and may or may not want to use IE.<br><br>The bottom line for me is that starting with Firefox usually reduces my development time. BTW, I am not an XHTML zealot, I still use HTML 4.01 strict most of the time.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638863">\
	 <div id="dsq-comment-header-9638863" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638863" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638863">Hemebond</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638863" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638863" class="dsq-comment-message">What I find amusing is that, with security restrictions on high (which every IE user should have them on) with file downloads and script prompting, I get script errors and half a page. In your own browser!<br><br>So I bumped it down to medium to see what the fuss was about. Wanted to see this amazing complicated AJAX usage. Um. All I saw was the page loading large sections without going to a different page...<br><br>Is that it? What exactly are you doing there that couldn\'t be done with static or semi-static HTML? In fact why isn\'t this just HTML? Why are you trying to use a markup language your own browser doesn\'t understand? Why do you have to trigger quirks mode in your browser to get it to work? Have the developers not heard of unintrusive scripting? Seperation of structure from style from behaviour?<br><br>There\'s nothing on those pages that couldn\'t be done in valid HTML. Any version of HTML really.<br><br>Lame.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638864">\
	 <div id="dsq-comment-header-9638864" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638864" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638864" href="http://fenin.blogspot.com/" target="_blank" rel="nofollow">fenin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638864" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638864" class="dsq-comment-message">I dont think Peter Kay\'s grandmother will ever think of an IE alternative. But people who are wired a lot, does. Chances are that the so called 10% represent the most active /advanced users, who would probably go ahead and experiment new products[hei! thts why the other 90% dont try Firefox!!].<br>So if Microsoft is gonna say no to Firefox, most of these "let me try" users just wont try their stuff!! Who else will??!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638865">\
	 <div id="dsq-comment-header-9638865" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638865" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638865" href="http://www.peterdarling.com/leftfield/" target="_blank" rel="nofollow">Peter Darling</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638865" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638865" class="dsq-comment-message">Not a lot of people know this, but almost any business or strategic problem can be easily solved by applying the lessons of the terrific Rob Reiner movie The Princess Bride.<br><br>The stupidity of adCenter not working with anything but IE is pretty obvious — a lot of the people who are potential customers of this service, like, say, me, are Firefox users.  Right away, with a brand-new product and a lot of competition, Microsoft is alienating customers.<br><br>And to use two characters from the movie as metaphors, rather than behaving like Inigo and Westley -- fast, agile, lethal and working together -- Web 2.0 guys -- Microsoft is behaving like Fezzik -- slow, powerful, but lumbering. At the end of the movie, Westley gets the princess, Inigo gets rich, and we never hear from Fezzik again.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638867">\
	 <div id="dsq-comment-header-9638867" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638867" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638867" href="http://windowsxp.startpagin.nl/" target="_blank" rel="nofollow">Martijn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638867" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638867" class="dsq-comment-message">Just try this with Firefox: <a href="http://www.microsoft.com/businesssolutions/content/demos/Axapta/seq16/level0.html" rel="nofollow">www.microsoft.com/businesssolutions/content/dem...</a><br><br>It should tell us more about MS business software, but instead the Firefox user sees a grey square.<br><br>And here we have something about the Balanced Scorecard: <a href="http://www.microsoft.com/businesssolutions/content/demos/Axapta/seq11/level0.html" rel="nofollow">www.microsoft.com/businesssolutions/content/dem...</a><br>The same level of grey content.<br><br>I guess you could try any of these links: <a href="http://www.microsoft.com/dynamics/ax/product/demos.mspx" rel="nofollow">www.microsoft.com/dynamics/ax/product/demos.mspx</a><br>All use the same method and all fail to load in Firefox because the embed-content is not synchronized with the object-content.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638868">\
	 <div id="dsq-comment-header-9638868" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638868" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638868">Draco</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638868" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638868" class="dsq-comment-message">Speaking of bashing, have you seen the new commercials about no viruses attacking Mac\'s?  The only logical reason for this is because no wants to write a virus for a computer system noone uses!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638869">\
	 <div id="dsq-comment-header-9638869" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638869" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638869" href="http://feldgendler.livejournal.com/" target="_blank" rel="nofollow">Alexey Feldgendler</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638869" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638869" class="dsq-comment-message">Web services should not support IE, Firefox, Opera, Safari, Lynx, ... They should follow web standards AND be tested in several popular browsers. The former is more important. If a web service complies to standards but fails the test in a particular browser, and that browser\'s user base is important (like with IE), it should implement a workaround.<br><br>I repeat: it\'s more important to follow web standards than to "support browsers". If a web site doesn\'t follow web standards, it\'s likely to fail in any browser other than those specifically "supported". But if a standards-compliant site fails in some (less popular) browser, it may encourage the browser developers to fix the bug. In the end, it\'s better to work in all browsers but the buggy one than to fail in all browsers but the "supported" one(s).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638872">\
	 <div id="dsq-comment-header-9638872" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638872" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638872" href="http://fenin.blogspot.com/" target="_blank" rel="nofollow">fenin</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638872" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638872" class="dsq-comment-message">Draco, if you are referring to this thread[all the related hype and the now infamous LATE CNN coverage]:<br><a href="http://forums.macrumors.com/showthread.php?t=180066" rel="nofollow">http://forums.macrumors.com/showthread.php?t=18...</a><br>That aint a Mac vulnerability . You have to download and CLICK it.<br>Show something else :)<br>And the context you chose is totally inappropriate!Its like saying "speaking of bashing, my GF dumped me!"<br>Try somewhere else dude.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638873">\
	 <div id="dsq-comment-header-9638873" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638873" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9638873">Bill Logan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638873" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638873" class="dsq-comment-message">Coming to this thread very late, but I want to correct something some people have said.  A lot of people have talked about how these Windows Live websites are beta and that when they\'re finished they\'ll support whatever.<br><br>No.  This is an absolutely wrong mindset.  If a website is publicly accessible, if any Joe Q. Public can access it, then it has been "released."  The term "beta" is a holdover from when disks were being shipped out to a certain large group of test users.  It should be discarded.  Applied to a website, the term "beta" is absolutely meaningless.<br><br>If people can access the website or service, then they are dealing with the final product you have put out there.  As some people have noted, you essentially have one chance to get people interested in a website or service.  If the site or service doesn\'t support their major browser (i.e. Firefox), they\'re not coming back.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638874">\
	 <div id="dsq-comment-header-9638874" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638874" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638874" href="http://www.firefoxmyths.com/" target="_blank" rel="nofollow">MT</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638874" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638874" class="dsq-comment-message">Cry me a river Firefox does not work with another website? Old news, get the facts:<br><br><a href="http://www.firefoxmyths.com" rel="nofollow">http://www.firefoxmyths.com</a><br><br>Before the fanboys decide to go burn Redmond down they better come to the realization that Microsoft can support whatever they want with their web pages. I wonder how many of these Fanboys also support the Explorer Destroyer Campaign.<br><br>Another News Flash, if you have over 85% of the market you do not worry about the rest.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9638875">\
	 <div id="dsq-comment-header-9638875" class="dsq-comment-header">\
	 <cite id="dsq-cite-9638875" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9638875" href="http://marcoos.wordpress.com/" target="_blank" rel="nofollow">marcoos</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9638875" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9638875" class="dsq-comment-message">Once again, your company doesn\'t want me to try your web server. :)<br><br>"Due to the complex requirements of presenting these lab content over the internet, only Microsoft Internet Explorer 6 or later is supported."<br><br><a href="http://staginglabs.iis.net/" rel="nofollow">http://staginglabs.iis.net/</a><br><br>Guess I\'ll stay with Apache and AOL Server, then. :)</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=microsoft_doesn8217t_support_firefox&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);
			}
		}
	});
}

})();




