




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": {"3580acf03b0e2b7f45dddfa3d1f96215": {"username": "GoldenAh", "tumblr": "", "display_name": "GoldenAh", "url": "http://disqus.com/guest/3580acf03b0e2b7f45dddfa3d1f96215/", "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": ""}, "ab03b08e2f2082ad84cf39c973e5bebb": {"username": "andyfrombrooklyn", "tumblr": "", "display_name": "andyfrombrooklyn", "url": "http://disqus.com/guest/ab03b08e2f2082ad84cf39c973e5bebb/", "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": ""}, "c8b2d42511d55e0cb79da4b7de989dab": {"username": "icebergslim", "tumblr": "", "display_name": "icebergslim", "url": "http://disqus.com/guest/c8b2d42511d55e0cb79da4b7de989dab/", "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": ""}, "63b159f0f2351eb699374dd9c7d8a3da": {"username": "Black American Princess", "tumblr": "", "display_name": "Black American Princess", "url": "http://disqus.com/guest/63b159f0f2351eb699374dd9c7d8a3da/", "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": ""}, "2042081350805262dea9b76f7cd72640": {"username": "smoothie", "tumblr": "", "display_name": "smoothie", "url": "http://disqus.com/guest/2042081350805262dea9b76f7cd72640/", "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": ""}, "3e892379e7d442c8970d7cad6f54d5b8": {"username": "Angela", "tumblr": "", "display_name": "Angela", "url": "http://disqus.com/guest/3e892379e7d442c8970d7cad6f54d5b8/", "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": ""}, "3ecde559248958521e4cb25a77f2ee65": {"username": "Nquest", "tumblr": "", "display_name": "Nquest", "url": "http://disqus.com/guest/3ecde559248958521e4cb25a77f2ee65/", "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": ""}, "73ce9954daaadd29c11ed08ebf029ed8": {"username": "Angie-Nuvision", "tumblr": "", "display_name": "Angie-Nuvision", "url": "http://disqus.com/guest/73ce9954daaadd29c11ed08ebf029ed8/", "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": ""}, "d1a8e45844ef20a90904a65e60371f42": {"username": "B-Serious", "tumblr": "", "display_name": "B-Serious", "url": "http://disqus.com/guest/d1a8e45844ef20a90904a65e60371f42/", "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": ""}, "432619ba625f6a3e6b9013e9117e3759": {"username": "texas girl in l.a.", "tumblr": "", "display_name": "texas girl in l.a.", "url": "http://disqus.com/guest/432619ba625f6a3e6b9013e9117e3759/", "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": ""}, "9bf0971c139c9dc33659e8ed441e4f5e": {"username": "Craig Hickman", "tumblr": "", "display_name": "Craig Hickman", "url": "http://disqus.com/guest/9bf0971c139c9dc33659e8ed441e4f5e/", "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": ""}, "f85f4de88a30987f0360c336da9569ae": {"username": "rikyrah", "tumblr": "", "display_name": "rikyrah", "url": "http://disqus.com/guest/f85f4de88a30987f0360c336da9569ae/", "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": ""}, "1572c9b90152e199379cfb228c0cc759": {"username": "heartsandflowers", "tumblr": "", "display_name": "heartsandflowers", "url": "http://disqus.com/guest/1572c9b90152e199379cfb228c0cc759/", "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": ""}, "0e63fda3bc8752465623f674ffcc5f40": {"username": "TruthSeeker", "tumblr": "", "display_name": "TruthSeeker", "url": "http://disqus.com/guest/0e63fda3bc8752465623f674ffcc5f40/", "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": ""}, "cc8118b82cb4fb3c3d4024bab6ca1e90": {"username": "Shazzasharona", "tumblr": "", "display_name": "Shazzasharona", "url": "http://disqus.com/guest/cc8118b82cb4fb3c3d4024bab6ca1e90/", "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": ""}, "2856a0a69d86b3cc32b0fa651ff33d01": {"username": "Christopher Chambers", "tumblr": "", "display_name": "Christopher Chambers", "url": "http://disqus.com/guest/2856a0a69d86b3cc32b0fa651ff33d01/", "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": ""}, "3f8d9635c8be93048a137d95d856b702": {"username": "markg8", "tumblr": "", "display_name": "markg8", "url": "http://disqus.com/guest/3f8d9635c8be93048a137d95d856b702/", "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": ""}, "9fcb7c771a7713dda01aa936fd426bfe": {"username": "Ms.Martin", "tumblr": "", "display_name": "Ms.Martin", "url": "http://disqus.com/guest/9fcb7c771a7713dda01aa936fd426bfe/", "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_14:28:48", "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": {"1966909": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i><b>And to those who call Barack Obama weak, I counter that no man who knows that his bid for leadership of a nation might cost him his own life at any moment due to hate can be called a man without courage, purpose, grit and determination.</b> I think it's wise for the Obama campaign to downplay this unfortunate and ugly aspect of his bid for the presidency. Still, let those who think him soft stand in awe.</i><br></br><br>::</br><br></br><br>That's a wrap. </br><br></br><br>Thank you for saying this so well.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_13:57:00", "killed": false, "user_key": "9bf0971c139c9dc33659e8ed441e4f5e", "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}, "1966910": {"up_voted": false, "ip": "", "has_replies": false, "message": "Great post.<br></br><br>I think of all of the vile effluent that has been spewed at Senator Obama and how enraged it can make me...then I see his serenity under actual threat and I marvel.</br><br></br><br>-- middle-aged white guy</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_13:59: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}, "1966911": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't know how anyone can call him   weak-it takes a strong will to ignore <br>or brush off HRC and her surrogates' attacks. </br><br>And I agree with Craig, what you wrote is great! </br><br>Glad to see your mom is seeing the light.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_14:00:00", "killed": false, "user_key": "cc8118b82cb4fb3c3d4024bab6ca1e90", "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}, "1966912": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Even were he to be cut down in action today, this nation -- because of his hope -- will never be the same again.\"<br></br><br>This is the one constant that gets me through the pains of this campaign.</br><br></br><br>We will never be the same.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_14:09:00", "killed": false, "user_key": "9fcb7c771a7713dda01aa936fd426bfe", "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}, "1966913": {"up_voted": false, "ip": "", "has_replies": false, "message": "I just watched the video of yesterday's Meet the Press and suggest that if anyone needs an accurate and truthful examination (for justification of what you know to be true) of the campaign so far, that you watch the video.<br></br><br>The panel touched on every topic:  assassination, sexism, the black vote, Obama's religion, McCains religion, McCains talk about military service.</br><br></br><br>It was very calming for me because I like the truth and that is exactly what it was.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_14:55:00", "killed": false, "user_key": "9fcb7c771a7713dda01aa936fd426bfe", "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}, "1966914": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree, ms.martin.<br></br><br>It was the best episode of Meet the Press in this campaign.</br><br></br><br>Excellent panel.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_15:15:00", "killed": false, "user_key": "9bf0971c139c9dc33659e8ed441e4f5e", "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}, "1966915": {"up_voted": false, "ip": "", "has_replies": false, "message": "I dont buy Bill Clintons excuse of if the shoe were on the other foot the media would be all over Hillary about why she's losing the popular vote. <br></br><br>1st. B/C If it were Barack, something tells me he would suspended his campaign for the good of the party shortly after NC/IND. </br><br></br><br>2nd. I think the media esp. those channels that are chock filled with HRC (CNN/ABC) supporters would be FUMING for him to leave. </br><br></br><br>(Could you imagine Begala and Carville on CNN right now if Hillary were up by almost 200 with 3 primaries to go and NO mathmatical way for Barack to catch her?)</br><br></br><br>FWIW,</br><br></br><br>Liz Trotta's appeared on Fox News this morning and offered this <a href=\"http://youtube.com/watch?v=lLCCoD87l5E\" rel=\"nofollow\">apology</a></br><br></br><br><i>Trotta: Yes, I am so sorry about what happened yesterday and the lame attempt at humor. I feel all over myself, making it appear that I wished Barack Obama harm or any other candidate, for that matter, and I sincerely regret it and apologize to anybody I have offended. It is a very colorful political season, and many of us are making mistakes and saying things we wish we had not said.</i></br><br></br><br>Via Politico</br><br>http://www.politico.com/blogs/michaelcalderone/0508/Fox_analyst_apologizes_for_Obama_assassination_joke.html</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_15:55:00", "killed": false, "user_key": "2042081350805262dea9b76f7cd72640", "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}, "1966916": {"up_voted": false, "ip": "", "has_replies": false, "message": "Whatever to Liz Trotta. She needs to have a close personal visit with some Federal investigators. What would she have done if she had been hauled off as to some undisclosed prison as a national security risk?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_16:42:00", "killed": false, "user_key": "1572c9b90152e199379cfb228c0cc759", "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}, "1966917": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>And to those who call Barack Obama weak, I counter that no man who knows that his bid for leadership of a nation might cost him his own life at any moment due to hate can be called a man without courage, purpose, grit and determination. I think it's wise for the Obama campaign to downplay this unfortunate and ugly aspect of his bid for the presidency. Still, let those who think him soft stand in awe. Because that's the power of Hope. Even were he to be cut down in action today, this nation -- because of his hope -- will never be the same again.</i><br></br><br>Jill, you said it so very eloquently. When Obama first began, I supported him, mainly because I hated Clinton, and because I thought he was as qualified as anyone else AND he was Black.  My RESPECT for him, however, has grown enormously over the course of this campaign. As I watched the barrage of attacks come his way, with only, it seems Michelle and some of the Black Blogosphere having his back, the true measure of how far he has come has impressed me to such depths, I can hardly explain. I pray for him. I pray for Michelle. I pray for their babies. There IS hate out there, and he knows it, yet he and Michelle put THEIR LIVES on the line everyday. I believe they've earned our respect, let alone our votes.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_17:30:00", "killed": false, "user_key": "f85f4de88a30987f0360c336da9569ae", "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}, "1966918": {"up_voted": false, "ip": "", "has_replies": false, "message": "barack obama is a saint of great restraint. he knows that he has won the nomination. he knows that clinton has been trying to drag him into the mud since the david geffen incident over a year ago. obama knows how to stick to a gameplan.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_17:56:00", "killed": false, "user_key": "ab03b08e2f2082ad84cf39c973e5bebb", "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}, "1966919": {"up_voted": false, "ip": "", "has_replies": false, "message": "craig hickman or ms. martin, do you have link to meet the press. my computer won't play video at the msnbc website.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_17:58:00", "killed": false, "user_key": "ab03b08e2f2082ad84cf39c973e5bebb", "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}, "1966920": {"up_voted": false, "ip": "", "has_replies": false, "message": "Try here andy:<br></br><br><a href=\"http://www.politicalinaction.com\" rel=\"nofollow\">Politicalinaction.com</a></br><br></br><br>They have a post on MTP.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_18:06:00", "killed": false, "user_key": "f85f4de88a30987f0360c336da9569ae", "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}, "1966921": {"up_voted": false, "ip": "", "has_replies": false, "message": "A pretty close summation but not exactly what happened during HRC's meeting with Rev. Al...<br></br><br><i></i></br><br>HRC:  Al, you wanted to speak to me?</br><br></br><br>Rev. Al:  Duh.  You're f-ckin' up my press-n-curl, gurl.  </br><br></br><br>HRC:  Well, Al.  That's pretty sexist of you.</br><br></br><br>Rev. Al:  *bleep* *bleep* *bleep*</br><br>***bleeeeeeeeeeppppeeeepppeee****</br><br></br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_18:06:00", "killed": false, "user_key": "3ecde559248958521e4cb25a77f2ee65", "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}, "1966922": {"up_voted": false, "ip": "", "has_replies": false, "message": "One of the most impressive things about Obama to me is the Jackie Robinson like self restraint and composure he possesses multiplied for the bigger political stage. When we lost NH and then when I was worried Rev. Wright might sabotage the whole campaign, when I felt like burying my head in my hands Barack came back brilliantly. His speech that night in NH had me cheering in front of my teevee. The Philly speech had Chris Matthews practically cheering <i>on</i> my teevee right along with me. <br></br><br>I have to admit though Obama had me from the day I got up at 4:30 in the morning to drive out to Bolingbrook to catch a bus to Springfield and stand in the bitter cold in February 2007 to hear him declare his candidacy. We <i>will</i> get back to the work of making a more perfect union. </br><br></br><br>I've worked hard trying to get a lot of Democratic candidates elected over the years. I've watched them flounder under swiftboat, brownsuit and Willie Horton attacks. I spent sleepless nights wondering if they'd pull it out, wishing they were better candidates. I'd tell myself I'm too old, too jaded, too much of a political junkie to be inspired by a politician and speeches. </br><br></br><br>Man was I ever wrong. And these days I sleep like a baby. This country desperately needs a great president. The more I see of Barack Obama the more convinced I am he can be that president. </br><br></br><br>-Another middle aged white guy</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_19:00:00", "killed": false, "user_key": "3f8d9635c8be93048a137d95d856b702", "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}, "1966923": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>I have to admit though Obama had me from the day I got up at 4:30 in the morning to drive out to Bolingbrook to catch a bus to Springfield and stand in the bitter cold in February 2007</i><br></br><br>Illinois in da house!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_19:06:00", "killed": false, "user_key": "3ecde559248958521e4cb25a77f2ee65", "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}, "1966924": {"up_voted": false, "ip": "", "has_replies": false, "message": "from the NYT today...says alot for Obama<br></br><br>By ROGER COHEN</br><br>Published: May 26, 2008</br><br>It\u2019s the networks, stupid.</br><br></br><br>Roger Cohen </br><br></br><br>Go to Columnist Page \u00bb Blog: Passages More than any other factor, it has been Barack Obama\u2019s grasp of the central place of Internet-driven social networking that has propelled his campaign for the Democratic nomination into a seemingly unassailable lead over Hillary Clinton. Her campaign has been so 20th-century. His has been of the century we\u2019re in.</br><br></br><br>That\u2019s not surprising. Obama spent only 10 years of his adult life in the split world of the cold war, double that in a post-Berlin Wall world of growing interconnectedness. MAC \u2014 mutually assured connectivity \u2014 has replaced the MAD \u2014 mutually assured destruction \u2014 of cold-war days.</br><br></br><br>For Clinton, born in 1947, that ratio is different. Her mental paradigm is division. When her husband last ran for president in 1996, the Internet was marginal. The thinking and people from that campaign have proved unable to fast-forward a dozen years. They\u2019ve been left like deer blinded by the Webcam lights of the Obama juggernaut.</br><br></br><br>This cultural failure has been devastating for Clinton. As Joshua Green chronicles in an important piece in The Atlantic, Obama has used social networking and his user-friendly Web site to develop the money machine, and the youthful engagement, that has swept him forward.</br><br></br><br>Green notes, \u201cObama\u2019s claim of 1,276,000 donors is so large that Clinton doesn\u2019t bother to compete.\u201d He gives some other Obama campaign numbers: 750,000 active volunteers and 8,000 affinity groups. In February, a month in which he raised $55 million ($45 million over the Internet), 94 percent of donations were of $200 or less, a number dwarfing small contributions to Clinton and John McCain.</br><br></br><br>Obama has been a classic Internet-start up, a movement spreading with viral intensity and propelled by some of Silicon Valley\u2019s most creative minds. As with any online phenomenon, he has jumped national borders, stirring as much buzz in Berlin as he does back home.</br><br></br><br>He could not have achieved this without a sense of history, a conviction that the nature of the post-post-9/11 world \u2014 the one beyond war without end \u2014 is going to be determined by sociability and connectivity. In the globalized world of MySpace, LinkedIn and the rest, sociability is a force as strong as sovereignty.</br><br></br><br>I\u2019ve searched in vain for a sense of this pivotal historical moment in Clinton. Her threat to \u201ctotally obliterate\u201d Iran, her stomach-turning reference to the June 1968 assassination of Robert Kennedy as a reason to stay in the race, her Bosnian fabrications, all reflect a view of history as something that\u2019s there for political ends rather than as a source of inspiration or reflection.</br><br></br><br>It\u2019s history as \u201cMe, me, me.\u201d That tends to be blinding.</br><br></br><br>Her most crippling blindness has been to networks, national and global, the threads that bind and have changed society. As David Singh Grewal writes in his excellent new book, \u201cNetwork Power,\u201d a core tension in the world is that: \u201cEverything is being globalized except politics.\u201d</br><br></br><br>Grewal continues: \u201cWe live in a world in which our relations of sociability \u2014 our commerce, culture, ideas, manners \u2014 are increasingly shared, coordinated by newly global conversations in these domains, but in which our politics remains inescapably national, centered in the nation states that are the only loci of sovereign decision making.\u201d</br><br></br><br>The Bush administration has accentuated global awareness of this disjuncture. Connected people around the world were appalled by Bush policies \u2014 from the trashing of habeas corpus to renditions \u2014 but felt powerless to influence them.</br><br></br><br>The overwhelming global interest in the current U.S. election is tied in part to a spreading belief that America\u2019s leader may be as important to French lives, for example, as the incumbent in the \u00c9lys\u00e9e Palace. </br><br></br><br>Obama\u2019s people get that. Connectivity means going it alone is a fool\u2019s errand: that\u2019s a basic lesson of Iraq. If Obama has promised to appoint a chief technology officer, to open up government via the Web, and to make dialogue rather than war a centerpiece of policy, it\u2019s because he knows he must speak to a 21st-century world.</br><br></br><br>Grewal writes: \u201cPolitics is the only effective countervailing power that we have with which to refashion the structures that emerge through sociability.\u201d Accumulated personal choices expressed through networks fashion sociability. Short of global governance, only sovereignty can channel that will.</br><br></br><br>In concrete terms, you won\u2019t make globalization more equable in its distribution of income without politics. But first you must see sociability for what it is: a form of 21st-century personal sovereignty that rivals national sovereignty.</br><br></br><br>Clinton never saw this. McCain, whose Internet fund-raising has been negligible, also shows little grasp of MAC.</br><br></br><br>Of course, connection is no panacea, or guarantee against violent threats: Al Qaeda uses the Web effectively. But without understanding connectivity, you can no more beat terrorism than win an election. </br><br></br><br>It\u2019s the networks, stupid, and the generations that go with them.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_19:07:00", "killed": false, "user_key": "3e892379e7d442c8970d7cad6f54d5b8", "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}, "1966925": {"up_voted": false, "ip": "", "has_replies": false, "message": "Popular vote argument is pure garbage.<br></br><br>Many people have noted:  If the popular vote mattered then every state would hold it's election on the exact same day, under the exact same set of circumstances.</br><br></br><br>As it is now, states hold their contest on different days, in different months under different circumstances and different rules.</br><br></br><br>Some states hold caucuses, other hold primaries.  Some states hold caucuses and primaries.  Some states are open, others are closed.</br><br></br><br>Some states vote when there are 10 candidates to choose from; other states vote when there are only two candidates left.  Some places, like Puerto Rico, can change their contest mid-stream from a caucus to a primary.  I've even heard that some caucus states never record their final vote tallies, but only record percentages.</br><br></br><br>These are just a few of the obvious reasons why the popular vote is a garbage metric to use in determining the nominee.</br><br></br><br>If the popular vote mattered, then there'd be no use for delegates and, thus, no magic number that automatically sealed the nomination.</br><br></br><br>If the popular vote mattered then both Obama and Clinton would have camped out in the largest, most densely populated states in the hopes of running up the score on their oppenents.  But the popular vote doesn't matter.  So, instead of running up the score in strongholds like IL, MD, etc., Obama spent time and resources campaigning in other states.</br><br></br><br>Bottom line:  The Clintons think we're all really stupid.  They expect the media and the Democratic party is too scared to call them on their b.s.</br><br></br><br>It's been a long road, but, so far, it looks like we're not all as dumb as they hope we are.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_19:11:00", "killed": false, "user_key": "d1a8e45844ef20a90904a65e60371f42", "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}, "1966926": {"up_voted": false, "ip": "", "has_replies": false, "message": "markg8 said, <i>\"One of the most impressive things about Obama to me is the Jackie Robinson like self restraint and composure. . .\"</i><br></br><br>One of the truest statements of the campaign came from Bill Maher when he said that Obama had no choice but to run as the \"Jackie Robinson\" of politics.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_19:15:00", "killed": false, "user_key": "d1a8e45844ef20a90904a65e60371f42", "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}, "1966927": {"up_voted": false, "ip": "", "has_replies": false, "message": "Agreed but turn down the quasi-cultist vibe: \"Still, let those who think him soft stand in awe.\" Um...I think when you make statements like that you sound a bit off. Otherwise, what makes you any different from the glassy-eyed Fox News/Hannity/Beck. Ted Nugent/Pat Roberston true believers et al...or the Hillaryites? Always have a dose of skepticsm about EVERYTHING, including Obama. It will keep your sense of perspective, as well as a good hedge on having your heart broken. Don't drink the Kool Aid.<br></br><br>PS--having the balls to run for President as a black man does NOT mean you CAN'T be a lightweight. JFK was a lightweight, yet still brave. Abe Lincoln was a manic depressive, yet led the nationa and endured multiple heartaches. But since you've clearly taken a sippy sip of Kool Aid, it appears you don't want to at least parse the distinction...</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_19:41:00", "killed": false, "user_key": "2856a0a69d86b3cc32b0fa651ff33d01", "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}, "1966928": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Bottom line: The Clintons think we're all really stupid. They expect the media and the Democratic party is too scared to call them on their b.s.\"<br></br><br>Bingo. Yes, the American public is stupid and yes the DNC is too scared (DLC too cynical). That's all I'm saying...</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_19:45:00", "killed": false, "user_key": "2856a0a69d86b3cc32b0fa651ff33d01", "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}, "1966929": {"up_voted": false, "ip": "", "has_replies": false, "message": "Nqest<br></br><br>I'm born and raised Illinois - I've been MO and GA, but I'm Illinois again.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_19:57:00", "killed": false, "user_key": "9fcb7c771a7713dda01aa936fd426bfe", "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}, "1966930": {"up_voted": false, "ip": "", "has_replies": false, "message": "Did anyone read the story about Obama's donor list being too much for the SEC's system to hold?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_19:59:00", "killed": false, "user_key": "9fcb7c771a7713dda01aa936fd426bfe", "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}, "1966931": {"up_voted": false, "ip": "", "has_replies": false, "message": "I meant FEC.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_20:00:00", "killed": false, "user_key": "9fcb7c771a7713dda01aa936fd426bfe", "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}, "1966932": {"up_voted": false, "ip": "", "has_replies": false, "message": "Where is Steph Tubbs-Jones, who is on every show hyping Clinton?  Where is the \"diva-fied\" Sheila Jackson-Lee whose suitcases was dropped on the tarmac after one of her scenes?  She is another one.<br></br><br>Those sisters picked the wrong pony, now horse, to win this.  If anyone need to give Hillary an earful it is those two.</br><br></br><br>But don't expect it.  They are as weak, as they come.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_20:06:00", "killed": false, "user_key": "c8b2d42511d55e0cb79da4b7de989dab", "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}, "1966933": {"up_voted": false, "ip": "", "has_replies": false, "message": "ms. martin,<br></br><br>I read that. I thought it was hilarious.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_20:29:00", "killed": false, "user_key": "f85f4de88a30987f0360c336da9569ae", "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}, "1966934": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ms. Martin,<br></br><br>I was born and raised in rural, Southern Illinois.  As far south as you can go.  I'm in east central Illinois now, close to the U of I.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_20:45:00", "killed": false, "user_key": "3ecde559248958521e4cb25a77f2ee65", "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}, "1966935": {"up_voted": false, "ip": "", "has_replies": false, "message": "nquest<br></br><br>Are you near Carbondale?  I'm in Peoria looking to get to Chicago.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_20:58:00", "killed": false, "user_key": "9fcb7c771a7713dda01aa936fd426bfe", "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}, "1966936": {"up_voted": false, "ip": "", "has_replies": false, "message": "Bill says Hillary is a victim of a cover-up.....<br></br><br></br><br><b>Bill Clinton says wife is victim of a \u2018cover up\u2019</b></br><br>Posted: 10:55 AM ET</br><br></br><br>From CNN Associate Political Editor Rebecca Sinderbrand</br><br></br><br></br><br>Watch Bill Clinton's remarks about the state of the race. </br><br></br><br>(CNN) \u2014 Former President Bill Clinton said that Democrats were more likely to lose in November if his wife Hillary Clinton is not the party\u2019s presidential nominee, and suggested some people were trying to \u201ccover this up\u201d and \u201cpush and pressure and bully\u201d superdelegates to make up their minds prematurely.</br><br></br><br>\"I can\u2019t believe it. It is just frantic the way they are trying to push and pressure and bully all these superdelegates to come out,\u201d he said at a South Dakota campaign stop Sunday, in remarks first reported by ABC News. \u201c'Oh, this is so terrible: The people they want her. Oh, this is so terrible: She is winning the general election, and he is not. Oh my goodness, we have to cover this up.'\"</br><br></br><br>The former president added that his wife had not been given the respect she deserved as a legitimate presidential candidate. \"She is winning the general election today and he is not, according to all the evidence,\u201d he said. \u201cAnd I have never seen anything like it. I have never seen a candidate treated so disrespectfully just for running.\u201d</br><br></br><br>\u201cHer only position was, \u2018Look, if I lose I'll be a good team player. We will all try to win \u2014 but let's let everybody vote, and count every vote,\u2019\" he said.</br><br></br><br>The former president suggested that if the New York senator ended the primary season with an edge in the popular vote, it would be a significant development. \"If you vote for her and she does well in Montana and she does well in Puerto Rico, when this is over she will be ahead in the popular vote,\u201d said Clinton.</br><br></br><br>\u201cAnd they're trying to get her to cry uncle before the Democratic Party has to decide what to do in Florida and Michigan\u201d \u2013 which the party would need to do \u201cunless we want to lose the election.\"</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_22:04:00", "killed": false, "user_key": "63b159f0f2351eb699374dd9c7d8a3da", "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}, "1966937": {"up_voted": false, "ip": "", "has_replies": false, "message": "b-serious,<br></br><br>You are correct about the popular vote myth. There are four caucus states - states who did LEGAL ELECTIONS ACCORDING TO THE DEMOCRATIC PARTY RULES- that DID NOT keep voter tallys...</br><br></br><br>BECAUSE THEY WERE TOLD THE METRIC BY WHICH THE ELECTION WAS DECIDED WAS PLEDGED DELEGATES. </br><br></br><br>So, discount FOUR states that did LEGAL ELECTIONS..</br><br></br><br>for TWO who did ILLEGAL ELECTIONS?</br><br></br><br>Hell-to-the-naw.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_22:08:00", "killed": false, "user_key": "f85f4de88a30987f0360c336da9569ae", "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}, "1966938": {"up_voted": false, "ip": "", "has_replies": false, "message": "black american princess,<br></br><br>you see that he can't NAME the ' THEY'. It's totally bogus, and they need to check Bubba's meds.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_22:09:00", "killed": false, "user_key": "f85f4de88a30987f0360c336da9569ae", "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}, "1966939": {"up_voted": false, "ip": "", "has_replies": false, "message": "rikyrah, I truly think Bill and Hillary are smoking crack.  He's talking about \"she's winning the general election\" but we're still in the primaries, no?  What the f_ck is he talking about?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_22:15:00", "killed": false, "user_key": "63b159f0f2351eb699374dd9c7d8a3da", "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}, "1966940": {"up_voted": false, "ip": "", "has_replies": false, "message": "christopher chambers said, <i>\"Bingo. Yes, the American public is stupid and yes the DNC is too scared (DLC too cynical). That's all I'm saying...\"</i><br></br><br>Unless and until proven otherwise.</br><br></br><br>2008 is an opportunity to prove otherwise.</br><br></br><br>Personally, I don't think the American public is as stupid as public officials think.  Lazy perhaps, definitely cynical, but not necessarily stupid.   </br><br></br><br>The media goes with whatever sells ratings. . . which is neither scared nor courageous, but more opportunistic than anything else.</br><br></br><br>Democrats are scared and spineless.  However, Obama's candidacy stands as a challenge to Clinton power and relevancy within the party.  An Obama victory is a defeat for the DLC wing of the party.  That alone speaks volumes.</br><br></br><br>I think we are on the brink of a paradigm shift.  Higher registration means new blood and fresh ideas to effectively change the scope of the electorate.  It's placed the activist base of the party front and center, thus providing more influence than in years past.  </br><br></br><br>The media will continue to go with whomever or whatever is best for ratings.  With that said, a movement can be very good for ratings.</br><br></br><br>Obviously, the Democrats are undergoing an inner struggle for control of the party.  2006 set the table for such struggle.  And that struggle will be won once Obama defeats Hillary for the nomination. . . it will take hold once Obama is elected President.  This is a fight over the definition of \"Democratic politics.\"</br><br></br><br>The new Democratic party will be challenged to reflect the changing demographics within the Democratic electorate.  </br><br></br><br>Obama's following is unorthodox.  The Clinton/DLC orthodoxy is on life support at the moment.  The Democratic Party can pull the plug on June 4th if it wants to (actually, it can pull the plug right now).  The opportunity is there.</br><br></br><br>An unconventional electorate MIGHT elect unconventional Democratic politicians.  Again, 2006 set the stage for 2008.</br><br></br><br>The opportunity is there for a new direction.  Whether it happens is still an open question.  But odds seem better than 50%.</br><br></br><br>We're gonna learn A LOT over the next 2 weeks.  Meaning, there are NO excuses after June 3rd for those uncommitted super delegates.  They will have full cover to boot Bill and Hillary out of the race and marginalize their relevance to the party.  Will they seize that opportunity???</br><br></br><br>I've been disappointed thus far, but I have not lost all hope.  I'll stay optimistic.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_22:41:00", "killed": false, "user_key": "d1a8e45844ef20a90904a65e60371f42", "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}, "1966941": {"up_voted": false, "ip": "", "has_replies": false, "message": "Has anyone caught <a href=\"http://www.politico.com/news/stories/0508/10614.html\" rel=\"nofollow\">Lanny Davis</a> f*cked up solution to sitting the FL and Mi delegates..<br></br><br>Given his very <b>Clintonest</b> math, she would pull something like 190 del. to Baracks 98 orso.  </br><br></br><br>Black American Princess,</br><br>If Bill and Hillary are on crack, then Lanny must be the psher who's gettin high on his own supply...</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_22:43:00", "killed": false, "user_key": "2042081350805262dea9b76f7cd72640", "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}, "1966942": {"up_voted": false, "ip": "", "has_replies": false, "message": "The arguments are getting crazier by the day.<br></br><br>Mind you, the Clinton camp is not running on ideas.  </br><br></br><br>Obama is the one who's engaging McCain on ideas and substance.  Hillary is not.  </br><br></br><br>Hillary is running for personal reasons at this point.  She's not making policy arguments anymore.  Everything she says centers around her personal and political ambition . . .NOT the American people.</br><br></br><br>The Clintons are in the midst of a breakdown.  Obama should stay clear and keep his guard up.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_22:53:00", "killed": false, "user_key": "d1a8e45844ef20a90904a65e60371f42", "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}, "1966943": {"up_voted": false, "ip": "", "has_replies": false, "message": "I've watched it a second time, and I have to agree....I can't recommend it highly enough - watch Meet The Press for this week.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_22:57:00", "killed": false, "user_key": "f85f4de88a30987f0360c336da9569ae", "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}, "1966944": {"up_voted": false, "ip": "", "has_replies": false, "message": "I saw the Lanny Davis ' compromise' on Michigan. It's complete and utter bullshit. <br></br><br>I have to thank whatever blogger called Michigan the ' Soviet Style Election', because it's on the money. Obama wasn't even on the ballott, and they believe it should be seated, AS IS. </br><br></br><br>HELL NO.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_22:59:00", "killed": false, "user_key": "f85f4de88a30987f0360c336da9569ae", "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}, "1966945": {"up_voted": false, "ip": "", "has_replies": false, "message": "Once again, I'm going to point out that the most revealing thing in Meet the Press for me, came from that CBN guy Brody, when he spoke about the Obama campaign organizing around faith. I didn't know all that Obama was doing, and my mind keeps on going back to that blogger that insisted that the GOP attacks weren't about race so much as about religion. That little birdie keeps on getting louder and louder. And, it's the reason why they keep on trying to revive the ' Obama is a Muslim' lie. I am truly beginning to believe that they're scared of Obama's capacity to reach the middle of the road to liberal White Evangelicals. IF he can slice off enough of them in certain states, then he would be able to expand the Democratic electorate. <br></br><br>b-serious, this relates to what you are talking about the re-alignment of the Democratic Party.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_23:04:00", "killed": false, "user_key": "f85f4de88a30987f0360c336da9569ae", "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}, "1966946": {"up_voted": false, "ip": "", "has_replies": false, "message": "rikyrah<br></br><br>I can't bring my self to watch Lanny Davis anymore, but his is the first face I want to see after Obama secures the nomination.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_23:07:00", "killed": false, "user_key": "9fcb7c771a7713dda01aa936fd426bfe", "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}, "1966947": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ok OT: Here's Obama trying to get his groove on in Puerto Rico...while working the crowd it's fun! Enjoy!<br></br><br>http://www.youtube.com/watch?v=4n9gZnEozGU&eurl;</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_23:07:00", "killed": false, "user_key": "432619ba625f6a3e6b9013e9117e3759", "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}, "1966948": {"up_voted": false, "ip": "", "has_replies": false, "message": "rikyrah<br></br><br>I immediately thought of you and your post when Brody starting describing Obama's faith-based outreach initiative (I think that's what he called it).</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_23:09:00", "killed": false, "user_key": "9fcb7c771a7713dda01aa936fd426bfe", "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}, "1966949": {"up_voted": false, "ip": "", "has_replies": false, "message": "rikyrah,<br></br><br>Though McCain Should carry my state(texas) with ease, i should point out that Hagee's bunch down here in San Antonio ARE NOT HAPPY WITH MC CAIN..</br><br></br><br>His insiders looked at McCain pulling the endorsement as a slap in the face..Plus, alot of these evangelicals are speakin more and more about the war...(and not in GOP friendly terms)</br><br></br><br>It wouldnt shock me one bit if you saw Huckabee out there more and more in the MSM trying to diffuse your point..</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_23:14:00", "killed": false, "user_key": "2042081350805262dea9b76f7cd72640", "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}, "1966950": {"up_voted": false, "ip": "", "has_replies": false, "message": "Exactly. . . Obama scares a lot of people.<br></br><br>No one fears Hillary Clinton.  The Republicans know exactly what they're gonna get with her.  They're comfortable with that type of fight. </br><br></br><br>But Obama's different.  For reasons you've pointed out, Obama is expanding the electoral map.  He's waking a sleeping giant.</br><br></br><br>Everything. . . from his ever-growing list of donors to expanding registration tells anyone with half a brain that something big is about to happen.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_23:14:00", "killed": false, "user_key": "d1a8e45844ef20a90904a65e60371f42", "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}, "1966951": {"up_voted": false, "ip": "", "has_replies": false, "message": "How many of you believe McCain's stance on the GI Bill is going to hurt him in the general.<br></br><br>It seems McCain made an ass of himself when he said Obama had no right to question his position when he had not served.</br><br></br><br>Someone pointed out that Obama was too young for Vietnam and probably too old for Desert Storm.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_23:20:00", "killed": false, "user_key": "9fcb7c771a7713dda01aa936fd426bfe", "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}, "1966952": {"up_voted": false, "ip": "", "has_replies": false, "message": "ms. martin,<br></br><br>His stance on the G.I. Bill makes no sense to me, but then again, it goes in with a PATTERN. He hasn't been on the common soldier's side AT ALL. look at his record. </br><br></br><br>And he took the most ridiculous stance - a non-vote on it.You can defend a NO-vote...even if I think it's wrong, you can find a way to defend it.  </br><br></br><br>You can't be ' Mr. POW', and then disrespect soldiers like that. Completely incompatible.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_23:32:00", "killed": false, "user_key": "f85f4de88a30987f0360c336da9569ae", "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}, "1966953": {"up_voted": false, "ip": "", "has_replies": false, "message": "rikyrah<br></br><br>Not only did he not vote, he's been outspoken about it.</br><br></br><br>I think he's against the cost - 2 billion; which someone pointed out is what we are spending a week in Iraq.</br><br></br><br>He also wants the soldiers benefits determined by the time of service.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-26_23:59:00", "killed": false, "user_key": "9fcb7c771a7713dda01aa936fd426bfe", "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}, "1966954": {"up_voted": false, "ip": "", "has_replies": false, "message": "B-Serious,<br></br><br>OK...I know you don't want to hear this....again, but I was over at TPMcafe and saw a post titled \"Obama, you are something else\". by Bserious</br><br></br><br>The post is a copy of this post entry. However, he did reference Jack and Jill. But he doesn't say that he copied the words of Jill. The commentors think he wrote it. </br><br></br><br>Very odd.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-27_00:04:00", "killed": false, "user_key": "432619ba625f6a3e6b9013e9117e3759", "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}, "1966955": {"up_voted": false, "ip": "", "has_replies": false, "message": "ms. martin<br></br><br>I did 9yrs in the navy, I can PREACH as to why McCains GI Bill is utter BS, and Webbs is the way to go..</br><br></br><br>Under the current plan the GI Bill pays out 1051 Dollars Monthly and this is based on 36 months. Thats 12,612 dollars..The 1051 represents the number if you plan to go full time. That number slides to 750 if youre going 3/4 of the time, and to 550 if your going half the time. Oh, and once you start school you have 3yrs to finish it, or you lose it. If you dont start, you have 10yrs from the time you get out to take adv. of it.</br><br></br><br>To go to Texas AM or UT it cost about 15K annually. This number is before labs, living expenses etc..</br><br></br><br>McCain figures if you stay in, he'll pay you more. He leaves out the FACT that his plan doesnt rise to pay the cost of a Local or State College. It just gives you a $500 bump (if you qualify) His plan adds another scale of not only time served (so if you only did one four yr tour, youre not gettin the full 1500) plus the scale still requires you to do full time or your monthly figure os lower.</br><br></br><br>In Lamens, If McCain's bill were to pass, and lets say you did a 4yr tour. You get out, and decide to go to the local CC full time. </br><br></br><br>You go from getting 1051 full, to about 750 monthly. (you only did one tour suck it up!) Remember, the scale has to bottom out and he's made it clear that people who did 1 tour should not be getting paid like people who did 2 and 3 tours. </br><br></br><br>His second Arguement is that it diminisghes the role of NCO's ..Again utter BS..NCO' start out at the E-4 Ranking. (many come in as e-2's and pick up e4 within 1yr)</br><br></br><br>Someone on the \"fasttrack\" can rise to the rank of e-6 within 4 yrs. </br><br></br><br>The military is overflowing with NCO's . E-5's are Seargents as you may know them make up the largest block of the any military branch. </br><br></br><br>You can get to the rank of E-5 (SGT)  all 4 branches at a min. of 2 yrs. </br><br></br><br>Webbs plan adjust to local and State rates for Colleges. It doesnt matter how long you served. </br><br></br><br>Webbs plan also calls for living expenses to be factored into seperate funds. This is huge, as the biggest problem I see with guys who are getting out now is they can afford the tuition, but thats it. Many have to go back to livin with thre parents.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-27_00:11:00", "killed": false, "user_key": "2042081350805262dea9b76f7cd72640", "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}, "1966956": {"up_voted": false, "ip": "", "has_replies": false, "message": "rikyrah,thaks for the mee the press link. what a sober discussion at the foggy bottom roundtable. i did notice he one guy sneak in that hillary had one the popular vote. when the head of a major political magazine says something like that ...i always wonder is it deiberate, stupid, or lazy? generally a good thoughtful discussion, i concur. loved what maureen dowd said about mccain's nastiness and obama's eagerness to attack mccain versus his restraint with hillary. maureen dowd is a better pundit on tv than in the paper. she is more serious.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-27_00:17:00", "killed": false, "user_key": "ab03b08e2f2082ad84cf39c973e5bebb", "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}, "1966957": {"up_voted": false, "ip": "", "has_replies": false, "message": "Who'd buy a used car from Lanny Davis?...let's have a show of hands.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-27_00:22:00", "killed": false, "user_key": "0e63fda3bc8752465623f674ffcc5f40", "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}, "1966958": {"up_voted": false, "ip": "", "has_replies": false, "message": "McCain is going to be able to say, and do a lot of things that are \"off the wall.\" Aside from Obama calling him on it, McCain will get a pass from the media (and anyone else with reach). That should be fun.<br></br><br>I am interested in the GE, and how the campaigns will be fought. There's a lot of organizing going on, but will these bodies show up come voting time? Folks may slack off if they assume an easy win for Obama.</br><br></br><br>As for Billary, they will continue to be negative, backstabbing, and sabotaging throughout the GE. They can't help themselves.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-27_00:23:00", "killed": false, "user_key": "3580acf03b0e2b7f45dddfa3d1f96215", "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}, "1966959": {"up_voted": false, "ip": "", "has_replies": false, "message": "smoothie<br></br><br>I am in NO WAY advocating for John McCain.  Just pointing out is idiocy and hoping that Americans will see this so-called patriot for what he really is.</br><br></br><br>He didn't need money after service, he had Ciindy McCain, her family, and their money.</br><br></br><br>I have always thought it an atrocity the way service people are treated.  Sure there's all the lip service.  Thank you's mostly, but I would like to see them put their money where their mouths are.</br><br></br><br>I agree with as much as I know about the Webb Bill.</br><br></br><br>Thank you for your service.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-27_00:33:00", "killed": false, "user_key": "9fcb7c771a7713dda01aa936fd426bfe", "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}, "1966960": {"up_voted": false, "ip": "", "has_replies": false, "message": "Someone pointed out that Obama was too young for Vietnam and probably too old for Desert Storm.<br>----------</br><br></br><br>Obama was like 10 years old when Vietnam was going on and was 30 when Desert Storm hit the scene.  I don't know how old is too old to enlist but I'm not sure that the Armed Svcs. would have taken a 30 year old first time recruit back in 1991.</br><br></br><br>What's Dick \"5 Deferments\" Cheney's excuse? Or George \"I Showed Up a couple of Times\" Bush Jr.'s?</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-27_00:40: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}, "1966961": {"up_voted": false, "ip": "", "has_replies": false, "message": "texas girl said <i>\"B-Serious,<br></br><br>OK...I know you don't want to hear this....again, but I was over at TPMcafe and saw a post titled \"Obama, you are something else\". by Bserious</br><br></br><br>The post is a copy of this post entry. However, he did reference Jack and Jill. But he doesn't say that he copied the words of Jill. The commentors think he wrote it. </br><br></br><br>Very odd.\"</br></i><br></br><br>Thanks for the heads up.  </br><br></br><br>Click on that guys name.  You'll see that he's copied other blogs as well.</br><br></br><br>You'll see my blog post from February.  He calls it <b>\"Poor Hillary,\"</b> but it's my post.  Here's the original here:</br><br></br><br><a href=\"http://reachblack.blogspot.com/2008/02/double-standard-facing-barack-obama.html\" rel=\"nofollow\">Double Standard Facing Barack Obama</a></br><br></br><br>I tried to write a comment letting everyone know that he's not the author, but the comment never got posted.</br><br> </br><br>Take another look at his TPM page.  You'll also see that he copied another blog post from Field Negro.</br><br></br><br>It's really annoying.  I'm gonna end up sending an email to TPM.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-27_00:55:00", "killed": false, "user_key": "d1a8e45844ef20a90904a65e60371f42", "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}, "1966962": {"up_voted": false, "ip": "", "has_replies": false, "message": "B-Serious -<br>Your 741pm comment should be expanded to a diary at kos. I'd really like to read something more substantial about this primary than the usual tit for tat.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-27_00:55:00", "killed": false, "user_key": "1572c9b90152e199379cfb228c0cc759", "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}, "1966963": {"up_voted": false, "ip": "", "has_replies": false, "message": "heartsandflowers<br></br><br>I agree, I'm so burned out on the HRC saga.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-27_01:10:00", "killed": false, "user_key": "9fcb7c771a7713dda01aa936fd426bfe", "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}, "1966964": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jill - I've been wanting to ask - why is your mom such a staunch Hillary supporter?<br></br><br>And OT for Tuesday Open thread: </br><br></br><br>Jubilee Act is up for vote in the Senate on Tuesday to cancel African debt.</br><br></br><br>http://www.jubileeusa.org</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-27_03:55:00", "killed": false, "user_key": "1572c9b90152e199379cfb228c0cc759", "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}, "1966965": {"up_voted": false, "ip": "", "has_replies": false, "message": "ms martin..<br>no problem I didnt tihnk you were advocating mccains plan </br><br></br><br>i just love to point out how mc cain is in fact screwin people over with his plan. </br><br>Im out now, but thanks for the comment</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-27_07:39:00", "killed": false, "user_key": "2042081350805262dea9b76f7cd72640", "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}, "1966966": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"And to those who call Barack Obama weak, I counter that no man who knows that his bid for leadership of a nation might cost him his own life at any moment<br>due to hate can be called a man without courage, purpose, grit and determination.\"</br><br></br><br>Absolutely beautiful!  You've nailed it for me.  And it almost brings me to tears thinking about how this man gets up everyday, knowing that some nut could murder and/or severely disable him or any member of his family.  But he does it because he has courage.</br><br>This is why I was very annoyed and disappointed with some who so casually tossed insults like \"coward, spineless, and even bitch ass\" at this man.</br><br>How dare anyone who is sitting in the safety of their homes, typing on their computer, call Senator Obama a damn coward?  </br><br>Sorry for my passion on this.  I guess I'm still a little ticked at some of the comments that were made on other black blogs about Senator Obama being a coward.</br><br>Peace,</br><br>A</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-05-28_07:06:00", "killed": false, "user_key": "73ce9954daaadd29c11ed08ebf029ed8", "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": "3442098", "user_id": "anonymous", "forum_id": "21630", "hash": -2117840292170509619}, "thread": {"days_alive": 0, "slug": "al_sharpton_to_clinton_on_rfk_remarks_cool_it", "paginate": false, "num_pages": 1, "num_posts": 58, "per_page": 0, "total_posts": 0, "realtime_paused": true, "id": 3442098, "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=al_sharpton_to_clinton_on_rfk_remarks_cool_it' +
		'&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/al_sharpton_to_clinton_on_rfk_remarks_cool_it/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='	+ 'al_sharpton_to_clinton_on_rfk_remarks_cool_it'
			+ '&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/al_sharpton_to_clinton_on_rfk_remarks_cool_it/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">58</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://jackandjillpolitics.disqus.com/al_sharpton_to_clinton_on_rfk_remarks_cool_it/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/al_sharpton_to_clinton_on_rfk_remarks_cool_it/">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:3442098" 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/al_sharpton_to_clinton_on_rfk_remarks_cool_it/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:3442098" 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:3442098" 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'				: 'al_sharpton_to_clinton_on_rfk_remarks_cool_it',
			// 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/al_sharpton_to_clinton_on_rfk_remarks_cool_it/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='	+ 'al_sharpton_to_clinton_on_rfk_remarks_cool_it'
			+ '&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='	+ 'al_sharpton_to_clinton_on_rfk_remarks_cool_it'
			+ '&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='		+ 'al_sharpton_to_clinton_on_rfk_remarks_cool_it'
				+ '&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/3442098/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-1966909">\
	 <div id="dsq-comment-header-1966909" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966909" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966909">Craig Hickman</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966909" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966909" class="dsq-comment-message"><i><b>And to those who call Barack Obama weak, I counter that no man who knows that his bid for leadership of a nation might cost him his own life at any moment due to hate can be called a man without courage, purpose, grit and determination.</b> I think it\'s wise for the Obama campaign to downplay this unfortunate and ugly aspect of his bid for the presidency. Still, let those who think him soft stand in awe.</i><br></br><br>::</br><br></br><br>That\'s a wrap. </br><br></br><br>Thank you for saying this so well.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966910">\
	 <div id="dsq-comment-header-1966910" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966910" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966910">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966910" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966910" class="dsq-comment-message">Great post.<br></br><br>I think of all of the vile effluent that has been spewed at Senator Obama and how enraged it can make me...then I see his serenity under actual threat and I marvel.</br><br></br><br>-- middle-aged white guy</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966911">\
	 <div id="dsq-comment-header-1966911" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966911" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966911">Shazzasharona</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966911" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966911" class="dsq-comment-message">I don\'t know how anyone can call him   weak-it takes a strong will to ignore <br>or brush off HRC and her surrogates\' attacks. </br><br>And I agree with Craig, what you wrote is great! </br><br>Glad to see your mom is seeing the light.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966912">\
	 <div id="dsq-comment-header-1966912" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966912" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966912">Ms.Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966912" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966912" class="dsq-comment-message">"Even were he to be cut down in action today, this nation -- because of his hope -- will never be the same again."<br></br><br>This is the one constant that gets me through the pains of this campaign.</br><br></br><br>We will never be the same.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966913">\
	 <div id="dsq-comment-header-1966913" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966913" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966913">Ms.Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966913" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966913" class="dsq-comment-message">I just watched the video of yesterday\'s Meet the Press and suggest that if anyone needs an accurate and truthful examination (for justification of what you know to be true) of the campaign so far, that you watch the video.<br></br><br>The panel touched on every topic:  assassination, sexism, the black vote, Obama\'s religion, McCains religion, McCains talk about military service.</br><br></br><br>It was very calming for me because I like the truth and that is exactly what it was.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966914">\
	 <div id="dsq-comment-header-1966914" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966914" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966914">Craig Hickman</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966914" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966914" class="dsq-comment-message">I agree, ms.martin.<br></br><br>It was the best episode of Meet the Press in this campaign.</br><br></br><br>Excellent panel.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966915">\
	 <div id="dsq-comment-header-1966915" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966915" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966915">smoothie</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966915" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966915" class="dsq-comment-message">I dont buy Bill Clintons excuse of if the shoe were on the other foot the media would be all over Hillary about why she\'s losing the popular vote. <br></br><br>1st. B/C If it were Barack, something tells me he would suspended his campaign for the good of the party shortly after NC/IND. </br><br></br><br>2nd. I think the media esp. those channels that are chock filled with HRC (CNN/ABC) supporters would be FUMING for him to leave. </br><br></br><br>(Could you imagine Begala and Carville on CNN right now if Hillary were up by almost 200 with 3 primaries to go and NO mathmatical way for Barack to catch her?)</br><br></br><br>FWIW,</br><br></br><br>Liz Trotta\'s appeared on Fox News this morning and offered this <a href="http://youtube.com/watch?v=lLCCoD87l5E" rel="nofollow">apology</a></br><br></br><br><i>Trotta: Yes, I am so sorry about what happened yesterday and the lame attempt at humor. I feel all over myself, making it appear that I wished Barack Obama harm or any other candidate, for that matter, and I sincerely regret it and apologize to anybody I have offended. It is a very colorful political season, and many of us are making mistakes and saying things we wish we had not said.</i></br><br></br><br>Via Politico</br><br>http://www.politico.com/blogs/michaelcalderone/0508/Fox_analyst_apologizes_for_Obama_assassination_joke.html</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966916">\
	 <div id="dsq-comment-header-1966916" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966916" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966916">heartsandflowers</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966916" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966916" class="dsq-comment-message">Whatever to Liz Trotta. She needs to have a close personal visit with some Federal investigators. What would she have done if she had been hauled off as to some undisclosed prison as a national security risk?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966917">\
	 <div id="dsq-comment-header-1966917" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966917" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966917">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966917" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966917" class="dsq-comment-message"><i>And to those who call Barack Obama weak, I counter that no man who knows that his bid for leadership of a nation might cost him his own life at any moment due to hate can be called a man without courage, purpose, grit and determination. I think it\'s wise for the Obama campaign to downplay this unfortunate and ugly aspect of his bid for the presidency. Still, let those who think him soft stand in awe. Because that\'s the power of Hope. Even were he to be cut down in action today, this nation -- because of his hope -- will never be the same again.</i><br></br><br>Jill, you said it so very eloquently. When Obama first began, I supported him, mainly because I hated Clinton, and because I thought he was as qualified as anyone else AND he was Black.  My RESPECT for him, however, has grown enormously over the course of this campaign. As I watched the barrage of attacks come his way, with only, it seems Michelle and some of the Black Blogosphere having his back, the true measure of how far he has come has impressed me to such depths, I can hardly explain. I pray for him. I pray for Michelle. I pray for their babies. There IS hate out there, and he knows it, yet he and Michelle put THEIR LIVES on the line everyday. I believe they\'ve earned our respect, let alone our votes.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966918">\
	 <div id="dsq-comment-header-1966918" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966918" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966918">andyfrombrooklyn</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966918" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966918" class="dsq-comment-message">barack obama is a saint of great restraint. he knows that he has won the nomination. he knows that clinton has been trying to drag him into the mud since the david geffen incident over a year ago. obama knows how to stick to a gameplan.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966919">\
	 <div id="dsq-comment-header-1966919" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966919" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966919">andyfrombrooklyn</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966919" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966919" class="dsq-comment-message">craig hickman or ms. martin, do you have link to meet the press. my computer won\'t play video at the msnbc website.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966920">\
	 <div id="dsq-comment-header-1966920" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966920" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966920">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966920" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966920" class="dsq-comment-message">Try here andy:<br></br><br><a href="http://www.politicalinaction.com" rel="nofollow">Politicalinaction.com</a></br><br></br><br>They have a post on MTP.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966921">\
	 <div id="dsq-comment-header-1966921" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966921" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966921">Nquest</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966921" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966921" class="dsq-comment-message">A pretty close summation but not exactly what happened during HRC\'s meeting with Rev. Al...<br></br><br><i></i></br><br>HRC:  Al, you wanted to speak to me?</br><br></br><br>Rev. Al:  Duh.  You\'re f-ckin\' up my press-n-curl, gurl.  </br><br></br><br>HRC:  Well, Al.  That\'s pretty sexist of you.</br><br></br><br>Rev. Al:  *bleep* *bleep* *bleep*</br><br>***bleeeeeeeeeeppppeeeepppeee****</br><br></br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966922">\
	 <div id="dsq-comment-header-1966922" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966922" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966922">markg8</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966922" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966922" class="dsq-comment-message">One of the most impressive things about Obama to me is the Jackie Robinson like self restraint and composure he possesses multiplied for the bigger political stage. When we lost NH and then when I was worried Rev. Wright might sabotage the whole campaign, when I felt like burying my head in my hands Barack came back brilliantly. His speech that night in NH had me cheering in front of my teevee. The Philly speech had Chris Matthews practically cheering <i>on</i> my teevee right along with me. <br></br><br>I have to admit though Obama had me from the day I got up at 4:30 in the morning to drive out to Bolingbrook to catch a bus to Springfield and stand in the bitter cold in February 2007 to hear him declare his candidacy. We <i>will</i> get back to the work of making a more perfect union. </br><br></br><br>I\'ve worked hard trying to get a lot of Democratic candidates elected over the years. I\'ve watched them flounder under swiftboat, brownsuit and Willie Horton attacks. I spent sleepless nights wondering if they\'d pull it out, wishing they were better candidates. I\'d tell myself I\'m too old, too jaded, too much of a political junkie to be inspired by a politician and speeches. </br><br></br><br>Man was I ever wrong. And these days I sleep like a baby. This country desperately needs a great president. The more I see of Barack Obama the more convinced I am he can be that president. </br><br></br><br>-Another middle aged white guy</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966923">\
	 <div id="dsq-comment-header-1966923" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966923" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966923">Nquest</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966923" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966923" class="dsq-comment-message"><i>I have to admit though Obama had me from the day I got up at 4:30 in the morning to drive out to Bolingbrook to catch a bus to Springfield and stand in the bitter cold in February 2007</i><br></br><br>Illinois in da house!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966924">\
	 <div id="dsq-comment-header-1966924" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966924" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966924">Angela</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966924" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966924" class="dsq-comment-message">from the NYT today...says alot for Obama<br></br><br>By ROGER COHEN</br><br>Published: May 26, 2008</br><br>It’s the networks, stupid.</br><br></br><br>Roger Cohen </br><br></br><br>Go to Columnist Page » Blog: Passages More than any other factor, it has been Barack Obama’s grasp of the central place of Internet-driven social networking that has propelled his campaign for the Democratic nomination into a seemingly unassailable lead over Hillary Clinton. Her campaign has been so 20th-century. His has been of the century we’re in.</br><br></br><br>That’s not surprising. Obama spent only 10 years of his adult life in the split world of the cold war, double that in a post-Berlin Wall world of growing interconnectedness. MAC — mutually assured connectivity — has replaced the MAD — mutually assured destruction — of cold-war days.</br><br></br><br>For Clinton, born in 1947, that ratio is different. Her mental paradigm is division. When her husband last ran for president in 1996, the Internet was marginal. The thinking and people from that campaign have proved unable to fast-forward a dozen years. They’ve been left like deer blinded by the Webcam lights of the Obama juggernaut.</br><br></br><br>This cultural failure has been devastating for Clinton. As Joshua Green chronicles in an important piece in The Atlantic, Obama has used social networking and his user-friendly Web site to develop the money machine, and the youthful engagement, that has swept him forward.</br><br></br><br>Green notes, “Obama’s claim of 1,276,000 donors is so large that Clinton doesn’t bother to compete.” He gives some other Obama campaign numbers: 750,000 active volunteers and 8,000 affinity groups. In February, a month in which he raised $55 million ($45 million over the Internet), 94 percent of donations were of $200 or less, a number dwarfing small contributions to Clinton and John McCain.</br><br></br><br>Obama has been a classic Internet-start up, a movement spreading with viral intensity and propelled by some of Silicon Valley’s most creative minds. As with any online phenomenon, he has jumped national borders, stirring as much buzz in Berlin as he does back home.</br><br></br><br>He could not have achieved this without a sense of history, a conviction that the nature of the post-post-9/11 world — the one beyond war without end — is going to be determined by sociability and connectivity. In the globalized world of MySpace, LinkedIn and the rest, sociability is a force as strong as sovereignty.</br><br></br><br>I’ve searched in vain for a sense of this pivotal historical moment in Clinton. Her threat to “totally obliterate” Iran, her stomach-turning reference to the June 1968 assassination of Robert Kennedy as a reason to stay in the race, her Bosnian fabrications, all reflect a view of history as something that’s there for political ends rather than as a source of inspiration or reflection.</br><br></br><br>It’s history as “Me, me, me.” That tends to be blinding.</br><br></br><br>Her most crippling blindness has been to networks, national and global, the threads that bind and have changed society. As David Singh Grewal writes in his excellent new book, “Network Power,” a core tension in the world is that: “Everything is being globalized except politics.”</br><br></br><br>Grewal continues: “We live in a world in which our relations of sociability — our commerce, culture, ideas, manners — are increasingly shared, coordinated by newly global conversations in these domains, but in which our politics remains inescapably national, centered in the nation states that are the only loci of sovereign decision making.”</br><br></br><br>The Bush administration has accentuated global awareness of this disjuncture. Connected people around the world were appalled by Bush policies — from the trashing of habeas corpus to renditions — but felt powerless to influence them.</br><br></br><br>The overwhelming global interest in the current U.S. election is tied in part to a spreading belief that America’s leader may be as important to French lives, for example, as the incumbent in the Élysée Palace. </br><br></br><br>Obama’s people get that. Connectivity means going it alone is a fool’s errand: that’s a basic lesson of Iraq. If Obama has promised to appoint a chief technology officer, to open up government via the Web, and to make dialogue rather than war a centerpiece of policy, it’s because he knows he must speak to a 21st-century world.</br><br></br><br>Grewal writes: “Politics is the only effective countervailing power that we have with which to refashion the structures that emerge through sociability.” Accumulated personal choices expressed through networks fashion sociability. Short of global governance, only sovereignty can channel that will.</br><br></br><br>In concrete terms, you won’t make globalization more equable in its distribution of income without politics. But first you must see sociability for what it is: a form of 21st-century personal sovereignty that rivals national sovereignty.</br><br></br><br>Clinton never saw this. McCain, whose Internet fund-raising has been negligible, also shows little grasp of MAC.</br><br></br><br>Of course, connection is no panacea, or guarantee against violent threats: Al Qaeda uses the Web effectively. But without understanding connectivity, you can no more beat terrorism than win an election. </br><br></br><br>It’s the networks, stupid, and the generations that go with them.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966925">\
	 <div id="dsq-comment-header-1966925" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966925" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966925">B-Serious</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966925" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966925" class="dsq-comment-message">Popular vote argument is pure garbage.<br></br><br>Many people have noted:  If the popular vote mattered then every state would hold it\'s election on the exact same day, under the exact same set of circumstances.</br><br></br><br>As it is now, states hold their contest on different days, in different months under different circumstances and different rules.</br><br></br><br>Some states hold caucuses, other hold primaries.  Some states hold caucuses and primaries.  Some states are open, others are closed.</br><br></br><br>Some states vote when there are 10 candidates to choose from; other states vote when there are only two candidates left.  Some places, like Puerto Rico, can change their contest mid-stream from a caucus to a primary.  I\'ve even heard that some caucus states never record their final vote tallies, but only record percentages.</br><br></br><br>These are just a few of the obvious reasons why the popular vote is a garbage metric to use in determining the nominee.</br><br></br><br>If the popular vote mattered, then there\'d be no use for delegates and, thus, no magic number that automatically sealed the nomination.</br><br></br><br>If the popular vote mattered then both Obama and Clinton would have camped out in the largest, most densely populated states in the hopes of running up the score on their oppenents.  But the popular vote doesn\'t matter.  So, instead of running up the score in strongholds like IL, MD, etc., Obama spent time and resources campaigning in other states.</br><br></br><br>Bottom line:  The Clintons think we\'re all really stupid.  They expect the media and the Democratic party is too scared to call them on their b.s.</br><br></br><br>It\'s been a long road, but, so far, it looks like we\'re not all as dumb as they hope we are.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966926">\
	 <div id="dsq-comment-header-1966926" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966926" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966926">B-Serious</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966926" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966926" class="dsq-comment-message">markg8 said, <i>"One of the most impressive things about Obama to me is the Jackie Robinson like self restraint and composure. . ."</i><br></br><br>One of the truest statements of the campaign came from Bill Maher when he said that Obama had no choice but to run as the "Jackie Robinson" of politics.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966927">\
	 <div id="dsq-comment-header-1966927" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966927" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966927">Christopher Chambers</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966927" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966927" class="dsq-comment-message">Agreed but turn down the quasi-cultist vibe: "Still, let those who think him soft stand in awe." Um...I think when you make statements like that you sound a bit off. Otherwise, what makes you any different from the glassy-eyed Fox News/Hannity/Beck. Ted Nugent/Pat Roberston true believers et al...or the Hillaryites? Always have a dose of skepticsm about EVERYTHING, including Obama. It will keep your sense of perspective, as well as a good hedge on having your heart broken. Don\'t drink the Kool Aid.<br></br><br>PS--having the balls to run for President as a black man does NOT mean you CAN\'T be a lightweight. JFK was a lightweight, yet still brave. Abe Lincoln was a manic depressive, yet led the nationa and endured multiple heartaches. But since you\'ve clearly taken a sippy sip of Kool Aid, it appears you don\'t want to at least parse the distinction...</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966928">\
	 <div id="dsq-comment-header-1966928" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966928" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966928">Christopher Chambers</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966928" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966928" class="dsq-comment-message">"Bottom line: The Clintons think we\'re all really stupid. They expect the media and the Democratic party is too scared to call them on their b.s."<br></br><br>Bingo. Yes, the American public is stupid and yes the DNC is too scared (DLC too cynical). That\'s all I\'m saying...</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966929">\
	 <div id="dsq-comment-header-1966929" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966929" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966929">Ms.Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966929" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966929" class="dsq-comment-message">Nqest<br></br><br>I\'m born and raised Illinois - I\'ve been MO and GA, but I\'m Illinois again.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966930">\
	 <div id="dsq-comment-header-1966930" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966930" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966930">Ms.Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966930" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966930" class="dsq-comment-message">Did anyone read the story about Obama\'s donor list being too much for the SEC\'s system to hold?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966931">\
	 <div id="dsq-comment-header-1966931" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966931" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966931">Ms.Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966931" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966931" class="dsq-comment-message">I meant FEC.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966932">\
	 <div id="dsq-comment-header-1966932" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966932" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966932">icebergslim</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966932" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966932" class="dsq-comment-message">Where is Steph Tubbs-Jones, who is on every show hyping Clinton?  Where is the "diva-fied" Sheila Jackson-Lee whose suitcases was dropped on the tarmac after one of her scenes?  She is another one.<br></br><br>Those sisters picked the wrong pony, now horse, to win this.  If anyone need to give Hillary an earful it is those two.</br><br></br><br>But don\'t expect it.  They are as weak, as they come.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966933">\
	 <div id="dsq-comment-header-1966933" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966933" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966933">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966933" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966933" class="dsq-comment-message">ms. martin,<br></br><br>I read that. I thought it was hilarious.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966934">\
	 <div id="dsq-comment-header-1966934" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966934" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966934">Nquest</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966934" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966934" class="dsq-comment-message">Ms. Martin,<br></br><br>I was born and raised in rural, Southern Illinois.  As far south as you can go.  I\'m in east central Illinois now, close to the U of I.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966935">\
	 <div id="dsq-comment-header-1966935" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966935" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966935">Ms.Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966935" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966935" class="dsq-comment-message">nquest<br></br><br>Are you near Carbondale?  I\'m in Peoria looking to get to Chicago.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966936">\
	 <div id="dsq-comment-header-1966936" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966936" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966936">Black American Princess</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966936" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966936" class="dsq-comment-message">Bill says Hillary is a victim of a cover-up.....<br></br><br></br><br><b>Bill Clinton says wife is victim of a ‘cover up’</b></br><br>Posted: 10:55 AM ET</br><br></br><br>From CNN Associate Political Editor Rebecca Sinderbrand</br><br></br><br></br><br>Watch Bill Clinton\'s remarks about the state of the race. </br><br></br><br>(CNN) — Former President Bill Clinton said that Democrats were more likely to lose in November if his wife Hillary Clinton is not the party’s presidential nominee, and suggested some people were trying to “cover this up” and “push and pressure and bully” superdelegates to make up their minds prematurely.</br><br></br><br>"I can’t believe it. It is just frantic the way they are trying to push and pressure and bully all these superdelegates to come out,” he said at a South Dakota campaign stop Sunday, in remarks first reported by ABC News. “\'Oh, this is so terrible: The people they want her. Oh, this is so terrible: She is winning the general election, and he is not. Oh my goodness, we have to cover this up.\'"</br><br></br><br>The former president added that his wife had not been given the respect she deserved as a legitimate presidential candidate. "She is winning the general election today and he is not, according to all the evidence,” he said. “And I have never seen anything like it. I have never seen a candidate treated so disrespectfully just for running.”</br><br></br><br>“Her only position was, ‘Look, if I lose I\'ll be a good team player. We will all try to win — but let\'s let everybody vote, and count every vote,’" he said.</br><br></br><br>The former president suggested that if the New York senator ended the primary season with an edge in the popular vote, it would be a significant development. "If you vote for her and she does well in Montana and she does well in Puerto Rico, when this is over she will be ahead in the popular vote,” said Clinton.</br><br></br><br>“And they\'re trying to get her to cry uncle before the Democratic Party has to decide what to do in Florida and Michigan” – which the party would need to do “unless we want to lose the election."</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966937">\
	 <div id="dsq-comment-header-1966937" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966937" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966937">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966937" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966937" class="dsq-comment-message">b-serious,<br></br><br>You are correct about the popular vote myth. There are four caucus states - states who did LEGAL ELECTIONS ACCORDING TO THE DEMOCRATIC PARTY RULES- that DID NOT keep voter tallys...</br><br></br><br>BECAUSE THEY WERE TOLD THE METRIC BY WHICH THE ELECTION WAS DECIDED WAS PLEDGED DELEGATES. </br><br></br><br>So, discount FOUR states that did LEGAL ELECTIONS..</br><br></br><br>for TWO who did ILLEGAL ELECTIONS?</br><br></br><br>Hell-to-the-naw.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966938">\
	 <div id="dsq-comment-header-1966938" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966938" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966938">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966938" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966938" class="dsq-comment-message">black american princess,<br></br><br>you see that he can\'t NAME the \' THEY\'. It\'s totally bogus, and they need to check Bubba\'s meds.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966939">\
	 <div id="dsq-comment-header-1966939" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966939" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966939">Black American Princess</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966939" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966939" class="dsq-comment-message">rikyrah, I truly think Bill and Hillary are smoking crack.  He\'s talking about "she\'s winning the general election" but we\'re still in the primaries, no?  What the f_ck is he talking about?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966940">\
	 <div id="dsq-comment-header-1966940" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966940" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966940">B-Serious</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966940" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966940" class="dsq-comment-message">christopher chambers said, <i>"Bingo. Yes, the American public is stupid and yes the DNC is too scared (DLC too cynical). That\'s all I\'m saying..."</i><br></br><br>Unless and until proven otherwise.</br><br></br><br>2008 is an opportunity to prove otherwise.</br><br></br><br>Personally, I don\'t think the American public is as stupid as public officials think.  Lazy perhaps, definitely cynical, but not necessarily stupid.   </br><br></br><br>The media goes with whatever sells ratings. . . which is neither scared nor courageous, but more opportunistic than anything else.</br><br></br><br>Democrats are scared and spineless.  However, Obama\'s candidacy stands as a challenge to Clinton power and relevancy within the party.  An Obama victory is a defeat for the DLC wing of the party.  That alone speaks volumes.</br><br></br><br>I think we are on the brink of a paradigm shift.  Higher registration means new blood and fresh ideas to effectively change the scope of the electorate.  It\'s placed the activist base of the party front and center, thus providing more influence than in years past.  </br><br></br><br>The media will continue to go with whomever or whatever is best for ratings.  With that said, a movement can be very good for ratings.</br><br></br><br>Obviously, the Democrats are undergoing an inner struggle for control of the party.  2006 set the table for such struggle.  And that struggle will be won once Obama defeats Hillary for the nomination. . . it will take hold once Obama is elected President.  This is a fight over the definition of "Democratic politics."</br><br></br><br>The new Democratic party will be challenged to reflect the changing demographics within the Democratic electorate.  </br><br></br><br>Obama\'s following is unorthodox.  The Clinton/DLC orthodoxy is on life support at the moment.  The Democratic Party can pull the plug on June 4th if it wants to (actually, it can pull the plug right now).  The opportunity is there.</br><br></br><br>An unconventional electorate MIGHT elect unconventional Democratic politicians.  Again, 2006 set the stage for 2008.</br><br></br><br>The opportunity is there for a new direction.  Whether it happens is still an open question.  But odds seem better than 50%.</br><br></br><br>We\'re gonna learn A LOT over the next 2 weeks.  Meaning, there are NO excuses after June 3rd for those uncommitted super delegates.  They will have full cover to boot Bill and Hillary out of the race and marginalize their relevance to the party.  Will they seize that opportunity???</br><br></br><br>I\'ve been disappointed thus far, but I have not lost all hope.  I\'ll stay optimistic.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966941">\
	 <div id="dsq-comment-header-1966941" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966941" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966941">smoothie</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966941" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966941" class="dsq-comment-message">Has anyone caught <a href="http://www.politico.com/news/stories/0508/10614.html" rel="nofollow">Lanny Davis</a> f*cked up solution to sitting the FL and Mi delegates..<br></br><br>Given his very <b>Clintonest</b> math, she would pull something like 190 del. to Baracks 98 orso.  </br><br></br><br>Black American Princess,</br><br>If Bill and Hillary are on crack, then Lanny must be the psher who\'s gettin high on his own supply...</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966942">\
	 <div id="dsq-comment-header-1966942" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966942" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966942">B-Serious</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966942" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966942" class="dsq-comment-message">The arguments are getting crazier by the day.<br></br><br>Mind you, the Clinton camp is not running on ideas.  </br><br></br><br>Obama is the one who\'s engaging McCain on ideas and substance.  Hillary is not.  </br><br></br><br>Hillary is running for personal reasons at this point.  She\'s not making policy arguments anymore.  Everything she says centers around her personal and political ambition . . .NOT the American people.</br><br></br><br>The Clintons are in the midst of a breakdown.  Obama should stay clear and keep his guard up.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966943">\
	 <div id="dsq-comment-header-1966943" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966943" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966943">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966943" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966943" class="dsq-comment-message">I\'ve watched it a second time, and I have to agree....I can\'t recommend it highly enough - watch Meet The Press for this week.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966944">\
	 <div id="dsq-comment-header-1966944" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966944" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966944">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966944" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966944" class="dsq-comment-message">I saw the Lanny Davis \' compromise\' on Michigan. It\'s complete and utter bullshit. <br></br><br>I have to thank whatever blogger called Michigan the \' Soviet Style Election\', because it\'s on the money. Obama wasn\'t even on the ballott, and they believe it should be seated, AS IS. </br><br></br><br>HELL NO.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966945">\
	 <div id="dsq-comment-header-1966945" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966945" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966945">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966945" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966945" class="dsq-comment-message">Once again, I\'m going to point out that the most revealing thing in Meet the Press for me, came from that CBN guy Brody, when he spoke about the Obama campaign organizing around faith. I didn\'t know all that Obama was doing, and my mind keeps on going back to that blogger that insisted that the GOP attacks weren\'t about race so much as about religion. That little birdie keeps on getting louder and louder. And, it\'s the reason why they keep on trying to revive the \' Obama is a Muslim\' lie. I am truly beginning to believe that they\'re scared of Obama\'s capacity to reach the middle of the road to liberal White Evangelicals. IF he can slice off enough of them in certain states, then he would be able to expand the Democratic electorate. <br></br><br>b-serious, this relates to what you are talking about the re-alignment of the Democratic Party.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966946">\
	 <div id="dsq-comment-header-1966946" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966946" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966946">Ms.Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966946" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966946" class="dsq-comment-message">rikyrah<br></br><br>I can\'t bring my self to watch Lanny Davis anymore, but his is the first face I want to see after Obama secures the nomination.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966947">\
	 <div id="dsq-comment-header-1966947" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966947" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966947">texas girl in l.a.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966947" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966947" class="dsq-comment-message">Ok OT: Here\'s Obama trying to get his groove on in Puerto Rico...while working the crowd it\'s fun! Enjoy!<br></br><br>http://www.youtube.com/watch?v=4n9gZnEozGU&eurl;</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966948">\
	 <div id="dsq-comment-header-1966948" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966948" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966948">Ms.Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966948" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966948" class="dsq-comment-message">rikyrah<br></br><br>I immediately thought of you and your post when Brody starting describing Obama\'s faith-based outreach initiative (I think that\'s what he called it).</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966949">\
	 <div id="dsq-comment-header-1966949" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966949" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966949">smoothie</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966949" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966949" class="dsq-comment-message">rikyrah,<br></br><br>Though McCain Should carry my state(texas) with ease, i should point out that Hagee\'s bunch down here in San Antonio ARE NOT HAPPY WITH MC CAIN..</br><br></br><br>His insiders looked at McCain pulling the endorsement as a slap in the face..Plus, alot of these evangelicals are speakin more and more about the war...(and not in GOP friendly terms)</br><br></br><br>It wouldnt shock me one bit if you saw Huckabee out there more and more in the MSM trying to diffuse your point..</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966950">\
	 <div id="dsq-comment-header-1966950" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966950" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966950">B-Serious</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966950" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966950" class="dsq-comment-message">Exactly. . . Obama scares a lot of people.<br></br><br>No one fears Hillary Clinton.  The Republicans know exactly what they\'re gonna get with her.  They\'re comfortable with that type of fight. </br><br></br><br>But Obama\'s different.  For reasons you\'ve pointed out, Obama is expanding the electoral map.  He\'s waking a sleeping giant.</br><br></br><br>Everything. . . from his ever-growing list of donors to expanding registration tells anyone with half a brain that something big is about to happen.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966951">\
	 <div id="dsq-comment-header-1966951" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966951" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966951">Ms.Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966951" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966951" class="dsq-comment-message">How many of you believe McCain\'s stance on the GI Bill is going to hurt him in the general.<br></br><br>It seems McCain made an ass of himself when he said Obama had no right to question his position when he had not served.</br><br></br><br>Someone pointed out that Obama was too young for Vietnam and probably too old for Desert Storm.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966952">\
	 <div id="dsq-comment-header-1966952" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966952" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966952">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966952" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966952" class="dsq-comment-message">ms. martin,<br></br><br>His stance on the G.I. Bill makes no sense to me, but then again, it goes in with a PATTERN. He hasn\'t been on the common soldier\'s side AT ALL. look at his record. </br><br></br><br>And he took the most ridiculous stance - a non-vote on it.You can defend a NO-vote...even if I think it\'s wrong, you can find a way to defend it.  </br><br></br><br>You can\'t be \' Mr. POW\', and then disrespect soldiers like that. Completely incompatible.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966953">\
	 <div id="dsq-comment-header-1966953" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966953" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966953">Ms.Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966953" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966953" class="dsq-comment-message">rikyrah<br></br><br>Not only did he not vote, he\'s been outspoken about it.</br><br></br><br>I think he\'s against the cost - 2 billion; which someone pointed out is what we are spending a week in Iraq.</br><br></br><br>He also wants the soldiers benefits determined by the time of service.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966954">\
	 <div id="dsq-comment-header-1966954" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966954" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966954">texas girl in l.a.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966954" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966954" class="dsq-comment-message">B-Serious,<br></br><br>OK...I know you don\'t want to hear this....again, but I was over at TPMcafe and saw a post titled "Obama, you are something else". by Bserious</br><br></br><br>The post is a copy of this post entry. However, he did reference Jack and Jill. But he doesn\'t say that he copied the words of Jill. The commentors think he wrote it. </br><br></br><br>Very odd.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966955">\
	 <div id="dsq-comment-header-1966955" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966955" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966955">smoothie</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966955" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966955" class="dsq-comment-message">ms. martin<br></br><br>I did 9yrs in the navy, I can PREACH as to why McCains GI Bill is utter BS, and Webbs is the way to go..</br><br></br><br>Under the current plan the GI Bill pays out 1051 Dollars Monthly and this is based on 36 months. Thats 12,612 dollars..The 1051 represents the number if you plan to go full time. That number slides to 750 if youre going 3/4 of the time, and to 550 if your going half the time. Oh, and once you start school you have 3yrs to finish it, or you lose it. If you dont start, you have 10yrs from the time you get out to take adv. of it.</br><br></br><br>To go to Texas AM or UT it cost about 15K annually. This number is before labs, living expenses etc..</br><br></br><br>McCain figures if you stay in, he\'ll pay you more. He leaves out the FACT that his plan doesnt rise to pay the cost of a Local or State College. It just gives you a $500 bump (if you qualify) His plan adds another scale of not only time served (so if you only did one four yr tour, youre not gettin the full 1500) plus the scale still requires you to do full time or your monthly figure os lower.</br><br></br><br>In Lamens, If McCain\'s bill were to pass, and lets say you did a 4yr tour. You get out, and decide to go to the local CC full time. </br><br></br><br>You go from getting 1051 full, to about 750 monthly. (you only did one tour suck it up!) Remember, the scale has to bottom out and he\'s made it clear that people who did 1 tour should not be getting paid like people who did 2 and 3 tours. </br><br></br><br>His second Arguement is that it diminisghes the role of NCO\'s ..Again utter BS..NCO\' start out at the E-4 Ranking. (many come in as e-2\'s and pick up e4 within 1yr)</br><br></br><br>Someone on the "fasttrack" can rise to the rank of e-6 within 4 yrs. </br><br></br><br>The military is overflowing with NCO\'s . E-5\'s are Seargents as you may know them make up the largest block of the any military branch. </br><br></br><br>You can get to the rank of E-5 (SGT)  all 4 branches at a min. of 2 yrs. </br><br></br><br>Webbs plan adjust to local and State rates for Colleges. It doesnt matter how long you served. </br><br></br><br>Webbs plan also calls for living expenses to be factored into seperate funds. This is huge, as the biggest problem I see with guys who are getting out now is they can afford the tuition, but thats it. Many have to go back to livin with thre parents.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966956">\
	 <div id="dsq-comment-header-1966956" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966956" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966956">andyfrombrooklyn</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966956" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966956" class="dsq-comment-message">rikyrah,thaks for the mee the press link. what a sober discussion at the foggy bottom roundtable. i did notice he one guy sneak in that hillary had one the popular vote. when the head of a major political magazine says something like that ...i always wonder is it deiberate, stupid, or lazy? generally a good thoughtful discussion, i concur. loved what maureen dowd said about mccain\'s nastiness and obama\'s eagerness to attack mccain versus his restraint with hillary. maureen dowd is a better pundit on tv than in the paper. she is more serious.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966957">\
	 <div id="dsq-comment-header-1966957" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966957" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966957">TruthSeeker</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966957" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966957" class="dsq-comment-message">Who\'d buy a used car from Lanny Davis?...let\'s have a show of hands.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966958">\
	 <div id="dsq-comment-header-1966958" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966958" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966958">GoldenAh</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966958" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966958" class="dsq-comment-message">McCain is going to be able to say, and do a lot of things that are "off the wall." Aside from Obama calling him on it, McCain will get a pass from the media (and anyone else with reach). That should be fun.<br></br><br>I am interested in the GE, and how the campaigns will be fought. There\'s a lot of organizing going on, but will these bodies show up come voting time? Folks may slack off if they assume an easy win for Obama.</br><br></br><br>As for Billary, they will continue to be negative, backstabbing, and sabotaging throughout the GE. They can\'t help themselves.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966959">\
	 <div id="dsq-comment-header-1966959" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966959" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966959">Ms.Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966959" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966959" class="dsq-comment-message">smoothie<br></br><br>I am in NO WAY advocating for John McCain.  Just pointing out is idiocy and hoping that Americans will see this so-called patriot for what he really is.</br><br></br><br>He didn\'t need money after service, he had Ciindy McCain, her family, and their money.</br><br></br><br>I have always thought it an atrocity the way service people are treated.  Sure there\'s all the lip service.  Thank you\'s mostly, but I would like to see them put their money where their mouths are.</br><br></br><br>I agree with as much as I know about the Webb Bill.</br><br></br><br>Thank you for your service.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966960">\
	 <div id="dsq-comment-header-1966960" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966960" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966960">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966960" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966960" class="dsq-comment-message">Someone pointed out that Obama was too young for Vietnam and probably too old for Desert Storm.<br>----------</br><br></br><br>Obama was like 10 years old when Vietnam was going on and was 30 when Desert Storm hit the scene.  I don\'t know how old is too old to enlist but I\'m not sure that the Armed Svcs. would have taken a 30 year old first time recruit back in 1991.</br><br></br><br>What\'s Dick "5 Deferments" Cheney\'s excuse? Or George "I Showed Up a couple of Times" Bush Jr.\'s?</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966961">\
	 <div id="dsq-comment-header-1966961" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966961" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966961">B-Serious</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966961" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966961" class="dsq-comment-message">texas girl said <i>"B-Serious,<br></br><br>OK...I know you don\'t want to hear this....again, but I was over at TPMcafe and saw a post titled "Obama, you are something else". by Bserious</br><br></br><br>The post is a copy of this post entry. However, he did reference Jack and Jill. But he doesn\'t say that he copied the words of Jill. The commentors think he wrote it. </br><br></br><br>Very odd."</br></i><br></br><br>Thanks for the heads up.  </br><br></br><br>Click on that guys name.  You\'ll see that he\'s copied other blogs as well.</br><br></br><br>You\'ll see my blog post from February.  He calls it <b>"Poor Hillary,"</b> but it\'s my post.  Here\'s the original here:</br><br></br><br><a href="http://reachblack.blogspot.com/2008/02/double-standard-facing-barack-obama.html" rel="nofollow">Double Standard Facing Barack Obama</a></br><br></br><br>I tried to write a comment letting everyone know that he\'s not the author, but the comment never got posted.</br><br> </br><br>Take another look at his TPM page.  You\'ll also see that he copied another blog post from Field Negro.</br><br></br><br>It\'s really annoying.  I\'m gonna end up sending an email to TPM.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966962">\
	 <div id="dsq-comment-header-1966962" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966962" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966962">heartsandflowers</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966962" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966962" class="dsq-comment-message">B-Serious -<br>Your 741pm comment should be expanded to a diary at kos. I\'d really like to read something more substantial about this primary than the usual tit for tat.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966963">\
	 <div id="dsq-comment-header-1966963" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966963" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966963">Ms.Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966963" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966963" class="dsq-comment-message">heartsandflowers<br></br><br>I agree, I\'m so burned out on the HRC saga.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966964">\
	 <div id="dsq-comment-header-1966964" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966964" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966964">heartsandflowers</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966964" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966964" class="dsq-comment-message">Jill - I\'ve been wanting to ask - why is your mom such a staunch Hillary supporter?<br></br><br>And OT for Tuesday Open thread: </br><br></br><br>Jubilee Act is up for vote in the Senate on Tuesday to cancel African debt.</br><br></br><br>http://www.jubileeusa.org</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966965">\
	 <div id="dsq-comment-header-1966965" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966965" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966965">smoothie</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966965" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966965" class="dsq-comment-message">ms martin..<br>no problem I didnt tihnk you were advocating mccains plan </br><br></br><br>i just love to point out how mc cain is in fact screwin people over with his plan. </br><br>Im out now, but thanks for the comment</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1966966">\
	 <div id="dsq-comment-header-1966966" class="dsq-comment-header">\
	 <cite id="dsq-cite-1966966" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1966966">Angie-Nuvision</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1966966" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1966966" class="dsq-comment-message">"And to those who call Barack Obama weak, I counter that no man who knows that his bid for leadership of a nation might cost him his own life at any moment<br>due to hate can be called a man without courage, purpose, grit and determination."</br><br></br><br>Absolutely beautiful!  You\'ve nailed it for me.  And it almost brings me to tears thinking about how this man gets up everyday, knowing that some nut could murder and/or severely disable him or any member of his family.  But he does it because he has courage.</br><br>This is why I was very annoyed and disappointed with some who so casually tossed insults like "coward, spineless, and even bitch ass" at this man.</br><br>How dare anyone who is sitting in the safety of their homes, typing on their computer, call Senator Obama a damn coward?  </br><br>Sorry for my passion on this.  I guess I\'m still a little ticked at some of the comments that were made on other black blogs about Senator Obama being a coward.</br><br>Peace,</br><br>A</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=al_sharpton_to_clinton_on_rfk_remarks_cool_it&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');
}

})();




