




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": {"0fa2f36873da7338b7588fc88bde62ec": {"username": "Phoebe", "tumblr": "", "display_name": "Phoebe", "url": "http://disqus.com/guest/0fa2f36873da7338b7588fc88bde62ec/", "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": ""}, "e1aa213f60a1c389deafb2b11c87dac9": {"username": "Ms. Ki", "tumblr": "", "display_name": "Ms. Ki", "url": "http://disqus.com/guest/e1aa213f60a1c389deafb2b11c87dac9/", "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": ""}, "8f96e5ac552758523d509993c00aa0c1": {"username": "DWS", "tumblr": "", "display_name": "DWS", "url": "http://disqus.com/guest/8f96e5ac552758523d509993c00aa0c1/", "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": ""}, "8960149480f49fd4e412022438b39fcc": {"username": "The Breaking Point", "tumblr": "", "display_name": "The Breaking Point", "url": "http://disqus.com/guest/8960149480f49fd4e412022438b39fcc/", "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": ""}, "84a5cf8b81ab7aef1bf8816b691a5ea6": {"username": "I&#39;m an OBAMA mama", "tumblr": "", "display_name": "I&#39;m an OBAMA mama", "url": "http://disqus.com/guest/84a5cf8b81ab7aef1bf8816b691a5ea6/", "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": ""}, "f47578625abfc55fbc32ef402f59de43": {"username": "JamieG", "tumblr": "", "display_name": "JamieG", "url": "http://disqus.com/guest/f47578625abfc55fbc32ef402f59de43/", "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": ""}, "6aa3ee71bc9714917dc34dde9e4e2b41": {"username": "Felicia", "tumblr": "", "display_name": "Felicia", "url": "http://disqus.com/guest/6aa3ee71bc9714917dc34dde9e4e2b41/", "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": ""}, "a64ac50ccdebb1c745479763ea2721ab": {"username": "Submariner", "tumblr": "", "display_name": "Submariner", "url": "http://disqus.com/guest/a64ac50ccdebb1c745479763ea2721ab/", "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": ""}, "c60cf267cb7a0392bdb4a893a5ee5c7c": {"username": "NMP", "tumblr": "", "display_name": "NMP", "url": "http://disqus.com/guest/c60cf267cb7a0392bdb4a893a5ee5c7c/", "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": ""}, "1dbd79df621332fbe07f60cf99911af3": {"username": "Thought Merchant", "tumblr": "", "display_name": "Thought Merchant", "url": "http://disqus.com/guest/1dbd79df621332fbe07f60cf99911af3/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "9b6e73b6d46e8c929e46a5d49022a8ce": {"username": "Phillip M. Bailey", "tumblr": "", "display_name": "Phillip M. Bailey", "url": "http://disqus.com/guest/9b6e73b6d46e8c929e46a5d49022a8ce/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "88fdc28ba59fa122df02a8c3fdf7f081": {"username": "LucieLu", "tumblr": "", "display_name": "LucieLu", "url": "http://disqus.com/guest/88fdc28ba59fa122df02a8c3fdf7f081/", "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": ""}, "61b38052cdae3077225c223eee4a5ad9": {"username": "Webb", "tumblr": "", "display_name": "Webb", "url": "http://disqus.com/guest/61b38052cdae3077225c223eee4a5ad9/", "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": ""}, "9128f315ccfcb4656c382242840942ff": {"username": "50 foot QE", "tumblr": "", "display_name": "50 foot QE", "url": "http://disqus.com/guest/9128f315ccfcb4656c382242840942ff/", "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": ""}, "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": ""}, "2a2201364786f612d9d33bb12f2de038": {"username": "The Bag of Health and Politics", "tumblr": "", "display_name": "The Bag of Health and Politics", "url": "http://disqus.com/guest/2a2201364786f612d9d33bb12f2de038/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "25c2ebf4464c5d95fa227ddd4a0d2fe5": {"username": "Ronnie B", "tumblr": "", "display_name": "Ronnie B", "url": "http://disqus.com/guest/25c2ebf4464c5d95fa227ddd4a0d2fe5/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3b9a39f6bc38c0fc6082bf0373618c04": {"username": "Pamela", "tumblr": "", "display_name": "Pamela", "url": "http://disqus.com/guest/3b9a39f6bc38c0fc6082bf0373618c04/", "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": ""}, "9ab741c2bd033cbb231f6ed4462c97ea": {"username": "Rachel", "tumblr": "", "display_name": "Rachel", "url": "http://disqus.com/guest/9ab741c2bd033cbb231f6ed4462c97ea/", "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": ""}, "376c4de9b9dbc5d8a0f228c9592205c6": {"username": "Nichelle", "tumblr": "", "display_name": "Nichelle", "url": "http://disqus.com/guest/376c4de9b9dbc5d8a0f228c9592205c6/", "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": ""}, "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": ""}, "3b31356ea345f986babefd4710e13291": {"username": "justice58", "tumblr": "", "display_name": "justice58", "url": "http://disqus.com/guest/3b31356ea345f986babefd4710e13291/", "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_18:31:45", "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": {"1955200": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yea...nmp, She has stolen a lot from John Edwards like her Blockbuster-Illegal Immigration comment. I love how she mentioned YouTube in regards to Obama, there are a lot of stuff that she should watch about herself. She's a hypocrite and there is no light way to say it.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_23:31: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}, "1955201": {"up_voted": false, "ip": "", "has_replies": false, "message": "phillip,<br></br><br>I really hope that \"softer side,\" sympathy vote thing doesn't rear its ugly head again.</br><br></br><br>It happened in NH, but I don't think it will work for her this time.  Plus, one moment of sincerity does not erase months of gutter politics - especially when there's a pro-hillary 527 (swift-boat type) organization that will be running ads in Ohio.  Don't believe the hype.  </br><br></br><br>The momentum for Obama is real.  The public has had more time to get to know this guy - they like what they see.</br><br></br><br>By ending the \"empty suit\" argument, he alleviates any lingering fears for voters who are still on the fence.  </br><br></br><br>Indeed, I think Hillary's last statement could be viewed as implicitly granting her \"blessing.\"  Of course, she didn't say it out loud.  But her actions conveyed a sense that she understands . . . Obama is ready to lead.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_23:33: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}, "1955202": {"up_voted": false, "ip": "", "has_replies": false, "message": "Most the important points have been covered, but I thought it was a good moment for Barack when he challenged Hillary on her call for democrats to \"get real\" implying that people who voted for/support him are delusional.<br></br><br>I also think it is important that concerning the Cuba issue he showed a willingness to meet with world leaders the US does not necessarily support instead of adopting the arrogant jump-through-hoops-first-before-you-are-good-enough-to-speak-to-me approach HIlary advocated.</br><br></br><br>He really handled the debate well. A big deal is being made of her last statement but in my opinion it didn't make up for her slips (i.e. the xerox comment).</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_23:37:00", "killed": false, "user_key": "88fdc28ba59fa122df02a8c3fdf7f081", "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}, "1955203": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hillary's ending contradicts her entire argument about Xerox, get real and ready on day one. Why is she honored to share the stage with just a word-wizard? She acknowledged that he's the leader and the history (not just being a black candidate but actually one that draws new people to the process).<br></br><br>The softer side will endear her at the ground level. It may save her in Ohio. Obama supporters should honestly stay vigilant of Billary's attacks and highlight them but by-pass her. She can't beat him. He can beat himself. On to McCain.</br><br></br><br>The Republican Noise Machine is loading its weaponry. Barack, you are about to graduate. Unless you just say, fuck it.</br><br></br><br>Congratulations, you got your masters degree. No it's time to get the PhD. And the Republicans have already started shitting on Yes We Can and Hope.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_23:44:00", "killed": false, "user_key": "9b6e73b6d46e8c929e46a5d49022a8ce", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1955204": {"up_voted": false, "ip": "", "has_replies": false, "message": "B Serious<br></br><br>It sounded like a concession speech to me! Hillary loves to get her jabs in with her snide remarks but it ends up costing her just like the \"slumlord\" remark did in South Carolina.</br><br></br><br>It's time for her to step aside. The game is over!</br><br></br><br></br><br>Go Obama! Yes We Can!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_23:45:00", "killed": false, "user_key": "3b31356ea345f986babefd4710e13291", "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}, "1955205": {"up_voted": false, "ip": "", "has_replies": false, "message": "Maybe I'm just the cynical one, but I  don't think she conceded.  I don't believe it for a minute!<br></br><br>I'm not buying it.  To me, it was more of the same 'tug at the heart strings' -- 'Don't ya'll see that I really wanted this?'  </br><br></br><br>He has to take the \"high road\"... I would LOVE to be a fly on the wall for the real conversation about HRC.  </br><br></br><br>Everything she accuses him of, she has done herself.  The plagiarism charge is just laughable.  She's on YouTube saying \"YES WE CAN\" to her stunned supporters.  </br><br></br><br>Re: the superdelegates -  She didn't answer the question.  And CNN let her get away with it.  </br><br></br><br>Sidenote:  CNN is playing Stevie Wonder for real. I'm sure that is the Obama  campaign rockin' it.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_23:49:00", "killed": false, "user_key": "84a5cf8b81ab7aef1bf8816b691a5ea6", "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}, "1955206": {"up_voted": false, "ip": "", "has_replies": false, "message": "Obama's been beat up for a week over Clinton's plagiarism allegations, but she's guilty of worse: HYPOCRISY!<br></br><br>Bill Clinton 1992: \"The hits that I took in this election are nothing compared to the hits the people of this state and this country have been taking for a long time.\"</br><br></br><br>Hillary Clinton Tonight: \"You know, the hits I\u2019ve taken in life are nothing compared to what goes on every single day in the lives of people across our country.\"</br><br></br><br>Edwards the December 13 debate:</br><br></br><br>\"What's not at stake are any of us. All of us are going to be just fine no matter what happens in this election. But what's at stake is whether America is going to be fine.\"</br><br></br><br>Hillary Clinton Tonight:</br><br></br><br>\"You know, whatever happens, we're going to be fine. You know, we have strong support from our families and our friends. I just hope that we'll be able to say the same thing about the American people. And that's what this election should be about.\"</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_23:50:00", "killed": false, "user_key": "c60cf267cb7a0392bdb4a893a5ee5c7c", "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}, "1955207": {"up_voted": false, "ip": "", "has_replies": false, "message": "I watched but afterwards, turned to MSNBC because the Clinton News Network was too focused on her last statement. Funny thing is that Keith Olberman exposed her \"borrowing\" that statement from Edwards. Hypocrite.<br></br><br>With that said, Obama won tonight, even though the pundits are trying to say different.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_23:51: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}, "1955208": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Maybe I'm just the cynical one, but I don't think she conceded. I don't believe it for a minute!<br></br><br>I'm not buying it. To me, it was more of the same 'tug at the heart strings' -- 'Don't ya'll see that I really wanted this?'\"</br><br></br><br>ITA. In fact, she used her \"It took a Clinton to clean up after the 1st Bush.......\" line at a rally right after the debate. That was nothing but her playing the sympathy card.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_23:57: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}, "1955209": {"up_voted": false, "ip": "", "has_replies": false, "message": "I believe it's both.<br></br><br>She conceded and played the crying game. Clintonian centrism at its worst. I do notice the difference in coverage. Fixed Noise hates the both but Hillary more. CNN is always trying to find a way to keep Hillary in the race (maybe for ratings). MSNBC is a mixture of both but more favoritism to Obama. C. Matthews loves him some Barack.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_00:09:00", "killed": false, "user_key": "9b6e73b6d46e8c929e46a5d49022a8ce", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1955210": {"up_voted": false, "ip": "", "has_replies": false, "message": "I may have never seen a better example in politics of dignity as an effective rhetorical strategy. The man was brilliant, and more than that, extremely disciplined.<br></br><br>He never took the bait of her negative comments and thus never gave her an opening to point to his immaturity or inexperience.</br><br></br><br>And poor Hillary. Of course she would have loved to strike even harder. He just never made the classic political mistake of handing her a sword.</br><br></br><br>By the way, with all the talk of how sometimes you just have to go negative, it simply doesn't seem to have played out that way.</br><br></br><br>When the history of this campaign is written, it will be noted that the negativity her husband started with in the early primaries hurt her immediately and hurt her permanently.Indeeed, looking back it seems that the biggest mistake was that, after the race narrowed, Hillary took the low road and essentially ran her campaign as if she was opposing a Republican.</br><br></br><br>This looked bad and mean-spirited. And, alongside Obama's cool dignity, it looked scared.</br><br></br><br>It's over.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_00:09: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}, "1955211": {"up_voted": false, "ip": "", "has_replies": false, "message": "My goodness, I had to turn from CNN as well.<br></br><br>Hey media:  It's ok to say it now . . . Obama is gonna win this thing.  </br><br></br><br>Stop making excuses for Clinton.  There's no need to feel sorry for her.  Just admit that Obama has run the better campaign; had the better (more inclusive) message; won more states; has more delegates; more popular votes. </br><br></br><br>What else does he have to do before you give him due credit?  I mean, damn . . . 11 straight victories by an AVERAGE of 33%!!!  If the roles were reversed, Obama would have been long gone by now.</br><br></br><br>I saw Dan Abrahms last night and he dedicated two whole segments to brainstorming ways for her to make a comeback.  You know, I didn't see people do this for Giuliani, John Edwards, etc.  When it was over . . . IT WAS OVER!  There was no swan song . . . no violins.  They were gone.</br><br></br><br>The Clintons always talk about media bias - well (as recently mentioned by one political pundit), it's actually the media that's keeping her in this thing.  They allow her to keep moving the goal posts.  Now we'll have to listen to a week of her \"finding her inner voice\" again???</br><br></br><br>Hey media, I see what you're doing.  Stop throwing her a life line.  The math is real.  It's not enough to just win in OH and TX . . . she needs to win by LANDSLIDES.  Stop laying the groundwork for some cheap 51-49% victories and a phony \"comeback.\"</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_00:16: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}, "1955212": {"up_voted": false, "ip": "", "has_replies": false, "message": "Goddamn, Obama is going to make a hell of a president.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_00:18:00", "killed": false, "user_key": "9ab741c2bd033cbb231f6ed4462c97ea", "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}, "1955213": {"up_voted": false, "ip": "", "has_replies": false, "message": "rachel,<br></br><br>I must agree.  Obama is stepping into the role.  For what it's worth, he looks the part, now.</br><br></br><br>Obama is growing from a candidate to the next Commander-in-Chief!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_00:26: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}, "1955214": {"up_voted": false, "ip": "", "has_replies": false, "message": "I <a href=\"mailto:agree@anon...Bill\" rel=\"nofollow\">agree@anon...Bill</a> has already said that the nomination fight will end if she doesn't win BOTH TX and OH...she needed to fight like heel tonight...but she didn't.<br></br><br>Are the CLintons realizing that their legacy may well be in tatters...Are they realizing that the only way to repair their legacy may come in the form of an Obama-Clinton ticket?  </br><br></br><br>YES, Hillary would have to have a Saul-to-Paul on the Road-to-Damascus Conversion...but I do think that it's feasible...she would really have to start preaching the *O* Gospel..but once she's converted, she would be the scrappiest VP any Presidential Candidate would ever want.</br><br></br><br>She will get another shot on next Tuesday in the OH debate...i'll reserve judgment until that debate passes...they're probably testing the \"sympathy\" effect to see how it affects the polls...the only polls we should trust are the VOTES, let's not sleep on TX and OH...LET's END THIS ON MARCH 4TH.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_00:31:00", "killed": false, "user_key": "61b38052cdae3077225c223eee4a5ad9", "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}, "1955215": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree with you B Serious. Even Joe Scarborough admitted that they were giving her the benefit of the doubt saying to Chris Matthews and others on his show, \"Don't you think that if anyone else were in Hillary's position, we would've written them off by now?\". They all said \"Yes\".", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_00:33: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}, "1955216": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't believe Clinton was being conciliatory, especially since we've now learned that she got those lines from Bill Clinton and John Edwards.  I hope the MSM calls her on it.  I don't think they will, though, because now it's time to pick on the new frontrunner.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_01:16:00", "killed": false, "user_key": "6aa3ee71bc9714917dc34dde9e4e2b41", "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}, "1955217": {"up_voted": false, "ip": "", "has_replies": false, "message": "<b>What else does he have to do before you give him due credit? I mean, damn . . . 11 straight victories by an AVERAGE of 33%!!! If the roles were reversed, Obama would have been long gone by now.<br></br><br>I saw Dan Abrahms last night and he dedicated two whole segments to brainstorming ways for her to make a comeback. You know, I didn't see people do this for Giuliani, John Edwards, etc. When it was over . . . IT WAS OVER! There was no swan song . . . no violins. They were gone.</br></b><br></br><br>So true what you said here. </br><br></br><br>Totally different animal, but the Dem race made me think of the \"Apprentice\" a few seasons ago.  To my knowledge, Randall Pinkett was the only \"Apprentice\" winner asked to share his prize - at the exact moment that he won! (He was also the only \"Apprentice\" winner with FIVE DEGREES.)</br><br></br><br><b><i> The rules of the game suddenly changed just for him.</i></b>  When he refused, he was called \"selfish\" and \"unfair\".  If the shoe were on the other foot, I don't believe that The Donald would have asked Pinkett's white female opponent to share her prize.</br><br></br><br>Anyway, totally unrelated - but the parallels are amazing.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_01:18:00", "killed": false, "user_key": "376c4de9b9dbc5d8a0f228c9592205c6", "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}, "1955218": {"up_voted": false, "ip": "", "has_replies": false, "message": "Also, I thought Marc Ambinder's take at The Atlantic was pretty shrewd:<br></br><br><i>The puzzler of the night, to me, is why Clinton refused to answer a simple question that she clearly has an answer to: And that is: Is Barack Obama ready to be commander in chief? Clearly -- the answer, for Clinton, is \u201cyes.\u201d It\u2019s her best argument against him. But twice she avoided it and instead recapitulated her own resume.</i></br><br></br><br>At this point, she has nothing to lose by making that argument. The fact that she did not suggests to me that she is thinking, already, about life as a Senator from New York supporting Barack Obama and did not want to give John McCain the soundbite that could doom Obama\u2019s candidacy. I don\u2019t think she\u2019s conceded the nomination in her mind, but I do think she had two temporal audiences in mind when she answered: Democrats now and the nation in the fall.</br><br></br><br>http://marcambinder.theatlantic.com/archives/2008/02/first_take_advantage_obama.php</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_01:22:00", "killed": false, "user_key": "376c4de9b9dbc5d8a0f228c9592205c6", "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}, "1955219": {"up_voted": false, "ip": "", "has_replies": false, "message": "nichelle,<br></br><br>LOL!  You hit the bulls-eye with your \"Apprentice\" parallel!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_01:36: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}, "1955220": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>What else does he have to do before you give him due credit? I mean, damn . . . 11 straight victories by an AVERAGE of 33%!!! If the roles were reversed, Obama would have been long gone by now.<br></br><br>I saw Dan Abrahms last night and he dedicated two whole segments to brainstorming ways for her to make a comeback. You know, I didn't see people do this for Giuliani, John Edwards, etc. When it was over . . . IT WAS OVER! There was no swan song . . . no violins. They were gone.</br></i><br></br><br>At first,  I thought we were the only ones noticing this, but at least, FINALLY, it was vocalized by someone on Morning Joe today. </br><br></br><br>How they are bending over backwards and letting Hillary Clinton 'set the terms'. I forget who was the person to finally admit it...I thought it was all in my mind - that folks were just letting her change the bar...first, it was Wisconsin...then it was Texas and Ohio, and then, when they realized the rules in Texas, then suddenly, it became Ohio and Pennsylvania - with Texas forgotten. </br><br></br><br>It's hilarious, how they're trying to explain away Texas, only after touting it a week and a half ago, at where she had a FIREWALL. They are unbelievable in the way that they bend over backwards for her. </br><br></br><br>at <a href=\"http://www.politicalinaction.com/2008/02/final-take-of-night.html\" rel=\"nofollow\">POLITICALINACTION.COM</a>, the owner wrote:</br><br><i></i></br><br>I think that the battle, widely being reported on in the campaign, of half of Hillary's camp going nuclear and half saying preserve your legacy to fight again either as senate majority leader or as the nominee in four years if Obama loses was clearly won by the latter group.</br><br></br><br></br><br>I think this might tie into what folks have been writing about hearing a pseudo-concession speech, and what Ambinder (Clinton-ista) said. </br><br></br><br>He didn't give her any wiggle room to play the White Woman Victim card, which is a good thing. He didn't take her bait when she tried to lure him into taking potshots, which is also a good thing. </br><br></br><br>Why am I not surprised that the most 'genuine' moment for her was as phony as a $3 bill, and copied from others, just like those fake-ass tears in New Hampshire. </br><br></br><br>She attacked, he looked Presidential. All I wanted from tonight. </br><br></br><br>PS- Did you read that DailyKos diary about how much she's spent on consultants? Penn has basically robbed her blind.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_02:13: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}, "1955221": {"up_voted": false, "ip": "", "has_replies": false, "message": "Politico is running this at the top of the page for early morning readers:<br></br><br><a href=\"http://www.politico.com/news/stories/0208/8630.html\" rel=\"nofollow\">Obama once visited '60s 'Terrorists'</a></br><br></br><br>Can this be the beginning of the end or am I overreacting?</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_02:40: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}, "1955222": {"up_voted": false, "ip": "", "has_replies": false, "message": "Once visited 12 years ago, some White radicals?<br></br><br>I'd have more faith if this were another Rezko story...</br><br></br><br>Of, if they were Black Panthers.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_02:51: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}, "1955223": {"up_voted": false, "ip": "", "has_replies": false, "message": "so, rikyrah, you're saying I'm overreacting.<br></br><br>I hope you're right.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_03:00: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}, "1955224": {"up_voted": false, "ip": "", "has_replies": false, "message": "The more I read that story, the madder I became.<br></br><br>Change their names to Leroy and Monique, make them Black Panthers...what's the story then?</br><br></br><br>Oh yeah, there would be NO story, because their Black asses WOULD STILL BE IN JAIL. </br><br></br><br>Don't even get me started. </br><br></br><br>Do that mess, unapologetic, gainfully employed, not hurting for housing, food, legitimacy or friendship....</br><br></br><br>I know..why bring race into it..</br><br></br><br>cause dammit, you and I know that if they'd been BLACK, they'd be scrubbing floors somewhere, AFTER serious jailtime.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_03: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}, "1955225": {"up_voted": false, "ip": "", "has_replies": false, "message": "My favorite part of the debate was when H herself brought up the Texas surrogate dude freezing up on Matthews. Then I knew O was going to clobber her with his record of accomplishments, and he did. I was actually hoping someone would bring that up and give him the chance, but I didn't know she would have the gall to do it herself - as though he would just concede that he's done nothing!<br></br><br>That was my favorite. This is done with.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_06:19:00", "killed": false, "user_key": "0fa2f36873da7338b7588fc88bde62ec", "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}, "1955226": {"up_voted": false, "ip": "", "has_replies": false, "message": "He totally outclassed that smug shrew with her catty nips. She showed that she really isn't qualified for any office, other than the bad joke/quip one. LOVED it when she was booed, it should have told her the country does not need another nasty, negative Republican, even one who claims to be a Democrat in the WH.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_08:10: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}, "1955227": {"up_voted": false, "ip": "", "has_replies": false, "message": "I concur with b-serious and others; Hillary's final comments sure sounded like a concession speech.<br></br><br>But -- but -- there's a small part of me that's wondering if she was gifted that line by John Edwards?  A way of hinting that Edwards has decided to endorse her.</br><br></br><br>Just a thought.</br><br></br><br>All in all, Barack handled his business.  What's more, the strategy of getting him into the debate ring seems to have backfired.  Barack is finding his debate stride, and appears that he's unable to be stopped.</br><br></br><br>I'm even thinking that the guy from Univision (Jorge Ramos) came away a bit impressed by Barack.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_08:42:00", "killed": false, "user_key": "25c2ebf4464c5d95fa227ddd4a0d2fe5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1955228": {"up_voted": false, "ip": "", "has_replies": false, "message": "A morning funny bsed on last night's debate: <br>Hillary Clinton borrows a few lines</br><br>http://www.youtube.com/watch?v=H60y8mHMpmU</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_08:43: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}, "1955229": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree with what others have said this last night and this morning. Obama clearly rose above the name calling, nit picking, and silliness that has plagued the primaries. At first I thought Hillary's final statement was attempt at gaining sympathy votes like she did with NH, now after reviewing it, the tone was one of finality. I think she knows she's out of this race. The American people have made a decision and if she fights for anything other than the decision they have made, she will be grouped with Rove and his band of outlaws. Obama looked, acted, and filled the role of commander and chief last night.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_08:47:00", "killed": false, "user_key": "e1aa213f60a1c389deafb2b11c87dac9", "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}, "1955230": {"up_voted": false, "ip": "", "has_replies": false, "message": "While I was at the gym this morning, I pondered The Apprentice--Randall vs. Rebecca--analogy that someone brought up in earlier comments...it simply doesn't apply in this case.  <br></br><br>First,  the President of the United States will not \"report\" to Donald Trump.  The President of the United States has only two bosses:</br><br>1.  The American People </br><br>2.  The Almighty G_d Himself</br><br></br><br>Secondly, Trump was trying to hire Randall and Rebecca as co-equals.  Make no mistake about it:  With an Obama-Clinton Ticket, Barack Obama would be THE H.N.I.C., Commander-in-Chief, Leader of the Free World...Hillary would have to become a true *O* disciple...I think that she can do it...I know that *O* has the transformative power to bring them into the fold...</br><br></br><br>And if she were to become treacherous, back-biting as a VP, we should remember that the President can \"Fire\" the VP at will...If I were *O*, I would value the Clintons advise and counsel...even though I know that he can accomplish this mission without them.</br><br></br><br>The Clintons need a path to redemption...In spite of all their fear tactics, Bill Clinton has raised billions of $$$ to fight HIV in Africa...I am a Christian.  I'll forgive them...once Barack is the nominee.</br><br></br><br>...time 2 get ready 4 work.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_09:06:00", "killed": false, "user_key": "61b38052cdae3077225c223eee4a5ad9", "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}, "1955231": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://candidblogger.blogspot.com/2008/02/hillary-teaches-plagiarism-101.html%3Cbr%3E%3C/br%3E%3Cbr%3Ecomplete\" rel=\"nofollow\">http://candidblogger.blogspot.com/2008/02/hilla...</a> look at hilliary plagerism, including from last night (using bill and john edward's phrases)</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_09:07: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}, "1955232": {"up_voted": false, "ip": "", "has_replies": false, "message": "I support Obama but we to recognize the eloquence of Clinton's last statement.  You may dismiss it as plagiarism but it is sure to appeal to woman.  I don't know if it will cut into his momentum but it made  her look human and connected to the people.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_09:23:00", "killed": false, "user_key": "f47578625abfc55fbc32ef402f59de43", "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}, "1955233": {"up_voted": false, "ip": "", "has_replies": false, "message": "Oh, and about that story in Politico...folks need to make up their mind.....is Obama too liberal or not liberal enough? Make up your mind, cause you can't have it both ways.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_09:42: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}, "1955234": {"up_voted": false, "ip": "", "has_replies": false, "message": "And about the Politico story, he's changed the title of the story. ...from ' terrorists' to ' radicals'...I wonder could it be because folks like me called him on his use of that language.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_10: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}, "1955235": {"up_voted": false, "ip": "", "has_replies": false, "message": "Go Rikyrah!", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_10:34:00", "killed": false, "user_key": "3b31356ea345f986babefd4710e13291", "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}, "1955236": {"up_voted": false, "ip": "", "has_replies": false, "message": "Interesting post about Obama, Polls, and the Black community.<br></br><br><a href=\"http://www.dailykos.com/story/2008/2/20/21353/9526/837/460883\" rel=\"nofollow\">Analysis of Obama's performance vs. polls [Part 1 of 3: Black voters</a></br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_11:01: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}, "1955237": {"up_voted": false, "ip": "", "has_replies": false, "message": "THIS IS ANOTHER BLACK BLOGGER ALERT!!! THIS MUST BE SENT TO EVERYONE IN THE BLOGOSPHERE REGARDLESS OF COLOR!!!<br></br><br></br><br>SECURITY RELAXED AT OBAMA SPEECH IN DALLAS!!!</br><br></br><br>http://thoughtmerchant.wordpress.com/2008/02/22/security-relaxed-at-obama-speech-in-dallas/</br><br></br><br>Thought Merchant</br><br>www.thoughtmerchant.wordpress.com</br><br>Politics and Commentary for the thinking person of color-</br><br>Better to sell an idea than to buy a lie!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_11:30:00", "killed": false, "user_key": "1dbd79df621332fbe07f60cf99911af3", "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}, "1955238": {"up_voted": false, "ip": "", "has_replies": false, "message": "I lurk from time to time but wanted to weigh in about last night's debate.<br></br><br>I thought Obama did what he needed to do, which was hold serve. Clinton was stronger than she has been in previous debates but I don't believe she did well enough to shift the momentum in her favour.</br><br></br><br>I appreciated the discussion Obama and Clinton had about their health care plans. It was thorough enough for people to make up their minds about which plan they can get behind. I think Obama scored points with regard to immigration, with Clinton handling the Cuba/Castro question nicely. </br><br></br><br>I couldn't help but notice how they both talked around the question about whether America should be a biligual country.</br><br></br><br>Much is being made of her last statement, which some are interpreting as a concession of defeat. I'm not sure what she had in mind when she said, in so many words, it's whatever, but her spokesman's spin --that she sewed up the nomination-- is ridiculous. </br><br></br><br>I think Obama will win Texas by a narrow margin.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_11:52:00", "killed": false, "user_key": "8960149480f49fd4e412022438b39fcc", "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}, "1955239": {"up_voted": false, "ip": "", "has_replies": false, "message": "TM,<br></br><br>Thanks for that post, and once again, I have to say generally, thank goodness for the Afrosphere. Not just for JJP, but for so many other places getting the story out.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_12:00: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}, "1955240": {"up_voted": false, "ip": "", "has_replies": false, "message": "Personally, I don't believe Clinton's last statement was so sincere.   Her words were John Edwards words and she took a page from something Bill Clinton did in 1992. My husband thought it was another Clinton act.  Fact is she knows if done right this stuff plays to a certain audience.   Really if you have to keep setting yourself up to look \"human\" you have to wonder.   One of the pundits on CNN opined that she supposedly \"found her voice\" in NH but that maybe people just don't like it.<br></br><br>Remember Bill Clinton's words to Bob Dole about his campaign \"you do whatever it takes.\"</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_12:25: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}, "1955241": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think Obama did well sticking to the issues and stating the facts.  And yes, he has greatly reduced his audible pauses.  Now if Hillary would just accept the obvious and chill out we could hear more substance instead of those desperate attempts to distract.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_13:57:00", "killed": false, "user_key": "8f96e5ac552758523d509993c00aa0c1", "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}, "1955242": {"up_voted": false, "ip": "", "has_replies": false, "message": "<b>While I was at the gym this morning, I pondered The Apprentice--Randall vs. Rebecca--analogy that someone brought up in earlier comments...it simply doesn't apply in this case.</b><br></br><br>I did point out that, overall, it is unrelated (as far as the details that you pointed out among other things).</br><br></br><br>I thought of Randall/Rebecca and the Apprentice finale in the context of \"Working While Black\" if you will - the bar being raised higher, the rules being changed once a qualified (and often overqualified) black candidate fulfills or exceeds expectations.  </br><br></br><br>If the roles were reversed - or if John Edwards were in Barack Obama's current position, I think Hillary Clinton would have felt much more pressure to drop out sooner than later - and not drag it out to the end.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_14:07:00", "killed": false, "user_key": "376c4de9b9dbc5d8a0f228c9592205c6", "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}, "1955243": {"up_voted": false, "ip": "", "has_replies": false, "message": "Thanks Nichelle, I feel you...<br></br><br>As a matter of fact, I had to re-evaluate my early morning thoughts...After Trump declared that Randall was the winner, he offered him a \"King-Queenmaker\" role of Rebecca and Randall said (i'm paraphrasing) \"The name of the show is 'The Apprentice,' NOT the Apprenti (plural),\" to which Donald Trump shrugged his shoulders and the audience booed.</br><br></br><br>Essentially, Trump destroyed all of the goodwill--\"Oh Randall is such a nice guy\"--aura that Randall had accumulated over the months of that contest.  Trump made Randall look like an ungracious, unsportsmanlike buffoon in a matter of nanonseconds on live televsion.</br><br></br><br>That's exactly what Hillary wanted(wants) to happen before March 4th.  Obama made it impossible for her to do it...with the one exception where he said, \"I must admit these have been some good speeches.\" ...as a supporter, I loved the line.  </br><br></br><br>So the Randall-Rebecca analogy now has more resonance in that sense.  Please pardon my reaction though.  When you started talking about Randall/Rebecca, I felt like it was a critique of an Obama-Clinton Ticket.  I just wanted to be \"crystal\" clear that I.M.H.O., such a ticket would not be a ticket of co-equals...but a ticket with ONE HNIC.</br><br></br><br>Thank You Kindly,</br><br>Webb</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_15:16:00", "killed": false, "user_key": "61b38052cdae3077225c223eee4a5ad9", "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}, "1955244": {"up_voted": false, "ip": "", "has_replies": false, "message": "Less than 24 hours of appearing to put Party unity first, Clinton just completed an interview with Texas Monthly stating emphatically that she will fight to seat MI and FL delegates!  I can not believe how the media falls for her emotionally manipulative bull shit.  Oh yeah, and she's already starting the meme that TX doesn't count.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_15:30:00", "killed": false, "user_key": "c60cf267cb7a0392bdb4a893a5ee5c7c", "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}, "1955245": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a herf=\"http://healthybagofpolitics.blogspot.com/2008/02/virtual-tip-of-cap-to-hillary-clinton.html\" rel=\"nofollow\">Hillary knows it's pretty much over.</a> Let her bow out with grace. The thing to do is not treat her and her supporters they way they treated Barack and his supporters in this election. Don't get me wrong, she has done serious wrong and is going to have to spend years undoing the damage she's done to her reputation. But the important thing is that Obama is going to win the nomination. I want to be able to go down to DC on inauguration day and see Barack Obama sworn in as President and be proud. <br></br><br>Hillary Clinton knows this won't happen without a united Democratic Party. Uniting at the end is much like shaking hands and going out for pizza after a softball game. Hillary graciously took the first steps last night. I commend her, and I am hopeful it'll continue. (At this precise moment, the best thing she could do for her image and for the Democratic Party is fire Mark Penn, who is peddling a lot of these negative stories about Obama).</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_16:58:00", "killed": false, "user_key": "2a2201364786f612d9d33bb12f2de038", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1955246": {"up_voted": false, "ip": "", "has_replies": false, "message": "b-Serious,<br></br><br>I agree with your analysis of CNN and other media organizations. I have been seriously irritated by the  their presentation of the race throughout the process and if you think it has been bad so far, just wait.</br><br></br><br>Now that Obama has been deemed the Democratic frontrunner, he will no doubt will be turned inside out by and on behalf of the Republicans and a slew of folks who don't want him to succeed.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_20:02: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}, "1955247": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well, the Pentagon tried to cast doubt on Barack's story on an account of military equipment shortages. But the Captain backed the story up.<br></br><br>Barack is on his game!</br><br></br><br>http://www.msnbc.msn.com/id/23301273</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-22_23:38:00", "killed": false, "user_key": "3b31356ea345f986babefd4710e13291", "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}, "1955248": {"up_voted": false, "ip": "", "has_replies": false, "message": "Great article JJP. Now, Ohio and Texas must be a part of history and seal the nomination for the next President.....Barack Obama. We invite all to visit <a href=\"http://www.Blacks4Barack.org\" rel=\"nofollow\">http://www.Blacks4Barack.org</a> for Obama News, Views, Events, Photos, Volunteer Info and More. Keep going strong JJP. We check your site everyday because you always have great info for us all.<br></br><br>Greg Jones</br><br>National Director</br><br>http://www.Blacks4Barack.org</br><br></br><br>Say It Loud....BARACK & I'M PROUD !!!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-23_09:57: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}, "1955188": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hillary was booed for saying Obama was \"Change you can Xerox\" in regards to the plagiarism claims her campaign started. Serves her right for going negative.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_21:57:00", "killed": false, "user_key": "3b9a39f6bc38c0fc6082bf0373618c04", "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}, "1955189": {"up_voted": false, "ip": "", "has_replies": false, "message": "What I noticed was Obama's steadfast reminder to stay on debate instead of giving in to \"the silly season\". He also didn't lower himself when she did but made a call not to knock each other down but \"raise the country up.\" <br></br><br>Obama doesn't want to waste ANY time on nonsense. He wants to work! Can you believe that?</br><br></br><br>Even tho' Hillary got all choked up in the end saying how lucky she has been and is- I think Obama showed real strength, maturity, and vision. He seemed to me the clear leader.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_22:05:00", "killed": false, "user_key": "9128f315ccfcb4656c382242840942ff", "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}, "1955190": {"up_voted": false, "ip": "", "has_replies": false, "message": "Senator Obama appeared as our Commander and Chief.<br></br><br>He refused to be bated into a tit for tat on the negatives; however, he stood fast on is position regarding his healthcare plan and the implication that 15 million would go unserved.</br><br></br><br>In short, he handled his business!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_22:17: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}, "1955191": {"up_voted": false, "ip": "", "has_replies": false, "message": "Three points.<br></br><br>1) The plagiarism issue is embarrassing for Billary. Obama let the audience speak for him with resounding boos.</br><br></br><br>2) The superdelegate issue. Obama was clear: democracy rules. Let the people decide. She gave a Clintonian answer, \"Let it play out\" or something. Bogus, CNN dropped the ball on this point and should've pushed it because it is far more important than her Xerox comment.</br><br></br><br>3) Barack outlined a Presidency that includes us as fighters at home and a president unafraid to meet face to face with foreigns leaders.</br><br></br><br>The mainstream media is saying Hillar ydid well at the end with her gracious comment. Well of course, for a brief moment the ice queen thawed. However, nothing much changed. Barack still leads in popular votes, states won and pledged delegates. He made no serious errors, she made no serious gains.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_22:18:00", "killed": false, "user_key": "9b6e73b6d46e8c929e46a5d49022a8ce", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1955192": {"up_voted": false, "ip": "", "has_replies": false, "message": "I thought the \"Xerox\" remark was tacky, Obama should have asked her who gave her that line?  She also took a swipe at the Representative from TX for not knowing anything about Obama.  She tried to paint Obama  as an empty suit and his supporters as \"followers\".  I didn't like how she kept insisting on keeping the debate on health car or the little side comments she would make. She tried to fix it up in the end, but she came off as mean sprited to me.  Obama kept his cool.<br></br><br>This is what Obama should say about the plagerism claim:</br><br>\"I guess it depends on what the meaning of plagerism IS\".</br><br>He can \"borrow\" that from me.</br><br></br><br>I wish Obama had been more forceful when he called John King a liar.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_22:19: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}, "1955193": {"up_voted": false, "ip": "", "has_replies": false, "message": "Three things stood out with one of them occurring off camera. First, John King relayed that prior to the debate Hillary Clinton approached Barack Obama backstage with some casual banter. Second, Hillary ended by saying how proud she was to have shared the platform with Barack. I may be amplifying these gestures and  wandering from my background in emergency medicine into psychoanalysis but I think these were acts of concession. As I said previously, Clinton had a Gettysburg moment in Virginia. On March 4 Texas will become her Appomattox. Finally, Senator Obama directly challenged Senator McCain by name thereby asserting himself as standard bearer for the Democratic Party. This stage has been decided. Now let's see <a href=\"http://soulconviction.blogspot.com/2008/02/barack-obama-has-had-gettysburg-moment.html\" rel=\"nofollow\">what happens next</a>.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_22:42:00", "killed": false, "user_key": "a64ac50ccdebb1c745479763ea2721ab", "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}, "1955194": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree. I wanted him to ask her about her using \"Yes We Can\" in speeches. Still, Obama knew the people would jump all over that Xerox comment. And they did. He also threw out a jab over the \"get real\" remarks in her speeches. The 2 million plus that have voted for him are not delusional.<br></br><br>Here's what we know. Hillary does better when she gets \"emotional\". I bet she's not going negative but she'll get emotional. Maybe cry again.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_22:43:00", "killed": false, "user_key": "9b6e73b6d46e8c929e46a5d49022a8ce", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1955195": {"up_voted": false, "ip": "", "has_replies": false, "message": "Obama won.<br></br><br>1.  There is NO WAY you can look at that debate and think that Obama is an empty suit.  Just like the last debate, Obama showed just as much substance and just as much of a grasp of the issues as Clinton did.  If she needed a \"game-changer,\" she sure didn't get it.  That \"xerox\" line absolutely bombed and we might see that get replayed over and over again for the next few days.</br><br></br><br>2.  Obama did an excellent job of turning her \"experience/solutions\" argument against her; focusing on judgment.</br><br></br><br>3.  Am I the only one here, or did Hillary's last statement look kind of like a concession speech?  I can't stand how some of the pundits are trying to spin it as some \"hillary found her inner-voice moment.\" </br><br></br><br>To me, it sort of looked like she finally realized, \"hey, this guy is the real deal.\"  Olberman on MSNBC said it looked like she was was saying, \"no hard feeling, right?  please keep me in mind when you pick your v.p. in about a month.\"</br><br></br><br>This was a good night for Obama.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_22:54: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}, "1955196": {"up_voted": false, "ip": "", "has_replies": false, "message": "Exactly B Serious, at the end she was half-concession because she sees her strong Ohio lead shrinking and her Texas lead now a tie.<br></br><br>However, her ending also gives her a sense of being nice to th public. I hate to say it, but the ability of a white woman to get emotional makes people pause. </br><br></br><br>\"Oh my God, she's sorry. </br><br>Can't you Obama people just forgive her and let's move on?\"</br><br></br><br>The math of the nomination is against her. She needs 65% of the delegates and over 1 million votes just to tie. I think she decided at the end to admit, \"I can beat you. I just have to hope you beat yourself.\"</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_23:18:00", "killed": false, "user_key": "9b6e73b6d46e8c929e46a5d49022a8ce", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1955197": {"up_voted": false, "ip": "", "has_replies": false, "message": "I meant, \"I can't beat you. I just have to hope you beat yourself.\"", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_23:21:00", "killed": false, "user_key": "9b6e73b6d46e8c929e46a5d49022a8ce", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1955198": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hillary Clinton \"borrowed\" Edwards closing remarks from at least two previous debates and the gushing analysts on CNN want to play ignorant.  Wasn't shit genuine abuot that moment; it was scripted with Edwards' line!  But no doubt it sent women flying for the Kleenex.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_23:22:00", "killed": false, "user_key": "c60cf267cb7a0392bdb4a893a5ee5c7c", "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}, "1955199": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"3. Am I the only one here, or did Hillary's last statement look kind of like a concession speech? I can't stand how some of the pundits are trying to spin it as some \"hillary found her inner-voice moment.\"<br></br><br>Her inner voice sounds a lot like John Edwards!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-02-21_23:23:00", "killed": false, "user_key": "c60cf267cb7a0392bdb4a893a5ee5c7c", "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": "2349053", "user_id": "anonymous", "forum_id": "21630", "hash": 7406421709571272943}, "thread": {"days_alive": 0, "slug": "texas_debate_open_thread", "paginate": false, "num_pages": 1, "num_posts": 61, "per_page": 0, "total_posts": 0, "realtime_paused": true, "id": 2349053, "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=texas_debate_open_thread' +
		'&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/texas_debate_open_thread/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='	+ 'texas_debate_open_thread'
			+ '&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/texas_debate_open_thread/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">61</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://jackandjillpolitics.disqus.com/texas_debate_open_thread/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/texas_debate_open_thread/">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:2349053" 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/texas_debate_open_thread/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:2349053" 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:2349053" 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'				: 'texas_debate_open_thread',
			// 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/texas_debate_open_thread/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='	+ 'texas_debate_open_thread'
			+ '&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='	+ 'texas_debate_open_thread'
			+ '&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='		+ 'texas_debate_open_thread'
				+ '&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/2349053/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-1955188">\
	 <div id="dsq-comment-header-1955188" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955188" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955188">Pamela</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955188" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955188" class="dsq-comment-message">Hillary was booed for saying Obama was "Change you can Xerox" in regards to the plagiarism claims her campaign started. Serves her right for going negative.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955189">\
	 <div id="dsq-comment-header-1955189" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955189" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955189">50 foot QE</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955189" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955189" class="dsq-comment-message">What I noticed was Obama\'s steadfast reminder to stay on debate instead of giving in to "the silly season". He also didn\'t lower himself when she did but made a call not to knock each other down but "raise the country up." <br></br><br>Obama doesn\'t want to waste ANY time on nonsense. He wants to work! Can you believe that?</br><br></br><br>Even tho\' Hillary got all choked up in the end saying how lucky she has been and is- I think Obama showed real strength, maturity, and vision. He seemed to me the clear leader.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955190">\
	 <div id="dsq-comment-header-1955190" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955190" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955190">Ms.Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955190" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955190" class="dsq-comment-message">Senator Obama appeared as our Commander and Chief.<br></br><br>He refused to be bated into a tit for tat on the negatives; however, he stood fast on is position regarding his healthcare plan and the implication that 15 million would go unserved.</br><br></br><br>In short, he handled his business!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955191">\
	 <div id="dsq-comment-header-1955191" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955191" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955191">Phillip M. Bailey</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955191" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955191" class="dsq-comment-message">Three points.<br></br><br>1) The plagiarism issue is embarrassing for Billary. Obama let the audience speak for him with resounding boos.</br><br></br><br>2) The superdelegate issue. Obama was clear: democracy rules. Let the people decide. She gave a Clintonian answer, "Let it play out" or something. Bogus, CNN dropped the ball on this point and should\'ve pushed it because it is far more important than her Xerox comment.</br><br></br><br>3) Barack outlined a Presidency that includes us as fighters at home and a president unafraid to meet face to face with foreigns leaders.</br><br></br><br>The mainstream media is saying Hillar ydid well at the end with her gracious comment. Well of course, for a brief moment the ice queen thawed. However, nothing much changed. Barack still leads in popular votes, states won and pledged delegates. He made no serious errors, she made no serious gains.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955192">\
	 <div id="dsq-comment-header-1955192" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955192" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955192">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955192" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955192" class="dsq-comment-message">I thought the "Xerox" remark was tacky, Obama should have asked her who gave her that line?  She also took a swipe at the Representative from TX for not knowing anything about Obama.  She tried to paint Obama  as an empty suit and his supporters as "followers".  I didn\'t like how she kept insisting on keeping the debate on health car or the little side comments she would make. She tried to fix it up in the end, but she came off as mean sprited to me.  Obama kept his cool.<br></br><br>This is what Obama should say about the plagerism claim:</br><br>"I guess it depends on what the meaning of plagerism IS".</br><br>He can "borrow" that from me.</br><br></br><br>I wish Obama had been more forceful when he called John King a liar.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955193">\
	 <div id="dsq-comment-header-1955193" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955193" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955193">Submariner</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955193" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955193" class="dsq-comment-message">Three things stood out with one of them occurring off camera. First, John King relayed that prior to the debate Hillary Clinton approached Barack Obama backstage with some casual banter. Second, Hillary ended by saying how proud she was to have shared the platform with Barack. I may be amplifying these gestures and  wandering from my background in emergency medicine into psychoanalysis but I think these were acts of concession. As I said previously, Clinton had a Gettysburg moment in Virginia. On March 4 Texas will become her Appomattox. Finally, Senator Obama directly challenged Senator McCain by name thereby asserting himself as standard bearer for the Democratic Party. This stage has been decided. Now let\'s see <a href="http://soulconviction.blogspot.com/2008/02/barack-obama-has-had-gettysburg-moment.html" rel="nofollow">what happens next</a>.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955194">\
	 <div id="dsq-comment-header-1955194" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955194" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955194">Phillip M. Bailey</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955194" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955194" class="dsq-comment-message">I agree. I wanted him to ask her about her using "Yes We Can" in speeches. Still, Obama knew the people would jump all over that Xerox comment. And they did. He also threw out a jab over the "get real" remarks in her speeches. The 2 million plus that have voted for him are not delusional.<br></br><br>Here\'s what we know. Hillary does better when she gets "emotional". I bet she\'s not going negative but she\'ll get emotional. Maybe cry again.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955195">\
	 <div id="dsq-comment-header-1955195" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955195" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955195">B-Serious</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955195" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955195" class="dsq-comment-message">Obama won.<br></br><br>1.  There is NO WAY you can look at that debate and think that Obama is an empty suit.  Just like the last debate, Obama showed just as much substance and just as much of a grasp of the issues as Clinton did.  If she needed a "game-changer," she sure didn\'t get it.  That "xerox" line absolutely bombed and we might see that get replayed over and over again for the next few days.</br><br></br><br>2.  Obama did an excellent job of turning her "experience/solutions" argument against her; focusing on judgment.</br><br></br><br>3.  Am I the only one here, or did Hillary\'s last statement look kind of like a concession speech?  I can\'t stand how some of the pundits are trying to spin it as some "hillary found her inner-voice moment." </br><br></br><br>To me, it sort of looked like she finally realized, "hey, this guy is the real deal."  Olberman on MSNBC said it looked like she was was saying, "no hard feeling, right?  please keep me in mind when you pick your v.p. in about a month."</br><br></br><br>This was a good night for Obama.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955196">\
	 <div id="dsq-comment-header-1955196" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955196" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955196">Phillip M. Bailey</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955196" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955196" class="dsq-comment-message">Exactly B Serious, at the end she was half-concession because she sees her strong Ohio lead shrinking and her Texas lead now a tie.<br></br><br>However, her ending also gives her a sense of being nice to th public. I hate to say it, but the ability of a white woman to get emotional makes people pause. </br><br></br><br>"Oh my God, she\'s sorry. </br><br>Can\'t you Obama people just forgive her and let\'s move on?"</br><br></br><br>The math of the nomination is against her. She needs 65% of the delegates and over 1 million votes just to tie. I think she decided at the end to admit, "I can beat you. I just have to hope you beat yourself."</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955197">\
	 <div id="dsq-comment-header-1955197" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955197" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955197">Phillip M. Bailey</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955197" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955197" class="dsq-comment-message">I meant, "I can\'t beat you. I just have to hope you beat yourself."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955198">\
	 <div id="dsq-comment-header-1955198" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955198" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955198">NMP</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955198" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955198" class="dsq-comment-message">Hillary Clinton "borrowed" Edwards closing remarks from at least two previous debates and the gushing analysts on CNN want to play ignorant.  Wasn\'t shit genuine abuot that moment; it was scripted with Edwards\' line!  But no doubt it sent women flying for the Kleenex.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955199">\
	 <div id="dsq-comment-header-1955199" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955199" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955199">NMP</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955199" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955199" class="dsq-comment-message">"3. Am I the only one here, or did Hillary\'s last statement look kind of like a concession speech? I can\'t stand how some of the pundits are trying to spin it as some "hillary found her inner-voice moment."<br></br><br>Her inner voice sounds a lot like John Edwards!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955200">\
	 <div id="dsq-comment-header-1955200" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955200" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955200">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955200" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955200" class="dsq-comment-message">Yea...nmp, She has stolen a lot from John Edwards like her Blockbuster-Illegal Immigration comment. I love how she mentioned YouTube in regards to Obama, there are a lot of stuff that she should watch about herself. She\'s a hypocrite and there is no light way to say it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955201">\
	 <div id="dsq-comment-header-1955201" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955201" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955201">B-Serious</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955201" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955201" class="dsq-comment-message">phillip,<br></br><br>I really hope that "softer side," sympathy vote thing doesn\'t rear its ugly head again.</br><br></br><br>It happened in NH, but I don\'t think it will work for her this time.  Plus, one moment of sincerity does not erase months of gutter politics - especially when there\'s a pro-hillary 527 (swift-boat type) organization that will be running ads in Ohio.  Don\'t believe the hype.  </br><br></br><br>The momentum for Obama is real.  The public has had more time to get to know this guy - they like what they see.</br><br></br><br>By ending the "empty suit" argument, he alleviates any lingering fears for voters who are still on the fence.  </br><br></br><br>Indeed, I think Hillary\'s last statement could be viewed as implicitly granting her "blessing."  Of course, she didn\'t say it out loud.  But her actions conveyed a sense that she understands . . . Obama is ready to lead.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955202">\
	 <div id="dsq-comment-header-1955202" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955202" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955202">LucieLu</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955202" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955202" class="dsq-comment-message">Most the important points have been covered, but I thought it was a good moment for Barack when he challenged Hillary on her call for democrats to "get real" implying that people who voted for/support him are delusional.<br></br><br>I also think it is important that concerning the Cuba issue he showed a willingness to meet with world leaders the US does not necessarily support instead of adopting the arrogant jump-through-hoops-first-before-you-are-good-enough-to-speak-to-me approach HIlary advocated.</br><br></br><br>He really handled the debate well. A big deal is being made of her last statement but in my opinion it didn\'t make up for her slips (i.e. the xerox comment).</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955203">\
	 <div id="dsq-comment-header-1955203" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955203" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955203">Phillip M. Bailey</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955203" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955203" class="dsq-comment-message">Hillary\'s ending contradicts her entire argument about Xerox, get real and ready on day one. Why is she honored to share the stage with just a word-wizard? She acknowledged that he\'s the leader and the history (not just being a black candidate but actually one that draws new people to the process).<br></br><br>The softer side will endear her at the ground level. It may save her in Ohio. Obama supporters should honestly stay vigilant of Billary\'s attacks and highlight them but by-pass her. She can\'t beat him. He can beat himself. On to McCain.</br><br></br><br>The Republican Noise Machine is loading its weaponry. Barack, you are about to graduate. Unless you just say, fuck it.</br><br></br><br>Congratulations, you got your masters degree. No it\'s time to get the PhD. And the Republicans have already started shitting on Yes We Can and Hope.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955204">\
	 <div id="dsq-comment-header-1955204" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955204" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955204">justice58</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955204" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955204" class="dsq-comment-message">B Serious<br></br><br>It sounded like a concession speech to me! Hillary loves to get her jabs in with her snide remarks but it ends up costing her just like the "slumlord" remark did in South Carolina.</br><br></br><br>It\'s time for her to step aside. The game is over!</br><br></br><br></br><br>Go Obama! Yes We Can!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955205">\
	 <div id="dsq-comment-header-1955205" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955205" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955205">I&#39;m an OBAMA mama</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955205" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955205" class="dsq-comment-message">Maybe I\'m just the cynical one, but I  don\'t think she conceded.  I don\'t believe it for a minute!<br></br><br>I\'m not buying it.  To me, it was more of the same \'tug at the heart strings\' -- \'Don\'t ya\'ll see that I really wanted this?\'  </br><br></br><br>He has to take the "high road"... I would LOVE to be a fly on the wall for the real conversation about HRC.  </br><br></br><br>Everything she accuses him of, she has done herself.  The plagiarism charge is just laughable.  She\'s on YouTube saying "YES WE CAN" to her stunned supporters.  </br><br></br><br>Re: the superdelegates -  She didn\'t answer the question.  And CNN let her get away with it.  </br><br></br><br>Sidenote:  CNN is playing Stevie Wonder for real. I\'m sure that is the Obama  campaign rockin\' it.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955206">\
	 <div id="dsq-comment-header-1955206" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955206" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955206">NMP</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955206" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955206" class="dsq-comment-message">Obama\'s been beat up for a week over Clinton\'s plagiarism allegations, but she\'s guilty of worse: HYPOCRISY!<br></br><br>Bill Clinton 1992: "The hits that I took in this election are nothing compared to the hits the people of this state and this country have been taking for a long time."</br><br></br><br>Hillary Clinton Tonight: "You know, the hits I’ve taken in life are nothing compared to what goes on every single day in the lives of people across our country."</br><br></br><br>Edwards the December 13 debate:</br><br></br><br>"What\'s not at stake are any of us. All of us are going to be just fine no matter what happens in this election. But what\'s at stake is whether America is going to be fine."</br><br></br><br>Hillary Clinton Tonight:</br><br></br><br>"You know, whatever happens, we\'re going to be fine. You know, we have strong support from our families and our friends. I just hope that we\'ll be able to say the same thing about the American people. And that\'s what this election should be about."</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955207">\
	 <div id="dsq-comment-header-1955207" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955207" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955207">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955207" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955207" class="dsq-comment-message">I watched but afterwards, turned to MSNBC because the Clinton News Network was too focused on her last statement. Funny thing is that Keith Olberman exposed her "borrowing" that statement from Edwards. Hypocrite.<br></br><br>With that said, Obama won tonight, even though the pundits are trying to say different.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955208">\
	 <div id="dsq-comment-header-1955208" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955208" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955208">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955208" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955208" class="dsq-comment-message">"Maybe I\'m just the cynical one, but I don\'t think she conceded. I don\'t believe it for a minute!<br></br><br>I\'m not buying it. To me, it was more of the same \'tug at the heart strings\' -- \'Don\'t ya\'ll see that I really wanted this?\'"</br><br></br><br>ITA. In fact, she used her "It took a Clinton to clean up after the 1st Bush......." line at a rally right after the debate. That was nothing but her playing the sympathy card.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955209">\
	 <div id="dsq-comment-header-1955209" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955209" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955209">Phillip M. Bailey</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955209" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955209" class="dsq-comment-message">I believe it\'s both.<br></br><br>She conceded and played the crying game. Clintonian centrism at its worst. I do notice the difference in coverage. Fixed Noise hates the both but Hillary more. CNN is always trying to find a way to keep Hillary in the race (maybe for ratings). MSNBC is a mixture of both but more favoritism to Obama. C. Matthews loves him some Barack.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955210">\
	 <div id="dsq-comment-header-1955210" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955210" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955210">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955210" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955210" class="dsq-comment-message">I may have never seen a better example in politics of dignity as an effective rhetorical strategy. The man was brilliant, and more than that, extremely disciplined.<br></br><br>He never took the bait of her negative comments and thus never gave her an opening to point to his immaturity or inexperience.</br><br></br><br>And poor Hillary. Of course she would have loved to strike even harder. He just never made the classic political mistake of handing her a sword.</br><br></br><br>By the way, with all the talk of how sometimes you just have to go negative, it simply doesn\'t seem to have played out that way.</br><br></br><br>When the history of this campaign is written, it will be noted that the negativity her husband started with in the early primaries hurt her immediately and hurt her permanently.Indeeed, looking back it seems that the biggest mistake was that, after the race narrowed, Hillary took the low road and essentially ran her campaign as if she was opposing a Republican.</br><br></br><br>This looked bad and mean-spirited. And, alongside Obama\'s cool dignity, it looked scared.</br><br></br><br>It\'s over.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955211">\
	 <div id="dsq-comment-header-1955211" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955211" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955211">B-Serious</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955211" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955211" class="dsq-comment-message">My goodness, I had to turn from CNN as well.<br></br><br>Hey media:  It\'s ok to say it now . . . Obama is gonna win this thing.  </br><br></br><br>Stop making excuses for Clinton.  There\'s no need to feel sorry for her.  Just admit that Obama has run the better campaign; had the better (more inclusive) message; won more states; has more delegates; more popular votes. </br><br></br><br>What else does he have to do before you give him due credit?  I mean, damn . . . 11 straight victories by an AVERAGE of 33%!!!  If the roles were reversed, Obama would have been long gone by now.</br><br></br><br>I saw Dan Abrahms last night and he dedicated two whole segments to brainstorming ways for her to make a comeback.  You know, I didn\'t see people do this for Giuliani, John Edwards, etc.  When it was over . . . IT WAS OVER!  There was no swan song . . . no violins.  They were gone.</br><br></br><br>The Clintons always talk about media bias - well (as recently mentioned by one political pundit), it\'s actually the media that\'s keeping her in this thing.  They allow her to keep moving the goal posts.  Now we\'ll have to listen to a week of her "finding her inner voice" again???</br><br></br><br>Hey media, I see what you\'re doing.  Stop throwing her a life line.  The math is real.  It\'s not enough to just win in OH and TX . . . she needs to win by LANDSLIDES.  Stop laying the groundwork for some cheap 51-49% victories and a phony "comeback."</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955212">\
	 <div id="dsq-comment-header-1955212" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955212" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955212">Rachel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955212" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955212" class="dsq-comment-message">Goddamn, Obama is going to make a hell of a president.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955213">\
	 <div id="dsq-comment-header-1955213" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955213" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955213">B-Serious</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955213" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955213" class="dsq-comment-message">rachel,<br></br><br>I must agree.  Obama is stepping into the role.  For what it\'s worth, he looks the part, now.</br><br></br><br>Obama is growing from a candidate to the next Commander-in-Chief!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955214">\
	 <div id="dsq-comment-header-1955214" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955214" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955214">Webb</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955214" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955214" class="dsq-comment-message">I <a href="mailto:agree@anon...Bill" rel="nofollow">agree@anon...Bill</a> has already said that the nomination fight will end if she doesn\'t win BOTH TX and OH...she needed to fight like heel tonight...but she didn\'t.<br></br><br>Are the CLintons realizing that their legacy may well be in tatters...Are they realizing that the only way to repair their legacy may come in the form of an Obama-Clinton ticket?  </br><br></br><br>YES, Hillary would have to have a Saul-to-Paul on the Road-to-Damascus Conversion...but I do think that it\'s feasible...she would really have to start preaching the *O* Gospel..but once she\'s converted, she would be the scrappiest VP any Presidential Candidate would ever want.</br><br></br><br>She will get another shot on next Tuesday in the OH debate...i\'ll reserve judgment until that debate passes...they\'re probably testing the "sympathy" effect to see how it affects the polls...the only polls we should trust are the VOTES, let\'s not sleep on TX and OH...LET\'s END THIS ON MARCH 4TH.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955215">\
	 <div id="dsq-comment-header-1955215" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955215" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955215">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955215" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955215" class="dsq-comment-message">I agree with you B Serious. Even Joe Scarborough admitted that they were giving her the benefit of the doubt saying to Chris Matthews and others on his show, "Don\'t you think that if anyone else were in Hillary\'s position, we would\'ve written them off by now?". They all said "Yes".</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955216">\
	 <div id="dsq-comment-header-1955216" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955216" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955216">Felicia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955216" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955216" class="dsq-comment-message">I don\'t believe Clinton was being conciliatory, especially since we\'ve now learned that she got those lines from Bill Clinton and John Edwards.  I hope the MSM calls her on it.  I don\'t think they will, though, because now it\'s time to pick on the new frontrunner.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955217">\
	 <div id="dsq-comment-header-1955217" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955217" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955217">Nichelle</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955217" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955217" class="dsq-comment-message"><b>What else does he have to do before you give him due credit? I mean, damn . . . 11 straight victories by an AVERAGE of 33%!!! If the roles were reversed, Obama would have been long gone by now.<br></br><br>I saw Dan Abrahms last night and he dedicated two whole segments to brainstorming ways for her to make a comeback. You know, I didn\'t see people do this for Giuliani, John Edwards, etc. When it was over . . . IT WAS OVER! There was no swan song . . . no violins. They were gone.</br></b><br></br><br>So true what you said here. </br><br></br><br>Totally different animal, but the Dem race made me think of the "Apprentice" a few seasons ago.  To my knowledge, Randall Pinkett was the only "Apprentice" winner asked to share his prize - at the exact moment that he won! (He was also the only "Apprentice" winner with FIVE DEGREES.)</br><br></br><br><b><i> The rules of the game suddenly changed just for him.</i></b>  When he refused, he was called "selfish" and "unfair".  If the shoe were on the other foot, I don\'t believe that The Donald would have asked Pinkett\'s white female opponent to share her prize.</br><br></br><br>Anyway, totally unrelated - but the parallels are amazing.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955218">\
	 <div id="dsq-comment-header-1955218" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955218" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955218">Nichelle</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955218" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955218" class="dsq-comment-message">Also, I thought Marc Ambinder\'s take at The Atlantic was pretty shrewd:<br></br><br><i>The puzzler of the night, to me, is why Clinton refused to answer a simple question that she clearly has an answer to: And that is: Is Barack Obama ready to be commander in chief? Clearly -- the answer, for Clinton, is “yes.” It’s her best argument against him. But twice she avoided it and instead recapitulated her own resume.</i></br><br></br><br>At this point, she has nothing to lose by making that argument. The fact that she did not suggests to me that she is thinking, already, about life as a Senator from New York supporting Barack Obama and did not want to give John McCain the soundbite that could doom Obama’s candidacy. I don’t think she’s conceded the nomination in her mind, but I do think she had two temporal audiences in mind when she answered: Democrats now and the nation in the fall.</br><br></br><br>http://marcambinder.theatlantic.com/archives/2008/02/first_take_advantage_obama.php</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955219">\
	 <div id="dsq-comment-header-1955219" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955219" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955219">B-Serious</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955219" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955219" class="dsq-comment-message">nichelle,<br></br><br>LOL!  You hit the bulls-eye with your "Apprentice" parallel!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955220">\
	 <div id="dsq-comment-header-1955220" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955220" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955220">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955220" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955220" class="dsq-comment-message"><i>What else does he have to do before you give him due credit? I mean, damn . . . 11 straight victories by an AVERAGE of 33%!!! If the roles were reversed, Obama would have been long gone by now.<br></br><br>I saw Dan Abrahms last night and he dedicated two whole segments to brainstorming ways for her to make a comeback. You know, I didn\'t see people do this for Giuliani, John Edwards, etc. When it was over . . . IT WAS OVER! There was no swan song . . . no violins. They were gone.</br></i><br></br><br>At first,  I thought we were the only ones noticing this, but at least, FINALLY, it was vocalized by someone on Morning Joe today. </br><br></br><br>How they are bending over backwards and letting Hillary Clinton \'set the terms\'. I forget who was the person to finally admit it...I thought it was all in my mind - that folks were just letting her change the bar...first, it was Wisconsin...then it was Texas and Ohio, and then, when they realized the rules in Texas, then suddenly, it became Ohio and Pennsylvania - with Texas forgotten. </br><br></br><br>It\'s hilarious, how they\'re trying to explain away Texas, only after touting it a week and a half ago, at where she had a FIREWALL. They are unbelievable in the way that they bend over backwards for her. </br><br></br><br>at <a href="http://www.politicalinaction.com/2008/02/final-take-of-night.html" rel="nofollow">POLITICALINACTION.COM</a>, the owner wrote:</br><br><i></i></br><br>I think that the battle, widely being reported on in the campaign, of half of Hillary\'s camp going nuclear and half saying preserve your legacy to fight again either as senate majority leader or as the nominee in four years if Obama loses was clearly won by the latter group.</br><br></br><br></br><br>I think this might tie into what folks have been writing about hearing a pseudo-concession speech, and what Ambinder (Clinton-ista) said. </br><br></br><br>He didn\'t give her any wiggle room to play the White Woman Victim card, which is a good thing. He didn\'t take her bait when she tried to lure him into taking potshots, which is also a good thing. </br><br></br><br>Why am I not surprised that the most \'genuine\' moment for her was as phony as a $3 bill, and copied from others, just like those fake-ass tears in New Hampshire. </br><br></br><br>She attacked, he looked Presidential. All I wanted from tonight. </br><br></br><br>PS- Did you read that DailyKos diary about how much she\'s spent on consultants? Penn has basically robbed her blind.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955221">\
	 <div id="dsq-comment-header-1955221" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955221" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955221">Craig Hickman</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955221" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955221" class="dsq-comment-message">Politico is running this at the top of the page for early morning readers:<br></br><br><a href="http://www.politico.com/news/stories/0208/8630.html" rel="nofollow">Obama once visited \'60s \'Terrorists\'</a></br><br></br><br>Can this be the beginning of the end or am I overreacting?</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955222">\
	 <div id="dsq-comment-header-1955222" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955222" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955222">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955222" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955222" class="dsq-comment-message">Once visited 12 years ago, some White radicals?<br></br><br>I\'d have more faith if this were another Rezko story...</br><br></br><br>Of, if they were Black Panthers.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955223">\
	 <div id="dsq-comment-header-1955223" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955223" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955223">Craig Hickman</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955223" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955223" class="dsq-comment-message">so, rikyrah, you\'re saying I\'m overreacting.<br></br><br>I hope you\'re right.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955224">\
	 <div id="dsq-comment-header-1955224" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955224" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955224">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955224" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955224" class="dsq-comment-message">The more I read that story, the madder I became.<br></br><br>Change their names to Leroy and Monique, make them Black Panthers...what\'s the story then?</br><br></br><br>Oh yeah, there would be NO story, because their Black asses WOULD STILL BE IN JAIL. </br><br></br><br>Don\'t even get me started. </br><br></br><br>Do that mess, unapologetic, gainfully employed, not hurting for housing, food, legitimacy or friendship....</br><br></br><br>I know..why bring race into it..</br><br></br><br>cause dammit, you and I know that if they\'d been BLACK, they\'d be scrubbing floors somewhere, AFTER serious jailtime.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955225">\
	 <div id="dsq-comment-header-1955225" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955225" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955225">Phoebe</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955225" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955225" class="dsq-comment-message">My favorite part of the debate was when H herself brought up the Texas surrogate dude freezing up on Matthews. Then I knew O was going to clobber her with his record of accomplishments, and he did. I was actually hoping someone would bring that up and give him the chance, but I didn\'t know she would have the gall to do it herself - as though he would just concede that he\'s done nothing!<br></br><br>That was my favorite. This is done with.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955226">\
	 <div id="dsq-comment-header-1955226" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955226" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955226">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955226" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955226" class="dsq-comment-message">He totally outclassed that smug shrew with her catty nips. She showed that she really isn\'t qualified for any office, other than the bad joke/quip one. LOVED it when she was booed, it should have told her the country does not need another nasty, negative Republican, even one who claims to be a Democrat in the WH.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955227">\
	 <div id="dsq-comment-header-1955227" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955227" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955227">Ronnie B</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955227" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955227" class="dsq-comment-message">I concur with b-serious and others; Hillary\'s final comments sure sounded like a concession speech.<br></br><br>But -- but -- there\'s a small part of me that\'s wondering if she was gifted that line by John Edwards?  A way of hinting that Edwards has decided to endorse her.</br><br></br><br>Just a thought.</br><br></br><br>All in all, Barack handled his business.  What\'s more, the strategy of getting him into the debate ring seems to have backfired.  Barack is finding his debate stride, and appears that he\'s unable to be stopped.</br><br></br><br>I\'m even thinking that the guy from Univision (Jorge Ramos) came away a bit impressed by Barack.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955228">\
	 <div id="dsq-comment-header-1955228" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955228" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955228">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955228" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955228" class="dsq-comment-message">A morning funny bsed on last night\'s debate: <br>Hillary Clinton borrows a few lines</br><br>http://www.youtube.com/watch?v=H60y8mHMpmU</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955229">\
	 <div id="dsq-comment-header-1955229" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955229" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955229">Ms. Ki</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955229" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955229" class="dsq-comment-message">I agree with what others have said this last night and this morning. Obama clearly rose above the name calling, nit picking, and silliness that has plagued the primaries. At first I thought Hillary\'s final statement was attempt at gaining sympathy votes like she did with NH, now after reviewing it, the tone was one of finality. I think she knows she\'s out of this race. The American people have made a decision and if she fights for anything other than the decision they have made, she will be grouped with Rove and his band of outlaws. Obama looked, acted, and filled the role of commander and chief last night.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955230">\
	 <div id="dsq-comment-header-1955230" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955230" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955230">Webb</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955230" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955230" class="dsq-comment-message">While I was at the gym this morning, I pondered The Apprentice--Randall vs. Rebecca--analogy that someone brought up in earlier comments...it simply doesn\'t apply in this case.  <br></br><br>First,  the President of the United States will not "report" to Donald Trump.  The President of the United States has only two bosses:</br><br>1.  The American People </br><br>2.  The Almighty G_d Himself</br><br></br><br>Secondly, Trump was trying to hire Randall and Rebecca as co-equals.  Make no mistake about it:  With an Obama-Clinton Ticket, Barack Obama would be THE H.N.I.C., Commander-in-Chief, Leader of the Free World...Hillary would have to become a true *O* disciple...I think that she can do it...I know that *O* has the transformative power to bring them into the fold...</br><br></br><br>And if she were to become treacherous, back-biting as a VP, we should remember that the President can "Fire" the VP at will...If I were *O*, I would value the Clintons advise and counsel...even though I know that he can accomplish this mission without them.</br><br></br><br>The Clintons need a path to redemption...In spite of all their fear tactics, Bill Clinton has raised billions of $$$ to fight HIV in Africa...I am a Christian.  I\'ll forgive them...once Barack is the nominee.</br><br></br><br>...time 2 get ready 4 work.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955231">\
	 <div id="dsq-comment-header-1955231" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955231" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955231">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955231" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955231" class="dsq-comment-message"><a href="http://candidblogger.blogspot.com/2008/02/hillary-teaches-plagiarism-101.html%3Cbr%3E%3C/br%3E%3Cbr%3Ecomplete" rel="nofollow">http://candidblogger.blogspot.com/2008/02/hilla...</a> look at hilliary plagerism, including from last night (using bill and john edward\'s phrases)</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955232">\
	 <div id="dsq-comment-header-1955232" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955232" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955232">JamieG</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955232" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955232" class="dsq-comment-message">I support Obama but we to recognize the eloquence of Clinton\'s last statement.  You may dismiss it as plagiarism but it is sure to appeal to woman.  I don\'t know if it will cut into his momentum but it made  her look human and connected to the people.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955233">\
	 <div id="dsq-comment-header-1955233" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955233" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955233">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955233" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955233" class="dsq-comment-message">Oh, and about that story in Politico...folks need to make up their mind.....is Obama too liberal or not liberal enough? Make up your mind, cause you can\'t have it both ways.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955234">\
	 <div id="dsq-comment-header-1955234" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955234" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955234">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955234" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955234" class="dsq-comment-message">And about the Politico story, he\'s changed the title of the story. ...from \' terrorists\' to \' radicals\'...I wonder could it be because folks like me called him on his use of that language.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955235">\
	 <div id="dsq-comment-header-1955235" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955235" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955235">justice58</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955235" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955235" class="dsq-comment-message">Go Rikyrah!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955236">\
	 <div id="dsq-comment-header-1955236" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955236" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955236">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955236" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955236" class="dsq-comment-message">Interesting post about Obama, Polls, and the Black community.<br></br><br><a href="http://www.dailykos.com/story/2008/2/20/21353/9526/837/460883" rel="nofollow">Analysis of Obama\'s performance vs. polls [Part 1 of 3: Black voters</a></br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955237">\
	 <div id="dsq-comment-header-1955237" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955237" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955237">Thought Merchant</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955237" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955237" class="dsq-comment-message">THIS IS ANOTHER BLACK BLOGGER ALERT!!! THIS MUST BE SENT TO EVERYONE IN THE BLOGOSPHERE REGARDLESS OF COLOR!!!<br></br><br></br><br>SECURITY RELAXED AT OBAMA SPEECH IN DALLAS!!!</br><br></br><br>http://thoughtmerchant.wordpress.com/2008/02/22/security-relaxed-at-obama-speech-in-dallas/</br><br></br><br>Thought Merchant</br><br>www.thoughtmerchant.wordpress.com</br><br>Politics and Commentary for the thinking person of color-</br><br>Better to sell an idea than to buy a lie!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955238">\
	 <div id="dsq-comment-header-1955238" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955238" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955238">The Breaking Point</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955238" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955238" class="dsq-comment-message">I lurk from time to time but wanted to weigh in about last night\'s debate.<br></br><br>I thought Obama did what he needed to do, which was hold serve. Clinton was stronger than she has been in previous debates but I don\'t believe she did well enough to shift the momentum in her favour.</br><br></br><br>I appreciated the discussion Obama and Clinton had about their health care plans. It was thorough enough for people to make up their minds about which plan they can get behind. I think Obama scored points with regard to immigration, with Clinton handling the Cuba/Castro question nicely. </br><br></br><br>I couldn\'t help but notice how they both talked around the question about whether America should be a biligual country.</br><br></br><br>Much is being made of her last statement, which some are interpreting as a concession of defeat. I\'m not sure what she had in mind when she said, in so many words, it\'s whatever, but her spokesman\'s spin --that she sewed up the nomination-- is ridiculous. </br><br></br><br>I think Obama will win Texas by a narrow margin.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955239">\
	 <div id="dsq-comment-header-1955239" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955239" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955239">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955239" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955239" class="dsq-comment-message">TM,<br></br><br>Thanks for that post, and once again, I have to say generally, thank goodness for the Afrosphere. Not just for JJP, but for so many other places getting the story out.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955240">\
	 <div id="dsq-comment-header-1955240" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955240" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955240">Angela</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955240" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955240" class="dsq-comment-message">Personally, I don\'t believe Clinton\'s last statement was so sincere.   Her words were John Edwards words and she took a page from something Bill Clinton did in 1992. My husband thought it was another Clinton act.  Fact is she knows if done right this stuff plays to a certain audience.   Really if you have to keep setting yourself up to look "human" you have to wonder.   One of the pundits on CNN opined that she supposedly "found her voice" in NH but that maybe people just don\'t like it.<br></br><br>Remember Bill Clinton\'s words to Bob Dole about his campaign "you do whatever it takes."</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955241">\
	 <div id="dsq-comment-header-1955241" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955241" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955241">DWS</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955241" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955241" class="dsq-comment-message">I think Obama did well sticking to the issues and stating the facts.  And yes, he has greatly reduced his audible pauses.  Now if Hillary would just accept the obvious and chill out we could hear more substance instead of those desperate attempts to distract.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955242">\
	 <div id="dsq-comment-header-1955242" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955242" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955242">Nichelle</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955242" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955242" class="dsq-comment-message"><b>While I was at the gym this morning, I pondered The Apprentice--Randall vs. Rebecca--analogy that someone brought up in earlier comments...it simply doesn\'t apply in this case.</b><br></br><br>I did point out that, overall, it is unrelated (as far as the details that you pointed out among other things).</br><br></br><br>I thought of Randall/Rebecca and the Apprentice finale in the context of "Working While Black" if you will - the bar being raised higher, the rules being changed once a qualified (and often overqualified) black candidate fulfills or exceeds expectations.  </br><br></br><br>If the roles were reversed - or if John Edwards were in Barack Obama\'s current position, I think Hillary Clinton would have felt much more pressure to drop out sooner than later - and not drag it out to the end.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955243">\
	 <div id="dsq-comment-header-1955243" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955243" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955243">Webb</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955243" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955243" class="dsq-comment-message">Thanks Nichelle, I feel you...<br></br><br>As a matter of fact, I had to re-evaluate my early morning thoughts...After Trump declared that Randall was the winner, he offered him a "King-Queenmaker" role of Rebecca and Randall said (i\'m paraphrasing) "The name of the show is \'The Apprentice,\' NOT the Apprenti (plural)," to which Donald Trump shrugged his shoulders and the audience booed.</br><br></br><br>Essentially, Trump destroyed all of the goodwill--"Oh Randall is such a nice guy"--aura that Randall had accumulated over the months of that contest.  Trump made Randall look like an ungracious, unsportsmanlike buffoon in a matter of nanonseconds on live televsion.</br><br></br><br>That\'s exactly what Hillary wanted(wants) to happen before March 4th.  Obama made it impossible for her to do it...with the one exception where he said, "I must admit these have been some good speeches." ...as a supporter, I loved the line.  </br><br></br><br>So the Randall-Rebecca analogy now has more resonance in that sense.  Please pardon my reaction though.  When you started talking about Randall/Rebecca, I felt like it was a critique of an Obama-Clinton Ticket.  I just wanted to be "crystal" clear that I.M.H.O., such a ticket would not be a ticket of co-equals...but a ticket with ONE HNIC.</br><br></br><br>Thank You Kindly,</br><br>Webb</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955244">\
	 <div id="dsq-comment-header-1955244" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955244" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955244">NMP</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955244" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955244" class="dsq-comment-message">Less than 24 hours of appearing to put Party unity first, Clinton just completed an interview with Texas Monthly stating emphatically that she will fight to seat MI and FL delegates!  I can not believe how the media falls for her emotionally manipulative bull shit.  Oh yeah, and she\'s already starting the meme that TX doesn\'t count.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955245">\
	 <div id="dsq-comment-header-1955245" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955245" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955245">The Bag of Health and Politics</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955245" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955245" class="dsq-comment-message"><a herf="http://healthybagofpolitics.blogspot.com/2008/02/virtual-tip-of-cap-to-hillary-clinton.html" rel="nofollow">Hillary knows it\'s pretty much over.</a> Let her bow out with grace. The thing to do is not treat her and her supporters they way they treated Barack and his supporters in this election. Don\'t get me wrong, she has done serious wrong and is going to have to spend years undoing the damage she\'s done to her reputation. But the important thing is that Obama is going to win the nomination. I want to be able to go down to DC on inauguration day and see Barack Obama sworn in as President and be proud. <br></br><br>Hillary Clinton knows this won\'t happen without a united Democratic Party. Uniting at the end is much like shaking hands and going out for pizza after a softball game. Hillary graciously took the first steps last night. I commend her, and I am hopeful it\'ll continue. (At this precise moment, the best thing she could do for her image and for the Democratic Party is fire Mark Penn, who is peddling a lot of these negative stories about Obama).</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955246">\
	 <div id="dsq-comment-header-1955246" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955246" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955246">Ms.Martin</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955246" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955246" class="dsq-comment-message">b-Serious,<br></br><br>I agree with your analysis of CNN and other media organizations. I have been seriously irritated by the  their presentation of the race throughout the process and if you think it has been bad so far, just wait.</br><br></br><br>Now that Obama has been deemed the Democratic frontrunner, he will no doubt will be turned inside out by and on behalf of the Republicans and a slew of folks who don\'t want him to succeed.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955247">\
	 <div id="dsq-comment-header-1955247" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955247" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955247">justice58</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955247" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955247" class="dsq-comment-message">Well, the Pentagon tried to cast doubt on Barack\'s story on an account of military equipment shortages. But the Captain backed the story up.<br></br><br>Barack is on his game!</br><br></br><br>http://www.msnbc.msn.com/id/23301273</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1955248">\
	 <div id="dsq-comment-header-1955248" class="dsq-comment-header">\
	 <cite id="dsq-cite-1955248" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1955248">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1955248" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1955248" class="dsq-comment-message">Great article JJP. Now, Ohio and Texas must be a part of history and seal the nomination for the next President.....Barack Obama. We invite all to visit <a href="http://www.Blacks4Barack.org" rel="nofollow">http://www.Blacks4Barack.org</a> for Obama News, Views, Events, Photos, Volunteer Info and More. Keep going strong JJP. We check your site everyday because you always have great info for us all.<br></br><br>Greg Jones</br><br>National Director</br><br>http://www.Blacks4Barack.org</br><br></br><br>Say It Loud....BARACK & I\'M PROUD !!!</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=texas_debate_open_thread&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');
}

})();




