




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": {"6a15e2f4a8734cebd4efee6381b0eb4f": {"username": "Sepia", "tumblr": "", "display_name": "Sepia", "url": "http://disqus.com/guest/6a15e2f4a8734cebd4efee6381b0eb4f/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "9bf0971c139c9dc33659e8ed441e4f5e": {"username": "Craig Hickman", "tumblr": "", "display_name": "Craig Hickman", "url": "http://disqus.com/guest/9bf0971c139c9dc33659e8ed441e4f5e/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e8929a93ccff877492df9b177a3888cf": {"username": "djchefron", "tumblr": "", "display_name": "djchefron", "url": "http://disqus.com/guest/e8929a93ccff877492df9b177a3888cf/", "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": ""}, "0183bc94f5be8b9ec79636f3f2174ff5": {"username": "D.", "tumblr": "", "display_name": "D.", "url": "http://disqus.com/guest/0183bc94f5be8b9ec79636f3f2174ff5/", "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": ""}, "c36c5e8bd4d56491f8a60b53ae8e9eb4": {"username": "jelana", "tumblr": "", "display_name": "jelana", "url": "http://disqus.com/guest/c36c5e8bd4d56491f8a60b53ae8e9eb4/", "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": ""}, "ace8018620947824dbdaa5c619193d07": {"username": "inkognegro", "tumblr": "", "display_name": "inkognegro", "url": "http://disqus.com/guest/ace8018620947824dbdaa5c619193d07/", "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": ""}, "67278f84b7b6cbb795c7c96e7a08dabe": {"username": "Jonzee", "tumblr": "", "display_name": "Jonzee", "url": "http://disqus.com/guest/67278f84b7b6cbb795c7c96e7a08dabe/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0e63fda3bc8752465623f674ffcc5f40": {"username": "TruthSeeker", "tumblr": "", "display_name": "TruthSeeker", "url": "http://disqus.com/guest/0e63fda3bc8752465623f674ffcc5f40/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "cd50073575d16556a69ead5b86d1a87f": {"username": "miss-opinion", "tumblr": "", "display_name": "miss-opinion", "url": "http://disqus.com/guest/cd50073575d16556a69ead5b86d1a87f/", "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": ""}, "6b8623e8e850161265a6267d83471b3d": {"username": "RhondaCoca", "tumblr": "", "display_name": "RhondaCoca", "url": "http://disqus.com/guest/6b8623e8e850161265a6267d83471b3d/", "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": ""}, "3da39b121dc85e9bd8d9f861782bc8b9": {"username": "KarmiCommunist", "tumblr": "", "display_name": "KarmiCommunist", "url": "http://disqus.com/guest/3da39b121dc85e9bd8d9f861782bc8b9/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "25c2ebf4464c5d95fa227ddd4a0d2fe5": {"username": "Ronnie B", "tumblr": "", "display_name": "Ronnie B", "url": "http://disqus.com/guest/25c2ebf4464c5d95fa227ddd4a0d2fe5/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3b9a39f6bc38c0fc6082bf0373618c04": {"username": "Pamela", "tumblr": "", "display_name": "Pamela", "url": "http://disqus.com/guest/3b9a39f6bc38c0fc6082bf0373618c04/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "2042081350805262dea9b76f7cd72640": {"username": "smoothie", "tumblr": "", "display_name": "smoothie", "url": "http://disqus.com/guest/2042081350805262dea9b76f7cd72640/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "f8196abc4eed1f09b28cc223bd497673": {"username": "Melissa", "tumblr": "", "display_name": "Melissa", "url": "http://disqus.com/guest/f8196abc4eed1f09b28cc223bd497673/", "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": ""}, "ec01304ef170f657e87f409a510ddfde": {"username": "The Christian Progressive Libe", "tumblr": "", "display_name": "The Christian Progressive Libe", "url": "http://disqus.com/guest/ec01304ef170f657e87f409a510ddfde/", "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": ""}, "2856a0a69d86b3cc32b0fa651ff33d01": {"username": "Christopher Chambers", "tumblr": "", "display_name": "Christopher Chambers", "url": "http://disqus.com/guest/2856a0a69d86b3cc32b0fa651ff33d01/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "10085ae13841a9e4a9980dac4ca4a5d5": {"username": "mysisterskeeper", "tumblr": "", "display_name": "mysisterskeeper", "url": "http://disqus.com/guest/10085ae13841a9e4a9980dac4ca4a5d5/", "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": ""}, "cda55c7832b52db750659b8f518a520f": {"username": "honey01", "tumblr": "", "display_name": "honey01", "url": "http://disqus.com/guest/cda55c7832b52db750659b8f518a520f/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3b31356ea345f986babefd4710e13291": {"username": "justice58", "tumblr": "", "display_name": "justice58", "url": "http://disqus.com/guest/3b31356ea345f986babefd4710e13291/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "Jack and Jill Politics", "streaming_realtime": false, "url": "jackandjillpolitics", "allow_anon_post": false, "reactions_enabled": true, "reply_position": 1, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": false, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "jackandjillpolitics", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-09_15:11:42", "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": {"1970737": {"up_voted": false, "ip": "", "has_replies": false, "message": "Keith Olbermann Racks up another classic at John McCain's expense.  <br></br><br>http://thenewshole.msnbc.msn.com/archive/2008/06/12/1137670.aspx</br><br></br><br>as usual, a bit heavy on the melodrama, but even heavier on the facts.</br><br></br><br>The right must hate Olbermann.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_03:41:00", "killed": false, "user_key": "ace8018620947824dbdaa5c619193d07", "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}, "1970738": {"up_voted": false, "ip": "", "has_replies": false, "message": "When KO said:<br></br><br></br><br>YOu have BETRAYED THEM, Senator. </br><br></br><br>I went, WHOAH.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_03:57:00", "killed": false, "user_key": "f85f4de88a30987f0360c336da9569ae", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970739": {"up_voted": false, "ip": "", "has_replies": false, "message": "June 12, 2008 <br>Tax Relief for the Middle Class</br><br>Barack Obama</br><br></br><br>Kaukauna, Wisconsin</br><br></br><br>I just had the pleasure of sitting down with Ryan and Jenny Micke, and hearing about some of the challenges that they're facing in these tough economic times. We're going to continue our dialogue in a few moments, but I want to start by talking a little bit about my plan to provide meaningful tax relief for working people.</br><br></br><br>Americans work longer and harder than the people of any other wealthy nation. We've built the largest economy that the world has ever known, and the biggest middle class in history. But for the last eight years, we've failed to keep the fundamental promise that if you work hard you can live your own version of the American dream. Instead, folks are working harder for less. The cost of everything from gas, to groceries to tuition is skyrocketing. It's harder to save, and harder to retire. At kitchen tables like Ryan and Jenny's, it's easy to feel like that dream of opportunity that should be the right of all Americans is slipping away.</br><br></br><br>This troubling story is written into communities across the country. It's the story of empty factories shut down forever because the jobs were shipped overseas and nothing took their place. It's the story of a mother who can't afford health care for her sick child; a father who lost his job and can't afford a tank of gas to look for another; a child facing a future where they'll have to pay off hundreds of billions of dollars in debt to pay for George Bush's tax cuts. And I am running for President of the United States of America because the story of this downturn starts in Washington, and Washington has to change.</br><br></br><br> These difficult times are not an accident of history - they are a consequence of a tired and misguided economic philosophy in Washington. It's a philosophy that values wealth but not the work that creates it. That's how we've ended up with tax loopholes that allow companies to stash profits and ship jobs overseas. That's why we have seen tax cut after tax cut for the wealthiest Americans who don't need them and didn't ask for them. And that's why we're burdened with a tax code that's too complicated for ordinary folks to understand, but just complicated enough for Washington lobbyists who know how to work the system.</br><br></br><br>This philosophy is supported by an old brand of politics that uses understandable anti-tax sentiment to shift the tax burden on to working people. Meanwhile, the gaps in wealth grow wider and the costs to the middle class are greater. CEOs make more in a day than their employees make in a year. Our economy suffers through cycles of bubble and bust when the pain on Main Street trickles up to Wall Street. Even before our current crisis, we went through the first sustained period of growth since World War II that saw median incomes go down.</br><br></br><br>So there will be a very clear choice in this election. John McCain will dust off the old political playbook that George Bush used in the last two elections, and the disastrous tax policies that have failed the American people. I am running to lead this country in a new direction.</br><br></br><br>We both favor tax cuts. The difference is that Senator McCain wants to continue a Bush tax code that rewards wealth; I want to reform our tax code so that it rewards work. That's why the typical middle-class family will get three times more from my tax cut than the one John McCain has proposed, while nearly a quarter of his tax cuts go to households making over $2.8 million every year. That's right - $2.8 million. That's where John McCain wants to focus his tax relief in this struggling economy.</br><br></br><br>And Senator McCain once knew better. He said that he couldn't vote for the Bush tax cuts in good conscience because they were too skewed to the wealthiest Americans, but now he wants to make those same tax cuts permanent. Later, he said it was irresponsible to cut taxes during a time of war because we couldn't afford them, but now he'd continue running up hundreds of billions of dollars in debt while spending billions of dollars a day in Iraq. There's nothing conservative about that.</br><br></br><br>You know, I often say that John McCain is running to serve out George Bush's third term, but when it comes to taxes that's not being fair to George Bush. Because the fact is, Senator McCain is now calling for a new round of tax giveaways that are twice as expensive as the original Bush plan and nearly twice as regressive, and he has no concrete plan to pay for it. He'd spend nearly $2 trillion over a decade in tax breaks for corporations, including $1.2 billion for Exxon Mobil. Think about that. While you're paying four dollars at the pump and your children's future is being mortgaged under a mountain of debt, Senator McCain wants to give billions of dollars in tax breaks to Big Oil, and opposes a windfall profits tax on oil companies like Exxon to help families struggling with high energy costs.</br><br></br><br>I think that's exactly what we need to change in Washington. We can't keep driving a wider and wider gap between the few who are rich and the rest who struggle to keep pace. We can't keep pursuing policies that favor Wall Street over Main Street, because that approach ends up hurting both. It's time to turn the page. I will stop giving tax breaks to companies that ship jobs overseas, and put a tax cut into the pockets of working people, and struggling homeowners, and seniors. And we'll simplify our tax code so that folks don't have to work the system to get a fair deal.</br><br></br><br>First, we will provide real tax relief for the middle class by cutting taxes for 150 million Americans. We'll reward work through a \"Making Work Pay\" tax credit of $500 for American workers - and $1,000 for working families like Ryan and Jenny's - to offset the payroll tax that you're already paying. This will give the middle class a break with rising costs while giving our economy a boost. And because this credit would be greater than their income tax bill, this would eliminate income taxes for 10 million Americans.</br><br></br><br>The second part of my plan eases the burden on struggling homeowners through a universal homeowner's tax credit. This will immediately benefit 10 million homeowners who don't itemize - including Ryan and Jenny - who will get a break of 10 percent off their mortgage interest rate. For most middle class families, this will add about $500 each year. And this credit will extend a hand to many of the millions of families stuck in the subprime crisis by giving them some breathing room to refinance or sell their homes.</br><br></br><br>The third thing I'll do as President is keep our promise with America's seniors. Since the New Deal, we've had a basic understanding in this country. If you work hard and pay into the system, you've earned the right to a secure retirement. But even though seniors have held up their end of the bargain, many struggle to keep pace with costs, which can become a worry for an entire family. So I'll eliminate income taxes for all seniors making less than $50,000. This will eliminate income taxes for 7 million Americans, at a savings rate of roughly $1,400 each year. Seniors in this country should retire with the dignity and security they have earned.</br><br></br><br>Finally, it's time to cut through the complexity in our tax code. Deductions and exemptions are built into the system, but ordinary people don't have the time to figure them out without paying for a tax preparer. When I'm President, we'll put in place a system where 40 million Americans with a job and a bank account who take the standard deduction can do their taxes in less than five minutes. Meanwhile, under John McCain, you could have to fill out three tax forms all using different tax rules just to pay your taxes. Under my plan, there's no more worry. No more wasted time and expense. Your pre-prepared return will come to you in the mail. This will save Americans more than $2 billion in tax preparer fees and more than 200 million hours of work.</br><br></br><br>To pay for this, we'll restore a sense of fairness. That means standing up to the special interest carve outs, closing those corporate loopholes and tax breaks, and letting the Bush tax cuts for the wealthiest Americans expire. It's time for folks like me who make over $250,000 to pay our fair share. I am not afraid to have this debate about taxes and fairness - but let's be clear about what we're debating. If you are a family making less than $250,000, my plan will not raise your taxes - not your income taxes, not your payroll taxes, not your capital gains taxes, not any of your taxes. In fact chances are you will get a tax cut, and one that is larger than what Senator McCain is proposing. It's time to grow our economy by renewing our stake in our common prosperity.</br><br></br><br>It's time to end a philosophy in Washington that tells people like Ryan and Jenny that \"you're on your own,\" because we're all in this together as Americans. Most Americans aren't asking for a lot. They don't need overseas tax shelters or a long list of loopholes. They just want a fair shake. And they could stand a break. My tax cut is guided by the simple principle that what's good for Main Street is good for our entire economy. That's how we'll get people the relief they need, while getting our economy back on the right track.</br><br></br><br>Barack Obama is a Democratic Senator from Illinois and a candidate for the Democratic presidential nomination</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_06:49:00", "killed": false, "user_key": "e8929a93ccff877492df9b177a3888cf", "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}, "1970740": {"up_voted": false, "ip": "", "has_replies": false, "message": "For the Iraq cheerleaders<br>NEW YORK (<a href=\"http://CNNMoney.com\" rel=\"nofollow\">CNNMoney.com</a>) -- As the Iraq war continues with no clear end in sight, the cost to taxpayers may balloon to $2.7 trillion by the time the conflict comes to an end, according to Congressional testimony.</br><br></br><br>In a hearing held by the Joint Economic Committee Thursday, members of Congress heard testimony about the current costs of the war and the future economic fallout from returning soldiers.</br><br></br><br>At the beginning of the conflict in 2003, the Bush administration gave Congress a cost estimate of $60 billion to $100 billion for the entirety of the war. But the battle has been dragging on much longer than most in the government expected, and costs have ballooned to nearly ten times the original estimate.</br><br></br><br>William Beach, director of the Center for Data Analysis, told members of Congress that the Iraq war has already cost taxpayers $646 billion. That's only accounting for five years, and, with the conflict expected to drag on for another five years, the figure is expected to more than quadruple. Sen. Charles Schumer, D-N.Y., told members of Congress that the war costs taxpayers about $430 million per day, and called out the Bush Administration.</br><br></br><br>\"It is long past time for the administration to come clean and account for the real costs of the war in Iraq,\" said Schumer. \"If they want to disagree with our estimates or with other experts ... fine - they should come and explain why.\"</br><br></br><br>The Bush Administration, which was invited to give testimony, declined to participate.</br><br></br><br>The Pentagon has previously said that the war costs approximately $9.5 billion a month, but some economists say the figure is closer to $25 billion a month when long-term health care for veterans and interest are factored in. </br><br></br><br>Health care: In testimony before the committee, Dr. Christine Eibner, an Associate Economist with research firm RAND, said advances in armor technology have kept alive many soldiers who would have been killed in prior wars. But that has added to post-war health care costs for veterans, especially for \"unseen\" wounds like post traumatic stress disorder, major depression and traumatic brain injury.</br><br></br><br>Two-year post-deployment health care costs for the 1.6 million service members currently in Iraq and Afghanistan could range from $4 billion to $6.2 billion, according to Eibner. For one year of treatment, the costs are substantially lower, ranging from $591 million to $910 million. Eibner admitted that the study did not take into account long term care, and her estimates probably underestimate the total costs. </br><br></br><br>However, Eibner noted that an increasing number of soldiers are not seeking the care that they need, which affects their ability to get and maintain jobs. And, that, she said, must change.</br><br></br><br>\"Many service members are currently reluctant to seek mental health treatment due to fear of negative career repercussions,\" said Eibner. \"Policies must be changed so that there are no perceived or real adverse career consequences for individuals who seek treatment.\"</br><br></br><br>Unemployment: Furthermore, many veterans who recently completed their service are coming back to a difficult job and housing market.</br><br></br><br>Among veterans who completed their service within the last 1 to 3 years, 18% were unemployed, and 25% earned less than $21,840 a year, according to a recent report commissioned by the Department of Veterans Affairs. </br><br></br><br>\"Trying to convince [job interviewers] that my service will translate into skills ... at a bottling factory or a distributing company is almost like you're speaking French to someone who doesn't speak French,\" said Iraq and Afghanistan Veterans of America policy associate Tom Tarantino. </br><br></br><br>Montana Gov. Brian Schweitzer agreed, saying the government does a poor job at readying veterans for post-Army life.</br><br></br><br>\"We haven't figured out how to convert a warrior to a citizen yet,\" Schweitzer told the committee. </br><br></br><br>Foreclosure: Many soldiers who come home from active duty are also finding difficulty keeping their homes.</br><br></br><br>\"Military families are already shouldering heavy burdens to care for and support families while their loved ones are serving abroad or recovering at home,\" said Schumer. \"Knowing that so many more are losing their homes to foreclosure is heartbreaking -- and its just plain wrong.\" </br><br></br><br>The senator said that Army personnel returning from duty are at a 37% higher risk of foreclosure, because the areas populated by military families have substantially larger foreclosure rates.</br><br></br><br>\"Veterans of Iraq and Afghanistan deserve better,\" testified Tarantino. </br><br></br><br>Tarantino recommended Congress quickly sign into law an update to the World War II GI Bill, which would help ease the economic hardships returning solders are feeling.</br><br></br><br>\"More than any other single piece of legislation, the GI Bill will make a difference in the economic futures of the troops returning every day from Iraq and Afghanistan,\" he said. </br><br></br><br>First Published: June 12, 2008: 12:07 PM EDT</br><br>...................................</br><br>We maybe bankrupt as a nation but at least we got Saddam</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_08:30:00", "killed": false, "user_key": "e8929a93ccff877492df9b177a3888cf", "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}, "1970741": {"up_voted": false, "ip": "", "has_replies": false, "message": "For those who caught Countdown last night, was there a flicker on my TV, or did Kieth actually shed a Tear during his special comment?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_08:48:00", "killed": false, "user_key": "2042081350805262dea9b76f7cd72640", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970742": {"up_voted": false, "ip": "", "has_replies": false, "message": "djchefron<br></br><br>Is there a link for Barack's Tax  Relief for the Middle Class?</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_08:52: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}, "1970743": {"up_voted": false, "ip": "", "has_replies": false, "message": "Smoothie,<br>It looked to me like he shed a tear also.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_09:00:00", "killed": false, "user_key": "c36c5e8bd4d56491f8a60b53ae8e9eb4", "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}, "1970744": {"up_voted": false, "ip": "", "has_replies": false, "message": "First Hillpatine, and now McCain.<br></br><br>Both these individuals are working Olbermann's last nerve.  And he was initially a Hillpatine supporter until she and the Big Dog got their \"Ferraro\" on after South Carolina.</br><br></br><br>He choked up during his \"Special Comment\" on Hillpatine, too.  So that probably was a tear you saw him shed while breaking that can of whip-ass out on McCain.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_09:08:00", "killed": false, "user_key": "ec01304ef170f657e87f409a510ddfde", "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}, "1970745": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://craighickman.blogspot.com/2008/06/meaning-of-life.html\" rel=\"nofollow\">The Meaning of Life</a>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_09:21:00", "killed": false, "user_key": "9bf0971c139c9dc33659e8ed441e4f5e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970746": {"up_voted": false, "ip": "", "has_replies": false, "message": "Rikyrah,<br></br><br>The pic is too cute!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_09:25: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}, "1970747": {"up_voted": false, "ip": "", "has_replies": false, "message": "Just for laughs:<br></br><br>http://www.barelypolitical.com/barely-political-uncovered/episode/BPU_20080508</br><br></br><br>Enjoy!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_09:54:00", "killed": false, "user_key": "7c4455626754e1b9bc3be232b1024136", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970748": {"up_voted": false, "ip": "", "has_replies": false, "message": "MSM is still covering for Obama. Truth on and about Obama is either ignored or called a \"smear\". This, after MSM's (with the help of many others) constant smearing of <b>'W'</b> for eight years. Anyway...<br></br><br><a href=\"http://www.powerlineblog.com/archives2/2008/06/020742.php\" rel=\"nofollow\">Fighting \"Smears,\" Selectively</a></br><br></br><br>\"<i><b>The problem with Obama's site is the issues it doesn't address.</b></i>\"</br><br></br><br>Examples: Rezko, Ayers, Dohrn, Khalidi, Power, Malley, El-Hady, etc. get very little attention from the MSM, and so Obama gets a pass on them.</br><br></br><br>The radical (and sometimes racist remarks) by Obama get very little press and are not addressed by Obama at his \"smear site\". The anti-Americanism remarks by both Obama and Michelle are glossed-over by MSM and are not addressed at the \"smear site\".</br><br></br><br>\"<i><b>It will be interesting to see what \"smears\" Obama chooses to rebut as the campaign continues, and whether he ever uses this site to respond to the many legitimate concerns that have been raised about him and his candidacy.</b></i>\"</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_09:59:00", "killed": false, "user_key": "3da39b121dc85e9bd8d9f861782bc8b9", "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}, "1970749": {"up_voted": false, "ip": "", "has_replies": false, "message": "LOL", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_10:21:00", "killed": false, "user_key": "cd50073575d16556a69ead5b86d1a87f", "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}, "1970750": {"up_voted": false, "ip": "", "has_replies": false, "message": "McCain (and Cindy) On Drugs<br></br><br>By Stanton Peele on June 13, 2008 in Addiction in Society</br><br></br><br>Much has been made of allegations of youthful use of illegal drugs by Democratic presidential candidate Barack Obama. Meanwhile, his GOP opponent, Arizona Sen. John McCain, has admitted that his wife not only illegally used drugs but walked away from criminal charges. The McCains have worked to make Cindy McCain's addiction into a political asset-despite the fact that she stole the drugs from a charity she directed and used them while mothering four young children.</br><br></br><br>In 1994, Mrs. McCain admitted that she had solicited prescriptions for painkillers from physicians who worked for an international charity that she founded, the American Voluntary Medical Team. She then filled the prescriptions in the names of her staff.</br><br></br><br>There are two ways to react to this behavior. According to the Betty Ford model, people can sympathetically respond to the oppressed and ignored wife of a busy politician who has bravely come forward to admit her overpowering addiction. Mrs. McCain took this posture when she first tearfully confessed her addiction. She and her husband repeated this performance in October, 2000, on the NBC program \"Dateline.\"</br><br></br><br>The other possible public reaction is one of anger. Americans are prosecuted every day for such drug use. While most drug abusers purchase their drugs from street dealers, Mrs. McCain used her status as a charity director and senator's wife to cajole the drugs she wanted.</br><br></br><br>In fact, Mrs. McCain was investigated by the Drug Enforcement Administration after the agency was approached by a former staff member of her charity. The investigation resulted in no charges or prison time for her, and she entered a diversion program. While these records were not made public at the time, Mrs. McCain eventually confessed her drug use when she learned that a reporter was investigating the story.</br><br></br><br>Is Mrs. McCain to be judged as a pitiable victim or as a criminal felon? This debate is at the heart of the discussion of American drug policy. Should we deal with illicit drug users as victims or as criminals?</br><br></br><br>Let's examine Mrs. McCain's position in these terms. She is the privileged daughter of a wealthy family and spouse of an important politician, a person who had her own position of prestige and power. Should she not be held at least as accountable for her actions as an uneducated inner-city drug user? After all, she could enter drug treatment at any time she chose, unlike many drug users who find themselves in prison.</br><br></br><br>Moreover, Mrs. McCain was violating a position of trust by stealing from a charitable organization, using its money and medical expertise to fuel her drug use. Is this not morally more reprehensible than simply purchasing drugs illegally?</br><br></br><br>Finally, Mrs. McCain was the mother of four children at the time she admits to using drugs-between 1989 and 1992. Her children were born in 1984, 1986, 1988 and 1991. In other words, Cindy McCain was using drugs while raising small children, one of whom she adopted while she was an addict. In most states, family services will remove children from a woman who is known to be an active drug addict, and she would certainly not be allowed to adopt a child while addicted.</br><br></br><br>John McCain is a hawk in the drug war. He advocates stricter drug laws, penalties and enforcement against drug sellers. He has had nothing to say about redressing our punitive approach toward drug users. Of course, McCain also supports family values. Yet if John and Cindy McCain were not well-off and influential, they might not have a family at all. McCain's lack of concern for street drug users contrasts sharply with the support and understanding his wife received. It's the old American double standard. For \"straight-shooter\" McCain, charity begins at home-and ends there.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_10:26:00", "killed": false, "user_key": "3b9a39f6bc38c0fc6082bf0373618c04", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970751": {"up_voted": false, "ip": "", "has_replies": false, "message": "NYC Exhibit was shut down due to offensive material about Obama, his family and Clinton.<br></br><br>It's pretty offensive stuff. </br><br></br><br>&lt;a href=\"www.nymag.com/daily/intel/2008/06/artist_arrested_for_assassinat.html<br />\"&gt;</a></br><br>\" REL=\"nofollow\"&gt;The Assassination of Hillary Clinton/ The Assassination of Barack Obama Shut Down</br><br></br><br><a href=\"\u201cwww.haroldmansfield.com/ny-gallery-displays-nooses-and-big-penises-as-obama-assasination-exhibit/\u201d\" rel=\"nofollow\">More Explicit Pictures Here</a></br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_10:26:00", "killed": false, "user_key": "6b8623e8e850161265a6267d83471b3d", "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}, "1970752": {"up_voted": false, "ip": "", "has_replies": false, "message": "Code word: \"Exotic\"<br></br><br>Pat Buchanan in answering a question on whether it is smart for the GOP to go negative on Obama suggested of course it is cause he's \"exotic\"</br><br></br><br>This is gonna get ugly!</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_10:39:00", "killed": false, "user_key": "10085ae13841a9e4a9980dac4ca4a5d5", "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}, "1970753": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://www.hollywoodreporter.com/hr/content_display/news/e3i4fac3531390a953c31467d91c4fe3d92?imw=Y\" rel=\"nofollow\">Spike Lee is accused of havin</a>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_10:43:00", "killed": false, "user_key": "6b8623e8e850161265a6267d83471b3d", "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}, "1970754": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ronnie b sorry I couldnt answer you sooner I was making a mix for my stepson who just left the army.I got the speech from realclear politics", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_10:45:00", "killed": false, "user_key": "e8929a93ccff877492df9b177a3888cf", "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}, "1970755": {"up_voted": false, "ip": "", "has_replies": false, "message": "Here is the best commentary on Faux News foolishness with the babymama commentary. <br></br><br>ABB breaks it down.</br><br></br><br>http://angryblackbitch.blogspot.com/2008/06/on-fox-baby-mama-fucktuptitude.html</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_10:47:00", "killed": false, "user_key": "67278f84b7b6cbb795c7c96e7a08dabe", "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}, "1970756": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'd like someone to put a price on what will happen if we fail in Iraq.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_10:51:00", "killed": false, "user_key": "0183bc94f5be8b9ec79636f3f2174ff5", "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}, "1970757": {"up_voted": false, "ip": "", "has_replies": false, "message": "No link, just the Michelle Malkin thing on FOX with the graphic \"Obama's Baby Mama.\"<br></br><br>First, we reap what we sow. Our more ghettofab folk and then our comedians send this stuff out there, the white people pick it up like aliens intercepting the signals of those 1950s sit coms in space...</br><br></br><br>That said, it only seems to raise a snicker among the FOX viewers, not outrage. Again, Obama's JFK. JFK picked LBJ as a running mate and before that had his dad. How many goddamn times to I have to say it before it sinks in--get a pit bull/non-punch puller. Preferably a white male \"real guy\" (ie not an arugula eater and somebody who can fricking bowl with the crackers) to fight back publicly. Not necessarily a running mate--just a foilor shield. These liberal namby pamby Michele Obama \"anti-smear\" websites do nothing to swing Podunk and the burbs. They're smearing Michele, boo hoo. What did you think would happen? Sure it might turn off soccer moms but they're still sore over Hillary and you can't rely on them too much at this stage. </br><br></br><br>Hire Va. Senator Jim Webb, or that big white congressman ex-QB Heath Shuler and turn them loose on FOX, et al before it's too late. Put Larry Flynt and his bootie detectives on the payroll. Start your own covert \"plumbers\" corps to bug the RNC. Spread rumors among black servicemen and women that if the GOP still rules it'll be like the old days when black soldiers and sailor were lynched on-base or chased down the streets in town...</br><br></br><br> This isn't about McCain. The same people behind the negativity are also nervous about the old fart, which is why this is going to be a nasty campaign. if they can crush Obama, then they will show McCain he needs to tow the line if he wants to live out his term.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_10:54:00", "killed": false, "user_key": "2856a0a69d86b3cc32b0fa651ff33d01", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970758": {"up_voted": false, "ip": "", "has_replies": false, "message": "Good morning d,maybe you can define success and how many lives are you willing to sacrifice to attain it", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_11:07:00", "killed": false, "user_key": "e8929a93ccff877492df9b177a3888cf", "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}, "1970759": {"up_voted": false, "ip": "", "has_replies": false, "message": "Where is McCain hiding his black adopted daughter?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_11:14: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}, "1970760": {"up_voted": false, "ip": "", "has_replies": false, "message": "djcherfon,<br>Morning.....</br><br></br><br>In a nutshell, success in Iraq will be found when that country's government is able to provide for the welfare and security of its own citizens.</br><br></br><br>And last I checked, America was supposed to be able to \"pay any price, bear any burden, meet any hardship, support any friend, oppose any foe, in order to assure the survival and the success of liberty.\"</br><br></br><br>Did that change somewhere along the way?</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_11:17:00", "killed": false, "user_key": "0183bc94f5be8b9ec79636f3f2174ff5", "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}, "1970761": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://www.americanthinker.com/blog/2008/06/hands_off_michelle_obama_you_g.html\" rel=\"nofollow\">Hands Off Michelle Obama, You GOP Meanies!</a>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_11:19:00", "killed": false, "user_key": "0183bc94f5be8b9ec79636f3f2174ff5", "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}, "1970762": {"up_voted": false, "ip": "", "has_replies": false, "message": "Code word: \"Exotic\"<br></br><br>Pat Buchanan in answering a question on whether it is smart for the GOP to go negative on Obama suggested of course it is cause he's \"exotic\"</br><br></br><br>This is gonna get ugly!</br><br></br><br></br><br>@mysisterskeeper,</br><br>I am so glad someone finally called him on it. I usually turn the channel when Dan Abrams comes on because he is annoying as all get out, but I was happy to see the Black contributor (don't know her name) call him out. He has said it a numerous times and no one ever says boo. The only person I know who has shut him down on other offensive moments is Rachel Maddow. </br><br></br><br>There are certain phrases I know I will hear out of Pat \"the racist\" Buchannan's mouth before even speaks. (1)\"What's wrong Barack Obama\" (2) Jeremiah Wright (3) Exotic. The topic could be the friggin weather and he will manage to say these at least these three phrases. Guarantee.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_11:19:00", "killed": false, "user_key": "cda55c7832b52db750659b8f518a520f", "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}, "1970763": {"up_voted": false, "ip": "", "has_replies": false, "message": "Christopher Chambers-<br></br><br>You reap what you sow?? Really...so we are going to judge people based on what is seen in the media?</br><br></br><br>The media and popular culture have been producing negative images of African Americans for a century. Many if not the majority are against it yet it continues. So we reaped what we sowed for the past century is that what you are telling me?</br><br></br><br>I noticed from your comments that you like to equate the entire african american community and experienced with hip hop, TV shows, youth culture...</br><br></br><br>If you have an issue with black people and yourself thenso let it be.</br><br></br><br>However I will tell you that no group of people would be okay with one drawing up stereotypes and thinking its okay based on TV.</br><br></br><br>Smart.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_11:21:00", "killed": false, "user_key": "f8196abc4eed1f09b28cc223bd497673", "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}, "1970764": {"up_voted": false, "ip": "", "has_replies": false, "message": "The Democratic Party should\u2019ve vetted Obama sooner. However, vetting Democrat candidates is probably a tad too dangerous, and hence it is <i>\u2018best\u2019</i> that the candidates just slip pass the vetting stage instead. (Note: Bill Clinton was never properly vetted either.)<br></br><br>It looks like Antoin \u201cTony\u201d Rezko has started to <i>\u2018squirm\u2019</i> a little, since he is about to be sentenced to many years behind prison bars. The friendship and association between Obama and Rezko is another subject that Obama doesn\u2019t properly address on his new \u201cSmear Site\u201d.</br><br></br><br><a href=\"http://www.politico.com/news/stories/0608/11041.html\" rel=\"nofollow\">Rezko: Feds pushed for dirt on Obama</a></br><br></br><br>Rezko \u201c<i>lashed out yesterday at federal prosecutors, accusing them of political motivations in seeking to pressure him into becoming a material witness</i>\u201d against Blagojevich and Obama. Yes, Rezko has started to <i>\u2018squirm\u2019</i>. Of course, like all <b><i>\u2018RATS\u2019</i></b> on the verge of squealing, Rezko is now forcefully stating \u2013 \u201c<i>I have never been party to any wrongdoing that involved the governor or the senator. I will never fabricate lies about anyone else for selfish purposes. <b>I will take what comes my way</b>, but I will never hurt innocent people.</i>\u201d Yeah\u2026r-i-g-h-t, Rezko. His statement is merely a prelude to his rapidly approaching squealing moment.</br><br></br><br>Basically, the Feds <i>followed-the-money</i>, and that <i>money-trail</i> led directly to Barack Obama. Obama keeps changing his story \u2013 in regards to the Rezko campaign contributions \u2013 i.e. from $50,000 to $150,000, and now it\u2019s up to around $250,000. Add the real-estate deal, the letters by Obama on Rezko\u2019s behalf in with the contributions, and you have some major corruption going on.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_11:26:00", "killed": false, "user_key": "3da39b121dc85e9bd8d9f861782bc8b9", "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}, "1970765": {"up_voted": false, "ip": "", "has_replies": false, "message": "Obama's site is an ANTI smear site.  If you want to deal with non-issues like Ayers etc. you can create your own SMEAR blog, as you've done.<br></br><br>It is gratifying to see the desperation in the more bigoted right wing.  They keep worrying these non-issues like a dog with a bone.  Obama and family is profoundly normal.</br><br></br><br>You should be relieved karmicommunist.  What a gift you've been given in Obama.  Instead, you are anxious, writing numerous comments that worry, worry, worry over things that have been addressed.  </br><br></br><br>Yes, black people are normal.  They achieve and they fail.  They make mistakes and rise to grand heights.  They can even win the Presidency and govern with integrity and compassion.  'Ain't that something?!</br><br></br><br>Right now, O-force is talking to seniours with  the lovely, but more guarded Michelle introducing him.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_12:20:00", "killed": false, "user_key": "0e63fda3bc8752465623f674ffcc5f40", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970766": {"up_voted": false, "ip": "", "has_replies": false, "message": "truthseeker, what makes a family man look more normal than appearing with his family?<br></br><br>Surely, a brutal national campaign will require that they appear separately, but the more they can appear together, the better.</br><br></br><br>I also think it's a great idea for his surrogates to respond like pitbulls to the attacks on his character. That way, he can stay on message and not spend too much of his live campaigning squashing the smears.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_12:51:00", "killed": false, "user_key": "9bf0971c139c9dc33659e8ed441e4f5e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970767": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"<i>non-issues like Ayers etc.</i>\"<br></br><br>Dream on, Truthseeker (BTW, perhaps you should find another 'handle') - people like Ayers, Dohrn, Rezko, Rev. Wright, Rev. Pfleger, Khalidi, Ali Abunimah, Samantha Power, Malley, El-Hady, Brzezinski, Cornel West, Farrakhan, Cynthia Miller, Jennifer Mason, Shakir Muhammad, Edward Said, Carl Davidson, Frank Davis, Jim Johnson, and Eric Holder are not only <b>Real Issues</b>, but Obama's connection to such racists/crooks/anti-America people is his Modus Operandi.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_12:59:00", "killed": false, "user_key": "3da39b121dc85e9bd8d9f861782bc8b9", "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}, "1970768": {"up_voted": false, "ip": "", "has_replies": false, "message": "Update on my earlier post on Rezko:<br></br><br><a href=\"http://www.chicagotribune.com/news/columnists/chi-kass-13-jun13,0,1570658.column\" rel=\"nofollow\">Rezko's letter should put Obama, governor on alert</a></br><br></br><br>\"<i>The last thing Sen. Barack Obama and Gov. Rod Blagojevich needed was that letter written by convicted Illinois influence peddler Tony Rezko promising he'd never rat out his pals.</i>\"</br><br></br><br>Like I had said...Rezko is about ready to - <i>'Roll Over'</i>.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_13:10:00", "killed": false, "user_key": "3da39b121dc85e9bd8d9f861782bc8b9", "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}, "1970769": {"up_voted": false, "ip": "", "has_replies": false, "message": "Let it go, for your own sanity.  There is nothing to find.  You will have to enter the darklands and make stuff up to justify your fear.<br></br><br>I am sure if we investigated, we'd find connections between you and everyone on your list...you know, 6 degrees of separation.</br><br></br><br>You may have people in your past or relatives who've committed horrible crimes.  Are you tainted by your association with them?  Maybe you yourself have some nasty secrets...who knows.</br><br></br><br>Set your mind at ease.  I am sure you can think of at least one positive thing you admire in Obama.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_13:19:00", "killed": false, "user_key": "0e63fda3bc8752465623f674ffcc5f40", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970770": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://www.huffingtonpost.com/joseph-nye/barack-obama-and-soft-pow_b_106717.html\" rel=\"nofollow\">Obama and Soft Power</a>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_13:21: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}, "1970771": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://www.huffingtonpost.com/2008/06/13/poll-dems-not-gop-satisfi_n_106908.html\" rel=\"nofollow\">Dems, not GOP, satisfied with their nominee</a>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_13:22: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}, "1970772": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://www.huffingtonpost.com/bob-burnett/obamas-victory-three-key_b_106682.html\" rel=\"nofollow\">Obama's Three Key Endorsements</a>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_13:23: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}, "1970773": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://www.huffingtonpost.com/andy-ostroy/michelle-obama-is-nobodys_b_106847.html\" rel=\"nofollow\">Michelle Obama is Nobody's Baby Mama</a>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_13:24: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}, "1970774": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://www.huffingtonpost.com/erin-kotecki-vest/cindy-mccain-is-no-baby-m_b_106666.html\" rel=\"nofollow\">McCain's Pill Poppin' Piece-on-the-Side Is No Baby Mama</a>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_13:25: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}, "1970775": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://www.huffingtonpost.com/2008/06/13/dems-not-backing-obama-ra_n_106947.html\" rel=\"nofollow\">Not Backing Obama?Rahm will deal with them</a>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_13:26: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}, "1970776": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://www.huffingtonpost.com/stephen-ducat/emasculation-in-republica_b_106823.html\" rel=\"nofollow\">Emasculation in Republican Psychological Warfare</a>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_13:27: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}, "1970777": {"up_voted": false, "ip": "", "has_replies": false, "message": "Craig,<br></br><br>He seems wilted somehow when he's on the road without his family.  Maybe in the summer with the girls out of school, they'll stay on the road with him. </br><br></br><br>I'm relieved he's recruited his huge support base to help fight the smears via e-mail.  This willingness by ordinary citizens to destroy the reputation of candidates is troubling to me.  It violates the basic decency we assume our fellow humans possess.  You know, stuff your Mama taught you? </br><br></br><br>Is the guy next door photoshopping your image onto a naked body and spreading it on the internet?  Is he spreading viscious rumours around the neighborhood?...really disturbing.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_13:33:00", "killed": false, "user_key": "0e63fda3bc8752465623f674ffcc5f40", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970778": {"up_voted": false, "ip": "", "has_replies": false, "message": "I meant to say above that, <br></br><br><a href=\"http://www.hollywoodreporter.com/hr/content_display/news/e3i4fac3531390a953c31467d91c4fe3d92?imw=Y\" rel=\"nofollow\">Spike Lee is being accused of having Anti-Italian portrayals in his movies</a></br><br></br><br>I believe I messed that up along with the links abotu that exhibit...oh well.</br><br></br><br><a href=\"http://africa.reuters.com/wire/news/usnL11613375.html\" rel=\"nofollow\">Gaffadi believes that Obama has an inferiority complex</a></br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_13:35:00", "killed": false, "user_key": "6b8623e8e850161265a6267d83471b3d", "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}, "1970779": {"up_voted": false, "ip": "", "has_replies": false, "message": "Obama's 17 State Strategy <br>by: Chris Bowers</br><br>Fri Jun 13, 2008 at 11:39 </br><br> </br><br>While the Obama campaign will keep staff to all 50 states, and while it is keeping its volunteer campaign infrastructure in place in all 50 states as well, today it is sending 3,600 organizing fellows to 17 states. Unless plans have changed in the last seventeen days, the seventeen states are as follows: </br><br></br><br>In an email to people accepted into their Organizing Fellowship Program, the Obama camp listed the 17 states below as the ones where they need the most resources:</br><br></br><br>Colorado </br><br>Florida </br><br>Georgia </br><br>Iowa </br><br>Michigan </br><br>Missouri </br><br>North Carolina </br><br>New Hampshire </br><br>New Jersey </br><br>New Mexico </br><br>Nevada </br><br>Ohio </br><br>Oregon </br><br>Pennsylvania </br><br>Virginia </br><br>Washington </br><br>Wisconsin</br><br></br><br>So, Obama will run a 50 state campaign, but it will be layered with a 17 state focus. This isn't a contradiction, at least not as I understand the 50-state strategy. The strategy does not dictate that resources are spent equally across the entire nation, just that some resources are spent everywhere. Certain areas are still more heavily targeted, but no area is ignored.</br><br></br><br></br><br>Overall, I would have ignored Washington, and used those resources on Alaska, Connecticut, Montana and Nebraska-02 instead. (Combined, those three states and one congressional district have roughly the same population as Washington). Given Bob Barr and the large African-American population, Georgia probably makes more sense than an alternate possibility, targeting Indiana and the Dakotas. (Combined, Indiana and the Dakotas have roughly the same population as Georgia).</br><br></br><br></br><br>I look at the list in more detail in the extended entry.</br><br> </br><br>Chris Bowers :: Obama's 17 State Strategy </br><br>Thoughts on the targeted and the targeted-nots: </br><br></br><br>Georgia, huh? This is perhaps the biggest surprise on the list, but the Obama campaign seems ready to make a play for it. One factor might be that Libertarian nominee Bob Barr is from Georgia, and he has won elections here before. As Barr drains votes from McCain, increased African-American turnout could make the state close. Still, even with Barr at 6-8%, McCain still leads here by 10%. I have to believe that Obama has already put Sam Nunn on his short list if he is targeting Georgia, and that makes me very nervous. </br><br></br><br>Not targeting Arizona. Despite implications, even from the McCain campaign, that Arizona might be in play this year, the Obama campaign isn't shooting for it. That is probably pretty smart. While nominees sometimes lose their home states (Gore, for example), when the state already leans toward that party (Bush won Arizona by 6.32% in 2000, and 10.47% in 2004), it seems highly unlikely. Good call to not heavily target the state. </br><br></br><br>No West Virginia: While it is a good move to not target West Virginia with organizers in and of itself, hopefully the Obama campaign will still run paid media there, as southeast Ohio shares media markets with West Virginia. </br><br></br><br>No Indiana: While polling in Indiana is close, apparently the Obama campaign does not think it is a top target. </br><br></br><br>No Maine, Minnesota: Over the past two cycles, Maine and Minnesota were both considered swing states, particularly Minnesota. This time around, the Obama campaign appears to believe they have Minnesota, and Maine's 1st congressional district, in the bag. Avoiding ME-01 because it already leans your way and is only worth one vote makes sense, but what about... </br><br></br><br>No Minnesota, but Oregon?: It is a bit of a surprise to Oregon on this list, but not Minnesota. <a href=\"http://Pollster.com\" rel=\"nofollow\">Pollster.com</a> shows Obama ahead by identical 50.8%-39.0% amounts in Minnesota and Oregon, and both states will also feature competitive Senate elections. Neither really feel like swing states this time, to tell you the truth. But it gets worse when you see... </br><br></br><br>Washington? Really? Obama is ahead by a whopping 16.2% in Washington. In fact, according to <a href=\"http://Pollster.com\" rel=\"nofollow\">Pollster.com</a>, my Presidential forecast, and <a href=\"http://fivethirtyeight.com\" rel=\"nofollow\">fivethirtyeight.com</a>,  Obama's Washington lead is surpassed only by his lead in D.C., Hawaii, Illinois and Vermont. If your 5th best jurisdiction is a swing state, then I'm Elmer Fudd. This really feels unnecessary. </br><br></br><br>New Jersey and Oregon, but not Connecticut? While I am a little surprised to see New Jersey on the list, it isn't all that surprising. What does surprise me is that the Obama campaign is hitting New Jersey but not Connecticut, given that the two states are extremely similar in this election. Either way, both will probably be closer than, Oregon, a state that has the same number of electoral votes as Connecticut. </br><br></br><br>Where are the small states? A case could be made for Alaska, the Dakotas, Delaware, Montana, and Nebraska-02 as swing states. While I have no problem avoiding Delaware (it can be reached by PA media and already leans pretty blue anyway), Democrats have been on real winning streaks in the Dakotas and Montana recently, and polls show both Montana and North Dakota in single digits. The calculation must be that these states are simply too small, population wise and electoral vote wise, but with a widely distributed population, for resources to be effectively spent there. Obama avoided South Dakota in the primaries as well. </br><br></br><br>Alaska would have been great: While polling shows Obama down by 7-9% in Alaska, this year it will feature highly competitive congressional campaigns for both the House and the Senate. Also, Anchorage makes up 40% of the state's population, making the population much easier to target. Further, Bob Barr should do well in Alaska, as the state is more pro-third parties than any other in the nation (except possibly Maine), and also has a real libertarian bent. It is a big disappointment to not see more targeting in Alaska, especially given what strikes me as a waste of resources in Washington.</br><br>Lots of tricky decisions, but with the exceptions I listed above the fold I generally agree with them. Run a 50 state campaign, but layer it over the top with seventeen highly targeted states. If Obama wins the seventeen states listed above, plus the remaining Kerry states, he will win 379 electoral votes.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_13:44:00", "killed": false, "user_key": "e8929a93ccff877492df9b177a3888cf", "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}, "1970781": {"up_voted": false, "ip": "", "has_replies": false, "message": "That \"Emasculation in Republican Psychological Warfare, And Why It Works\" that Rikyrah posted is a word buffet I tell ya!  And, so very true.<br></br><br>Hillary also tried to use the \"rhetorical lynching\" and emasculation techniques against Obama.  </br><br></br><br>In pictures of lyingings, within the murderous crowd, their faces illuminated by the photographer's flash..white WOMEN!  Dispassionate even in the killing of another human being - untroubled by the smell of burning flesh.  </br><br></br><br>Those things, the smell of burning flesh, cannibalism, incest are taboo..and repel us under normal circumstances.  I wonder what steeled these white WOMEN - supposed gentle creatures - to the taboo of burning flesh and hanging corpses.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_13:51:00", "killed": false, "user_key": "0e63fda3bc8752465623f674ffcc5f40", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970782": {"up_voted": false, "ip": "", "has_replies": false, "message": "Is Gaddafi wrong? (Obama's inferiority complex)<br></br><br></br><br>I'm not suggesting he is right or wrong, just wondering what people thought of the article.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_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}, "1970783": {"up_voted": false, "ip": "", "has_replies": false, "message": "Re Baby Mama,<br></br><br>so, if this phrase is an insult, where does that leave us?  Within the black community, women are sometimes referred to as \"Baby Mama's\".  </br><br></br><br>Do we agree there's not a whole lot of love in that label?  Why is it acceptable - even endearing - when said of women of a certain class or race - within a certain race - but not of others?</br><br></br><br>We have the right to name ourselves.  We should choose more loving names.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_14:03:00", "killed": false, "user_key": "0e63fda3bc8752465623f674ffcc5f40", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970784": {"up_voted": false, "ip": "", "has_replies": false, "message": "Erin Vest wrote the hell out of that article, rikyrah.<br></br><br>::</br><br></br><br>I agree, truthseeker. I agree. We need to love ourselves and show it in what we call one another.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_15:27:00", "killed": false, "user_key": "9bf0971c139c9dc33659e8ed441e4f5e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970785": {"up_voted": false, "ip": "", "has_replies": false, "message": "So Barack is definitely going after Georgia and North Carolina. <br></br><br>In NC, McCain leads 45-43. A virtual tie.</br><br></br><br>I'd like to see Barack go after Mississippi as well if for no other reason than it will make McCain spend money there. Too many things would have to go right for Barack to pull off the upset of the election, which I just don't see happening, but stranger things...</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_15:38:00", "killed": false, "user_key": "9bf0971c139c9dc33659e8ed441e4f5e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970786": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sad news ya'll.<br></br><br>Tim Russert passed away today from a heart attack.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_15:49:00", "killed": false, "user_key": "6a15e2f4a8734cebd4efee6381b0eb4f", "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}, "1970787": {"up_voted": false, "ip": "", "has_replies": false, "message": "Anyone seen this on Huffington Post:<br></br><br>http://www.huffingtonpost.com/mary-battiata/the-next-big-bling_b_106870.html</br><br></br><br>....</br><br></br><br>What the hell?</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_16:48: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}, "1970788": {"up_voted": false, "ip": "", "has_replies": false, "message": "Anonymous 1:48,<br></br><br>I, too, think this writer could have done well by an editor asking her what the hell are you saying.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_18: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}, "1970789": {"up_voted": false, "ip": "", "has_replies": false, "message": "<a href=\"http://briefingroom.thehill.com/2008/06/13/obama-gop-trying-to-paint-me-michelle-as-too-black/\" rel=\"nofollow\">GOP trying to paint us as ' Too Black'-Obama says</a>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_18:18: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}, "1970790": {"up_voted": false, "ip": "", "has_replies": false, "message": "Rikyrah @ 3:18<br></br><br>Sounds like Obama is using the <i>'Race Card'</i>...again, in order to cover up him and Michelle being 'Too Radical' and 'Too anti-American'.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_18:33:00", "killed": false, "user_key": "3da39b121dc85e9bd8d9f861782bc8b9", "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}, "1970791": {"up_voted": false, "ip": "", "has_replies": false, "message": "karmicommunist,<br></br><br>What is your goal?  Really, it is highly likely that Obama will become President.  Even if he doesn't, it's only a matter of time before another African American does...it's inevitable.  What does it feel like to oppose the inevitability of time and fate?</br><br></br><br>It's suicidal to engage in a dead-end pursuit, that's why I say you're on a deathmarch.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_19:43:00", "killed": false, "user_key": "0e63fda3bc8752465623f674ffcc5f40", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970792": {"up_voted": false, "ip": "", "has_replies": false, "message": "Obama is not fit to be President of the USA, Truthseeker. I'm waiting for Condi Rice or Colin Powell or Russel L. Honor\u00e9 to run for President...or, someone like them, in case you didn't know.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_20:11:00", "killed": false, "user_key": "3da39b121dc85e9bd8d9f861782bc8b9", "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}, "1970793": {"up_voted": false, "ip": "", "has_replies": false, "message": "Russel Honore?...LOL  I don't think Russel is likely to be President; however, He should be head of FEMA or perhaps, homeland security.<br></br><br>Condoleeza Rice was party to authorizing torture, that disqualifies her.  Colin Powell has the cache and qualifications but not the desire.  </br><br></br><br>Obama has the qualifications, temperament and vision.  Obama is fit to be President.</br><br></br><br>It's interesting you place your bets on the long shots....as if you're counting on losing.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_20:24:00", "killed": false, "user_key": "0e63fda3bc8752465623f674ffcc5f40", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "1970794": {"up_voted": false, "ip": "", "has_replies": false, "message": "Truth,<br>You don't want a military hit in charge of FEMA or DHS.</br><br></br><br>You'd informally subordinate those agencies to the whims-and bureaucracy-of DOD.</br><br></br><br>Bad.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_20:40:00", "killed": false, "user_key": "0183bc94f5be8b9ec79636f3f2174ff5", "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}, "1970795": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"military guy\"", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_20:42:00", "killed": false, "user_key": "0183bc94f5be8b9ec79636f3f2174ff5", "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}, "1970796": {"up_voted": false, "ip": "", "has_replies": false, "message": "Want to know what real torture is, Truthseeker. BTW, waterboarding isn't torture, and until recently was used in training some Military Personnel. <br></br><br>You'll need Quicktime or Windows Media to view the following:   </br><br></br><br><a href=\"http://www.aei.org/events/eventID.844,filter.all/event_detail.asp\" rel=\"nofollow\">Naming Names</a></br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_20:48:00", "killed": false, "user_key": "3da39b121dc85e9bd8d9f861782bc8b9", "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}, "1970797": {"up_voted": false, "ip": "", "has_replies": false, "message": "Karmi,<br>Torture is like porn; you know it when you see-or feel, in this case-it.</br><br></br><br>But you raise an interesting point: our special ops guys are pushed to extremes that most liberals would consider \"torture\" in the name of good training.</br><br></br><br>Yet there's no complaints about that.</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_20:58:00", "killed": false, "user_key": "0183bc94f5be8b9ec79636f3f2174ff5", "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}, "1970798": {"up_voted": false, "ip": "", "has_replies": false, "message": "D.,<br></br><br>I usually agree with what you say; however, people can't agree on what porn is, e.g. the chief judge of the 9th U.S. Circuit Court of Appeals, Judge Alex Kozinski, was presiding over a porn case, when it came out that he had \"<i>sexually explicit photos and videos on a Web site he maintained.</i></br><br></br><br>;-)</br>", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-13_21:19:00", "killed": false, "user_key": "3da39b121dc85e9bd8d9f861782bc8b9", "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}, "1970799": {"up_voted": false, "ip": "", "has_replies": false, "message": "I hope that chihuahua grows up and eats its master's throat. It's so cute and so wrong at the same time.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2008-06-14_11:50: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}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "3964749", "user_id": "anonymous", "forum_id": "21630", "hash": 4120186412497359311}, "thread": {"days_alive": 0, "slug": "friday_open_thread8230yeah_it8217s_friday_64", "paginate": false, "num_pages": 1, "num_posts": 62, "per_page": 0, "total_posts": 0, "realtime_paused": true, "id": 3964749, "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=friday_open_thread8230yeah_it8217s_friday_64' +
		'&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/friday_open_thread8230yeah_it8217s_friday_64/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='	+ 'friday_open_thread8230yeah_it8217s_friday_64'
			+ '&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/friday_open_thread8230yeah_it8217s_friday_64/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">62</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://jackandjillpolitics.disqus.com/friday_open_thread8230yeah_it8217s_friday_64/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/friday_open_thread8230yeah_it8217s_friday_64/">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:3964749" 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/friday_open_thread8230yeah_it8217s_friday_64/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:3964749" 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:3964749" 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'				: 'friday_open_thread8230yeah_it8217s_friday_64',
			// 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/friday_open_thread8230yeah_it8217s_friday_64/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='	+ 'friday_open_thread8230yeah_it8217s_friday_64'
			+ '&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='	+ 'friday_open_thread8230yeah_it8217s_friday_64'
			+ '&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='		+ 'friday_open_thread8230yeah_it8217s_friday_64'
				+ '&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/3964749/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-1970737">\
	 <div id="dsq-comment-header-1970737" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970737" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970737">inkognegro</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970737" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970737" class="dsq-comment-message">Keith Olbermann Racks up another classic at John McCain\'s expense.  <br></br><br>http://thenewshole.msnbc.msn.com/archive/2008/06/12/1137670.aspx</br><br></br><br>as usual, a bit heavy on the melodrama, but even heavier on the facts.</br><br></br><br>The right must hate Olbermann.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970738">\
	 <div id="dsq-comment-header-1970738" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970738" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970738">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970738" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970738" class="dsq-comment-message">When KO said:<br></br><br></br><br>YOu have BETRAYED THEM, Senator. </br><br></br><br>I went, WHOAH.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970739">\
	 <div id="dsq-comment-header-1970739" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970739" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970739">djchefron</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970739" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970739" class="dsq-comment-message">June 12, 2008 <br>Tax Relief for the Middle Class</br><br>Barack Obama</br><br></br><br>Kaukauna, Wisconsin</br><br></br><br>I just had the pleasure of sitting down with Ryan and Jenny Micke, and hearing about some of the challenges that they\'re facing in these tough economic times. We\'re going to continue our dialogue in a few moments, but I want to start by talking a little bit about my plan to provide meaningful tax relief for working people.</br><br></br><br>Americans work longer and harder than the people of any other wealthy nation. We\'ve built the largest economy that the world has ever known, and the biggest middle class in history. But for the last eight years, we\'ve failed to keep the fundamental promise that if you work hard you can live your own version of the American dream. Instead, folks are working harder for less. The cost of everything from gas, to groceries to tuition is skyrocketing. It\'s harder to save, and harder to retire. At kitchen tables like Ryan and Jenny\'s, it\'s easy to feel like that dream of opportunity that should be the right of all Americans is slipping away.</br><br></br><br>This troubling story is written into communities across the country. It\'s the story of empty factories shut down forever because the jobs were shipped overseas and nothing took their place. It\'s the story of a mother who can\'t afford health care for her sick child; a father who lost his job and can\'t afford a tank of gas to look for another; a child facing a future where they\'ll have to pay off hundreds of billions of dollars in debt to pay for George Bush\'s tax cuts. And I am running for President of the United States of America because the story of this downturn starts in Washington, and Washington has to change.</br><br></br><br> These difficult times are not an accident of history - they are a consequence of a tired and misguided economic philosophy in Washington. It\'s a philosophy that values wealth but not the work that creates it. That\'s how we\'ve ended up with tax loopholes that allow companies to stash profits and ship jobs overseas. That\'s why we have seen tax cut after tax cut for the wealthiest Americans who don\'t need them and didn\'t ask for them. And that\'s why we\'re burdened with a tax code that\'s too complicated for ordinary folks to understand, but just complicated enough for Washington lobbyists who know how to work the system.</br><br></br><br>This philosophy is supported by an old brand of politics that uses understandable anti-tax sentiment to shift the tax burden on to working people. Meanwhile, the gaps in wealth grow wider and the costs to the middle class are greater. CEOs make more in a day than their employees make in a year. Our economy suffers through cycles of bubble and bust when the pain on Main Street trickles up to Wall Street. Even before our current crisis, we went through the first sustained period of growth since World War II that saw median incomes go down.</br><br></br><br>So there will be a very clear choice in this election. John McCain will dust off the old political playbook that George Bush used in the last two elections, and the disastrous tax policies that have failed the American people. I am running to lead this country in a new direction.</br><br></br><br>We both favor tax cuts. The difference is that Senator McCain wants to continue a Bush tax code that rewards wealth; I want to reform our tax code so that it rewards work. That\'s why the typical middle-class family will get three times more from my tax cut than the one John McCain has proposed, while nearly a quarter of his tax cuts go to households making over $2.8 million every year. That\'s right - $2.8 million. That\'s where John McCain wants to focus his tax relief in this struggling economy.</br><br></br><br>And Senator McCain once knew better. He said that he couldn\'t vote for the Bush tax cuts in good conscience because they were too skewed to the wealthiest Americans, but now he wants to make those same tax cuts permanent. Later, he said it was irresponsible to cut taxes during a time of war because we couldn\'t afford them, but now he\'d continue running up hundreds of billions of dollars in debt while spending billions of dollars a day in Iraq. There\'s nothing conservative about that.</br><br></br><br>You know, I often say that John McCain is running to serve out George Bush\'s third term, but when it comes to taxes that\'s not being fair to George Bush. Because the fact is, Senator McCain is now calling for a new round of tax giveaways that are twice as expensive as the original Bush plan and nearly twice as regressive, and he has no concrete plan to pay for it. He\'d spend nearly $2 trillion over a decade in tax breaks for corporations, including $1.2 billion for Exxon Mobil. Think about that. While you\'re paying four dollars at the pump and your children\'s future is being mortgaged under a mountain of debt, Senator McCain wants to give billions of dollars in tax breaks to Big Oil, and opposes a windfall profits tax on oil companies like Exxon to help families struggling with high energy costs.</br><br></br><br>I think that\'s exactly what we need to change in Washington. We can\'t keep driving a wider and wider gap between the few who are rich and the rest who struggle to keep pace. We can\'t keep pursuing policies that favor Wall Street over Main Street, because that approach ends up hurting both. It\'s time to turn the page. I will stop giving tax breaks to companies that ship jobs overseas, and put a tax cut into the pockets of working people, and struggling homeowners, and seniors. And we\'ll simplify our tax code so that folks don\'t have to work the system to get a fair deal.</br><br></br><br>First, we will provide real tax relief for the middle class by cutting taxes for 150 million Americans. We\'ll reward work through a "Making Work Pay" tax credit of $500 for American workers - and $1,000 for working families like Ryan and Jenny\'s - to offset the payroll tax that you\'re already paying. This will give the middle class a break with rising costs while giving our economy a boost. And because this credit would be greater than their income tax bill, this would eliminate income taxes for 10 million Americans.</br><br></br><br>The second part of my plan eases the burden on struggling homeowners through a universal homeowner\'s tax credit. This will immediately benefit 10 million homeowners who don\'t itemize - including Ryan and Jenny - who will get a break of 10 percent off their mortgage interest rate. For most middle class families, this will add about $500 each year. And this credit will extend a hand to many of the millions of families stuck in the subprime crisis by giving them some breathing room to refinance or sell their homes.</br><br></br><br>The third thing I\'ll do as President is keep our promise with America\'s seniors. Since the New Deal, we\'ve had a basic understanding in this country. If you work hard and pay into the system, you\'ve earned the right to a secure retirement. But even though seniors have held up their end of the bargain, many struggle to keep pace with costs, which can become a worry for an entire family. So I\'ll eliminate income taxes for all seniors making less than $50,000. This will eliminate income taxes for 7 million Americans, at a savings rate of roughly $1,400 each year. Seniors in this country should retire with the dignity and security they have earned.</br><br></br><br>Finally, it\'s time to cut through the complexity in our tax code. Deductions and exemptions are built into the system, but ordinary people don\'t have the time to figure them out without paying for a tax preparer. When I\'m President, we\'ll put in place a system where 40 million Americans with a job and a bank account who take the standard deduction can do their taxes in less than five minutes. Meanwhile, under John McCain, you could have to fill out three tax forms all using different tax rules just to pay your taxes. Under my plan, there\'s no more worry. No more wasted time and expense. Your pre-prepared return will come to you in the mail. This will save Americans more than $2 billion in tax preparer fees and more than 200 million hours of work.</br><br></br><br>To pay for this, we\'ll restore a sense of fairness. That means standing up to the special interest carve outs, closing those corporate loopholes and tax breaks, and letting the Bush tax cuts for the wealthiest Americans expire. It\'s time for folks like me who make over $250,000 to pay our fair share. I am not afraid to have this debate about taxes and fairness - but let\'s be clear about what we\'re debating. If you are a family making less than $250,000, my plan will not raise your taxes - not your income taxes, not your payroll taxes, not your capital gains taxes, not any of your taxes. In fact chances are you will get a tax cut, and one that is larger than what Senator McCain is proposing. It\'s time to grow our economy by renewing our stake in our common prosperity.</br><br></br><br>It\'s time to end a philosophy in Washington that tells people like Ryan and Jenny that "you\'re on your own," because we\'re all in this together as Americans. Most Americans aren\'t asking for a lot. They don\'t need overseas tax shelters or a long list of loopholes. They just want a fair shake. And they could stand a break. My tax cut is guided by the simple principle that what\'s good for Main Street is good for our entire economy. That\'s how we\'ll get people the relief they need, while getting our economy back on the right track.</br><br></br><br>Barack Obama is a Democratic Senator from Illinois and a candidate for the Democratic presidential nomination</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970740">\
	 <div id="dsq-comment-header-1970740" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970740" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970740">djchefron</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970740" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970740" class="dsq-comment-message">For the Iraq cheerleaders<br>NEW YORK (<a href="http://CNNMoney.com" rel="nofollow">CNNMoney.com</a>) -- As the Iraq war continues with no clear end in sight, the cost to taxpayers may balloon to $2.7 trillion by the time the conflict comes to an end, according to Congressional testimony.</br><br></br><br>In a hearing held by the Joint Economic Committee Thursday, members of Congress heard testimony about the current costs of the war and the future economic fallout from returning soldiers.</br><br></br><br>At the beginning of the conflict in 2003, the Bush administration gave Congress a cost estimate of $60 billion to $100 billion for the entirety of the war. But the battle has been dragging on much longer than most in the government expected, and costs have ballooned to nearly ten times the original estimate.</br><br></br><br>William Beach, director of the Center for Data Analysis, told members of Congress that the Iraq war has already cost taxpayers $646 billion. That\'s only accounting for five years, and, with the conflict expected to drag on for another five years, the figure is expected to more than quadruple. Sen. Charles Schumer, D-N.Y., told members of Congress that the war costs taxpayers about $430 million per day, and called out the Bush Administration.</br><br></br><br>"It is long past time for the administration to come clean and account for the real costs of the war in Iraq," said Schumer. "If they want to disagree with our estimates or with other experts ... fine - they should come and explain why."</br><br></br><br>The Bush Administration, which was invited to give testimony, declined to participate.</br><br></br><br>The Pentagon has previously said that the war costs approximately $9.5 billion a month, but some economists say the figure is closer to $25 billion a month when long-term health care for veterans and interest are factored in. </br><br></br><br>Health care: In testimony before the committee, Dr. Christine Eibner, an Associate Economist with research firm RAND, said advances in armor technology have kept alive many soldiers who would have been killed in prior wars. But that has added to post-war health care costs for veterans, especially for "unseen" wounds like post traumatic stress disorder, major depression and traumatic brain injury.</br><br></br><br>Two-year post-deployment health care costs for the 1.6 million service members currently in Iraq and Afghanistan could range from $4 billion to $6.2 billion, according to Eibner. For one year of treatment, the costs are substantially lower, ranging from $591 million to $910 million. Eibner admitted that the study did not take into account long term care, and her estimates probably underestimate the total costs. </br><br></br><br>However, Eibner noted that an increasing number of soldiers are not seeking the care that they need, which affects their ability to get and maintain jobs. And, that, she said, must change.</br><br></br><br>"Many service members are currently reluctant to seek mental health treatment due to fear of negative career repercussions," said Eibner. "Policies must be changed so that there are no perceived or real adverse career consequences for individuals who seek treatment."</br><br></br><br>Unemployment: Furthermore, many veterans who recently completed their service are coming back to a difficult job and housing market.</br><br></br><br>Among veterans who completed their service within the last 1 to 3 years, 18% were unemployed, and 25% earned less than $21,840 a year, according to a recent report commissioned by the Department of Veterans Affairs. </br><br></br><br>"Trying to convince [job interviewers] that my service will translate into skills ... at a bottling factory or a distributing company is almost like you\'re speaking French to someone who doesn\'t speak French," said Iraq and Afghanistan Veterans of America policy associate Tom Tarantino. </br><br></br><br>Montana Gov. Brian Schweitzer agreed, saying the government does a poor job at readying veterans for post-Army life.</br><br></br><br>"We haven\'t figured out how to convert a warrior to a citizen yet," Schweitzer told the committee. </br><br></br><br>Foreclosure: Many soldiers who come home from active duty are also finding difficulty keeping their homes.</br><br></br><br>"Military families are already shouldering heavy burdens to care for and support families while their loved ones are serving abroad or recovering at home," said Schumer. "Knowing that so many more are losing their homes to foreclosure is heartbreaking -- and its just plain wrong." </br><br></br><br>The senator said that Army personnel returning from duty are at a 37% higher risk of foreclosure, because the areas populated by military families have substantially larger foreclosure rates.</br><br></br><br>"Veterans of Iraq and Afghanistan deserve better," testified Tarantino. </br><br></br><br>Tarantino recommended Congress quickly sign into law an update to the World War II GI Bill, which would help ease the economic hardships returning solders are feeling.</br><br></br><br>"More than any other single piece of legislation, the GI Bill will make a difference in the economic futures of the troops returning every day from Iraq and Afghanistan," he said. </br><br></br><br>First Published: June 12, 2008: 12:07 PM EDT</br><br>...................................</br><br>We maybe bankrupt as a nation but at least we got Saddam</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970741">\
	 <div id="dsq-comment-header-1970741" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970741" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970741">smoothie</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970741" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970741" class="dsq-comment-message">For those who caught Countdown last night, was there a flicker on my TV, or did Kieth actually shed a Tear during his special comment?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970742">\
	 <div id="dsq-comment-header-1970742" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970742" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970742">Ronnie B</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970742" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970742" class="dsq-comment-message">djchefron<br></br><br>Is there a link for Barack\'s Tax  Relief for the Middle Class?</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970743">\
	 <div id="dsq-comment-header-1970743" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970743" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970743">jelana</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970743" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970743" class="dsq-comment-message">Smoothie,<br>It looked to me like he shed a tear also.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970744">\
	 <div id="dsq-comment-header-1970744" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970744" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970744">The Christian Progressive Libe</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970744" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970744" class="dsq-comment-message">First Hillpatine, and now McCain.<br></br><br>Both these individuals are working Olbermann\'s last nerve.  And he was initially a Hillpatine supporter until she and the Big Dog got their "Ferraro" on after South Carolina.</br><br></br><br>He choked up during his "Special Comment" on Hillpatine, too.  So that probably was a tear you saw him shed while breaking that can of whip-ass out on McCain.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970745">\
	 <div id="dsq-comment-header-1970745" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970745" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970745">Craig Hickman</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970745" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970745" class="dsq-comment-message"><a href="http://craighickman.blogspot.com/2008/06/meaning-of-life.html" rel="nofollow">The Meaning of Life</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970746">\
	 <div id="dsq-comment-header-1970746" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970746" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970746">justice58</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970746" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970746" class="dsq-comment-message">Rikyrah,<br></br><br>The pic is too cute!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970747">\
	 <div id="dsq-comment-header-1970747" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970747" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970747">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970747" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970747" class="dsq-comment-message">Just for laughs:<br></br><br>http://www.barelypolitical.com/barely-political-uncovered/episode/BPU_20080508</br><br></br><br>Enjoy!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970748">\
	 <div id="dsq-comment-header-1970748" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970748" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970748">KarmiCommunist</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970748" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970748" class="dsq-comment-message">MSM is still covering for Obama. Truth on and about Obama is either ignored or called a "smear". This, after MSM\'s (with the help of many others) constant smearing of <b>\'W\'</b> for eight years. Anyway...<br></br><br><a href="http://www.powerlineblog.com/archives2/2008/06/020742.php" rel="nofollow">Fighting "Smears," Selectively</a></br><br></br><br>"<i><b>The problem with Obama\'s site is the issues it doesn\'t address.</b></i>"</br><br></br><br>Examples: Rezko, Ayers, Dohrn, Khalidi, Power, Malley, El-Hady, etc. get very little attention from the MSM, and so Obama gets a pass on them.</br><br></br><br>The radical (and sometimes racist remarks) by Obama get very little press and are not addressed by Obama at his "smear site". The anti-Americanism remarks by both Obama and Michelle are glossed-over by MSM and are not addressed at the "smear site".</br><br></br><br>"<i><b>It will be interesting to see what "smears" Obama chooses to rebut as the campaign continues, and whether he ever uses this site to respond to the many legitimate concerns that have been raised about him and his candidacy.</b></i>"</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970749">\
	 <div id="dsq-comment-header-1970749" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970749" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970749">miss-opinion</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970749" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970749" class="dsq-comment-message">LOL</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970750">\
	 <div id="dsq-comment-header-1970750" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970750" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970750">Pamela</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970750" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970750" class="dsq-comment-message">McCain (and Cindy) On Drugs<br></br><br>By Stanton Peele on June 13, 2008 in Addiction in Society</br><br></br><br>Much has been made of allegations of youthful use of illegal drugs by Democratic presidential candidate Barack Obama. Meanwhile, his GOP opponent, Arizona Sen. John McCain, has admitted that his wife not only illegally used drugs but walked away from criminal charges. The McCains have worked to make Cindy McCain\'s addiction into a political asset-despite the fact that she stole the drugs from a charity she directed and used them while mothering four young children.</br><br></br><br>In 1994, Mrs. McCain admitted that she had solicited prescriptions for painkillers from physicians who worked for an international charity that she founded, the American Voluntary Medical Team. She then filled the prescriptions in the names of her staff.</br><br></br><br>There are two ways to react to this behavior. According to the Betty Ford model, people can sympathetically respond to the oppressed and ignored wife of a busy politician who has bravely come forward to admit her overpowering addiction. Mrs. McCain took this posture when she first tearfully confessed her addiction. She and her husband repeated this performance in October, 2000, on the NBC program "Dateline."</br><br></br><br>The other possible public reaction is one of anger. Americans are prosecuted every day for such drug use. While most drug abusers purchase their drugs from street dealers, Mrs. McCain used her status as a charity director and senator\'s wife to cajole the drugs she wanted.</br><br></br><br>In fact, Mrs. McCain was investigated by the Drug Enforcement Administration after the agency was approached by a former staff member of her charity. The investigation resulted in no charges or prison time for her, and she entered a diversion program. While these records were not made public at the time, Mrs. McCain eventually confessed her drug use when she learned that a reporter was investigating the story.</br><br></br><br>Is Mrs. McCain to be judged as a pitiable victim or as a criminal felon? This debate is at the heart of the discussion of American drug policy. Should we deal with illicit drug users as victims or as criminals?</br><br></br><br>Let\'s examine Mrs. McCain\'s position in these terms. She is the privileged daughter of a wealthy family and spouse of an important politician, a person who had her own position of prestige and power. Should she not be held at least as accountable for her actions as an uneducated inner-city drug user? After all, she could enter drug treatment at any time she chose, unlike many drug users who find themselves in prison.</br><br></br><br>Moreover, Mrs. McCain was violating a position of trust by stealing from a charitable organization, using its money and medical expertise to fuel her drug use. Is this not morally more reprehensible than simply purchasing drugs illegally?</br><br></br><br>Finally, Mrs. McCain was the mother of four children at the time she admits to using drugs-between 1989 and 1992. Her children were born in 1984, 1986, 1988 and 1991. In other words, Cindy McCain was using drugs while raising small children, one of whom she adopted while she was an addict. In most states, family services will remove children from a woman who is known to be an active drug addict, and she would certainly not be allowed to adopt a child while addicted.</br><br></br><br>John McCain is a hawk in the drug war. He advocates stricter drug laws, penalties and enforcement against drug sellers. He has had nothing to say about redressing our punitive approach toward drug users. Of course, McCain also supports family values. Yet if John and Cindy McCain were not well-off and influential, they might not have a family at all. McCain\'s lack of concern for street drug users contrasts sharply with the support and understanding his wife received. It\'s the old American double standard. For "straight-shooter" McCain, charity begins at home-and ends there.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970751">\
	 <div id="dsq-comment-header-1970751" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970751" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970751">RhondaCoca</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970751" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970751" class="dsq-comment-message">NYC Exhibit was shut down due to offensive material about Obama, his family and Clinton.<br></br><br>It\'s pretty offensive stuff. </br><br></br><br>&lt;a href="www.nymag.com/daily/intel/2008/06/artist_arrested_for_assassinat.html<br />"&gt;</a></br><br>" REL="nofollow"&gt;The Assassination of Hillary Clinton/ The Assassination of Barack Obama Shut Down</br><br></br><br><a href="“www.haroldmansfield.com/ny-gallery-displays-nooses-and-big-penises-as-obama-assasination-exhibit/”" rel="nofollow">More Explicit Pictures Here</a></br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970752">\
	 <div id="dsq-comment-header-1970752" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970752" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970752">mysisterskeeper</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970752" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970752" class="dsq-comment-message">Code word: "Exotic"<br></br><br>Pat Buchanan in answering a question on whether it is smart for the GOP to go negative on Obama suggested of course it is cause he\'s "exotic"</br><br></br><br>This is gonna get ugly!</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970753">\
	 <div id="dsq-comment-header-1970753" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970753" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970753">RhondaCoca</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970753" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970753" class="dsq-comment-message"><a href="http://www.hollywoodreporter.com/hr/content_display/news/e3i4fac3531390a953c31467d91c4fe3d92?imw=Y" rel="nofollow">Spike Lee is accused of havin</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970754">\
	 <div id="dsq-comment-header-1970754" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970754" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970754">djchefron</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970754" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970754" class="dsq-comment-message">Ronnie b sorry I couldnt answer you sooner I was making a mix for my stepson who just left the army.I got the speech from realclear politics</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970755">\
	 <div id="dsq-comment-header-1970755" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970755" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970755">Jonzee</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970755" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970755" class="dsq-comment-message">Here is the best commentary on Faux News foolishness with the babymama commentary. <br></br><br>ABB breaks it down.</br><br></br><br>http://angryblackbitch.blogspot.com/2008/06/on-fox-baby-mama-fucktuptitude.html</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970756">\
	 <div id="dsq-comment-header-1970756" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970756" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970756">D.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970756" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970756" class="dsq-comment-message">I\'d like someone to put a price on what will happen if we fail in Iraq.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970757">\
	 <div id="dsq-comment-header-1970757" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970757" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970757">Christopher Chambers</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970757" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970757" class="dsq-comment-message">No link, just the Michelle Malkin thing on FOX with the graphic "Obama\'s Baby Mama."<br></br><br>First, we reap what we sow. Our more ghettofab folk and then our comedians send this stuff out there, the white people pick it up like aliens intercepting the signals of those 1950s sit coms in space...</br><br></br><br>That said, it only seems to raise a snicker among the FOX viewers, not outrage. Again, Obama\'s JFK. JFK picked LBJ as a running mate and before that had his dad. How many goddamn times to I have to say it before it sinks in--get a pit bull/non-punch puller. Preferably a white male "real guy" (ie not an arugula eater and somebody who can fricking bowl with the crackers) to fight back publicly. Not necessarily a running mate--just a foilor shield. These liberal namby pamby Michele Obama "anti-smear" websites do nothing to swing Podunk and the burbs. They\'re smearing Michele, boo hoo. What did you think would happen? Sure it might turn off soccer moms but they\'re still sore over Hillary and you can\'t rely on them too much at this stage. </br><br></br><br>Hire Va. Senator Jim Webb, or that big white congressman ex-QB Heath Shuler and turn them loose on FOX, et al before it\'s too late. Put Larry Flynt and his bootie detectives on the payroll. Start your own covert "plumbers" corps to bug the RNC. Spread rumors among black servicemen and women that if the GOP still rules it\'ll be like the old days when black soldiers and sailor were lynched on-base or chased down the streets in town...</br><br></br><br> This isn\'t about McCain. The same people behind the negativity are also nervous about the old fart, which is why this is going to be a nasty campaign. if they can crush Obama, then they will show McCain he needs to tow the line if he wants to live out his term.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970758">\
	 <div id="dsq-comment-header-1970758" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970758" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970758">djchefron</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970758" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970758" class="dsq-comment-message">Good morning d,maybe you can define success and how many lives are you willing to sacrifice to attain it</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970759">\
	 <div id="dsq-comment-header-1970759" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970759" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970759">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970759" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970759" class="dsq-comment-message">Where is McCain hiding his black adopted daughter?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970760">\
	 <div id="dsq-comment-header-1970760" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970760" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970760">D.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970760" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970760" class="dsq-comment-message">djcherfon,<br>Morning.....</br><br></br><br>In a nutshell, success in Iraq will be found when that country\'s government is able to provide for the welfare and security of its own citizens.</br><br></br><br>And last I checked, America was supposed to be able to "pay any price, bear any burden, meet any hardship, support any friend, oppose any foe, in order to assure the survival and the success of liberty."</br><br></br><br>Did that change somewhere along the way?</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970761">\
	 <div id="dsq-comment-header-1970761" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970761" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970761">D.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970761" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970761" class="dsq-comment-message"><a href="http://www.americanthinker.com/blog/2008/06/hands_off_michelle_obama_you_g.html" rel="nofollow">Hands Off Michelle Obama, You GOP Meanies!</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970762">\
	 <div id="dsq-comment-header-1970762" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970762" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970762">honey01</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970762" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970762" class="dsq-comment-message">Code word: "Exotic"<br></br><br>Pat Buchanan in answering a question on whether it is smart for the GOP to go negative on Obama suggested of course it is cause he\'s "exotic"</br><br></br><br>This is gonna get ugly!</br><br></br><br></br><br>@mysisterskeeper,</br><br>I am so glad someone finally called him on it. I usually turn the channel when Dan Abrams comes on because he is annoying as all get out, but I was happy to see the Black contributor (don\'t know her name) call him out. He has said it a numerous times and no one ever says boo. The only person I know who has shut him down on other offensive moments is Rachel Maddow. </br><br></br><br>There are certain phrases I know I will hear out of Pat "the racist" Buchannan\'s mouth before even speaks. (1)"What\'s wrong Barack Obama" (2) Jeremiah Wright (3) Exotic. The topic could be the friggin weather and he will manage to say these at least these three phrases. Guarantee.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970763">\
	 <div id="dsq-comment-header-1970763" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970763" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970763">Melissa</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970763" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970763" class="dsq-comment-message">Christopher Chambers-<br></br><br>You reap what you sow?? Really...so we are going to judge people based on what is seen in the media?</br><br></br><br>The media and popular culture have been producing negative images of African Americans for a century. Many if not the majority are against it yet it continues. So we reaped what we sowed for the past century is that what you are telling me?</br><br></br><br>I noticed from your comments that you like to equate the entire african american community and experienced with hip hop, TV shows, youth culture...</br><br></br><br>If you have an issue with black people and yourself thenso let it be.</br><br></br><br>However I will tell you that no group of people would be okay with one drawing up stereotypes and thinking its okay based on TV.</br><br></br><br>Smart.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970764">\
	 <div id="dsq-comment-header-1970764" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970764" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970764">KarmiCommunist</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970764" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970764" class="dsq-comment-message">The Democratic Party should’ve vetted Obama sooner. However, vetting Democrat candidates is probably a tad too dangerous, and hence it is <i>‘best’</i> that the candidates just slip pass the vetting stage instead. (Note: Bill Clinton was never properly vetted either.)<br></br><br>It looks like Antoin “Tony” Rezko has started to <i>‘squirm’</i> a little, since he is about to be sentenced to many years behind prison bars. The friendship and association between Obama and Rezko is another subject that Obama doesn’t properly address on his new “Smear Site”.</br><br></br><br><a href="http://www.politico.com/news/stories/0608/11041.html" rel="nofollow">Rezko: Feds pushed for dirt on Obama</a></br><br></br><br>Rezko “<i>lashed out yesterday at federal prosecutors, accusing them of political motivations in seeking to pressure him into becoming a material witness</i>” against Blagojevich and Obama. Yes, Rezko has started to <i>‘squirm’</i>. Of course, like all <b><i>‘RATS’</i></b> on the verge of squealing, Rezko is now forcefully stating – “<i>I have never been party to any wrongdoing that involved the governor or the senator. I will never fabricate lies about anyone else for selfish purposes. <b>I will take what comes my way</b>, but I will never hurt innocent people.</i>” Yeah…r-i-g-h-t, Rezko. His statement is merely a prelude to his rapidly approaching squealing moment.</br><br></br><br>Basically, the Feds <i>followed-the-money</i>, and that <i>money-trail</i> led directly to Barack Obama. Obama keeps changing his story – in regards to the Rezko campaign contributions – i.e. from $50,000 to $150,000, and now it’s up to around $250,000. Add the real-estate deal, the letters by Obama on Rezko’s behalf in with the contributions, and you have some major corruption going on.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970765">\
	 <div id="dsq-comment-header-1970765" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970765" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970765">TruthSeeker</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970765" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970765" class="dsq-comment-message">Obama\'s site is an ANTI smear site.  If you want to deal with non-issues like Ayers etc. you can create your own SMEAR blog, as you\'ve done.<br></br><br>It is gratifying to see the desperation in the more bigoted right wing.  They keep worrying these non-issues like a dog with a bone.  Obama and family is profoundly normal.</br><br></br><br>You should be relieved karmicommunist.  What a gift you\'ve been given in Obama.  Instead, you are anxious, writing numerous comments that worry, worry, worry over things that have been addressed.  </br><br></br><br>Yes, black people are normal.  They achieve and they fail.  They make mistakes and rise to grand heights.  They can even win the Presidency and govern with integrity and compassion.  \'Ain\'t that something?!</br><br></br><br>Right now, O-force is talking to seniours with  the lovely, but more guarded Michelle introducing him.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970766">\
	 <div id="dsq-comment-header-1970766" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970766" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970766">Craig Hickman</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970766" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970766" class="dsq-comment-message">truthseeker, what makes a family man look more normal than appearing with his family?<br></br><br>Surely, a brutal national campaign will require that they appear separately, but the more they can appear together, the better.</br><br></br><br>I also think it\'s a great idea for his surrogates to respond like pitbulls to the attacks on his character. That way, he can stay on message and not spend too much of his live campaigning squashing the smears.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970767">\
	 <div id="dsq-comment-header-1970767" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970767" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970767">KarmiCommunist</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970767" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970767" class="dsq-comment-message">"<i>non-issues like Ayers etc.</i>"<br></br><br>Dream on, Truthseeker (BTW, perhaps you should find another \'handle\') - people like Ayers, Dohrn, Rezko, Rev. Wright, Rev. Pfleger, Khalidi, Ali Abunimah, Samantha Power, Malley, El-Hady, Brzezinski, Cornel West, Farrakhan, Cynthia Miller, Jennifer Mason, Shakir Muhammad, Edward Said, Carl Davidson, Frank Davis, Jim Johnson, and Eric Holder are not only <b>Real Issues</b>, but Obama\'s connection to such racists/crooks/anti-America people is his Modus Operandi.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970768">\
	 <div id="dsq-comment-header-1970768" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970768" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970768">KarmiCommunist</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970768" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970768" class="dsq-comment-message">Update on my earlier post on Rezko:<br></br><br><a href="http://www.chicagotribune.com/news/columnists/chi-kass-13-jun13,0,1570658.column" rel="nofollow">Rezko\'s letter should put Obama, governor on alert</a></br><br></br><br>"<i>The last thing Sen. Barack Obama and Gov. Rod Blagojevich needed was that letter written by convicted Illinois influence peddler Tony Rezko promising he\'d never rat out his pals.</i>"</br><br></br><br>Like I had said...Rezko is about ready to - <i>\'Roll Over\'</i>.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970769">\
	 <div id="dsq-comment-header-1970769" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970769" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970769">TruthSeeker</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970769" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970769" class="dsq-comment-message">Let it go, for your own sanity.  There is nothing to find.  You will have to enter the darklands and make stuff up to justify your fear.<br></br><br>I am sure if we investigated, we\'d find connections between you and everyone on your list...you know, 6 degrees of separation.</br><br></br><br>You may have people in your past or relatives who\'ve committed horrible crimes.  Are you tainted by your association with them?  Maybe you yourself have some nasty secrets...who knows.</br><br></br><br>Set your mind at ease.  I am sure you can think of at least one positive thing you admire in Obama.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970770">\
	 <div id="dsq-comment-header-1970770" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970770" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970770">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970770" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970770" class="dsq-comment-message"><a href="http://www.huffingtonpost.com/joseph-nye/barack-obama-and-soft-pow_b_106717.html" rel="nofollow">Obama and Soft Power</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970771">\
	 <div id="dsq-comment-header-1970771" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970771" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970771">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970771" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970771" class="dsq-comment-message"><a href="http://www.huffingtonpost.com/2008/06/13/poll-dems-not-gop-satisfi_n_106908.html" rel="nofollow">Dems, not GOP, satisfied with their nominee</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970772">\
	 <div id="dsq-comment-header-1970772" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970772" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970772">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970772" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970772" class="dsq-comment-message"><a href="http://www.huffingtonpost.com/bob-burnett/obamas-victory-three-key_b_106682.html" rel="nofollow">Obama\'s Three Key Endorsements</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970773">\
	 <div id="dsq-comment-header-1970773" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970773" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970773">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970773" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970773" class="dsq-comment-message"><a href="http://www.huffingtonpost.com/andy-ostroy/michelle-obama-is-nobodys_b_106847.html" rel="nofollow">Michelle Obama is Nobody\'s Baby Mama</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970774">\
	 <div id="dsq-comment-header-1970774" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970774" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970774">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970774" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970774" class="dsq-comment-message"><a href="http://www.huffingtonpost.com/erin-kotecki-vest/cindy-mccain-is-no-baby-m_b_106666.html" rel="nofollow">McCain\'s Pill Poppin\' Piece-on-the-Side Is No Baby Mama</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970775">\
	 <div id="dsq-comment-header-1970775" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970775" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970775">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970775" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970775" class="dsq-comment-message"><a href="http://www.huffingtonpost.com/2008/06/13/dems-not-backing-obama-ra_n_106947.html" rel="nofollow">Not Backing Obama?Rahm will deal with them</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970776">\
	 <div id="dsq-comment-header-1970776" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970776" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970776">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970776" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970776" class="dsq-comment-message"><a href="http://www.huffingtonpost.com/stephen-ducat/emasculation-in-republica_b_106823.html" rel="nofollow">Emasculation in Republican Psychological Warfare</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970777">\
	 <div id="dsq-comment-header-1970777" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970777" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970777">TruthSeeker</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970777" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970777" class="dsq-comment-message">Craig,<br></br><br>He seems wilted somehow when he\'s on the road without his family.  Maybe in the summer with the girls out of school, they\'ll stay on the road with him. </br><br></br><br>I\'m relieved he\'s recruited his huge support base to help fight the smears via e-mail.  This willingness by ordinary citizens to destroy the reputation of candidates is troubling to me.  It violates the basic decency we assume our fellow humans possess.  You know, stuff your Mama taught you? </br><br></br><br>Is the guy next door photoshopping your image onto a naked body and spreading it on the internet?  Is he spreading viscious rumours around the neighborhood?...really disturbing.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970778">\
	 <div id="dsq-comment-header-1970778" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970778" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970778">RhondaCoca</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970778" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970778" class="dsq-comment-message">I meant to say above that, <br></br><br><a href="http://www.hollywoodreporter.com/hr/content_display/news/e3i4fac3531390a953c31467d91c4fe3d92?imw=Y" rel="nofollow">Spike Lee is being accused of having Anti-Italian portrayals in his movies</a></br><br></br><br>I believe I messed that up along with the links abotu that exhibit...oh well.</br><br></br><br><a href="http://africa.reuters.com/wire/news/usnL11613375.html" rel="nofollow">Gaffadi believes that Obama has an inferiority complex</a></br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970779">\
	 <div id="dsq-comment-header-1970779" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970779" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970779">djchefron</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970779" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970779" class="dsq-comment-message">Obama\'s 17 State Strategy <br>by: Chris Bowers</br><br>Fri Jun 13, 2008 at 11:39 </br><br> </br><br>While the Obama campaign will keep staff to all 50 states, and while it is keeping its volunteer campaign infrastructure in place in all 50 states as well, today it is sending 3,600 organizing fellows to 17 states. Unless plans have changed in the last seventeen days, the seventeen states are as follows: </br><br></br><br>In an email to people accepted into their Organizing Fellowship Program, the Obama camp listed the 17 states below as the ones where they need the most resources:</br><br></br><br>Colorado </br><br>Florida </br><br>Georgia </br><br>Iowa </br><br>Michigan </br><br>Missouri </br><br>North Carolina </br><br>New Hampshire </br><br>New Jersey </br><br>New Mexico </br><br>Nevada </br><br>Ohio </br><br>Oregon </br><br>Pennsylvania </br><br>Virginia </br><br>Washington </br><br>Wisconsin</br><br></br><br>So, Obama will run a 50 state campaign, but it will be layered with a 17 state focus. This isn\'t a contradiction, at least not as I understand the 50-state strategy. The strategy does not dictate that resources are spent equally across the entire nation, just that some resources are spent everywhere. Certain areas are still more heavily targeted, but no area is ignored.</br><br></br><br></br><br>Overall, I would have ignored Washington, and used those resources on Alaska, Connecticut, Montana and Nebraska-02 instead. (Combined, those three states and one congressional district have roughly the same population as Washington). Given Bob Barr and the large African-American population, Georgia probably makes more sense than an alternate possibility, targeting Indiana and the Dakotas. (Combined, Indiana and the Dakotas have roughly the same population as Georgia).</br><br></br><br></br><br>I look at the list in more detail in the extended entry.</br><br> </br><br>Chris Bowers :: Obama\'s 17 State Strategy </br><br>Thoughts on the targeted and the targeted-nots: </br><br></br><br>Georgia, huh? This is perhaps the biggest surprise on the list, but the Obama campaign seems ready to make a play for it. One factor might be that Libertarian nominee Bob Barr is from Georgia, and he has won elections here before. As Barr drains votes from McCain, increased African-American turnout could make the state close. Still, even with Barr at 6-8%, McCain still leads here by 10%. I have to believe that Obama has already put Sam Nunn on his short list if he is targeting Georgia, and that makes me very nervous. </br><br></br><br>Not targeting Arizona. Despite implications, even from the McCain campaign, that Arizona might be in play this year, the Obama campaign isn\'t shooting for it. That is probably pretty smart. While nominees sometimes lose their home states (Gore, for example), when the state already leans toward that party (Bush won Arizona by 6.32% in 2000, and 10.47% in 2004), it seems highly unlikely. Good call to not heavily target the state. </br><br></br><br>No West Virginia: While it is a good move to not target West Virginia with organizers in and of itself, hopefully the Obama campaign will still run paid media there, as southeast Ohio shares media markets with West Virginia. </br><br></br><br>No Indiana: While polling in Indiana is close, apparently the Obama campaign does not think it is a top target. </br><br></br><br>No Maine, Minnesota: Over the past two cycles, Maine and Minnesota were both considered swing states, particularly Minnesota. This time around, the Obama campaign appears to believe they have Minnesota, and Maine\'s 1st congressional district, in the bag. Avoiding ME-01 because it already leans your way and is only worth one vote makes sense, but what about... </br><br></br><br>No Minnesota, but Oregon?: It is a bit of a surprise to Oregon on this list, but not Minnesota. <a href="http://Pollster.com" rel="nofollow">Pollster.com</a> shows Obama ahead by identical 50.8%-39.0% amounts in Minnesota and Oregon, and both states will also feature competitive Senate elections. Neither really feel like swing states this time, to tell you the truth. But it gets worse when you see... </br><br></br><br>Washington? Really? Obama is ahead by a whopping 16.2% in Washington. In fact, according to <a href="http://Pollster.com" rel="nofollow">Pollster.com</a>, my Presidential forecast, and <a href="http://fivethirtyeight.com" rel="nofollow">fivethirtyeight.com</a>,  Obama\'s Washington lead is surpassed only by his lead in D.C., Hawaii, Illinois and Vermont. If your 5th best jurisdiction is a swing state, then I\'m Elmer Fudd. This really feels unnecessary. </br><br></br><br>New Jersey and Oregon, but not Connecticut? While I am a little surprised to see New Jersey on the list, it isn\'t all that surprising. What does surprise me is that the Obama campaign is hitting New Jersey but not Connecticut, given that the two states are extremely similar in this election. Either way, both will probably be closer than, Oregon, a state that has the same number of electoral votes as Connecticut. </br><br></br><br>Where are the small states? A case could be made for Alaska, the Dakotas, Delaware, Montana, and Nebraska-02 as swing states. While I have no problem avoiding Delaware (it can be reached by PA media and already leans pretty blue anyway), Democrats have been on real winning streaks in the Dakotas and Montana recently, and polls show both Montana and North Dakota in single digits. The calculation must be that these states are simply too small, population wise and electoral vote wise, but with a widely distributed population, for resources to be effectively spent there. Obama avoided South Dakota in the primaries as well. </br><br></br><br>Alaska would have been great: While polling shows Obama down by 7-9% in Alaska, this year it will feature highly competitive congressional campaigns for both the House and the Senate. Also, Anchorage makes up 40% of the state\'s population, making the population much easier to target. Further, Bob Barr should do well in Alaska, as the state is more pro-third parties than any other in the nation (except possibly Maine), and also has a real libertarian bent. It is a big disappointment to not see more targeting in Alaska, especially given what strikes me as a waste of resources in Washington.</br><br>Lots of tricky decisions, but with the exceptions I listed above the fold I generally agree with them. Run a 50 state campaign, but layer it over the top with seventeen highly targeted states. If Obama wins the seventeen states listed above, plus the remaining Kerry states, he will win 379 electoral votes.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970781">\
	 <div id="dsq-comment-header-1970781" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970781" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970781">TruthSeeker</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970781" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970781" class="dsq-comment-message">That "Emasculation in Republican Psychological Warfare, And Why It Works" that Rikyrah posted is a word buffet I tell ya!  And, so very true.<br></br><br>Hillary also tried to use the "rhetorical lynching" and emasculation techniques against Obama.  </br><br></br><br>In pictures of lyingings, within the murderous crowd, their faces illuminated by the photographer\'s flash..white WOMEN!  Dispassionate even in the killing of another human being - untroubled by the smell of burning flesh.  </br><br></br><br>Those things, the smell of burning flesh, cannibalism, incest are taboo..and repel us under normal circumstances.  I wonder what steeled these white WOMEN - supposed gentle creatures - to the taboo of burning flesh and hanging corpses.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970782">\
	 <div id="dsq-comment-header-1970782" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970782" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970782">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970782" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970782" class="dsq-comment-message">Is Gaddafi wrong? (Obama\'s inferiority complex)<br></br><br></br><br>I\'m not suggesting he is right or wrong, just wondering what people thought of the article.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970783">\
	 <div id="dsq-comment-header-1970783" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970783" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970783">TruthSeeker</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970783" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970783" class="dsq-comment-message">Re Baby Mama,<br></br><br>so, if this phrase is an insult, where does that leave us?  Within the black community, women are sometimes referred to as "Baby Mama\'s".  </br><br></br><br>Do we agree there\'s not a whole lot of love in that label?  Why is it acceptable - even endearing - when said of women of a certain class or race - within a certain race - but not of others?</br><br></br><br>We have the right to name ourselves.  We should choose more loving names.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970784">\
	 <div id="dsq-comment-header-1970784" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970784" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970784">Craig Hickman</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970784" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970784" class="dsq-comment-message">Erin Vest wrote the hell out of that article, rikyrah.<br></br><br>::</br><br></br><br>I agree, truthseeker. I agree. We need to love ourselves and show it in what we call one another.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970785">\
	 <div id="dsq-comment-header-1970785" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970785" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970785">Craig Hickman</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970785" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970785" class="dsq-comment-message">So Barack is definitely going after Georgia and North Carolina. <br></br><br>In NC, McCain leads 45-43. A virtual tie.</br><br></br><br>I\'d like to see Barack go after Mississippi as well if for no other reason than it will make McCain spend money there. Too many things would have to go right for Barack to pull off the upset of the election, which I just don\'t see happening, but stranger things...</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970786">\
	 <div id="dsq-comment-header-1970786" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970786" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970786">Sepia</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970786" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970786" class="dsq-comment-message">Sad news ya\'ll.<br></br><br>Tim Russert passed away today from a heart attack.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970787">\
	 <div id="dsq-comment-header-1970787" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970787" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970787">Anonymous</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970787" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970787" class="dsq-comment-message">Anyone seen this on Huffington Post:<br></br><br>http://www.huffingtonpost.com/mary-battiata/the-next-big-bling_b_106870.html</br><br></br><br>....</br><br></br><br>What the hell?</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970788">\
	 <div id="dsq-comment-header-1970788" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970788" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970788">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970788" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970788" class="dsq-comment-message">Anonymous 1:48,<br></br><br>I, too, think this writer could have done well by an editor asking her what the hell are you saying.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970789">\
	 <div id="dsq-comment-header-1970789" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970789" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970789">rikyrah</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970789" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970789" class="dsq-comment-message"><a href="http://briefingroom.thehill.com/2008/06/13/obama-gop-trying-to-paint-me-michelle-as-too-black/" rel="nofollow">GOP trying to paint us as \' Too Black\'-Obama says</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970790">\
	 <div id="dsq-comment-header-1970790" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970790" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970790">KarmiCommunist</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970790" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970790" class="dsq-comment-message">Rikyrah @ 3:18<br></br><br>Sounds like Obama is using the <i>\'Race Card\'</i>...again, in order to cover up him and Michelle being \'Too Radical\' and \'Too anti-American\'.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970791">\
	 <div id="dsq-comment-header-1970791" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970791" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970791">TruthSeeker</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970791" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970791" class="dsq-comment-message">karmicommunist,<br></br><br>What is your goal?  Really, it is highly likely that Obama will become President.  Even if he doesn\'t, it\'s only a matter of time before another African American does...it\'s inevitable.  What does it feel like to oppose the inevitability of time and fate?</br><br></br><br>It\'s suicidal to engage in a dead-end pursuit, that\'s why I say you\'re on a deathmarch.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970792">\
	 <div id="dsq-comment-header-1970792" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970792" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970792">KarmiCommunist</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970792" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970792" class="dsq-comment-message">Obama is not fit to be President of the USA, Truthseeker. I\'m waiting for Condi Rice or Colin Powell or Russel L. Honoré to run for President...or, someone like them, in case you didn\'t know.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970793">\
	 <div id="dsq-comment-header-1970793" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970793" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970793">TruthSeeker</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970793" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970793" class="dsq-comment-message">Russel Honore?...LOL  I don\'t think Russel is likely to be President; however, He should be head of FEMA or perhaps, homeland security.<br></br><br>Condoleeza Rice was party to authorizing torture, that disqualifies her.  Colin Powell has the cache and qualifications but not the desire.  </br><br></br><br>Obama has the qualifications, temperament and vision.  Obama is fit to be President.</br><br></br><br>It\'s interesting you place your bets on the long shots....as if you\'re counting on losing.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970794">\
	 <div id="dsq-comment-header-1970794" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970794" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970794">D.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970794" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970794" class="dsq-comment-message">Truth,<br>You don\'t want a military hit in charge of FEMA or DHS.</br><br></br><br>You\'d informally subordinate those agencies to the whims-and bureaucracy-of DOD.</br><br></br><br>Bad.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970795">\
	 <div id="dsq-comment-header-1970795" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970795" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970795">D.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970795" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970795" class="dsq-comment-message">"military guy"</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970796">\
	 <div id="dsq-comment-header-1970796" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970796" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970796">KarmiCommunist</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970796" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970796" class="dsq-comment-message">Want to know what real torture is, Truthseeker. BTW, waterboarding isn\'t torture, and until recently was used in training some Military Personnel. <br></br><br>You\'ll need Quicktime or Windows Media to view the following:   </br><br></br><br><a href="http://www.aei.org/events/eventID.844,filter.all/event_detail.asp" rel="nofollow">Naming Names</a></br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970797">\
	 <div id="dsq-comment-header-1970797" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970797" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970797">D.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970797" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970797" class="dsq-comment-message">Karmi,<br>Torture is like porn; you know it when you see-or feel, in this case-it.</br><br></br><br>But you raise an interesting point: our special ops guys are pushed to extremes that most liberals would consider "torture" in the name of good training.</br><br></br><br>Yet there\'s no complaints about that.</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970798">\
	 <div id="dsq-comment-header-1970798" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970798" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970798">KarmiCommunist</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970798" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970798" class="dsq-comment-message">D.,<br></br><br>I usually agree with what you say; however, people can\'t agree on what porn is, e.g. the chief judge of the 9th U.S. Circuit Court of Appeals, Judge Alex Kozinski, was presiding over a porn case, when it came out that he had "<i>sexually explicit photos and videos on a Web site he maintained.</i></br><br></br><br>;-)</br></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-1970799">\
	 <div id="dsq-comment-header-1970799" class="dsq-comment-header">\
	 <cite id="dsq-cite-1970799" class="dsq-comment-cite">\
	 <span id="dsq-author-user-1970799">Nita</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-1970799" class="dsq-comment-body">\
	 <div id="dsq-comment-message-1970799" class="dsq-comment-message">I hope that chihuahua grows up and eats its master\'s throat. It\'s so cute and so wrong at the same time.</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=friday_open_thread8230yeah_it8217s_friday_64&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');
}

})();




