




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": {"6f78a519752a9c5b8fbfb2ff865ca17e": {"username": "Ms Hernandez", "tumblr": "", "display_name": "Ms Hernandez", "url": "http://disqus.com/guest/6f78a519752a9c5b8fbfb2ff865ca17e/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "cebfa63d58f7456c240b8993abc4a764": {"username": "gingeygirl", "tumblr": "", "display_name": "gingeygirl", "url": "http://disqus.com/guest/cebfa63d58f7456c240b8993abc4a764/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d9c11bdc5940f5e9306f7e788243a0eb": {"username": "Isis", "tumblr": "", "display_name": "Isis", "url": "http://disqus.com/guest/d9c11bdc5940f5e9306f7e788243a0eb/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4bcae0e4fa07e729f00442a867f9a15f": {"username": "brklyngrl", "tumblr": "", "display_name": "brklyngrl", "url": "http://disqus.com/guest/4bcae0e4fa07e729f00442a867f9a15f/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3f39bd1ac96402d88e2d8ff1984511ea": {"username": "G.D.", "tumblr": "", "display_name": "G.D.", "url": "http://disqus.com/guest/3f39bd1ac96402d88e2d8ff1984511ea/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "a1ac8d1c0e925e8681dc6c476737a51f": {"username": "baratunde aka jack turner", "tumblr": "", "display_name": "baratunde aka jack turner", "url": "http://disqus.com/guest/a1ac8d1c0e925e8681dc6c476737a51f/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "98f815e89238466f25694da1cc7156f9": {"username": "Dusty", "tumblr": "", "display_name": "Dusty", "url": "http://disqus.com/guest/98f815e89238466f25694da1cc7156f9/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "65a6a58ec7ce3d63f33421dabf669827": {"username": "Kelly", "tumblr": "", "display_name": "Kelly", "url": "http://disqus.com/guest/65a6a58ec7ce3d63f33421dabf669827/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "2a2201364786f612d9d33bb12f2de038": {"username": "The Bag of Health and Politics", "tumblr": "", "display_name": "The Bag of Health and Politics", "url": "http://disqus.com/guest/2a2201364786f612d9d33bb12f2de038/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "bc67a38bb57ec2663caef9c8162bfd38": {"username": "Adam", "tumblr": "", "display_name": "Adam", "url": "http://disqus.com/guest/bc67a38bb57ec2663caef9c8162bfd38/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "5890173d9af65065af76e4b6d1744a58": {"username": "anthony cromartie", "tumblr": "", "display_name": "anthony cromartie", "url": "http://disqus.com/guest/5890173d9af65065af76e4b6d1744a58/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "9b6e73b6d46e8c929e46a5d49022a8ce": {"username": "Phillip M. Bailey", "tumblr": "", "display_name": "Phillip M. Bailey", "url": "http://disqus.com/guest/9b6e73b6d46e8c929e46a5d49022a8ce/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "5798f9dd2f39d6489295f4cc6fcf9e34": {"username": "jimmy", "tumblr": "", "display_name": "jimmy", "url": "http://disqus.com/guest/5798f9dd2f39d6489295f4cc6fcf9e34/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "fd495ff429bd40f8905afd729ec66658": {"username": "metricpenny", "tumblr": "", "display_name": "metricpenny", "url": "http://disqus.com/guest/fd495ff429bd40f8905afd729ec66658/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "7c4455626754e1b9bc3be232b1024136": {"username": "Anonymous", "tumblr": "", "display_name": "Anonymous", "url": "http://disqus.com/guest/7c4455626754e1b9bc3be232b1024136/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "369dd1fe5f49cbfe5e745f45b499d41e": {"username": "Nita", "tumblr": "", "display_name": "Nita", "url": "http://disqus.com/guest/369dd1fe5f49cbfe5e745f45b499d41e/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "84ce11ad4e30ba782433bb5bf24a077e": {"username": "dnA", "tumblr": "", "display_name": "dnA", "url": "http://disqus.com/guest/84ce11ad4e30ba782433bb5bf24a077e/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b65341a231bdc06cfaa2b35dad3c8249": {"username": "Luv", "tumblr": "", "display_name": "Luv", "url": "http://disqus.com/guest/b65341a231bdc06cfaa2b35dad3c8249/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3f4ccc7bd94ac1b5fd1b00acc96dc419": {"username": "Rusty B. Schwartz", "tumblr": "", "display_name": "Rusty B. Schwartz", "url": "http://disqus.com/guest/3f4ccc7bd94ac1b5fd1b00acc96dc419/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "40dcbe261c517f66ba691b9994bcc50a": {"username": "section9", "tumblr": "", "display_name": "section9", "url": "http://disqus.com/guest/40dcbe261c517f66ba691b9994bcc50a/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3a00fc4c03c593bc9d6eb89cffe0579e": {"username": "Jan H", "tumblr": "", "display_name": "Jan H", "url": "http://disqus.com/guest/3a00fc4c03c593bc9d6eb89cffe0579e/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "15e68ddf576464e1f871db7b2bccfec8": {"username": "Dear Murray", "tumblr": "", "display_name": "Dear Murray", "url": "http://disqus.com/guest/15e68ddf576464e1f871db7b2bccfec8/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "1db1bb2d1c7e4fa3ca337a0c8968d600": {"username": "Karla Baer", "tumblr": "", "display_name": "Karla Baer", "url": "http://disqus.com/guest/1db1bb2d1c7e4fa3ca337a0c8968d600/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3010082ae170cea4de50d8fdb7fa443e": {"username": "ron", "tumblr": "", "display_name": "ron", "url": "http://disqus.com/guest/3010082ae170cea4de50d8fdb7fa443e/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "25c2ebf4464c5d95fa227ddd4a0d2fe5": {"username": "ronnie b.", "tumblr": "", "display_name": "ronnie b.", "url": "http://disqus.com/guest/25c2ebf4464c5d95fa227ddd4a0d2fe5/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "38ff5e7850e19adb058541286744045f": {"username": "P.K.", "tumblr": "", "display_name": "P.K.", "url": "http://disqus.com/guest/38ff5e7850e19adb058541286744045f/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "abae42e5f15036a8e5fb7c96309de1b3": {"username": "marc", "tumblr": "", "display_name": "marc", "url": "http://disqus.com/guest/abae42e5f15036a8e5fb7c96309de1b3/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "2829652e7b9b1ce55ba9178043dd69b9": {"username": "Webbuh", "tumblr": "", "display_name": "Webbuh", "url": "http://disqus.com/guest/2829652e7b9b1ce55ba9178043dd69b9/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ae74bad6b36f1a1966675adf7c91de99": {"username": "Red7Eric", "tumblr": "", "display_name": "Red7Eric", "url": "http://disqus.com/guest/ae74bad6b36f1a1966675adf7c91de99/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "fec56967a62780594a87e017f33c3367": {"username": "PhilO", "tumblr": "", "display_name": "PhilO", "url": "http://disqus.com/guest/fec56967a62780594a87e017f33c3367/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "7f306b3009c480dcd5fc7baf547d1b80": {"username": "BigAssBelle", "tumblr": "", "display_name": "BigAssBelle", "url": "http://disqus.com/guest/7f306b3009c480dcd5fc7baf547d1b80/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "Jack and Jill Politics", "streaming_realtime": false, "url": "jackandjillpolitics", "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": "jackandjillpolitics", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-09_16:23:28", "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": "login"}, "realtime_paused": false, "posts": {"1952896": {"up_voted": false, "ip": "", "has_replies": false, "message": "There are so many things wrong with what she said. One more: if it takes a President to get things done, Obama's in luck, yes, since he's running for President and  not leading a social movement?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_19:27:00", "killed": false, "user_key": "4bcae0e4fa07e729f00442a867f9a15f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952897": {"up_voted": false, "ip": "", "has_replies": false, "message": "Before this post, I was thinking that Hillary might win in NY...and that would be IT...No California, No Texas, Not the South...<br></br><br>After reading this post, she needs to lose NY too.</br><br></br><br>If what Bill said is true about Mandela, you folks in Harlem seriously need to run him out of there... yesterday.  Let him take his ass on down to midtown.</br><br></br><br>The Clintons...Our Great White Saviours...I think i'll create a video for youtube where I start shuckin, jiving, \"OH suh, I LUV Me Sum Clinton!\"  Where is Aaron McGruder and the Boondocks when you need him and it???</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_19:40:00", "killed": false, "user_key": "2829652e7b9b1ce55ba9178043dd69b9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952898": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hillary just lost all Black Support.<br></br><br>\"Dr. King's dream began to be realized when President Johnson passed the Civil Rights Act. It took a president to get it done. The power of that dream became real in people's lives because we had a president capable of action.\" ~ Hillary \"I don feelz nowayz tarred\" Clinton</br><br></br><br>In other words, Blacks can't get anything done with out a White President. That's how everyone is looking at it. Black, White, Latino. Everyone is pissed off right now.</br><br></br><br>Check out Daily Kos. They went nuts !</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_19:44:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952899": {"up_voted": false, "ip": "", "has_replies": false, "message": "She's clearly a racist, and will be remembered as one in history.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_19:50:00", "killed": false, "user_key": "2a2201364786f612d9d33bb12f2de038", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952900": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thank you Anthony Cromartie. I'm ready to slap some sense into her myself -- not out of hate, but out of love, because I'm honestly worried about her and where her mind is.<br></br><br>If she's being Will Smithed, that's one thing.  But I need to get the headsets to hear the full quote indeed to hear for myself.</br><br></br><br>There are still better ways to finesse this than to imply that the end all be all of the Civil Rights movement was LBJ's political sacrifice with the stroke of a pen... or that MLK and his ultimate sacrifice are somehow lesser than LBJ's.</br><br></br><br>Hillary needs to get it together.  She needs a break.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_20:03:00", "killed": false, "user_key": "369dd1fe5f49cbfe5e745f45b499d41e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952901": {"up_voted": false, "ip": "", "has_replies": false, "message": "1) Don't get overconfident.  Obama needs people to get out and vote.  Polls don't elect candidates alone. We need to stay focused.<br> </br><br>2) Most importantly: Don't react or Don't feed the Troll (for a better word).  The Clintons are experts in dirty politics.  The beauty of the Obama campaign is to unite us all and not divide us.  Especially on race.  Don't you think it is quite weird that she would come out with bigoted expressions?  It is calculated IMHO!  If she divides and conquers she can try to get people on her side if Obama supports cry racism.  Ignore the troll-like responses from the Clinton campaign.  They are getting desperate as hell.  Don't bite. </br><br> </br><br>KEEP POSITIVE AND TURN OUT THE VOTE FOR OBAMA 08!! PLEASE</br><br> </br><br>Sis</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_20:13:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952902": {"up_voted": false, "ip": "", "has_replies": false, "message": "how did y'all get all that from what she said?<br></br><br>y'all are hellbent on painting this woman as some kind of racist monster.</br><br></br><br>does support for Obama require the demonization of Hillary? or vice versa?</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_20:49:00", "killed": false, "user_key": "3f39bd1ac96402d88e2d8ff1984511ea", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952903": {"up_voted": false, "ip": "", "has_replies": false, "message": "By no means do I believe the Clintons are racist - not in the least.  That said, I do believe that the Clintons' self-interest trumps all in their camp.<br></br><br>When I heard Bill's comments about Mandela, I was shocked, but Hillary?  WHAT was she THINKING???  Even taken in context...  A more correct framing would be LBJ would never have had the guts to push through the Civil Rights  Act if it hadn't had been for a great movement. If she understood this, she'd realize that the Clinton Era is over.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_21:04:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952904": {"up_voted": false, "ip": "", "has_replies": false, "message": "Anonymous, on point number 2, you may be right.  That is even nastier; that's beyond cynical, if it's true. I'm hoping that things just didn't come out right.<br></br><br>If this is planned, for the specific purpose you mention. I weep.  I weep because I wouldn't put it past several people.  But I'm going to hope the Clintons aren't in this case.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_21:15:00", "killed": false, "user_key": "369dd1fe5f49cbfe5e745f45b499d41e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952905": {"up_voted": false, "ip": "", "has_replies": false, "message": "G.D.<br></br><br>I didn't even mention Obama. You did. </br><br></br><br>How is characterizing Lyndon Johnson as the one who did all the work and MLK as simply a great orator NOT what she said?</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_21:51:00", "killed": false, "user_key": "84ce11ad4e30ba782433bb5bf24a077e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952906": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think anonymous number 2 might've nailed it. I'll try to restrain myself in the future. This stuff just pisses me off. I will be happy when the era of complete cynicism that Hillary represents ends. I hope that will be tomorrow night. But we'll probably have to wait a few weeks.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_22:10:00", "killed": false, "user_key": "2a2201364786f612d9d33bb12f2de038", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952907": {"up_voted": false, "ip": "", "has_replies": false, "message": "In the 1960 presidential election campaign John F. Kennedy argued for a new Civil Rights Act. After the election it was discovered that over 70 per cent of the African American vote went to Kennedy. However, during the first two years of his presidency, Kennedy failed to put forward his promised legislation.<br></br><br>The Civil Rights bill was brought before Congress in 1963 and in a speech on television on 11th June, Kennedy pointed out that: \"The Negro baby born in America today, regardless of the section of the nation in which he is born, has about one-half as much chance of completing high school as a white baby born in the same place on the same day; one third as much chance of completing college; one third as much chance of becoming a professional man; twice as much chance of becoming unemployed; about one-seventh as much chance of earning $10,000 a year; a life expectancy which is seven years shorter; and the prospects of earning only half as much.\"</br><br></br><br>Kennedy's Civil Rights bill was still being debated by Congress when he was assassinated in November, 1963. (Excerpted from <a href=\"http://www.spartacus.schoolnet.co.uk/%3C/br%3E%3Cbr%3EUSAcivil64.htm%29%3C/br%3E%3Cbr%3E%3C/br%3E%3Cbr%3EWhether\" rel=\"nofollow\">http://www.spartacus.schoolnet.co.uk/</br><br>U...</a> or not one views Sen. Clinton's remarks as disrespectful of Rev. Dr. King and other civil rights s/heroes, they were certainly disrespectful of President Kennedy.</br><br></br><br>When he took office there was a hostile Congress made up of Republicans and conservative southern DEMOCRATS blocking his legislation. He spent most of his first 2 years in office dealing with the Bay of Pigs, the Cuban Missile Crisis and protecting the country against the Soviets who were placing long-range missiles in Cuba.</br><br></br><br>To let Sen. Clinton tell it, he was just sitting around the oval office  hoping and wishing and writing speeches.</br><br></br><br>Methinks she hit bottom with this one. Sometimes pulling out all stops to win results in one going down the drain.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_22:12:00", "killed": false, "user_key": "fd495ff429bd40f8905afd729ec66658", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952908": {"up_voted": false, "ip": "", "has_replies": false, "message": "dna: it's just supremely clumsy wording. <br></br><br>again, do you think she actually believes that? do you think that's what she actually meant?</br><br></br><br>if you do, can you explain how it make any political sense whatsoever?</br><br></br><br>(i'm not sure what she meant, but that goes to my point. it was a clumsy-ass jumble.)</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_22:19:00", "killed": false, "user_key": "3f39bd1ac96402d88e2d8ff1984511ea", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952909": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"This is the kind of revisionist history I expect from the most extreme white supremacist kooks.\"<br></br><br>this line makes me angry. very angry. before i get into it, let me say that i am 100% in the obama camp and i think that hillary's point is not particularly valid. HOWEVER: one of my pet peeves among sloppy popular mythmakers is that LBJ was \"reacting\" to change, as you say, and not \"making\" it- if you actually read the history, if you actually study the maneuvers and machinations that Johnson employed during his career in the senate and the white house, you will see that he is the one who bucked and tricked the real \"white supremicists\" - the Thurmonds and Russells and all the southern bloc that had stood in the way of institutional change and planned carefully to be able to do so indefinitely. And they very well may have if it hadn't been for Johnson.</br><br></br><br>Indeed, I think the LBJ analogy cuts in Obama's favor- he can make progress on important issues because he, like LBJ can bridge not only the rhetorical gaps in our popular political culture, but also the intellectual chasms in government (as he actually had a lot of experience doing in the IL state senate).</br><br></br><br>MLK should not be derided or his achievements or sacrifice belittled, but the demonization of lyndon johnson (mostly deserved for vietnam but completely uncalled for beyond that) makes me sick and embarrassed.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_22:59:00", "killed": false, "user_key": "3f4ccc7bd94ac1b5fd1b00acc96dc419", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952910": {"up_voted": false, "ip": "", "has_replies": false, "message": "Great points Mr. Schwartz but you raised a major question for me:  \"How was LBJ able to 'buck and trick' the real white supremacists?\"<br></br><br>Sure, LBJ was a skilled maneuverer but he needed political capital to achieve the Civil Rights Act.  Where did the political capital come from Mr. Schwartz?  The political power came from the assassination and martyrdom of JFK.  That's where LBJ's motivation was born--to fulfill JFK's dream, agenda and vision--the Thurmonds and Russells be damned.</br><br></br><br>So LBJ didn't achieve the Civil Rights Act only on the basis of his own political abilities, he achieved it through blood shed by the Dreamer.</br><br></br><br>America can only advance through visionary-principled leadership, not political hacks.  All of the Clinton's so-called achievements for \"black folks\" were easily dismantled by Bush.  </br><br></br><br>I have turned the page on the Clintons...looks like the rest of America is about to do the same.</br><br></br><br>Go *O* 2008!!!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_23:46:00", "killed": false, "user_key": "2829652e7b9b1ce55ba9178043dd69b9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952911": {"up_voted": false, "ip": "", "has_replies": false, "message": "Pardon me, but do the words \"Jesus tap-dancing Christ\" mean anything? Look, Hillary is saying what generations of white liberals have actually believed.<br></br><br><i>Without our help, you'd still be running from the Klan! So you'd best vote for the right candidate!</i></br><br></br><br>Johnson should be credited for initiating the move to push through the Civil Rights Act of 1964 (as should Everett McKinley Dirksen of Illinois, the Republican floor leader who actually made sure that it survived any filibuster attempts by southern Democrats, btw). However, Johnson was, like most politicians, <i>reactive</i>, not leading a movement. The push for Civil Rights came out of the streets, not out of the halls of Congress. </br><br></br><br>That Hillary doesn't appear to get this intuitively speaks volumes about her.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-08_00:17:00", "killed": false, "user_key": "40dcbe261c517f66ba691b9994bcc50a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952912": {"up_voted": false, "ip": "", "has_replies": false, "message": "dnA wrote: \"one of the worst campaign strategies I've ever heard of in my life is associating your opponent with Martin Luther King Jr. Clearly, Hillary wants to lose.\"<br></br><br>this is the realness! what a great line.</br><br></br><br>I was going to do a follow-on post, but am glad I read the comments. Yall are on it.</br><br></br><br>The crime is not only in her diminishing the role of the soldiers on the street but completely misreading history. </br><br></br><br>Johnson was able to do what he did because JFK got killed!</br><br></br><br>maybe she's suggestion Obama-the-Hopeful becomes president, she becomes VP, Obama gets assassinated, then she comes in as president and realizes his dreams?</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-08_00:40:00", "killed": false, "user_key": "a1ac8d1c0e925e8681dc6c476737a51f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952913": {"up_voted": false, "ip": "", "has_replies": false, "message": "I saw this earlier yesterday. Can you hear all the old guard civil rights legends who endorsed Hilary (Rep. John Lewis, Andrew Young, etc.)  creeping away from her after that comment? Basically Hilary is saying that LBJ and the U.S. government --- not SNCC, not the Freedom Riders, not Rosa Parks, not Ella Baker, not Dr. King, not the NAACP --- is the reason for the Black Freedom Struggle.<br></br><br><b>Remarkable!</b> </br><br></br><br>No seriously, the Clinton & Clinton Co. has lost it. Now she's Nelson Mandela??? They're reading from the 1990s playbook when big Bill was the <i>\"first black president\"</i> (<b>bullshit!</b>) and they could run that garbage on Jesse & Al.</br><br></br><br>Their hubris has given them a sense of entitlement. They really can't believe Obama is beating them. </br><br></br><br>Regardless of what happens in New Hampshire today everyone knew she was going to get hammered in S. Carolina --- after going negative on MLK this should once and for all end the love affair between the Clintons and black voters everywhere. </br><br></br><br>Peace,</br><br><a href=\"http://the-soulution.blogspot.com/\" rel=\"nofollow\">The SOULution</a></br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-08_03:00:00", "killed": false, "user_key": "9b6e73b6d46e8c929e46a5d49022a8ce", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952914": {"up_voted": false, "ip": "", "has_replies": false, "message": "As with anything, nothing is ever as simple as portrayed.<br></br><br>All major civil rights victories in this country were achieved by blacks and whites working TOGETHER.</br><br></br><br>But blacks have always taken on the actually hostility, discrimination and DEATH of institutionalized racism. Blacks have taken the risks of bringing it to national attention. But sympathetic whites have always had the actual legislative power to actually, legally institute the change. From abolishing slavery to the Civil Rights and Voting acts, it's alway been this way.</br><br></br><br>But what Hillary seems to be doing is completely dismiss that Afro-American (major) role in all of this and is simply saying 'it took the white guy to get it done.' It's an incredibly insensitive and boggling statement.</br><br></br><br>I, as a black man don't ever want to give the cynical \"I'm not surprised\" response, I AM surprised that this came out of this particular person's mouth.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-08_05:59:00", "killed": false, "user_key": "b65341a231bdc06cfaa2b35dad3c8249", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952915": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>2) Most importantly: Don't react or Don't feed the Troll (for a better word). The Clintons are experts in dirty politics. The beauty of the Obama campaign is to unite us all and not divide us. Especially on race. Don't you think it is quite weird that she would come out with bigoted expressions? It is calculated IMHO! If she divides and conquers she can try to get people on her side if Obama supports cry racism. Ignore the troll-like responses from the Clinton campaign. They are getting desperate as hell. Don't bite.</i><br></br><br>This is key.  In many ways it's like the SNCC coordinators during the CRM, admonishing student activists to resist the urge to strike back at the racists who would try and provoke them.  The very moment that it appeared that Black folk were \"violent\" was the very moment that we would have lost our credibility.</br><br></br><br>I see a parallel with Obama supporters and the Clintonites.  They may try to bait us with the most ignorant of quips and comments, but if we can manage to make use of some political aikido, we can redirect whatever weak attacks they come with, and hurt them with it.  It makes Hillary look as if she fell to the ground on her own clumsiness, rather than the stealthness of our technique.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-08_08:56:00", "killed": false, "user_key": "25c2ebf4464c5d95fa227ddd4a0d2fe5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952916": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't think Hillary's a racist, but it's clear that Obama's rise has left her and her campaign shellshocked and prone to these kind of undisciplined, poorly phrased gaffes. Remember 6 mos ago when her campaign was praised as disciplined and error-free?  That has crumbled under the pressure of the past few weeks.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-08_16:03:00", "killed": false, "user_key": "bc67a38bb57ec2663caef9c8162bfd38", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952917": {"up_voted": false, "ip": "", "has_replies": false, "message": "What's up with the reverse racism?  I am white and will vote for Obama, but because of what he stands for, not his skin color.  it seems to me there's a lot of hating going on for the worng reasons and it isn't coming from Hillary.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-09_09:37:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952918": {"up_voted": false, "ip": "", "has_replies": false, "message": "This is the same campaign that had to apologize for their racist comments about Obama's past previously, and has made political hay out of the \"inexperience\" line used against Obama, as though Clinton's experience as a one and a half term senator is WAY greater than a one term senator. Unlike the talking points in Obama's campaign, prejudice is rife in the Clinton message. I find it hard to think about voting for her.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-09_11:42:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952919": {"up_voted": false, "ip": "", "has_replies": false, "message": "Are you guys kidding me?<br></br><br>This making up crap about the Clinton's is atrocious! Do you want Barrack to win so bad that you are going to trash a lifetime of DEMONSTRATED accomplishments for all Americans. </br><br></br><br>This blog and its commenters should be repulsed by the lies you are spouting. If you are so dense that you can't read or hear what the person actually said, then don't let your fingers to the offensive typing.</br><br></br><br>This is not a game! Barrack doesn't deserve to win if  he is going to authorize this b.s.!</br><br></br><br>I supported him before, but NO MORE!</br><br></br><br>No one wins by this behavior. This is true gutter politics.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-11_16:20:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952920": {"up_voted": false, "ip": "", "has_replies": false, "message": "Please!  To those people attacking Hillary, look at yourself and see who really is trying to interject race. Hillary's FULL comments do nothing but praise MLK. To say to the contrary is to create facts to fit the moment.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-11_16:24:00", "killed": false, "user_key": "3010082ae170cea4de50d8fdb7fa443e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952921": {"up_voted": false, "ip": "", "has_replies": false, "message": "Clintons like most Dems have taken us for granted.  When they had that surplus they always talk about did they fix the levees in New Orleans?  Hell no!  Wake up and vote for Obama!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-11_16:52:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952922": {"up_voted": false, "ip": "", "has_replies": false, "message": "For the most part the comments politician make are a bit like horoscopes. You read into them what you want to.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-11_17:42:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952923": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hold on now, metricpenny!!!<br></br><br>You wrote:</br><br>\"When he (JFK) took office there was a hostile Congress made up of Republicans and conservative southern DEMOCRATS blocking his legislation. He spent most of his first 2 years in office dealing with the Bay of Pigs, the Cuban Missile Crisis and protecting the country against the Soviets who were placing long-range missiles in Cuba.</br><br></br><br></br><br>Let's be VERY clear about who controlled the nation at that time.</br><br></br><br>87th Congress (1961-1963) </br><br></br><br>Majority Party: Democrat (64 seats)</br><br>Minority Party: Republican (36 seats)</br><br>Other Parties: 0</br><br>Total Seats: 100</br><br></br><br>I get really tired of Republicans taking the heat for the Civil Rights atrocities in this nation.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-11_17:58:00", "killed": false, "user_key": "3a00fc4c03c593bc9d6eb89cffe0579e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952924": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hillary thinks that the Civil Rights Movement happened from the top down?  That is such an elitist point of view coming from someone who wants to stay in power.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-11_18:04:00", "killed": false, "user_key": "38ff5e7850e19adb058541286744045f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952925": {"up_voted": false, "ip": "", "has_replies": false, "message": "This thread is so depressing. Arrgh! It's the Sharpton-izing of the dialog! Everyone's racist blah blah blah. Every criticism of Obama is racist blah blah blah. Let's shake the chips of our shoulders and start talking about issues, not this nonsense. If you spend all your energy trying to convince yourself that the term \"fairytale\" is racist, you'll never deal with the substance of this election. This is pathetic.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-11_18:39:00", "killed": false, "user_key": "cebfa63d58f7456c240b8993abc4a764", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952926": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have two words for those who are attacking Senator Clinton so very viciously:  Character Assination!  This attack of the Clintons is unbelievably ugly.  If Obama is really spreading the gospel of \"hope,\" he would call for a moratorium on the character assasination that is being attempted here.   I would not be suprised if these anti-Clinton comments are actually being kept alive by Republicans attempting to keep us from focusing on the importance of hope. These are Karl Rovish tactics!  Don't fall for it!  Keep hope aLive!  Stop this line of criticism and get on with a line of criticism that is much more productive!!!!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-11_18:53:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952927": {"up_voted": false, "ip": "", "has_replies": false, "message": "The Clintons must feel that after 8 years in the white house they are entitled to another 8 years...this is a new era...the madness and the scandals cease...Bill has a biracial son...is he taking care of him? He is a man-ho and Hillary has anger issues(projectile thrower) I am not voting for Monica Lewisky's boyfriends wife...seriously this country is nearly majority minority so it is fitting that a man of color get a chance to lead this colorful nation...Barak and Roll 08 and beyond!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-11_21:56:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952928": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hillary's comment is Elitist, NOT Racist.  She's not saying that blacks owe benevolent white leaders like LBJ.  She's saying that the \"little people\" black or white owe the skillful politicians for \"getting things done\".  I find that to be just as bad and will be supporting Obama if the race is still going when my states primary comes.  <br></br><br>I'm sure that Bill is not a Bigot and fairly sure of the same for Hillary, but she is and probably always has been an elitist, it may also be rubbing off on Bill who now seems to be willing to sink Obama for the sake of his wifes ambitions.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-11_23:54:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952929": {"up_voted": false, "ip": "", "has_replies": false, "message": "the blogger has found great words and form to rebutt clinton. thanks a lot.<br></br><br>now that we know -again- that the clintos are nothing but self satisfied egomaniacs, let's give them hell, but not one single vote.</br><br></br><br>let's get obama elected! and maybe yes, hillary is ironically right: let the black man of hope and action be also the black man who delivers.</br><br></br><br>delivers from the white house... hmm, some good irony in there too.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-12_03:54:00", "killed": false, "user_key": "abae42e5f15036a8e5fb7c96309de1b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952930": {"up_voted": false, "ip": "", "has_replies": false, "message": "Other than give support to MLK while he was in jail, John Kennedy did nothing for civil rights except rhetoric.<br></br><br>Robert Kennedy was the one who cared!  JFK was once quoted as saying \"Ignore Bobby, he's just worrying about his negroes again\".</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-12_10:12:00", "killed": false, "user_key": "65a6a58ec7ce3d63f33421dabf669827", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952931": {"up_voted": false, "ip": "", "has_replies": false, "message": "There was nothing in the comment that diminished MLK. OF COURSE, she can't compare herself to MLK, so she was simply trying to make the best case for herself. This is taking racial hypersensitivity to ridiculous level.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-12_11:22:00", "killed": false, "user_key": "fec56967a62780594a87e017f33c3367", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952932": {"up_voted": false, "ip": "", "has_replies": false, "message": "The Clintons were never friends of black folks...we were just dupes as usual.Remember the murder of Betty Curry's brother and cousin on the eve of her testimony for/against Bill.And a similiar state of affairs surrounding the death of Ron Brown on the eve of his testimony re: illegal campaign solicitations from an Asian pact group for the Clintons. They have a long history of murder and corruption and they will do anything to win.That is the only thing that makes them cry; the fear of self-humiliation.<br>Alice Walker, not black folks crowned him the first black president after his appearance on Arsenio Hall's tv program where he played the sax.And it has been a marriage on convenience ever since.We are slow to learn my friends.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-12_12:23:00", "killed": false, "user_key": "5798f9dd2f39d6489295f4cc6fcf9e34", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952933": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hillary attacks Obama's health plan for not having a \"mandate.\"<br>Obama's plan is not mandatory; he knows that those who cannot afford to be sick will buy health insurance. Hillary the elitist wants a mandatory society where you behave because \"BIG SISTER IS WATCHING YOU.\"</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-12_12:25:00", "killed": false, "user_key": "1db1bb2d1c7e4fa3ca337a0c8968d600", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952934": {"up_voted": false, "ip": "", "has_replies": false, "message": "Kelly: It was Robert Kennedy who instigated and authorized the tapping of MLK's tele phone conversations.Similarly to Bill's sax playing it was JFK's dancing with a beautiful sistah at his inaugural ball that edeared black folks to them.We are so naive and politically immature.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-12_12:37:00", "killed": false, "user_key": "5798f9dd2f39d6489295f4cc6fcf9e34", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952935": {"up_voted": false, "ip": "", "has_replies": false, "message": "I've been doing anti-racist work for years, and do not respond to accusations of racism lightly.<br></br><br>But I don't think that's what Hillary was saying here.  She was not dismissing the role of MLK, Rosa Parks or other social activists, but was clarifying that the role of President is very different.  Since she and Obama are running for President, they'll need to do more than inspire, they also need to work in a very specific context (Washington) to get things done.</br><br></br><br>Her word choices are extremely unfortunate, but I honestly don't believe that there's racist intent there.  Shouldn't we be focusing our energies on hating on the arch-conservative candidates who will truly do the most harm if elected?</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-12_13:55:00", "killed": false, "user_key": "ae74bad6b36f1a1966675adf7c91de99", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952936": {"up_voted": false, "ip": "", "has_replies": false, "message": "yes, red7, we should. but first let's get hillary out of the way, out of obama's way to nomination.<br></br><br>then we'll fight the kooks hard.</br><br></br><br>then let's make obama president.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-12_14:21:00", "killed": false, "user_key": "abae42e5f15036a8e5fb7c96309de1b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952937": {"up_voted": false, "ip": "", "has_replies": false, "message": "I live in NV.  Here is our context.  There is a great deal of Latino racism here against blacks.  Actually, this is a national phenomenal at least in the southwest.  Hillary is exploiting that by getting latino support.  Just look at the stories in the Las Vegas Review Journal.  A very close friend of mine is Latina and supporting Obama.  Her parents are \"machine democrats\" in Texas.  They told her they would only vote for Hillary and if Obama gets the nomination, they will not vote in the general election.  There is definitely a black vs. brown tension in parts of the southwest and now that Hillary is here, she is trying to get the Latino vote which may be larger in number than  the black vote.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-13_13:44:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952938": {"up_voted": false, "ip": "", "has_replies": false, "message": "To the crackhead that wrote this article:  Honestly, what she's saying is simply that it took a president to get it done.  That's true, ultimately everything goes through the president.  She didn't say anything racist; race wasn't an issue in what she said.  The way I see it you brought race into this.  This country contains many races, we all need a good president, none of us need Hillary, and you need to stop crying \"racist\" everytime something doesn't pan out the way you think it should.  You're merely segregating yourself...", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-13_16:39:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952939": {"up_voted": false, "ip": "", "has_replies": false, "message": "To the anonymous fuckwit above this:<br></br><br>Hillary was basically saying that Martin Luther King's work was for naught..that people of color should thank their lucky stars for LBJ.</br><br></br><br>Do you actually think LBJ would of done anything if MLK  had not brought all the racism to the forefront with his marches and protests?</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-14_05:24:00", "killed": false, "user_key": "98f815e89238466f25694da1cc7156f9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952940": {"up_voted": false, "ip": "", "has_replies": false, "message": "i have listened to her statement twice. try as i might, i could not hear that the entire movement was for nothing. she did not diminish the efforts of the activists or of MLK or of those who were injured and died in the struggle for equal rights. <br></br><br>short of overthrowing a government and starting from scratch ~ not a bad idea, but it didn't happen ~ the movement had to have legislative support to make lasting change. </br><br></br><br>it is typical of the media as a whole that the recounting of her speech leaves out the portions that actually support her point. there's nothing in the speech that would indicate anything but the greatest admiration of MLK and the movement in general. </br><br></br><br>as a veteran of the effort to pass the ERA, the one which failed in the '80s due to <i>lack of presidential support</i> and lack of congressional support, what she said is true.</br><br></br><br>that being said, this is how we're going to do it, us democrats. in an election year when we're turning out in droves to vote for a new (god save us from the present) president, we'll manage to shoot ourselves in the foot and let the bastards win again.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-14_06:42:00", "killed": false, "user_key": "7f306b3009c480dcd5fc7baf547d1b80", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952941": {"up_voted": false, "ip": "", "has_replies": false, "message": "belle, your mindset is that of submission, not to the white man, but to the leader.<br></br><br>ANY president would have had to listen to the movement of mlk. first, because the politicians are supposed to represent the people. second, because human rights demanded it.</br><br></br><br>sooner or later, with lbj or anyone thereafter, human rights had to be installed in the us. and political power had to be truely representative.</br><br></br><br>that is why i see absolutely no special place for the president who finally behaved as a democrat, and who finally brought justice. he only executed what democratically and legally was required.</br><br></br><br>he was OBLIGED to do so. he did not chose.</br><br></br><br>this is what hillary seems to forget, and forgetting this reveals her as anything else but a democrat and a law-abiding person.</br><br></br><br>never have we been talking about political issues for the black. it was always about legal issues. the rights black people have, as any people. not the favors granted to them. nobody ever asked for a favor.</br><br></br><br>civil rights!... now that must sound a bell, belle.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-14_07:51:00", "killed": false, "user_key": "abae42e5f15036a8e5fb7c96309de1b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952942": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>ANY president would have had to listen to the movement of mlk. first, because the politicians are supposed to represent the people. second, because human rights demanded it.<br></br><br>sooner or later, with lbj or anyone thereafter, human rights had to be installed in the us. and political power had to be truely representative.</br><br></br><br>that is why i see absolutely no special place for the president who finally behaved as a democrat, and who finally brought justice. he only executed what democratically and legally was required.</br><br></br><br></br></i><br>i see your point to a point ;-) marc. but i fear you are very optimistic. but let's consider first the fact that the president ~ nor any other individual with sufficient power to legislate ~ did not listen to the people on the ERA. that was significant movement as well and one which was, in the end, refused.</br><br></br><br>but i don't want to compare movements, not at all, and i don't want to diminish in any way the struggle for civil rights which has been the pinnacle of all movements, my opinion only. but they are rights, not gifts, and shouldn't require laws to make change, you're right. and yet this country is a nation of laws and given human nature and the history of racism and prejudice in this country, without law, without legislating those rights, i don't think things would have changed. just my opinion.</br><br></br><br>but then again . . . imagine <i>this</i> president, <i>this</i> administration, <i>this</i> congress faced with the same outrage of the people, the same demands of the people, the same voices raised over injustice, demanding change. they represent us too. supposedly. </br><br></br><br>but if you think change would happpen now, you're far more optimistic than i am. the kind of dissent and activism that was a regular thing in the '60s would land folks in guantanimo these days. just my opinion, again, and it all just makes me so tired that i'm going to shut up now.</br><br></br><br>except for this: i love obama. love him. i cried listening to his speech post-NH. my heart lifted, i felt the most extravagant rush of hope and excitement and joy. it was incredible. i think having him as president of this country would be a magnificent thing. and i also love hillary clinton. i am deeply disturbed by what i've been hearing and i mistrust the messenger ~ the right wing -controlled media in this country ~ and will wait to see what happens.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-14_14:43:00", "killed": false, "user_key": "7f306b3009c480dcd5fc7baf547d1b80", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952943": {"up_voted": false, "ip": "", "has_replies": false, "message": "dear belle, thank you for coming a long way towards me. let me, nonetheless, put in some final points.<br></br><br>we cannot imagine today's world without the struggle for civil rights having succeeded. yet, i do dare to venture that if lbj had not done it, the course of the world's history would have forced the change upon the us of a. the world would have developed, and it would have drawn america along. the time was ripe. nowhere in the civilised world could we see an oppression as it was in the states. a ripe fruit had to be picked, or it had to fall to the ground by its own weight.</br><br></br><br>lbj's only part in history was to pick that fruit, like any farmer would have done out of pure logics, pure necessity for survival. he did it in time, and america stayed in tune with the rest of the world.</br><br></br><br>i hold this to be one historic fact. the present administration, the president... all those... ehem... people, they have no choice anymore, and they would have had no choice then. they can still opt for the house nigga. and they do. but even they are faced with the fact that there are no house niggas left anymore, and those who seem to be turn out to have their own lives. even these people, if back in the 60s, would have delayed the events by no more than 4 years. the fruit would have dropped to the ground, right at their feet. and it might have exploded.</br><br></br><br>see, that is what america is about, in its most positive way. and it is just this positive america hillary has denied its existence by going backwards, by telling us \"it took a president\", when the president was no more than a pawn of history, and history was brought about by the people. and it is so obvious that this could not have escaped her attention. not at her age, not with her experience.</br><br></br><br>instead of going backwards to reinterprete what happened, it is obama who lives it all today. who does not go backwards, who does not relive the conflicts of the past, but who goes beyond them: he does not care for color. he does care for justice, but he has already entered the next phase: that we are all one, we just have to live it. and there is no ignorance of the gaps which are still there, yet he does not look for solutions in the past. he builds on what we are, and points to the future, to what we can be. there is the hope! if he becomes president, this hope will have the sign it needs to become reality. even if still slowly, but that is how history works.</br><br></br><br>you can have history either way. you can look back at it, and you can make it yourself for a better future.</br><br></br><br>hillary still has to pull her arguments from the past. and, so that they suit her, even from a twisted past. i truely despise that.</br><br></br><br>and another word. do not blame the messenger. corporate news is as bad as it is, but when we are aware of the pitfalls, we can make do with what we get.</br><br></br><br>and what we got was hillary saying what she said to the cameras. we got her live on tv. we need no more. she really said it: \"it took a president\". no, hillary, it took the people. and it took history. and the people made history.</br><br></br><br>she said it to the cameras. this much i do believe my eyes.</br><br></br><br>and now she herself is history.</br><br></br><br>now, i don't want no more of that old shit. i need a new world. and a new leader who is up to his time, and maybe -hopefully- a little ahead of it.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-14_17:49:00", "killed": false, "user_key": "abae42e5f15036a8e5fb7c96309de1b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952944": {"up_voted": false, "ip": "", "has_replies": false, "message": "WHEN WILL WE STAND (not just in church) FOR DECENCY, Bill was impeached in 1998, he lied and lied under oath, prior to his impeachment it was the black community that he could look to for support, and we fought hard to keep him in office. Than we found out he had lied, and it hurt many black leaders who backed him. Most of whom are like the \"invisibles\" in Washington.<br>Upon Bill's 1998 exodus from Washington he took up shop in Harlem, what has he or Hillary done to improve Harlem?, or any other decaying black community across America? Hillary was the senator, what did she fight for while in the senate to better the African-American community in New York? Most women would divorce their husband for infidelity, and the thought of him being able to live in the White House again. No, we have principles too, we forgive him, but he has forfeited his opportunity to be in the White House, he is not worthy, very handsome, but not worthy to lead this country. So, what about Hillary? she is not the one, there is too much anger,baggage and drama.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-15_01:58:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952945": {"up_voted": false, "ip": "", "has_replies": false, "message": "belle, i have just re-read my last comment and i have to apologise for the sour tone in my last paragraph. the anger was not directed at you, i hope you understood that.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-15_09:51:00", "killed": false, "user_key": "abae42e5f15036a8e5fb7c96309de1b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952946": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't see this as Hillary being overtly racist, more that she's struggling and way out of touch.<br></br><br>On the one hand, here's Obama, speaking with the graceful articulation of a poet. On the other hand, there's Hillary. Speaking like every other candidate out there.</br><br></br><br>She's grasping and struggling for metaphors. She jealous of the passion Obama is inspiring in people, and her campaign desperately needs to do the same.  She's falling flat on her face, every time. It's like chips and guacamole? Maybe next time, it'll be about fried chicken and watermelon? Fried rice?</br><br></br><br>Out of touch corporate establishment politician.</br><br></br><br>DO NOT WANT.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-15_18:48:00", "killed": false, "user_key": "15e68ddf576464e1f871db7b2bccfec8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952947": {"up_voted": false, "ip": "", "has_replies": false, "message": "got it, marc. and i regret to say that i never thought about it that way. <br></br><br>though i have to say, too, that until this whole public blowup i never thought of the legislative aspect of the changes. it was the movement itself that changed my life, changed my view of the world. i wasn't thinking for a minute about what was going on in washington. it was people in the streets and the power of that. </br><br></br><br>with the exception of his insistent drive for bipartisanship (puke), that's what i get from obama: that excitement, we can change the world, we can make this a better place, come together, <i>be</i> better together than we ever will be alone. </br><br></br><br>i just want him to drop the bipartisanship. no. bipartisan means dems bend over and the rethugs give us a swift kick in the ass. or an ass fu**in dry. it's ugly. bipartisan doesn't work with these people. they've seized control of this country and we must ~ MUST ~ seize it back. i don't know how we can do that by being <i>bipartisan</i> when we're so far dangling over the right wing cliff we're just about done for. </br><br></br><br>he is brilliant, not blind, nobody's fool. in his position, he can ill afford to express the justified, righteous anger that is the only proper response to what bush & co. has done to us. </br><br></br><br>i hope president obama finds his pissed off voice. i need to hear that from him.</br><br></br><br>thanks for the enlightenment. i do appreciate it.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-16_00:19:00", "killed": false, "user_key": "7f306b3009c480dcd5fc7baf547d1b80", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952948": {"up_voted": false, "ip": "", "has_replies": false, "message": "belle, you give me much praise, and then you make me think like crazy.<br></br><br>yes... there is this risk in bipartisanship. it is just as you say. our side offering, the other one taking advantage. the soft, nice ones getting rolled over, and not for the first time.</br><br></br><br>i am wondering how bipartisan you have to get to be elegible to the masses. those masses you need to get the job. how many compromises...?</br><br></br><br>\"i hope president obama finds his pissed off voice. i need to hear that from him.\" blows my mind. you're really serious, you're so sincere and authentic. so many thoughts and feelings come up that i got to sort through them for some time.</br><br></br><br>i just hope obama reads these lines of yours, not the president, but the candidate. you have said so much in so few words.</br><br></br><br>thanks a lot, belle!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-16_14:42:00", "killed": false, "user_key": "abae42e5f15036a8e5fb7c96309de1b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952949": {"up_voted": false, "ip": "", "has_replies": false, "message": "Bill and Hillary Clampid were given a pass as honorary supporters of the black community. Nobody is calling them on the deeds. They have don nothing but yet we act as if they have done so much. Want to know what they really did? To much for me to post in a comment but read this for clarification.<br><a href=\"www.bumblezee.com/blogs/isis\" rel=\"nofollow\">BumbleZee.com/blogs/isis</a></br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-03_18:38:00", "killed": false, "user_key": "d9c11bdc5940f5e9306f7e788243a0eb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952950": {"up_voted": false, "ip": "", "has_replies": false, "message": "On the eve of Tuesday's showdown , Hillary is crying again.Is this not reminiscent of New Hampshire's primary on the eve of it's debacle. Something funny went down with those diebold machines.Will the crying game work again? Maxine Waters, block-headed John Lewis, ass-kissing Andy Young, punk Ron Dellums,et al.need their asses sand blasted.These Aunt Jemimah's & Uncle Toms belong in another century.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-04_21:53:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952951": {"up_voted": false, "ip": "", "has_replies": false, "message": "White Female Supremacy: The New Glass Ceiling<br></br><br></br><br>What is White Female Supremacy?</br><br></br><br>A white female supremacist is usually an educated white female professional who while claiming not to be racist, shows overwhelming preference and favoritism towards white females identical to herself. </br><br></br><br>A white female supremacist: </br><br> 1) takes advantage of affirmative action programs;</br><br> 2) surrounds herself with other white female professionals (her girlfriends);</br><br> 3) protects her turf and the positions of her white female friends while creating a new glass ceiling for people of color--especially Latino and Black women. </br><br></br><br>The white female supremacist does this while claiming to be the very ideal of modern workplace \"diversity\".</br><br></br><br>The white female supremacist is a fortunate person.</br><br>She likely comes from a middle or upper-class family background; and her privileges are many:</br><br> 1) she grew up middle or upper-class</br><br> 2) she went to college (paid for by her white male father).</br><br> 3) she is considered \"Thee Beauty Standard\" for the entire western world. (Go to any supermarket and look at the covers of all the major fashion magazine.)</br><br> 4) she uses affirmative action preferences to gain positions of power within the pubic and private sector; and</br><br> 5) she--if attractive--uses her sexuality to curry favor with powerful white males within the workplace hierarchy. </br><br></br><br>The white female supremacist actually believes she is not a racist, yet her actions prove otherwise. Careful examination of nearly any public or private workplace environment will overwhelmingly depict a phenomena of white female privilege, i.e. \"The All White Girls' Club\".</br><br></br><br>Meanwhile, women of color, educated and hardworking, are confronted with a new kind of discrimination--a hidden and insidious form of hate--I call it White Female Supremacy, and it seems very little attention is paid to its painful and destructive presence for any individual not like her, or her white female sisters.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-18_23:22:00", "killed": false, "user_key": "6f78a519752a9c5b8fbfb2ff865ca17e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952893": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hillary Clinton on the Today show with Matt Lauer said, Obama hasn't done the \"spade\" work.<br></br><br>If that comment wasn't racist, I don't know what is!</br><br></br><br>But of course, she'll get a free pass on her racist comments.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_18:30:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952894": {"up_voted": false, "ip": "", "has_replies": false, "message": "its clear from the actual quotes that Hillary is saying, Kennedy was hopeful, but LBJ acted.<br></br><br>Reporter quoting OBAMA. \"False Hopes. Dr King standing on the steps of the Lincoln Memorial looking out over the magnificent crowd, the reflecting pool, the Washington Memorial, sorry guys, false hopes, the dream will die, it can't be done, false hopes, we don't need leaders who tell us what we can't do, we need leaders to tell us what we can do and inspire us.\"</br><br></br><br>Reporter: Would you react to that?</br><br></br><br>Senator Clinton: \"I would, and I would point to the fact that that Dr. King's dream began to be realized when President Johnson passed the Civil Rights Act in 1964, when he was able to get through Congress something that President Kennedy was hopeful to do, the President before had not even tried, but it took a president to get it done. That dream became a reality, the power of that dream became a real in peoples eyes because we had a president who said we are going to do it, and actually got it accomplished.\"</br><br></br><br>LOOK.. Both Clinton and Obama are running for president, and Obama has been compared to President Kennedy, and has even welcomed the comparison. She is implicitly saying hey look, Kennedy was hopeful, but he didn't get it done. LBJ got it done. She is comparing herself to LBJ. It might not be the wisest move, but shes saying instead of being hopeful for it like Kennedy, I will get it done.</br><br></br><br>Whether or not you agree with her, shes trying to use this augment that hope is one thing, but results are another. Now you may say Clinton has no results of her own, or whatever, I'm fine with that, but to say she is diminishing MLK, and that MLK hoped, but LBJ acted is not accurate.</br><br></br><br></br><br>Please view the video before you attack Hillary.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_19:02:00", "killed": false, "user_key": "5890173d9af65065af76e4b6d1744a58", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1952895": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://www.youtube.com/watch?v=6ikowGJj8pg%3Cbr%3E%3C/br%3E%3Cbr%3Ehere\" rel=\"nofollow\">http://www.youtube.com/watch?v=6ikowGJj8pg<br>&lt;...</a> is the video..</br><br></br><br>the politico article you cite does quotes Hillary without including a huge chunk of what she said in the middle, which clearly makes it misleading.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-07_19:06:00", "killed": false, "user_key": "5890173d9af65065af76e4b6d1744a58", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "2454523", "user_id": "anonymous", "forum_id": "21630", "hash": -1610475999695902694}, "thread": {"days_alive": 0, "slug": "hillary_you_negroes_better_thank_the_white_man_for_your_rights", "paginate": false, "num_pages": 1, "num_posts": 59, "per_page": 0, "total_posts": 0, "realtime_paused": true, "id": 2454523, "queued": false}, "reactions_limit": 10, "context": {"show_reply": true, "use_fb_connect": true, "forum_facebook_key": "bd6a8bc56f8eb204984f34b6fefe228d", "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: ";
};
// 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 = '3a1994e3330279e78957da82fb64f754';
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=jackandjillpolitics' +
		'&t=hillary_you_negroes_better_thank_the_white_man_for_your_rights' +
		'&ff=' + Dsq.Thread.ff +
		'&default_text=' + 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://jackandjillpolitics.disqus.com/hillary_you_negroes_better_thank_the_white_man_for_your_rights/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>';
		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"> \
				<form action="." method="GET" onsubmit="Dsq.Templates.postComment(' + post_id + ', this, false); return false;"> \
				<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">Subscribe to all comments by email</a></li> \
									<li><a href="#" onclick="Dsq.Templates.setSubscribe(0, this, ' + post_id + '); return false">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> \
				</form> \
			</div>'
			: '')
			+ '<div class="dsq-post-footer"> \
				<div class="dsq-sharing-options" ' + (!display_sharing_options ? 'style="display:none;"' : '') + '> \
					<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 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 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 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 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 class="dsq-button-small">' + Dsq.Strings.REPLY + '</button> \
						<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 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 ' + (reaction.source == 'backtype' ? '<a href="http://backtype.com/">BackType</a>' : '<a href="' + reaction.source_url + '">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 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 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 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 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 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 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 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="" /> 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 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/jackandjillpolitics/thread.js'
			+ '?slug='	+ 'hillary_you_negroes_better_thank_the_white_man_for_your_rights'
			+ '&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/jackandjillpolitics/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://jackandjillpolitics.disqus.com/hillary_you_negroes_better_thank_the_white_man_for_your_rights/reply.html';
	this.REQUEST_USER_PROFILE = '/AnonymousUser/';
	this.REQUEST_USER_AVATAR = 'http://media.disqus.com/images/noavatar92.png';
};
// Dsq.Urls

/**
 * Dsq.Validators: Validation for form fields
 */
Dsq.Validators = new function() {
	this.VALID_EMAIL_RE = /^[a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*\@(([a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*)+\.[a-z]{2,}|([0-9]+\.){3}[0-9]+)$/i;
	this.name = function(name) {
		var error = false;

		if(typeof Dsq.Templates.placeholder !== 'undefined' &&
		   name == Dsq.Templates.placeholder.name) {
			error = true;
		}
		if(name.length <= 1) {
			error = true;
		}

		if(error) {
			return "Please enter a name to comment.";
		} else {
			return true;
		}
	};
	this.email = function(addr) {
		if(Dsq.Validators.VALID_EMAIL_RE.test(addr)) {
			return true;
		} else {
			return "Please enter a valid email to comment.";
		}
	};
	this.url = function(addr) {
		if(!addr || addr.indexOf('.') != -1) {
			return true;
		} else {
			return "Please check your website URL (this field is optional).";
		}
	};

	this.validate = function(bulk_validation, failure_callback) {
		failure_callback = failure_callback || function(e){ alert(e); };

		for(var i = 0; i < bulk_validation.length; i++) {
			v = bulk_validation[i];
			ret = v.validator(v.value);
			if(ret !== true) {
				failure_callback(ret);
				return false;
			}
		}
		return true;
	};
};

/**
 * Dsq.Utils: Generic utility functions.
 */
Dsq.Utils = new function() {
	this.ie = /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
	this.ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false;
	this.ie6 = (!window.XMLHttpRequest) ? true: false;
	this.webkit = navigator.userAgent.indexOf('AppleWebKit/') >= 0;
	this.gebiFromElementCollectionCache = {};
	this._styleSheet = null;

	this.gebiFromElement = function(el, id, tag) {
		// This only method only helps IE.
		if(!this.ie) {
			return Dsq.$(id);
		} else {
			var cacheKey = el.id + '-' + tag;
			tag = tag || 'div';
			if(typeof this.gebiFromElementCollectionCache[cacheKey] != 'undefined') {
				collection = this.gebiFromElementCollectionCache[cacheKey];
			} else {
				collection = el.getElementsByTagName(tag);
				this.gebiFromElementCollectionCache[cacheKey] = collection;
			}

			for(var i = 0; i < collection.length; i++) {
				if(collection[i].id == id) {
					return collection[i];
				}
			}
			return null;
		}
	};

	this.execOnReady = function(func) {
		var node = document.createElement('document:ready');
		try {
			node.doScroll('left');
			func();
			node = null;
		} catch(err) {
			setTimeout(function() { Dsq.Utils.execOnReady(func); }, 10);
		}
	};


	// Courtesy of http://www.quirksmode.org/js/cookies.html
	this.createCookie = function(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	};

	this.readCookie = function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	};

	this.eraseCookie = function(name) {
		Dsq.Utils.createCookie(name,"",-1);
	};

	this.deleteNode = function(node) {
		if(node) {
			this.deleteChildren(node);
			if(typeof node.outerHTML != 'undefined') { node.outerHTML = ''; }
			else if(node.parentNode) { node.parentNode.removeChild(node); }
			delete node;
		}
	};

	this.deleteChildren = function(node) {
		if(node) {
			for(var x = node.childNodes.length-1; x >= 0; x--) {
				var childNode = node.childNodes[x];
				if(childNode.hasChildNodes()) { this.deleteChildren(childNode); }
				if(typeof childNode.outerHTML != 'undefined') { childNode.outerHTML = ''; }
				else node.removeChild(childNode);
				delete childNode;
			}
		}
	};

	this.findPos = function(obj) {
		var curleft = 0;
		var curtop = 0;
		if (obj.offsetParent) {
			do {
				curleft += obj.offsetLeft;
				curtop += obj.offsetTop;
			} while (obj = obj.offsetParent);
		}
		return [curleft,curtop];
	};

	this.getWindowSize = function() {
		var windowWidth = -1;
		var windowHeight = -1;

		if(typeof(window.innerWidth) == 'number') { //Non-IE
			windowWidth = window.innerWidth;
			windowHeight = window.innerHeight;
		} else if(document.documentElement) { // IE 6+ in 'standards compliant mode'
			windowWidth = document.documentElement.clientWidth || document.body.clientWidth;
			windowHeight = document.documentElement.clientHeight || document.body.clientHeight;
		}

		return [windowWidth, windowHeight];
	}

	this.getScrollPos = function() {
		var scrollWidth, scrollTop;

		if(document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollWidth)) {
			scrollWidth = document.documentElement.scrollWidth;
			// IE is weird here.  If no doctype is provided, document.body.scrollTop is 0,
			// otherwise document.documentElement.scrollTop is 0.
			scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
		} else if(document.body.scrollTop && document.body.scrollWidth) {
			scrollWidth = document.body.scrollWidth;
			scrollTop = document.body.scrollTop;
		}

		return [scrollWidth, scrollTop];
	}

	this.addEventListener = function(instance, eventName, listener) {
		var listenerFn = listener;
		if (instance.addEventListener) {
			instance.addEventListener(eventName, listenerFn, false);
		} else if (instance.attachEvent) {
			listenerFn = function() {
				listener(window.event);
			};
			instance.attachEvent("on" + eventName, listenerFn);
		} else {
			throw new Error("Event registration not supported");
		}
		return {
			instance: instance,
			name: eventName,
			listener: listenerFn
		};
	};

	this.removeEventListener = function(event) {
		var instance = event.instance;
		if (instance.removeEventListener) {
			instance.removeEventListener(event.name, event.listener, false);
		} else if (instance.detachEvent) {
			instance.detachEvent("on" + event.name, event.listener);
		}
	};

	this.fixIframesIE = function(id) {
		var disqusThread = Dsq.$(disqus_container_id);
		var iframes = disqusThread.getElementsByTagName('iframe');

		if(id) {
			var container = Dsq.$(id);
		} else {
			var container = Dsq.$('dsq-content');
		}

		for(i = 0; i < iframes.length; i++) {
			if (container) {
				iframes[i].style.width = container.offsetWidth;
			}
		}
	};

	this.getElementsByClassName = function(oElm, strTagName, strClassName) {
	/* Credit: Jonathan Snook [http://www.snook.ca/jonathan], Robert Nyman [http://www.robertnyman.com] */
		var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
		var arrReturnElements = new Array();
		strClassName = strClassName.replace(/\-/g, "\\-");
		var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
		var oElement;
		for(var i = 0; i < arrElements.length; i++) {
			oElement = arrElements[i];
			if(oRegExp.test(oElement.className)) {
				arrReturnElements.push(oElement);
			}
		}
		return (arrReturnElements);
	};

	this.postToUrl = function(url, post_data, opt_redirect) {
		var form = document.createElement('form');
		var iframe_container = document.createElement('div');
		var id = 'dsq-temp-iframe-' + (new Date()).getTime();

		form.method = 'POST';
		form.action = url;
		if (!opt_redirect) {
			form.target = id;
		}
		iframe_container.innerHTML = '<iframe style="display:none" name="' + id + '" id="' + id + '"></iframe>';

		for(var key in post_data) {
			if(post_data.hasOwnProperty(key)) {
				var input = document.createElement('input');
				input.name = key;
				input.type = 'hidden';
				input.value = post_data[key];

				form.appendChild(input);
			}
		}

		Dsq.$b.appendChild(iframe_container);
		Dsq.$b.appendChild(form);
		form.submit();
	};

	// Strips integer id from id of element in the form ('some-id-###')
	this.extractId = function(e) {
		var chunks = e.id.split('-');
		if(chunks.length <= 1) {
			return 0;
		} else {
			return parseInt(chunks[chunks.length-1]);
		}
	};

	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 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/jackandjillpolitics/_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">59</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://jackandjillpolitics.disqus.com/hillary_you_negroes_better_thank_the_white_man_for_your_rights/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://jackandjillpolitics.disqus.com/hillary_you_negroes_better_thank_the_white_man_for_your_rights/">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><a href="http://disqus.com/profile/login/?next=article:2454523" onclick="Dsq.Popup.login(); return false">You must log into your Disqus Profile in order to post comments.</a></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 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://jackandjillpolitics.disqus.com/hillary_you_negroes_better_thank_the_white_man_for_your_rights/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 ' + (reaction.source == 'backtype' ? '<a href="http://backtype.com/">BackType</a>' : '<a href="' + reaction.source_url + '">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><a href="http://disqus.com/profile/login/?next=article:2454523" onclick="Dsq.Popup.login(); return false">You must log into your Disqus Profile in order to post comments.</a></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 Jack and Jill Politics" 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:2454523" 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'				: 'jackandjillpolitics',
			't'				: 'hillary_you_negroes_better_thank_the_white_man_for_your_rights',
			// 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/jackandjillpolitics/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/jackandjillpolitics/hillary_you_negroes_better_thank_the_white_man_for_your_rights/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 onclick="Dsq.Popup._closePopup(null, true)"><strong>' + Dsq.Strings.NO + '</strong>, ' + Dsq.Strings.NEVER_MIND + '</button>&nbsp;&nbsp;&nbsp;<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/jackandjillpolitics/thread.js'
			+ '?slug='	+ 'hillary_you_negroes_better_thank_the_white_man_for_your_rights'
			+ '&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/jackandjillpolitics/thread.js'
			+ '?slug='	+ 'hillary_you_negroes_better_thank_the_white_man_for_your_rights'
			+ '&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/jackandjillpolitics/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'hillary_you_negroes_better_thank_the_white_man_for_your_rights'
				+ '&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 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 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.updateDaysAlive = function() {
		var days = Dsq.$('dsq-thread-days-alive').value;
		var status = Dsq.$('dsq-thread-settings-status');
		Dsq.Utils.postToUrl('http://disqus.com/forums/jackandjillpolitics/update_days_alive.js', {days:days,thread:Dsq.jsonData.thread.id});
		status.innerHTML = 'Saved!';
		window.setTimeout(function() { status.innerHTML = ''; }, 1000);
	};
};
// 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/2454523/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/jackandjillpolitics/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/jackandjillpolitics/queueurl.js');
	};
};

Dsq.CNN = function() {
	var obj = {};

	obj.authenticate = function() {
		var url = Dsq.jsonData.settings.disqus_url + "/saml/cnn/try/";
		Dsq.Utils.postToUrl(url, {'target': document.location}, true);
	};

	return obj;
}();


if(Dsq.Utils.ie6) {
	(function() {
		DSQ_HEADER_AVATAR_RE = /<div class="dsq-header-avatar"(.*?)>/gim;
		Dsq.Templates.registerFilter('postPrependHeader', function(html, post_id) {
			// Add "onmouseout" for dsq-header-avatar for dropProfile
			// functionality since IE6 cannot use :hover.
			function _headerAvatarReplace(content, inner, _unused, html) {
				return '<div class="dsq-header-avatar" '
					+ inner
					+ ' onmouseout="Dsq.Post.dropProfile(' + post_id + ')">';
			}
			html = html.replace(DSQ_HEADER_AVATAR_RE, _headerAvatarReplace);
			return html;
		});
	})();
}





	// TODO: Move Seesmic code outside of the main script.  Don't let this script clobber the global namespace.
	if(typeof seesmic == 'undefined') { var seesmic = {}; }
	seesmic.widget = new function () {
		this.callback = function (data) {
			playerVersion = data.disqusplayer;
		};
	};

	
	var scriptEl = document.createElement('script');
	scriptEl.setAttribute('type', 'text/javascript');
	scriptEl.setAttribute('src', 'http://seesmic.com/version.js?callback=seesmic.widget.callback');
	document.getElementsByTagName('head')[0].appendChild(scriptEl);

	
	var scriptEl = document.createElement('script');
	scriptEl.setAttribute('type', 'text/javascript');
	scriptEl.setAttribute('src', 'http://media.disqus.com/javascript/library/swfobject.js');
	document.getElementsByTagName('head')[0].appendChild(scriptEl);

	function see_play_video(_videoUri, _add) {
		var swf = !!playerVersion ? playerVersion : 'http://seesmic.com/embeds/StandalonePlayer.swf';

		flashcontentDiv = Dsq.$(_videoUri + '_content');
		previewDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_preview');
		hideDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_hide');
		showDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_show');
		if(_add) {
			// push flash widget
			var so = new SWFObject(swf, 'sotester', '300', '270', '9', '#000000');
			so.addVariable('video', _videoUri);
			so.addParam('allowFullScreen', 'true');
			so.addParam('allowScriptAccess','always');
			so.useExpressInstall('swfobject/expressinstall.swf');
			so.write(_videoUri + '_content');

			previewDiv.style.display = 'none';
			hideDiv.style.display = 'block';
			showDiv.style.display = 'none';
		}
		else {
			flashcontentDiv.innerHTML = '';
			previewDiv.style.display = 'block';
			hideDiv.style.display = 'none';
			showDiv.style.display = 'block';
		}
	};





(function() {
	//
	// Load theme.  This overrides the base templates with template functions
	// from the respective themes.
	//
	if (Dsq.jsonData.integration.theme == 4) {
		var theme = 'narcissus';
		// HACK: Set variable on window to use post message.
		window.disqus_use_postmessage = true;

		
		for(var prop in Dsq.Themes[theme]) {
			if(Dsq.Themes[theme] && Dsq.Themes[theme].hasOwnProperty(prop)) {
				Dsq.Templates[prop] = Dsq.Themes[theme][prop];
			}
		}
		
		for(var prop in Dsq.Post) {
			if(Dsq.Themes[theme] && Dsq.Themes[theme].hasOwnProperty(prop)) {
				Dsq.Post[prop] = Dsq.Themes[theme][prop];
			}
		}
	}

	//
	// Register templates.  This must be done after all themes are loaded.
	//
	Dsq.Templates.registerTemplate('authPost', Dsq.Templates.authPost);
	Dsq.Templates.registerTemplate('header', Dsq.Templates.header);
	Dsq.Templates.registerTemplate('footer', Dsq.Templates.footer);
	Dsq.Templates.registerTemplate('trackbacks', Dsq.Templates.trackbacks);
	Dsq.Templates.registerTemplate('reactions', Dsq.Templates.reactions);
	Dsq.Templates.registerTemplate('prependPost', Dsq.Templates.prependPost);
	Dsq.Templates.registerTemplate('appendPost', Dsq.Templates.appendPost);
	Dsq.Templates.registerTemplate('postPrependHeader', Dsq.Templates.postPrependHeader);
	Dsq.Templates.registerTemplate('postAppendHeader', Dsq.Templates.postAppendHeader);
	Dsq.Templates.registerTemplate('preBody', Dsq.Templates.preBody);
	Dsq.Templates.registerTemplate('postBody', Dsq.Templates.postBody);
	Dsq.Templates.registerTemplate('postFooter', Dsq.Templates.postFooter);
	Dsq.Templates.registerTemplate('_popupGeneric', Dsq.Templates._popupGeneric);
	Dsq.Templates.registerTemplate('voted', Dsq.Templates.voted);
	Dsq.Templates.registerTemplate('popupProfile', Dsq.Templates.popupProfile);
	Dsq.Templates.registerTemplate('postBox', Dsq.Templates.postBox);
	Dsq.Templates.registerTemplate('pagination', Dsq.Templates.pagination);
	Dsq.Templates.registerTemplate('postComment_onSuccess', Dsq.Templates.postComment_onSuccess);

})();

Dsq.container.className = "clearfix";
Dsq.container.innerHTML = ' \
<ul id="dsq-comments">\
	 <li id="dsq-comment-1952893">\
	 <div id="dsq-comment-header-1952893" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952893" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952893">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952893" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952893" class="dsq-comment-message">Hillary Clinton on the Today show with Matt Lauer said, Obama hasn\'t done the "spade" work.<br></br><br>If that comment wasn\'t racist, I don\'t know what is!</br><br></br><br>But of course, she\'ll get a free pass on her racist comments.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952894">\
	 <div id="dsq-comment-header-1952894" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952894" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952894">anthony cromartie</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952894" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952894" class="dsq-comment-message">its clear from the actual quotes that Hillary is saying, Kennedy was hopeful, but LBJ acted.<br></br><br>Reporter quoting OBAMA. "False Hopes. Dr King standing on the steps of the Lincoln Memorial looking out over the magnificent crowd, the reflecting pool, the Washington Memorial, sorry guys, false hopes, the dream will die, it can\'t be done, false hopes, we don\'t need leaders who tell us what we can\'t do, we need leaders to tell us what we can do and inspire us."</br><br></br><br>Reporter: Would you react to that?</br><br></br><br>Senator Clinton: "I would, and I would point to the fact that that Dr. King\'s dream began to be realized when President Johnson passed the Civil Rights Act in 1964, when he was able to get through Congress something that President Kennedy was hopeful to do, the President before had not even tried, but it took a president to get it done. That dream became a reality, the power of that dream became a real in peoples eyes because we had a president who said we are going to do it, and actually got it accomplished."</br><br></br><br>LOOK.. Both Clinton and Obama are running for president, and Obama has been compared to President Kennedy, and has even welcomed the comparison. She is implicitly saying hey look, Kennedy was hopeful, but he didn\'t get it done. LBJ got it done. She is comparing herself to LBJ. It might not be the wisest move, but shes saying instead of being hopeful for it like Kennedy, I will get it done.</br><br></br><br>Whether or not you agree with her, shes trying to use this augment that hope is one thing, but results are another. Now you may say Clinton has no results of her own, or whatever, I\'m fine with that, but to say she is diminishing MLK, and that MLK hoped, but LBJ acted is not accurate.</br><br></br><br></br><br>Please view the video before you attack Hillary.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952895">\
	 <div id="dsq-comment-header-1952895" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952895" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952895">anthony cromartie</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952895" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952895" class="dsq-comment-message"><a href="http://www.youtube.com/watch?v=6ikowGJj8pg%3Cbr%3E%3C/br%3E%3Cbr%3Ehere" rel="nofollow">http://www.youtube.com/watch?v=6ikowGJj8pg<br>&lt;...</a> is the video..</br><br></br><br>the politico article you cite does quotes Hillary without including a huge chunk of what she said in the middle, which clearly makes it misleading.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952896">\
	 <div id="dsq-comment-header-1952896" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952896" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952896">brklyngrl</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952896" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952896" class="dsq-comment-message">There are so many things wrong with what she said. One more: if it takes a President to get things done, Obama\'s in luck, yes, since he\'s running for President and  not leading a social movement?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952897">\
	 <div id="dsq-comment-header-1952897" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952897" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952897">Webbuh</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952897" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952897" class="dsq-comment-message">Before this post, I was thinking that Hillary might win in NY...and that would be IT...No California, No Texas, Not the South...<br></br><br>After reading this post, she needs to lose NY too.</br><br></br><br>If what Bill said is true about Mandela, you folks in Harlem seriously need to run him out of there... yesterday.  Let him take his ass on down to midtown.</br><br></br><br>The Clintons...Our Great White Saviours...I think i\'ll create a video for youtube where I start shuckin, jiving, "OH suh, I LUV Me Sum Clinton!"  Where is Aaron McGruder and the Boondocks when you need him and it???</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952898">\
	 <div id="dsq-comment-header-1952898" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952898" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952898">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952898" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952898" class="dsq-comment-message">Hillary just lost all Black Support.<br></br><br>"Dr. King\'s dream began to be realized when President Johnson passed the Civil Rights Act. It took a president to get it done. The power of that dream became real in people\'s lives because we had a president capable of action." ~ Hillary "I don feelz nowayz tarred" Clinton</br><br></br><br>In other words, Blacks can\'t get anything done with out a White President. That\'s how everyone is looking at it. Black, White, Latino. Everyone is pissed off right now.</br><br></br><br>Check out Daily Kos. They went nuts !</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952899">\
	 <div id="dsq-comment-header-1952899" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952899" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952899">The Bag of Health and Politics</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952899" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952899" class="dsq-comment-message">She\'s clearly a racist, and will be remembered as one in history.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952900">\
	 <div id="dsq-comment-header-1952900" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952900" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952900">Nita</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952900" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952900" class="dsq-comment-message">Thank you Anthony Cromartie. I\'m ready to slap some sense into her myself -- not out of hate, but out of love, because I\'m honestly worried about her and where her mind is.<br></br><br>If she\'s being Will Smithed, that\'s one thing.  But I need to get the headsets to hear the full quote indeed to hear for myself.</br><br></br><br>There are still better ways to finesse this than to imply that the end all be all of the Civil Rights movement was LBJ\'s political sacrifice with the stroke of a pen... or that MLK and his ultimate sacrifice are somehow lesser than LBJ\'s.</br><br></br><br>Hillary needs to get it together.  She needs a break.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952901">\
	 <div id="dsq-comment-header-1952901" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952901" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952901">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952901" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952901" class="dsq-comment-message">1) Don\'t get overconfident.  Obama needs people to get out and vote.  Polls don\'t elect candidates alone. We need to stay focused.<br> </br><br>2) Most importantly: Don\'t react or Don\'t feed the Troll (for a better word).  The Clintons are experts in dirty politics.  The beauty of the Obama campaign is to unite us all and not divide us.  Especially on race.  Don\'t you think it is quite weird that she would come out with bigoted expressions?  It is calculated IMHO!  If she divides and conquers she can try to get people on her side if Obama supports cry racism.  Ignore the troll-like responses from the Clinton campaign.  They are getting desperate as hell.  Don\'t bite. </br><br> </br><br>KEEP POSITIVE AND TURN OUT THE VOTE FOR OBAMA 08!! PLEASE</br><br> </br><br>Sis</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952902">\
	 <div id="dsq-comment-header-1952902" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952902" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952902">G.D.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952902" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952902" class="dsq-comment-message">how did y\'all get all that from what she said?<br></br><br>y\'all are hellbent on painting this woman as some kind of racist monster.</br><br></br><br>does support for Obama require the demonization of Hillary? or vice versa?</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952903">\
	 <div id="dsq-comment-header-1952903" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952903" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952903">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952903" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952903" class="dsq-comment-message">By no means do I believe the Clintons are racist - not in the least.  That said, I do believe that the Clintons\' self-interest trumps all in their camp.<br></br><br>When I heard Bill\'s comments about Mandela, I was shocked, but Hillary?  WHAT was she THINKING???  Even taken in context...  A more correct framing would be LBJ would never have had the guts to push through the Civil Rights  Act if it hadn\'t had been for a great movement. If she understood this, she\'d realize that the Clinton Era is over.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952904">\
	 <div id="dsq-comment-header-1952904" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952904" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952904">Nita</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952904" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952904" class="dsq-comment-message">Anonymous, on point number 2, you may be right.  That is even nastier; that\'s beyond cynical, if it\'s true. I\'m hoping that things just didn\'t come out right.<br></br><br>If this is planned, for the specific purpose you mention. I weep.  I weep because I wouldn\'t put it past several people.  But I\'m going to hope the Clintons aren\'t in this case.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952905">\
	 <div id="dsq-comment-header-1952905" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952905" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952905">dnA</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952905" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952905" class="dsq-comment-message">G.D.<br></br><br>I didn\'t even mention Obama. You did. </br><br></br><br>How is characterizing Lyndon Johnson as the one who did all the work and MLK as simply a great orator NOT what she said?</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952906">\
	 <div id="dsq-comment-header-1952906" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952906" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952906">The Bag of Health and Politics</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952906" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952906" class="dsq-comment-message">I think anonymous number 2 might\'ve nailed it. I\'ll try to restrain myself in the future. This stuff just pisses me off. I will be happy when the era of complete cynicism that Hillary represents ends. I hope that will be tomorrow night. But we\'ll probably have to wait a few weeks.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952907">\
	 <div id="dsq-comment-header-1952907" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952907" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952907">metricpenny</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952907" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952907" class="dsq-comment-message">In the 1960 presidential election campaign John F. Kennedy argued for a new Civil Rights Act. After the election it was discovered that over 70 per cent of the African American vote went to Kennedy. However, during the first two years of his presidency, Kennedy failed to put forward his promised legislation.<br></br><br>The Civil Rights bill was brought before Congress in 1963 and in a speech on television on 11th June, Kennedy pointed out that: "The Negro baby born in America today, regardless of the section of the nation in which he is born, has about one-half as much chance of completing high school as a white baby born in the same place on the same day; one third as much chance of completing college; one third as much chance of becoming a professional man; twice as much chance of becoming unemployed; about one-seventh as much chance of earning $10,000 a year; a life expectancy which is seven years shorter; and the prospects of earning only half as much."</br><br></br><br>Kennedy\'s Civil Rights bill was still being debated by Congress when he was assassinated in November, 1963. (Excerpted from <a href="http://www.spartacus.schoolnet.co.uk/%3C/br%3E%3Cbr%3EUSAcivil64.htm%29%3C/br%3E%3Cbr%3E%3C/br%3E%3Cbr%3EWhether" rel="nofollow">http://www.spartacus.schoolnet.co.uk/</br><br>U...</a> or not one views Sen. Clinton\'s remarks as disrespectful of Rev. Dr. King and other civil rights s/heroes, they were certainly disrespectful of President Kennedy.</br><br></br><br>When he took office there was a hostile Congress made up of Republicans and conservative southern DEMOCRATS blocking his legislation. He spent most of his first 2 years in office dealing with the Bay of Pigs, the Cuban Missile Crisis and protecting the country against the Soviets who were placing long-range missiles in Cuba.</br><br></br><br>To let Sen. Clinton tell it, he was just sitting around the oval office  hoping and wishing and writing speeches.</br><br></br><br>Methinks she hit bottom with this one. Sometimes pulling out all stops to win results in one going down the drain.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952908">\
	 <div id="dsq-comment-header-1952908" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952908" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952908">G.D.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952908" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952908" class="dsq-comment-message">dna: it\'s just supremely clumsy wording. <br></br><br>again, do you think she actually believes that? do you think that\'s what she actually meant?</br><br></br><br>if you do, can you explain how it make any political sense whatsoever?</br><br></br><br>(i\'m not sure what she meant, but that goes to my point. it was a clumsy-ass jumble.)</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952909">\
	 <div id="dsq-comment-header-1952909" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952909" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952909">Rusty B. Schwartz</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952909" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952909" class="dsq-comment-message">"This is the kind of revisionist history I expect from the most extreme white supremacist kooks."<br></br><br>this line makes me angry. very angry. before i get into it, let me say that i am 100% in the obama camp and i think that hillary\'s point is not particularly valid. HOWEVER: one of my pet peeves among sloppy popular mythmakers is that LBJ was "reacting" to change, as you say, and not "making" it- if you actually read the history, if you actually study the maneuvers and machinations that Johnson employed during his career in the senate and the white house, you will see that he is the one who bucked and tricked the real "white supremicists" - the Thurmonds and Russells and all the southern bloc that had stood in the way of institutional change and planned carefully to be able to do so indefinitely. And they very well may have if it hadn\'t been for Johnson.</br><br></br><br>Indeed, I think the LBJ analogy cuts in Obama\'s favor- he can make progress on important issues because he, like LBJ can bridge not only the rhetorical gaps in our popular political culture, but also the intellectual chasms in government (as he actually had a lot of experience doing in the IL state senate).</br><br></br><br>MLK should not be derided or his achievements or sacrifice belittled, but the demonization of lyndon johnson (mostly deserved for vietnam but completely uncalled for beyond that) makes me sick and embarrassed.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952910">\
	 <div id="dsq-comment-header-1952910" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952910" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952910">Webbuh</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952910" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952910" class="dsq-comment-message">Great points Mr. Schwartz but you raised a major question for me:  "How was LBJ able to \'buck and trick\' the real white supremacists?"<br></br><br>Sure, LBJ was a skilled maneuverer but he needed political capital to achieve the Civil Rights Act.  Where did the political capital come from Mr. Schwartz?  The political power came from the assassination and martyrdom of JFK.  That\'s where LBJ\'s motivation was born--to fulfill JFK\'s dream, agenda and vision--the Thurmonds and Russells be damned.</br><br></br><br>So LBJ didn\'t achieve the Civil Rights Act only on the basis of his own political abilities, he achieved it through blood shed by the Dreamer.</br><br></br><br>America can only advance through visionary-principled leadership, not political hacks.  All of the Clinton\'s so-called achievements for "black folks" were easily dismantled by Bush.  </br><br></br><br>I have turned the page on the Clintons...looks like the rest of America is about to do the same.</br><br></br><br>Go *O* 2008!!!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952911">\
	 <div id="dsq-comment-header-1952911" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952911" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952911">section9</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952911" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952911" class="dsq-comment-message">Pardon me, but do the words "Jesus tap-dancing Christ" mean anything? Look, Hillary is saying what generations of white liberals have actually believed.<br></br><br><i>Without our help, you\'d still be running from the Klan! So you\'d best vote for the right candidate!</i></br><br></br><br>Johnson should be credited for initiating the move to push through the Civil Rights Act of 1964 (as should Everett McKinley Dirksen of Illinois, the Republican floor leader who actually made sure that it survived any filibuster attempts by southern Democrats, btw). However, Johnson was, like most politicians, <i>reactive</i>, not leading a movement. The push for Civil Rights came out of the streets, not out of the halls of Congress. </br><br></br><br>That Hillary doesn\'t appear to get this intuitively speaks volumes about her.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952912">\
	 <div id="dsq-comment-header-1952912" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952912" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952912">baratunde aka jack turner</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952912" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952912" class="dsq-comment-message">dnA wrote: "one of the worst campaign strategies I\'ve ever heard of in my life is associating your opponent with Martin Luther King Jr. Clearly, Hillary wants to lose."<br></br><br>this is the realness! what a great line.</br><br></br><br>I was going to do a follow-on post, but am glad I read the comments. Yall are on it.</br><br></br><br>The crime is not only in her diminishing the role of the soldiers on the street but completely misreading history. </br><br></br><br>Johnson was able to do what he did because JFK got killed!</br><br></br><br>maybe she\'s suggestion Obama-the-Hopeful becomes president, she becomes VP, Obama gets assassinated, then she comes in as president and realizes his dreams?</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952913">\
	 <div id="dsq-comment-header-1952913" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952913" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952913">Phillip M. Bailey</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952913" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952913" class="dsq-comment-message">I saw this earlier yesterday. Can you hear all the old guard civil rights legends who endorsed Hilary (Rep. John Lewis, Andrew Young, etc.)  creeping away from her after that comment? Basically Hilary is saying that LBJ and the U.S. government --- not SNCC, not the Freedom Riders, not Rosa Parks, not Ella Baker, not Dr. King, not the NAACP --- is the reason for the Black Freedom Struggle.<br></br><br><b>Remarkable!</b> </br><br></br><br>No seriously, the Clinton & Clinton Co. has lost it. Now she\'s Nelson Mandela??? They\'re reading from the 1990s playbook when big Bill was the <i>"first black president"</i> (<b>bullshit!</b>) and they could run that garbage on Jesse & Al.</br><br></br><br>Their hubris has given them a sense of entitlement. They really can\'t believe Obama is beating them. </br><br></br><br>Regardless of what happens in New Hampshire today everyone knew she was going to get hammered in S. Carolina --- after going negative on MLK this should once and for all end the love affair between the Clintons and black voters everywhere. </br><br></br><br>Peace,</br><br><a href="http://the-soulution.blogspot.com/" rel="nofollow">The SOULution</a></br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952914">\
	 <div id="dsq-comment-header-1952914" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952914" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952914">Luv</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952914" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952914" class="dsq-comment-message">As with anything, nothing is ever as simple as portrayed.<br></br><br>All major civil rights victories in this country were achieved by blacks and whites working TOGETHER.</br><br></br><br>But blacks have always taken on the actually hostility, discrimination and DEATH of institutionalized racism. Blacks have taken the risks of bringing it to national attention. But sympathetic whites have always had the actual legislative power to actually, legally institute the change. From abolishing slavery to the Civil Rights and Voting acts, it\'s alway been this way.</br><br></br><br>But what Hillary seems to be doing is completely dismiss that Afro-American (major) role in all of this and is simply saying \'it took the white guy to get it done.\' It\'s an incredibly insensitive and boggling statement.</br><br></br><br>I, as a black man don\'t ever want to give the cynical "I\'m not surprised" response, I AM surprised that this came out of this particular person\'s mouth.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952915">\
	 <div id="dsq-comment-header-1952915" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952915" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952915">ronnie b.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952915" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952915" class="dsq-comment-message"><i>2) Most importantly: Don\'t react or Don\'t feed the Troll (for a better word). The Clintons are experts in dirty politics. The beauty of the Obama campaign is to unite us all and not divide us. Especially on race. Don\'t you think it is quite weird that she would come out with bigoted expressions? It is calculated IMHO! If she divides and conquers she can try to get people on her side if Obama supports cry racism. Ignore the troll-like responses from the Clinton campaign. They are getting desperate as hell. Don\'t bite.</i><br></br><br>This is key.  In many ways it\'s like the SNCC coordinators during the CRM, admonishing student activists to resist the urge to strike back at the racists who would try and provoke them.  The very moment that it appeared that Black folk were "violent" was the very moment that we would have lost our credibility.</br><br></br><br>I see a parallel with Obama supporters and the Clintonites.  They may try to bait us with the most ignorant of quips and comments, but if we can manage to make use of some political aikido, we can redirect whatever weak attacks they come with, and hurt them with it.  It makes Hillary look as if she fell to the ground on her own clumsiness, rather than the stealthness of our technique.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952916">\
	 <div id="dsq-comment-header-1952916" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952916" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952916">Adam</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952916" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952916" class="dsq-comment-message">I don\'t think Hillary\'s a racist, but it\'s clear that Obama\'s rise has left her and her campaign shellshocked and prone to these kind of undisciplined, poorly phrased gaffes. Remember 6 mos ago when her campaign was praised as disciplined and error-free?  That has crumbled under the pressure of the past few weeks.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952917">\
	 <div id="dsq-comment-header-1952917" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952917" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952917">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952917" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952917" class="dsq-comment-message">What\'s up with the reverse racism?  I am white and will vote for Obama, but because of what he stands for, not his skin color.  it seems to me there\'s a lot of hating going on for the worng reasons and it isn\'t coming from Hillary.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952918">\
	 <div id="dsq-comment-header-1952918" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952918" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952918">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952918" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952918" class="dsq-comment-message">This is the same campaign that had to apologize for their racist comments about Obama\'s past previously, and has made political hay out of the "inexperience" line used against Obama, as though Clinton\'s experience as a one and a half term senator is WAY greater than a one term senator. Unlike the talking points in Obama\'s campaign, prejudice is rife in the Clinton message. I find it hard to think about voting for her.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952919">\
	 <div id="dsq-comment-header-1952919" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952919" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952919">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952919" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952919" class="dsq-comment-message">Are you guys kidding me?<br></br><br>This making up crap about the Clinton\'s is atrocious! Do you want Barrack to win so bad that you are going to trash a lifetime of DEMONSTRATED accomplishments for all Americans. </br><br></br><br>This blog and its commenters should be repulsed by the lies you are spouting. If you are so dense that you can\'t read or hear what the person actually said, then don\'t let your fingers to the offensive typing.</br><br></br><br>This is not a game! Barrack doesn\'t deserve to win if  he is going to authorize this b.s.!</br><br></br><br>I supported him before, but NO MORE!</br><br></br><br>No one wins by this behavior. This is true gutter politics.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952920">\
	 <div id="dsq-comment-header-1952920" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952920" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952920">ron</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952920" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952920" class="dsq-comment-message">Please!  To those people attacking Hillary, look at yourself and see who really is trying to interject race. Hillary\'s FULL comments do nothing but praise MLK. To say to the contrary is to create facts to fit the moment.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952921">\
	 <div id="dsq-comment-header-1952921" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952921" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952921">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952921" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952921" class="dsq-comment-message">Clintons like most Dems have taken us for granted.  When they had that surplus they always talk about did they fix the levees in New Orleans?  Hell no!  Wake up and vote for Obama!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952922">\
	 <div id="dsq-comment-header-1952922" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952922" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952922">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952922" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952922" class="dsq-comment-message">For the most part the comments politician make are a bit like horoscopes. You read into them what you want to.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952923">\
	 <div id="dsq-comment-header-1952923" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952923" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952923">Jan H</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952923" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952923" class="dsq-comment-message">Hold on now, metricpenny!!!<br></br><br>You wrote:</br><br>"When he (JFK) took office there was a hostile Congress made up of Republicans and conservative southern DEMOCRATS blocking his legislation. He spent most of his first 2 years in office dealing with the Bay of Pigs, the Cuban Missile Crisis and protecting the country against the Soviets who were placing long-range missiles in Cuba.</br><br></br><br></br><br>Let\'s be VERY clear about who controlled the nation at that time.</br><br></br><br>87th Congress (1961-1963) </br><br></br><br>Majority Party: Democrat (64 seats)</br><br>Minority Party: Republican (36 seats)</br><br>Other Parties: 0</br><br>Total Seats: 100</br><br></br><br>I get really tired of Republicans taking the heat for the Civil Rights atrocities in this nation.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952924">\
	 <div id="dsq-comment-header-1952924" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952924" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952924">P.K.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952924" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952924" class="dsq-comment-message">Hillary thinks that the Civil Rights Movement happened from the top down?  That is such an elitist point of view coming from someone who wants to stay in power.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952925">\
	 <div id="dsq-comment-header-1952925" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952925" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952925">gingeygirl</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952925" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952925" class="dsq-comment-message">This thread is so depressing. Arrgh! It\'s the Sharpton-izing of the dialog! Everyone\'s racist blah blah blah. Every criticism of Obama is racist blah blah blah. Let\'s shake the chips of our shoulders and start talking about issues, not this nonsense. If you spend all your energy trying to convince yourself that the term "fairytale" is racist, you\'ll never deal with the substance of this election. This is pathetic.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952926">\
	 <div id="dsq-comment-header-1952926" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952926" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952926">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952926" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952926" class="dsq-comment-message">I have two words for those who are attacking Senator Clinton so very viciously:  Character Assination!  This attack of the Clintons is unbelievably ugly.  If Obama is really spreading the gospel of "hope," he would call for a moratorium on the character assasination that is being attempted here.   I would not be suprised if these anti-Clinton comments are actually being kept alive by Republicans attempting to keep us from focusing on the importance of hope. These are Karl Rovish tactics!  Don\'t fall for it!  Keep hope aLive!  Stop this line of criticism and get on with a line of criticism that is much more productive!!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952927">\
	 <div id="dsq-comment-header-1952927" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952927" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952927">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952927" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952927" class="dsq-comment-message">The Clintons must feel that after 8 years in the white house they are entitled to another 8 years...this is a new era...the madness and the scandals cease...Bill has a biracial son...is he taking care of him? He is a man-ho and Hillary has anger issues(projectile thrower) I am not voting for Monica Lewisky\'s boyfriends wife...seriously this country is nearly majority minority so it is fitting that a man of color get a chance to lead this colorful nation...Barak and Roll 08 and beyond!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952928">\
	 <div id="dsq-comment-header-1952928" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952928" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952928">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952928" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952928" class="dsq-comment-message">Hillary\'s comment is Elitist, NOT Racist.  She\'s not saying that blacks owe benevolent white leaders like LBJ.  She\'s saying that the "little people" black or white owe the skillful politicians for "getting things done".  I find that to be just as bad and will be supporting Obama if the race is still going when my states primary comes.  <br></br><br>I\'m sure that Bill is not a Bigot and fairly sure of the same for Hillary, but she is and probably always has been an elitist, it may also be rubbing off on Bill who now seems to be willing to sink Obama for the sake of his wifes ambitions.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952929">\
	 <div id="dsq-comment-header-1952929" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952929" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952929">marc</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952929" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952929" class="dsq-comment-message">the blogger has found great words and form to rebutt clinton. thanks a lot.<br></br><br>now that we know -again- that the clintos are nothing but self satisfied egomaniacs, let\'s give them hell, but not one single vote.</br><br></br><br>let\'s get obama elected! and maybe yes, hillary is ironically right: let the black man of hope and action be also the black man who delivers.</br><br></br><br>delivers from the white house... hmm, some good irony in there too.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952930">\
	 <div id="dsq-comment-header-1952930" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952930" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952930">Kelly</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952930" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952930" class="dsq-comment-message">Other than give support to MLK while he was in jail, John Kennedy did nothing for civil rights except rhetoric.<br></br><br>Robert Kennedy was the one who cared!  JFK was once quoted as saying "Ignore Bobby, he\'s just worrying about his negroes again".</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952931">\
	 <div id="dsq-comment-header-1952931" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952931" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952931">PhilO</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952931" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952931" class="dsq-comment-message">There was nothing in the comment that diminished MLK. OF COURSE, she can\'t compare herself to MLK, so she was simply trying to make the best case for herself. This is taking racial hypersensitivity to ridiculous level.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952932">\
	 <div id="dsq-comment-header-1952932" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952932" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952932">jimmy</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952932" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952932" class="dsq-comment-message">The Clintons were never friends of black folks...we were just dupes as usual.Remember the murder of Betty Curry\'s brother and cousin on the eve of her testimony for/against Bill.And a similiar state of affairs surrounding the death of Ron Brown on the eve of his testimony re: illegal campaign solicitations from an Asian pact group for the Clintons. They have a long history of murder and corruption and they will do anything to win.That is the only thing that makes them cry; the fear of self-humiliation.<br>Alice Walker, not black folks crowned him the first black president after his appearance on Arsenio Hall\'s tv program where he played the sax.And it has been a marriage on convenience ever since.We are slow to learn my friends.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952933">\
	 <div id="dsq-comment-header-1952933" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952933" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952933">Karla Baer</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952933" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952933" class="dsq-comment-message">Hillary attacks Obama\'s health plan for not having a "mandate."<br>Obama\'s plan is not mandatory; he knows that those who cannot afford to be sick will buy health insurance. Hillary the elitist wants a mandatory society where you behave because "BIG SISTER IS WATCHING YOU."</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952934">\
	 <div id="dsq-comment-header-1952934" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952934" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952934">jimmy</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952934" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952934" class="dsq-comment-message">Kelly: It was Robert Kennedy who instigated and authorized the tapping of MLK\'s tele phone conversations.Similarly to Bill\'s sax playing it was JFK\'s dancing with a beautiful sistah at his inaugural ball that edeared black folks to them.We are so naive and politically immature.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952935">\
	 <div id="dsq-comment-header-1952935" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952935" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952935">Red7Eric</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952935" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952935" class="dsq-comment-message">I\'ve been doing anti-racist work for years, and do not respond to accusations of racism lightly.<br></br><br>But I don\'t think that\'s what Hillary was saying here.  She was not dismissing the role of MLK, Rosa Parks or other social activists, but was clarifying that the role of President is very different.  Since she and Obama are running for President, they\'ll need to do more than inspire, they also need to work in a very specific context (Washington) to get things done.</br><br></br><br>Her word choices are extremely unfortunate, but I honestly don\'t believe that there\'s racist intent there.  Shouldn\'t we be focusing our energies on hating on the arch-conservative candidates who will truly do the most harm if elected?</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952936">\
	 <div id="dsq-comment-header-1952936" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952936" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952936">marc</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952936" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952936" class="dsq-comment-message">yes, red7, we should. but first let\'s get hillary out of the way, out of obama\'s way to nomination.<br></br><br>then we\'ll fight the kooks hard.</br><br></br><br>then let\'s make obama president.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952937">\
	 <div id="dsq-comment-header-1952937" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952937" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952937">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952937" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952937" class="dsq-comment-message">I live in NV.  Here is our context.  There is a great deal of Latino racism here against blacks.  Actually, this is a national phenomenal at least in the southwest.  Hillary is exploiting that by getting latino support.  Just look at the stories in the Las Vegas Review Journal.  A very close friend of mine is Latina and supporting Obama.  Her parents are "machine democrats" in Texas.  They told her they would only vote for Hillary and if Obama gets the nomination, they will not vote in the general election.  There is definitely a black vs. brown tension in parts of the southwest and now that Hillary is here, she is trying to get the Latino vote which may be larger in number than  the black vote.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952938">\
	 <div id="dsq-comment-header-1952938" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952938" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952938">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952938" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952938" class="dsq-comment-message">To the crackhead that wrote this article:  Honestly, what she\'s saying is simply that it took a president to get it done.  That\'s true, ultimately everything goes through the president.  She didn\'t say anything racist; race wasn\'t an issue in what she said.  The way I see it you brought race into this.  This country contains many races, we all need a good president, none of us need Hillary, and you need to stop crying "racist" everytime something doesn\'t pan out the way you think it should.  You\'re merely segregating yourself...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952939">\
	 <div id="dsq-comment-header-1952939" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952939" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952939">Dusty</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952939" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952939" class="dsq-comment-message">To the anonymous fuckwit above this:<br></br><br>Hillary was basically saying that Martin Luther King\'s work was for naught..that people of color should thank their lucky stars for LBJ.</br><br></br><br>Do you actually think LBJ would of done anything if MLK  had not brought all the racism to the forefront with his marches and protests?</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952940">\
	 <div id="dsq-comment-header-1952940" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952940" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952940">BigAssBelle</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952940" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952940" class="dsq-comment-message">i have listened to her statement twice. try as i might, i could not hear that the entire movement was for nothing. she did not diminish the efforts of the activists or of MLK or of those who were injured and died in the struggle for equal rights. <br></br><br>short of overthrowing a government and starting from scratch ~ not a bad idea, but it didn\'t happen ~ the movement had to have legislative support to make lasting change. </br><br></br><br>it is typical of the media as a whole that the recounting of her speech leaves out the portions that actually support her point. there\'s nothing in the speech that would indicate anything but the greatest admiration of MLK and the movement in general. </br><br></br><br>as a veteran of the effort to pass the ERA, the one which failed in the \'80s due to <i>lack of presidential support</i> and lack of congressional support, what she said is true.</br><br></br><br>that being said, this is how we\'re going to do it, us democrats. in an election year when we\'re turning out in droves to vote for a new (god save us from the present) president, we\'ll manage to shoot ourselves in the foot and let the bastards win again.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952941">\
	 <div id="dsq-comment-header-1952941" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952941" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952941">marc</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952941" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952941" class="dsq-comment-message">belle, your mindset is that of submission, not to the white man, but to the leader.<br></br><br>ANY president would have had to listen to the movement of mlk. first, because the politicians are supposed to represent the people. second, because human rights demanded it.</br><br></br><br>sooner or later, with lbj or anyone thereafter, human rights had to be installed in the us. and political power had to be truely representative.</br><br></br><br>that is why i see absolutely no special place for the president who finally behaved as a democrat, and who finally brought justice. he only executed what democratically and legally was required.</br><br></br><br>he was OBLIGED to do so. he did not chose.</br><br></br><br>this is what hillary seems to forget, and forgetting this reveals her as anything else but a democrat and a law-abiding person.</br><br></br><br>never have we been talking about political issues for the black. it was always about legal issues. the rights black people have, as any people. not the favors granted to them. nobody ever asked for a favor.</br><br></br><br>civil rights!... now that must sound a bell, belle.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952942">\
	 <div id="dsq-comment-header-1952942" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952942" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952942">BigAssBelle</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952942" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952942" class="dsq-comment-message"><i>ANY president would have had to listen to the movement of mlk. first, because the politicians are supposed to represent the people. second, because human rights demanded it.<br></br><br>sooner or later, with lbj or anyone thereafter, human rights had to be installed in the us. and political power had to be truely representative.</br><br></br><br>that is why i see absolutely no special place for the president who finally behaved as a democrat, and who finally brought justice. he only executed what democratically and legally was required.</br><br></br><br></br></i><br>i see your point to a point ;-) marc. but i fear you are very optimistic. but let\'s consider first the fact that the president ~ nor any other individual with sufficient power to legislate ~ did not listen to the people on the ERA. that was significant movement as well and one which was, in the end, refused.</br><br></br><br>but i don\'t want to compare movements, not at all, and i don\'t want to diminish in any way the struggle for civil rights which has been the pinnacle of all movements, my opinion only. but they are rights, not gifts, and shouldn\'t require laws to make change, you\'re right. and yet this country is a nation of laws and given human nature and the history of racism and prejudice in this country, without law, without legislating those rights, i don\'t think things would have changed. just my opinion.</br><br></br><br>but then again . . . imagine <i>this</i> president, <i>this</i> administration, <i>this</i> congress faced with the same outrage of the people, the same demands of the people, the same voices raised over injustice, demanding change. they represent us too. supposedly. </br><br></br><br>but if you think change would happpen now, you\'re far more optimistic than i am. the kind of dissent and activism that was a regular thing in the \'60s would land folks in guantanimo these days. just my opinion, again, and it all just makes me so tired that i\'m going to shut up now.</br><br></br><br>except for this: i love obama. love him. i cried listening to his speech post-NH. my heart lifted, i felt the most extravagant rush of hope and excitement and joy. it was incredible. i think having him as president of this country would be a magnificent thing. and i also love hillary clinton. i am deeply disturbed by what i\'ve been hearing and i mistrust the messenger ~ the right wing -controlled media in this country ~ and will wait to see what happens.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952943">\
	 <div id="dsq-comment-header-1952943" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952943" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952943">marc</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952943" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952943" class="dsq-comment-message">dear belle, thank you for coming a long way towards me. let me, nonetheless, put in some final points.<br></br><br>we cannot imagine today\'s world without the struggle for civil rights having succeeded. yet, i do dare to venture that if lbj had not done it, the course of the world\'s history would have forced the change upon the us of a. the world would have developed, and it would have drawn america along. the time was ripe. nowhere in the civilised world could we see an oppression as it was in the states. a ripe fruit had to be picked, or it had to fall to the ground by its own weight.</br><br></br><br>lbj\'s only part in history was to pick that fruit, like any farmer would have done out of pure logics, pure necessity for survival. he did it in time, and america stayed in tune with the rest of the world.</br><br></br><br>i hold this to be one historic fact. the present administration, the president... all those... ehem... people, they have no choice anymore, and they would have had no choice then. they can still opt for the house nigga. and they do. but even they are faced with the fact that there are no house niggas left anymore, and those who seem to be turn out to have their own lives. even these people, if back in the 60s, would have delayed the events by no more than 4 years. the fruit would have dropped to the ground, right at their feet. and it might have exploded.</br><br></br><br>see, that is what america is about, in its most positive way. and it is just this positive america hillary has denied its existence by going backwards, by telling us "it took a president", when the president was no more than a pawn of history, and history was brought about by the people. and it is so obvious that this could not have escaped her attention. not at her age, not with her experience.</br><br></br><br>instead of going backwards to reinterprete what happened, it is obama who lives it all today. who does not go backwards, who does not relive the conflicts of the past, but who goes beyond them: he does not care for color. he does care for justice, but he has already entered the next phase: that we are all one, we just have to live it. and there is no ignorance of the gaps which are still there, yet he does not look for solutions in the past. he builds on what we are, and points to the future, to what we can be. there is the hope! if he becomes president, this hope will have the sign it needs to become reality. even if still slowly, but that is how history works.</br><br></br><br>you can have history either way. you can look back at it, and you can make it yourself for a better future.</br><br></br><br>hillary still has to pull her arguments from the past. and, so that they suit her, even from a twisted past. i truely despise that.</br><br></br><br>and another word. do not blame the messenger. corporate news is as bad as it is, but when we are aware of the pitfalls, we can make do with what we get.</br><br></br><br>and what we got was hillary saying what she said to the cameras. we got her live on tv. we need no more. she really said it: "it took a president". no, hillary, it took the people. and it took history. and the people made history.</br><br></br><br>she said it to the cameras. this much i do believe my eyes.</br><br></br><br>and now she herself is history.</br><br></br><br>now, i don\'t want no more of that old shit. i need a new world. and a new leader who is up to his time, and maybe -hopefully- a little ahead of it.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952944">\
	 <div id="dsq-comment-header-1952944" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952944" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952944">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952944" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952944" class="dsq-comment-message">WHEN WILL WE STAND (not just in church) FOR DECENCY, Bill was impeached in 1998, he lied and lied under oath, prior to his impeachment it was the black community that he could look to for support, and we fought hard to keep him in office. Than we found out he had lied, and it hurt many black leaders who backed him. Most of whom are like the "invisibles" in Washington.<br>Upon Bill\'s 1998 exodus from Washington he took up shop in Harlem, what has he or Hillary done to improve Harlem?, or any other decaying black community across America? Hillary was the senator, what did she fight for while in the senate to better the African-American community in New York? Most women would divorce their husband for infidelity, and the thought of him being able to live in the White House again. No, we have principles too, we forgive him, but he has forfeited his opportunity to be in the White House, he is not worthy, very handsome, but not worthy to lead this country. So, what about Hillary? she is not the one, there is too much anger,baggage and drama.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952945">\
	 <div id="dsq-comment-header-1952945" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952945" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952945">marc</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952945" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952945" class="dsq-comment-message">belle, i have just re-read my last comment and i have to apologise for the sour tone in my last paragraph. the anger was not directed at you, i hope you understood that.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952946">\
	 <div id="dsq-comment-header-1952946" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952946" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952946">Dear Murray</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952946" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952946" class="dsq-comment-message">I don\'t see this as Hillary being overtly racist, more that she\'s struggling and way out of touch.<br></br><br>On the one hand, here\'s Obama, speaking with the graceful articulation of a poet. On the other hand, there\'s Hillary. Speaking like every other candidate out there.</br><br></br><br>She\'s grasping and struggling for metaphors. She jealous of the passion Obama is inspiring in people, and her campaign desperately needs to do the same.  She\'s falling flat on her face, every time. It\'s like chips and guacamole? Maybe next time, it\'ll be about fried chicken and watermelon? Fried rice?</br><br></br><br>Out of touch corporate establishment politician.</br><br></br><br>DO NOT WANT.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952947">\
	 <div id="dsq-comment-header-1952947" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952947" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952947">BigAssBelle</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952947" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952947" class="dsq-comment-message">got it, marc. and i regret to say that i never thought about it that way. <br></br><br>though i have to say, too, that until this whole public blowup i never thought of the legislative aspect of the changes. it was the movement itself that changed my life, changed my view of the world. i wasn\'t thinking for a minute about what was going on in washington. it was people in the streets and the power of that. </br><br></br><br>with the exception of his insistent drive for bipartisanship (puke), that\'s what i get from obama: that excitement, we can change the world, we can make this a better place, come together, <i>be</i> better together than we ever will be alone. </br><br></br><br>i just want him to drop the bipartisanship. no. bipartisan means dems bend over and the rethugs give us a swift kick in the ass. or an ass fu**in dry. it\'s ugly. bipartisan doesn\'t work with these people. they\'ve seized control of this country and we must ~ MUST ~ seize it back. i don\'t know how we can do that by being <i>bipartisan</i> when we\'re so far dangling over the right wing cliff we\'re just about done for. </br><br></br><br>he is brilliant, not blind, nobody\'s fool. in his position, he can ill afford to express the justified, righteous anger that is the only proper response to what bush & co. has done to us. </br><br></br><br>i hope president obama finds his pissed off voice. i need to hear that from him.</br><br></br><br>thanks for the enlightenment. i do appreciate it.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952948">\
	 <div id="dsq-comment-header-1952948" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952948" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952948">marc</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952948" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952948" class="dsq-comment-message">belle, you give me much praise, and then you make me think like crazy.<br></br><br>yes... there is this risk in bipartisanship. it is just as you say. our side offering, the other one taking advantage. the soft, nice ones getting rolled over, and not for the first time.</br><br></br><br>i am wondering how bipartisan you have to get to be elegible to the masses. those masses you need to get the job. how many compromises...?</br><br></br><br>"i hope president obama finds his pissed off voice. i need to hear that from him." blows my mind. you\'re really serious, you\'re so sincere and authentic. so many thoughts and feelings come up that i got to sort through them for some time.</br><br></br><br>i just hope obama reads these lines of yours, not the president, but the candidate. you have said so much in so few words.</br><br></br><br>thanks a lot, belle!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952949">\
	 <div id="dsq-comment-header-1952949" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952949" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952949">Isis</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952949" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952949" class="dsq-comment-message">Bill and Hillary Clampid were given a pass as honorary supporters of the black community. Nobody is calling them on the deeds. They have don nothing but yet we act as if they have done so much. Want to know what they really did? To much for me to post in a comment but read this for clarification.<br><a href="www.bumblezee.com/blogs/isis" rel="nofollow">BumbleZee.com/blogs/isis</a></br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952950">\
	 <div id="dsq-comment-header-1952950" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952950" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952950">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952950" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952950" class="dsq-comment-message">On the eve of Tuesday\'s showdown , Hillary is crying again.Is this not reminiscent of New Hampshire\'s primary on the eve of it\'s debacle. Something funny went down with those diebold machines.Will the crying game work again? Maxine Waters, block-headed John Lewis, ass-kissing Andy Young, punk Ron Dellums,et al.need their asses sand blasted.These Aunt Jemimah\'s & Uncle Toms belong in another century.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1952951">\
	 <div id="dsq-comment-header-1952951" class="dsq-comment-header">\
	 <cite id="dsq-cite-1952951" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1952951">Ms Hernandez</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1952951" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1952951" class="dsq-comment-message">White Female Supremacy: The New Glass Ceiling<br></br><br></br><br>What is White Female Supremacy?</br><br></br><br>A white female supremacist is usually an educated white female professional who while claiming not to be racist, shows overwhelming preference and favoritism towards white females identical to herself. </br><br></br><br>A white female supremacist: </br><br> 1) takes advantage of affirmative action programs;</br><br> 2) surrounds herself with other white female professionals (her girlfriends);</br><br> 3) protects her turf and the positions of her white female friends while creating a new glass ceiling for people of color--especially Latino and Black women. </br><br></br><br>The white female supremacist does this while claiming to be the very ideal of modern workplace "diversity".</br><br></br><br>The white female supremacist is a fortunate person.</br><br>She likely comes from a middle or upper-class family background; and her privileges are many:</br><br> 1) she grew up middle or upper-class</br><br> 2) she went to college (paid for by her white male father).</br><br> 3) she is considered "Thee Beauty Standard" for the entire western world. (Go to any supermarket and look at the covers of all the major fashion magazine.)</br><br> 4) she uses affirmative action preferences to gain positions of power within the pubic and private sector; and</br><br> 5) she--if attractive--uses her sexuality to curry favor with powerful white males within the workplace hierarchy. </br><br></br><br>The white female supremacist actually believes she is not a racist, yet her actions prove otherwise. Careful examination of nearly any public or private workplace environment will overwhelmingly depict a phenomena of white female privilege, i.e. "The All White Girls\' Club".</br><br></br><br>Meanwhile, women of color, educated and hardworking, are confronted with a new kind of discrimination--a hidden and insidious form of hate--I call it White Female Supremacy, and it seems very little attention is paid to its painful and destructive presence for any individual not like her, or her white female sisters.</br></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=jackandjillpolitics&t=hillary_you_negroes_better_thank_the_white_man_for_your_rights&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 = 'bd6a8bc56f8eb204984f34b6fefe228d';
			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');
}

})();




