




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": {"EEllis": {"username": "EEllis", "tumblr": "", "display_name": "EEllis", "url": "http://disqus.com/EEllis/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 112, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/2724//avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "archangel": {"username": "archangel", "tumblr": "", "display_name": "archangel", "url": "http://disqus.com/archangel/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 399, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5755/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "scraaas": {"username": "scraaas", "tumblr": "", "display_name": "scraaas", "url": "http://disqus.com/scraaas/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/2724//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "edhillfiker": {"username": "edhillfiker", "tumblr": "", "display_name": "edhillfiker", "url": "http://disqus.com/edhillfiker/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/2724//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "T_Steel": {"username": "T_Steel", "tumblr": "", "display_name": "T-Steel", "url": "http://disqus.com/T_Steel/", "registered": true, "linkedin": "", "blog": "http://themoderatevoice.com", "remote_domain": null, "points": 364, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5728/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "winemkr": {"username": "winemkr", "tumblr": "", "display_name": "winemkr", "url": "http://disqus.com/winemkr/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 2, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/2724//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "Rudi": {"username": "Rudi", "tumblr": "", "display_name": "Rudi", "url": "http://disqus.com/Rudi/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 324, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5783/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "JillyDybka": {"username": "JillyDybka", "tumblr": "", "display_name": "JillyDybka", "url": "http://disqus.com/JillyDybka/", "registered": true, "linkedin": "", "blog": "http://www.poetryhut.com/wordpress", "remote_domain": null, "points": 4, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/6193/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "pacatrue": {"username": "pacatrue", "tumblr": "", "display_name": "pacatrue", "url": "http://disqus.com/pacatrue/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 292, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/6026/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "superdestroyer": {"username": "superdestroyer", "tumblr": "", "display_name": "superdestroyer", "url": "http://disqus.com/superdestroyer/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 63, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5792/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "DLS": {"username": "DLS", "tumblr": "", "display_name": "DLS", "url": "http://disqus.com/DLS/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 690, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/2724//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "garydoubelu": {"username": "garydoubelu", "tumblr": "", "display_name": "garydoubelu", "url": "http://disqus.com/garydoubelu/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/2724//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "GreenDreams": {"username": "GreenDreams", "tumblr": "", "display_name": "GreenDreams", "url": "http://disqus.com/GreenDreams/", "registered": true, "linkedin": "", "blog": "http://greendreams.wordpress.com", "remote_domain": null, "points": 1083, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5846/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "niggerhatingme": {"username": "niggerhatingme", "tumblr": "", "display_name": "niggerhatingme", "url": "http://disqus.com/niggerhatingme/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/2724//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "no_obama_for_pres": {"username": "no_obama_for_pres", "tumblr": "", "display_name": "no_obama_for_pres", "url": "http://disqus.com/no_obama_for_pres/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/2724//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "PeterGriffin": {"username": "PeterGriffin", "tumblr": "", "display_name": "PeterGriffin", "url": "http://disqus.com/PeterGriffin/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/2724//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "Peter_Allen": {"username": "Peter_Allen", "tumblr": "", "display_name": "Shard", "url": "http://disqus.com/Peter_Allen/", "registered": true, "linkedin": "", "blog": "http://www.twitter.com/wintershard", "remote_domain": null, "points": 22, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/10586/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "cosmoetica": {"username": "cosmoetica", "tumblr": "", "display_name": "cosmoetica", "url": "http://disqus.com/cosmoetica/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/2724//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "DrOmed": {"username": "DrOmed", "tumblr": "", "display_name": "DrOmed", "url": "http://disqus.com/DrOmed/", "registered": true, "linkedin": "", "blog": "http://blogs.salon.com/0002296/", "remote_domain": null, "points": 2, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/9364/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "StockBoySF": {"username": "StockBoySF", "tumblr": "", "display_name": "StockBoySF", "url": "http://disqus.com/StockBoySF/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 725, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/5746/avatar92.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "jq40": {"username": "jq40", "tumblr": "", "display_name": "jq40", "url": "http://disqus.com/jq40/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/forums/2724//avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": false, "name": "The Moderate Voice", "streaming_realtime": false, "url": "themoderatevoice", "allow_anon_post": false, "reactions_enabled": true, "reply_position": 1, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": false, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "themoderatevoice", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-18_23:15:20", "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": {"175625": {"up_voted": false, "ip": "", "has_replies": false, "message": "Eellis, in the particular incident I witnessed, the police outnumbered the counter protesters (maybe 30 people altogether), who were all gathered in a knot at one point in the police line.  I speak as an observer, not a participant, with a good vantage point on rising ground.  The main body of MLK day marchers and attendees were at least a hundred yards away on the other side of the park, no where near the point of conflict.  There was no impediment to dispersal of  the people who were throwing stuff and yellling because there was no crowd behind them--TV trucks, random people watching the fun, yes, but no shoulder to shoulder   mass.<br><br>The Police fired more than one volley of tear gas, and the counter protesters got a dose, too, but the initial volley was hail maried over the trees into a peaceful crowd.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-24_15:53:46", "killed": false, "user_key": "DrOmed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "171180": {"up_voted": false, "ip": "", "has_replies": false, "message": "SD's comments are a perfect illustration of why so many black folk still have to shake their heads over the way whites react. He just does not get it.<br><br>For every incident like he describes, there are dozens in the other direction to this day. there are blacks who are followed and harassed in retail stores, and some even abused.<br><br>Wake up!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_15:56:33", "killed": false, "user_key": "cosmoetica", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "12172204": {"up_voted": false, "ip": "", "has_replies": false, "message": "until black america can quit acting like a pack of animals and stop thinking that America owes them, you're right this will never be an equal country.  get a job , get off welfare, quit blaming the past for your troubles.  i am an american indian if you want to talk about the past.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-07-05_11:09:39", "killed": false, "user_key": "garydoubelu", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 169782, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "3150094": {"up_voted": false, "ip": "", "has_replies": false, "message": "This story and many of these comments make me very sad.  I disagree with both Obama's--I believe what Michelle meant was what she said--I think her husband is a socialist bent on transforming this county into a more European style socialist state--I'm not going to vote for him--Not because he's black though, but because we could not be more polar opposites when it comes to the way I feel our Country should be run.  I'm a hardcore Liberatarian with anarcho-capitolist leanings and have descided to go with McCain.<br><br>I do however give credit where credit is due--Senetor and Mrs. Obama are a credit to Black Americans everywhere and I am happy that we as a nation have finally taken another step to be a more inclusive society.<br><br>as for the guy that said that WORD in Starbucks--he's an idiot--as for the rest of you who can't seem to say anything even remotely intellegent --- let it go-- If that's all you can think of to say I feel so sorry for you--your lives must be so barren of any substance.  Do us all a favor you have proven it here that you are far to ignornat to exercise you right to to vote--so don't   I know Senetor McCain doesn't want your support so really there's no point--crawl back underneath the rock from whence you came.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-18_16:56:32", "killed": false, "user_key": "jq40", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "172688": {"up_voted": false, "ip": "", "has_replies": false, "message": "StockBoySF: You can be both.<br><br>Cosmoetica: a long day, but \"lite on the latte\" made me laugh even this late at night after midnight. I dont know what latte is exactly, but it just sounded funny<br><br>The Race Card book. Thank you.<br><br>dr.e", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-23_02:25:09", "killed": false, "user_key": "archangel", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "175896": {"up_voted": false, "ip": "", "has_replies": false, "message": "Superdestroyer wrote: \"Dr Estes felt comfortable verbally accosting whites because the risk of physical violence was extremely low.\"<br><br>dear Super destroyer. I agree there are many different kinds of conflicts, as you have mentioned, and many are unjust and wrong. <br><br>And, also, I think holding all these many different incidents altogether as 'same kind' no matter the factual aspects and details of all involved, makes it difficult to sort and address them with some usefulness in our larger culture.<br><br>To hold all levels of conflict together as though they all have the same underlying factors makes them into a non-differentiated issue that cannot be solved. <br><br>I think that's why so many commenters here are speaking of specific eyewitness: many of us are continuing to learn our ways through by trying to understand and analyze not just others, but also ourselves, our own reactions, too.  <br><br>In this article, I wrote about 1% action/ influence or less, being countable as progress. That includes self-analysis. Without asking what stands behind my own fears, aversions, instant affront, in myself, as best I can, I don\u2019t know that we can keep the more safe world, the more bridged world, we all somewhere in our lives, hope for. <br><br>If noting a problem in our culture is a small progress, if intervening in a problem to attempt to seed something useful and new, is a kind of small fastener for a new and better way, then self analysis, tightens those new fasteners... so that new ideas and trajectories can actually happen and continue to evolve. <br><br>That is what I would like to bless over all, Superdestroyer. <br><br>I do not invalidate your views of your experiences nonetheless. <br><br>You mentioned my 'feeling comfortable to accost white men...'   I looked through my article and did not see anywhere that I referenced these four men as 'white' as you note in your comments. That's not the way I thought of them. I was snagged by their behavior, not by whatever race they might be. <br><br>I don\u2019t know if they were 'white,' by whatever standard the dominant culture might apply. I can see how you might have assumed they were though. There is an odd almost collective idea in our culture that I think we might need be inoculated against...  that if there's trouble, we might all jump to imagine it's between those who the news media perseverates on... either of the two sides understood night after night, as the current and ongoing  'alien other.'<br><br>But, the men were, light-skinned. And I have no idea if they were white, as I reflected in my article. Using  a race moniker for any individual, has for decades in our country, been pretty debatable as we find via DNA testing that so many are mixtures of many backgrounds... as I also wrote in the article...re the multi- heritages each person carries in our times. <br><br>If I did not state my point strongly or repetitively enough, I can say it another way here now: that the issues regarding 'racially tagged' opprobrium are as much, at root, about behavior... and unlaid ghosts and old covert angers, unhealed wounds, self-protection born of a priori trauma, grief, misunderstandings, unforgiven grudges, and lack of differentiation, rather than race alone. I would hold these as evidences to inquire of, no matter which race a person filled with such opprobrium carries.<br><br>This is just my .02. There appears to be an automatic almost archetypal one-sided reaction in some, to 'race', rather than a reasoned inquiry that can see many sides underlying. <br><br>One of the men might have been east Indian, but I would not know this for certain; especially since the conversation was cut short.... one perhaps was German-African-American-British, one could have been Mexican-Irish, one could have been Korean-Anglo, or Vietnamese-Swedish... all combinations of souls that have come into being in the US as a result of 'war brides,' relocation of war torn people to the US by religious groups in the US, proximity of railroad and other kinds of workers brought in to work in communities far afield from their natal heritages. <br><br>I don\u2019t know Superdestroyer what racial mix or heritage the persons were. I was writing about what was said, not about what race they were. It doesn\u2019t matter to me what bloodline said such things. I think I stated that here in comments earlier also. <br><br>I know you keep imagining I was \"comfortable,\" but more careful readers  here, note that I've said now for the third time, I was not 'comfortable.' How can a woman like me alone in such a situ be 'comfortable'? I admit, I don\u2019t know how to do that. I wished instead, I'd had able warriors, preferable in full bronze over batting, watching from somewhere near by.  <br><br>I'm a post-trauma specialist Superdestroyer. There is no way to judge whether 4 men  or 2 men, or one man, or ten women ....in any proximity are packing or not, are carrying hidden landmines in their minds or not. <br><br>I think that my knowledge of 'the worst of the worst' of what humans can be/do to one another, gives me reason to have fear. Your thought is that \"risk of physical violence was extremely low.\" But, my witness is different. <br><br>The word 'accost' that you imagined, means aggressive. I was other than that Superdestroyer. I was speaking conversationally to the men, and I have a natural voice so soft that people tell me constantly to 'speak up,' because it is so low and, well, soft. Could I shriek if need be? Yes, if urgent. But, in this case, your imaginings do not accurately reflect the reality. <br><br>This is just my two cents <br><br>Most of the commenters here are telling the stories of their own lives, their own specific, not global, but \"I was there\" direct witness, and how they found, are finding their ways through. I think that is reasoned and worthy to the discussion, and furthers it. Most are trying to see more than one side to matters critical to all of us. <br><br>And lastly of all, although it is off-topic, I think the issue you brought up about renegade DA's, not only the case you mentioned, but many others, that involve 'defendants' of all colors being charged wrongly, is an ongoing travesty. I am interested in what grabs hold of such men who are DA's and why they lose reason. Losing reason is not beyond any of us. Extended loss of reason is, I think, worthy of ongoing cultural study and self-study, both.  <br><br>dr.e", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-24_17:54:38", "killed": false, "user_key": "archangel", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "169369": {"up_voted": false, "ip": "", "has_replies": false, "message": "I really hate to call a persons honesty into question. That being said I live in Texas. Houston is one of the most diverse and open places you can find but there are places in Texas where they are not so progressive. I can not think of one place where you can go in Texas and walk in to a coffee house and think for one second that it is in any way acceptable to use that kind of language. No matter how racist someone is they damn well know most people don't want to hear and won't put up with that kind of crap. Maybe if you live in some all white area you might think you could get away with it (I did live in Phoenix and it was a little scary white- and I'm white) but no where I know in Texas.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_07:10:18", "killed": false, "user_key": "EEllis", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "173594": {"up_voted": false, "ip": "", "has_replies": false, "message": "just a note: There has been a comment made here overnight that has now been removed by TMV administrators. It was unacceptible according to TMV's commenting rules, (see #5 in this instance) which are listed below. Thank you.<br><br>dr.e", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-23_14:12:00", "killed": false, "user_key": "archangel", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "171547": {"up_voted": false, "ip": "", "has_replies": false, "message": "It was very smart as well as brave to tell those nimrods you have had black blood, Clarissa. I suspect that if I had been in the same situation I might have lost my temper, and you have witnessed what happens when I lose it.<br><br>I do find it remarkable that these men felt free to use the word nigger so egregiously in a public place. But I must also find it a remarkable fact, because I know you are an honest person. I don't think you would just make something like that up.<br><br>I've lived in Tulsa, Oklahoma for 11 going on 12 years now and I have never heard any nonblack person, including people I know to be thorough-going racists, use the word nigger in casual conversation, public or private. On the other hand, I don't hang out with the kind of unreconstructed peckerwoods that would be so mortally clueless as to use such a dangerous word. A good thing for them--and me, too--I don't need any new scars on my knuckles. Having the wit to shame them is much the better way.<br><br>Absent the word nigger, I have witnessed hatred, bigotry, fear of the other, and so on and so wearily so forth expressed or acted out by human beings of all kinds irregardless of skin color, every place I have been spent enough time to have a conversation or two.  We are all haters, bigots, fearmongers, and so fucking wearily so forth, to a greater or lesser degree. <br><br>Those who claim vociferously not to be bigots demonstrate all the elaborations of bad liars. You are what you have to defend.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_17:22:33", "killed": false, "user_key": "DrOmed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "171676": {"up_voted": false, "ip": "", "has_replies": false, "message": ".... for those commenting; thank you in part for helping me to see that much more eye-witness about the underlayers of culture, needs to be written about these matters... I will try in ensuing weeks. Others of my colleagues, esp T-Steel, Pete Abel, Angela Winters, Shaun Mullen, and others do also, pretty regularly. <br><br>Peter_Allen, You're right I think, being able to 'hold' small progresses depends on small actions as well as larger ones. 'In the shelter of each other,' as my old world father used to say. Thank you.<br><br>DLS: You hit it.<br><br>StockBoySF: Should be SpiritBoySF. I promise to put your thoughts to good use.<br><br>EEllis: \"but no where I know in Texas.\" We post-trauma specialists here in the Rockies helped many NOLA survivors who'd been transferred up from Houston. Their stories about their time in Texas are different. However, at the same time, EEllis, you are special blessed to live in the world you see. Be well there. <br><br>Rudi: the assembly lines. You're right, there's a fine book that someone will write yet I hope, about blacks, latinos, poor whites and immigrants in the factories... the good, and the not at all useful. Maybe you?<br><br>Superdestroyer. \"you obviously felt safe enough to confront middle age white men.\" I did not feel safe SD. I wish you had been there to protect me. You also ask if the mens' racial group were different, would I have spoken? I think I do not know for sure until I were in such a moment, but knowing how it goes with me and what I am guided by, I'd say a small hopeful Yes.<br><br>T-Steels: You're accurate. And, I'd add that as a light- skinned minority (if for a moment i could call myself such... i don't normally like to)  who people sometimes misjudge re background and heritage, I hear trash in all directions, but far more in one direction than the others. When offal-talk comes from some who have enjoyed so much privilege, regardless of race, it is sometimes more nuanced and difficult to understand. I keep trying. I know there\u2019s a pony in here somewhere. lol<br><br>Rudi again, you have hold of one of the most nuanced and unspoken about hierarchies in criminal law: You are right, the many types of inhumane behavior have to be differentiated one from the other in order to have a reasoned discussion about why/who/where/ how, and what for. Without those differentiations, discussions can lapse into what only looks like, I don\u2019t know for certain, but just psychological discharge.<br><br>SD, again: I have not seen Kings of comedy, I wish I could watch TV, but seldom have time until the late late hours of morning. Can\u2019t say I really like watching how to make a million in the foreclosure market or how to make that last many pounds melt away on the love-handle destroyer. Re hate crimes: As I understand it from reading the law; it is differentiated not solely by race, but also religious and other factors. And you are right: there is still much miscarriage of just outcome for many many different kinds of people. <br><br>GreenDreams: \u201cad hominem attack self-deleted.\u201d That phrase made me smile. To perhaps return the favor: When I hear the phrase \u2018ad hominem attack\u2019 I often get a sudden picture of pre-Neanderthals bopping each other over the head with wiffle bats. Either that or one person with \u201cwhere\u201d written on their chest, and another with \u201cware\u201d written on their chest, and both duking it out. Subtle. Lol, very subtle. (Hominem, homonym? Ok, Ok, enough of that. I go to my room now)<br><br>Pacatrue: interesting and cogent view of the Narnia Chrons. ... in part, because the entire series has so many heroic \u201csmall\u201d beings, and also mirrors, as you point out, the seemingly timeless tensions between this tribe and that tribe, (by color, shape, customs, or other aspect) seemingly influenced by some unconscious matters of personal psychology and by world events. A five year old child. You are so blessed.<br><br>Cosmoetica: Please send \u2018wake up\u2019 potion you had in mind immediately. Stop. By centaur courier, if need be. Stop. Desperately needed by us all. Stop. Thank you always. Stop.<br><br>Dr. Omed: \u201cMight have lost my temper, and you have witnessed what happens when I lose it.\u201d<br>Some here might like to visit Dr.Omed's blog at <a href=\"http://Salon.com\" rel=\"nofollow\">Salon.com</a>  He and I were street poets together long ago, a tag end of a bowry poets\u2019 gang. Most of us had either lived on the streets or were currently living from shelter to shelter. His last \u201closing of temper\u201d (though it was actually a righteous gorge rising up in him, I think) before he moved to Oklahoma, was when Dr. Omed sprang to everyone\u2019s defense and disarmed a man bigger than himself who had pulled a knife. At a poetry reading. Also in a coffee house.<br><br>dr.e", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_18:01:01", "killed": false, "user_key": "archangel", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "173984": {"up_voted": false, "ip": "", "has_replies": false, "message": "fwd:<br><br>The Real Barack Obama<br><br>Thursday, February 21, 2008 10:06 AM<br><br>By: Ronald Kessler \t<br><br>Michelle Obama\u2019s comment that, for the first time in her adult life, she feels proud of America helps crystallize who Barack Obama is.<br><br>To be sure, the wife of a candidate is perfectly free to have views that are distinct from her husband\u2019s. But on a matter that is so fundamental to one\u2019s being as love of country, it is difficult to imagine that Michelle Obama would publicly twice make such a statement suggesting disdain for America unless she felt it comported with her husband\u2019s views.<br><br>Equally important, her statement aligns perfectly with the hate-America views of the Rev. Jeremiah Wright, Barack Obama\u2019s minister, friend, and sounding board for more than two decades. On the Sunday following 9/11, Wright characterized the terrorist attacks as a consequence of violent American policies. Four years later, Wright suggested that the attacks were retribution for America\u2019s racism.<br><br>\u201cIn the 21st century, white America got a wake-up call after 9/11/01,\u201d Wright wrote in his church magazine Trumpet. \u201cWhite America and the Western world came to realize that people of color had not gone away, faded into the woodwork or just \u2018disappeared\u2019 as the Great White West kept on its merry way of ignoring black concerns.\u201d<br><br>Wright has been a key supporter of Louis Farrakhan, and in December, honored the Nation of Islam leader for lifetime achievement, saying he \u201ctruly epitomize[s] greatness.\u201d<br><br>Farrakhan has repeatedly made hate-filled statements targeting Jews, whites, America, and homosexuals.<br><br>Those who think two of the closest people to Obama could publicly make anti-America statements unless Obama himself felt that way, are fooling themselves. To date, Obama has proven himself to be nothing more than a great orator, rendering the statements of those around him even more important in illuminating his true character and agenda. During his Senate career, he skipped 17 percent of the votes and sponsored only one bill that became law. That bill was to promote \u201crelief, security, and democracy in the Democratic Republic of Congo.\u201d<br><br>Bereft of official accomplishments, Obama has distinguished himself mainly by being against measures that protect American security, such as finishing the mission in Iraq. If we were to leave Iraq quickly, as Obama vows he would do, it would become a launch pad for al-Qaida attacks on the U.S.<br><br>Obama avoided voting on extending the Protect America Act, thus putting America at risk when immediate interception of terrorist communications is required. Last August, Obama voted against a measure that would have allowed the U.S. to continue to monitor overseas conversations of terrorists like Osama bin Laden without first obtaining a warrant.<br><br>If his radical vote had prevailed, bin Laden would have been given the same rights as Americans.<br><br>To this day, Obama has not distanced himself from most of Rev. Wright\u2019s comments. In a statement supposedly issued to address the matter, Obama ignored the point that his minister and friend had spoken adoringly of Farrakhan and that Wright\u2019s church was behind the award to the Nation of Islam leader. Instead, as outlined in a Jan. 17 Newsmax article, he disingenuously claimed he thought the magazine bestowed the award on Farrakhan for his efforts to rehabilitate ex-prisoners.<br><br>Neither Wright\u2019s encomiums about Farrakhan nor the Trumpet article mentions ex-prisoners.<br><br>Similarly, after John McCain\u2019s wife Cindy responded to Michelle Obama\u2019s remarks by telling a Wisconsin rally, \u201cI have, and always will be, proud of my country,\u201d Barack Obama told a radio interviewer that his wife did not say what people think she said. He then proceeded to rewrite her comments, claiming that she had meant she was encouraged by the \u201clarge numbers of people\u201d who have gotten involved in the political process. Michelle Obama then made a similar revision of her remarks.<br><br>In her speech in Milwaukee, Michelle Obama said flatly, \u201cFor the first time in my adult lifetime, I am really proud of my country, and not just because Barack has done well, but because I think people are hungry for change.\u201d<br><br>And what has been wrong with America up to now? That it gave Michelle the opportunity to attend Princeton and Harvard Law School? That it gave Barack Obama the chance to attend Columbia University and Harvard Law School and become a U.S. senator making more than $1 million a year from book royalties?<br><br>Was it that America stopped Nazi Germany from continuing to murder millions of Jews? That America has provided Africa and other countries with $15 billion to combat the spread of AIDS/HIV and that another $30 billion is on the way? That 46 percent of all Americans classified by the Census Bureau as poor own their own homes, 76 percent of them have air conditioning, and 75 percent of them have at least one car? Or that America allows us to express our views freely without fear of being put in jail, as is the case in Russia?<br><br>A lawyer, Michelle Obama is perfectly capable of expressing herself precisely. In fact, she spoke from a written speech.<br><br>Those who do not want to believe she meant what she said \u2014 and that Barack Obama could not be so close to Rev. Wright if he did not himself believe in much of what he has said \u2014 are in denial.<br><br>The real Barack Obama is starting to emerge, and for those of us who are grateful to America for everything it represents, it is not a pretty sight.<br><br>Ronald Kessler is chief Washington correspondent of <a href=\"http://Newsmax.com\" rel=\"nofollow\">Newsmax.com</a>. View his previous reports and get his dispatches sent to you free via e-mail. Go here now.<br><br>\u00a9 2008 Newsmax. All rights reserved.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-23_18:03:24", "killed": false, "user_key": "edhillfiker", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "172848": {"up_voted": false, "ip": "", "has_replies": false, "message": "Once upon a time I lived on 31st and Larimer (or thereabouts) in Denver. Mid nineties, I think. Very bad neighborhood. Gunfire was frequent enough to not to be particularly notable when you heard it. When I rode my bike to work I occasionally saw cars slowly cruising down the street around the nearby housing project, the windows rolled down and the passengers hanging their arms out, displaying their iron. Mac-10s were popular back then. I would occasionally make a detour if action seemed imminent, but often I rode right past them, they'd nod and I'd nod, and we'd both go on about our business--white guys on bicycles were not their targets. <br><br>I've lived in a number of 'bad' neighborhoods in my time, walked the streets and alleys of these places at all times of the day and night, generally without fear. I've been mugged once--by white guys.<br><br>I cite my personal experience because it proves nothing except that I can live in a poor neighborhood full of black people and assorted persons of color--and not feel threatened, or be threatened, for that matter.<br><br>I witnessed the Martin Luther King Day 'riot' in Denver (in 1990?), when a small band of young wanna-be Klu Klucks demonstrated at the State Capital. <br><br>I saw the police lift their tear gas guns, over the heads of the small scrum of counter protesters (the protester having been evac'ed for their \"own safety\") directly in front of their barricade, and deliberately, with malice aforethought, fire gas grenades on long, lobbing trajectories, into a mixed race crowd peacefully dispersing after having heard a speech by the mayor in front of city hall (across the park from the State Capital).  <br><br>I helped people who got a worse whiff of the gas than I did get the hell out of there, including a woman with two small children. <br><br>Let me repeat: There was no riot until the police started it by firing tear gas into a lawfully assembled peacefully dispersing crowd, rather than the small group of troublemakers right in front of them.<br><br>This was never reported by the media, even tho' it happened right in front of their cameras.<br><br>Whatever else happened that day, the police fired the first salvo, not at the 'perps' but at innocent bystanders.  It certainly gave a lot of people a rash that day, including me.<br><br>I call it a hate crime committed by the police given an excuse by white thugs against anyone who had dared to march in the MLK parade.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-23_07:05:05", "killed": false, "user_key": "DrOmed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "188706": {"up_voted": false, "ip": "", "has_replies": false, "message": "thank you for the reference to the short story writer JillyD. I just read up on her as per your link. I will look for her work.<br>dr.e", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-28_17:23:58", "killed": false, "user_key": "archangel", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 188610, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "175780": {"up_voted": false, "ip": "", "has_replies": false, "message": "I myself have black cousins, because some of my ancestors owned some of their ancestors. One of my cousins is Melba Pattillo, and if you don't know who she is, you can google it up. She certainly knows something about getting spat on, and walking through a hurricane of hateful verbal abuse. <br><br>I'm much prouder to claim her as a blood relative than I am my own great great grandfather who fought on the Confederate side in the Civil War.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-24_16:57:44", "killed": false, "user_key": "DrOmed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "12298683": {"up_voted": false, "ip": "", "has_replies": false, "message": "Blacks are more racist than white folk these days, Name a black that did not vote for Obama because he's black. If Obama did not have the white vote he would have flat lost big-time.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-07-07_23:37:29", "killed": false, "user_key": "scraaas", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 168759, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "168860": {"up_voted": false, "ip": "", "has_replies": false, "message": "That is great!  Thanks for speaking out.  Have no doubts- there will be something positive come out about it.<br><br>And yes, I do have moments when I go on and on, especially when I feel strongly or if there is some injustice done.<br><br>Thanks again and I'm really proud of you and all who speak out against such bigoted and demeaning comments.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-21_23:00:43", "killed": false, "user_key": "StockBoySF", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "169516": {"up_voted": false, "ip": "", "has_replies": false, "message": "No matter all of the historical references to lynchings, you obviously felt safe enough to confront middle age white men.  You must have assumed that they would not assault you, not attack you, or not follow you.  You assumed that they could be shamed. <br><br>Compare your situation to the video of a white man being assaulted by several blacks in a NYC store. <a href=\"http://www.hamptonroads.tv/adv_search_embed.cfm?e=19902&ap=1&keyword=&section=&source=Associated%2520Press\" rel=\"nofollow\">http://www.hamptonroads.tv/adv_search_embed.cfm...</a><br><br>If the table had been a group of blacks using profanity, using racial epitaphs and demonstrating gangster, ghetto attitudes, you would have been so fast to confront them? If they said, I ain't voting for no bitch, would you have made a comment or would you have feared them enough to ignore them and silently tolerate their brand of bigotry? Somehow, I doubt your courage would have gone that far. <br><br>Until white America is as willing to confront the open bigotry demonstrated in much of the black community as you felt same enough to confront in the white community, the U.S. cannot really be a nation based upon equality.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_08:49:30", "killed": false, "user_key": "superdestroyer", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "2834349": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think we should vote for a guy because he uses the word \"change\" often.  Reminds me of a 2-year old espousing the word \"cookie\".<br><br>Will the real Obama please stand up.  Check out the facts on his past on <a href=\"http://www.frontpagemag.com/Articles/Read.aspx?GUID=92AA0FD4-8EF5-4D89-B8DA-B8C74484FA91\" rel=\"nofollow\">http://www.frontpagemag.com/Articles/Read.aspx?...</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-03_21:36:39", "killed": false, "user_key": "PeterGriffin", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "172208": {"up_voted": false, "ip": "", "has_replies": false, "message": "dr.e, \"Should be SpiritBoySF\".<br><br>You're too kind, but thank you!  What about, \"StockBoy is what I do, but SpiritBoy is who I am\"?<br><br>Just kidding- I wouldn't be able to live up to it. I'd have to quit my day job.  :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_21:02:57", "killed": false, "user_key": "StockBoySF", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "171574": {"up_voted": false, "ip": "", "has_replies": false, "message": "'Those who claim vociferously not to be bigots demonstrate all the elaborations of bad liars. You are what you have to defend.'<br><br>It's interesting; I'm reading this new book called The Race Card, and that quote is typical of the sort of generalizing on the side of those who claim racism where there is not.<br><br>It also illustrates how easily anyone of any color can broad brush another. In a sense, you are the flip side of Superdestroyer.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_17:32:14", "killed": false, "user_key": "cosmoetica", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "168759": {"up_voted": false, "ip": "", "has_replies": true, "message": "I applaud you telling them what for. I don't think that I would have been as polite.<br><br>I agree, progress has been made. Every day, we get a little further, and the bar can be set a little higher for the next day's goal :).", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-21_22:11:29", "killed": false, "user_key": "Peter_Allen", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "172857": {"up_voted": false, "ip": "", "has_replies": false, "message": "Need I mention that media coverage concentrated on alleged acts of  \"black thugs?\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-23_07:12:43", "killed": false, "user_key": "DrOmed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "170683": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh, SD, &lt;ad hominem attack self-deleted&gt;", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_14:07:38", "killed": false, "user_key": "GreenDreams", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "174012": {"up_voted": false, "ip": "", "has_replies": false, "message": "SD: You live in your own world. There's no doubt blacks commit crimes (or, at least, are caught) at a higher rate than whites, but worldwide, that is a given for ANY group w lower poverty rates. <br><br>But to equate that with somehow whites having it as bad as blacks, or suffering from bigotry worse, is ridiculous. It's these arguments by exceptionalism that define your extremism. It's akin to pointing to the Tawana Brawley case and claiming that all blacks or most make up claims of racism. That's simply specious.<br><br>Dr O: Histrionics only play into the hands of folk like SD. You be Pavlov and make him woof.<br><br>SD: \"Everyone's comments proved my point for me. Not one person claimed that they would confront sexist, racist, xenophobic, or bigoted statement if they were being made by blacks. \"<br><br>For the record, I was 12 years old when I was, w/o knowledge, driven to a KKK rally on Long Island by the father of a friend of mine. I laughed out loud at the head ass, and called him an idiot. I got me, my friend, and his father booted out of the rally. When I was 17, I took a girl to an abortion clinic, was harassed by asses yelling and throwing ketchup around, and was assaulted, I kicked the primary assaulter in the teeth and he fell back down a flight of stairs, and the whole crowd of troglodytes was in horror that someone stood up to them.<br>When I was 16 a Puerto Rican girl was being assaulted outside a gay bar by white guys. I stabbed one, hit another w a tree branch, and the pussies fled.<br>When I was 6, an uncle of mine said positive things about MLK's death, in a crowd of LI Republicans. I asked him why he hated someone who was good?<br>I went to a HS that was 1/3 white, 1/3 black, 1/3 Latino. There was an incident when a whiney white kid who was actually on the football team, and twice my side, was so scared of this big, tall black girl w a bitch attitude, who was talking trash on white folk. Having grown up ~ blacks, I stood up to her, called her a dumb bitch, and when she tried to slap me, caught her arm, twisted it, and slapped her down. Like with the abortion nuts, the kids- white and black were stunned.<br>There are many other incidents- some which occurred in circumstances which I would have to invoke the 5th Amendment on, so I will leave it there.<br><br>Thus, stop acting like a deluded child.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-23_18:27:16", "killed": false, "user_key": "cosmoetica", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "171069": {"up_voted": false, "ip": "", "has_replies": false, "message": "I was thinking about SD's comments a bit. Many whites are afraid to approach black people, but why is this the case when most crime, as Rudi says, is white-on-white and black-on-black with the exception of hate crimes.<br><br>(The following will relate.) I've been reading the Chronicles of Narnia series by C.S. Lewis to my son, the most famous of which is The Lion, The Witch, and the Wardrobe. I love the books quite a bit, read them myselves as a child, and my 5-year-old is eating them up himself. For all the good things in them, there are also some attitudes and beliefs from the UK of the early 50s, when they were written, that I'd rather not pass down to my child, including some rather clear racism.<br><br>The nation to the south of Narnia is called Calormene and it's basically a fantasy version of the Ottoman Empire; with an absolutist emperor, scimitars, deserts, and worship of a false god. For us, it's hard to recall, but C.S. Lewis was a child when the Ottoman Empire fell, and the menace of this \"Oriental\" kingdom still resided in the European consciousness. Virtually every time the Calormenes are mentioned, Lewis cites their dark skin, their wild, white eyes; some people (though not good ones) call the Calormenes \"Darkies\". And there's even a moment where bad Calormenes are crowding around with that dark skin again, with the smells of onion and garlic on their breaths. Onion and garlic? This recalls to me fears of this period and earlier of those swarthy southern and eastern Europeans; Greeks, Serbs, gypsies (Roma), Italians, etc.<br><br>But it's not as if the greatest recent threats to England in 1952 were from swarthy Turks or Albanians eating garlic. In fact, the very recent greatest threat was from the Germans. And yet these attitudes and stereotypes were still lingering around 50-100 years after there was any real Ottoman threat to Western Europe.<br><br>I would hazard a guess that most of the fear in whites of blacks today is not due to any actual risk but lingering cultural beliefs.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_15:37:42", "killed": false, "user_key": "pacatrue", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "3285950": {"up_voted": false, "ip": "", "has_replies": false, "message": "Obama is a liar, he will not do as he says. There is no experience at the executive level, being a senator for a short time does not give experience to lead the country.  It\u2019s pathetic that there are so many persons that may vote for obama because he is black not because of the skill set.. or the severe lack there of! No way will I or any persons I know will vote for Obama.  Stop pissing and moaning about being black, your no longer a minority\u2026 facts are the white population is the minority after considering the Black, and Mexican population. Keep in mind over half are not in the stats due to the fact they are illegal and are ghosted in surveys.  We can\u2019t have white TV, it\u2019s racist! That\u2019s pathetic that there are people like u crying about being black but the white population is so restricted cuz what we do or say may be racist, it\u2019s only going to get worse with a black man in the white house. I say right on to the guys in the coffee shop at least they have the balls to say what they feel, after all it\u2019s suppose to be equal rights. Remember the blacks that beat the white truck driver in LA? Probably not.. He was white. If it was a black man we would be hearing it for 30 years. Stop the pity party are you not educated to the fact the whites where the first slaves in Rome? You must accept the fact cuz they are not going to change. There are a lot of people out there that are sick of all the whining, NAACP and all the other black watchdogs. Like I said when the whites that are gathered get fed up enough its not going to be pleasant. <br>Tired of The Whining. How long do you think he will last before the extremists get hold of him? They are out there.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-10-24_18:39:31", "killed": false, "user_key": "no_obama_for_pres", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "172480": {"up_voted": false, "ip": "", "has_replies": true, "message": "What a bunch of shit-skined NIGGER lovers you all are.  I'm ashamed of you all!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_23:34:19", "killed": true, "user_key": "niggerhatingme", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "173377": {"up_voted": false, "ip": "", "has_replies": false, "message": "DrOmed<br><br>See <a href=\"http://video.aol.com/video-detail/2nd-black-on-white-racist-assault-on-baltimore-bus-in-two-weeks/1557863686\" rel=\"nofollow\">http://video.aol.com/video-detail/2nd-black-on-...</a> for Baltimore.  <br><br>See Crime in the United States <a href=\"http://www.fbi.gov/ucr/cius2006/offenses/expanded_information/data/shrtable_05.html\" rel=\"nofollow\">http://www.fbi.gov/ucr/cius2006/offenses/expand...</a><br>for the differences between black on white and white on black crimes. <br><br>Now, since you insisted on statistics, please provide references for your data that provdes that blacks do not commit crimes at a higher rate than whites.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-23_12:11:11", "killed": false, "user_key": "superdestroyer", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "188610": {"up_voted": false, "ip": "", "has_replies": true, "message": "<a href=\"http://www.metrotimes.com/editorial/review.asp?id=102887\" rel=\"nofollow\">http://www.metrotimes.com/editorial/review.asp?...</a> &lt; -- regarding the assembly line stories, Dr E, this is a good book.<br><br>I hear the n-word all the time at work if I walk around campus (HBCU) -- the kids say it all the time.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-28_16:49:54", "killed": false, "user_key": "JillyDybka", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "169782": {"up_voted": false, "ip": "", "has_replies": true, "message": "<i>Until white America is as willing to confront the open bigotry demonstrated in much of the black community as you felt same enough to confront in the white community, the U.S. cannot really be a nation based upon equality.</i><br><br>Oh stop it SD.  If much of the black community are \"open bigots\", you DEFINITELY would here about it and Senator Obama wouldn't stand a chance.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_10:18:06", "killed": false, "user_key": "T_Steel", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "13866785": {"up_voted": false, "ip": "", "has_replies": false, "message": "To me a niggger is nothing but a lazy ungrateful asshole. It doesn't matter what their skin color is.<br><br>Niggers suck, that's all there is to it.<br><br>Find something else to fixate on, like for instance the government creating a permanent welfare society for the white and black niggers of America.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-08-04_01:17:55", "killed": false, "user_key": "winemkr", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "4 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "175818": {"up_voted": false, "ip": "", "has_replies": false, "message": "Pack behavior--important point, cosmoetica. Facing down a pack. Getting caught between packs. Look 'em in the eye, address them directly, and move toward them, most--but not all--will flinch and back off. Like dogs, most humans are cowards and will not fight unless they're sure of winning--not on a rational level, but instinctually. A person who acts aggressively with the odds against is seen as, felt as, dangerous.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-24_17:10:24", "killed": false, "user_key": "DrOmed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "175735": {"up_voted": false, "ip": "", "has_replies": false, "message": "SD:<br><br>'Since you used a string of anecdotes, I assume that they are acceptable. I work in healthcare. Virtually every hospital that I have business with has the problem that the black employees seem to believe that when they are talking to each other, that whites cannot hear them. In every large urban hospital, I have personally witnessed black employees using vulgar, racist, sexist, and xenophobic behavior, I have never seen a supervisor correct the black employees or any white/non-black patient confront the anti-social behavior.'<br><br>So, the point is that there are black assholes and white cowards- sort of like my riff on the white football player who was scared of a black chick I knocked on her ass. Boy, that's a real oddity in America- white folks scared of blacks and they hopping on it because it's their way of getting back at the assorted little racisms that occur every day. I've worked many years in many businesses, and there is always a glass ceiling for blacks, there are always blacks followed by security guards, even if in a suit and a man over 50. <br>Let's see, I've worked with many people- black, white Latino, Asian, and most of the men, even bosses, speak of females and genitalia and getting laid, make jokes about this group or that. So what you are telling me is that you NOTICE the black assholes, but don't notice the other groups' assholes.<br>This is what I mean by arguing by exceptionalism. And the fact you notice may have to do w that same sort of fear the white footballer showed.<br><br>'I have see blacks spit on whites in the DC metro, on the side walk in DC, and in Union station. I have seen blacks taunt whites and asians on an almost daily basis on the DC metro. I have never, ever seen a white or Asian person confront the rude, anti-social, bigoted behavior of the blacks. Whties and Asians do want they have been taught: flee from the blacks and avoid them at all costs.'<br><br>Spoken like a true Archie Bunker. I've known people of all groups taunt, curse, assault, and taunt others. I've known obnoxious militant queers who've taunted churchgoers, and vice-versa. A childhood friend of mine's cousin was one of a van full of white kids who beat 2 black kids nearly to death w a baseball bat (I was not there), but heard him bragging later. Do you realize how insulated and paranoid your argument is?<br><br>'Dr Estes felt comfortable verbally accosting whites because the risk of physical violence was extremely low. However, a white person accosting black bigots on the Green LIne in DC is an open invitation for violence with all the rest of the blacks on the subway cheering on the perpetrators. See the rape in the Howard County Maryland public school. Blacks have learned that in attacking a white person by themselves that they can alibi each other. See the racial bus attacks in Baltimore.'<br><br>I believe Dr. E said she was not comfortable. But, how did the people look? What age were they? I avoid all teen men or those in their early 20s, because pack-like behavior is a given- black, white, or whatever. Again, argument by exception.<br><br>'You do not have to do back twenty years to reference Tawan Brawley. Baltimore in 2007 have an faked hate crime in their fire Department. Also see the Duke non-rape case.'<br><br>I don't have to go to Baltimore. A guy in my own dept at work tried to BS a fake claim of racism because he was bitchy. He was Mexican. Shall I assume all Mexicans are self-centered little be-yotches?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-24_16:44:10", "killed": false, "user_key": "cosmoetica", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "175693": {"up_voted": false, "ip": "", "has_replies": false, "message": "My dear Superduperator, <br><br>You ask,<br><br>\"Now, since you insisted on statistics, please provide references for your data that provdes that blacks do not commit crimes at a higher rate than whites.\"<br><br>I don't believe I insisted on statistics, or was attempting to \"provde\" any particular point, except that statistics are irrelevant when you misuse them to prove a point that you a priori believe to true beyond doubt as an article of some misbegotten creed.<br><br>Occam had a razor, you got a funnel.<br><br>All human lineages trace back to Africa, thus, we are all in a sense African Americans, and many if not most African Americans have as many--or more--European ancestors--than they have directly from Africa. <br><br>When you peel a banana, it's still a banana. Peel the skin off  a human, it's still the same bloody mess whatever the color of that skin.<br><br>You and I and Michelle Obama and every human being on Earth share all but one tenth of one percent of our DNA, of the human genome. Does that make you itch? It does me, sometimes, when I regard fellow members of my species, such as you.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-24_16:25:36", "killed": false, "user_key": "DrOmed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "171728": {"up_voted": false, "ip": "", "has_replies": false, "message": "Dr E: Google The Race Card, and read the book. I'l have a review for Joe in a week or so.<br><br>As for the potion- a good slap upside the head, lite on the latte.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_18:17:59", "killed": false, "user_key": "cosmoetica", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "176092": {"up_voted": false, "ip": "", "has_replies": false, "message": "Regardless of the POV, SD will simply pick and choose what is comfy w his presuppositions, as that is the exceptional argument's raison d'etre.<br><br>But, for every incident that he can reel off about a poor white man's testes' reascending out of fear I can reel off another ten in the reveres; and I'm white. Doubtless, several fold more could be spoken of from a person of color.<br><br>But I'm scared, my position in life is not as set as it once was. I'm not guaranteed the job I used to be over the darker guy over there. That's unfair, that's racism in reverse.<br><br>Grow up. Those very facts suggest that many others have.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-24_19:50:24", "killed": false, "user_key": "cosmoetica", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "174817": {"up_voted": false, "ip": "", "has_replies": false, "message": "cosmoetica, <br><br>Since you used a string of anecdotes, I assume that they are acceptable.  I work in healthcare. Virtually every hospital that I have business with has the problem that the black employees seem to believe that when they are talking to each other, that whites cannot hear them.  In every large urban hospital, I have personally witnessed black employees using vulgar, racist, sexist, and xenophobic behavior, I have never seen a supervisor correct the black employees or any white/non-black patient confront the anti-social behavior.  <br><br>I have see blacks spit on whites in the DC metro, on the side walk in DC, and in Union station.  I have seen blacks taunt whites and asians on an almost daily basis on the DC metro.  I have never, ever seen a white or Asian person confront the rude, anti-social, bigoted behavior of the blacks.  Whties and Asians do want they have been taught:  flee from the blacks and avoid them at all costs. <br><br>Dr Estes felt comfortable verbally accosting whites because the risk of physical violence was extremely low.  However, a white person accosting black bigots on the Green LIne in DC is an open invitation for violence with all the rest of the blacks on the subway cheering on the perpetrators. See the rape in the Howard County Maryland public school.  Blacks have learned that in attacking a white person by themselves that they can alibi each other.  See the racial bus attacks in Baltimore. <br><br>You do not have to do back twenty years to reference Tawan Brawley. Baltimore in 2007 have an faked hate crime in their fire Department. Also see the Duke non-rape case.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-24_07:14:01", "killed": false, "user_key": "superdestroyer", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "172898": {"up_voted": false, "ip": "", "has_replies": false, "message": "I can remember a KKK rally here in Houston when I was a bit younger (late 80's early 90's) Most of the idiots (all 16 of them) were from out of state and were not well received. Me and some friends went down to see the rally and brought something for our visitors. D batteries. We pelted them and took off. The rest of the crowd was little friendlier. Death threats screamed at the top of the lungs seemed a real popular response. Though I thought, and still have no sympathy, that the KKK idiots deserved anything they got the idea that any counter protest of these people would ever be peaceful is absurd. Even an all white crowd. If on that day if we had gotten caught I would not of been happy but my dislike of the KKK didn't mean the laws had changed or that it would of been wrong to bust me. To often people see what they want in a crowd that they cannot view it from the other side. A mass of screaming, hollering, spitting people who are mad at the police for protecting garbage. Who outnumber the police 10 to 1 if not more. And as an aside to disperse a crowd you must get the people in the rear to leave first. If firing tear gas at the front the people there could easily be held in place by the crowd in back. Firing over into the crowd gets the rear moving and in theory the people close seeing this then flee. Sound and recognized tactics. The crime was in your head.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-23_08:01:54", "killed": false, "user_key": "EEllis", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "172771": {"up_voted": false, "ip": "", "has_replies": false, "message": "Everyone's comments proved my point for me.  Not one person claimed that they would confront sexist, racist, xenophobic, or bigotred statement if they were being made by blacks. <br><br>And to claim that many more hate crimes are committed by whites, I suggest you goggle the recent rash of hate crimes committed on buses in Baltimore.  All of them involved blacks attacking whites.  If you can produce a rash of attacks by whites on blacks, then please cite it. <br><br>Also, in about 1/2 of the felonies committed by blacks, whites are the victims.  So much for most felonies involving blacks have blacks as victims.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-23_04:48:02", "killed": false, "user_key": "superdestroyer", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "170086": {"up_voted": false, "ip": "", "has_replies": false, "message": "Until the \"black bigots\" start lyching and cross burning as a form of intimidation instead of random criminal acts the resident SD/VDARE crowd has no argument. Most property and violent crime is white-on-white and black-on-black. Now hate crimes are a different story.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_11:29:48", "killed": false, "user_key": "Rudi", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "175592": {"up_voted": false, "ip": "", "has_replies": false, "message": "Arf! Where's the drool cup?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-24_15:34:47", "killed": false, "user_key": "DrOmed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "171887": {"up_voted": false, "ip": "", "has_replies": false, "message": "And I only stopped strangling him when I came back to myself and realized I didn't want to go to jail for killing the likes of him. You make me think fondly of the good old bad old days, when you splash my attack on a fellow poet with such heroic varnish.<br><br>cosmoetica.<br><br>I AM the flip side of the Superduperator, but there is no sense about it. I am a bigot, a hater, a fearmonger. Which is to say, I share everything that is dark in our human heritage, genetic and cultural. I don't like to share, but I do. These things have a way of sharing themselves out.  As Thoreau said, \"it is error upon error, and clout upon clout, and our best virtue has for its occasion a superfluous and evitable wretchedness.\"<br><br>However, I am a misanthrope, not a racist. I hate those of my own species without regard to race, creed, or color. And I love them the same way, with a heart blacker than midnight.<br><br>Is that a broad enough brush for you?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_19:03:33", "killed": false, "user_key": "DrOmed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "172787": {"up_voted": false, "ip": "", "has_replies": false, "message": "SD, It must be lovely to have a mind like a funnel. <br><br>Makes it easy to top up all those milk bottles. <br><br>Pulling unattested statistics out of  your ass doesn't prove a thing--unless you have a mind like a funnel. <br><br>Citing recent rashes without actually citing them only proves that you need to improve the hygiene of your nether regions, and that perhaps you need a new funnel.<br><br>You may now proceed to the damn lies portion of your agenda. And get a Twain.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-23_05:22:25", "killed": false, "user_key": "DrOmed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "168820": {"up_voted": false, "ip": "", "has_replies": false, "message": "Where (metro area or part of state) did this happen?  Front Range?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-21_22:42:39", "killed": false, "user_key": "DLS", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "172790": {"up_voted": false, "ip": "", "has_replies": false, "message": "Let me guess, I just proved your point again.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-23_05:24:12", "killed": false, "user_key": "DrOmed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "172841": {"up_voted": false, "ip": "", "has_replies": false, "message": "Superdestroyer wrote: \"Everyone's comments proved my point for me. Not one person claimed that they would confront sexist, racist, xenophobic, or bigotred statement if they were being made by blacks. \"<br><br>You must have misunderstood Superdestroyer. Or I did not make myself clear enough. See my comment to you farther above your last one. I responded to your question in the affirmative. I said, Yes, though I would not know til faced with that exact circumstance, no one can know til the exact moment .... that I would, I think, yes speak, regardless of the race of the person speaking to, at or over me. <br><br>To be just Superdestroyer, I thought your question was aimed toward me, not the other commenters. I believe I answered. I hope you can see that. I thought the question was actually a good one: Would we speak, any of us, no matter what race, to people who are agressing who are black... or groups far from our own? <br><br>dr.e", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-23_07:00:29", "killed": false, "user_key": "archangel", "has_been_anonymized": false, "edited": false, "author_is_moderator": true, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "169468": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>Suddenly one of the four men burst out loudly: \u201cI ain\u2019t voting for no nigger!\u201d</i><br>These same buissinessmen think and say, \"I ain\u2019t hiring no nigger!\u201d The same racism is present in Michigan in boardrooms and on the assembly line.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_08:21:36", "killed": false, "user_key": "Rudi", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "172797": {"up_voted": false, "ip": "", "has_replies": false, "message": "Is that you, SD?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-23_05:35:19", "killed": false, "user_key": "DrOmed", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 172480, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "170366": {"up_voted": false, "ip": "", "has_replies": false, "message": "t-steel, <br><br>All you have to do is watch a Kings of Comedy tour to see that open bigotry, misogyny, and racism are totally acceptable in the black community.  And as Rudi alludes to, the double standard is alive and well. three or four whites attacking a black equal hate crime.  Three or four blacks attacking a white equals random criminal act committed by misunderstood african-americans who just need more handouts.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-02-22_12:44:43", "killed": false, "user_key": "superdestroyer", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "http://themoderatevoice.com/disqus-blank.html", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "216849", "user_id": "anonymous", "forum_id": "2724", "hash": 8843386015393299772}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "michelle_obama_those_who_say_8220i_ain8217t_voting_for_no_nigger8221_43", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 216849, "num_posts": 48, "closed": true, "queued": false, "killed": false}, "reactions_limit": 10, "context": {"show_reply": false, "use_fb_connect": true, "forum_facebook_key": "8e626a1cbe92745e5f4435bb28791555", "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=themoderatevoice' +
		'&t=michelle_obama_those_who_say_8220i_ain8217t_voting_for_no_nigger8221_43' +
		'&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://themoderatevoice.disqus.com/michelle_obama_those_who_say_8220i_ain8217t_voting_for_no_nigger8221_43/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/themoderatevoice/thread.js'
			+ '?slug='	+ 'michelle_obama_those_who_say_8220i_ain8217t_voting_for_no_nigger8221_43'
			+ '&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/themoderatevoice/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://themoderatevoice.disqus.com/michelle_obama_those_who_say_8220i_ain8217t_voting_for_no_nigger8221_43/reply.html';
	this.REQUEST_USER_PROFILE = '/AnonymousUser/';
	this.REQUEST_USER_AVATAR = 'http://media.disqus.com/uploads/forums/2724//avatar92.jpg';
};
// 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/themoderatevoice/_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">48</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://themoderatevoice.disqus.com/michelle_obama_those_who_say_8220i_ain8217t_voting_for_no_nigger8221_43/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://themoderatevoice.disqus.com/michelle_obama_those_who_say_8220i_ain8217t_voting_for_no_nigger8221_43/">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://themoderatevoice.disqus.com/michelle_obama_those_who_say_8220i_ain8217t_voting_for_no_nigger8221_43/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 must log into an account in order to comment on The Moderate Voice" onclick="Dsq.Popup.helpBadges(); return false">Required:</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:216849" 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'				: 'themoderatevoice',
			't'				: 'michelle_obama_those_who_say_8220i_ain8217t_voting_for_no_nigger8221_43',
			// 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/themoderatevoice/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/themoderatevoice/michelle_obama_those_who_say_8220i_ain8217t_voting_for_no_nigger8221_43/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/themoderatevoice/thread.js'
			+ '?slug='	+ 'michelle_obama_those_who_say_8220i_ain8217t_voting_for_no_nigger8221_43'
			+ '&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/themoderatevoice/thread.js'
			+ '?slug='	+ 'michelle_obama_those_who_say_8220i_ain8217t_voting_for_no_nigger8221_43'
			+ '&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/themoderatevoice/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'michelle_obama_those_who_say_8220i_ain8217t_voting_for_no_nigger8221_43'
				+ '&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/themoderatevoice/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/themoderatevoice/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/themoderatevoice/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/216849/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/themoderatevoice/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/themoderatevoice/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;
		});
	})();
}









(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-168759">\
	 <div id="dsq-comment-header-168759" class="dsq-comment-header">\
	 <cite id="dsq-cite-168759" class="dsq-comment-cite">\
	 <a id="dsq-author-user-168759" href="http://www.twitter.com/wintershard" target="_blank" rel="nofollow">Shard</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-168759" class="dsq-comment-body">\
	 <div id="dsq-comment-message-168759" class="dsq-comment-message">I applaud you telling them what for. I don\'t think that I would have been as polite.<br><br>I agree, progress has been made. Every day, we get a little further, and the bar can be set a little higher for the next day\'s goal :).</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-168820">\
	 <div id="dsq-comment-header-168820" class="dsq-comment-header">\
	 <cite id="dsq-cite-168820" class="dsq-comment-cite">\
	 <span id="dsq-author-user-168820">DLS</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-168820" class="dsq-comment-body">\
	 <div id="dsq-comment-message-168820" class="dsq-comment-message">Where (metro area or part of state) did this happen?  Front Range?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-168860">\
	 <div id="dsq-comment-header-168860" class="dsq-comment-header">\
	 <cite id="dsq-cite-168860" class="dsq-comment-cite">\
	 <span id="dsq-author-user-168860">StockBoySF</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-168860" class="dsq-comment-body">\
	 <div id="dsq-comment-message-168860" class="dsq-comment-message">That is great!  Thanks for speaking out.  Have no doubts- there will be something positive come out about it.<br><br>And yes, I do have moments when I go on and on, especially when I feel strongly or if there is some injustice done.<br><br>Thanks again and I\'m really proud of you and all who speak out against such bigoted and demeaning comments.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-169369">\
	 <div id="dsq-comment-header-169369" class="dsq-comment-header">\
	 <cite id="dsq-cite-169369" class="dsq-comment-cite">\
	 <span id="dsq-author-user-169369">EEllis</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-169369" class="dsq-comment-body">\
	 <div id="dsq-comment-message-169369" class="dsq-comment-message">I really hate to call a persons honesty into question. That being said I live in Texas. Houston is one of the most diverse and open places you can find but there are places in Texas where they are not so progressive. I can not think of one place where you can go in Texas and walk in to a coffee house and think for one second that it is in any way acceptable to use that kind of language. No matter how racist someone is they damn well know most people don\'t want to hear and won\'t put up with that kind of crap. Maybe if you live in some all white area you might think you could get away with it (I did live in Phoenix and it was a little scary white- and I\'m white) but no where I know in Texas.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-169468">\
	 <div id="dsq-comment-header-169468" class="dsq-comment-header">\
	 <cite id="dsq-cite-169468" class="dsq-comment-cite">\
	 <span id="dsq-author-user-169468">Rudi</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-169468" class="dsq-comment-body">\
	 <div id="dsq-comment-message-169468" class="dsq-comment-message"><i>Suddenly one of the four men burst out loudly: “I ain’t voting for no nigger!”</i><br>These same buissinessmen think and say, "I ain’t hiring no nigger!” The same racism is present in Michigan in boardrooms and on the assembly line.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-169516">\
	 <div id="dsq-comment-header-169516" class="dsq-comment-header">\
	 <cite id="dsq-cite-169516" class="dsq-comment-cite">\
	 <span id="dsq-author-user-169516">superdestroyer</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-169516" class="dsq-comment-body">\
	 <div id="dsq-comment-message-169516" class="dsq-comment-message">No matter all of the historical references to lynchings, you obviously felt safe enough to confront middle age white men.  You must have assumed that they would not assault you, not attack you, or not follow you.  You assumed that they could be shamed. <br><br>Compare your situation to the video of a white man being assaulted by several blacks in a NYC store. <a href="http://www.hamptonroads.tv/adv_search_embed.cfm?e=19902&ap=1&keyword=&section=&source=Associated%2520Press" rel="nofollow">http://www.hamptonroads.tv/adv_search_embed.cfm...</a><br><br>If the table had been a group of blacks using profanity, using racial epitaphs and demonstrating gangster, ghetto attitudes, you would have been so fast to confront them? If they said, I ain\'t voting for no bitch, would you have made a comment or would you have feared them enough to ignore them and silently tolerate their brand of bigotry? Somehow, I doubt your courage would have gone that far. <br><br>Until white America is as willing to confront the open bigotry demonstrated in much of the black community as you felt same enough to confront in the white community, the U.S. cannot really be a nation based upon equality.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-169782">\
	 <div id="dsq-comment-header-169782" class="dsq-comment-header">\
	 <cite id="dsq-cite-169782" class="dsq-comment-cite">\
	 <a id="dsq-author-user-169782" href="http://themoderatevoice.com" target="_blank" rel="nofollow">T-Steel</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-169782" class="dsq-comment-body">\
	 <div id="dsq-comment-message-169782" class="dsq-comment-message"><i>Until white America is as willing to confront the open bigotry demonstrated in much of the black community as you felt same enough to confront in the white community, the U.S. cannot really be a nation based upon equality.</i><br><br>Oh stop it SD.  If much of the black community are "open bigots", you DEFINITELY would here about it and Senator Obama wouldn\'t stand a chance.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-170086">\
	 <div id="dsq-comment-header-170086" class="dsq-comment-header">\
	 <cite id="dsq-cite-170086" class="dsq-comment-cite">\
	 <span id="dsq-author-user-170086">Rudi</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-170086" class="dsq-comment-body">\
	 <div id="dsq-comment-message-170086" class="dsq-comment-message">Until the "black bigots" start lyching and cross burning as a form of intimidation instead of random criminal acts the resident SD/VDARE crowd has no argument. Most property and violent crime is white-on-white and black-on-black. Now hate crimes are a different story.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-170366">\
	 <div id="dsq-comment-header-170366" class="dsq-comment-header">\
	 <cite id="dsq-cite-170366" class="dsq-comment-cite">\
	 <span id="dsq-author-user-170366">superdestroyer</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-170366" class="dsq-comment-body">\
	 <div id="dsq-comment-message-170366" class="dsq-comment-message">t-steel, <br><br>All you have to do is watch a Kings of Comedy tour to see that open bigotry, misogyny, and racism are totally acceptable in the black community.  And as Rudi alludes to, the double standard is alive and well. three or four whites attacking a black equal hate crime.  Three or four blacks attacking a white equals random criminal act committed by misunderstood african-americans who just need more handouts.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-170683">\
	 <div id="dsq-comment-header-170683" class="dsq-comment-header">\
	 <cite id="dsq-cite-170683" class="dsq-comment-cite">\
	 <a id="dsq-author-user-170683" href="http://greendreams.wordpress.com" target="_blank" rel="nofollow">GreenDreams</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-170683" class="dsq-comment-body">\
	 <div id="dsq-comment-message-170683" class="dsq-comment-message">Oh, SD, &lt;ad hominem attack self-deleted&gt;</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-171069">\
	 <div id="dsq-comment-header-171069" class="dsq-comment-header">\
	 <cite id="dsq-cite-171069" class="dsq-comment-cite">\
	 <span id="dsq-author-user-171069">pacatrue</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-171069" class="dsq-comment-body">\
	 <div id="dsq-comment-message-171069" class="dsq-comment-message">I was thinking about SD\'s comments a bit. Many whites are afraid to approach black people, but why is this the case when most crime, as Rudi says, is white-on-white and black-on-black with the exception of hate crimes.<br><br>(The following will relate.) I\'ve been reading the Chronicles of Narnia series by C.S. Lewis to my son, the most famous of which is The Lion, The Witch, and the Wardrobe. I love the books quite a bit, read them myselves as a child, and my 5-year-old is eating them up himself. For all the good things in them, there are also some attitudes and beliefs from the UK of the early 50s, when they were written, that I\'d rather not pass down to my child, including some rather clear racism.<br><br>The nation to the south of Narnia is called Calormene and it\'s basically a fantasy version of the Ottoman Empire; with an absolutist emperor, scimitars, deserts, and worship of a false god. For us, it\'s hard to recall, but C.S. Lewis was a child when the Ottoman Empire fell, and the menace of this "Oriental" kingdom still resided in the European consciousness. Virtually every time the Calormenes are mentioned, Lewis cites their dark skin, their wild, white eyes; some people (though not good ones) call the Calormenes "Darkies". And there\'s even a moment where bad Calormenes are crowding around with that dark skin again, with the smells of onion and garlic on their breaths. Onion and garlic? This recalls to me fears of this period and earlier of those swarthy southern and eastern Europeans; Greeks, Serbs, gypsies (Roma), Italians, etc.<br><br>But it\'s not as if the greatest recent threats to England in 1952 were from swarthy Turks or Albanians eating garlic. In fact, the very recent greatest threat was from the Germans. And yet these attitudes and stereotypes were still lingering around 50-100 years after there was any real Ottoman threat to Western Europe.<br><br>I would hazard a guess that most of the fear in whites of blacks today is not due to any actual risk but lingering cultural beliefs.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-171180">\
	 <div id="dsq-comment-header-171180" class="dsq-comment-header">\
	 <cite id="dsq-cite-171180" class="dsq-comment-cite">\
	 <span id="dsq-author-user-171180">cosmoetica</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-171180" class="dsq-comment-body">\
	 <div id="dsq-comment-message-171180" class="dsq-comment-message">SD\'s comments are a perfect illustration of why so many black folk still have to shake their heads over the way whites react. He just does not get it.<br><br>For every incident like he describes, there are dozens in the other direction to this day. there are blacks who are followed and harassed in retail stores, and some even abused.<br><br>Wake up!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-171547">\
	 <div id="dsq-comment-header-171547" class="dsq-comment-header">\
	 <cite id="dsq-cite-171547" class="dsq-comment-cite">\
	 <a id="dsq-author-user-171547" href="http://blogs.salon.com/0002296/" target="_blank" rel="nofollow">DrOmed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-171547" class="dsq-comment-body">\
	 <div id="dsq-comment-message-171547" class="dsq-comment-message">It was very smart as well as brave to tell those nimrods you have had black blood, Clarissa. I suspect that if I had been in the same situation I might have lost my temper, and you have witnessed what happens when I lose it.<br><br>I do find it remarkable that these men felt free to use the word nigger so egregiously in a public place. But I must also find it a remarkable fact, because I know you are an honest person. I don\'t think you would just make something like that up.<br><br>I\'ve lived in Tulsa, Oklahoma for 11 going on 12 years now and I have never heard any nonblack person, including people I know to be thorough-going racists, use the word nigger in casual conversation, public or private. On the other hand, I don\'t hang out with the kind of unreconstructed peckerwoods that would be so mortally clueless as to use such a dangerous word. A good thing for them--and me, too--I don\'t need any new scars on my knuckles. Having the wit to shame them is much the better way.<br><br>Absent the word nigger, I have witnessed hatred, bigotry, fear of the other, and so on and so wearily so forth expressed or acted out by human beings of all kinds irregardless of skin color, every place I have been spent enough time to have a conversation or two.  We are all haters, bigots, fearmongers, and so fucking wearily so forth, to a greater or lesser degree. <br><br>Those who claim vociferously not to be bigots demonstrate all the elaborations of bad liars. You are what you have to defend.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-171574">\
	 <div id="dsq-comment-header-171574" class="dsq-comment-header">\
	 <cite id="dsq-cite-171574" class="dsq-comment-cite">\
	 <span id="dsq-author-user-171574">cosmoetica</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-171574" class="dsq-comment-body">\
	 <div id="dsq-comment-message-171574" class="dsq-comment-message">\'Those who claim vociferously not to be bigots demonstrate all the elaborations of bad liars. You are what you have to defend.\'<br><br>It\'s interesting; I\'m reading this new book called The Race Card, and that quote is typical of the sort of generalizing on the side of those who claim racism where there is not.<br><br>It also illustrates how easily anyone of any color can broad brush another. In a sense, you are the flip side of Superdestroyer.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-171676">\
	 <div id="dsq-comment-header-171676" class="dsq-comment-header">\
	 <cite id="dsq-cite-171676" class="dsq-comment-cite">\
	 <span id="dsq-author-user-171676">archangel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-171676" class="dsq-comment-body">\
	 <div id="dsq-comment-message-171676" class="dsq-comment-message">.... for those commenting; thank you in part for helping me to see that much more eye-witness about the underlayers of culture, needs to be written about these matters... I will try in ensuing weeks. Others of my colleagues, esp T-Steel, Pete Abel, Angela Winters, Shaun Mullen, and others do also, pretty regularly. <br><br>Peter_Allen, You\'re right I think, being able to \'hold\' small progresses depends on small actions as well as larger ones. \'In the shelter of each other,\' as my old world father used to say. Thank you.<br><br>DLS: You hit it.<br><br>StockBoySF: Should be SpiritBoySF. I promise to put your thoughts to good use.<br><br>EEllis: "but no where I know in Texas." We post-trauma specialists here in the Rockies helped many NOLA survivors who\'d been transferred up from Houston. Their stories about their time in Texas are different. However, at the same time, EEllis, you are special blessed to live in the world you see. Be well there. <br><br>Rudi: the assembly lines. You\'re right, there\'s a fine book that someone will write yet I hope, about blacks, latinos, poor whites and immigrants in the factories... the good, and the not at all useful. Maybe you?<br><br>Superdestroyer. "you obviously felt safe enough to confront middle age white men." I did not feel safe SD. I wish you had been there to protect me. You also ask if the mens\' racial group were different, would I have spoken? I think I do not know for sure until I were in such a moment, but knowing how it goes with me and what I am guided by, I\'d say a small hopeful Yes.<br><br>T-Steels: You\'re accurate. And, I\'d add that as a light- skinned minority (if for a moment i could call myself such... i don\'t normally like to)  who people sometimes misjudge re background and heritage, I hear trash in all directions, but far more in one direction than the others. When offal-talk comes from some who have enjoyed so much privilege, regardless of race, it is sometimes more nuanced and difficult to understand. I keep trying. I know there’s a pony in here somewhere. lol<br><br>Rudi again, you have hold of one of the most nuanced and unspoken about hierarchies in criminal law: You are right, the many types of inhumane behavior have to be differentiated one from the other in order to have a reasoned discussion about why/who/where/ how, and what for. Without those differentiations, discussions can lapse into what only looks like, I don’t know for certain, but just psychological discharge.<br><br>SD, again: I have not seen Kings of comedy, I wish I could watch TV, but seldom have time until the late late hours of morning. Can’t say I really like watching how to make a million in the foreclosure market or how to make that last many pounds melt away on the love-handle destroyer. Re hate crimes: As I understand it from reading the law; it is differentiated not solely by race, but also religious and other factors. And you are right: there is still much miscarriage of just outcome for many many different kinds of people. <br><br>GreenDreams: “ad hominem attack self-deleted.” That phrase made me smile. To perhaps return the favor: When I hear the phrase ‘ad hominem attack’ I often get a sudden picture of pre-Neanderthals bopping each other over the head with wiffle bats. Either that or one person with “where” written on their chest, and another with “ware” written on their chest, and both duking it out. Subtle. Lol, very subtle. (Hominem, homonym? Ok, Ok, enough of that. I go to my room now)<br><br>Pacatrue: interesting and cogent view of the Narnia Chrons. ... in part, because the entire series has so many heroic “small” beings, and also mirrors, as you point out, the seemingly timeless tensions between this tribe and that tribe, (by color, shape, customs, or other aspect) seemingly influenced by some unconscious matters of personal psychology and by world events. A five year old child. You are so blessed.<br><br>Cosmoetica: Please send ‘wake up’ potion you had in mind immediately. Stop. By centaur courier, if need be. Stop. Desperately needed by us all. Stop. Thank you always. Stop.<br><br>Dr. Omed: “Might have lost my temper, and you have witnessed what happens when I lose it.”<br>Some here might like to visit Dr.Omed\'s blog at <a href="http://Salon.com" rel="nofollow">Salon.com</a>  He and I were street poets together long ago, a tag end of a bowry poets’ gang. Most of us had either lived on the streets or were currently living from shelter to shelter. His last “losing of temper” (though it was actually a righteous gorge rising up in him, I think) before he moved to Oklahoma, was when Dr. Omed sprang to everyone’s defense and disarmed a man bigger than himself who had pulled a knife. At a poetry reading. Also in a coffee house.<br><br>dr.e</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-171728">\
	 <div id="dsq-comment-header-171728" class="dsq-comment-header">\
	 <cite id="dsq-cite-171728" class="dsq-comment-cite">\
	 <span id="dsq-author-user-171728">cosmoetica</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-171728" class="dsq-comment-body">\
	 <div id="dsq-comment-message-171728" class="dsq-comment-message">Dr E: Google The Race Card, and read the book. I\'l have a review for Joe in a week or so.<br><br>As for the potion- a good slap upside the head, lite on the latte.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-171887">\
	 <div id="dsq-comment-header-171887" class="dsq-comment-header">\
	 <cite id="dsq-cite-171887" class="dsq-comment-cite">\
	 <a id="dsq-author-user-171887" href="http://blogs.salon.com/0002296/" target="_blank" rel="nofollow">DrOmed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-171887" class="dsq-comment-body">\
	 <div id="dsq-comment-message-171887" class="dsq-comment-message">And I only stopped strangling him when I came back to myself and realized I didn\'t want to go to jail for killing the likes of him. You make me think fondly of the good old bad old days, when you splash my attack on a fellow poet with such heroic varnish.<br><br>cosmoetica.<br><br>I AM the flip side of the Superduperator, but there is no sense about it. I am a bigot, a hater, a fearmonger. Which is to say, I share everything that is dark in our human heritage, genetic and cultural. I don\'t like to share, but I do. These things have a way of sharing themselves out.  As Thoreau said, "it is error upon error, and clout upon clout, and our best virtue has for its occasion a superfluous and evitable wretchedness."<br><br>However, I am a misanthrope, not a racist. I hate those of my own species without regard to race, creed, or color. And I love them the same way, with a heart blacker than midnight.<br><br>Is that a broad enough brush for you?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-172208">\
	 <div id="dsq-comment-header-172208" class="dsq-comment-header">\
	 <cite id="dsq-cite-172208" class="dsq-comment-cite">\
	 <span id="dsq-author-user-172208">StockBoySF</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-172208" class="dsq-comment-body">\
	 <div id="dsq-comment-message-172208" class="dsq-comment-message">dr.e, "Should be SpiritBoySF".<br><br>You\'re too kind, but thank you!  What about, "StockBoy is what I do, but SpiritBoy is who I am"?<br><br>Just kidding- I wouldn\'t be able to live up to it. I\'d have to quit my day job.  :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-172688">\
	 <div id="dsq-comment-header-172688" class="dsq-comment-header">\
	 <cite id="dsq-cite-172688" class="dsq-comment-cite">\
	 <span id="dsq-author-user-172688">archangel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-172688" class="dsq-comment-body">\
	 <div id="dsq-comment-message-172688" class="dsq-comment-message">StockBoySF: You can be both.<br><br>Cosmoetica: a long day, but "lite on the latte" made me laugh even this late at night after midnight. I dont know what latte is exactly, but it just sounded funny<br><br>The Race Card book. Thank you.<br><br>dr.e</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-172771">\
	 <div id="dsq-comment-header-172771" class="dsq-comment-header">\
	 <cite id="dsq-cite-172771" class="dsq-comment-cite">\
	 <span id="dsq-author-user-172771">superdestroyer</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-172771" class="dsq-comment-body">\
	 <div id="dsq-comment-message-172771" class="dsq-comment-message">Everyone\'s comments proved my point for me.  Not one person claimed that they would confront sexist, racist, xenophobic, or bigotred statement if they were being made by blacks. <br><br>And to claim that many more hate crimes are committed by whites, I suggest you goggle the recent rash of hate crimes committed on buses in Baltimore.  All of them involved blacks attacking whites.  If you can produce a rash of attacks by whites on blacks, then please cite it. <br><br>Also, in about 1/2 of the felonies committed by blacks, whites are the victims.  So much for most felonies involving blacks have blacks as victims.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-172787">\
	 <div id="dsq-comment-header-172787" class="dsq-comment-header">\
	 <cite id="dsq-cite-172787" class="dsq-comment-cite">\
	 <a id="dsq-author-user-172787" href="http://blogs.salon.com/0002296/" target="_blank" rel="nofollow">DrOmed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-172787" class="dsq-comment-body">\
	 <div id="dsq-comment-message-172787" class="dsq-comment-message">SD, It must be lovely to have a mind like a funnel. <br><br>Makes it easy to top up all those milk bottles. <br><br>Pulling unattested statistics out of  your ass doesn\'t prove a thing--unless you have a mind like a funnel. <br><br>Citing recent rashes without actually citing them only proves that you need to improve the hygiene of your nether regions, and that perhaps you need a new funnel.<br><br>You may now proceed to the damn lies portion of your agenda. And get a Twain.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-172790">\
	 <div id="dsq-comment-header-172790" class="dsq-comment-header">\
	 <cite id="dsq-cite-172790" class="dsq-comment-cite">\
	 <a id="dsq-author-user-172790" href="http://blogs.salon.com/0002296/" target="_blank" rel="nofollow">DrOmed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-172790" class="dsq-comment-body">\
	 <div id="dsq-comment-message-172790" class="dsq-comment-message">Let me guess, I just proved your point again.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-172797">\
	 <div id="dsq-comment-header-172797" class="dsq-comment-header">\
	 <cite id="dsq-cite-172797" class="dsq-comment-cite">\
	 <a id="dsq-author-user-172797" href="http://blogs.salon.com/0002296/" target="_blank" rel="nofollow">DrOmed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-172797" class="dsq-comment-body">\
	 <div id="dsq-comment-message-172797" class="dsq-comment-message">Is that you, SD?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-172841">\
	 <div id="dsq-comment-header-172841" class="dsq-comment-header">\
	 <cite id="dsq-cite-172841" class="dsq-comment-cite">\
	 <span id="dsq-author-user-172841">archangel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-172841" class="dsq-comment-body">\
	 <div id="dsq-comment-message-172841" class="dsq-comment-message">Superdestroyer wrote: "Everyone\'s comments proved my point for me. Not one person claimed that they would confront sexist, racist, xenophobic, or bigotred statement if they were being made by blacks. "<br><br>You must have misunderstood Superdestroyer. Or I did not make myself clear enough. See my comment to you farther above your last one. I responded to your question in the affirmative. I said, Yes, though I would not know til faced with that exact circumstance, no one can know til the exact moment .... that I would, I think, yes speak, regardless of the race of the person speaking to, at or over me. <br><br>To be just Superdestroyer, I thought your question was aimed toward me, not the other commenters. I believe I answered. I hope you can see that. I thought the question was actually a good one: Would we speak, any of us, no matter what race, to people who are agressing who are black... or groups far from our own? <br><br>dr.e</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-172848">\
	 <div id="dsq-comment-header-172848" class="dsq-comment-header">\
	 <cite id="dsq-cite-172848" class="dsq-comment-cite">\
	 <a id="dsq-author-user-172848" href="http://blogs.salon.com/0002296/" target="_blank" rel="nofollow">DrOmed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-172848" class="dsq-comment-body">\
	 <div id="dsq-comment-message-172848" class="dsq-comment-message">Once upon a time I lived on 31st and Larimer (or thereabouts) in Denver. Mid nineties, I think. Very bad neighborhood. Gunfire was frequent enough to not to be particularly notable when you heard it. When I rode my bike to work I occasionally saw cars slowly cruising down the street around the nearby housing project, the windows rolled down and the passengers hanging their arms out, displaying their iron. Mac-10s were popular back then. I would occasionally make a detour if action seemed imminent, but often I rode right past them, they\'d nod and I\'d nod, and we\'d both go on about our business--white guys on bicycles were not their targets. <br><br>I\'ve lived in a number of \'bad\' neighborhoods in my time, walked the streets and alleys of these places at all times of the day and night, generally without fear. I\'ve been mugged once--by white guys.<br><br>I cite my personal experience because it proves nothing except that I can live in a poor neighborhood full of black people and assorted persons of color--and not feel threatened, or be threatened, for that matter.<br><br>I witnessed the Martin Luther King Day \'riot\' in Denver (in 1990?), when a small band of young wanna-be Klu Klucks demonstrated at the State Capital. <br><br>I saw the police lift their tear gas guns, over the heads of the small scrum of counter protesters (the protester having been evac\'ed for their "own safety") directly in front of their barricade, and deliberately, with malice aforethought, fire gas grenades on long, lobbing trajectories, into a mixed race crowd peacefully dispersing after having heard a speech by the mayor in front of city hall (across the park from the State Capital).  <br><br>I helped people who got a worse whiff of the gas than I did get the hell out of there, including a woman with two small children. <br><br>Let me repeat: There was no riot until the police started it by firing tear gas into a lawfully assembled peacefully dispersing crowd, rather than the small group of troublemakers right in front of them.<br><br>This was never reported by the media, even tho\' it happened right in front of their cameras.<br><br>Whatever else happened that day, the police fired the first salvo, not at the \'perps\' but at innocent bystanders.  It certainly gave a lot of people a rash that day, including me.<br><br>I call it a hate crime committed by the police given an excuse by white thugs against anyone who had dared to march in the MLK parade.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-172857">\
	 <div id="dsq-comment-header-172857" class="dsq-comment-header">\
	 <cite id="dsq-cite-172857" class="dsq-comment-cite">\
	 <a id="dsq-author-user-172857" href="http://blogs.salon.com/0002296/" target="_blank" rel="nofollow">DrOmed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-172857" class="dsq-comment-body">\
	 <div id="dsq-comment-message-172857" class="dsq-comment-message">Need I mention that media coverage concentrated on alleged acts of  "black thugs?"</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-172898">\
	 <div id="dsq-comment-header-172898" class="dsq-comment-header">\
	 <cite id="dsq-cite-172898" class="dsq-comment-cite">\
	 <span id="dsq-author-user-172898">EEllis</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-172898" class="dsq-comment-body">\
	 <div id="dsq-comment-message-172898" class="dsq-comment-message">I can remember a KKK rally here in Houston when I was a bit younger (late 80\'s early 90\'s) Most of the idiots (all 16 of them) were from out of state and were not well received. Me and some friends went down to see the rally and brought something for our visitors. D batteries. We pelted them and took off. The rest of the crowd was little friendlier. Death threats screamed at the top of the lungs seemed a real popular response. Though I thought, and still have no sympathy, that the KKK idiots deserved anything they got the idea that any counter protest of these people would ever be peaceful is absurd. Even an all white crowd. If on that day if we had gotten caught I would not of been happy but my dislike of the KKK didn\'t mean the laws had changed or that it would of been wrong to bust me. To often people see what they want in a crowd that they cannot view it from the other side. A mass of screaming, hollering, spitting people who are mad at the police for protecting garbage. Who outnumber the police 10 to 1 if not more. And as an aside to disperse a crowd you must get the people in the rear to leave first. If firing tear gas at the front the people there could easily be held in place by the crowd in back. Firing over into the crowd gets the rear moving and in theory the people close seeing this then flee. Sound and recognized tactics. The crime was in your head.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-173377">\
	 <div id="dsq-comment-header-173377" class="dsq-comment-header">\
	 <cite id="dsq-cite-173377" class="dsq-comment-cite">\
	 <span id="dsq-author-user-173377">superdestroyer</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-173377" class="dsq-comment-body">\
	 <div id="dsq-comment-message-173377" class="dsq-comment-message">DrOmed<br><br>See <a href="http://video.aol.com/video-detail/2nd-black-on-white-racist-assault-on-baltimore-bus-in-two-weeks/1557863686" rel="nofollow">http://video.aol.com/video-detail/2nd-black-on-...</a> for Baltimore.  <br><br>See Crime in the United States <a href="http://www.fbi.gov/ucr/cius2006/offenses/expanded_information/data/shrtable_05.html" rel="nofollow">http://www.fbi.gov/ucr/cius2006/offenses/expand...</a><br>for the differences between black on white and white on black crimes. <br><br>Now, since you insisted on statistics, please provide references for your data that provdes that blacks do not commit crimes at a higher rate than whites.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-173594">\
	 <div id="dsq-comment-header-173594" class="dsq-comment-header">\
	 <cite id="dsq-cite-173594" class="dsq-comment-cite">\
	 <span id="dsq-author-user-173594">archangel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-173594" class="dsq-comment-body">\
	 <div id="dsq-comment-message-173594" class="dsq-comment-message">just a note: There has been a comment made here overnight that has now been removed by TMV administrators. It was unacceptible according to TMV\'s commenting rules, (see #5 in this instance) which are listed below. Thank you.<br><br>dr.e</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-173984">\
	 <div id="dsq-comment-header-173984" class="dsq-comment-header">\
	 <cite id="dsq-cite-173984" class="dsq-comment-cite">\
	 <span id="dsq-author-user-173984">edhillfiker</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-173984" class="dsq-comment-body">\
	 <div id="dsq-comment-message-173984" class="dsq-comment-message">fwd:<br><br>The Real Barack Obama<br><br>Thursday, February 21, 2008 10:06 AM<br><br>By: Ronald Kessler 	<br><br>Michelle Obama’s comment that, for the first time in her adult life, she feels proud of America helps crystallize who Barack Obama is.<br><br>To be sure, the wife of a candidate is perfectly free to have views that are distinct from her husband’s. But on a matter that is so fundamental to one’s being as love of country, it is difficult to imagine that Michelle Obama would publicly twice make such a statement suggesting disdain for America unless she felt it comported with her husband’s views.<br><br>Equally important, her statement aligns perfectly with the hate-America views of the Rev. Jeremiah Wright, Barack Obama’s minister, friend, and sounding board for more than two decades. On the Sunday following 9/11, Wright characterized the terrorist attacks as a consequence of violent American policies. Four years later, Wright suggested that the attacks were retribution for America’s racism.<br><br>“In the 21st century, white America got a wake-up call after 9/11/01,” Wright wrote in his church magazine Trumpet. “White America and the Western world came to realize that people of color had not gone away, faded into the woodwork or just ‘disappeared’ as the Great White West kept on its merry way of ignoring black concerns.”<br><br>Wright has been a key supporter of Louis Farrakhan, and in December, honored the Nation of Islam leader for lifetime achievement, saying he “truly epitomize[s] greatness.”<br><br>Farrakhan has repeatedly made hate-filled statements targeting Jews, whites, America, and homosexuals.<br><br>Those who think two of the closest people to Obama could publicly make anti-America statements unless Obama himself felt that way, are fooling themselves. To date, Obama has proven himself to be nothing more than a great orator, rendering the statements of those around him even more important in illuminating his true character and agenda. During his Senate career, he skipped 17 percent of the votes and sponsored only one bill that became law. That bill was to promote “relief, security, and democracy in the Democratic Republic of Congo.”<br><br>Bereft of official accomplishments, Obama has distinguished himself mainly by being against measures that protect American security, such as finishing the mission in Iraq. If we were to leave Iraq quickly, as Obama vows he would do, it would become a launch pad for al-Qaida attacks on the U.S.<br><br>Obama avoided voting on extending the Protect America Act, thus putting America at risk when immediate interception of terrorist communications is required. Last August, Obama voted against a measure that would have allowed the U.S. to continue to monitor overseas conversations of terrorists like Osama bin Laden without first obtaining a warrant.<br><br>If his radical vote had prevailed, bin Laden would have been given the same rights as Americans.<br><br>To this day, Obama has not distanced himself from most of Rev. Wright’s comments. In a statement supposedly issued to address the matter, Obama ignored the point that his minister and friend had spoken adoringly of Farrakhan and that Wright’s church was behind the award to the Nation of Islam leader. Instead, as outlined in a Jan. 17 Newsmax article, he disingenuously claimed he thought the magazine bestowed the award on Farrakhan for his efforts to rehabilitate ex-prisoners.<br><br>Neither Wright’s encomiums about Farrakhan nor the Trumpet article mentions ex-prisoners.<br><br>Similarly, after John McCain’s wife Cindy responded to Michelle Obama’s remarks by telling a Wisconsin rally, “I have, and always will be, proud of my country,” Barack Obama told a radio interviewer that his wife did not say what people think she said. He then proceeded to rewrite her comments, claiming that she had meant she was encouraged by the “large numbers of people” who have gotten involved in the political process. Michelle Obama then made a similar revision of her remarks.<br><br>In her speech in Milwaukee, Michelle Obama said flatly, “For the first time in my adult lifetime, I am really proud of my country, and not just because Barack has done well, but because I think people are hungry for change.”<br><br>And what has been wrong with America up to now? That it gave Michelle the opportunity to attend Princeton and Harvard Law School? That it gave Barack Obama the chance to attend Columbia University and Harvard Law School and become a U.S. senator making more than $1 million a year from book royalties?<br><br>Was it that America stopped Nazi Germany from continuing to murder millions of Jews? That America has provided Africa and other countries with $15 billion to combat the spread of AIDS/HIV and that another $30 billion is on the way? That 46 percent of all Americans classified by the Census Bureau as poor own their own homes, 76 percent of them have air conditioning, and 75 percent of them have at least one car? Or that America allows us to express our views freely without fear of being put in jail, as is the case in Russia?<br><br>A lawyer, Michelle Obama is perfectly capable of expressing herself precisely. In fact, she spoke from a written speech.<br><br>Those who do not want to believe she meant what she said — and that Barack Obama could not be so close to Rev. Wright if he did not himself believe in much of what he has said — are in denial.<br><br>The real Barack Obama is starting to emerge, and for those of us who are grateful to America for everything it represents, it is not a pretty sight.<br><br>Ronald Kessler is chief Washington correspondent of <a href="http://Newsmax.com" rel="nofollow">Newsmax.com</a>. View his previous reports and get his dispatches sent to you free via e-mail. Go here now.<br><br>© 2008 Newsmax. All rights reserved.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-174012">\
	 <div id="dsq-comment-header-174012" class="dsq-comment-header">\
	 <cite id="dsq-cite-174012" class="dsq-comment-cite">\
	 <span id="dsq-author-user-174012">cosmoetica</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-174012" class="dsq-comment-body">\
	 <div id="dsq-comment-message-174012" class="dsq-comment-message">SD: You live in your own world. There\'s no doubt blacks commit crimes (or, at least, are caught) at a higher rate than whites, but worldwide, that is a given for ANY group w lower poverty rates. <br><br>But to equate that with somehow whites having it as bad as blacks, or suffering from bigotry worse, is ridiculous. It\'s these arguments by exceptionalism that define your extremism. It\'s akin to pointing to the Tawana Brawley case and claiming that all blacks or most make up claims of racism. That\'s simply specious.<br><br>Dr O: Histrionics only play into the hands of folk like SD. You be Pavlov and make him woof.<br><br>SD: "Everyone\'s comments proved my point for me. Not one person claimed that they would confront sexist, racist, xenophobic, or bigoted statement if they were being made by blacks. "<br><br>For the record, I was 12 years old when I was, w/o knowledge, driven to a KKK rally on Long Island by the father of a friend of mine. I laughed out loud at the head ass, and called him an idiot. I got me, my friend, and his father booted out of the rally. When I was 17, I took a girl to an abortion clinic, was harassed by asses yelling and throwing ketchup around, and was assaulted, I kicked the primary assaulter in the teeth and he fell back down a flight of stairs, and the whole crowd of troglodytes was in horror that someone stood up to them.<br>When I was 16 a Puerto Rican girl was being assaulted outside a gay bar by white guys. I stabbed one, hit another w a tree branch, and the pussies fled.<br>When I was 6, an uncle of mine said positive things about MLK\'s death, in a crowd of LI Republicans. I asked him why he hated someone who was good?<br>I went to a HS that was 1/3 white, 1/3 black, 1/3 Latino. There was an incident when a whiney white kid who was actually on the football team, and twice my side, was so scared of this big, tall black girl w a bitch attitude, who was talking trash on white folk. Having grown up ~ blacks, I stood up to her, called her a dumb bitch, and when she tried to slap me, caught her arm, twisted it, and slapped her down. Like with the abortion nuts, the kids- white and black were stunned.<br>There are many other incidents- some which occurred in circumstances which I would have to invoke the 5th Amendment on, so I will leave it there.<br><br>Thus, stop acting like a deluded child.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-174817">\
	 <div id="dsq-comment-header-174817" class="dsq-comment-header">\
	 <cite id="dsq-cite-174817" class="dsq-comment-cite">\
	 <span id="dsq-author-user-174817">superdestroyer</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-174817" class="dsq-comment-body">\
	 <div id="dsq-comment-message-174817" class="dsq-comment-message">cosmoetica, <br><br>Since you used a string of anecdotes, I assume that they are acceptable.  I work in healthcare. Virtually every hospital that I have business with has the problem that the black employees seem to believe that when they are talking to each other, that whites cannot hear them.  In every large urban hospital, I have personally witnessed black employees using vulgar, racist, sexist, and xenophobic behavior, I have never seen a supervisor correct the black employees or any white/non-black patient confront the anti-social behavior.  <br><br>I have see blacks spit on whites in the DC metro, on the side walk in DC, and in Union station.  I have seen blacks taunt whites and asians on an almost daily basis on the DC metro.  I have never, ever seen a white or Asian person confront the rude, anti-social, bigoted behavior of the blacks.  Whties and Asians do want they have been taught:  flee from the blacks and avoid them at all costs. <br><br>Dr Estes felt comfortable verbally accosting whites because the risk of physical violence was extremely low.  However, a white person accosting black bigots on the Green LIne in DC is an open invitation for violence with all the rest of the blacks on the subway cheering on the perpetrators. See the rape in the Howard County Maryland public school.  Blacks have learned that in attacking a white person by themselves that they can alibi each other.  See the racial bus attacks in Baltimore. <br><br>You do not have to do back twenty years to reference Tawan Brawley. Baltimore in 2007 have an faked hate crime in their fire Department. Also see the Duke non-rape case.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-175592">\
	 <div id="dsq-comment-header-175592" class="dsq-comment-header">\
	 <cite id="dsq-cite-175592" class="dsq-comment-cite">\
	 <a id="dsq-author-user-175592" href="http://blogs.salon.com/0002296/" target="_blank" rel="nofollow">DrOmed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-175592" class="dsq-comment-body">\
	 <div id="dsq-comment-message-175592" class="dsq-comment-message">Arf! Where\'s the drool cup?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-175625">\
	 <div id="dsq-comment-header-175625" class="dsq-comment-header">\
	 <cite id="dsq-cite-175625" class="dsq-comment-cite">\
	 <a id="dsq-author-user-175625" href="http://blogs.salon.com/0002296/" target="_blank" rel="nofollow">DrOmed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-175625" class="dsq-comment-body">\
	 <div id="dsq-comment-message-175625" class="dsq-comment-message">Eellis, in the particular incident I witnessed, the police outnumbered the counter protesters (maybe 30 people altogether), who were all gathered in a knot at one point in the police line.  I speak as an observer, not a participant, with a good vantage point on rising ground.  The main body of MLK day marchers and attendees were at least a hundred yards away on the other side of the park, no where near the point of conflict.  There was no impediment to dispersal of  the people who were throwing stuff and yellling because there was no crowd behind them--TV trucks, random people watching the fun, yes, but no shoulder to shoulder   mass.<br><br>The Police fired more than one volley of tear gas, and the counter protesters got a dose, too, but the initial volley was hail maried over the trees into a peaceful crowd.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-175693">\
	 <div id="dsq-comment-header-175693" class="dsq-comment-header">\
	 <cite id="dsq-cite-175693" class="dsq-comment-cite">\
	 <a id="dsq-author-user-175693" href="http://blogs.salon.com/0002296/" target="_blank" rel="nofollow">DrOmed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-175693" class="dsq-comment-body">\
	 <div id="dsq-comment-message-175693" class="dsq-comment-message">My dear Superduperator, <br><br>You ask,<br><br>"Now, since you insisted on statistics, please provide references for your data that provdes that blacks do not commit crimes at a higher rate than whites."<br><br>I don\'t believe I insisted on statistics, or was attempting to "provde" any particular point, except that statistics are irrelevant when you misuse them to prove a point that you a priori believe to true beyond doubt as an article of some misbegotten creed.<br><br>Occam had a razor, you got a funnel.<br><br>All human lineages trace back to Africa, thus, we are all in a sense African Americans, and many if not most African Americans have as many--or more--European ancestors--than they have directly from Africa. <br><br>When you peel a banana, it\'s still a banana. Peel the skin off  a human, it\'s still the same bloody mess whatever the color of that skin.<br><br>You and I and Michelle Obama and every human being on Earth share all but one tenth of one percent of our DNA, of the human genome. Does that make you itch? It does me, sometimes, when I regard fellow members of my species, such as you.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-175735">\
	 <div id="dsq-comment-header-175735" class="dsq-comment-header">\
	 <cite id="dsq-cite-175735" class="dsq-comment-cite">\
	 <span id="dsq-author-user-175735">cosmoetica</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-175735" class="dsq-comment-body">\
	 <div id="dsq-comment-message-175735" class="dsq-comment-message">SD:<br><br>\'Since you used a string of anecdotes, I assume that they are acceptable. I work in healthcare. Virtually every hospital that I have business with has the problem that the black employees seem to believe that when they are talking to each other, that whites cannot hear them. In every large urban hospital, I have personally witnessed black employees using vulgar, racist, sexist, and xenophobic behavior, I have never seen a supervisor correct the black employees or any white/non-black patient confront the anti-social behavior.\'<br><br>So, the point is that there are black assholes and white cowards- sort of like my riff on the white football player who was scared of a black chick I knocked on her ass. Boy, that\'s a real oddity in America- white folks scared of blacks and they hopping on it because it\'s their way of getting back at the assorted little racisms that occur every day. I\'ve worked many years in many businesses, and there is always a glass ceiling for blacks, there are always blacks followed by security guards, even if in a suit and a man over 50. <br>Let\'s see, I\'ve worked with many people- black, white Latino, Asian, and most of the men, even bosses, speak of females and genitalia and getting laid, make jokes about this group or that. So what you are telling me is that you NOTICE the black assholes, but don\'t notice the other groups\' assholes.<br>This is what I mean by arguing by exceptionalism. And the fact you notice may have to do w that same sort of fear the white footballer showed.<br><br>\'I have see blacks spit on whites in the DC metro, on the side walk in DC, and in Union station. I have seen blacks taunt whites and asians on an almost daily basis on the DC metro. I have never, ever seen a white or Asian person confront the rude, anti-social, bigoted behavior of the blacks. Whties and Asians do want they have been taught: flee from the blacks and avoid them at all costs.\'<br><br>Spoken like a true Archie Bunker. I\'ve known people of all groups taunt, curse, assault, and taunt others. I\'ve known obnoxious militant queers who\'ve taunted churchgoers, and vice-versa. A childhood friend of mine\'s cousin was one of a van full of white kids who beat 2 black kids nearly to death w a baseball bat (I was not there), but heard him bragging later. Do you realize how insulated and paranoid your argument is?<br><br>\'Dr Estes felt comfortable verbally accosting whites because the risk of physical violence was extremely low. However, a white person accosting black bigots on the Green LIne in DC is an open invitation for violence with all the rest of the blacks on the subway cheering on the perpetrators. See the rape in the Howard County Maryland public school. Blacks have learned that in attacking a white person by themselves that they can alibi each other. See the racial bus attacks in Baltimore.\'<br><br>I believe Dr. E said she was not comfortable. But, how did the people look? What age were they? I avoid all teen men or those in their early 20s, because pack-like behavior is a given- black, white, or whatever. Again, argument by exception.<br><br>\'You do not have to do back twenty years to reference Tawan Brawley. Baltimore in 2007 have an faked hate crime in their fire Department. Also see the Duke non-rape case.\'<br><br>I don\'t have to go to Baltimore. A guy in my own dept at work tried to BS a fake claim of racism because he was bitchy. He was Mexican. Shall I assume all Mexicans are self-centered little be-yotches?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-175780">\
	 <div id="dsq-comment-header-175780" class="dsq-comment-header">\
	 <cite id="dsq-cite-175780" class="dsq-comment-cite">\
	 <a id="dsq-author-user-175780" href="http://blogs.salon.com/0002296/" target="_blank" rel="nofollow">DrOmed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-175780" class="dsq-comment-body">\
	 <div id="dsq-comment-message-175780" class="dsq-comment-message">I myself have black cousins, because some of my ancestors owned some of their ancestors. One of my cousins is Melba Pattillo, and if you don\'t know who she is, you can google it up. She certainly knows something about getting spat on, and walking through a hurricane of hateful verbal abuse. <br><br>I\'m much prouder to claim her as a blood relative than I am my own great great grandfather who fought on the Confederate side in the Civil War.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-175818">\
	 <div id="dsq-comment-header-175818" class="dsq-comment-header">\
	 <cite id="dsq-cite-175818" class="dsq-comment-cite">\
	 <a id="dsq-author-user-175818" href="http://blogs.salon.com/0002296/" target="_blank" rel="nofollow">DrOmed</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-175818" class="dsq-comment-body">\
	 <div id="dsq-comment-message-175818" class="dsq-comment-message">Pack behavior--important point, cosmoetica. Facing down a pack. Getting caught between packs. Look \'em in the eye, address them directly, and move toward them, most--but not all--will flinch and back off. Like dogs, most humans are cowards and will not fight unless they\'re sure of winning--not on a rational level, but instinctually. A person who acts aggressively with the odds against is seen as, felt as, dangerous.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-175896">\
	 <div id="dsq-comment-header-175896" class="dsq-comment-header">\
	 <cite id="dsq-cite-175896" class="dsq-comment-cite">\
	 <span id="dsq-author-user-175896">archangel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-175896" class="dsq-comment-body">\
	 <div id="dsq-comment-message-175896" class="dsq-comment-message">Superdestroyer wrote: "Dr Estes felt comfortable verbally accosting whites because the risk of physical violence was extremely low."<br><br>dear Super destroyer. I agree there are many different kinds of conflicts, as you have mentioned, and many are unjust and wrong. <br><br>And, also, I think holding all these many different incidents altogether as \'same kind\' no matter the factual aspects and details of all involved, makes it difficult to sort and address them with some usefulness in our larger culture.<br><br>To hold all levels of conflict together as though they all have the same underlying factors makes them into a non-differentiated issue that cannot be solved. <br><br>I think that\'s why so many commenters here are speaking of specific eyewitness: many of us are continuing to learn our ways through by trying to understand and analyze not just others, but also ourselves, our own reactions, too.  <br><br>In this article, I wrote about 1% action/ influence or less, being countable as progress. That includes self-analysis. Without asking what stands behind my own fears, aversions, instant affront, in myself, as best I can, I don’t know that we can keep the more safe world, the more bridged world, we all somewhere in our lives, hope for. <br><br>If noting a problem in our culture is a small progress, if intervening in a problem to attempt to seed something useful and new, is a kind of small fastener for a new and better way, then self analysis, tightens those new fasteners... so that new ideas and trajectories can actually happen and continue to evolve. <br><br>That is what I would like to bless over all, Superdestroyer. <br><br>I do not invalidate your views of your experiences nonetheless. <br><br>You mentioned my \'feeling comfortable to accost white men...\'   I looked through my article and did not see anywhere that I referenced these four men as \'white\' as you note in your comments. That\'s not the way I thought of them. I was snagged by their behavior, not by whatever race they might be. <br><br>I don’t know if they were \'white,\' by whatever standard the dominant culture might apply. I can see how you might have assumed they were though. There is an odd almost collective idea in our culture that I think we might need be inoculated against...  that if there\'s trouble, we might all jump to imagine it\'s between those who the news media perseverates on... either of the two sides understood night after night, as the current and ongoing  \'alien other.\'<br><br>But, the men were, light-skinned. And I have no idea if they were white, as I reflected in my article. Using  a race moniker for any individual, has for decades in our country, been pretty debatable as we find via DNA testing that so many are mixtures of many backgrounds... as I also wrote in the article...re the multi- heritages each person carries in our times. <br><br>If I did not state my point strongly or repetitively enough, I can say it another way here now: that the issues regarding \'racially tagged\' opprobrium are as much, at root, about behavior... and unlaid ghosts and old covert angers, unhealed wounds, self-protection born of a priori trauma, grief, misunderstandings, unforgiven grudges, and lack of differentiation, rather than race alone. I would hold these as evidences to inquire of, no matter which race a person filled with such opprobrium carries.<br><br>This is just my .02. There appears to be an automatic almost archetypal one-sided reaction in some, to \'race\', rather than a reasoned inquiry that can see many sides underlying. <br><br>One of the men might have been east Indian, but I would not know this for certain; especially since the conversation was cut short.... one perhaps was German-African-American-British, one could have been Mexican-Irish, one could have been Korean-Anglo, or Vietnamese-Swedish... all combinations of souls that have come into being in the US as a result of \'war brides,\' relocation of war torn people to the US by religious groups in the US, proximity of railroad and other kinds of workers brought in to work in communities far afield from their natal heritages. <br><br>I don’t know Superdestroyer what racial mix or heritage the persons were. I was writing about what was said, not about what race they were. It doesn’t matter to me what bloodline said such things. I think I stated that here in comments earlier also. <br><br>I know you keep imagining I was "comfortable," but more careful readers  here, note that I\'ve said now for the third time, I was not \'comfortable.\' How can a woman like me alone in such a situ be \'comfortable\'? I admit, I don’t know how to do that. I wished instead, I\'d had able warriors, preferable in full bronze over batting, watching from somewhere near by.  <br><br>I\'m a post-trauma specialist Superdestroyer. There is no way to judge whether 4 men  or 2 men, or one man, or ten women ....in any proximity are packing or not, are carrying hidden landmines in their minds or not. <br><br>I think that my knowledge of \'the worst of the worst\' of what humans can be/do to one another, gives me reason to have fear. Your thought is that "risk of physical violence was extremely low." But, my witness is different. <br><br>The word \'accost\' that you imagined, means aggressive. I was other than that Superdestroyer. I was speaking conversationally to the men, and I have a natural voice so soft that people tell me constantly to \'speak up,\' because it is so low and, well, soft. Could I shriek if need be? Yes, if urgent. But, in this case, your imaginings do not accurately reflect the reality. <br><br>This is just my two cents <br><br>Most of the commenters here are telling the stories of their own lives, their own specific, not global, but "I was there" direct witness, and how they found, are finding their ways through. I think that is reasoned and worthy to the discussion, and furthers it. Most are trying to see more than one side to matters critical to all of us. <br><br>And lastly of all, although it is off-topic, I think the issue you brought up about renegade DA\'s, not only the case you mentioned, but many others, that involve \'defendants\' of all colors being charged wrongly, is an ongoing travesty. I am interested in what grabs hold of such men who are DA\'s and why they lose reason. Losing reason is not beyond any of us. Extended loss of reason is, I think, worthy of ongoing cultural study and self-study, both.  <br><br>dr.e</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-176092">\
	 <div id="dsq-comment-header-176092" class="dsq-comment-header">\
	 <cite id="dsq-cite-176092" class="dsq-comment-cite">\
	 <span id="dsq-author-user-176092">cosmoetica</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-176092" class="dsq-comment-body">\
	 <div id="dsq-comment-message-176092" class="dsq-comment-message">Regardless of the POV, SD will simply pick and choose what is comfy w his presuppositions, as that is the exceptional argument\'s raison d\'etre.<br><br>But, for every incident that he can reel off about a poor white man\'s testes\' reascending out of fear I can reel off another ten in the reveres; and I\'m white. Doubtless, several fold more could be spoken of from a person of color.<br><br>But I\'m scared, my position in life is not as set as it once was. I\'m not guaranteed the job I used to be over the darker guy over there. That\'s unfair, that\'s racism in reverse.<br><br>Grow up. Those very facts suggest that many others have.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-188610">\
	 <div id="dsq-comment-header-188610" class="dsq-comment-header">\
	 <cite id="dsq-cite-188610" class="dsq-comment-cite">\
	 <a id="dsq-author-user-188610" href="http://www.poetryhut.com/wordpress" target="_blank" rel="nofollow">JillyDybka</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-188610" class="dsq-comment-body">\
	 <div id="dsq-comment-message-188610" class="dsq-comment-message"><a href="http://www.metrotimes.com/editorial/review.asp?id=102887" rel="nofollow">http://www.metrotimes.com/editorial/review.asp?...</a> &lt; -- regarding the assembly line stories, Dr E, this is a good book.<br><br>I hear the n-word all the time at work if I walk around campus (HBCU) -- the kids say it all the time.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-188706">\
	 <div id="dsq-comment-header-188706" class="dsq-comment-header">\
	 <cite id="dsq-cite-188706" class="dsq-comment-cite">\
	 <span id="dsq-author-user-188706">archangel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-188706" class="dsq-comment-body">\
	 <div id="dsq-comment-message-188706" class="dsq-comment-message">thank you for the reference to the short story writer JillyD. I just read up on her as per your link. I will look for her work.<br>dr.e</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-2834349">\
	 <div id="dsq-comment-header-2834349" class="dsq-comment-header">\
	 <cite id="dsq-cite-2834349" class="dsq-comment-cite">\
	 <span id="dsq-author-user-2834349">PeterGriffin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-2834349" class="dsq-comment-body">\
	 <div id="dsq-comment-message-2834349" class="dsq-comment-message">I think we should vote for a guy because he uses the word "change" often.  Reminds me of a 2-year old espousing the word "cookie".<br><br>Will the real Obama please stand up.  Check out the facts on his past on <a href="http://www.frontpagemag.com/Articles/Read.aspx?GUID=92AA0FD4-8EF5-4D89-B8DA-B8C74484FA91" rel="nofollow">http://www.frontpagemag.com/Articles/Read.aspx?...</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-3150094">\
	 <div id="dsq-comment-header-3150094" class="dsq-comment-header">\
	 <cite id="dsq-cite-3150094" class="dsq-comment-cite">\
	 <span id="dsq-author-user-3150094">jq40</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-3150094" class="dsq-comment-body">\
	 <div id="dsq-comment-message-3150094" class="dsq-comment-message">This story and many of these comments make me very sad.  I disagree with both Obama\'s--I believe what Michelle meant was what she said--I think her husband is a socialist bent on transforming this county into a more European style socialist state--I\'m not going to vote for him--Not because he\'s black though, but because we could not be more polar opposites when it comes to the way I feel our Country should be run.  I\'m a hardcore Liberatarian with anarcho-capitolist leanings and have descided to go with McCain.<br><br>I do however give credit where credit is due--Senetor and Mrs. Obama are a credit to Black Americans everywhere and I am happy that we as a nation have finally taken another step to be a more inclusive society.<br><br>as for the guy that said that WORD in Starbucks--he\'s an idiot--as for the rest of you who can\'t seem to say anything even remotely intellegent --- let it go-- If that\'s all you can think of to say I feel so sorry for you--your lives must be so barren of any substance.  Do us all a favor you have proven it here that you are far to ignornat to exercise you right to to vote--so don\'t   I know Senetor McCain doesn\'t want your support so really there\'s no point--crawl back underneath the rock from whence you came.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-3285950">\
	 <div id="dsq-comment-header-3285950" class="dsq-comment-header">\
	 <cite id="dsq-cite-3285950" class="dsq-comment-cite">\
	 <span id="dsq-author-user-3285950">no_obama_for_pres</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-3285950" class="dsq-comment-body">\
	 <div id="dsq-comment-message-3285950" class="dsq-comment-message">Obama is a liar, he will not do as he says. There is no experience at the executive level, being a senator for a short time does not give experience to lead the country.  It’s pathetic that there are so many persons that may vote for obama because he is black not because of the skill set.. or the severe lack there of! No way will I or any persons I know will vote for Obama.  Stop pissing and moaning about being black, your no longer a minority… facts are the white population is the minority after considering the Black, and Mexican population. Keep in mind over half are not in the stats due to the fact they are illegal and are ghosted in surveys.  We can’t have white TV, it’s racist! That’s pathetic that there are people like u crying about being black but the white population is so restricted cuz what we do or say may be racist, it’s only going to get worse with a black man in the white house. I say right on to the guys in the coffee shop at least they have the balls to say what they feel, after all it’s suppose to be equal rights. Remember the blacks that beat the white truck driver in LA? Probably not.. He was white. If it was a black man we would be hearing it for 30 years. Stop the pity party are you not educated to the fact the whites where the first slaves in Rome? You must accept the fact cuz they are not going to change. There are a lot of people out there that are sick of all the whining, NAACP and all the other black watchdogs. Like I said when the whites that are gathered get fed up enough its not going to be pleasant. <br>Tired of The Whining. How long do you think he will last before the extremists get hold of him? They are out there.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12172204">\
	 <div id="dsq-comment-header-12172204" class="dsq-comment-header">\
	 <cite id="dsq-cite-12172204" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12172204">garydoubelu</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12172204" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12172204" class="dsq-comment-message">until black america can quit acting like a pack of animals and stop thinking that America owes them, you\'re right this will never be an equal country.  get a job , get off welfare, quit blaming the past for your troubles.  i am an american indian if you want to talk about the past.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12298683">\
	 <div id="dsq-comment-header-12298683" class="dsq-comment-header">\
	 <cite id="dsq-cite-12298683" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12298683">scraaas</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12298683" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12298683" class="dsq-comment-message">Blacks are more racist than white folk these days, Name a black that did not vote for Obama because he\'s black. If Obama did not have the white vote he would have flat lost big-time.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-13866785">\
	 <div id="dsq-comment-header-13866785" class="dsq-comment-header">\
	 <cite id="dsq-cite-13866785" class="dsq-comment-cite">\
	 <span id="dsq-author-user-13866785">winemkr</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-13866785" class="dsq-comment-body">\
	 <div id="dsq-comment-message-13866785" class="dsq-comment-message">To me a niggger is nothing but a lazy ungrateful asshole. It doesn\'t matter what their skin color is.<br><br>Niggers suck, that\'s all there is to it.<br><br>Find something else to fixate on, like for instance the government creating a permanent welfare society for the white and black niggers of America.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-172480">\
	 <div id="dsq-comment-header-172480" class="dsq-comment-header">\
	 <cite id="dsq-cite-172480" class="dsq-comment-cite">\
	 <span id="dsq-author-user-172480">niggerhatingme</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-172480" class="dsq-comment-body">\
	 <div id="dsq-comment-message-172480" class="dsq-comment-message">What a bunch of shit-skined NIGGER lovers you all are.  I\'m ashamed of you all!</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=themoderatevoice&t=michelle_obama_those_who_say_8220i_ain8217t_voting_for_no_nigger8221_43&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 = '8e626a1cbe92745e5f4435bb28791555';
			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);
			}
		}
	});
}

})();




