




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": {"5ad58a66719a1368c5ecbb7b1edfc43d": {"username": "erik watson", "tumblr": "", "display_name": "erik watson", "url": "http://disqus.com/guest/5ad58a66719a1368c5ecbb7b1edfc43d/", "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": ""}, "834c0f08fd85903a2dc52eda1dc59a58": {"username": "Bubba", "tumblr": "", "display_name": "Bubba", "url": "http://disqus.com/guest/834c0f08fd85903a2dc52eda1dc59a58/", "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": ""}, "9e055e50a5cf90931a4a89b18e317a53": {"username": "TC", "tumblr": "", "display_name": "TC", "url": "http://disqus.com/guest/9e055e50a5cf90931a4a89b18e317a53/", "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": ""}, "422d578473476b6f941f41f3d397cc4d": {"username": "Tim Crandley", "tumblr": "", "display_name": "Tim Crandley", "url": "http://disqus.com/guest/422d578473476b6f941f41f3d397cc4d/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3553f5e0db0fd1ec4e40a932a2d8f5b3": {"username": "Robert Scoble", "tumblr": "", "display_name": "Robert Scoble", "url": "http://disqus.com/guest/3553f5e0db0fd1ec4e40a932a2d8f5b3/", "registered": false, "linkedin": "", "blog": "http://scobleizer.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/4069/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "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": ""}, "4024414175e4a5dd8a53b49ee5b0245a": {"username": "Don", "tumblr": "", "display_name": "Don", "url": "http://disqus.com/guest/4024414175e4a5dd8a53b49ee5b0245a/", "registered": false, "linkedin": "", "blog": "http://htmlfixit.com/?p=893", "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": ""}, "9e9e194dbf68762f993d34c9daceb453": {"username": "Jeff", "tumblr": "", "display_name": "Jeff", "url": "http://disqus.com/guest/9e9e194dbf68762f993d34c9daceb453/", "registered": false, "linkedin": "", "blog": "http://www.mobatalk.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": ""}, "753dc889cd0a471c59d58501bcc510ed": {"username": "innerdaemon", "tumblr": "", "display_name": "innerdaemon", "url": "http://disqus.com/guest/753dc889cd0a471c59d58501bcc510ed/", "registered": false, "linkedin": "", "blog": "http://innerdaemon.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": ""}, "67d9a452d5427f1d9b96485485ee1cc9": {"username": "Cameron Barrett", "tumblr": "", "display_name": "Cameron Barrett", "url": "http://disqus.com/guest/67d9a452d5427f1d9b96485485ee1cc9/", "registered": false, "linkedin": "", "blog": "http://www.camworld.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": ""}, "a76e6c44b4c2ac6ca1bbdb05e9bfbc00": {"username": "terrin", "tumblr": "", "display_name": "terrin", "url": "http://disqus.com/guest/a76e6c44b4c2ac6ca1bbdb05e9bfbc00/", "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": ""}, "75549d1c57b0a007e6fc6194326f1b1f": {"username": "hmm", "tumblr": "", "display_name": "hmm", "url": "http://disqus.com/guest/75549d1c57b0a007e6fc6194326f1b1f/", "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": ""}, "7728597e116afd67235c893c86743818": {"username": "Olival Junior", "tumblr": "", "display_name": "Olival Junior", "url": "http://disqus.com/guest/7728597e116afd67235c893c86743818/", "registered": false, "linkedin": "", "blog": "http://obarboza.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": ""}, "612ffc8eee88e92dc8473e86c9ee629d": {"username": "Salubri", "tumblr": "", "display_name": "Salubri", "url": "http://disqus.com/guest/612ffc8eee88e92dc8473e86c9ee629d/", "registered": false, "linkedin": "", "blog": "http://salubri.journals.ie/", "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": ""}, "51c7374d2f17a3c3477c176271182380": {"username": "MrPants", "tumblr": "", "display_name": "MrPants", "url": "http://disqus.com/guest/51c7374d2f17a3c3477c176271182380/", "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": ""}, "61f636b14fd8f9155de2a0bcc54c161c": {"username": "Ian", "tumblr": "", "display_name": "Ian", "url": "http://disqus.com/guest/61f636b14fd8f9155de2a0bcc54c161c/", "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": ""}, "052b51c329476fd3f72463cbea5fec53": {"username": "Mike Cohen", "tumblr": "", "display_name": "Mike Cohen", "url": "http://disqus.com/guest/052b51c329476fd3f72463cbea5fec53/", "registered": false, "linkedin": "", "blog": "http://www.macmegasite.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/189/4420/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b32cac73db0838ce3c291cd0fbabf32e": {"username": "Liz Lawley", "tumblr": "", "display_name": "Liz Lawley", "url": "http://disqus.com/guest/b32cac73db0838ce3c291cd0fbabf32e/", "registered": false, "linkedin": "", "blog": "http://mamamusings.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": ""}, "d8df86b4c5e727645df23a867b02c826": {"username": "Kathy", "tumblr": "", "display_name": "Kathy", "url": "http://disqus.com/guest/d8df86b4c5e727645df23a867b02c826/", "registered": false, "linkedin": "", "blog": "http://uspolitics.about.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": ""}, "4ca70d40c6967ff8e00383e8c59b6f1c": {"username": "Matt", "tumblr": "", "display_name": "Matt", "url": "http://disqus.com/guest/4ca70d40c6967ff8e00383e8c59b6f1c/", "registered": false, "linkedin": "", "blog": "http://www.mkinmotion.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": ""}, "01ce36e5a79b53760366ace42e1e74e8": {"username": "Julio Garcia", "tumblr": "", "display_name": "Julio Garcia", "url": "http://disqus.com/guest/01ce36e5a79b53760366ace42e1e74e8/", "registered": false, "linkedin": "", "blog": "http://juliogarcia.org/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "1966e5aab1490a53508d57831fddfe8d": {"username": "PXLated", "tumblr": "", "display_name": "PXLated", "url": "http://disqus.com/guest/1966e5aab1490a53508d57831fddfe8d/", "registered": false, "linkedin": "", "blog": "http://www.geise.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": ""}, "5201e306c37562746a8cdeebe24bef32": {"username": "HG", "tumblr": "", "display_name": "HG", "url": "http://disqus.com/guest/5201e306c37562746a8cdeebe24bef32/", "registered": false, "linkedin": "", "blog": "http://www.stat.ucla.edu/~jose", "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": ""}, "f89b745cb3983fb1c02bca74a4f6d077": {"username": "francine", "tumblr": "", "display_name": "francine", "url": "http://disqus.com/guest/f89b745cb3983fb1c02bca74a4f6d077/", "registered": false, "linkedin": "", "blog": "http://blog.stealthmode.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/13604/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4d1e331d2909e5f26b674e2790017197": {"username": "Aaron", "tumblr": "", "display_name": "Aaron", "url": "http://disqus.com/guest/4d1e331d2909e5f26b674e2790017197/", "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": ""}, "d001c13ed9fd599b62d3e9618bb0f672": {"username": "sdf", "tumblr": "", "display_name": "sdf", "url": "http://disqus.com/guest/d001c13ed9fd599b62d3e9618bb0f672/", "registered": false, "linkedin": "", "blog": "http://scobleizer.com/2007/01/01/never-piss-off-a-12-year-old/", "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": ""}, "cb90da13aeb59302b016efcf28aa8eab": {"username": "ariel", "tumblr": "", "display_name": "ariel", "url": "http://disqus.com/guest/cb90da13aeb59302b016efcf28aa8eab/", "registered": false, "linkedin": "", "blog": "http://shakewellbeforeuse.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": ""}, "1b7d397d92dc19b6300801ba16bcf36d": {"username": "Chris Bellini", "tumblr": "", "display_name": "Chris Bellini", "url": "http://disqus.com/guest/1b7d397d92dc19b6300801ba16bcf36d/", "registered": false, "linkedin": "", "blog": "http://www.chrisbellini.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": ""}, "fccca39f9fa9cc95baedcc654ba3fb34": {"username": "Kingston", "tumblr": "", "display_name": "Kingston", "url": "http://disqus.com/guest/fccca39f9fa9cc95baedcc654ba3fb34/", "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": ""}, "2bb436670784887ff09f81eaa40e34cf": {"username": "Rebecca", "tumblr": "", "display_name": "Rebecca", "url": "http://disqus.com/guest/2bb436670784887ff09f81eaa40e34cf/", "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": ""}, "3e4fd4e9a818ed944f53ff94f3c1fd1c": {"username": "Jeff", "tumblr": "", "display_name": "Jeff", "url": "http://disqus.com/guest/3e4fd4e9a818ed944f53ff94f3c1fd1c/", "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": ""}, "57d7173cbc9c3e81dfd4a5f679b63fc5": {"username": "Tim Post", "tumblr": "", "display_name": "Tim Post", "url": "http://disqus.com/guest/57d7173cbc9c3e81dfd4a5f679b63fc5/", "registered": false, "linkedin": "", "blog": "http://www.flyingseeds.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": ""}, "fb04169a152f65e53c828c7e41db1d57": {"username": "notv", "tumblr": "", "display_name": "notv", "url": "http://disqus.com/guest/fb04169a152f65e53c828c7e41db1d57/", "registered": false, "linkedin": "", "blog": "http://notv.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": ""}, "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": ""}, "a278847c422b3db33ab61340d56c5fb4": {"username": "Juan", "tumblr": "", "display_name": "Juan", "url": "http://disqus.com/guest/a278847c422b3db33ab61340d56c5fb4/", "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": ""}, "729e39fa7dae71aab79d40b75f23fa74": {"username": "Dave Murdock", "tumblr": "", "display_name": "Dave Murdock", "url": "http://disqus.com/guest/729e39fa7dae71aab79d40b75f23fa74/", "registered": false, "linkedin": "", "blog": "http://www.innerexception.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": ""}, "355305b3ced696799b19f2e63539d88b": {"username": "Aaron", "tumblr": "", "display_name": "Aaron", "url": "http://disqus.com/guest/355305b3ced696799b19f2e63539d88b/", "registered": false, "linkedin": "", "blog": "http://sektormedia.org/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "046454ff9fb8695069ab1bdbbb52d422": {"username": "Jim", "tumblr": "", "display_name": "Jim", "url": "http://disqus.com/guest/046454ff9fb8695069ab1bdbbb52d422/", "registered": false, "linkedin": "", "blog": "http://www.dotware.co.uk/", "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", "tumblr": "", "display_name": "Diego", "url": "http://disqus.com/guest/df679bd3d287a21d5ed6020bae384e17/", "registered": false, "linkedin": "", "blog": "http://www.radioactivecode.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": ""}, "09bcda425161a88051fa3969b2eae779": {"username": "hahabob", "tumblr": "", "display_name": "hahabob", "url": "http://disqus.com/guest/09bcda425161a88051fa3969b2eae779/", "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": ""}, "9a4cd3cab2f615de6ee585994b1c9fe2": {"username": "Bob Jones", "tumblr": "", "display_name": "Bob Jones", "url": "http://disqus.com/guest/9a4cd3cab2f615de6ee585994b1c9fe2/", "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": ""}, "ed7b9403dfa3bf7561497d60cd3988ab": {"username": "Marc Mandel", "tumblr": "", "display_name": "Marc Mandel", "url": "http://disqus.com/guest/ed7b9403dfa3bf7561497d60cd3988ab/", "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": ""}, "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": ""}, "f429a8e5784b4f6728c533225bf1ecbe": {"username": "Karen", "tumblr": "", "display_name": "Karen", "url": "http://disqus.com/guest/f429a8e5784b4f6728c533225bf1ecbe/", "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": ""}, "6a54b89cc37e7974c312270dd564f534": {"username": "Scott McNulty", "tumblr": "", "display_name": "Scott McNulty", "url": "http://disqus.com/guest/6a54b89cc37e7974c312270dd564f534/", "registered": false, "linkedin": "", "blog": "http://blog.blankbaby.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": ""}, "c2ec17b9df58d5843b147cf69deef262": {"username": "Michael Markman", "tumblr": "", "display_name": "Michael Markman", "url": "http://disqus.com/guest/c2ec17b9df58d5843b147cf69deef262/", "registered": false, "linkedin": "", "blog": "http://mickeleh.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": ""}}, "forum": {"use_media": true, "name": "Scobleizer", "streaming_realtime": true, "url": "scobleizer", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 1, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": true, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "scobleizer", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-17_06:57:32", "remote_domain": "", "page": 1, "is_moderator": false, "display_username": "", "points": null, "subscribe_on_post": 2, "moderator_can_edit": false, "is_remote": false, "is_verified": false, "missing_perm": "locked"}, "realtime_paused": false, "posts": {"9665182": {"up_voted": false, "ip": "", "has_replies": false, "message": "Uh oh. While I posted comment #80 (above) days ago, it almost foretold one of yesterday's big keynote announcements; the discontinuation of the word \"Computer\" in Apple's corporate brand/name.<br><br>May add even more to the point raised above about Apple being something other than the \"company that built the Mac\"....", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-10_22:21:00", "killed": false, "user_key": "ed7b9403dfa3bf7561497d60cd3988ab", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665183": {"up_voted": false, "ip": "", "has_replies": false, "message": "Searously apple has the best tech support that i have ever seen just go to microsoft and try to get them to do anything other than ruin computers", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-13_23:44:21", "killed": false, "user_key": "d001c13ed9fd599b62d3e9618bb0f672", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665185": {"up_voted": false, "ip": "", "has_replies": false, "message": "Kathy: I was in the store. Just not at the counter with him. My son loves Apple stores. They are the highlight of his life.<br><br>By the way, turns out his Mac is fixed and is being shipped back to the store. He might have it back on Friday. So, at least they get kudos there.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-04_01:37:09", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665186": {"up_voted": false, "ip": "", "has_replies": false, "message": "So, Robert - why didn't you (Santa?) buy the machine at Fry's? You keep using them as an example, and they do sell Macs.<br><br>As someone else pointed out, buying from the Apple store is not the same thing as buying from a big box retailer, on many levels.<br><br>I realize that Patrick is smart and fairly comfortable with adults - but Robert, he's a kid. He went without any adult? I'm amazed. [Note, I'm not a parent.]<br><br>Oh. And Costco's return policy at the Biz store in Lynnwood and <a href=\"http://costco.com\" rel=\"nofollow\">costco.com</a> is six months, not a year.<br><br><br>I have owned seven Macs -- four desktops and three laptops. My first one was a PowerPC desktop back when Apple did house calls. Yes, this was the 90s and they sent a tech to my house and he fixed the machine under warranty. And it was an open-box online purchase. I had no problems with the other three desktops.<br><br>I always buy extended warranty for laptops. Seems like I had a screen issue with the first one. And this G4 Aluminum had power issues. I dropped it off at the Lynnwood WA Apple Store and picked it up there. They notified me by e-mail each step along the way.<br><br>And, like the person above who talked about HP -- I got a sales person who was empathetic -- who diagnosed a warranty problem that I didn't know I had (pixel loss) and who told me what would happen and how long it would take. And I watched another employee on another day apologize to a couple who had a problem with their iMac (as I related above).<br><br>So there are employees who are good representatives of the company and employees who are not.<br><br>And if you have a way to ensure that every employee is an excellent customer service rep EVERY hour of the work day, maybe you need to write another book. ;-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-04_01:19:40", "killed": false, "user_key": "d8df86b4c5e727645df23a867b02c826", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665187": {"up_voted": false, "ip": "", "has_replies": false, "message": "I beg you to pardon my poor english skills, but I need to share this. I live on Brazil and I bought a MacBook 13\" Black in june at a local Apple reseller. Here it costs a little over USD3000,00 after taxes (on USA its a USD1500,00 machine).<br><br>The notebook started to have the random shutdown thing in august. I will not go in details about the history here, but it seems enough to say that I had to wait more than 3 months 'till they really fixed the issue. Now the MacBook battery just died on me. And they say I have to wait at least 1 month to get a new one.<br><br>On 6 months after the purchase, the MacBook managed to work only 2 months without glitches.<br><br>On Brazil you pay more than double the Apple's price on USA. And every issue you have with Apple hardware seems to put you on a wait list that lasts for months. See, things can always get worse... ;-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_23:07:40", "killed": false, "user_key": "7728597e116afd67235c893c86743818", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665188": {"up_voted": false, "ip": "", "has_replies": false, "message": "RB: looks like everyone is sticking it to you. But honestly..I bet these people would have a fit too if it was there machine that broke down", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-15_20:00:00", "killed": false, "user_key": "75549d1c57b0a007e6fc6194326f1b1f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665189": {"up_voted": false, "ip": "", "has_replies": false, "message": "Cameron: if I had bought this machine from Best Buy or Fry's, it would already have been returned and a new one in our hands (they allow you to return things for any reason within the first month). That's real customer service.<br><br>Telling someone to wait two weeks to get his machine back is ridiculous when he just purchased it -- Apple sold us a defective box. It should have been replaced on the spot. But, nonetheless, Patrick already read your comment and told me \"hey, dad, you should tell me to grow up.\"<br><br>Bob: touche! (for everyone else, this is an inside joke, cause I defended Tablet PCs that had a memory leak, which is far far better than a shutdown problem which causes you to lose all your work, by saying that I shut down my computers every evening. Something I still do, by the way, even on my Mac. Mostly now cause I'm worried about batteries catching fire).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_20:58:24", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665190": {"up_voted": false, "ip": "", "has_replies": false, "message": "Check out Apple's new home page graphic.  Hmmmmm<br><br>Robert I feel for Patrick, hope this turns around for him fast, and looking forward to hearing the outcome.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_20:53:09", "killed": false, "user_key": "ee17d0018d258f96d8d0a5009ad6ad8a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665191": {"up_voted": false, "ip": "", "has_replies": false, "message": "Why haven't I hit it? I shut down my MacBook Pro most evenings and start it up from a fresh boot. Why do I do that? Because I've been using computers for 20 years and have learned that's the best way to work.<br><br>This was a behavior I learned on System 7.0 back in 1992 when I was a page designer at San Jose State. It takes an extra minute in the morning to boot up, but that's why I never hit this bug.<br><br>By the way, fixing these kinds of bugs isn't easy and even if they were, deploying the fix isn't easy either. Someday I'd like to introduce Robert to some of the developers here so that he can see the process that changing one line of code would take.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_20:55:26", "killed": false, "user_key": "9a4cd3cab2f615de6ee585994b1c9fe2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665193": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, I think you need to tell your son to grow up a little bit. Apple has a pretty good track record of fixing their engineering issues, even if they're a bit slow about it (I waited many months for the firmware update to fix my G4 tower that kept freezing randomly; the single processor one from 2004).<br><br>Part of dealing with technology is accepting the fact that issues like the randon shutdown do crop up on occasion. Expecting an immediate firmware fix or replacement machine from Apple over a holiday weekend is a bit of a stretch and you and your son both know it.<br><br>Constantly complaining about the problem doesn't do any good and expecting personal one-on-one customer service from Apple for issues like this has never been part of Apple's protocol so why would you expect anything different?<br><br>If you don't like the way Apple deals with these kinds of issues you're more than welcome to go back to Microsoft, or try out any one of the Linux variants.<br><br>Apple *will* fix the issue, but you need to give them time. Seems like common sense to me.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_20:54:06", "killed": false, "user_key": "67d9a452d5427f1d9b96485485ee1cc9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665194": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sad, but true.<br><br>I had an eye-opening experience with Apple support a couple of weeks ago. Like you described your son as being, I think (thought?) of myself as a huge Apple loyalist and likely even, bigot and have bought only Apple product since January, 1984 both for myself and my various business ventures.<br><br>I always found Apple to be not only more innovative than its PC counterparts, but the quality of the workmanship to be unmatched. Moreover, I fount the customer care to be just that, CARING, sympathetic, and urgent. Until now.<br><br>I had a recent problem, albeit, not critical, with my new MBP. I could no longer get Front Row to start as it seemed to disable itself each time I installed it. I brought it to the Genius Bar at my local mall store where I was dismissed as having an OS problem and was sent packing until I agreed to reload the Operating System.<br><br>Not believing the OS was at fault and remaining convinced it was a hardware failure, I went to a different, further, mall store where I was greeted reasonably promptly (I am, after all, a Procare customer) and the system diagnosed as having a cable failure connecting the IR card. When I was told it would still take 7 days to fix, I was shocked, since I rely on the laptop as my principal computer and would be crippled without.<br><br>Where bad went worse, I inquired why (how) they could fix iPod problems with far greater sense of urgency, when in fact nobody's business relied on a working iPod, the Genius replied \"Sir, iPods ARE our business!\"<br><br>It hit me like a ton of bricks.<br><br>Apple has changed. They have transformed from a low-voume, high quality PC manufacturer to a high-volume, lower quality consumer electronics company.<br><br>The Mac has become an afterthought to Apple, it seems, as their futures seem closely tied to the success of the iPod, and everything else is an alsoran. Or so it seems to me.<br><br>Sadly shocking. Undeniably true.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-03_12:42:31", "killed": false, "user_key": "ed7b9403dfa3bf7561497d60cd3988ab", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665195": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dell's customer service is on par with Apple's. But my personal experience is that Apple is better when hardware fixing or replacement is necessary!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-08_04:53:12", "killed": false, "user_key": "4d1e331d2909e5f26b674e2790017197", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665196": {"up_voted": false, "ip": "", "has_replies": false, "message": "TC: I was in the store, but not at the counter. He kept coming over and telling me what was up and I kept sending him back over to deal with the help there.<br><br>If it were only my story, I'd probably let it slide. But Dave WIner has been pointing to various people having shutdown problems (and getting the \"you gotta give us your computer for two weeks\" line) for months now. Do you want me to point to all of them?<br><br>Do you find it interesting that a guy started an entire Web site to track this problem? I do.<br><br>Do you find it interesting that Best Buy and Costco treat their customers better than Apple does? I do.<br><br>Do you find it interesting that the mainstream press will beat up Dell for customer service issues, but I haven't seen much about Apple in that same press? I do.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_03:53:04", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665197": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have had the WORST customer service at Best Buy (Bellevue, WA), having to do with both selling me a projector (not knowing their stuff) to returning it (and getting treated like poop) when what they told me prior to purchase proved not to be accurate.<br><br>I have only been back once, and my skin was crawling the whole time.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_23:51:42", "killed": false, "user_key": "ee17d0018d258f96d8d0a5009ad6ad8a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665198": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert: \"I\u2019d rather Patrick learn some negotiating skills on his own and I\u2019d rather him get the self confidence that comes from a parent letting him solve his own problems\"<br><br>But the skill is choosing the occasion to do this and he really wanted his MacBook fixed, didn't he? Time and place, Robert; even if he bought it himself, it wasn't the occasion to leave him solely to his own efforts? I wouldn't do this for my two 16 year olds and one aged 17 if they were up against a big company especially around Christmas time.<br><br>What I just cannot accept is that you can be so certain that if Patrick had been left to go back on his own to Best Buy or CostCo (if he'd got the laptop from either of these) that he would have been treated any better. All you are doing is comparing an actual experience with paper on a wall.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_16:04:21", "killed": false, "user_key": "9e055e50a5cf90931a4a89b18e317a53", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665199": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey Robert,<br><br>First off - my sympathy is entirely with Patrick. When I was 12 I was dealing with tech support folks too (I handled a lot of tech stuff for my Dad as he felt he was too \"technologically dyslexic\" to interact with the \"techie types\" and he thought it was good for me) and it can be really frustrating for a kid (gets more frustrating as you get older Patrick *grin*).<br><br>Once I finished writing the rest of this this I realised it was way too long for a reply so please find full post here: <a href=\"http://salubri.journals.ie/2007/01/02/customer-service-oh-why-hast-thou-forsaken-us/\" rel=\"nofollow\">http://salubri.journals.ie/2007/01/02/customer-...</a> (Trackbacks from my blog do not seem to be working)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_14:53:09", "killed": false, "user_key": "612ffc8eee88e92dc8473e86c9ee629d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665200": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>just wondering, why isn't your son blogging his experience? Or his he and I just missed the link to his blog?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_13:50:53", "killed": false, "user_key": "01ce36e5a79b53760366ace42e1e74e8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665201": {"up_voted": false, "ip": "", "has_replies": false, "message": "Here is the return policy from Apple's website:<br><br><a href=\"http://store.apple.com/Catalog/US/Images/salespolicies.html#Return%2520Policy\" rel=\"nofollow\">http://store.apple.com/Catalog/US/Images/salesp...</a><br><br>I suspect that the physical stores have similar policies even if they're not posted.  I've seen people return merchandise at the Apple store before and don't believe in the over-legalization of our daily lives.  Perhaps Apple actually gives its customers too much credit (you view this as arrogance) by thinking that a clearly stated two week repair period would be considered reasonable by many people, especially when the strategy is to under-promise and over-deliver (my experiences with Apple service, though few, have always been professional and timely).  As you wrote, your son just wanted the problem fixed.  Hence, Apple assumed that he wanted the problem fixed.  Apple did not assume that he wanted the problem replaced, which still may have been an option.  Perhaps you would not be blogging about this if this had transpired instead:<br><br>Your Son: I just got this MacBookPro as a present but it's defective (explain problem).  Can I get it repaired today?<br><br>Apple: Not for this problem.  I don't think so.<br><br>Your Son: OK, then I'd like to return it for a full refund.<br><br>Apple: OK.<br><br>Patrick gets the money back (via you), and buys another new MacBook Pro.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_13:29:29", "killed": false, "user_key": "fccca39f9fa9cc95baedcc654ba3fb34", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665202": {"up_voted": false, "ip": "", "has_replies": false, "message": "I've had... little experience with Apple support, but what I have had I just didn't like:<br><br>I have a G3 Lombard with a broken keyboard, DVD drive and power socket. OK, so it's well out of warranty being nearly 8 years old.<br><br>The local store won't supply the parts for a self repair, instead wanting \u00a353 /per incident/ to repair the laptop on top of the parts (each counting as a single incident.<br><br>Now, considering I can pick an OEM laptop DVD burner for \u00a345 or so brand new, they wanted \u00a390 not including the incident fee.<br><br>They wanted \u00a3135 for a new keyboard. I can source one of those for \u00a330.<br><br>As for the power socket; \u00a3370 for a new mainboard. Only way they'd do it. I've spent the last three years repairing laptop power sockets and gotten bloody good at it. \u00a30.35 for the required component.<br><br>The other thing I have is a 20\" aluminium Cinema display with a damaged cable and no PSU.<br><br>For the modest(!) sum of \u00a390 I can get a new PSU from Apple. Provided I furnish them with a serial number (WHY??). Thing is I bought the panel secondhand, the PSU lasted a month and fried the cable when it went. I've tested the panel and know it still works, so all it needs is the PSU and cable. Apple will not supply me with a new fifteen Dollar cable.<br><br>Sorry, Apple, but that just won't do.<br><br>On the x86 side of the fence, I have a few Dell laptops. My C640 recently developed a motherboard problem. I asked Dell tech support about options, and after reading them the service code on the unit I was told that even though I had bought the unit secondhand, it was still under Platinum warranty. Two weeks later it was returned to me by courier with a spanking brand new mainboard and two new batteries. All at Dell's expense. Can't beat it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-04_05:18:45", "killed": false, "user_key": "046454ff9fb8695069ab1bdbbb52d422", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665203": {"up_voted": false, "ip": "", "has_replies": false, "message": "So I think the trend might be that supplies are tight on MacBook related parts, but plentiful on older G4 related parts, thus customer service is taking longer.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_11:53:09", "killed": false, "user_key": "729e39fa7dae71aab79d40b75f23fa74", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665204": {"up_voted": false, "ip": "", "has_replies": false, "message": "I sent in a 3 year old iBook G4 on 12/24 (box arrived 3 days earlier, got DHL to pick up on the 24th) to fix 5 different problems (wife's computer, she beats on it) and it came back on 12/28 completely repaired. Great customer service.<br><br>A friend's MacBook Pro Core Duo needs to have the keyboard replaced. Apple told her it would take 1 week to order the part and another 2 days to do the repair. That is bad customer service, especially for such a seemingly simple repair as a keyboard replacement.<br><br>We have 1 MacBook Pro Core 2 Duo with zero problems, 1 month old.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_11:49:38", "killed": false, "user_key": "729e39fa7dae71aab79d40b75f23fa74", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665205": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, you're right about trying to get their policies to change. but the issue is that Apple is technically not a store. They're not Costco or Best Buy. They're Dell or Compaq. They're just a step above the Dell cart in the mall. They don't seem to have the store concept down 100%, and their policy seems to be to send it for repair. I don't really know all of the ins and outs of the problem or the policies. But part of this is being an informed consumer. Perhaps taking Patrick up to the counter and letting him explain the problem to them and then helping him understand how to handle it would have helped him learn how to handle it and might have gotten a better resolution for him.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_11:00:57", "killed": false, "user_key": "355305b3ced696799b19f2e63539d88b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665206": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>People bet their lives on their machines. Imagine a business who gets this kind of response?</i><br><br>Dude, perspective much? Unless you can show me someone who will DIE WITHOUT A LAPTOP, you need to stop confusing a laptop with a life. I know it's hard, but there is in fact a difference.<br><br>I do have Macs that are running critical services. Oddly enough, I have purchased the appropriate support contracts. Are they standard AppleCare? Um..no. A bit more expensive.<br><br><i>Keep in mind that Patrick knows more about Apple than any Apple store employee I know. If you ever meet him that\u2019ll become instantly apparent.</i><br><br>Dude, please, a guy hired by Apple two weeks ago can spank you on Mac knowledge, so your claims here are shall we say...inane?<br><br>Secondly, wtf man, you let a kid, smart though he may be handle this? Lame much, or do you just like watching shit break when it's a Mac so you can prove a point. Would you leave him to the wolves if it was a Thinkpad or a Tablet?<br><br>Survey says: Oh Shit No, you'd become THE SCOBELIZER so fast it would leave scorch marks.<br><br>Man, that's just lame. You know there's a dozen ways to handle this without treating either the employee or Patrick poorly, and you let someone just twist in the wind. Then again, you did that enough with MS employees when you worked there, so it's a fairly standard modus. I just figured you'd not do that to your kid. Good job man. Way to lead by example.<br><br>Face it, the only reason you did this was to mask your own inadequacy with regard to Macs, and that you can't pull any strings here. It would be fun to see you whining about how Patrick told you \"Figure it out your own damned self\" the first time you needed help from him with a problem with your MBP. Sheesh dude, learn some leadership.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_23:37:39", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665207": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't think your son is whiny at all. I bet the same people bashing your kid would have a meltdown if their Starbuck's barista effed up their triple grande non-fat no-whip three pump extra hot mocha.<br><br>Duh we're a pampered society and expect results.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_21:31:34", "killed": false, "user_key": "fb04169a152f65e53c828c7e41db1d57", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665208": {"up_voted": false, "ip": "", "has_replies": false, "message": "When I took my only formal computer class, the instructor started the class by saying rule number one was \"They're just sand and plastic, folks.  Don't rest your life or your livelihood in sand and plastic.\"  Not much empathy in that for a consumer, especially a 12-yr  old Jr. AAPL fanboy, but it's definately rule number one.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_00:07:16", "killed": false, "user_key": "4ca70d40c6967ff8e00383e8c59b6f1c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665209": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have had bad experiences with the Apple store and the \"genius bar\" (ahem) since I bought the Powerbook before my MacBook Pro. But once I blogged about it, and my blog made its way to someone, because the next time I went to the Apple store in Burlingame they treated me like royalty. I think they do listen, but they have a bad system; they should replace defective boxes and then rebuild them on their own time, not Patrick's -- or mine.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_20:36:52", "killed": false, "user_key": "f89b745cb3983fb1c02bca74a4f6d077", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665210": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert,<br><br>There's an issue with Apple employees 'writing back' to bloggers about the issue - it makes Apple seem like a Big Brother that is lurking around for anytime someone says something negative about them - and then \"ohhh, Apple only talks back to defend themselves\".<br><br>That, and I'm sorry, but Apple does make it very clear where and when you can contact them about certain issues.  Yelling on a blog about your issues is fine, but it's not Apple's place to monitor all blogs all the time and treat them as customer service centers.<br><br>And if you argue that it's worse for Apple to not acknowledge these issues raised on blogs than to risk being the 1984 Big Brother of anything said about them, I'd argue that you're completely wrong.  A blogger blogs, and companies should be neutral participants - not customer service vigilantes.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_23:11:46", "killed": false, "user_key": "cb90da13aeb59302b016efcf28aa8eab", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665211": {"up_voted": false, "ip": "", "has_replies": false, "message": "Diego: I learned my lesson. Now I just repeat what I read on Engadget. :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_00:34:20", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665212": {"up_voted": false, "ip": "", "has_replies": false, "message": "Bobby, you keep going on about this Best Buy return policy but it's the same as the Apple policy, 14 days from purchase for computers.    Best Buy has a 15% restocking fee, Apple 10%.  As for Dell, it's a 21 day policy with a 15% restocking fee.  The return policies are similar as are the warranty service policies.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_21:41:32", "killed": false, "user_key": "834c0f08fd85903a2dc52eda1dc59a58", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665213": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"...the iPod cell phone that\u2019s gonna come out at MacWorld in a week?\"<br><br>This is a fact? Got some insider info?<br><br>The only thing that makes me sceptical about an iPod is that it's the WWDC. With Leopard, 8-core Macs, etc. it's too crowded. And this is a developer's conference after all.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_00:31:27", "killed": false, "user_key": "df679bd3d287a21d5ed6020bae384e17", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665214": {"up_voted": false, "ip": "", "has_replies": false, "message": "HG: yeah, he gets embarrassed sometimes by the public stature of our family. He's still pissed that he got kicked out of Second Life (most of his friends still are there, the only reason he got booted was cause he played in public). But, that's an important lesson for him to learn too.<br><br>And, learning to deal with criticism for one's beliefs is an important lesson too. I'm very proud of his ability to stand up for himself, though.<br><br>But, what I get on him about is religious belief in a company or a guy. That won't serve him well in the world because it'll keep him from looking for a better way to do things. It'll also let him down, as he found out this week. Better to have a little cynicism.<br><br>Note that I too admire Steve Jobs. He has skills I never will have. The way he talked IBM out of $400 million without having a product in hand (when he started NeXT) was sheer genius and balls.<br><br>And, last time I looked I hadn't started one of the world's great companies.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_02:30:58", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665215": {"up_voted": false, "ip": "", "has_replies": false, "message": "You didn't read my post Patrick: <a href=\"http://htmlfixit.com/?p=893\" rel=\"nofollow\">http://htmlfixit.com/?p=893</a><br><br>I could have told you that Apple service sucks.<br><br>Aside: Note I use that word \"suck\" becuase it fits.  This despite what your friend says here Robert when analizing Yuvi's blog: <a href=\"http://thinklab.typepad.com/think_lab/2006/12/get_on_the_yuvi.html\" rel=\"nofollow\">http://thinklab.typepad.com/think_lab/2006/12/g...</a><br>(and he apparently isn't on-line as his moderated comments aren't being moderated ...)<br><br>I always try to take the time to compliment a couple of companies who I find to be top notch any time I level criticism.  So anytime you say something bad, say something good too, and not just about Seagate, your sponsor ;-) perhaps?<br><br>Good luck to your son and you are right, if he decides to go Windoze or go renegade and adopt Linux or better yet develop his own operating system -- heck just call it scobes 2007 -- well Apple's loss.<br><br>If it was Microsoft someone else would release a patch in the meantime because they are so slow to fix it.  So maybe two weeks isn't the end of the world.  Or maybe it is.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_23:23:28", "killed": false, "user_key": "4024414175e4a5dd8a53b49ee5b0245a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665216": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt;I\u2019ve had a better experience returning stuff at Apple than BBY, and not restocking fee either.<br><br>I've never been charged a restocking fee at BestBuy and I've returned a number of things (at Microsoft I did tons of business with them, and I've bought several things at PodTech from them too).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_23:20:58", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665217": {"up_voted": false, "ip": "", "has_replies": false, "message": "Did you ask for a replacement or did you ask to get this particular MBP repaired?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_02:12:39", "killed": false, "user_key": "c2722dc7d0af3bf77654b5332ce0e119", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665218": {"up_voted": false, "ip": "", "has_replies": false, "message": "ps they never did get with me ... simple to correct ... just give me back my call given that they never advised me I only get one and if we talked longer this was it even though it was to fix a defect in their software", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_23:24:45", "killed": false, "user_key": "4024414175e4a5dd8a53b49ee5b0245a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665219": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ariel: OK, so are you saying the same thing about the New York Times? Why does Apple listen to them? How about Newsweek? How about CNN? I bet if Steven Levy called Apple on something that HE'D get listened to. Why? Why not blogs? After all, more people read blogs now than read Newsweek.<br><br>A customer is in pain. You saying companies shouldn't react to that? I TOTALLY disagree.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_23:19:38", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665220": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ariel, I disagree.  I completely believe that companies should be \"customer service vigilantes\".  A companies customer service is often the first and only line a company has this it's public.  It's very obvious which companies are proactive and what companies are not.  traditionally, companies that make customer service a priority are the most successful.  Those who do no make customer service a priority are not as successful as they could be.<br><br>Think of what Apple could be if the best OS on the market and the best hardware available was married to the best customer service - like American Express level service (they are the best in any biz).  They would be able to tip every computer sales scale currently tracked.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_23:20:00", "killed": false, "user_key": "422d578473476b6f941f41f3d397cc4d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665221": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, you're correct - even one adverse connection with Apple is one too many from a customer satisfaction viewpoint.<br>You weren't there so your comments are as third-hand as many above. Maybe Apple are retaining Books with specific problems in order to determine the scale of the issue? Maybe the store didn't have a Book to replace or lend? Maybe the Apple Store employee explained more but it got lost in the retelling of the story? Most likely the frailty of humans was at play and this person made a boo-boo by not offering all the options to Patrick.<br>Most likely you yourself was at fault for letting Patrick deal with this solely on his own - you love your son, he loves Apple stuff, so why didn't you just go into the Apple Store with him to make sure he got the best possible result? And I seem to remember that you have a close relative who works at Apple? Mmm!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_03:33:13", "killed": false, "user_key": "9e055e50a5cf90931a4a89b18e317a53", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665222": {"up_voted": false, "ip": "", "has_replies": false, "message": "Aaron: and, what happens if Apple changes its return policy for EVERYONE to be the same as BestBuy or Costco cause they realize they are pissing off their best customers?<br><br>I really don't expect to get anyone from Apple listening to me. They haven't demonstrated they listen to anyone but Steven Levy from Newsweek or Walt Mossberg of the Wall Street Journal.<br><br>Oh, and you might try a little squeek yourself sometime! Everyone can use blog search engines. Maybe if hundreds of us complained we'd get attention?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_02:03:42", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665223": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm sorry Patrick's Christmas present had a bug. :-/<br><br>But it sounds like the guy in Canada has issues a lot bigger than the random shutdown issue -- it looks like the wrong machine got packaged in his box! Maybe Apple Canada needs a kick in the pants.<br><br><br>But notice he doesn't tell us key things like what version of the software he's running.<br><br>There's an <a href=\"http://docs.info.apple.com/article.html?artnum=304308\" rel=\"nofollow\">Apple Doc</a> outlining the problem and giving a firmware solution. And a <a href=\"http://digg.com/apple/Macbook_Random_Shutdown_Problem_Solved_At_Last\" rel=\"nofollow\">Digg</a> solution as well - it's the top post at your poster-child site right now, btw.<br><br><br>Robert, I don't know what Apple Store you have where you are -- but the one at Alderwood Mall in Lynnwood WA is awesome. They were great when I had to send my G4 PB back under extended warranty -- and yeah, it was gone more than a week. It was also 2 years old.<br><br>I watched them do a data swap on a new(ish) iMac that was having problems ... I don't know how old it was, but the Genius Bar guy I was talking to said that they weren't going to make the owner wait for service, they were replacing the machine. The Apple Store guys felt bad because it was the couple's first Mac. [I was in for a Garage Band lesson.]<br><br>What was the reason given for not replacing the unit? You didn't tell us that.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:56:24", "killed": false, "user_key": "d8df86b4c5e727645df23a867b02c826", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665224": {"up_voted": false, "ip": "", "has_replies": false, "message": "Tim (#28)...That's the way it usually works if you call Applecare...box shows up, you ship, you get email messages (possibly even able to  web track the repair with the ticket number), you get it back (usually before the stated date). At least that's the way it's worked for my brother who doesn't have an Apple store close by.<br>Robert...You keep bringing up Best Buy, search Google for stories about their customer service. It certainly doesn't match your exhortations nor my experience. I've had a better experience returning stuff at Apple than BBY, and not restocking fee either.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:56:33", "killed": false, "user_key": "1966e5aab1490a53508d57831fddfe8d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665225": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert and Tim,<br><br>I get where you're coming from and I do agree that companies need to be involved, I am not saying they should not be active in the blog community (because they most definitely should be).  My argument is that if a company steps in everytime there are complaints - it opens the flood gates for horrible possibilities that maybe some companies can handle, but most currently can't.<br><br>In a good world, companies would hire smart, sensible people who understand and could deal with the whole \"blog thing\".  Unfortunately, a lot of companies do lurk around reading what everyone says about them and instead of taking it 'like a man', a lot become extremely defensive and angry.  Why?  Because as bloggers, we don't check every little tiny fact like a regular news source usually does - and as such, it would take a lot of time and a whole team to respond to all the blogs that are either complaining about the product or spreading wrong information about the product.<br><br>Ok, next issue, companies do understand the power of blogs, thus, before responding to any blog, a lot of execs would like any communication to go through their legal departments, exec heads, etc. before even replying - by the time a company could reply, it'd already be a month old.<br><br>Now, the whole customer service issue - there are reasons why there are customer service centers - and if someone is bitching on a blog about an issue and never seeked customer service otherwise (not saying this is you, just an example), then how can a company help them other than to say \"you know, if you went to our customer service center, they may be able to resolve this for you.\"  An example I heard of a while back is Verizon's \"bring all your issues here\" blog - this is the best that Verizon can do and is a decent work-around for now - they can't interact with a blog's post, but they can create a blog as an alternative customer solution center.<br><br>Okay, there's a lot of other points I could make (I work at an agency, and so I hear the good and the bad thoughts about blogs everyday from clients), but I guess, in closing of this comment - yes, I really wish it was as simple as it easily COULD be for someone in a company to just respond and communicate, I really, really do.  Until companies grow some balls or someone is willing to go above exec's heads, it will be a battle to DIRECTLY respond to a blog's post.  Please understand that this argument I'm raising is not how *I* think things should be - but just the realistic side of the battles that I have to make everyday with clients.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_00:50:10", "killed": false, "user_key": "cb90da13aeb59302b016efcf28aa8eab", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665226": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert writes: \"But, he\u2019s still 12 and still thinks Steve Jobs is God.\"<br><br>You don't have to be a young person to appreciate Steve Jobs.  Even the engineers and management at Microsoft acknowledge the man's genius.  The comment though comes off a bit put-offish implying people use Macs for superficial and immature reasons.  Maybe you didn't mean it that way.<br><br>I don't know what to say to a young person with an infatuation.  I do know that if it were me, I'd be embarrassed to have it discussed in public in this way.<br><br>This is very personal topic.  I would love to connect with my son someday on something like computers.  Maybe you would too.  Of course that can only happen by being open to each other (mostly from the adult, i.e. you).  On the other hand, if a strong will is the desired trait, then your son is fine.  The apple doesn't fall far from the tree after all.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_02:22:28", "killed": false, "user_key": "5201e306c37562746a8cdeebe24bef32", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665227": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jake: my son just wanted the problem to be fixed. He didn't care about how.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_02:19:57", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665228": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scott: no, I'm not. I'm asking Apple stores to treat people the same way Best Buy and Fry's Electronics do. Take back a machine purchased in the past 30 days and replace it on the spot. Or, give a loaner, if you aren't willing to do that.<br><br>People bet their lives on their machines. Imagine a business who gets this kind of response?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:32:47", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665229": {"up_voted": false, "ip": "", "has_replies": false, "message": "Seriously, in the grand scheme of life, what is two weeks? Is your son going to die, lose a limb, or be completely disconnected from the world as we know it without his newest addition? Most likely not. He still has internet access. Give Apple a chance to fix it. It is a holiday weekend. People, like you, and me, deserve to have the time off. Perspective, in all things is wise. But that and 5.00 might get you a cup of coffee.. :-)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:35:38", "killed": false, "user_key": "2bb436670784887ff09f81eaa40e34cf", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665230": {"up_voted": false, "ip": "", "has_replies": false, "message": "I've had my MBP since early 2006 with no problems.<br><br>Is the problem heat related? If he didn't already try it, Patrick should run one of the utilities that monitors the CPU temperature. He can also try adjusting the fan speed using SMCFanControl to keep the machine from getting too hot. Mine usualy runs about 145F.<br><br>Also, check the console logs for any messages related to the reboot.<br><br>Will you and Patrick be at MacWorld Expo next week?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:24:13", "killed": false, "user_key": "052b51c329476fd3f72463cbea5fec53", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665231": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think you are being too hard on Apple. First, Apple generally is pretty quick about fixing problems that are under warranty. When it had to switch out a logic board on an old iBook it took three days. I also had it overnight me repairs for minor things like a faulty keyboard. I think the speed of resolution depends on the problem, and the person your dealing with. Complicated problems take longer.<br><br>Second, from Apple's perspective, at least over the phone, it has no idea if what you are saying is correct. Often if you go into an Apple store, you get assistance immediately. Also, if you think one Apple representative is not assisting you properly, ask for a manager. Sometimes, that gets resolution quicker.<br><br>After-all, you are dealing with people, and people are not always good company representatives.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_01:11:23", "killed": false, "user_key": "a76e6c44b4c2ac6ca1bbdb05e9bfbc00", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665232": {"up_voted": false, "ip": "", "has_replies": false, "message": "Tim: I understood. Thanks!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:53:57", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665233": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ian: it's Patrick's computer. He can stand up for himself. That's a valuable life lesson too that daddy ain't gonna always be there for him. But if he were at Best Buy, he could have pointed to the return policy on the wall. I didn't see any such return policy posted at Apple stores.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_00:58:20", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665234": {"up_voted": false, "ip": "", "has_replies": false, "message": "I feel bad for Patrick. It really sucks when a new anything doesn't work. It super sucks when a new computer doesn't work. And I don't have the words for how much it sucks when a new Mac doesn't work.<br><br>I suddenly flashed on the scene in Lawrence of Arabia, the evening after the Arabs have captured Aqaba from the Turks and Auda abu Tayi (Anthony Quinn) is livid that he hasn't found the gold that Lawrence promised would be there. He reluctantly accepts a promissory note for 5,000 guineas in ten days from Lawrence. then turns to Sherif Ali (Omar Sharif) and says, \"He said there was gold here. He lied. He is not... perfect.\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:40:37", "killed": false, "user_key": "c2ec17b9df58d5843b147cf69deef262", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665236": {"up_voted": false, "ip": "", "has_replies": false, "message": "Mike: nah, we won't be at MacWorld. By the way, he ran those utilities. Didn't seem to be heat related.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:41:10", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665238": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt;It seems to me the biggest crime here is that they didn\u2019t treat your son as if he were special.<br><br>My son IS special. Thanks for noticing! So is yours, if you have one.<br><br>But, it isn't about that. It's about customer service. Best Buy beats Apple stores. Fry's beats Apple stores. Dell beats Apple stores. Costco beats Apple stores.<br><br>They treat EVERYONE special (they all take back laptops for the first few weeks without any questions, not to mention they replace defective equipment. Costco even lets you bring back computer equipment for the first year). Apple just has a nice looking interior but their service policies don't back up the pretty look.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:36:47", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665240": {"up_voted": false, "ip": "", "has_replies": false, "message": "Mike, as much as I love Linux - and Ubuntu is by far the best of the Linux distro's out there - I have to disagree:  gNome and KDE will mac a macOS user cry.  Mostly because he will want to do things that look like he should be able to, but will not be able to.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:37:25", "killed": false, "user_key": "422d578473476b6f941f41f3d397cc4d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665242": {"up_voted": false, "ip": "", "has_replies": false, "message": "Mike: I'm sure he'll discover the joys of Linux before he's 15. But, he's still 12 and still thinks Steve Jobs is God.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:37:40", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665244": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, I think your trying to fight the crowd again, you do sound whiney and wanting of special treatment. What I find interesting is that Patrick is \"now\" searching Google. Is he searching for help or just the bitches?<br><br>In the future, you might have him search the Mac specific sites, or even the Apple support forums, before heading to the shop. Who knows, he may have found a solution and be happy right about now. Here's some starter links...<br>MacSurfer... <a href=\"http://www.macsurfer.com/\" rel=\"nofollow\">http://www.macsurfer.com/</a><br>MacFixIt... <a href=\"http://www.macfixit.com/\" rel=\"nofollow\">http://www.macfixit.com/</a><br>ArsTechnica/Mac... <a href=\"http://episteme.arstechnica.com/eve/ubb.x?a=frm&amp;s=50009562&amp;f=8300945231\" rel=\"nofollow\">http://episteme.arstechnica.com/eve/ubb.x?a=frm...</a><br>Apple Discussions... <a href=\"http://discussions.apple.com/index.jspa\" rel=\"nofollow\">http://discussions.apple.com/index.jspa</a><br><br>Self sufficiency is a good thing to teach. Whining isn't and looking for star treatment isn't.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:11:38", "killed": false, "user_key": "1966e5aab1490a53508d57831fddfe8d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665246": {"up_voted": false, "ip": "", "has_replies": false, "message": "P.S. Patrick might enjoy the ThinkPad more if he installed Ubuntu on it :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:25:53", "killed": false, "user_key": "052b51c329476fd3f72463cbea5fec53", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665248": {"up_voted": false, "ip": "", "has_replies": false, "message": "One other question to the nay sayers.  If you buy a car and 2 weeks from now the engine blows, you are going to let them replace the engine and not the whole car?<br><br>It is the same thing for a 12 year old.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:41:50", "killed": false, "user_key": "9e9e194dbf68762f993d34c9daceb453", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665250": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't get it. Is your complaint that Apple hasn't sent a personal email to you or to your son? According to independent consumer organizations such as Consumer Reports, Apple has a pretty good support record and one of the best customer satisfaction rates. And in fact Wall Street Journal did cover Apple's iPod service on December 6, 2006 - despite the fact that it was a low failure rate (5% - below industry CE failure rates). I guess you would like journalists to cover your son's problems though reports that suggest Apple's product quality isn't that big a problem. The loudest voice isn't always the right one.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:42:43", "killed": false, "user_key": "753dc889cd0a471c59d58501bcc510ed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665252": {"up_voted": false, "ip": "", "has_replies": false, "message": "When I had a problem with Dell, they sent me a new one overnight and I didn't have any phone tag -- just one call. I understand others haven't had the same response from Dell, though. Keep in mind that Dell has a blog where they take care of blogger's problems: <a href=\"http://www.direct2dell.com/\" rel=\"nofollow\">http://www.direct2dell.com/</a>. Apple doesn't care, I understand that. I'm getting that message loud and clear.<br><br>When I had a problem with a camcorder purchased at Best Buy, they replaced it on the spot.<br><br>Of course blogging doesn't fix a problem.<br><br>The computer was received a few days before Christmas. Less than a month old.<br><br>Yes, Patrick backed it up before we took it in. He only had it a few days anyway, so didn't have a chance to get a lot of stuff onto it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:23:40", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665254": {"up_voted": false, "ip": "", "has_replies": false, "message": "It seems to me the biggest crime here is that they didn't treat your son as if he were special. Apple has a warranty, Apple is honoring the warranty. I admit that it has been awhile since I sat down and read Apple's warranty, but I don't think it has \"we will treat scoble's son like a special customer\". I also don't understand all the tangents and non sequiturs. Who cares where Steve Jobs lives in respect to an Apple Store, an Apple blog would not resolve this any faster, any troubleshooting suggested is not going to work because your kid know macs better than anyone. Hell, he practically designed them. It seems like this is more like a case of a high profile blogger throwing a hissy fit to get his way. That will certainly legitimize blogs huh?<br><br>I disagree with the person above who said your son should grow up. From what you said it sounds like he his handling it well for someone his age. But it really sounds like you might want to consider that advice.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:22:15", "killed": false, "user_key": "51c7374d2f17a3c3477c176271182380", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665256": {"up_voted": false, "ip": "", "has_replies": false, "message": "Liz: it's quite possible. And if that were true, then that's a valuable lesson he will learn too: that you get more by being nice than by being a jerk.<br><br>But, on the other side of the fence, in Best Buy (or Fry's, or Costco) even a jerk can return stuff: all they need to do is point to the policy on the wall.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_01:35:06", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665257": {"up_voted": false, "ip": "", "has_replies": false, "message": "... just to be clear. The refurbished MacBook Pro was \"purchased\" using a credit card. I meant to write that there was no \"restocking\" fee by Apple when I returned the refurbished MacBook Pro and I received a full credit to my credit card. The only cost to me was a nominal interest charge on the amount of the MacBook Pro over 7 days.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:51:49", "killed": false, "user_key": "57d7173cbc9c3e81dfd4a5f679b63fc5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665260": {"up_voted": false, "ip": "", "has_replies": false, "message": "You let him handle it himself is a good way to teach him a great lesson, well, other than posting about it endlessly on your site. So when it is resolved because someone at Apple wises up to the greasy wheel will he really be the one that fixed his own problem? I'm sure that he'll learn from your example soon enough. The blogger who throws the biggest tantrum will get the best customer service. Just realize it's special treatment and is no way indicative of the real world. Apparently being an \"A List\" blogger is very similar to being a 3 year old. Fall to the ground and flail until you get what you want. Kudos to you.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_01:56:11", "killed": false, "user_key": "355305b3ced696799b19f2e63539d88b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665261": {"up_voted": false, "ip": "", "has_replies": false, "message": "Tim: Interesting that the Palo Alto store (which is the one very close to Steve Jobs' house) didn't suggest that to my son. Yeah, he left his machine there cause they didn't present any other options.<br><br>By the way, I didn't deal with the store at all. One thing I've done is make Patrick do all his dealings with Apple. I didn't talk to the salesperson. So, maybe they thought that a 12-year-old didn't need the deluxe treatment.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:48:11", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665263": {"up_voted": false, "ip": "", "has_replies": false, "message": "Kathy: Patrick says he had already run all available updates, including the ones to supposedly solve the rebooting issue.<br><br>I don't know. I didn't deal with the Apple store. They just said it needed to be sent in, according to Patrick. Maybe he wasn't forceful enough. One thing I've been doing with Patrick is teaching him to deal with computers himself so he gets confidence (and experience) dealing with people.<br><br>Keep in mind that Patrick knows more about Apple than any Apple store employee I know. If you ever meet him that'll become instantly apparent.<br><br>The Apple store he was in was the Palo Alto store, about a mile from Steve Jobs' house, and it's always been one of the best managed Apple stores I've visited for that reason. Imagine if Steve Jobs walks in and a customer has a bad experience?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:00:16", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665264": {"up_voted": false, "ip": "", "has_replies": false, "message": "Terrin:<br><br>&gt;Often if you go into an Apple store, you get assistance immediately.<br><br>They did give him assistance immediately. That wasn't the problem. The problem was that he wasn't treated as well as BestBuy or Fry's or Costco would have treated him.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_01:36:22", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665266": {"up_voted": false, "ip": "", "has_replies": false, "message": "That stinks. I'm sorry to read that the Palo Alto folks didn't suggest this option to Patrick. My guess is that this \"program\" isn't an official program nor is it well known. I think I was just simply lucky to speak with someone who knew of this option.<br><br>Best of luck to Patrick.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:56:40", "killed": false, "user_key": "57d7173cbc9c3e81dfd4a5f679b63fc5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665268": {"up_voted": false, "ip": "", "has_replies": false, "message": "Probably exactly what happened:<br><br>Genius: How can I help you?<br>Patrick: My MBP is randomly rebooting.<br>G: Alright, we'll take it and it will take 10-14 days to get it back to you.<br>P: OK, thanks for your help.<br><br>Robert, if  you were so worried about this you should have been there to make sure Patrick wasn't blown off due to his age. I'm sure you were there to hand over the credit card.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_00:50:26", "killed": false, "user_key": "61f636b14fd8f9155de2a0bcc54c161c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665270": {"up_voted": false, "ip": "", "has_replies": false, "message": "TC: he bought his own computer without my help and I didn't see that he needed my help at the counter. He didn't ask for it.<br><br>My relative is an engineer on the Mac team. He's powerless to help out here. He doesn't even know who runs PR or who runs customer service (they compartmentalize everything -- he's working on something secret and he only gets to see his own part on the motherboard and doesn't get to see how it works in a bigger whole. So you expect him to get me some help? Heheh, funny, not to mention that he's not allowed to talk with me about anything Apple).<br><br>Also, lots of people know who I am, so if I start \"influencing\" the world for Patrick, then you'll just bash me for getting Patrick some extra special treatment (just read above for other people already playing that card cause I'm complaining on my blog).<br><br>Maybe I'm not a good parent, but I'd rather Patrick learn some negotiating skills on his own and I'd rather him get the self confidence that comes from a parent letting him solve his own problems.<br><br>That said, I see evidence of a larger trend here that goes beyond Patrick's computer. That's why I'm bringing it out on my blog and making a big deal about it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_05:14:30", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665272": {"up_voted": false, "ip": "", "has_replies": false, "message": "As I read this, and the link in the article, I see 2 dominant themes: Customer Service versus Customer Perception.  Apple, like many companies with repair policies, have the customer service side under control (they took the laptop back for service, and they should return it in a \"repaired\" state).  Could they have promised it faster? Maybe.  Could have they exchanged it?  Maybe.  But they did take it and they are going to \"repair\" it.<br><br>As a side note, I have the distinct impression that the apple stores throughout the US are more like an interactive web store than a Best Buy or a Fry's (or a Microcenter on the east coast).  The staff are able to help you play with a device (the primary mission of an Apple store), answer questions about products (the secondary mission), and provide the Genius Bar (the third mission).  However, once a problem crops up, the policies seem to be identical to those that the website has - and if you have purchased the computer online via <a href=\"http://apple.com\" rel=\"nofollow\">apple.com</a> someone would have told you to ship it back and they would fix it and return it when it was fixed (and I'll bet in most cases they promise 2 week).<br><br>However, in classic Apple form, they did a horrible job managing the perception of the customer(s) affected by this problem.  There are no real success stories that people can refer to for this.  There is no \"real\" message from Apple, only canned corporate speak letting the world know that there was a problem and that they are working on it.  This is a customer perception problem.<br><br>I have had an HP laptop for a little over a year.  I purchased this machine from <a href=\"http://HP.com\" rel=\"nofollow\">HP.com</a>.  About 4 months ago I had to send it in for repairs (some random shutdown issue that I'm pretty sure was related to the video card).  As I waited on hold to talk to the service department that scheduled my repair I was very prepared to send the machine off into the ether and a month later would get it back.  When I spoke to the service guy, he immediately acknowledged that this was a problem they had seen before, *apologized* that I got one of the machines affected, and said they could get this fixed.  He told me I would see a UPS box the next day and let me know it would take 7-10 business days to repair. The box arrived, I shipped it back (receiving an email from HP when they received it at the repair center), received another email 3 days later saying that they repaired it and sent it back (with a tracking number), and it arrived the next day.  HP's customer service team understood that they need to manage my perception and expectations very carefully for me to stay a happy HP customer - and more importantly a repeat customer.  I now recommend HP laptops to anyone who is asking and doesn't want an Apple.<br><br>Apple needs to learn this level of customer service and customer perception management to be truly successful - or at least successful in the mass market.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:25:02", "killed": false, "user_key": "422d578473476b6f941f41f3d397cc4d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665274": {"up_voted": false, "ip": "", "has_replies": false, "message": "And, at the time, waiting two weeks to get his computer fixed didn't seem like that big a deal. It was only later after I saw just how bad Patrick felt (he's a real Mac fan, and this was sort of shattering to his world view that Apple is a great company) and also when I thought back to how other stores had treated me that I realized that Apple wasn't being \"best in the industry\" like what its hype leads us all to believe.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_05:20:37", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665276": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt;That may happen since you\u2019re a well known blogger, but most folks don\u2019t get that kind of treatment.<br><br>They do from Google in a lot of areas. Microsoft employees help out tons of bloggers, even Z listers. I've seen Dell help out too, although they told Jeff Jarvis to pound sand before getting involved in the blogosphere.<br><br>&gt;I guess you would like journalists to cover your son\u2019s problems though reports that suggest Apple\u2019s product quality isn\u2019t that big a problem.<br><br>It's becoming a much bigger problem. I know many people who've had problems with their MacBooks rebooting (you should have followed Dave Winer's reports -- he linked to at least a dozen bloggers who were having similar problems). They told him to wait 10 working days too to get his problem fixed.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:46:29", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665278": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert:<br><br>Not sure if you already know this or if I missed it but Apple has a pretty cool \"program\" which enables one to use a refurbished Mac when one's own Mac needs to go in for servicing.<br><br>My MacBook Pro (purchased April 2006) needed to go in for a new logic board (the mooing sound thing). Anyhow, the manager at the Apple store here in Boston explained to me that I could \"buy\" a refurbished MacBook Pro (assuming they have one for sale at the store in question) and then \"port/copy\" the contents of my MacBook Pro onto the refurbished MacBook (similar to what you do when you buy a new Mac).<br><br>Anyhow, once my own Mac gets sent back to me fixed I can then again port/copy any content/data changes back from the refurbished Mac to my own and then return the refurbished MacBook WITHOUT a stocking charge.<br><br>In essence, Apple enables me to use a \"loaner\" while my machine gets fixed. Since I was using a refurbished MacBook Pro it was as if I was using my own actual computer. I could've cared less how long it took Apple to return my own machine (It took less than 1 week).<br><br>If Patrick has already sent his MacBook back in then this option won't be available but at least you'll know for the next time.<br><br>Happy New Year!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:46:26", "killed": false, "user_key": "57d7173cbc9c3e81dfd4a5f679b63fc5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665280": {"up_voted": false, "ip": "", "has_replies": false, "message": "Rebecca: Apple store was open yesterday. So was Best Buy and Fry's Electronics and so was Dell Electronics. They take back defective equipment and replace it, holidays or not. Apple doesn't.<br><br>And people wonder why Apple has 5.62% marketshare.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:37:19", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665281": {"up_voted": false, "ip": "", "has_replies": false, "message": "Businesses probably spring for Pro Care:<br><br><a href=\"http://www.apple.com/retail/procare/\" rel=\"nofollow\">http://www.apple.com/retail/procare/</a><br><br>Though I wasn't talking about you getting a replacement on the spot (a lot of that is left to the discretion of the Genius) but rather to the idea that an Apple rep would call/email you personally.  That may happen since you're a well known blogger, but most folks don't get that kind of treatment.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:37:27", "killed": false, "user_key": "6a54b89cc37e7974c312270dd564f534", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665283": {"up_voted": false, "ip": "", "has_replies": false, "message": "This concerns me as I regularly recommend Apple products when people come to me looking for advice on a new computer purchase.  I typically point those who aren't tech-savy toward Apple, due to the elegance and ease-of-use of Mac OS X.  I'd imagine that I'd get a far worse tongue-lashing than the Apple tech support person, since I'm the one recommending the computer that should \"just work\".  Why doesn't their support \"just work\" too?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:28:48", "killed": false, "user_key": "1b7d397d92dc19b6300801ba16bcf36d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665285": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well, I was all good and ready to beat down and call you an actor not wanting to get taxed on their free shwag.  But, I must defend.<br><br>My Suggestion is to follow this:<br><br><a href=\"http://store.apple.com/Catalog/US/Images/salespolicies.html#Return%2520Policy\" rel=\"nofollow\">http://store.apple.com/Catalog/US/Images/salesp...</a><br><br>Now tell them that Patrick is dissatisfied and return it if it is within the guidlines.<br><br>When it is returned, I don't know about your area, but my Best Buy now carries Macs.  Go and buy it there.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:39:28", "killed": false, "user_key": "9e9e194dbf68762f993d34c9daceb453", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665287": {"up_voted": false, "ip": "", "has_replies": false, "message": "And this is why businesses won't use Apple products.  I was doing Sys Admin work for a firm where the graphics department insisted on using Macs because \"they never had problems.\"  Needless to say, there were problems, the worst of which was a dead iBook power adapter.  Seems like something they'd have in stock for a 6 month old machine, right?  It took two weeks to get one sent to us.  They claimed they were backordered.  I can call up Dell for a part on a six year old machine and have a replacement the next morning.  They'll even send out a tech to fix it on site if you have Gold service on it.<br><br>That's the other problem.  They won't give you replacement parts for a laptop.  One of the Powerbooks had a dead hard drive.  I called up and they told me I'd have to ship it back or bring it to an Apple store.  What kind of business takes their machines to the mall to get them fixed?  Isn't that the point of having an IT department?  If I call up Lenovo, it takes two minutes to get a replacement drive shipped out and I receive it the next day.<br><br>I'm IT Director now and we'll never use any Apple products.  The hoops you have to jump through to get hardware fixed or replaced aren't worth the time they take.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:12:31", "killed": false, "user_key": "3e4fd4e9a818ed944f53ff94f3c1fd1c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665289": {"up_voted": false, "ip": "", "has_replies": false, "message": "PXLated:  He reads all those sites and more. He's the biggest Mac bigot you'll ever find and he's more knowledgeable on Macs than almost any person other than I know.<br><br>Again, yes, it would be nice to have Apple participating in the blogosphere (there is a tinge of that want coming through here, but don't miss the bigger issue here: Apple's customer support sucks when compared with its industry competitors).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:45:08", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665290": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert:  It is NOT about treating anyone differently.  Good customer service is centered around treating everyone the same.  Apple is not known for having good customer service.<br><br>Dell is known for having good customer service.  Not great, but good.  At least consistent customer service, and they are pretty open about communicating with the customer. So is HP.<br><br>HOWEVER, you can not fairly compare Dell, HP, and Apple to the Big Box stores like Costco, Fry's, Circuit City or (shudder) Best Buy.  Why?  Because when you buy a computer from Best Buy you are buying   that HP from Best Buy, not HP.  Best Buy will do everything they can to keep you as a customer.  They don't really care what you have or what the problem is, only that you keep coming through their doors.  If they have a defective product, they just mark is as an RMA and return it to their supplier, who returns it to the wholesaler they got it from (who may return it to HP or may sell it as a refurb).<br><br>When you buy from Apple, HP and Dell you are buying from Apple, HP, and Dell.  HP and Dell understand that.  Apple seems to think that the people who buy a mac will always buy a mac, and that they don't have to work to retain those people.  HP and Dell work to retain their customers since there is so much competition in their segments.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_22:47:11", "killed": false, "user_key": "422d578473476b6f941f41f3d397cc4d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665291": {"up_voted": false, "ip": "", "has_replies": false, "message": "It does seem like you are asking for special treatment here.  This is Apple's standard why of handling issues like this.  They did it for my MacBook (though it only took one day to fix that).  I also have a MacBook Pro that has never had an issue, as well as 2 iMacs, a Cube, a Titanium PowerBook and an Aluminum Powerbook all that were problem free.<br><br>Whenever an expensive piece of equipment malfunctions you always feel like the company that is responsible is doing a bad job.. that's just human nature.  Is it worthy of being covered by the Wall Stree Journal? Not so much.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:28:37", "killed": false, "user_key": "6a54b89cc37e7974c312270dd564f534", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665292": {"up_voted": false, "ip": "", "has_replies": false, "message": "\" I was in the store, but not at the counter. He kept coming over and telling me what was up and I kept sending him back over to deal with the help there.\"<br><br>I'm not an apologist for Apple - I thought my opening comment made that clear.<br><br>If you were actually in the store why couldn't you drag yourself over to the Genius Bar and support Patrick? Wasn't that the responsible parent thing to do with a minor in any store?<br><br>Anecdotal evidence of customer service may be accurate - or not - but it just doesn't matter whether Best Buy or CostCo is better it is what happens when you need service that matters and you could have influenced the outcome for Patrick - but didn't.<br><br>\"Do you find it interesting that a guy started an entire Web site to track this problem? I do.\" Well, doesn't this sort of thing go on a lot these days for all sorts of people who feel aggrieved that something they've acquired isn't perfect in every way? Winer may be entirely correct in highlighting an Apple approach that doesn't measure up. I'm sure he's contacted Apple and had the brush-off as a no-nothing, unknown on the Internet!<br><br>Influence is a wonderful thing. And what happened with that relative at Apple in helping to get to the bottom of the problem?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_05:02:31", "killed": false, "user_key": "9e055e50a5cf90931a4a89b18e317a53", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665293": {"up_voted": false, "ip": "", "has_replies": false, "message": "Since you weren't there, Robert, it's hard to know exactly how the interaction went down. Is it possible that Patrick went in with some attitude, and that as a result the store employees weren't as forthcoming with alternatives?<br><br>For what it's worth, the Apple Store here in Rochester _did_ replace Lane's MacBook with a new one when we had trouble, which <a href=\"http://mamamusings.net/archives/2006/08/30/kudos_to_the_rochester_apple_store.php\" rel=\"nofollow\">I blogged about</a>.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-02_01:23:44", "killed": false, "user_key": "b32cac73db0838ce3c291cd0fbabf32e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665294": {"up_voted": false, "ip": "", "has_replies": false, "message": "Because Apple isn't everyone else. What are they going to say besides, \"we fix problems like this as fast as we can\"?<br><br>What, because they don't have a blog saying they are working on it, they aren't? Are you that brainwashed that the ONLY way anyone can fix a problem in your eyes anymore is to blog about it?<br><br>\"We haven't fixed it yet, but we're aware of it.\"<br><br>Yeah, that's great.<br><br>Robert, they're doing exactly what they should be doing. They're taking it back and looking at it. Let me ask you this, would you rather get a new one from the same lot, and have the same problem hit you? Would that be better? Somehow, I think not.<br><br>I can tell you that when it comes to corporate purchases NOT from a Microsoft, Dell or HP, I don't get same day return service. I get, if I'm lucky, a day or two of phone tag, because there's no brick and mortar store to take it to. If you're on a corporate contract, Best Buy does you no good. If you bought a Dell, you have to play phone tag with them, that's the only way to get support. You like Dell phone tag? Thought not. So, where was I. Oh yeah. A couple of days of phone tag. Then I have to box it up and send it to them. How long does it usually take with Dell or HP?<br><br>That's right, 7 to 10 days. Or longer. If it's a consumer rig, you better hope it wasn't a Dell, that way you at least have a chance of a \"place\" to take it back to. There's nothing particularly bad or good about what you're seeing. Blogs don't change turnaround time. Blogs don't change the fact that Dell has no physical store to do service from, unless you count a Kiosk that can't actually sell you a computer.<br><br>You say it's \"brand new\". Care to put a timeframe on that? Is brand new six days old? Six weeks? Six months? It makes a difference.<br><br>Did you back it up first? I hope so, because if they have to wipe the drive as part of the troubleshooting process, dear god, you're going to be whining in overdrive.<br><br>Honestly, I bet Patrick's being more mature about this than you are.<br><br>But blogging doesn't fix a problem. It just fools you into thinking it does.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-01_21:19:13", "killed": false, "user_key": "422187df3c45655b0dc2ae5de0710b27", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665295": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hahabob: Patrick got straight A's and saved up for his own computer with a subsidy from me for his straight A's.<br><br>But, I'm not going to debate parenting skills with someone who can't even spell very well or use his/her own name. Have a good one!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-26_03:08:08", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665296": {"up_voted": false, "ip": "", "has_replies": false, "message": "why des your 12yr old have a macbook pro anyway? lemme guess....he already has a cell phone and a midnight curfew or later? oh wait, that's right, you are a divorced parent who couldnt keep the house together long enough to raise a kid properly, so you just give him crap now to make up for bad parenting.  oh yeah and he is \"pissed\" as you say...what a f-ing brat.  raise them right, then you would never nee dto post this blog cause he wouldnt have turned out like a little POS wanting/geting anything everything.  stupid 12yr old with a $2,500 computer.  idiot parents!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-01-26_03:01:10", "killed": false, "user_key": "09bcda425161a88051fa3969b2eae779", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665297": {"up_voted": false, "ip": "", "has_replies": false, "message": "this is hella phuken funny dam and im 12 years old this $hit is hella funny", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-02-11_14:57:23", "killed": false, "user_key": "a278847c422b3db33ab61340d56c5fb4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665298": {"up_voted": false, "ip": "", "has_replies": false, "message": "It all comes down to one simple ideal. If you dont like the way businesses handle their problems and customers, start your own company and do it the way you feel it sould be done. We must remember that this is America and if you dont like the way things are done you have the right to do it your own way. Besides, if the service here is so hard to bear , try getting better service somewhere else and see how well that turns out. This country is a giant service industry and all we ever manage to do is whine about how someone else cant do it right. Oh one more thing try microsoft there real great service has won over millions of still dis-satisfied customers. So it comes down to one last thing. That is the fact that no matter how great tecnologies becomes there is always some spoiled little brat whos mad at his mommy and his computer because he cant beet his pudd while your out at the grocer!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-11_17:16:20", "killed": false, "user_key": "5ad58a66719a1368c5ecbb7b1edfc43d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9665299": {"up_voted": false, "ip": "", "has_replies": false, "message": "YOU SHOULD HAVE BOUGHT A MAC!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-09-24_11:50:57", "killed": false, "user_key": "f429a8e5784b4f6728c533225bf1ecbe", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "18359087", "user_id": "anonymous", "forum_id": "125200", "hash": -584301578489211866}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "never_piss_off_a_12_year_old", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18359087, "num_posts": 90, "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=never_piss_off_a_12_year_old' +
		'&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/never_piss_off_a_12_year_old/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='	+ 'never_piss_off_a_12_year_old'
			+ '&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/never_piss_off_a_12_year_old/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">90</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/never_piss_off_a_12_year_old/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/never_piss_off_a_12_year_old/">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/never_piss_off_a_12_year_old/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:18359087" 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'				: 'never_piss_off_a_12_year_old',
			// 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/never_piss_off_a_12_year_old/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='	+ 'never_piss_off_a_12_year_old'
			+ '&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='	+ 'never_piss_off_a_12_year_old'
			+ '&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='		+ 'never_piss_off_a_12_year_old'
				+ '&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/18359087/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-9665190">\
	 <div id="dsq-comment-header-9665190" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665190" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665190">Larry</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665190" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665190" class="dsq-comment-message">Check out Apple\'s new home page graphic.  Hmmmmm<br><br>Robert I feel for Patrick, hope this turns around for him fast, and looking forward to hearing the outcome.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665193">\
	 <div id="dsq-comment-header-9665193" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665193" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665193" href="http://www.camworld.com/" target="_blank" rel="nofollow">Cameron Barrett</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665193" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665193" class="dsq-comment-message">Robert, I think you need to tell your son to grow up a little bit. Apple has a pretty good track record of fixing their engineering issues, even if they\'re a bit slow about it (I waited many months for the firmware update to fix my G4 tower that kept freezing randomly; the single processor one from 2004).<br><br>Part of dealing with technology is accepting the fact that issues like the randon shutdown do crop up on occasion. Expecting an immediate firmware fix or replacement machine from Apple over a holiday weekend is a bit of a stretch and you and your son both know it.<br><br>Constantly complaining about the problem doesn\'t do any good and expecting personal one-on-one customer service from Apple for issues like this has never been part of Apple\'s protocol so why would you expect anything different?<br><br>If you don\'t like the way Apple deals with these kinds of issues you\'re more than welcome to go back to Microsoft, or try out any one of the Linux variants.<br><br>Apple *will* fix the issue, but you need to give them time. Seems like common sense to me.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665191">\
	 <div id="dsq-comment-header-9665191" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665191" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665191">Bob Jones</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665191" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665191" class="dsq-comment-message">Why haven\'t I hit it? I shut down my MacBook Pro most evenings and start it up from a fresh boot. Why do I do that? Because I\'ve been using computers for 20 years and have learned that\'s the best way to work.<br><br>This was a behavior I learned on System 7.0 back in 1992 when I was a page designer at San Jose State. It takes an extra minute in the morning to boot up, but that\'s why I never hit this bug.<br><br>By the way, fixing these kinds of bugs isn\'t easy and even if they were, deploying the fix isn\'t easy either. Someday I\'d like to introduce Robert to some of the developers here so that he can see the process that changing one line of code would take.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665189">\
	 <div id="dsq-comment-header-9665189" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665189" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665189" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665189" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665189" class="dsq-comment-message">Cameron: if I had bought this machine from Best Buy or Fry\'s, it would already have been returned and a new one in our hands (they allow you to return things for any reason within the first month). That\'s real customer service.<br><br>Telling someone to wait two weeks to get his machine back is ridiculous when he just purchased it -- Apple sold us a defective box. It should have been replaced on the spot. But, nonetheless, Patrick already read your comment and told me "hey, dad, you should tell me to grow up."<br><br>Bob: touche! (for everyone else, this is an inside joke, cause I defended Tablet PCs that had a memory leak, which is far far better than a shutdown problem which causes you to lose all your work, by saying that I shut down my computers every evening. Something I still do, by the way, even on my Mac. Mostly now cause I\'m worried about batteries catching fire).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665294">\
	 <div id="dsq-comment-header-9665294" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665294" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665294" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665294" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665294" class="dsq-comment-message">Because Apple isn\'t everyone else. What are they going to say besides, "we fix problems like this as fast as we can"?<br><br>What, because they don\'t have a blog saying they are working on it, they aren\'t? Are you that brainwashed that the ONLY way anyone can fix a problem in your eyes anymore is to blog about it?<br><br>"We haven\'t fixed it yet, but we\'re aware of it."<br><br>Yeah, that\'s great.<br><br>Robert, they\'re doing exactly what they should be doing. They\'re taking it back and looking at it. Let me ask you this, would you rather get a new one from the same lot, and have the same problem hit you? Would that be better? Somehow, I think not.<br><br>I can tell you that when it comes to corporate purchases NOT from a Microsoft, Dell or HP, I don\'t get same day return service. I get, if I\'m lucky, a day or two of phone tag, because there\'s no brick and mortar store to take it to. If you\'re on a corporate contract, Best Buy does you no good. If you bought a Dell, you have to play phone tag with them, that\'s the only way to get support. You like Dell phone tag? Thought not. So, where was I. Oh yeah. A couple of days of phone tag. Then I have to box it up and send it to them. How long does it usually take with Dell or HP?<br><br>That\'s right, 7 to 10 days. Or longer. If it\'s a consumer rig, you better hope it wasn\'t a Dell, that way you at least have a chance of a "place" to take it back to. There\'s nothing particularly bad or good about what you\'re seeing. Blogs don\'t change turnaround time. Blogs don\'t change the fact that Dell has no physical store to do service from, unless you count a Kiosk that can\'t actually sell you a computer.<br><br>You say it\'s "brand new". Care to put a timeframe on that? Is brand new six days old? Six weeks? Six months? It makes a difference.<br><br>Did you back it up first? I hope so, because if they have to wipe the drive as part of the troubleshooting process, dear god, you\'re going to be whining in overdrive.<br><br>Honestly, I bet Patrick\'s being more mature about this than you are.<br><br>But blogging doesn\'t fix a problem. It just fools you into thinking it does.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665252">\
	 <div id="dsq-comment-header-9665252" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665252" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665252" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665252" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665252" class="dsq-comment-message">When I had a problem with Dell, they sent me a new one overnight and I didn\'t have any phone tag -- just one call. I understand others haven\'t had the same response from Dell, though. Keep in mind that Dell has a blog where they take care of blogger\'s problems: <a href="http://www.direct2dell.com/" rel="nofollow">http://www.direct2dell.com/</a>. Apple doesn\'t care, I understand that. I\'m getting that message loud and clear.<br><br>When I had a problem with a camcorder purchased at Best Buy, they replaced it on the spot.<br><br>Of course blogging doesn\'t fix a problem.<br><br>The computer was received a few days before Christmas. Less than a month old.<br><br>Yes, Patrick backed it up before we took it in. He only had it a few days anyway, so didn\'t have a chance to get a lot of stuff onto it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665291">\
	 <div id="dsq-comment-header-9665291" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665291" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665291" href="http://blog.blankbaby.com/" target="_blank" rel="nofollow">Scott McNulty</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665291" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665291" class="dsq-comment-message">It does seem like you are asking for special treatment here.  This is Apple\'s standard why of handling issues like this.  They did it for my MacBook (though it only took one day to fix that).  I also have a MacBook Pro that has never had an issue, as well as 2 iMacs, a Cube, a Titanium PowerBook and an Aluminum Powerbook all that were problem free.<br><br>Whenever an expensive piece of equipment malfunctions you always feel like the company that is responsible is doing a bad job.. that\'s just human nature.  Is it worthy of being covered by the Wall Stree Journal? Not so much.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665283">\
	 <div id="dsq-comment-header-9665283" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665283" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665283" href="http://www.chrisbellini.com/" target="_blank" rel="nofollow">Chris Bellini</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665283" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665283" class="dsq-comment-message">This concerns me as I regularly recommend Apple products when people come to me looking for advice on a new computer purchase.  I typically point those who aren\'t tech-savy toward Apple, due to the elegance and ease-of-use of Mac OS X.  I\'d imagine that I\'d get a far worse tongue-lashing than the Apple tech support person, since I\'m the one recommending the computer that should "just work".  Why doesn\'t their support "just work" too?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665228">\
	 <div id="dsq-comment-header-9665228" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665228" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665228" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665228" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665228" class="dsq-comment-message">Scott: no, I\'m not. I\'m asking Apple stores to treat people the same way Best Buy and Fry\'s Electronics do. Take back a machine purchased in the past 30 days and replace it on the spot. Or, give a loaner, if you aren\'t willing to do that.<br><br>People bet their lives on their machines. Imagine a business who gets this kind of response?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665229">\
	 <div id="dsq-comment-header-9665229" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665229" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665229">Rebecca</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665229" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665229" class="dsq-comment-message">Seriously, in the grand scheme of life, what is two weeks? Is your son going to die, lose a limb, or be completely disconnected from the world as we know it without his newest addition? Most likely not. He still has internet access. Give Apple a chance to fix it. It is a holiday weekend. People, like you, and me, deserve to have the time off. Perspective, in all things is wise. But that and 5.00 might get you a cup of coffee.. :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665280">\
	 <div id="dsq-comment-header-9665280" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665280" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665280" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665280" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665280" class="dsq-comment-message">Rebecca: Apple store was open yesterday. So was Best Buy and Fry\'s Electronics and so was Dell Electronics. They take back defective equipment and replace it, holidays or not. Apple doesn\'t.<br><br>And people wonder why Apple has 5.62% marketshare.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665281">\
	 <div id="dsq-comment-header-9665281" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665281" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665281" href="http://blog.blankbaby.com/" target="_blank" rel="nofollow">Scott McNulty</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665281" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665281" class="dsq-comment-message">Businesses probably spring for Pro Care:<br><br><a href="http://www.apple.com/retail/procare/" rel="nofollow">http://www.apple.com/retail/procare/</a><br><br>Though I wasn\'t talking about you getting a replacement on the spot (a lot of that is left to the discretion of the Genius) but rather to the idea that an Apple rep would call/email you personally.  That may happen since you\'re a well known blogger, but most folks don\'t get that kind of treatment.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665285">\
	 <div id="dsq-comment-header-9665285" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665285" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665285" href="http://www.mobatalk.com/" target="_blank" rel="nofollow">Jeff</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665285" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665285" class="dsq-comment-message">Well, I was all good and ready to beat down and call you an actor not wanting to get taxed on their free shwag.  But, I must defend.<br><br>My Suggestion is to follow this:<br><br><a href="http://store.apple.com/Catalog/US/Images/salespolicies.html#Return%2520Policy" rel="nofollow">http://store.apple.com/Catalog/US/Images/salesp...</a><br><br>Now tell them that Patrick is dissatisfied and return it if it is within the guidlines.<br><br>When it is returned, I don\'t know about your area, but my Best Buy now carries Macs.  Go and buy it there.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665248">\
	 <div id="dsq-comment-header-9665248" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665248" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665248" href="http://www.mobatalk.com/" target="_blank" rel="nofollow">Jeff</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665248" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665248" class="dsq-comment-message">One other question to the nay sayers.  If you buy a car and 2 weeks from now the engine blows, you are going to let them replace the engine and not the whole car?<br><br>It is the same thing for a 12 year old.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665250">\
	 <div id="dsq-comment-header-9665250" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665250" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665250" href="http://innerdaemon.wordpress.com/" target="_blank" rel="nofollow">innerdaemon</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665250" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665250" class="dsq-comment-message">I don\'t get it. Is your complaint that Apple hasn\'t sent a personal email to you or to your son? According to independent consumer organizations such as Consumer Reports, Apple has a pretty good support record and one of the best customer satisfaction rates. And in fact Wall Street Journal did cover Apple\'s iPod service on December 6, 2006 - despite the fact that it was a low failure rate (5% - below industry CE failure rates). I guess you would like journalists to cover your son\'s problems though reports that suggest Apple\'s product quality isn\'t that big a problem. The loudest voice isn\'t always the right one.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665278">\
	 <div id="dsq-comment-header-9665278" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665278" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665278" href="http://www.flyingseeds.com/" target="_blank" rel="nofollow">Tim Post</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665278" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665278" class="dsq-comment-message">Robert:<br><br>Not sure if you already know this or if I missed it but Apple has a pretty cool "program" which enables one to use a refurbished Mac when one\'s own Mac needs to go in for servicing.<br><br>My MacBook Pro (purchased April 2006) needed to go in for a new logic board (the mooing sound thing). Anyhow, the manager at the Apple store here in Boston explained to me that I could "buy" a refurbished MacBook Pro (assuming they have one for sale at the store in question) and then "port/copy" the contents of my MacBook Pro onto the refurbished MacBook (similar to what you do when you buy a new Mac).<br><br>Anyhow, once my own Mac gets sent back to me fixed I can then again port/copy any content/data changes back from the refurbished Mac to my own and then return the refurbished MacBook WITHOUT a stocking charge.<br><br>In essence, Apple enables me to use a "loaner" while my machine gets fixed. Since I was using a refurbished MacBook Pro it was as if I was using my own actual computer. I could\'ve cared less how long it took Apple to return my own machine (It took less than 1 week).<br><br>If Patrick has already sent his MacBook back in then this option won\'t be available but at least you\'ll know for the next time.<br><br>Happy New Year!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665276">\
	 <div id="dsq-comment-header-9665276" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665276" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665276" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665276" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665276" class="dsq-comment-message">&gt;That may happen since you’re a well known blogger, but most folks don’t get that kind of treatment.<br><br>They do from Google in a lot of areas. Microsoft employees help out tons of bloggers, even Z listers. I\'ve seen Dell help out too, although they told Jeff Jarvis to pound sand before getting involved in the blogosphere.<br><br>&gt;I guess you would like journalists to cover your son’s problems though reports that suggest Apple’s product quality isn’t that big a problem.<br><br>It\'s becoming a much bigger problem. I know many people who\'ve had problems with their MacBooks rebooting (you should have followed Dave Winer\'s reports -- he linked to at least a dozen bloggers who were having similar problems). They told him to wait 10 working days too to get his problem fixed.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665261">\
	 <div id="dsq-comment-header-9665261" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665261" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665261" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665261" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665261" class="dsq-comment-message">Tim: Interesting that the Palo Alto store (which is the one very close to Steve Jobs\' house) didn\'t suggest that to my son. Yeah, he left his machine there cause they didn\'t present any other options.<br><br>By the way, I didn\'t deal with the store at all. One thing I\'ve done is make Patrick do all his dealings with Apple. I didn\'t talk to the salesperson. So, maybe they thought that a 12-year-old didn\'t need the deluxe treatment.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665257">\
	 <div id="dsq-comment-header-9665257" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665257" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665257" href="http://www.flyingseeds.com/" target="_blank" rel="nofollow">Tim Post</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665257" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665257" class="dsq-comment-message">... just to be clear. The refurbished MacBook Pro was "purchased" using a credit card. I meant to write that there was no "restocking" fee by Apple when I returned the refurbished MacBook Pro and I received a full credit to my credit card. The only cost to me was a nominal interest charge on the amount of the MacBook Pro over 7 days.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665232">\
	 <div id="dsq-comment-header-9665232" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665232" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665232" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665232" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665232" class="dsq-comment-message">Tim: I understood. Thanks!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665223">\
	 <div id="dsq-comment-header-9665223" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665223" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665223" href="http://uspolitics.about.com/" target="_blank" rel="nofollow">Kathy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665223" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665223" class="dsq-comment-message">I\'m sorry Patrick\'s Christmas present had a bug. :-/<br><br>But it sounds like the guy in Canada has issues a lot bigger than the random shutdown issue -- it looks like the wrong machine got packaged in his box! Maybe Apple Canada needs a kick in the pants.<br><br><br>But notice he doesn\'t tell us key things like what version of the software he\'s running.<br><br>There\'s an <a href="http://docs.info.apple.com/article.html?artnum=304308" rel="nofollow">Apple Doc</a> outlining the problem and giving a firmware solution. And a <a href="http://digg.com/apple/Macbook_Random_Shutdown_Problem_Solved_At_Last" rel="nofollow">Digg</a> solution as well - it\'s the top post at your poster-child site right now, btw.<br><br><br>Robert, I don\'t know what Apple Store you have where you are -- but the one at Alderwood Mall in Lynnwood WA is awesome. They were great when I had to send my G4 PB back under extended warranty -- and yeah, it was gone more than a week. It was also 2 years old.<br><br>I watched them do a data swap on a new(ish) iMac that was having problems ... I don\'t know how old it was, but the Genius Bar guy I was talking to said that they weren\'t going to make the owner wait for service, they were replacing the machine. The Apple Store guys felt bad because it was the couple\'s first Mac. [I was in for a Garage Band lesson.]<br><br>What was the reason given for not replacing the unit? You didn\'t tell us that.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665266">\
	 <div id="dsq-comment-header-9665266" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665266" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665266" href="http://www.flyingseeds.com/" target="_blank" rel="nofollow">Tim Post</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665266" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665266" class="dsq-comment-message">That stinks. I\'m sorry to read that the Palo Alto folks didn\'t suggest this option to Patrick. My guess is that this "program" isn\'t an official program nor is it well known. I think I was just simply lucky to speak with someone who knew of this option.<br><br>Best of luck to Patrick.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665263">\
	 <div id="dsq-comment-header-9665263" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665263" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665263" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665263" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665263" class="dsq-comment-message">Kathy: Patrick says he had already run all available updates, including the ones to supposedly solve the rebooting issue.<br><br>I don\'t know. I didn\'t deal with the Apple store. They just said it needed to be sent in, according to Patrick. Maybe he wasn\'t forceful enough. One thing I\'ve been doing with Patrick is teaching him to deal with computers himself so he gets confidence (and experience) dealing with people.<br><br>Keep in mind that Patrick knows more about Apple than any Apple store employee I know. If you ever meet him that\'ll become instantly apparent.<br><br>The Apple store he was in was the Palo Alto store, about a mile from Steve Jobs\' house, and it\'s always been one of the best managed Apple stores I\'ve visited for that reason. Imagine if Steve Jobs walks in and a customer has a bad experience?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665244">\
	 <div id="dsq-comment-header-9665244" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665244" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665244" href="http://www.geise.com/" target="_blank" rel="nofollow">PXLated</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665244" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665244" class="dsq-comment-message">Robert, I think your trying to fight the crowd again, you do sound whiney and wanting of special treatment. What I find interesting is that Patrick is "now" searching Google. Is he searching for help or just the bitches?<br><br>In the future, you might have him search the Mac specific sites, or even the Apple support forums, before heading to the shop. Who knows, he may have found a solution and be happy right about now. Here\'s some starter links...<br>MacSurfer... <a href="http://www.macsurfer.com/" rel="nofollow">http://www.macsurfer.com/</a><br>MacFixIt... <a href="http://www.macfixit.com/" rel="nofollow">http://www.macfixit.com/</a><br>ArsTechnica/Mac... <a href="http://episteme.arstechnica.com/eve/ubb.x?a=frm&amp;s=50009562&amp;f=8300945231" rel="nofollow">http://episteme.arstechnica.com/eve/ubb.x?a=frm...</a><br>Apple Discussions... <a href="http://discussions.apple.com/index.jspa" rel="nofollow">http://discussions.apple.com/index.jspa</a><br><br>Self sufficiency is a good thing to teach. Whining isn\'t and looking for star treatment isn\'t.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665287">\
	 <div id="dsq-comment-header-9665287" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665287" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665287">Jeff</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665287" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665287" class="dsq-comment-message">And this is why businesses won\'t use Apple products.  I was doing Sys Admin work for a firm where the graphics department insisted on using Macs because "they never had problems."  Needless to say, there were problems, the worst of which was a dead iBook power adapter.  Seems like something they\'d have in stock for a 6 month old machine, right?  It took two weeks to get one sent to us.  They claimed they were backordered.  I can call up Dell for a part on a six year old machine and have a replacement the next morning.  They\'ll even send out a tech to fix it on site if you have Gold service on it.<br><br>That\'s the other problem.  They won\'t give you replacement parts for a laptop.  One of the Powerbooks had a dead hard drive.  I called up and they told me I\'d have to ship it back or bring it to an Apple store.  What kind of business takes their machines to the mall to get them fixed?  Isn\'t that the point of having an IT department?  If I call up Lenovo, it takes two minutes to get a replacement drive shipped out and I receive it the next day.<br><br>I\'m IT Director now and we\'ll never use any Apple products.  The hoops you have to jump through to get hardware fixed or replaced aren\'t worth the time they take.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665254">\
	 <div id="dsq-comment-header-9665254" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665254" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665254">MrPants</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665254" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665254" class="dsq-comment-message">It seems to me the biggest crime here is that they didn\'t treat your son as if he were special. Apple has a warranty, Apple is honoring the warranty. I admit that it has been awhile since I sat down and read Apple\'s warranty, but I don\'t think it has "we will treat scoble\'s son like a special customer". I also don\'t understand all the tangents and non sequiturs. Who cares where Steve Jobs lives in respect to an Apple Store, an Apple blog would not resolve this any faster, any troubleshooting suggested is not going to work because your kid know macs better than anyone. Hell, he practically designed them. It seems like this is more like a case of a high profile blogger throwing a hissy fit to get his way. That will certainly legitimize blogs huh?<br><br>I disagree with the person above who said your son should grow up. From what you said it sounds like he his handling it well for someone his age. But it really sounds like you might want to consider that advice.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665230">\
	 <div id="dsq-comment-header-9665230" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665230" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665230" href="http://www.macmegasite.com/" target="_blank" rel="nofollow">Mike Cohen</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665230" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665230" class="dsq-comment-message">I\'ve had my MBP since early 2006 with no problems.<br><br>Is the problem heat related? If he didn\'t already try it, Patrick should run one of the utilities that monitors the CPU temperature. He can also try adjusting the fan speed using SMCFanControl to keep the machine from getting too hot. Mine usualy runs about 145F.<br><br>Also, check the console logs for any messages related to the reboot.<br><br>Will you and Patrick be at MacWorld Expo next week?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665272">\
	 <div id="dsq-comment-header-9665272" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665272" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665272">Tim Crandley</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665272" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665272" class="dsq-comment-message">As I read this, and the link in the article, I see 2 dominant themes: Customer Service versus Customer Perception.  Apple, like many companies with repair policies, have the customer service side under control (they took the laptop back for service, and they should return it in a "repaired" state).  Could they have promised it faster? Maybe.  Could have they exchanged it?  Maybe.  But they did take it and they are going to "repair" it.<br><br>As a side note, I have the distinct impression that the apple stores throughout the US are more like an interactive web store than a Best Buy or a Fry\'s (or a Microcenter on the east coast).  The staff are able to help you play with a device (the primary mission of an Apple store), answer questions about products (the secondary mission), and provide the Genius Bar (the third mission).  However, once a problem crops up, the policies seem to be identical to those that the website has - and if you have purchased the computer online via <a href="http://apple.com" rel="nofollow">apple.com</a> someone would have told you to ship it back and they would fix it and return it when it was fixed (and I\'ll bet in most cases they promise 2 week).<br><br>However, in classic Apple form, they did a horrible job managing the perception of the customer(s) affected by this problem.  There are no real success stories that people can refer to for this.  There is no "real" message from Apple, only canned corporate speak letting the world know that there was a problem and that they are working on it.  This is a customer perception problem.<br><br>I have had an HP laptop for a little over a year.  I purchased this machine from <a href="http://HP.com" rel="nofollow">HP.com</a>.  About 4 months ago I had to send it in for repairs (some random shutdown issue that I\'m pretty sure was related to the video card).  As I waited on hold to talk to the service department that scheduled my repair I was very prepared to send the machine off into the ether and a month later would get it back.  When I spoke to the service guy, he immediately acknowledged that this was a problem they had seen before, *apologized* that I got one of the machines affected, and said they could get this fixed.  He told me I would see a UPS box the next day and let me know it would take 7-10 business days to repair. The box arrived, I shipped it back (receiving an email from HP when they received it at the repair center), received another email 3 days later saying that they repaired it and sent it back (with a tracking number), and it arrived the next day.  HP\'s customer service team understood that they need to manage my perception and expectations very carefully for me to stay a happy HP customer - and more importantly a repeat customer.  I now recommend HP laptops to anyone who is asking and doesn\'t want an Apple.<br><br>Apple needs to learn this level of customer service and customer perception management to be truly successful - or at least successful in the mass market.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665246">\
	 <div id="dsq-comment-header-9665246" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665246" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665246" href="http://www.macmegasite.com/" target="_blank" rel="nofollow">Mike Cohen</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665246" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665246" class="dsq-comment-message">P.S. Patrick might enjoy the ThinkPad more if he installed Ubuntu on it :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665238">\
	 <div id="dsq-comment-header-9665238" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665238" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665238" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665238" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665238" class="dsq-comment-message">&gt;It seems to me the biggest crime here is that they didn’t treat your son as if he were special.<br><br>My son IS special. Thanks for noticing! So is yours, if you have one.<br><br>But, it isn\'t about that. It\'s about customer service. Best Buy beats Apple stores. Fry\'s beats Apple stores. Dell beats Apple stores. Costco beats Apple stores.<br><br>They treat EVERYONE special (they all take back laptops for the first few weeks without any questions, not to mention they replace defective equipment. Costco even lets you bring back computer equipment for the first year). Apple just has a nice looking interior but their service policies don\'t back up the pretty look.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665240">\
	 <div id="dsq-comment-header-9665240" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665240" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665240">Tim Crandley</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665240" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665240" class="dsq-comment-message">Mike, as much as I love Linux - and Ubuntu is by far the best of the Linux distro\'s out there - I have to disagree:  gNome and KDE will mac a macOS user cry.  Mostly because he will want to do things that look like he should be able to, but will not be able to.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665242">\
	 <div id="dsq-comment-header-9665242" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665242" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665242" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665242" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665242" class="dsq-comment-message">Mike: I\'m sure he\'ll discover the joys of Linux before he\'s 15. But, he\'s still 12 and still thinks Steve Jobs is God.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665234">\
	 <div id="dsq-comment-header-9665234" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665234" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665234" href="http://mickeleh.blogspot.com/" target="_blank" rel="nofollow">Michael Markman</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665234" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665234" class="dsq-comment-message">I feel bad for Patrick. It really sucks when a new anything doesn\'t work. It super sucks when a new computer doesn\'t work. And I don\'t have the words for how much it sucks when a new Mac doesn\'t work.<br><br>I suddenly flashed on the scene in Lawrence of Arabia, the evening after the Arabs have captured Aqaba from the Turks and Auda abu Tayi (Anthony Quinn) is livid that he hasn\'t found the gold that Lawrence promised would be there. He reluctantly accepts a promissory note for 5,000 guineas in ten days from Lawrence. then turns to Sherif Ali (Omar Sharif) and says, "He said there was gold here. He lied. He is not... perfect."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665236">\
	 <div id="dsq-comment-header-9665236" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665236" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665236" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665236" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665236" class="dsq-comment-message">Mike: nah, we won\'t be at MacWorld. By the way, he ran those utilities. Didn\'t seem to be heat related.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665289">\
	 <div id="dsq-comment-header-9665289" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665289" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665289" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665289" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665289" class="dsq-comment-message">PXLated:  He reads all those sites and more. He\'s the biggest Mac bigot you\'ll ever find and he\'s more knowledgeable on Macs than almost any person other than I know.<br><br>Again, yes, it would be nice to have Apple participating in the blogosphere (there is a tinge of that want coming through here, but don\'t miss the bigger issue here: Apple\'s customer support sucks when compared with its industry competitors).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665290">\
	 <div id="dsq-comment-header-9665290" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665290" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665290">Tim Crandley</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665290" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665290" class="dsq-comment-message">Robert:  It is NOT about treating anyone differently.  Good customer service is centered around treating everyone the same.  Apple is not known for having good customer service.<br><br>Dell is known for having good customer service.  Not great, but good.  At least consistent customer service, and they are pretty open about communicating with the customer. So is HP.<br><br>HOWEVER, you can not fairly compare Dell, HP, and Apple to the Big Box stores like Costco, Fry\'s, Circuit City or (shudder) Best Buy.  Why?  Because when you buy a computer from Best Buy you are buying   that HP from Best Buy, not HP.  Best Buy will do everything they can to keep you as a customer.  They don\'t really care what you have or what the problem is, only that you keep coming through their doors.  If they have a defective product, they just mark is as an RMA and return it to their supplier, who returns it to the wholesaler they got it from (who may return it to HP or may sell it as a refurb).<br><br>When you buy from Apple, HP and Dell you are buying from Apple, HP, and Dell.  HP and Dell understand that.  Apple seems to think that the people who buy a mac will always buy a mac, and that they don\'t have to work to retain those people.  HP and Dell work to retain their customers since there is so much competition in their segments.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665224">\
	 <div id="dsq-comment-header-9665224" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665224" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665224" href="http://www.geise.com/" target="_blank" rel="nofollow">PXLated</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665224" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665224" class="dsq-comment-message">Tim (#28)...That\'s the way it usually works if you call Applecare...box shows up, you ship, you get email messages (possibly even able to  web track the repair with the ticket number), you get it back (usually before the stated date). At least that\'s the way it\'s worked for my brother who doesn\'t have an Apple store close by.<br>Robert...You keep bringing up Best Buy, search Google for stories about their customer service. It certainly doesn\'t match your exhortations nor my experience. I\'ve had a better experience returning stuff at Apple than BBY, and not restocking fee either.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665187">\
	 <div id="dsq-comment-header-9665187" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665187" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665187" href="http://obarboza.blogspot.com/" target="_blank" rel="nofollow">Olival Junior</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665187" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665187" class="dsq-comment-message">I beg you to pardon my poor english skills, but I need to share this. I live on Brazil and I bought a MacBook 13" Black in june at a local Apple reseller. Here it costs a little over USD3000,00 after taxes (on USA its a USD1500,00 machine).<br><br>The notebook started to have the random shutdown thing in august. I will not go in details about the history here, but it seems enough to say that I had to wait more than 3 months \'till they really fixed the issue. Now the MacBook battery just died on me. And they say I have to wait at least 1 month to get a new one.<br><br>On 6 months after the purchase, the MacBook managed to work only 2 months without glitches.<br><br>On Brazil you pay more than double the Apple\'s price on USA. And every issue you have with Apple hardware seems to put you on a wait list that lasts for months. See, things can always get worse... ;-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665210">\
	 <div id="dsq-comment-header-9665210" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665210" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665210" href="http://shakewellbeforeuse.com/" target="_blank" rel="nofollow">ariel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665210" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665210" class="dsq-comment-message">Robert,<br><br>There\'s an issue with Apple employees \'writing back\' to bloggers about the issue - it makes Apple seem like a Big Brother that is lurking around for anytime someone says something negative about them - and then "ohhh, Apple only talks back to defend themselves".<br><br>That, and I\'m sorry, but Apple does make it very clear where and when you can contact them about certain issues.  Yelling on a blog about your issues is fine, but it\'s not Apple\'s place to monitor all blogs all the time and treat them as customer service centers.<br><br>And if you argue that it\'s worse for Apple to not acknowledge these issues raised on blogs than to risk being the 1984 Big Brother of anything said about them, I\'d argue that you\'re completely wrong.  A blogger blogs, and companies should be neutral participants - not customer service vigilantes.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665219">\
	 <div id="dsq-comment-header-9665219" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665219" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665219" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665219" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665219" class="dsq-comment-message">Ariel: OK, so are you saying the same thing about the New York Times? Why does Apple listen to them? How about Newsweek? How about CNN? I bet if Steven Levy called Apple on something that HE\'D get listened to. Why? Why not blogs? After all, more people read blogs now than read Newsweek.<br><br>A customer is in pain. You saying companies shouldn\'t react to that? I TOTALLY disagree.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665220">\
	 <div id="dsq-comment-header-9665220" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665220" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665220">Tim Crandley</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665220" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665220" class="dsq-comment-message">Ariel, I disagree.  I completely believe that companies should be "customer service vigilantes".  A companies customer service is often the first and only line a company has this it\'s public.  It\'s very obvious which companies are proactive and what companies are not.  traditionally, companies that make customer service a priority are the most successful.  Those who do no make customer service a priority are not as successful as they could be.<br><br>Think of what Apple could be if the best OS on the market and the best hardware available was married to the best customer service - like American Express level service (they are the best in any biz).  They would be able to tip every computer sales scale currently tracked.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665216">\
	 <div id="dsq-comment-header-9665216" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665216" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665216" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665216" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665216" class="dsq-comment-message">&gt;I’ve had a better experience returning stuff at Apple than BBY, and not restocking fee either.<br><br>I\'ve never been charged a restocking fee at BestBuy and I\'ve returned a number of things (at Microsoft I did tons of business with them, and I\'ve bought several things at PodTech from them too).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665215">\
	 <div id="dsq-comment-header-9665215" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665215" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665215" href="http://htmlfixit.com/?p=893" target="_blank" rel="nofollow">Don</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665215" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665215" class="dsq-comment-message">You didn\'t read my post Patrick: <a href="http://htmlfixit.com/?p=893" rel="nofollow">http://htmlfixit.com/?p=893</a><br><br>I could have told you that Apple service sucks.<br><br>Aside: Note I use that word "suck" becuase it fits.  This despite what your friend says here Robert when analizing Yuvi\'s blog: <a href="http://thinklab.typepad.com/think_lab/2006/12/get_on_the_yuvi.html" rel="nofollow">http://thinklab.typepad.com/think_lab/2006/12/g...</a><br>(and he apparently isn\'t on-line as his moderated comments aren\'t being moderated ...)<br><br>I always try to take the time to compliment a couple of companies who I find to be top notch any time I level criticism.  So anytime you say something bad, say something good too, and not just about Seagate, your sponsor ;-) perhaps?<br><br>Good luck to your son and you are right, if he decides to go Windoze or go renegade and adopt Linux or better yet develop his own operating system -- heck just call it scobes 2007 -- well Apple\'s loss.<br><br>If it was Microsoft someone else would release a patch in the meantime because they are so slow to fix it.  So maybe two weeks isn\'t the end of the world.  Or maybe it is.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665218">\
	 <div id="dsq-comment-header-9665218" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665218" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665218" href="http://htmlfixit.com/?p=893" target="_blank" rel="nofollow">Don</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665218" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665218" class="dsq-comment-message">ps they never did get with me ... simple to correct ... just give me back my call given that they never advised me I only get one and if we talked longer this was it even though it was to fix a defect in their software</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665197">\
	 <div id="dsq-comment-header-9665197" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665197" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665197">Larry</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665197" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665197" class="dsq-comment-message">I have had the WORST customer service at Best Buy (Bellevue, WA), having to do with both selling me a projector (not knowing their stuff) to returning it (and getting treated like poop) when what they told me prior to purchase proved not to be accurate.<br><br>I have only been back once, and my skin was crawling the whole time.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665208">\
	 <div id="dsq-comment-header-9665208" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665208" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665208" href="http://www.mkinmotion.com/" target="_blank" rel="nofollow">Matt</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665208" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665208" class="dsq-comment-message">When I took my only formal computer class, the instructor started the class by saying rule number one was "They\'re just sand and plastic, folks.  Don\'t rest your life or your livelihood in sand and plastic."  Not much empathy in that for a consumer, especially a 12-yr  old Jr. AAPL fanboy, but it\'s definately rule number one.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665213">\
	 <div id="dsq-comment-header-9665213" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665213" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665213" href="http://www.radioactivecode.com/" target="_blank" rel="nofollow">Diego</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665213" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665213" class="dsq-comment-message">"...the iPod cell phone that’s gonna come out at MacWorld in a week?"<br><br>This is a fact? Got some insider info?<br><br>The only thing that makes me sceptical about an iPod is that it\'s the WWDC. With Leopard, 8-core Macs, etc. it\'s too crowded. And this is a developer\'s conference after all.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665211">\
	 <div id="dsq-comment-header-9665211" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665211" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665211" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665211" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665211" class="dsq-comment-message">Diego: I learned my lesson. Now I just repeat what I read on Engadget. :-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665225">\
	 <div id="dsq-comment-header-9665225" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665225" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665225" href="http://shakewellbeforeuse.com/" target="_blank" rel="nofollow">ariel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665225" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665225" class="dsq-comment-message">Robert and Tim,<br><br>I get where you\'re coming from and I do agree that companies need to be involved, I am not saying they should not be active in the blog community (because they most definitely should be).  My argument is that if a company steps in everytime there are complaints - it opens the flood gates for horrible possibilities that maybe some companies can handle, but most currently can\'t.<br><br>In a good world, companies would hire smart, sensible people who understand and could deal with the whole "blog thing".  Unfortunately, a lot of companies do lurk around reading what everyone says about them and instead of taking it \'like a man\', a lot become extremely defensive and angry.  Why?  Because as bloggers, we don\'t check every little tiny fact like a regular news source usually does - and as such, it would take a lot of time and a whole team to respond to all the blogs that are either complaining about the product or spreading wrong information about the product.<br><br>Ok, next issue, companies do understand the power of blogs, thus, before responding to any blog, a lot of execs would like any communication to go through their legal departments, exec heads, etc. before even replying - by the time a company could reply, it\'d already be a month old.<br><br>Now, the whole customer service issue - there are reasons why there are customer service centers - and if someone is bitching on a blog about an issue and never seeked customer service otherwise (not saying this is you, just an example), then how can a company help them other than to say "you know, if you went to our customer service center, they may be able to resolve this for you."  An example I heard of a while back is Verizon\'s "bring all your issues here" blog - this is the best that Verizon can do and is a decent work-around for now - they can\'t interact with a blog\'s post, but they can create a blog as an alternative customer solution center.<br><br>Okay, there\'s a lot of other points I could make (I work at an agency, and so I hear the good and the bad thoughts about blogs everyday from clients), but I guess, in closing of this comment - yes, I really wish it was as simple as it easily COULD be for someone in a company to just respond and communicate, I really, really do.  Until companies grow some balls or someone is willing to go above exec\'s heads, it will be a battle to DIRECTLY respond to a blog\'s post.  Please understand that this argument I\'m raising is not how *I* think things should be - but just the realistic side of the battles that I have to make everyday with clients.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665268">\
	 <div id="dsq-comment-header-9665268" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665268" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665268">Ian</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665268" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665268" class="dsq-comment-message">Probably exactly what happened:<br><br>Genius: How can I help you?<br>Patrick: My MBP is randomly rebooting.<br>G: Alright, we\'ll take it and it will take 10-14 days to get it back to you.<br>P: OK, thanks for your help.<br><br>Robert, if  you were so worried about this you should have been there to make sure Patrick wasn\'t blown off due to his age. I\'m sure you were there to hand over the credit card.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665233">\
	 <div id="dsq-comment-header-9665233" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665233" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665233" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665233" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665233" class="dsq-comment-message">Ian: it\'s Patrick\'s computer. He can stand up for himself. That\'s a valuable life lesson too that daddy ain\'t gonna always be there for him. But if he were at Best Buy, he could have pointed to the return policy on the wall. I didn\'t see any such return policy posted at Apple stores.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665231">\
	 <div id="dsq-comment-header-9665231" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665231" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665231">terrin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665231" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665231" class="dsq-comment-message">I think you are being too hard on Apple. First, Apple generally is pretty quick about fixing problems that are under warranty. When it had to switch out a logic board on an old iBook it took three days. I also had it overnight me repairs for minor things like a faulty keyboard. I think the speed of resolution depends on the problem, and the person your dealing with. Complicated problems take longer.<br><br>Second, from Apple\'s perspective, at least over the phone, it has no idea if what you are saying is correct. Often if you go into an Apple store, you get assistance immediately. Also, if you think one Apple representative is not assisting you properly, ask for a manager. Sometimes, that gets resolution quicker.<br><br>After-all, you are dealing with people, and people are not always good company representatives.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665293">\
	 <div id="dsq-comment-header-9665293" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665293" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665293" href="http://mamamusings.net/" target="_blank" rel="nofollow">Liz Lawley</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665293" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665293" class="dsq-comment-message">Since you weren\'t there, Robert, it\'s hard to know exactly how the interaction went down. Is it possible that Patrick went in with some attitude, and that as a result the store employees weren\'t as forthcoming with alternatives?<br><br>For what it\'s worth, the Apple Store here in Rochester _did_ replace Lane\'s MacBook with a new one when we had trouble, which <a href="http://mamamusings.net/archives/2006/08/30/kudos_to_the_rochester_apple_store.php" rel="nofollow">I blogged about</a>.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665256">\
	 <div id="dsq-comment-header-9665256" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665256" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665256" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665256" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665256" class="dsq-comment-message">Liz: it\'s quite possible. And if that were true, then that\'s a valuable lesson he will learn too: that you get more by being nice than by being a jerk.<br><br>But, on the other side of the fence, in Best Buy (or Fry\'s, or Costco) even a jerk can return stuff: all they need to do is point to the policy on the wall.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665264">\
	 <div id="dsq-comment-header-9665264" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665264" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665264" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665264" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665264" class="dsq-comment-message">Terrin:<br><br>&gt;Often if you go into an Apple store, you get assistance immediately.<br><br>They did give him assistance immediately. That wasn\'t the problem. The problem was that he wasn\'t treated as well as BestBuy or Fry\'s or Costco would have treated him.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665260">\
	 <div id="dsq-comment-header-9665260" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665260" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665260" href="http://sektormedia.org/" target="_blank" rel="nofollow">Aaron</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665260" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665260" class="dsq-comment-message">You let him handle it himself is a good way to teach him a great lesson, well, other than posting about it endlessly on your site. So when it is resolved because someone at Apple wises up to the greasy wheel will he really be the one that fixed his own problem? I\'m sure that he\'ll learn from your example soon enough. The blogger who throws the biggest tantrum will get the best customer service. Just realize it\'s special treatment and is no way indicative of the real world. Apparently being an "A List" blogger is very similar to being a 3 year old. Fall to the ground and flail until you get what you want. Kudos to you.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665222">\
	 <div id="dsq-comment-header-9665222" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665222" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665222" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665222" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665222" class="dsq-comment-message">Aaron: and, what happens if Apple changes its return policy for EVERYONE to be the same as BestBuy or Costco cause they realize they are pissing off their best customers?<br><br>I really don\'t expect to get anyone from Apple listening to me. They haven\'t demonstrated they listen to anyone but Steven Levy from Newsweek or Walt Mossberg of the Wall Street Journal.<br><br>Oh, and you might try a little squeek yourself sometime! Everyone can use blog search engines. Maybe if hundreds of us complained we\'d get attention?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665217">\
	 <div id="dsq-comment-header-9665217" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665217" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665217">Jake</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665217" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665217" class="dsq-comment-message">Did you ask for a replacement or did you ask to get this particular MBP repaired?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665227">\
	 <div id="dsq-comment-header-9665227" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665227" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665227" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665227" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665227" class="dsq-comment-message">Jake: my son just wanted the problem to be fixed. He didn\'t care about how.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665226">\
	 <div id="dsq-comment-header-9665226" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665226" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665226" href="http://www.stat.ucla.edu/~jose" target="_blank" rel="nofollow">HG</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665226" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665226" class="dsq-comment-message">Robert writes: "But, he’s still 12 and still thinks Steve Jobs is God."<br><br>You don\'t have to be a young person to appreciate Steve Jobs.  Even the engineers and management at Microsoft acknowledge the man\'s genius.  The comment though comes off a bit put-offish implying people use Macs for superficial and immature reasons.  Maybe you didn\'t mean it that way.<br><br>I don\'t know what to say to a young person with an infatuation.  I do know that if it were me, I\'d be embarrassed to have it discussed in public in this way.<br><br>This is very personal topic.  I would love to connect with my son someday on something like computers.  Maybe you would too.  Of course that can only happen by being open to each other (mostly from the adult, i.e. you).  On the other hand, if a strong will is the desired trait, then your son is fine.  The apple doesn\'t fall far from the tree after all.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665214">\
	 <div id="dsq-comment-header-9665214" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665214" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665214" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665214" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665214" class="dsq-comment-message">HG: yeah, he gets embarrassed sometimes by the public stature of our family. He\'s still pissed that he got kicked out of Second Life (most of his friends still are there, the only reason he got booted was cause he played in public). But, that\'s an important lesson for him to learn too.<br><br>And, learning to deal with criticism for one\'s beliefs is an important lesson too. I\'m very proud of his ability to stand up for himself, though.<br><br>But, what I get on him about is religious belief in a company or a guy. That won\'t serve him well in the world because it\'ll keep him from looking for a better way to do things. It\'ll also let him down, as he found out this week. Better to have a little cynicism.<br><br>Note that I too admire Steve Jobs. He has skills I never will have. The way he talked IBM out of $400 million without having a product in hand (when he started NeXT) was sheer genius and balls.<br><br>And, last time I looked I hadn\'t started one of the world\'s great companies.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665221">\
	 <div id="dsq-comment-header-9665221" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665221" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665221">TC</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665221" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665221" class="dsq-comment-message">Robert, you\'re correct - even one adverse connection with Apple is one too many from a customer satisfaction viewpoint.<br>You weren\'t there so your comments are as third-hand as many above. Maybe Apple are retaining Books with specific problems in order to determine the scale of the issue? Maybe the store didn\'t have a Book to replace or lend? Maybe the Apple Store employee explained more but it got lost in the retelling of the story? Most likely the frailty of humans was at play and this person made a boo-boo by not offering all the options to Patrick.<br>Most likely you yourself was at fault for letting Patrick deal with this solely on his own - you love your son, he loves Apple stuff, so why didn\'t you just go into the Apple Store with him to make sure he got the best possible result? And I seem to remember that you have a close relative who works at Apple? Mmm!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665196">\
	 <div id="dsq-comment-header-9665196" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665196" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665196" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665196" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665196" class="dsq-comment-message">TC: I was in the store, but not at the counter. He kept coming over and telling me what was up and I kept sending him back over to deal with the help there.<br><br>If it were only my story, I\'d probably let it slide. But Dave WIner has been pointing to various people having shutdown problems (and getting the "you gotta give us your computer for two weeks" line) for months now. Do you want me to point to all of them?<br><br>Do you find it interesting that a guy started an entire Web site to track this problem? I do.<br><br>Do you find it interesting that Best Buy and Costco treat their customers better than Apple does? I do.<br><br>Do you find it interesting that the mainstream press will beat up Dell for customer service issues, but I haven\'t seen much about Apple in that same press? I do.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665292">\
	 <div id="dsq-comment-header-9665292" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665292" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665292">TC</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665292" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665292" class="dsq-comment-message">" I was in the store, but not at the counter. He kept coming over and telling me what was up and I kept sending him back over to deal with the help there."<br><br>I\'m not an apologist for Apple - I thought my opening comment made that clear.<br><br>If you were actually in the store why couldn\'t you drag yourself over to the Genius Bar and support Patrick? Wasn\'t that the responsible parent thing to do with a minor in any store?<br><br>Anecdotal evidence of customer service may be accurate - or not - but it just doesn\'t matter whether Best Buy or CostCo is better it is what happens when you need service that matters and you could have influenced the outcome for Patrick - but didn\'t.<br><br>"Do you find it interesting that a guy started an entire Web site to track this problem? I do." Well, doesn\'t this sort of thing go on a lot these days for all sorts of people who feel aggrieved that something they\'ve acquired isn\'t perfect in every way? Winer may be entirely correct in highlighting an Apple approach that doesn\'t measure up. I\'m sure he\'s contacted Apple and had the brush-off as a no-nothing, unknown on the Internet!<br><br>Influence is a wonderful thing. And what happened with that relative at Apple in helping to get to the bottom of the problem?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665270">\
	 <div id="dsq-comment-header-9665270" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665270" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665270" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665270" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665270" class="dsq-comment-message">TC: he bought his own computer without my help and I didn\'t see that he needed my help at the counter. He didn\'t ask for it.<br><br>My relative is an engineer on the Mac team. He\'s powerless to help out here. He doesn\'t even know who runs PR or who runs customer service (they compartmentalize everything -- he\'s working on something secret and he only gets to see his own part on the motherboard and doesn\'t get to see how it works in a bigger whole. So you expect him to get me some help? Heheh, funny, not to mention that he\'s not allowed to talk with me about anything Apple).<br><br>Also, lots of people know who I am, so if I start "influencing" the world for Patrick, then you\'ll just bash me for getting Patrick some extra special treatment (just read above for other people already playing that card cause I\'m complaining on my blog).<br><br>Maybe I\'m not a good parent, but I\'d rather Patrick learn some negotiating skills on his own and I\'d rather him get the self confidence that comes from a parent letting him solve his own problems.<br><br>That said, I see evidence of a larger trend here that goes beyond Patrick\'s computer. That\'s why I\'m bringing it out on my blog and making a big deal about it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665274">\
	 <div id="dsq-comment-header-9665274" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665274" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665274" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665274" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665274" class="dsq-comment-message">And, at the time, waiting two weeks to get his computer fixed didn\'t seem like that big a deal. It was only later after I saw just how bad Patrick felt (he\'s a real Mac fan, and this was sort of shattering to his world view that Apple is a great company) and also when I thought back to how other stores had treated me that I realized that Apple wasn\'t being "best in the industry" like what its hype leads us all to believe.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665205">\
	 <div id="dsq-comment-header-9665205" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665205" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665205" href="http://sektormedia.org/" target="_blank" rel="nofollow">Aaron</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665205" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665205" class="dsq-comment-message">Robert, you\'re right about trying to get their policies to change. but the issue is that Apple is technically not a store. They\'re not Costco or Best Buy. They\'re Dell or Compaq. They\'re just a step above the Dell cart in the mall. They don\'t seem to have the store concept down 100%, and their policy seems to be to send it for repair. I don\'t really know all of the ins and outs of the problem or the policies. But part of this is being an informed consumer. Perhaps taking Patrick up to the counter and letting him explain the problem to them and then helping him understand how to handle it would have helped him learn how to handle it and might have gotten a better resolution for him.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665204">\
	 <div id="dsq-comment-header-9665204" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665204" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665204" href="http://www.innerexception.com/" target="_blank" rel="nofollow">Dave Murdock</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665204" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665204" class="dsq-comment-message">I sent in a 3 year old iBook G4 on 12/24 (box arrived 3 days earlier, got DHL to pick up on the 24th) to fix 5 different problems (wife\'s computer, she beats on it) and it came back on 12/28 completely repaired. Great customer service.<br><br>A friend\'s MacBook Pro Core Duo needs to have the keyboard replaced. Apple told her it would take 1 week to order the part and another 2 days to do the repair. That is bad customer service, especially for such a seemingly simple repair as a keyboard replacement.<br><br>We have 1 MacBook Pro Core 2 Duo with zero problems, 1 month old.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665203">\
	 <div id="dsq-comment-header-9665203" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665203" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665203" href="http://www.innerexception.com/" target="_blank" rel="nofollow">Dave Murdock</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665203" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665203" class="dsq-comment-message">So I think the trend might be that supplies are tight on MacBook related parts, but plentiful on older G4 related parts, thus customer service is taking longer.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665201">\
	 <div id="dsq-comment-header-9665201" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665201" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665201">Kingston</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665201" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665201" class="dsq-comment-message">Here is the return policy from Apple\'s website:<br><br><a href="http://store.apple.com/Catalog/US/Images/salespolicies.html#Return%2520Policy" rel="nofollow">http://store.apple.com/Catalog/US/Images/salesp...</a><br><br>I suspect that the physical stores have similar policies even if they\'re not posted.  I\'ve seen people return merchandise at the Apple store before and don\'t believe in the over-legalization of our daily lives.  Perhaps Apple actually gives its customers too much credit (you view this as arrogance) by thinking that a clearly stated two week repair period would be considered reasonable by many people, especially when the strategy is to under-promise and over-deliver (my experiences with Apple service, though few, have always been professional and timely).  As you wrote, your son just wanted the problem fixed.  Hence, Apple assumed that he wanted the problem fixed.  Apple did not assume that he wanted the problem replaced, which still may have been an option.  Perhaps you would not be blogging about this if this had transpired instead:<br><br>Your Son: I just got this MacBookPro as a present but it\'s defective (explain problem).  Can I get it repaired today?<br><br>Apple: Not for this problem.  I don\'t think so.<br><br>Your Son: OK, then I\'d like to return it for a full refund.<br><br>Apple: OK.<br><br>Patrick gets the money back (via you), and buys another new MacBook Pro.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665200">\
	 <div id="dsq-comment-header-9665200" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665200" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665200" href="http://juliogarcia.org/" target="_blank" rel="nofollow">Julio Garcia</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665200" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665200" class="dsq-comment-message">Robert,<br><br>just wondering, why isn\'t your son blogging his experience? Or his he and I just missed the link to his blog?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665199">\
	 <div id="dsq-comment-header-9665199" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665199" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665199" href="http://salubri.journals.ie/" target="_blank" rel="nofollow">Salubri</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665199" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665199" class="dsq-comment-message">Hey Robert,<br><br>First off - my sympathy is entirely with Patrick. When I was 12 I was dealing with tech support folks too (I handled a lot of tech stuff for my Dad as he felt he was too "technologically dyslexic" to interact with the "techie types" and he thought it was good for me) and it can be really frustrating for a kid (gets more frustrating as you get older Patrick *grin*).<br><br>Once I finished writing the rest of this this I realised it was way too long for a reply so please find full post here: <a href="http://salubri.journals.ie/2007/01/02/customer-service-oh-why-hast-thou-forsaken-us/" rel="nofollow">http://salubri.journals.ie/2007/01/02/customer-...</a> (Trackbacks from my blog do not seem to be working)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665198">\
	 <div id="dsq-comment-header-9665198" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665198" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665198">TC</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665198" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665198" class="dsq-comment-message">Robert: "I’d rather Patrick learn some negotiating skills on his own and I’d rather him get the self confidence that comes from a parent letting him solve his own problems"<br><br>But the skill is choosing the occasion to do this and he really wanted his MacBook fixed, didn\'t he? Time and place, Robert; even if he bought it himself, it wasn\'t the occasion to leave him solely to his own efforts? I wouldn\'t do this for my two 16 year olds and one aged 17 if they were up against a big company especially around Christmas time.<br><br>What I just cannot accept is that you can be so certain that if Patrick had been left to go back on his own to Best Buy or CostCo (if he\'d got the laptop from either of these) that he would have been treated any better. All you are doing is comparing an actual experience with paper on a wall.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665209">\
	 <div id="dsq-comment-header-9665209" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665209" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665209" href="http://blog.stealthmode.com/" target="_blank" rel="nofollow">francine</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665209" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665209" class="dsq-comment-message">I have had bad experiences with the Apple store and the "genius bar" (ahem) since I bought the Powerbook before my MacBook Pro. But once I blogged about it, and my blog made its way to someone, because the next time I went to the Apple store in Burlingame they treated me like royalty. I think they do listen, but they have a bad system; they should replace defective boxes and then rebuild them on their own time, not Patrick\'s -- or mine.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665207">\
	 <div id="dsq-comment-header-9665207" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665207" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665207" href="http://notv.wordpress.com/" target="_blank" rel="nofollow">notv</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665207" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665207" class="dsq-comment-message">I don\'t think your son is whiny at all. I bet the same people bashing your kid would have a meltdown if their Starbuck\'s barista effed up their triple grande non-fat no-whip three pump extra hot mocha.<br><br>Duh we\'re a pampered society and expect results.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665212">\
	 <div id="dsq-comment-header-9665212" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665212" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665212">Bubba</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665212" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665212" class="dsq-comment-message">Bobby, you keep going on about this Best Buy return policy but it\'s the same as the Apple policy, 14 days from purchase for computers.    Best Buy has a 15% restocking fee, Apple 10%.  As for Dell, it\'s a 21 day policy with a 15% restocking fee.  The return policies are similar as are the warranty service policies.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665206">\
	 <div id="dsq-comment-header-9665206" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665206" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665206" href="http://www.bynkii.com/" target="_blank" rel="nofollow">John C. Welch</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665206" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665206" class="dsq-comment-message"><i>People bet their lives on their machines. Imagine a business who gets this kind of response?</i><br><br>Dude, perspective much? Unless you can show me someone who will DIE WITHOUT A LAPTOP, you need to stop confusing a laptop with a life. I know it\'s hard, but there is in fact a difference.<br><br>I do have Macs that are running critical services. Oddly enough, I have purchased the appropriate support contracts. Are they standard AppleCare? Um..no. A bit more expensive.<br><br><i>Keep in mind that Patrick knows more about Apple than any Apple store employee I know. If you ever meet him that’ll become instantly apparent.</i><br><br>Dude, please, a guy hired by Apple two weeks ago can spank you on Mac knowledge, so your claims here are shall we say...inane?<br><br>Secondly, wtf man, you let a kid, smart though he may be handle this? Lame much, or do you just like watching shit break when it\'s a Mac so you can prove a point. Would you leave him to the wolves if it was a Thinkpad or a Tablet?<br><br>Survey says: Oh Shit No, you\'d become THE SCOBELIZER so fast it would leave scorch marks.<br><br>Man, that\'s just lame. You know there\'s a dozen ways to handle this without treating either the employee or Patrick poorly, and you let someone just twist in the wind. Then again, you did that enough with MS employees when you worked there, so it\'s a fairly standard modus. I just figured you\'d not do that to your kid. Good job man. Way to lead by example.<br><br>Face it, the only reason you did this was to mask your own inadequacy with regard to Macs, and that you can\'t pull any strings here. It would be fun to see you whining about how Patrick told you "Figure it out your own damned self" the first time you needed help from him with a problem with your MBP. Sheesh dude, learn some leadership.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665194">\
	 <div id="dsq-comment-header-9665194" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665194" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665194">Marc Mandel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665194" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665194" class="dsq-comment-message">Sad, but true.<br><br>I had an eye-opening experience with Apple support a couple of weeks ago. Like you described your son as being, I think (thought?) of myself as a huge Apple loyalist and likely even, bigot and have bought only Apple product since January, 1984 both for myself and my various business ventures.<br><br>I always found Apple to be not only more innovative than its PC counterparts, but the quality of the workmanship to be unmatched. Moreover, I fount the customer care to be just that, CARING, sympathetic, and urgent. Until now.<br><br>I had a recent problem, albeit, not critical, with my new MBP. I could no longer get Front Row to start as it seemed to disable itself each time I installed it. I brought it to the Genius Bar at my local mall store where I was dismissed as having an OS problem and was sent packing until I agreed to reload the Operating System.<br><br>Not believing the OS was at fault and remaining convinced it was a hardware failure, I went to a different, further, mall store where I was greeted reasonably promptly (I am, after all, a Procare customer) and the system diagnosed as having a cable failure connecting the IR card. When I was told it would still take 7 days to fix, I was shocked, since I rely on the laptop as my principal computer and would be crippled without.<br><br>Where bad went worse, I inquired why (how) they could fix iPod problems with far greater sense of urgency, when in fact nobody\'s business relied on a working iPod, the Genius replied "Sir, iPods ARE our business!"<br><br>It hit me like a ton of bricks.<br><br>Apple has changed. They have transformed from a low-voume, high quality PC manufacturer to a high-volume, lower quality consumer electronics company.<br><br>The Mac has become an afterthought to Apple, it seems, as their futures seem closely tied to the success of the iPod, and everything else is an alsoran. Or so it seems to me.<br><br>Sadly shocking. Undeniably true.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665186">\
	 <div id="dsq-comment-header-9665186" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665186" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665186" href="http://uspolitics.about.com/" target="_blank" rel="nofollow">Kathy</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665186" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665186" class="dsq-comment-message">So, Robert - why didn\'t you (Santa?) buy the machine at Fry\'s? You keep using them as an example, and they do sell Macs.<br><br>As someone else pointed out, buying from the Apple store is not the same thing as buying from a big box retailer, on many levels.<br><br>I realize that Patrick is smart and fairly comfortable with adults - but Robert, he\'s a kid. He went without any adult? I\'m amazed. [Note, I\'m not a parent.]<br><br>Oh. And Costco\'s return policy at the Biz store in Lynnwood and <a href="http://costco.com" rel="nofollow">costco.com</a> is six months, not a year.<br><br><br>I have owned seven Macs -- four desktops and three laptops. My first one was a PowerPC desktop back when Apple did house calls. Yes, this was the 90s and they sent a tech to my house and he fixed the machine under warranty. And it was an open-box online purchase. I had no problems with the other three desktops.<br><br>I always buy extended warranty for laptops. Seems like I had a screen issue with the first one. And this G4 Aluminum had power issues. I dropped it off at the Lynnwood WA Apple Store and picked it up there. They notified me by e-mail each step along the way.<br><br>And, like the person above who talked about HP -- I got a sales person who was empathetic -- who diagnosed a warranty problem that I didn\'t know I had (pixel loss) and who told me what would happen and how long it would take. And I watched another employee on another day apologize to a couple who had a problem with their iMac (as I related above).<br><br>So there are employees who are good representatives of the company and employees who are not.<br><br>And if you have a way to ensure that every employee is an excellent customer service rep EVERY hour of the work day, maybe you need to write another book. ;-)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665185">\
	 <div id="dsq-comment-header-9665185" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665185" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665185" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665185" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665185" class="dsq-comment-message">Kathy: I was in the store. Just not at the counter with him. My son loves Apple stores. They are the highlight of his life.<br><br>By the way, turns out his Mac is fixed and is being shipped back to the store. He might have it back on Friday. So, at least they get kudos there.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665202">\
	 <div id="dsq-comment-header-9665202" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665202" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665202" href="http://www.dotware.co.uk/" target="_blank" rel="nofollow">Jim</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665202" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665202" class="dsq-comment-message">I\'ve had... little experience with Apple support, but what I have had I just didn\'t like:<br><br>I have a G3 Lombard with a broken keyboard, DVD drive and power socket. OK, so it\'s well out of warranty being nearly 8 years old.<br><br>The local store won\'t supply the parts for a self repair, instead wanting £53 /per incident/ to repair the laptop on top of the parts (each counting as a single incident.<br><br>Now, considering I can pick an OEM laptop DVD burner for £45 or so brand new, they wanted £90 not including the incident fee.<br><br>They wanted £135 for a new keyboard. I can source one of those for £30.<br><br>As for the power socket; £370 for a new mainboard. Only way they\'d do it. I\'ve spent the last three years repairing laptop power sockets and gotten bloody good at it. £0.35 for the required component.<br><br>The other thing I have is a 20" aluminium Cinema display with a damaged cable and no PSU.<br><br>For the modest(!) sum of £90 I can get a new PSU from Apple. Provided I furnish them with a serial number (WHY??). Thing is I bought the panel secondhand, the PSU lasted a month and fried the cable when it went. I\'ve tested the panel and know it still works, so all it needs is the PSU and cable. Apple will not supply me with a new fifteen Dollar cable.<br><br>Sorry, Apple, but that just won\'t do.<br><br>On the x86 side of the fence, I have a few Dell laptops. My C640 recently developed a motherboard problem. I asked Dell tech support about options, and after reading them the service code on the unit I was told that even though I had bought the unit secondhand, it was still under Platinum warranty. Two weeks later it was returned to me by courier with a spanking brand new mainboard and two new batteries. All at Dell\'s expense. Can\'t beat it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665195">\
	 <div id="dsq-comment-header-9665195" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665195" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665195">Aaron</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665195" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665195" class="dsq-comment-message">Dell\'s customer service is on par with Apple\'s. But my personal experience is that Apple is better when hardware fixing or replacement is necessary!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665182">\
	 <div id="dsq-comment-header-9665182" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665182" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665182">Marc Mandel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665182" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665182" class="dsq-comment-message">Uh oh. While I posted comment #80 (above) days ago, it almost foretold one of yesterday\'s big keynote announcements; the discontinuation of the word "Computer" in Apple\'s corporate brand/name.<br><br>May add even more to the point raised above about Apple being something other than the "company that built the Mac"....</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665183">\
	 <div id="dsq-comment-header-9665183" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665183" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665183" href="http://scobleizer.com/2007/01/01/never-piss-off-a-12-year-old/" target="_blank" rel="nofollow">sdf</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665183" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665183" class="dsq-comment-message">Searously apple has the best tech support that i have ever seen just go to microsoft and try to get them to do anything other than ruin computers</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665188">\
	 <div id="dsq-comment-header-9665188" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665188" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665188">hmm</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665188" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665188" class="dsq-comment-message">RB: looks like everyone is sticking it to you. But honestly..I bet these people would have a fit too if it was there machine that broke down</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665296">\
	 <div id="dsq-comment-header-9665296" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665296" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665296">hahabob</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665296" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665296" class="dsq-comment-message">why des your 12yr old have a macbook pro anyway? lemme guess....he already has a cell phone and a midnight curfew or later? oh wait, that\'s right, you are a divorced parent who couldnt keep the house together long enough to raise a kid properly, so you just give him crap now to make up for bad parenting.  oh yeah and he is "pissed" as you say...what a f-ing brat.  raise them right, then you would never nee dto post this blog cause he wouldnt have turned out like a little POS wanting/geting anything everything.  stupid 12yr old with a $2,500 computer.  idiot parents!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665295">\
	 <div id="dsq-comment-header-9665295" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665295" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9665295" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665295" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665295" class="dsq-comment-message">Hahabob: Patrick got straight A\'s and saved up for his own computer with a subsidy from me for his straight A\'s.<br><br>But, I\'m not going to debate parenting skills with someone who can\'t even spell very well or use his/her own name. Have a good one!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665297">\
	 <div id="dsq-comment-header-9665297" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665297" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665297">Juan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665297" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665297" class="dsq-comment-message">this is hella phuken funny dam and im 12 years old this $hit is hella funny</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665299">\
	 <div id="dsq-comment-header-9665299" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665299" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665299">Karen</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665299" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665299" class="dsq-comment-message">YOU SHOULD HAVE BOUGHT A MAC!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9665298">\
	 <div id="dsq-comment-header-9665298" class="dsq-comment-header">\
	 <cite id="dsq-cite-9665298" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9665298">erik watson</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9665298" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9665298" class="dsq-comment-message">It all comes down to one simple ideal. If you dont like the way businesses handle their problems and customers, start your own company and do it the way you feel it sould be done. We must remember that this is America and if you dont like the way things are done you have the right to do it your own way. Besides, if the service here is so hard to bear , try getting better service somewhere else and see how well that turns out. This country is a giant service industry and all we ever manage to do is whine about how someone else cant do it right. Oh one more thing try microsoft there real great service has won over millions of still dis-satisfied customers. So it comes down to one last thing. That is the fact that no matter how great tecnologies becomes there is always some spoiled little brat whos mad at his mommy and his computer because he cant beet his pudd while your out at the grocer!</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=never_piss_off_a_12_year_old&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);
			}
		}
	});
}

})();




