




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": {"ee3713197eff810921a84bf6402b9c1b": {"username": "g-e-m2001", "tumblr": "", "display_name": "g-e-m2001", "url": "http://disqus.com/guest/ee3713197eff810921a84bf6402b9c1b/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "369dd1fe5f49cbfe5e745f45b499d41e": {"username": "Nita", "tumblr": "", "display_name": "Nita", "url": "http://disqus.com/guest/369dd1fe5f49cbfe5e745f45b499d41e/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "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": ""}, "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": ""}, "f478e6e2b46b66dcf987dbad39e90f9f": {"username": "kimbers", "tumblr": "", "display_name": "kimbers", "url": "http://disqus.com/guest/f478e6e2b46b66dcf987dbad39e90f9f/", "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": ""}, "747cce5ea8934fdcce62b95ff778e4fc": {"username": "Caged Lion", "tumblr": "", "display_name": "Caged Lion", "url": "http://disqus.com/guest/747cce5ea8934fdcce62b95ff778e4fc/", "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": ""}, "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": ""}, "ae808a21e515de8acf8c49c6721915aa": {"username": "natthedem", "tumblr": "", "display_name": "natthedem", "url": "http://disqus.com/guest/ae808a21e515de8acf8c49c6721915aa/", "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": ""}, "06200f687627c4bfb1d84bdd8a487eed": {"username": "Lara", "tumblr": "", "display_name": "Lara", "url": "http://disqus.com/guest/06200f687627c4bfb1d84bdd8a487eed/", "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": ""}, "1c14932e2178590d97e214c067d388ac": {"username": "ndn5898", "tumblr": "", "display_name": "ndn5898", "url": "http://disqus.com/guest/1c14932e2178590d97e214c067d388ac/", "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": ""}, "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": ""}, "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": ""}, "8f927af6311731fe614ae261f936bf91": {"username": "Blkberi", "tumblr": "", "display_name": "Blkberi", "url": "http://disqus.com/guest/8f927af6311731fe614ae261f936bf91/", "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": ""}, "2dded65ef74cbdef3b736d3d563d6c8d": {"username": "Yolanda", "tumblr": "", "display_name": "Yolanda", "url": "http://disqus.com/guest/2dded65ef74cbdef3b736d3d563d6c8d/", "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": ""}, "46f6e6949da8f78c514bc9a92617444b": {"username": "JenJen", "tumblr": "", "display_name": "JenJen", "url": "http://disqus.com/guest/46f6e6949da8f78c514bc9a92617444b/", "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": ""}, "e91799671582f11f855bb3e5e99b9f1d": {"username": "TrueBlue", "tumblr": "", "display_name": "TrueBlue", "url": "http://disqus.com/guest/e91799671582f11f855bb3e5e99b9f1d/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "Jack and Jill Politics", "streaming_realtime": false, "url": "jackandjillpolitics", "allow_anon_post": false, "reactions_enabled": true, "reply_position": 1, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": false, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "jackandjillpolitics", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-09_16:04:56", "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": {"1953536": {"up_voted": false, "ip": "", "has_replies": false, "message": "Contrast the petty bullshit of Bill Clinton--who really has achieved NOTHING of SUBSTANCE in his entire LIFETIME and Barack Obama's speech at Ebenezer Baptist Church this morning. <br></br><br>Bill Clinton knows that he can't move people like that. He knows he was a pathetic, egotistical, and self-obsessed politician whose flaws allowed the rise of this most criminal of administrations. He knows that he's not even close to Barack's ability--except in his own demented fairy tales. </br><br></br><br>Let's do what this party should've done 10 years ago: kick these losers to the curb.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_19:41: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}, "1953537": {"up_voted": false, "ip": "", "has_replies": false, "message": "i am glad that obama is taking some knocks now, so that he will get practice before the republicans come for him. this is training; so far he has managed to get sharper and stronger, without getting dirty. atta'boy.<br></br><br>but at the same time, i would find it beyond delicious for the clintons to get caught red-handed using their repertoire of repulsive tactics. </br><br></br><br>i've been calling all my relatives and friends all over the country to remind them to register to vote, that the primary is around the corner. none of them like hillary, so convincing them to vote for obama is easy. y'all should too- if it's getting personal, then GET PERSONAL.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_19:49: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}, "1953538": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"if it's getting personal, then GET PERSONAL\".<br>-----------------------------------</br><br>Come on---lets do this!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_19:56: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}, "1953539": {"up_voted": false, "ip": "", "has_replies": false, "message": "Let me try again...my last message didn't go through. <br></br><br>We need to show up for Sen. Obama physically as well as monetarily.   If anyone of you, your friends, relatives can show up at as many places throughout the country as possible we have this one opportunity to make a huge difference.   Money is still needed but the ground support is needed also.  Please go to his website and physically volunteer.  </br><br></br><br>I just volunteered to travel to South Carolina for a few days and will go elsewhere afterwards depending on my funds.   I know I can make the sacrifice.   Obama is risking his life to do this, I believe we all need to get out of our comfort zones to show how committed we are.   If it gets down to convention floor fight, I will save my pennies to go to Denver and rally for him there too.</br><br></br><br>Please, go to Obama's website and sign up as a volunteer and get your friends and relatives to sign up.   We can complain all we want, but action is better.</br><br></br><br>Peace.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_20:24: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}, "1953540": {"up_voted": false, "ip": "", "has_replies": false, "message": "<i>How long are we going to pretend that their isn't Brown racism against Blacks?</i><br></br><br>You know I agree with you, which is why the entire Kumbaya Black/Brown alliance thing is just a farce to me. </br><br></br><br>They know the Clintons tried to disenfranchise them and STILL voted for her. If there's a Latin Equivalent of Uncle Ruckus, that describes that behavior. </br><br></br><br><i> As I said in a previous post, if Senator Clinton is the nominee, I have no intention of casting a vote for her to validate what is clearly an anti-Black vote from Latinos, Jews, and older whites. I will not continue to be a willing participant of the plantation politics of the Democratic Party.</i></br><br></br><br>ICAM. </br><br></br><br>If we vote for that woman after all of this, then we will become accomplices to setting into cement, a ceiling for Blacks aspiring to higher political office. I have no intention of being that woman's accomplice. This now has become beyond Barack. This is not only about him, but any other Black politician in the future. </br><br></br><br><i> I have been relatively supportive of citizenship for illegal immigrants,</i></br><br></br><br>I'm not. Period.</br><br></br><br><i> but I'm not going to pretend to not be mad as hell that our one opportunity to make it to the White House will be road blocked by Latinos who only a generation ago crossed the border from Mexico. Yes, I know they are the indingenous people of this continent, but we, Black folks, built this United States of America, and what do we have to show for it? A permanent exisistence of politial servitude to Whites and Latinos in the near future?</i></br><br></br><br>Preach it. Preach it.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_21:16: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}, "1953541": {"up_voted": false, "ip": "", "has_replies": false, "message": "Re: The camcorder idea to get humiliating videos of the Clintons:<br></br><br>This idea is awesome!</br><br></br><br>What better way to take the Clintons down than to get videos of them looking like idiots and post them up on Youtube?!!  Especially Bill arriving at someone's door?  A citizen's army to blast them hard!</br><br></br><br>For anyone in South Carolina, here it goes: </br><br>1. Pretend that you're \"on the fence\" about the Clintons but, when a Clinton campaign volunteer shows up at the door, have a list of embarrassing questions in hand to embarrass and fluster them.</br><br></br><br>2. The big prize would be Bill himself showing up.  You won't have Bill just appearing out of the blue, because of Secret Service protection (a waste of taxpayer dollars, being used by Bill to campaign for Hillary!) you'll get advance notification.  Feign being on the fence for Bill as well.</br><br></br><br>3. Set up a video camera in a concealed location, even have someone else somewhere in the house do the filming.  Practice this, rehearse it!</br><br></br><br>4. Set up a \"neighborhood warning squad\" so that when some people in the neighborhood are visited, they notify others in the neighborhood to get their camcorders ready.</br><br></br><br>5. Bring up a list of embarrassing questions to make the Clintons and their staffers look bad.  Bring up the insinuations of Obama as a drug dealer, Muslim traitor candidate. Mention shuck and jive.  Be specific and relevant-- hit Bill especially on his comments about Obama as a \"fairy tale\" and as a \"kid.\"  Talk about the way Hillary belittled MLK.  </br><br></br><br>6. The core of the plan is to fluster the Clinton volunteers, rattle them, get them upset, most of all force them to make the first move and lash out.  Slowly build up the argument with suspicions and misunderstandings (very much legitimate) and work your way up with them.  Again, pretend to be friendly but slowly introduce these things to frustrate the Clinton people.  Get in their heads and upset them.</br><br></br><br>7. Do this repeatedly and post the videos up on Youtube ASAP, get your friends to rate them up and embarrass the Clintons.  Show the Clintons for the racists they really are!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_21:56:00", "killed": false, "user_key": "2dded65ef74cbdef3b736d3d563d6c8d", "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}, "1953542": {"up_voted": false, "ip": "", "has_replies": false, "message": "Also for anyone doing the <b>Youtube videocamera sting</b> to nail the Clintons-- <br>bring up not only the race-baiting of the Clintons but, even more effective for us, after you pretend friendship with the Clinton staffers,</br><br></br><br><b>bring up the issues of the Clintons' attempts at voter suppression, fraud and disenfranchisement</b> in the states thus far.  They're desperately hoping to do something similar in South Carolina with its electronic voting machines and you can trick them into getting rattled about the tactics they're being called out on.  Trying to stop college students in Iowa, the New Hampshire obstructions, that dumb lawsuit in Nevada, false directions to Nevada Obama caucusers, closing the caucus sites down in Nevada--</br><br></br><br>everybody hates these tactics because they attack the very heart of our democracy, and by focusing especially on the election fraud, voter suppression and disenfranchisement tactics, we hit the Clintons where it hurts them most.  Remember, the heart of this is to paint a picture of the Clintons that hurts them most and sticks in people's minds, and an even more damaging picture than \"race-baiter\" is \"vote-suppressors and fraudsters\".  </br><br></br><br>If the Clintons are depicted consistently as trying to suppress the vote, this will damage them in a nasty way.  So again, feign friendship and indecisiveness, get your videocameras ready and trap the Clinton staffers, bring up the race-baiting but most of all, make reference specifically to the voter suppression tactics.</br><br></br><br>As for how to hide the videocameras, there are many methods but one of the best would be to have a friend by the door have a \"cell phone conversation\" but in fact, activate the Camcorder on the cell phone.  Again, work as a neighborhood team, have \"calls\" to set this up, set the phone on vibrate mode, that kind of thing.</br><br></br><br>Like others are saying, this is plantation politics by the Clintons and they have to pay dearly for it, or no Black politician would be able to run in the future.  I'd vote for Cynthia McKinney or even McCain in the general election if Hillary is nominated.</br><br></br><br>The videotaping plan is probably the best means at our disposal to thoroughly embarrass the Clintons and hurt their campaign in South Carolina and nationally.  Use it aggressively wherever you are.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_22:08:00", "killed": false, "user_key": "2dded65ef74cbdef3b736d3d563d6c8d", "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}, "1953543": {"up_voted": false, "ip": "", "has_replies": false, "message": "BTW you get a bonus if Bill Clinton is going to a place that already has lots of videocameras and media coverage, such as any African-American organization or gathering place in South Carolina.<br></br><br>If you're in the audience, <b>do not be shy, since this is your opportunity to humiliate the Clintons in an especially damaging way on national television</b>!  Be rude and interrupt Clinton, frustrate him, get under his skin, ask him about the race-baiting and mention specific examples, raise the disenfranchisement issue with specific cases and generally be hostile to Clinton and force him into losing his cool, the way he did with a reporter out in Nevada.  </br><br></br><br>Do this wherever Bill goes.  Make sure that his reception is as hostile, unpleasant and humiliating as you can make it!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_22:14:00", "killed": false, "user_key": "2dded65ef74cbdef3b736d3d563d6c8d", "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}, "1953544": {"up_voted": false, "ip": "", "has_replies": false, "message": "Clinton did not \"win\" the \"Latino\" vote. More than 50% of so-called Latinos or Hispanics are white. White women supported Clinton, as well as senior citizens.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_23:34: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}, "1953545": {"up_voted": false, "ip": "", "has_replies": false, "message": "Apparently, this is what Obama is going to have to overcome with Latinos even beyond the \"Brown versus Black\" divide (which is real and always has been):<br></br><br>\"I saw Hillary three times:  I was dissapointed that the first point a well intentioned supporter made to sway me from Obama was her belief that he was: a) A Muslim; b) likely an Al-Qaida plant; and c) refuses to say the pledge of allegiance.  Now, that kind of thing has been debunked and I had no problem educating her on the truth.  What was most disconcerting, however, was the sad fact that this view was shared by so many of her colleagues and that the Clinton camp was doing very little to disabuse them of these notions.  The belief, rooted in fear, is deep seated and still widespread.  The danger in cultivating this belief among Hillary supporters is that if Obama were to get the nomination, this kind of ridiculous belief in Obama as an enemy would likely lead the voter to vote Republican.</br><br></br><br>The only other distinction with any merit and one which was also repeated over and over at each of the three Hillary rallies I attended, was her \"experience\" and the fact that on day one, she will know what to do and be able to do it, implying that Obama will have a longer learning curve.  This \"experience\" mantra was the only other point any of the Hillary supporters on the ground would make when they weren't criticizing Obama for being a muslim terrorist plant.\"</br><br></br><br>Then blogger ThereIsNoSpoon co-signs, which is the only reason why I bring this up here: \"it was absolutely typical   they distributed flyers to this effect all over Nevada.  They didn't just allow these things to be said: they actively pushed them.\"</br><br></br><br>So, add this on top of the Clintons swarming legitimate union workers with a whole smarm of people whom no one knows where they were from or who they were with because no one even knows if they were really union workers -- PLANNED.  How's that no voter ID working out?  I never liked that, and I've always thought it was b.s. to claim it was for the sake of the poor.</br><br></br><br>I think the worst part of this is not that it's unthinkable that Democrats would pull this on another Democrat; but that Democrats have probably pulled this against other Democrats for a very long time.  What's described here reminds me uncomfortably of what happened in Maryland -- when asked, a lot of blacks could present no real reason to vote against Michael Steele except that he was a Republican, which made him untrustworthy and a liar and an oreo.  It reminded me too much of the peer-pressure 'you're acting too white' in school.  It made me consider that perhaps some people WANT the rank and file to remain ignorant.   Just like some people want and need generic women (since white women are supposed to represent all women including the issues of women of color) to be one-issue on Abortion... and female candidates.</br><br></br><br>Why would Latinos (nevermind whites, blacks, asians) buy the b.s. about Obama being a scary muslim, a scary black man?  And if Obama really were all the things the Party says he is -- why would the Party allow him to remain within the Party in the first place instead of repudiating him?  It makes no sense, and yet there it is.</br><br></br><br>I think blacks need to take a good, hard look at the Democratic Party.  This is going beyond just the Clintons, at this point.</br><br></br><br>The Democratic Party itself needs to address this.  If it does not, if it follows the Clinton script (as the Republicans foretold) of Lie-Destroy-MakeUp like some abusive spouse...whose fault is it if we continue to play the role of the abused who yet stays with her or him who abuses in hopes that the abuser will change out of true love and 'they need me'?</br><br></br><br>They don't need us.  We need to get that through our skulls:  They.  Don't.  Need.  Us.</br><br></br><br>And when we show we don't need them, that's the only time change -- good change -- will come down the pike and stop this horror.  Stop the expectations of ignorance the party seems to hold for all of us, black, brown, white and other.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-21_14:26:00", "killed": false, "user_key": "369dd1fe5f49cbfe5e745f45b499d41e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1953546": {"up_voted": false, "ip": "", "has_replies": false, "message": "@ Yolanda, girl I wish.  But you know anyone who gets anywhere near Bill Clinton is going to have been vetted a long time in advance LOL If you haven't been contacted by now, you probably ain't gonna see Bill.  We'll see what the official reports look like out of South Carolina, and how many 'regular citizens' turn out to be operatives/Clinton campaign workers and relatives.  But it's a nice wish.<br></br><br></br><br>@ rikyrah, thank you for speaking truths some folks may not want to hear; or have been snowed into believing otherwise.</br><br></br><br>@ RonnieB, I've noticed the number of so-called Democrats (wonder how many are Clinton operatives and not just Clinton supporters? or Edwards, to be perfectly honest) who insist that Obama is the one who brought race into the picture. They insist *Obama* is running on race.  The Clintons are innocent in their world.  *Obama* drew first blood.  If that type of b.s. is flying on blogs and message boards where people are supposed to have more information -- what's going on in places where people only get their news from word of mouth?</br><br></br><br>People, please take a good hard look at the Democratic Party.  Again, this is deeper than just the 2008 election race.  Much deeper. It's too bad the Republicans' own rank and file don't offer much better. But dang.</br><br></br><br>The Democratic Party doesn't seem to want to clean up certain messes, even with Kennedy placing a call to Bill to pipe down and chill.  The damage has been done.  What is the Democratic Party going to do to rectify that damage, especially since it's damage done to one of it's leading, brightest stars -- a man who seems to earn the respect of everyone (no matter what side of the aisle) who actually listens to him?</br><br></br><br>If that answer is nothing -- what do reasonable people do?</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-21_14:43:00", "killed": false, "user_key": "369dd1fe5f49cbfe5e745f45b499d41e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1953516": {"up_voted": false, "ip": "", "has_replies": false, "message": "I wanted to add this robocall to the wiki incident tracker but I did not because it combines a multitude of sins not just racism. It incites xenophobia but to racists it is all one in the same so I do believe it fits.  Although the calls are supposedly \"anonymous\"...we know.  Deep down we all know which campaign did this but they get to hide behind anonymity; personally I think I like them better when they said straight out that a black man like MLK can't get a thing done without a white man because the anonymous thing leaves us with no real avenue to fight back.  If we call them on it then we are playing the race card and whining like typical negores in their superior minds.  If we don't it continues and it will continue.  This is the biggest threat---Mr. Anonymous Clinton.  Maybe I should have added it to wiki with that name...Anonymous Clinton LOL", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_05:38: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}, "1953517": {"up_voted": false, "ip": "", "has_replies": false, "message": "There's also an article about how Bill Clinton was virtually bully-campaigning in the caucauses at the casinos...I understand that there were Obama supporters who stood up and started chanting, \"O-BA-MA!\" in spite of Bill being there.<br></br><br>As for SC, I hope that none of the brothers and sisters become so starstruck with Bill that they overlook the best candidate in this race regardless of race, gender or party affiliation.</br><br></br><br>The race is not over...but if this race is reduced to John McCain vs. Hillary Clinton, then that's going to be a very sad day for this country.  Neither of them are visionaries, both of them only promise to be \"better\" custodians of the status quo.</br><br></br><br>It's kind of funny...After seven years of G.W.Bush, I've gotten a physical repulsion for when Bush pops up on TV--I have to look away--like looking away from Sodom & Gommorrah--because I know the only thing that I will hear or see are LIES.</br><br></br><br>I now feel that same repulsion toward Hillary (and her surrogates).  Just listening to her or seeing her cheesy composure makes me turn away from the screen.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_06:40: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}, "1953518": {"up_voted": false, "ip": "", "has_replies": false, "message": "You just described -- perfectly -- my feelings about Clinton. <br></br><br>That said, I hope the media plays up the Hillary--Latino connection over and over and over again, until it has the same affect as the Obama--Blackfolk connection.  </br><br></br><br>Isn't it a shame that in 2008, that the mere thought of a Black man having the audacity to assume a role not previously prescribed for him -- <b>yet through no fault of his own</b> -- could create such division?</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_07:06: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}, "1953519": {"up_voted": false, "ip": "", "has_replies": false, "message": "The sleazy tactics are ultimately good for Obama. He needs to innoculate himself against them now. The republican assault will be many times more offensive and xenophobic.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_08:27:00", "killed": false, "user_key": "747cce5ea8934fdcce62b95ff778e4fc", "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}, "1953520": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hilarious and egg on the faces of the KKKlintons that despite all their most disgusting campaign tactics-- the racist Robocalls on top of weeks of racist race-baiting, attempts to pit Blacks and Latinos against each other, closing down the caucus sites early, refusing to allow Obama supporters to register and even turning away people from the unions who had endorsed Obama-- the Clintons still lost in Nevada. <br></br><br>It's the delegate count that decides these caucuses and primaries, and Obama played it smart this time-- fanning out and encouraging turnout statewide, with Obama winning close to 2/3 of the counties in Nevada and winning the delegates.  </br><br></br><br>The KKKlintons attempt to disenfranchise Nevada voters backfired, and now, we need to make them hurt in South Carolina.</br><br></br><br>Folks, this is WAR that the KKKlintons have declared on the African-American people, and we have to fight back just as hard.</br><br></br><br>Hillary KKKlinton had a 25% lead over Obama in Nevada just a month ago and it evaporated-- Hillary's blood is in the water, and it's time to cover and devour her and that racist jerk, Bill KKKlinton. </br><br></br><br>If Hillary were nominated by the Democrats, then nobody in my neighborhood would vote for the Democratic ticket in November-- if that means that John McCain wins, then so be it.  A tiny, minor price to pay for teaching the Democrats a crucial lesson, that they cannot insult our people and reach power at our expense, and that if they try, that they will suffer a hellish reckoning.</br><br></br><br>Leading up to the primary in South Carolina, the KKKlintons will be trying all these tactics, you can count on it, and we have to be ruthless back.  Bring your camcorders everywhere and record everything the KKKlintons attempt.  Get in their faces and INTIMIDATE the Clinton campaign people.  </br><br></br><br>Don't be brutish or obviously mean, be subtle yet also tough.  Harass and frustrate the Clintonites, tantalize and thwart them, get into the KKKlinton campaign staffers' heads and demoralize them.  They wanted the war like this, and they're gonna a reckoning more horrific than anything they could have imagined before.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_08:51:00", "killed": false, "user_key": "06200f687627c4bfb1d84bdd8a487eed", "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}, "1953521": {"up_voted": false, "ip": "", "has_replies": false, "message": "I officially hate BOTH the Clinton's now and I don't care what's on the end of their names. I will never cast my vote for racist be they Democrats or Republicans. EVER!<br></br><br>I'm DONE!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_09:16: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}, "1953522": {"up_voted": false, "ip": "", "has_replies": false, "message": "I love the idea about urging South Carolinians to get out there with camcorders. Word is that Bill Clinton is heading down there tomorrow to go door to door. I hope he gets the cold reception he deserves. I'd love to get the sleazebag on youtube.<br></br><br>The saddest thing of all the sad things about what the Clintons are doing and have already done is that they have now started to pick at the scab of black/latino relations. I'm praying that Obama can come up with a way to turn this around--imagine a coalition of blacks, latinos, progressive whites, fed-up independents, and working folks of all types. This is the Clinton's worst nightmare, and the Democratic party's best hope for the fall.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_11:03:00", "killed": false, "user_key": "e91799671582f11f855bb3e5e99b9f1d", "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}, "1953523": {"up_voted": false, "ip": "", "has_replies": false, "message": "Just a reminder...there is no Florida. The state, like Michigan, scheduled their primary in violation of DNC rules, so they've been stripped of their delegates. <br></br><br>There's also the incident--though not a direct attack on Obama--of Bill Clinton accusing representatives of the Culinary Workers Union of voter intimidation in Nevada. The former president said he saw it. Now, how it is that the former president, who can't sneeze without it being on television and who travels with a cadre of federal agents, saw this and no one else did is beyond me. But NBC asked the Clintons if they were going to file a complaint and...well...now there's no comment. </br><br></br><br>I came into my own political beliefs under the Clinton administration, so I had a soft-spot for them for a long time. Combine that with the fact that I supported John Edwards in 2004 and the race and gender dynamic inherent from their candidacies of Obama and Clinton...it was impossible for this race not to be intensely personal for me. </br><br></br><br>What I didn't imagine, of course, was that this campaign would go so negatively and that it'd threaten my allegiance to the Democratic Party. </br><br></br><br>Sigh.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_11:29:00", "killed": false, "user_key": "ae808a21e515de8acf8c49c6721915aa", "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}, "1953524": {"up_voted": false, "ip": "", "has_replies": false, "message": "How long are we going to pretend that their isn't Brown racism against Blacks?  As I said in a previous post, if Senator Clinton is the nominee, I have no intention of casting a vote for her to validate what is clearly an anti-Black vote from Latinos, Jews, and older whites. I will not continue to be a willing participant of the plantation politics of the Democratic Party.  I have been relatively supportive of citizenship for illegal immigrants, but I'm not going to pretend to not be mad as hell that our one opportunity to make it to the White House will be road blocked by Latinos who only a generation ago crossed the border from Mexico.  Yes, I know they are the indingenous people of this continent, but we, Black folks, built this United States of America, and what do we have to show for it?  A permanent exisistence of politial servitude to Whites and Latinos in the near future?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_11:42: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}, "1953525": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Word is that Bill Clinton is heading down there tomorrow to go door to door\".<br>-----------------------------------</br><br>Trueblue----heard it too!</br><br></br><br>Not only that---It's been reported the Clintons are planning to visit every black church in South Carolina.</br><br></br><br>Black people---come together now!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_12:20: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}, "1953526": {"up_voted": false, "ip": "", "has_replies": false, "message": "Yesterday during their wrap-up coverage, Tim Russert said that Bill Clinton called the studio head of MGM to get permission to go to MGM Grand Hotel and Casino Saturday morning to lobby their employees.  <br></br><br>All I could think of was \"Damn it feels good to be a gangsta.\"  :-(</br><br></br><br>I'm taking it personally, too.  But I have a feeling that Clinton getting all red-faced and finger-waggin' isn't going to be convincing for much longer.  At least I hope so.</br><br></br><br>But yes, it's a very disspiriting morning.  Gotta work harder, gotta really start fighting for this.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_12:26:00", "killed": false, "user_key": "46f6e6949da8f78c514bc9a92617444b", "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}, "1953527": {"up_voted": false, "ip": "", "has_replies": false, "message": "When illegal immigration first became a hot issue my first reaction was: \"Blacks are immediately punished for any illegal activity, so why not the same for Hispanics?\" then I softened, but now I'm back to my original position. There is indeed Brown racism against Blacks, we need to wake up. Don't worry guys, they will need us someday and I hope the good Black people of Los Angeles are paying attention.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_13:21:00", "killed": false, "user_key": "1c14932e2178590d97e214c067d388ac", "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}, "1953528": {"up_voted": false, "ip": "", "has_replies": false, "message": "Say It Loud(Im Black and Im Proud!)<br></br><br>It's about time we did say it....outloud!</br><br></br><br>After all,isnt J.B. South Carolina's favorite son.</br><br></br><br>http://mistyblue.imeem.com/music/TbksSp89/james_brown_say_it_loud_im_black_and_im_proud/</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_14:02: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}, "1953529": {"up_voted": false, "ip": "", "has_replies": false, "message": "This is transcript from Tim Russert on Meet the Press (1/20/08)<br></br><br>Mr. Russert:\"Michele, as someone who spoke to Bill Clinton said, quoted him as saying, \"I don't care about this stuff, about my image as the former president, I'm going to win this campaign.   I'm going to go door-to-door in the black neighborhoods of South Carolina, church-to-church.\"  Just like he went into the casinos and split the union vote with Barack Obama that was supposed to go to Obama, he's convinced he can win enough blacks to divide them and give Hillary Clinton South Carolina.\"</br><br></br><br>The Clinton's only care about getting back the White House.   If they really cared about the black community they wouldn't be out there trying to divide them to satisy their undending greed for more power.   </br><br></br><br>By the way, I'm Native American and new here.  Love the site.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_14:46: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}, "1953530": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm taking this election personally too. I'm sick of the Clinton's thinking that we think so little of ourselves that we will just go along with them. <br></br><br>I feel for the Latino's in this. Should Hillary win, they will find that their votes were nothing more than a commodity to them, like so many of us are finding out now. I wish there was some way to spare them the way I'm feeling today but I'm afraid that like the rest of us, they will have to figure it out for themselves. </br><br></br><br>Obama gave a great speech today- one that should be posted on every blog,for everyone to see before Clinton plagerizes it and claims the phrases as her own...</br><br></br><br> Remarks of Senator Barack Obama</br><br>The Great Need of the Hour</br><br>Ebenezer Baptist Church</br><br>Sunday, January 20th, 2008</br><br>Atlanta, Georgia</br><br></br><br>EMBARGOED for Delivery</br><br></br><br>The Scripture tells us that when Joshua and the Israelites arrived at the gates of Jericho, they could not enter. The walls of the city were too steep for any one person to climb; too strong to be taken down with brute force. And so they sat for days, unable to pass on through. </br><br></br><br>But God had a plan for his people. He told them to stand together and march together around the city, and on the seventh day he told them that when they heard the sound of the ram\u2019s horn, they should speak with one voice. And at the chosen hour, when the horn sounded and a chorus of voices cried out together, the mighty walls of Jericho came tumbling down.</br><br></br><br>There are many lessons to take from this passage, just as there are many lessons to take from this day, just as there are many memories that fill the space of this church. As I was thinking about which ones we need to remember at this hour, my mind went back to the very beginning of the modern Civil Rights Era. </br><br></br><br>Because before Memphis and the mountaintop; before the bridge in Selma and the march on Washington; before Birmingham and the beatings; the fire hoses and the loss of those four little girls; before there was King the icon and his magnificent dream, there was King the young preacher and a people who found themselves suffering under the yolk of oppression. </br><br></br><br>And on the eve of the bus boycotts in Montgomery, at a time when many were still doubtful about the possibilities of change, a time when those in the black community mistrusted themselves, and at times mistrusted each other, King inspired with words not of anger, but of an urgency that still speaks to us today:</br><br></br><br>\u201cUnity is the great need of the hour\u201d is what King said. Unity is how we shall overcome. </br><br></br><br>What Dr. King understood is that if just one person chose to walk instead of ride the bus, those walls of oppression would not be moved. But maybe if a few more walked, the foundation might start to shake. If a few more women were willing to do what Rosa Parks had done, maybe the cracks would start to show. If teenagers took freedom rides from North to South, maybe a few bricks would come loose. Maybe if white folks marched because they had come to understand that their freedom too was at stake in the impending battle, the wall would begin to sway. And if enough Americans were awakened to the injustice; if they joined together, North and South, rich and poor, Christian and Jew, then perhaps that wall would come tumbling down, and justice would flow like water, and righteousness like a mighty stream.</br><br></br><br>Unity is the great need of the hour \u2013 the great need of this hour. Not because it sounds pleasant or because it makes us feel good, but because it\u2019s the only way we can overcome the essential deficit that exists in this country. </br><br></br><br>I\u2019m not talking about a budget deficit. I\u2019m not talking about a trade deficit. I\u2019m not talking about a deficit of good ideas or new plans. </br><br></br><br>I\u2019m talking about a moral deficit. I\u2019m talking about an empathy deficit. I\u2019m taking about an inability to recognize ourselves in one another; to understand that we are our brother\u2019s keeper; we are our sister\u2019s keeper; that, in the words of Dr. King, we are all tied together in a single garment of destiny. </br><br></br><br>We have an empathy deficit when we\u2019re still sending our children down corridors of shame \u2013 schools in the forgotten corners of America where the color of your skin still affects the content of your education.</br><br></br><br>We have a deficit when CEOs are making more in ten minutes than some workers make in ten months; when families lose their homes so that lenders make a profit; when mothers can\u2019t afford a doctor when their children get sick.</br><br></br><br>We have a deficit in this country when there is Scooter Libby justice for some and Jena justice for others; when our children see nooses hanging from a schoolyard tree today, in the present, in the twenty-first century. </br><br></br><br>We have a deficit when homeless veterans sleep on the streets of our cities; when innocents are slaughtered in the deserts of Darfur; when young Americans serve tour after tour of duty in a war that should\u2019ve never been authorized and never been waged.</br><br></br><br>And we have a deficit when it takes a breach in our levees to reveal a breach in our compassion; when it takes a terrible storm to reveal the hungry that God calls on us to feed; the sick He calls on us to care for; the least of these He commands that we treat as our own. </br><br></br><br>So we have a deficit to close. We have walls \u2013 barriers to justice and equality \u2013 that must come down. And to do this, we know that unity is the great need of this hour. </br><br></br><br>Unfortunately, all too often when we talk about unity in this country, we\u2019ve come to believe that it can be purchased on the cheap. We\u2019ve come to believe that racial reconciliation can come easily \u2013 that it\u2019s just a matter of a few ignorant people trapped in the prejudices of the past, and that if the demagogues and those who exploit our racial divisions will simply go away, then all our problems would be solved. </br><br></br><br>All too often, we seek to ignore the profound institutional barriers that stand in the way of ensuring opportunity for all children, or decent jobs for all people, or health care for those who are sick. We long for unity, but are unwilling to pay the price. </br><br></br><br>But of course, true unity cannot be so easily won. It starts with a change in attitudes \u2013 a broadening of our minds, and a broadening of our hearts. </br><br></br><br>It\u2019s not easy to stand in somebody else\u2019s shoes. It\u2019s not easy to see past our differences. We\u2019ve all encountered this in our own lives. But what makes it even more difficult is that we have a politics in this country that seeks to drive us apart \u2013 that puts up walls between us. </br><br></br><br>We are told that those who differ from us on a few things are different from us on all things; that our problems are the fault of those who don\u2019t think like us or look like us or come from where we do. The welfare queen is taking our tax money. The immigrant is taking our jobs. The believer condemns the non-believer as immoral, and the non-believer chides the believer as intolerant. </br><br></br><br>For most of this country\u2019s history, we in the African American community have been at the receiving end of man\u2019s inhumanity to man. And all of us understand intimately the insidious role that race still sometimes plays \u2013 on the job, in the schools, in our health care system and in our criminal justice system. </br><br></br><br>And yet, if we are honest with ourselves, we must admit that none of our hands are entirely clean. If we\u2019re honest with ourselves, we\u2019ll acknowledge that our own community has not always been true to King\u2019s vision of a beloved community. </br><br></br><br>We have scorned our gay brothers and sisters instead of embracing them. The scourge of anti-Semitism has, at times, revealed itself in our community. For too long, some of us have seen immigrants as competitors for jobs instead of companions in the fight for opportunity. </br><br></br><br>Every day, our politics fuels and exploits this kind of division across all races and regions; across gender and party. It is played out on television. It is sensationalized by the media. And last week, it even crept into the campaign for President, with charges and counter-charges that served to obscure the issues instead of illuminating the critical choices we face as a nation. </br><br></br><br>So let us say that on this day of all days, each of us carries with us the task of changing our hearts and minds. The division, the stereotypes, the scapegoating, the ease with which we blame our plight on others \u2013 all of this distracts us from the common challenges we face \u2013 war and poverty; injustice and inequality. We can no longer afford to build ourselves up by tearing someone else down. We can no longer afford to traffic in lies or fear or hate. It is the poison that we must purge from our politics; the wall that we must tear down before the hour grows too late. </br><br></br><br>Because if Dr. King could love his jailor; if he could call on the faithful who once sat where you do to forgive those who set dogs and fire hoses upon them, then surely we can look past what divides us in our time, and bind up our wounds, and erase the empathy deficit that exists in our hearts. </br><br></br><br>But if changing our hearts and minds is the first critical step, we cannot stop there. It is not enough to bemoan the plight of poor children in this country and remain unwilling to push our elected officials to provide the resources to fix our schools. It is not enough to decry the disparities of health care and yet allow the insurance companies and the drug companies to block much-needed reforms. It is not enough for us to abhor the costs of a misguided war, and yet allow ourselves to be driven by a politics of fear that sees the threat of attack as way to scare up votes instead of a call to come together around a common effort.</br><br></br><br>The Scripture tells us that we are judged not just by word, but by deed. And if we are to truly bring about the unity that is so crucial in this time, we must find it within ourselves to act on what we know; to understand that living up to this country\u2019s ideals and its possibilities will require great effort and resources; sacrifice and stamina.</br><br></br><br>And that is what is at stake in the great political debate we are having today. The changes that are needed are not just a matter of tinkering at the edges, and they will not come if politicians simply tell us what we want to hear. All of us will be called upon to make some sacrifice. None of us will be exempt from responsibility. We will have to fight to fix our schools, but we will also have to challenge ourselves to be better parents. We will have to confront the biases in our criminal justice system, but we will also have to acknowledge the deep-seated violence that still resides in our own communities and marshal the will to break its grip. </br><br></br><br>That is how we will bring about the change we seek. That is how Dr. King led this country through the wilderness. He did it with words \u2013 words that he spoke not just to the children of slaves, but the children of slave owners. Words that inspired not just black but also white; not just the Christian but the Jew; not just the Southerner but also the Northerner. </br><br></br><br>He led with words, but he also led with deeds. He also led by example. He led by marching and going to jail and suffering threats and being away from his family. He led by taking a stand against a war, knowing full well that it would diminish his popularity. He led by challenging our economic structures, understanding that it would cause discomfort. Dr. King understood that unity cannot be won on the cheap; that we would have to earn it through great effort and determination.</br><br></br><br>That is the unity \u2013 the hard-earned unity \u2013 that we need right now. It is that effort, and that determination, that can transform blind optimism into hope \u2013 the hope to imagine, and work for, and fight for what seemed impossible before.</br><br></br><br>The stories that give me such hope don\u2019t happen in the spotlight. They don\u2019t happen on the presidential stage. They happen in the quiet corners of our lives. They happen in the moments we least expect. Let me give you an example of one of those stories.</br><br></br><br>There is a young, 23-year-old white woman named Ashley Baia who organizes for our campaign in Florence, South Carolina. She\u2019s been working to organize a mostly African American community since the beginning of this campaign, and the other day she was at a roundtable discussion where everyone went around telling their story and why they were there. </br><br></br><br>And Ashley said that when she was nine years old, her mother got cancer. And because she had to miss days of work, she was let go and lost her health care. They had to file for bankruptcy, and that\u2019s when Ashley decided that she had to do something to help her mom.</br><br></br><br>She knew that food was one of their most expensive costs, and so Ashley convinced her mother that what she really liked and really wanted to eat more than anything else was mustard and relish sandwiches. Because that was the cheapest way to eat.</br><br></br><br>She did this for a year until her mom got better, and she told everyone at the roundtable that the reason she joined our campaign was so that she could help the millions of other children in the country who want and need to help their parents too.</br><br></br><br>So Ashley finishes her story and then goes around the room and asks everyone else why they\u2019re supporting the campaign. They all have different stories and reasons. Many bring up a specific issue. And finally they come to this elderly black man who\u2019s been sitting there quietly the entire time. And Ashley asks him why he\u2019s there. And he does not bring up a specific issue. He does not say health care or the economy. He does not say education or the war. He does not say that he was there because of Barack Obama. He simply says to everyone in the room, \u201cI am here because of Ashley.\u201d </br><br></br><br>By itself, that single moment of recognition between that young white girl and that old black man is not enough. It is not enough to give health care to the sick, or jobs to the jobless, or education to our children.</br><br></br><br>But it is where we begin. It is why the walls in that room began to crack and shake. </br><br></br><br>And if they can shake in that room, they can shake in Atlanta. </br><br></br><br>And if they can shake in Atlanta, they can shake in Georgia. </br><br></br><br>And if they can shake in Georgia, they can shake all across America. And if enough of our voices join together; we can bring those walls tumbling down. The walls of Jericho can finally come tumbling down. That is our hope \u2013 but only if we pray together, and work together, and march together. </br><br></br><br>Brothers and sisters, we cannot walk alone. </br><br></br><br>In the struggle for peace and justice, we cannot walk alone. </br><br></br><br>In the struggle for opportunity and equality, we cannot walk alone </br><br></br><br>In the struggle to heal this nation and repair this world, we cannot walk alone. </br><br></br><br>So I ask you to walk with me, and march with me, and join your voice with mine, and together we will sing the song that tears down the walls that divide us, and lift up an America that is truly indivisible, with liberty, and justice, for all. May God bless the memory of the great pastor of this church, and may God bless the United States of America.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_15:09:00", "killed": false, "user_key": "f478e6e2b46b66dcf987dbad39e90f9f", "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}, "1953531": {"up_voted": false, "ip": "", "has_replies": false, "message": "Jack hang in there!<br></br><br>I have been battered and bruised by arguing about the campaign, but you love politics and this is part of it all.  It is a contact sport and did anybody think the Clintons were going to all of a sudden change their spots?</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_15:35:00", "killed": false, "user_key": "ee3713197eff810921a84bf6402b9c1b", "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}, "1953532": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hillary went to Harlem to pray for victory and walked out with this:  <br></br><br>New York \u2013 Abyssinian Baptist Church Pastor Reverend Dr. Calvin O. Butts, III, today endorsed Hillary Clinton for President, issuing the following statement: </br><br></br><br> \u201cOver the course of the past year, I have given careful consideration to the varied perspectives and agendas of the 2008 Presidential Candidates.  I have observed, evaluated, and compared each of their strengths in the context of the current state of our nation and what will be required in the next 4 years to help us repair, restore and rebuild.  </br><br></br><br>I, too, join countless Americans in a collective desire for change, and I do so with a vital recognition that change and experience are not mutually exclusive.  The rhetoric of change in which we are presently engaged must also be accompanied by the experience and ability necessary to successfully and resourcefully accomplish it.  Experience is not synonymous with status quo nor should it be vilified for the sake of campaign soundbites.  With experience, comes the value of lessons learned.  With experience, comes proficiency and understanding.  With the right experience, comes change.  Thus, I have not based my decision on the idea that I must embrace one over the other.  I have instead based my decision on the candidate whom I believe will effectively use both \u2013 change and experience \u2013 to lead our nation to a place of domestic and international prosperity. </br><br></br><br>After thoughtful deliberation, I am decidedly confident that Senator Hillary Clinton is the candidate best suited to be the Democratic Presidential Nominee and the next President of the United States.  I have personally had a positive working relationship with Senator Clinton for a number of years.  In her current position as United States Senator from New York, she has also been very supportive of Abyssinian Baptist Church\u2019s development work in Harlem.  Thus, I have seen first-hand the wisdom, insight and concern she brings in her approach to community development, educational and developmental opportunities for youth, and economic revitalization, as well as tirelessly advocating for families, promoting health care reform, and fighting the global HIV/AIDS crisis. </br><br></br><br> </br><br></br><br>I believe that we can benefit greatly from the value of Senator Clinton\u2019s 30-plus years of service to our country that have uniquely positioned her to be a formidable leader on issues including homeland and national security, human rights, and restoration of our national image before an international audience.  Her willingness to examine the issues and listen to the questions and concerns of everyday Americans is encouraging.  Her proven ability to effectively work across both party and geographic boundaries towards solutions to our country\u2019s problems and needs substantially distinguishes her from other candidates.</br><br></br><br> </br><br></br><br>I go on record as endorsing Senator Clinton for the 2008 Presidential Election.  As a nation, we cannot afford four more years of uninspired and uninspiring leadership.  In our quest for change, it\u2019s time that we returned to the fundamentals - experience, ability, respect, character.   It\u2019s time for Senator Hillary Clinton.\u201d</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_17:38: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}, "1953533": {"up_voted": false, "ip": "", "has_replies": false, "message": "One thing about the Nevada Caucuses that not many poeple outside the state have remarked on is that Clinton's victory was completely due to Las Vegas--she actually lost the rest of the state to Obama by a significant margin.<br></br><br>Both Gore and Kerry won in Las Vegas, but lost the rest of the state heavily, so Bush carried the state both times.</br><br></br><br>I've read that some of the vote for Obama may have been due to republicans casting an \"I hate Hillary\" vote (since the republican caucus was largely uncontested).  But I suspect that most of Obama's support was genuine.</br><br></br><br>Clinton runs well in the traditional democratic areas, but Obama has much more appeal to independents and moderate republicans.  Doesn't help in winning the nomination, but Obama as the democratic nominee would probably make several states competitive that would be safe red states with Clinton as the nominee.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_17:59:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1953534": {"up_voted": false, "ip": "", "has_replies": false, "message": "Abyssinian = \"Uppity, establishment Negroes\" so I'm not surprised at Butts endorsement.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_18:50:00", "killed": false, "user_key": "8f927af6311731fe614ae261f936bf91", "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}, "1953535": {"up_voted": false, "ip": "", "has_replies": false, "message": "Let me say this right here and now: we CANNOT get sucked into a Black vs. Latino fight.  The media -- who salivate at the prospect of racialized entertainment -- would be all over it, and it would severely hurt Obama's chances to make some needed in-roads among Mexicans, Cubans, as well as Afro Latinos.  <br></br><br>If he can change the minds of folk who thought him \"not Black enough\", he can change the minds of a few Latinos.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-01-20_18:57: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}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "2220249", "user_id": "anonymous", "forum_id": "21630", "hash": -2446954436200991344}, "thread": {"days_alive": 0, "slug": "nevada_results_robocalls_blacks_and_latinos", "paginate": false, "num_pages": 1, "num_posts": 31, "per_page": 0, "total_posts": 0, "realtime_paused": true, "id": 2220249, "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=nevada_results_robocalls_blacks_and_latinos' +
		'&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/nevada_results_robocalls_blacks_and_latinos/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='	+ 'nevada_results_robocalls_blacks_and_latinos'
			+ '&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/nevada_results_robocalls_blacks_and_latinos/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">31</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://jackandjillpolitics.disqus.com/nevada_results_robocalls_blacks_and_latinos/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/nevada_results_robocalls_blacks_and_latinos/">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:2220249" 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/nevada_results_robocalls_blacks_and_latinos/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:2220249" 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:2220249" 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'				: 'nevada_results_robocalls_blacks_and_latinos',
			// 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/nevada_results_robocalls_blacks_and_latinos/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='	+ 'nevada_results_robocalls_blacks_and_latinos'
			+ '&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='	+ 'nevada_results_robocalls_blacks_and_latinos'
			+ '&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='		+ 'nevada_results_robocalls_blacks_and_latinos'
				+ '&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/2220249/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-1953516">\
	 <div id="dsq-comment-header-1953516" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953516" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953516">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953516" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953516" class="dsq-comment-message">I wanted to add this robocall to the wiki incident tracker but I did not because it combines a multitude of sins not just racism. It incites xenophobia but to racists it is all one in the same so I do believe it fits.  Although the calls are supposedly "anonymous"...we know.  Deep down we all know which campaign did this but they get to hide behind anonymity; personally I think I like them better when they said straight out that a black man like MLK can\'t get a thing done without a white man because the anonymous thing leaves us with no real avenue to fight back.  If we call them on it then we are playing the race card and whining like typical negores in their superior minds.  If we don\'t it continues and it will continue.  This is the biggest threat---Mr. Anonymous Clinton.  Maybe I should have added it to wiki with that name...Anonymous Clinton LOL</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953517">\
	 <div id="dsq-comment-header-1953517" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953517" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953517">Webb</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953517" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953517" class="dsq-comment-message">There\'s also an article about how Bill Clinton was virtually bully-campaigning in the caucauses at the casinos...I understand that there were Obama supporters who stood up and started chanting, "O-BA-MA!" in spite of Bill being there.<br></br><br>As for SC, I hope that none of the brothers and sisters become so starstruck with Bill that they overlook the best candidate in this race regardless of race, gender or party affiliation.</br><br></br><br>The race is not over...but if this race is reduced to John McCain vs. Hillary Clinton, then that\'s going to be a very sad day for this country.  Neither of them are visionaries, both of them only promise to be "better" custodians of the status quo.</br><br></br><br>It\'s kind of funny...After seven years of G.W.Bush, I\'ve gotten a physical repulsion for when Bush pops up on TV--I have to look away--like looking away from Sodom & Gommorrah--because I know the only thing that I will hear or see are LIES.</br><br></br><br>I now feel that same repulsion toward Hillary (and her surrogates).  Just listening to her or seeing her cheesy composure makes me turn away from the screen.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953518">\
	 <div id="dsq-comment-header-1953518" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953518" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953518">Ronnie B</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953518" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953518" class="dsq-comment-message">You just described -- perfectly -- my feelings about Clinton. <br></br><br>That said, I hope the media plays up the Hillary--Latino connection over and over and over again, until it has the same affect as the Obama--Blackfolk connection.  </br><br></br><br>Isn\'t it a shame that in 2008, that the mere thought of a Black man having the audacity to assume a role not previously prescribed for him -- <b>yet through no fault of his own</b> -- could create such division?</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953519">\
	 <div id="dsq-comment-header-1953519" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953519" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953519">Caged Lion</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953519" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953519" class="dsq-comment-message">The sleazy tactics are ultimately good for Obama. He needs to innoculate himself against them now. The republican assault will be many times more offensive and xenophobic.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953520">\
	 <div id="dsq-comment-header-1953520" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953520" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953520">Lara</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953520" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953520" class="dsq-comment-message">Hilarious and egg on the faces of the KKKlintons that despite all their most disgusting campaign tactics-- the racist Robocalls on top of weeks of racist race-baiting, attempts to pit Blacks and Latinos against each other, closing down the caucus sites early, refusing to allow Obama supporters to register and even turning away people from the unions who had endorsed Obama-- the Clintons still lost in Nevada. <br></br><br>It\'s the delegate count that decides these caucuses and primaries, and Obama played it smart this time-- fanning out and encouraging turnout statewide, with Obama winning close to 2/3 of the counties in Nevada and winning the delegates.  </br><br></br><br>The KKKlintons attempt to disenfranchise Nevada voters backfired, and now, we need to make them hurt in South Carolina.</br><br></br><br>Folks, this is WAR that the KKKlintons have declared on the African-American people, and we have to fight back just as hard.</br><br></br><br>Hillary KKKlinton had a 25% lead over Obama in Nevada just a month ago and it evaporated-- Hillary\'s blood is in the water, and it\'s time to cover and devour her and that racist jerk, Bill KKKlinton. </br><br></br><br>If Hillary were nominated by the Democrats, then nobody in my neighborhood would vote for the Democratic ticket in November-- if that means that John McCain wins, then so be it.  A tiny, minor price to pay for teaching the Democrats a crucial lesson, that they cannot insult our people and reach power at our expense, and that if they try, that they will suffer a hellish reckoning.</br><br></br><br>Leading up to the primary in South Carolina, the KKKlintons will be trying all these tactics, you can count on it, and we have to be ruthless back.  Bring your camcorders everywhere and record everything the KKKlintons attempt.  Get in their faces and INTIMIDATE the Clinton campaign people.  </br><br></br><br>Don\'t be brutish or obviously mean, be subtle yet also tough.  Harass and frustrate the Clintonites, tantalize and thwart them, get into the KKKlinton campaign staffers\' heads and demoralize them.  They wanted the war like this, and they\'re gonna a reckoning more horrific than anything they could have imagined before.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953521">\
	 <div id="dsq-comment-header-1953521" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953521" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953521">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953521" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953521" class="dsq-comment-message">I officially hate BOTH the Clinton\'s now and I don\'t care what\'s on the end of their names. I will never cast my vote for racist be they Democrats or Republicans. EVER!<br></br><br>I\'m DONE!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953522">\
	 <div id="dsq-comment-header-1953522" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953522" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953522">TrueBlue</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953522" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953522" class="dsq-comment-message">I love the idea about urging South Carolinians to get out there with camcorders. Word is that Bill Clinton is heading down there tomorrow to go door to door. I hope he gets the cold reception he deserves. I\'d love to get the sleazebag on youtube.<br></br><br>The saddest thing of all the sad things about what the Clintons are doing and have already done is that they have now started to pick at the scab of black/latino relations. I\'m praying that Obama can come up with a way to turn this around--imagine a coalition of blacks, latinos, progressive whites, fed-up independents, and working folks of all types. This is the Clinton\'s worst nightmare, and the Democratic party\'s best hope for the fall.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953523">\
	 <div id="dsq-comment-header-1953523" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953523" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953523">natthedem</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953523" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953523" class="dsq-comment-message">Just a reminder...there is no Florida. The state, like Michigan, scheduled their primary in violation of DNC rules, so they\'ve been stripped of their delegates. <br></br><br>There\'s also the incident--though not a direct attack on Obama--of Bill Clinton accusing representatives of the Culinary Workers Union of voter intimidation in Nevada. The former president said he saw it. Now, how it is that the former president, who can\'t sneeze without it being on television and who travels with a cadre of federal agents, saw this and no one else did is beyond me. But NBC asked the Clintons if they were going to file a complaint and...well...now there\'s no comment. </br><br></br><br>I came into my own political beliefs under the Clinton administration, so I had a soft-spot for them for a long time. Combine that with the fact that I supported John Edwards in 2004 and the race and gender dynamic inherent from their candidacies of Obama and Clinton...it was impossible for this race not to be intensely personal for me. </br><br></br><br>What I didn\'t imagine, of course, was that this campaign would go so negatively and that it\'d threaten my allegiance to the Democratic Party. </br><br></br><br>Sigh.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953524">\
	 <div id="dsq-comment-header-1953524" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953524" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953524">NMP</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953524" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953524" class="dsq-comment-message">How long are we going to pretend that their isn\'t Brown racism against Blacks?  As I said in a previous post, if Senator Clinton is the nominee, I have no intention of casting a vote for her to validate what is clearly an anti-Black vote from Latinos, Jews, and older whites. I will not continue to be a willing participant of the plantation politics of the Democratic Party.  I have been relatively supportive of citizenship for illegal immigrants, but I\'m not going to pretend to not be mad as hell that our one opportunity to make it to the White House will be road blocked by Latinos who only a generation ago crossed the border from Mexico.  Yes, I know they are the indingenous people of this continent, but we, Black folks, built this United States of America, and what do we have to show for it?  A permanent exisistence of politial servitude to Whites and Latinos in the near future?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953525">\
	 <div id="dsq-comment-header-1953525" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953525" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953525">justice58</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953525" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953525" class="dsq-comment-message">"Word is that Bill Clinton is heading down there tomorrow to go door to door".<br>-----------------------------------</br><br>Trueblue----heard it too!</br><br></br><br>Not only that---It\'s been reported the Clintons are planning to visit every black church in South Carolina.</br><br></br><br>Black people---come together now!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953526">\
	 <div id="dsq-comment-header-1953526" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953526" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953526">JenJen</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953526" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953526" class="dsq-comment-message">Yesterday during their wrap-up coverage, Tim Russert said that Bill Clinton called the studio head of MGM to get permission to go to MGM Grand Hotel and Casino Saturday morning to lobby their employees.  <br></br><br>All I could think of was "Damn it feels good to be a gangsta."  :-(</br><br></br><br>I\'m taking it personally, too.  But I have a feeling that Clinton getting all red-faced and finger-waggin\' isn\'t going to be convincing for much longer.  At least I hope so.</br><br></br><br>But yes, it\'s a very disspiriting morning.  Gotta work harder, gotta really start fighting for this.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953527">\
	 <div id="dsq-comment-header-1953527" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953527" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953527">ndn5898</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953527" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953527" class="dsq-comment-message">When illegal immigration first became a hot issue my first reaction was: "Blacks are immediately punished for any illegal activity, so why not the same for Hispanics?" then I softened, but now I\'m back to my original position. There is indeed Brown racism against Blacks, we need to wake up. Don\'t worry guys, they will need us someday and I hope the good Black people of Los Angeles are paying attention.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953528">\
	 <div id="dsq-comment-header-1953528" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953528" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953528">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953528" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953528" class="dsq-comment-message">Say It Loud(Im Black and Im Proud!)<br></br><br>It\'s about time we did say it....outloud!</br><br></br><br>After all,isnt J.B. South Carolina\'s favorite son.</br><br></br><br>http://mistyblue.imeem.com/music/TbksSp89/james_brown_say_it_loud_im_black_and_im_proud/</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953529">\
	 <div id="dsq-comment-header-1953529" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953529" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953529">Angela</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953529" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953529" class="dsq-comment-message">This is transcript from Tim Russert on Meet the Press (1/20/08)<br></br><br>Mr. Russert:"Michele, as someone who spoke to Bill Clinton said, quoted him as saying, "I don\'t care about this stuff, about my image as the former president, I\'m going to win this campaign.   I\'m going to go door-to-door in the black neighborhoods of South Carolina, church-to-church."  Just like he went into the casinos and split the union vote with Barack Obama that was supposed to go to Obama, he\'s convinced he can win enough blacks to divide them and give Hillary Clinton South Carolina."</br><br></br><br>The Clinton\'s only care about getting back the White House.   If they really cared about the black community they wouldn\'t be out there trying to divide them to satisy their undending greed for more power.   </br><br></br><br>By the way, I\'m Native American and new here.  Love the site.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953530">\
	 <div id="dsq-comment-header-1953530" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953530" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953530">kimbers</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953530" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953530" class="dsq-comment-message">I\'m taking this election personally too. I\'m sick of the Clinton\'s thinking that we think so little of ourselves that we will just go along with them. <br></br><br>I feel for the Latino\'s in this. Should Hillary win, they will find that their votes were nothing more than a commodity to them, like so many of us are finding out now. I wish there was some way to spare them the way I\'m feeling today but I\'m afraid that like the rest of us, they will have to figure it out for themselves. </br><br></br><br>Obama gave a great speech today- one that should be posted on every blog,for everyone to see before Clinton plagerizes it and claims the phrases as her own...</br><br></br><br> Remarks of Senator Barack Obama</br><br>The Great Need of the Hour</br><br>Ebenezer Baptist Church</br><br>Sunday, January 20th, 2008</br><br>Atlanta, Georgia</br><br></br><br>EMBARGOED for Delivery</br><br></br><br>The Scripture tells us that when Joshua and the Israelites arrived at the gates of Jericho, they could not enter. The walls of the city were too steep for any one person to climb; too strong to be taken down with brute force. And so they sat for days, unable to pass on through. </br><br></br><br>But God had a plan for his people. He told them to stand together and march together around the city, and on the seventh day he told them that when they heard the sound of the ram’s horn, they should speak with one voice. And at the chosen hour, when the horn sounded and a chorus of voices cried out together, the mighty walls of Jericho came tumbling down.</br><br></br><br>There are many lessons to take from this passage, just as there are many lessons to take from this day, just as there are many memories that fill the space of this church. As I was thinking about which ones we need to remember at this hour, my mind went back to the very beginning of the modern Civil Rights Era. </br><br></br><br>Because before Memphis and the mountaintop; before the bridge in Selma and the march on Washington; before Birmingham and the beatings; the fire hoses and the loss of those four little girls; before there was King the icon and his magnificent dream, there was King the young preacher and a people who found themselves suffering under the yolk of oppression. </br><br></br><br>And on the eve of the bus boycotts in Montgomery, at a time when many were still doubtful about the possibilities of change, a time when those in the black community mistrusted themselves, and at times mistrusted each other, King inspired with words not of anger, but of an urgency that still speaks to us today:</br><br></br><br>“Unity is the great need of the hour” is what King said. Unity is how we shall overcome. </br><br></br><br>What Dr. King understood is that if just one person chose to walk instead of ride the bus, those walls of oppression would not be moved. But maybe if a few more walked, the foundation might start to shake. If a few more women were willing to do what Rosa Parks had done, maybe the cracks would start to show. If teenagers took freedom rides from North to South, maybe a few bricks would come loose. Maybe if white folks marched because they had come to understand that their freedom too was at stake in the impending battle, the wall would begin to sway. And if enough Americans were awakened to the injustice; if they joined together, North and South, rich and poor, Christian and Jew, then perhaps that wall would come tumbling down, and justice would flow like water, and righteousness like a mighty stream.</br><br></br><br>Unity is the great need of the hour – the great need of this hour. Not because it sounds pleasant or because it makes us feel good, but because it’s the only way we can overcome the essential deficit that exists in this country. </br><br></br><br>I’m not talking about a budget deficit. I’m not talking about a trade deficit. I’m not talking about a deficit of good ideas or new plans. </br><br></br><br>I’m talking about a moral deficit. I’m talking about an empathy deficit. I’m taking about an inability to recognize ourselves in one another; to understand that we are our brother’s keeper; we are our sister’s keeper; that, in the words of Dr. King, we are all tied together in a single garment of destiny. </br><br></br><br>We have an empathy deficit when we’re still sending our children down corridors of shame – schools in the forgotten corners of America where the color of your skin still affects the content of your education.</br><br></br><br>We have a deficit when CEOs are making more in ten minutes than some workers make in ten months; when families lose their homes so that lenders make a profit; when mothers can’t afford a doctor when their children get sick.</br><br></br><br>We have a deficit in this country when there is Scooter Libby justice for some and Jena justice for others; when our children see nooses hanging from a schoolyard tree today, in the present, in the twenty-first century. </br><br></br><br>We have a deficit when homeless veterans sleep on the streets of our cities; when innocents are slaughtered in the deserts of Darfur; when young Americans serve tour after tour of duty in a war that should’ve never been authorized and never been waged.</br><br></br><br>And we have a deficit when it takes a breach in our levees to reveal a breach in our compassion; when it takes a terrible storm to reveal the hungry that God calls on us to feed; the sick He calls on us to care for; the least of these He commands that we treat as our own. </br><br></br><br>So we have a deficit to close. We have walls – barriers to justice and equality – that must come down. And to do this, we know that unity is the great need of this hour. </br><br></br><br>Unfortunately, all too often when we talk about unity in this country, we’ve come to believe that it can be purchased on the cheap. We’ve come to believe that racial reconciliation can come easily – that it’s just a matter of a few ignorant people trapped in the prejudices of the past, and that if the demagogues and those who exploit our racial divisions will simply go away, then all our problems would be solved. </br><br></br><br>All too often, we seek to ignore the profound institutional barriers that stand in the way of ensuring opportunity for all children, or decent jobs for all people, or health care for those who are sick. We long for unity, but are unwilling to pay the price. </br><br></br><br>But of course, true unity cannot be so easily won. It starts with a change in attitudes – a broadening of our minds, and a broadening of our hearts. </br><br></br><br>It’s not easy to stand in somebody else’s shoes. It’s not easy to see past our differences. We’ve all encountered this in our own lives. But what makes it even more difficult is that we have a politics in this country that seeks to drive us apart – that puts up walls between us. </br><br></br><br>We are told that those who differ from us on a few things are different from us on all things; that our problems are the fault of those who don’t think like us or look like us or come from where we do. The welfare queen is taking our tax money. The immigrant is taking our jobs. The believer condemns the non-believer as immoral, and the non-believer chides the believer as intolerant. </br><br></br><br>For most of this country’s history, we in the African American community have been at the receiving end of man’s inhumanity to man. And all of us understand intimately the insidious role that race still sometimes plays – on the job, in the schools, in our health care system and in our criminal justice system. </br><br></br><br>And yet, if we are honest with ourselves, we must admit that none of our hands are entirely clean. If we’re honest with ourselves, we’ll acknowledge that our own community has not always been true to King’s vision of a beloved community. </br><br></br><br>We have scorned our gay brothers and sisters instead of embracing them. The scourge of anti-Semitism has, at times, revealed itself in our community. For too long, some of us have seen immigrants as competitors for jobs instead of companions in the fight for opportunity. </br><br></br><br>Every day, our politics fuels and exploits this kind of division across all races and regions; across gender and party. It is played out on television. It is sensationalized by the media. And last week, it even crept into the campaign for President, with charges and counter-charges that served to obscure the issues instead of illuminating the critical choices we face as a nation. </br><br></br><br>So let us say that on this day of all days, each of us carries with us the task of changing our hearts and minds. The division, the stereotypes, the scapegoating, the ease with which we blame our plight on others – all of this distracts us from the common challenges we face – war and poverty; injustice and inequality. We can no longer afford to build ourselves up by tearing someone else down. We can no longer afford to traffic in lies or fear or hate. It is the poison that we must purge from our politics; the wall that we must tear down before the hour grows too late. </br><br></br><br>Because if Dr. King could love his jailor; if he could call on the faithful who once sat where you do to forgive those who set dogs and fire hoses upon them, then surely we can look past what divides us in our time, and bind up our wounds, and erase the empathy deficit that exists in our hearts. </br><br></br><br>But if changing our hearts and minds is the first critical step, we cannot stop there. It is not enough to bemoan the plight of poor children in this country and remain unwilling to push our elected officials to provide the resources to fix our schools. It is not enough to decry the disparities of health care and yet allow the insurance companies and the drug companies to block much-needed reforms. It is not enough for us to abhor the costs of a misguided war, and yet allow ourselves to be driven by a politics of fear that sees the threat of attack as way to scare up votes instead of a call to come together around a common effort.</br><br></br><br>The Scripture tells us that we are judged not just by word, but by deed. And if we are to truly bring about the unity that is so crucial in this time, we must find it within ourselves to act on what we know; to understand that living up to this country’s ideals and its possibilities will require great effort and resources; sacrifice and stamina.</br><br></br><br>And that is what is at stake in the great political debate we are having today. The changes that are needed are not just a matter of tinkering at the edges, and they will not come if politicians simply tell us what we want to hear. All of us will be called upon to make some sacrifice. None of us will be exempt from responsibility. We will have to fight to fix our schools, but we will also have to challenge ourselves to be better parents. We will have to confront the biases in our criminal justice system, but we will also have to acknowledge the deep-seated violence that still resides in our own communities and marshal the will to break its grip. </br><br></br><br>That is how we will bring about the change we seek. That is how Dr. King led this country through the wilderness. He did it with words – words that he spoke not just to the children of slaves, but the children of slave owners. Words that inspired not just black but also white; not just the Christian but the Jew; not just the Southerner but also the Northerner. </br><br></br><br>He led with words, but he also led with deeds. He also led by example. He led by marching and going to jail and suffering threats and being away from his family. He led by taking a stand against a war, knowing full well that it would diminish his popularity. He led by challenging our economic structures, understanding that it would cause discomfort. Dr. King understood that unity cannot be won on the cheap; that we would have to earn it through great effort and determination.</br><br></br><br>That is the unity – the hard-earned unity – that we need right now. It is that effort, and that determination, that can transform blind optimism into hope – the hope to imagine, and work for, and fight for what seemed impossible before.</br><br></br><br>The stories that give me such hope don’t happen in the spotlight. They don’t happen on the presidential stage. They happen in the quiet corners of our lives. They happen in the moments we least expect. Let me give you an example of one of those stories.</br><br></br><br>There is a young, 23-year-old white woman named Ashley Baia who organizes for our campaign in Florence, South Carolina. She’s been working to organize a mostly African American community since the beginning of this campaign, and the other day she was at a roundtable discussion where everyone went around telling their story and why they were there. </br><br></br><br>And Ashley said that when she was nine years old, her mother got cancer. And because she had to miss days of work, she was let go and lost her health care. They had to file for bankruptcy, and that’s when Ashley decided that she had to do something to help her mom.</br><br></br><br>She knew that food was one of their most expensive costs, and so Ashley convinced her mother that what she really liked and really wanted to eat more than anything else was mustard and relish sandwiches. Because that was the cheapest way to eat.</br><br></br><br>She did this for a year until her mom got better, and she told everyone at the roundtable that the reason she joined our campaign was so that she could help the millions of other children in the country who want and need to help their parents too.</br><br></br><br>So Ashley finishes her story and then goes around the room and asks everyone else why they’re supporting the campaign. They all have different stories and reasons. Many bring up a specific issue. And finally they come to this elderly black man who’s been sitting there quietly the entire time. And Ashley asks him why he’s there. And he does not bring up a specific issue. He does not say health care or the economy. He does not say education or the war. He does not say that he was there because of Barack Obama. He simply says to everyone in the room, “I am here because of Ashley.” </br><br></br><br>By itself, that single moment of recognition between that young white girl and that old black man is not enough. It is not enough to give health care to the sick, or jobs to the jobless, or education to our children.</br><br></br><br>But it is where we begin. It is why the walls in that room began to crack and shake. </br><br></br><br>And if they can shake in that room, they can shake in Atlanta. </br><br></br><br>And if they can shake in Atlanta, they can shake in Georgia. </br><br></br><br>And if they can shake in Georgia, they can shake all across America. And if enough of our voices join together; we can bring those walls tumbling down. The walls of Jericho can finally come tumbling down. That is our hope – but only if we pray together, and work together, and march together. </br><br></br><br>Brothers and sisters, we cannot walk alone. </br><br></br><br>In the struggle for peace and justice, we cannot walk alone. </br><br></br><br>In the struggle for opportunity and equality, we cannot walk alone </br><br></br><br>In the struggle to heal this nation and repair this world, we cannot walk alone. </br><br></br><br>So I ask you to walk with me, and march with me, and join your voice with mine, and together we will sing the song that tears down the walls that divide us, and lift up an America that is truly indivisible, with liberty, and justice, for all. May God bless the memory of the great pastor of this church, and may God bless the United States of America.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953531">\
	 <div id="dsq-comment-header-1953531" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953531" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953531">g-e-m2001</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953531" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953531" class="dsq-comment-message">Jack hang in there!<br></br><br>I have been battered and bruised by arguing about the campaign, but you love politics and this is part of it all.  It is a contact sport and did anybody think the Clintons were going to all of a sudden change their spots?</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953532">\
	 <div id="dsq-comment-header-1953532" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953532" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953532">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953532" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953532" class="dsq-comment-message">Hillary went to Harlem to pray for victory and walked out with this:  <br></br><br>New York – Abyssinian Baptist Church Pastor Reverend Dr. Calvin O. Butts, III, today endorsed Hillary Clinton for President, issuing the following statement: </br><br></br><br> “Over the course of the past year, I have given careful consideration to the varied perspectives and agendas of the 2008 Presidential Candidates.  I have observed, evaluated, and compared each of their strengths in the context of the current state of our nation and what will be required in the next 4 years to help us repair, restore and rebuild.  </br><br></br><br>I, too, join countless Americans in a collective desire for change, and I do so with a vital recognition that change and experience are not mutually exclusive.  The rhetoric of change in which we are presently engaged must also be accompanied by the experience and ability necessary to successfully and resourcefully accomplish it.  Experience is not synonymous with status quo nor should it be vilified for the sake of campaign soundbites.  With experience, comes the value of lessons learned.  With experience, comes proficiency and understanding.  With the right experience, comes change.  Thus, I have not based my decision on the idea that I must embrace one over the other.  I have instead based my decision on the candidate whom I believe will effectively use both – change and experience – to lead our nation to a place of domestic and international prosperity. </br><br></br><br>After thoughtful deliberation, I am decidedly confident that Senator Hillary Clinton is the candidate best suited to be the Democratic Presidential Nominee and the next President of the United States.  I have personally had a positive working relationship with Senator Clinton for a number of years.  In her current position as United States Senator from New York, she has also been very supportive of Abyssinian Baptist Church’s development work in Harlem.  Thus, I have seen first-hand the wisdom, insight and concern she brings in her approach to community development, educational and developmental opportunities for youth, and economic revitalization, as well as tirelessly advocating for families, promoting health care reform, and fighting the global HIV/AIDS crisis. </br><br></br><br> </br><br></br><br>I believe that we can benefit greatly from the value of Senator Clinton’s 30-plus years of service to our country that have uniquely positioned her to be a formidable leader on issues including homeland and national security, human rights, and restoration of our national image before an international audience.  Her willingness to examine the issues and listen to the questions and concerns of everyday Americans is encouraging.  Her proven ability to effectively work across both party and geographic boundaries towards solutions to our country’s problems and needs substantially distinguishes her from other candidates.</br><br></br><br> </br><br></br><br>I go on record as endorsing Senator Clinton for the 2008 Presidential Election.  As a nation, we cannot afford four more years of uninspired and uninspiring leadership.  In our quest for change, it’s time that we returned to the fundamentals - experience, ability, respect, character.   It’s time for Senator Hillary Clinton.”</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953533">\
	 <div id="dsq-comment-header-1953533" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953533" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953533">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953533" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953533" class="dsq-comment-message">One thing about the Nevada Caucuses that not many poeple outside the state have remarked on is that Clinton\'s victory was completely due to Las Vegas--she actually lost the rest of the state to Obama by a significant margin.<br></br><br>Both Gore and Kerry won in Las Vegas, but lost the rest of the state heavily, so Bush carried the state both times.</br><br></br><br>I\'ve read that some of the vote for Obama may have been due to republicans casting an "I hate Hillary" vote (since the republican caucus was largely uncontested).  But I suspect that most of Obama\'s support was genuine.</br><br></br><br>Clinton runs well in the traditional democratic areas, but Obama has much more appeal to independents and moderate republicans.  Doesn\'t help in winning the nomination, but Obama as the democratic nominee would probably make several states competitive that would be safe red states with Clinton as the nominee.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953534">\
	 <div id="dsq-comment-header-1953534" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953534" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953534">Blkberi</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953534" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953534" class="dsq-comment-message">Abyssinian = "Uppity, establishment Negroes" so I\'m not surprised at Butts endorsement.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953535">\
	 <div id="dsq-comment-header-1953535" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953535" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953535">ronnie b.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953535" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953535" class="dsq-comment-message">Let me say this right here and now: we CANNOT get sucked into a Black vs. Latino fight.  The media -- who salivate at the prospect of racialized entertainment -- would be all over it, and it would severely hurt Obama\'s chances to make some needed in-roads among Mexicans, Cubans, as well as Afro Latinos.  <br></br><br>If he can change the minds of folk who thought him "not Black enough", he can change the minds of a few Latinos.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953536">\
	 <div id="dsq-comment-header-1953536" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953536" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953536">The Bag of Health and Politics</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953536" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953536" class="dsq-comment-message">Contrast the petty bullshit of Bill Clinton--who really has achieved NOTHING of SUBSTANCE in his entire LIFETIME and Barack Obama\'s speech at Ebenezer Baptist Church this morning. <br></br><br>Bill Clinton knows that he can\'t move people like that. He knows he was a pathetic, egotistical, and self-obsessed politician whose flaws allowed the rise of this most criminal of administrations. He knows that he\'s not even close to Barack\'s ability--except in his own demented fairy tales. </br><br></br><br>Let\'s do what this party should\'ve done 10 years ago: kick these losers to the curb.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953537">\
	 <div id="dsq-comment-header-1953537" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953537" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953537">Rachel</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953537" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953537" class="dsq-comment-message">i am glad that obama is taking some knocks now, so that he will get practice before the republicans come for him. this is training; so far he has managed to get sharper and stronger, without getting dirty. atta\'boy.<br></br><br>but at the same time, i would find it beyond delicious for the clintons to get caught red-handed using their repertoire of repulsive tactics. </br><br></br><br>i\'ve been calling all my relatives and friends all over the country to remind them to register to vote, that the primary is around the corner. none of them like hillary, so convincing them to vote for obama is easy. y\'all should too- if it\'s getting personal, then GET PERSONAL.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953538">\
	 <div id="dsq-comment-header-1953538" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953538" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953538">justice58</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953538" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953538" class="dsq-comment-message">"if it\'s getting personal, then GET PERSONAL".<br>-----------------------------------</br><br>Come on---lets do this!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953539">\
	 <div id="dsq-comment-header-1953539" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953539" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953539">Angela</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953539" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953539" class="dsq-comment-message">Let me try again...my last message didn\'t go through. <br></br><br>We need to show up for Sen. Obama physically as well as monetarily.   If anyone of you, your friends, relatives can show up at as many places throughout the country as possible we have this one opportunity to make a huge difference.   Money is still needed but the ground support is needed also.  Please go to his website and physically volunteer.  </br><br></br><br>I just volunteered to travel to South Carolina for a few days and will go elsewhere afterwards depending on my funds.   I know I can make the sacrifice.   Obama is risking his life to do this, I believe we all need to get out of our comfort zones to show how committed we are.   If it gets down to convention floor fight, I will save my pennies to go to Denver and rally for him there too.</br><br></br><br>Please, go to Obama\'s website and sign up as a volunteer and get your friends and relatives to sign up.   We can complain all we want, but action is better.</br><br></br><br>Peace.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953540">\
	 <div id="dsq-comment-header-1953540" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953540" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953540">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953540" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953540" class="dsq-comment-message"><i>How long are we going to pretend that their isn\'t Brown racism against Blacks?</i><br></br><br>You know I agree with you, which is why the entire Kumbaya Black/Brown alliance thing is just a farce to me. </br><br></br><br>They know the Clintons tried to disenfranchise them and STILL voted for her. If there\'s a Latin Equivalent of Uncle Ruckus, that describes that behavior. </br><br></br><br><i> As I said in a previous post, if Senator Clinton is the nominee, I have no intention of casting a vote for her to validate what is clearly an anti-Black vote from Latinos, Jews, and older whites. I will not continue to be a willing participant of the plantation politics of the Democratic Party.</i></br><br></br><br>ICAM. </br><br></br><br>If we vote for that woman after all of this, then we will become accomplices to setting into cement, a ceiling for Blacks aspiring to higher political office. I have no intention of being that woman\'s accomplice. This now has become beyond Barack. This is not only about him, but any other Black politician in the future. </br><br></br><br><i> I have been relatively supportive of citizenship for illegal immigrants,</i></br><br></br><br>I\'m not. Period.</br><br></br><br><i> but I\'m not going to pretend to not be mad as hell that our one opportunity to make it to the White House will be road blocked by Latinos who only a generation ago crossed the border from Mexico. Yes, I know they are the indingenous people of this continent, but we, Black folks, built this United States of America, and what do we have to show for it? A permanent exisistence of politial servitude to Whites and Latinos in the near future?</i></br><br></br><br>Preach it. Preach it.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953541">\
	 <div id="dsq-comment-header-1953541" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953541" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953541">Yolanda</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953541" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953541" class="dsq-comment-message">Re: The camcorder idea to get humiliating videos of the Clintons:<br></br><br>This idea is awesome!</br><br></br><br>What better way to take the Clintons down than to get videos of them looking like idiots and post them up on Youtube?!!  Especially Bill arriving at someone\'s door?  A citizen\'s army to blast them hard!</br><br></br><br>For anyone in South Carolina, here it goes: </br><br>1. Pretend that you\'re "on the fence" about the Clintons but, when a Clinton campaign volunteer shows up at the door, have a list of embarrassing questions in hand to embarrass and fluster them.</br><br></br><br>2. The big prize would be Bill himself showing up.  You won\'t have Bill just appearing out of the blue, because of Secret Service protection (a waste of taxpayer dollars, being used by Bill to campaign for Hillary!) you\'ll get advance notification.  Feign being on the fence for Bill as well.</br><br></br><br>3. Set up a video camera in a concealed location, even have someone else somewhere in the house do the filming.  Practice this, rehearse it!</br><br></br><br>4. Set up a "neighborhood warning squad" so that when some people in the neighborhood are visited, they notify others in the neighborhood to get their camcorders ready.</br><br></br><br>5. Bring up a list of embarrassing questions to make the Clintons and their staffers look bad.  Bring up the insinuations of Obama as a drug dealer, Muslim traitor candidate. Mention shuck and jive.  Be specific and relevant-- hit Bill especially on his comments about Obama as a "fairy tale" and as a "kid."  Talk about the way Hillary belittled MLK.  </br><br></br><br>6. The core of the plan is to fluster the Clinton volunteers, rattle them, get them upset, most of all force them to make the first move and lash out.  Slowly build up the argument with suspicions and misunderstandings (very much legitimate) and work your way up with them.  Again, pretend to be friendly but slowly introduce these things to frustrate the Clinton people.  Get in their heads and upset them.</br><br></br><br>7. Do this repeatedly and post the videos up on Youtube ASAP, get your friends to rate them up and embarrass the Clintons.  Show the Clintons for the racists they really are!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953542">\
	 <div id="dsq-comment-header-1953542" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953542" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953542">Yolanda</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953542" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953542" class="dsq-comment-message">Also for anyone doing the <b>Youtube videocamera sting</b> to nail the Clintons-- <br>bring up not only the race-baiting of the Clintons but, even more effective for us, after you pretend friendship with the Clinton staffers,</br><br></br><br><b>bring up the issues of the Clintons\' attempts at voter suppression, fraud and disenfranchisement</b> in the states thus far.  They\'re desperately hoping to do something similar in South Carolina with its electronic voting machines and you can trick them into getting rattled about the tactics they\'re being called out on.  Trying to stop college students in Iowa, the New Hampshire obstructions, that dumb lawsuit in Nevada, false directions to Nevada Obama caucusers, closing the caucus sites down in Nevada--</br><br></br><br>everybody hates these tactics because they attack the very heart of our democracy, and by focusing especially on the election fraud, voter suppression and disenfranchisement tactics, we hit the Clintons where it hurts them most.  Remember, the heart of this is to paint a picture of the Clintons that hurts them most and sticks in people\'s minds, and an even more damaging picture than "race-baiter" is "vote-suppressors and fraudsters".  </br><br></br><br>If the Clintons are depicted consistently as trying to suppress the vote, this will damage them in a nasty way.  So again, feign friendship and indecisiveness, get your videocameras ready and trap the Clinton staffers, bring up the race-baiting but most of all, make reference specifically to the voter suppression tactics.</br><br></br><br>As for how to hide the videocameras, there are many methods but one of the best would be to have a friend by the door have a "cell phone conversation" but in fact, activate the Camcorder on the cell phone.  Again, work as a neighborhood team, have "calls" to set this up, set the phone on vibrate mode, that kind of thing.</br><br></br><br>Like others are saying, this is plantation politics by the Clintons and they have to pay dearly for it, or no Black politician would be able to run in the future.  I\'d vote for Cynthia McKinney or even McCain in the general election if Hillary is nominated.</br><br></br><br>The videotaping plan is probably the best means at our disposal to thoroughly embarrass the Clintons and hurt their campaign in South Carolina and nationally.  Use it aggressively wherever you are.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953543">\
	 <div id="dsq-comment-header-1953543" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953543" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953543">Yolanda</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953543" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953543" class="dsq-comment-message">BTW you get a bonus if Bill Clinton is going to a place that already has lots of videocameras and media coverage, such as any African-American organization or gathering place in South Carolina.<br></br><br>If you\'re in the audience, <b>do not be shy, since this is your opportunity to humiliate the Clintons in an especially damaging way on national television</b>!  Be rude and interrupt Clinton, frustrate him, get under his skin, ask him about the race-baiting and mention specific examples, raise the disenfranchisement issue with specific cases and generally be hostile to Clinton and force him into losing his cool, the way he did with a reporter out in Nevada.  </br><br></br><br>Do this wherever Bill goes.  Make sure that his reception is as hostile, unpleasant and humiliating as you can make it!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953544">\
	 <div id="dsq-comment-header-1953544" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953544" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953544">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953544" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953544" class="dsq-comment-message">Clinton did not "win" the "Latino" vote. More than 50% of so-called Latinos or Hispanics are white. White women supported Clinton, as well as senior citizens.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953545">\
	 <div id="dsq-comment-header-1953545" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953545" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953545">Nita</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953545" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953545" class="dsq-comment-message">Apparently, this is what Obama is going to have to overcome with Latinos even beyond the "Brown versus Black" divide (which is real and always has been):<br></br><br>"I saw Hillary three times:  I was dissapointed that the first point a well intentioned supporter made to sway me from Obama was her belief that he was: a) A Muslim; b) likely an Al-Qaida plant; and c) refuses to say the pledge of allegiance.  Now, that kind of thing has been debunked and I had no problem educating her on the truth.  What was most disconcerting, however, was the sad fact that this view was shared by so many of her colleagues and that the Clinton camp was doing very little to disabuse them of these notions.  The belief, rooted in fear, is deep seated and still widespread.  The danger in cultivating this belief among Hillary supporters is that if Obama were to get the nomination, this kind of ridiculous belief in Obama as an enemy would likely lead the voter to vote Republican.</br><br></br><br>The only other distinction with any merit and one which was also repeated over and over at each of the three Hillary rallies I attended, was her "experience" and the fact that on day one, she will know what to do and be able to do it, implying that Obama will have a longer learning curve.  This "experience" mantra was the only other point any of the Hillary supporters on the ground would make when they weren\'t criticizing Obama for being a muslim terrorist plant."</br><br></br><br>Then blogger ThereIsNoSpoon co-signs, which is the only reason why I bring this up here: "it was absolutely typical   they distributed flyers to this effect all over Nevada.  They didn\'t just allow these things to be said: they actively pushed them."</br><br></br><br>So, add this on top of the Clintons swarming legitimate union workers with a whole smarm of people whom no one knows where they were from or who they were with because no one even knows if they were really union workers -- PLANNED.  How\'s that no voter ID working out?  I never liked that, and I\'ve always thought it was b.s. to claim it was for the sake of the poor.</br><br></br><br>I think the worst part of this is not that it\'s unthinkable that Democrats would pull this on another Democrat; but that Democrats have probably pulled this against other Democrats for a very long time.  What\'s described here reminds me uncomfortably of what happened in Maryland -- when asked, a lot of blacks could present no real reason to vote against Michael Steele except that he was a Republican, which made him untrustworthy and a liar and an oreo.  It reminded me too much of the peer-pressure \'you\'re acting too white\' in school.  It made me consider that perhaps some people WANT the rank and file to remain ignorant.   Just like some people want and need generic women (since white women are supposed to represent all women including the issues of women of color) to be one-issue on Abortion... and female candidates.</br><br></br><br>Why would Latinos (nevermind whites, blacks, asians) buy the b.s. about Obama being a scary muslim, a scary black man?  And if Obama really were all the things the Party says he is -- why would the Party allow him to remain within the Party in the first place instead of repudiating him?  It makes no sense, and yet there it is.</br><br></br><br>I think blacks need to take a good, hard look at the Democratic Party.  This is going beyond just the Clintons, at this point.</br><br></br><br>The Democratic Party itself needs to address this.  If it does not, if it follows the Clinton script (as the Republicans foretold) of Lie-Destroy-MakeUp like some abusive spouse...whose fault is it if we continue to play the role of the abused who yet stays with her or him who abuses in hopes that the abuser will change out of true love and \'they need me\'?</br><br></br><br>They don\'t need us.  We need to get that through our skulls:  They.  Don\'t.  Need.  Us.</br><br></br><br>And when we show we don\'t need them, that\'s the only time change -- good change -- will come down the pike and stop this horror.  Stop the expectations of ignorance the party seems to hold for all of us, black, brown, white and other.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1953546">\
	 <div id="dsq-comment-header-1953546" class="dsq-comment-header">\
	 <cite id="dsq-cite-1953546" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1953546">Nita</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1953546" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1953546" class="dsq-comment-message">@ Yolanda, girl I wish.  But you know anyone who gets anywhere near Bill Clinton is going to have been vetted a long time in advance LOL If you haven\'t been contacted by now, you probably ain\'t gonna see Bill.  We\'ll see what the official reports look like out of South Carolina, and how many \'regular citizens\' turn out to be operatives/Clinton campaign workers and relatives.  But it\'s a nice wish.<br></br><br></br><br>@ rikyrah, thank you for speaking truths some folks may not want to hear; or have been snowed into believing otherwise.</br><br></br><br>@ RonnieB, I\'ve noticed the number of so-called Democrats (wonder how many are Clinton operatives and not just Clinton supporters? or Edwards, to be perfectly honest) who insist that Obama is the one who brought race into the picture. They insist *Obama* is running on race.  The Clintons are innocent in their world.  *Obama* drew first blood.  If that type of b.s. is flying on blogs and message boards where people are supposed to have more information -- what\'s going on in places where people only get their news from word of mouth?</br><br></br><br>People, please take a good hard look at the Democratic Party.  Again, this is deeper than just the 2008 election race.  Much deeper. It\'s too bad the Republicans\' own rank and file don\'t offer much better. But dang.</br><br></br><br>The Democratic Party doesn\'t seem to want to clean up certain messes, even with Kennedy placing a call to Bill to pipe down and chill.  The damage has been done.  What is the Democratic Party going to do to rectify that damage, especially since it\'s damage done to one of it\'s leading, brightest stars -- a man who seems to earn the respect of everyone (no matter what side of the aisle) who actually listens to him?</br><br></br><br>If that answer is nothing -- what do reasonable people do?</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=nevada_results_robocalls_blacks_and_latinos&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');
}

})();




