




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": [{"body": "really great entry: http://bit.ly/Czzi5", "author_name": "theroflwaffle", "source_url": "http://www.backtype.com/search?q=http%3A//www.jesusmanifesto.com/2009/07/cheating-on-the-church/", "id": 1797014, "get_service_url": "http://twitter.com/", "title": "", "url": "http://twitter.com/theroflwaffle/statuses/2587718345", "source": "backtype", "get_service_name": "twitter", "avatar_url": "http://s3.amazonaws.com/twitter_production/profile_images/52180522/n635795964_5838_normal.jpg", "author_url": "", "date_created": "5 months ago", "retweets": [{"url": "http://twitter.com/theroflwaffle/status/2587718345", "author_name": "theroflwaffle"}]}], "has_more_reactions": false, "users": {"0c98a9dcc7646ca66c34e3e3b5e1c91f": {"username": "Daniel Medina", "tumblr": "", "display_name": "Daniel Medina", "url": "http://disqus.com/guest/0c98a9dcc7646ca66c34e3e3b5e1c91f/", "registered": false, "linkedin": "", "blog": "http://www.lighthouseprayerroom.com/", "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": ""}, "19ad48f66ec6746ee0bf8157d533bca7": {"username": "Chris", "tumblr": "", "display_name": "Chris", "url": "http://disqus.com/guest/19ad48f66ec6746ee0bf8157d533bca7/", "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": ""}, "28e19e4d808266a49b3918c4e1aba818": {"username": "Bryn Harding", "tumblr": "", "display_name": "Bryn Harding", "url": "http://disqus.com/guest/28e19e4d808266a49b3918c4e1aba818/", "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": ""}, "marshamarshamarsha": {"username": "marshamarshamarsha", "tumblr": "", "display_name": "marshamarshamarsha", "url": "http://disqus.com/marshamarshamarsha/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "tedtroxell": {"username": "tedtroxell", "tumblr": "", "display_name": "Ted Troxell", "url": "http://disqus.com/tedtroxell/", "registered": true, "linkedin": "", "blog": "", "remote_domain": null, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/29/9513/avatar32.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "facebook-518179309": {"username": "facebook-518179309", "tumblr": "", "display_name": "Facebook User", "url": "http://disqus.com/facebook-518179309/", "registered": true, "linkedin": "", "blog": "", "remote_domain": 1, "points": 2, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar32.png", "delicious": "", "is_remote": true, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": "Facebook"}, "1a023aab6baa58cdb88fe083078b49fb": {"username": "Elizabeth", "tumblr": "", "display_name": "Elizabeth", "url": "http://disqus.com/guest/1a023aab6baa58cdb88fe083078b49fb/", "registered": false, "linkedin": "", "blog": "http://angeloarchive.com/", "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": ""}, "paulmunn": {"username": "paulmunn", "tumblr": "", "display_name": "paul munn", "url": "http://disqus.com/paulmunn/", "registered": true, "linkedin": "", "blog": "http://cimarronline.blogspot.com/2004/05/paul-munn.html", "remote_domain": null, "points": 6, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/35/365/avatar32.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}, "twitter-18400726": {"username": "twitter-18400726", "tumblr": "", "display_name": "Jesse Evans", "url": "http://disqus.com/twitter-18400726/", "registered": true, "linkedin": "", "blog": "http://twitter.com/JesseTheJoker", "remote_domain": 2, "points": 1, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/44/7107/avatar32.jpg", "delicious": "", "is_remote": true, "verified": false, "flickr": "", "twitter": "http://twitter.com/JesseTheJoker", "remote_domain_name": "Twitter"}, "Al1": {"username": "Al1", "tumblr": "", "display_name": "Al1", "url": "http://disqus.com/Al1/", "registered": true, "linkedin": "", "blog": "http://al-muses.blogspot.com/", "remote_domain": null, "points": 2, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/10/8861/avatar32.jpg", "delicious": "", "is_remote": false, "verified": true, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": false, "name": "the Jesus Manifesto", "streaming_realtime": false, "url": "jesusmanifesto", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 0, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": false, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "jesusmanifesto", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-10_04:10:58", "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": null}, "realtime_paused": false, "posts": {"12278144": {"up_voted": false, "ip": "", "has_replies": false, "message": "Absolutely, Paul.  I agree - wholeheartedly.  I pray I didn't come across as having suggested we wait around for the \"leaders\" to lead.  By no means.  We should challenge, admonish and move ahead - pass them by - if need be, in order to remain authentic and faithful to the marriage between the Bridegroom and the Bride of Christ.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_16:37:17", "killed": false, "user_key": "0c98a9dcc7646ca66c34e3e3b5e1c91f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 12275278, "depth": 4, "points": 0, "author_is_creator": false, "is_realtime": false}, "12276096": {"up_voted": false, "ip": "", "has_replies": true, "message": "The Chicago story strikes me as an example of an ideal (stability or rootedness) being clung to in spite of a concrete reality that might have pointed them in another direction. But anything, even the best things, can become a totem or fetish or idol. Anyway, I'm not advocating that we take vows of stability -- I can't even live it out myself. I do think the example of Benedictine stability can help us consider alternatives to our contemporary rootlessness.<br><br>Where did the bit about social contracts come from (besides Rousseau, whom I did not invoke), or deciding identity, rules and membership? Perhaps these are things you feel automatically come along for the ride that are problematic? I guess I'm not sure why they came up. To me, these things are ancillary to community. <br><br>Lastly, where do I find this one Body? In all our conversations, I've been a bit fuzzy about that.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_16:09:37", "killed": false, "user_key": "tedtroxell", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 5, "is_first_child": false, "email": "", "parent_post_id": 12274602, "depth": 4, "points": 0, "author_is_creator": false, "is_realtime": false}, "12373899": {"up_voted": false, "ip": "", "has_replies": true, "message": "I still disagree about marriage, and don't see how the word \"phenomena\" or \"symptom\" makes any difference. God's making male and female \"one flesh\" is part of the creation, part of Eden. But maybe this is getting off the subject...<br><br>I can agree about the importance of accountability. But \"In accountability we loose some of our imagined freedom, or selfishness, and in submission to each other in fact grow to a higher freedom\"? I don't think so. Maybe this is a difference in our understanding of what \"submission\" means precisely (which <a href=\"http://jesusmanifesto.disqus.com/the_prodigal_consumer/#comment-11907701\" rel=\"nofollow\">has been discussed elsewhere</a> here), but when you put \"accountability\" and \"submission\" together with \"to each other\" and \"in community\" it sure sounds like you're saying that we should give up our freedom and submit our will to the will of other human beings. And I don't think Jesus ever taught that.<br><br>We gain freedom through submitting our will to the will of <i>God</i>, which should never be confused with the \"will\" of any human group. Our accountability is always to God. Submitting our will to the will of the community, represented by leaders or vote or consensus, is only one more instance of \"submitting again to the yoke of slavery.\" God never suppresses the individual but gives each of us greater freedom, while our humanly-instituted groups again and again suppress the individual for \"the good of the community.\"<br><br>Also, I don't quite see how you make sense of this: \"I'm not saying this is anything we accomplish, but you bet your bottom dollar it's labor intensive.\" What is this labor for, if it's not work to accomplish something? Again, the unity and love of the one Body is not our work, or a burden laid on us, depending on our efforts, but a complete, miraculous <i>gift</i> from God. Building our humanly defined and humanly organized \"bodies,\" on the other hand, demands relentless work and <i>is</i> a burden, a heavy weight meant to press us into submission.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-09_07:53:57", "killed": false, "user_key": "paulmunn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 4, "is_first_child": false, "email": "", "parent_post_id": 12360522, "depth": 4, "points": 0, "author_is_creator": false, "is_realtime": false}, "12438168": {"up_voted": false, "ip": "", "has_replies": false, "message": "I wondered when you would chime in, Ted. I've begun to count on you to to keep me honest.<br><br>\"Submission to the needs of the other\" makes more sense to me. Though, again, I think that needs to be explained, since that is not the common usage of that word, and \"submission\" has been used so very often (by Christians!) to suppress and abuse the individual, those in the minority, and the weak (slaves, women, the illiterate, etc). Also, it still leaves the question: How are these \"needs\" determined? By the one receiving help, by what they ask of us? (As I pointed out before, Peter resisted Jesus' footwashing, but Jesus insisted he needed it.) By the community? The leaders? I would say that it is <i>God</i> who knows and decides what is best for us, and it is in submission to God that we best respond to the real needs of those around us.<br><br>You raise a good point about my sensitivity about group dynamics and the evils of institutions (if anyone's interested, I tried to explain my reasons for it in the article <a href=\"http://www.jesusmanifesto.com/2009/04/are-we-the-people/\" rel=\"nofollow\">\"Are we the people?\"</a>). But I don't think I automatically spout \"Woe!\" every time the church is mentioned. Only when it seems that submission or commitment to some human group is being pushed as a demand of Christian discipleship, which seems to be in fashion again in certain circles. Not at all Jesus' message, and nothing like his life (which was seen as dangerously rebellious to the religious leaders and community of his day). It's as bad as individualism, in my opinion, if not worse. And I think the history of institutional churches (and intentional Christian communities) with their suppression and abuses committed against rebels in \"the community,\" bears out my concerns.<br><br>I agree with your observation that Paul called people to be the church, to live up to \"who they are.\" But then he was preaching to people who had no concept of the church, who were just learning what it was. We, on the other hand, do have a concept of church, based on our experience of the multitude of churches on every street corner (often two or three on a street corner). And our concept is usually wrong, severely distorted (perverted?) by the institutional \"incarnations\" of the church that are often not the Body at all. So I think our preaching has to be different now, at least breaking down false views first, by contrasting them with the truth about the Body of Christ.<br><br>And don't we see some of that in later writings about the church? For example, in Revelation, this passage that I think fits a lot of our American churches quite well:<br><blockquote>\"I know your works: you are neither cold nor hot. Would that you were cold or hot! So, because you are lukewarm, and neither cold nor hot, I will spew you out of my mouth.<br><br>\"For you say, I am rich, I have prospered, and I need nothing; not knowing that you are wretched, pitiable, poor, blind, and naked. Therefore I counsel you to buy from me gold refined by fire, that you may be rich, and white garments to clothe you and to keep the shame of your nakedness from being seen, and salve to anoint your eyes, that you may see. <br><br>\"Those whom I love, I reprove and chasten; so be zealous and repent.\" (Rev 3.15-19)</blockquote><br>And then there's Jesus' words in John's gospel (which also appeared later than Paul's writings):<br><blockquote>\"I am the vine, you are the branches. He who abides in me, and I in him, he it is that bears much fruit, for apart from me you can do nothing.<br><br>\"If a man does not abide in me, he is cast forth as a branch and withers; and the branches are gathered, thrown into the fire and burned.\" (Jn 15.5-6)</blockquote>Which emphasizes that the crucial part is being connected with Jesus, since he is the source of fruit and life. <i>He</i> is the vine; we can be part of that, but we never determine the nature or fruit of the vine. If we move away from him then we are cut off, no longer part of the vine (though we are welcome to return). We can't drag the vine down with us; the vine is <i>Christ</i>. But we can separate ourselves. <br><br>Isn't that what Jesus is warning us about when he says, \"Apart from me you can do nothing\"?<br><br><br>By the way, I just noticed (maybe I'm slow): Both Jesus and Paul use the imagery of marriage when talking about our relationship... to Jesus. We are committed in a marriage-like relationship <i>to Jesus</i>. We are not married to the church. We as the church are married to Jesus, made one flesh with Jesus, but again the commitment and faithfulness is to Jesus. Not to the church. Isn't that a significant difference?", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-07-10_08:01:38", "killed": false, "user_key": "paulmunn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 12433254, "depth": 8, "points": 0, "author_is_creator": false, "is_realtime": false}, "12279204": {"up_voted": false, "ip": "", "has_replies": true, "message": "By the way, I didn't mean to criticize the folks in Chicago, who are good friends and have lots of valuable experience and insights to offer. Their history, I think, just shows the limitations of commitment to place and congregation.<br><br>Yes, the references to contracts and rules and identity and membership were not directed at you, Ted. But I think they are always a part of churches, the local \"bodies\" we form and institutionalize. Marks that distinguish them from the one Body.<br><br>People often ask me, \"where is this Body\"? Usually they ask challengingly, but sometimes honestly, curiously. Maybe the best answer is the one Jesus gave: <blockquote>\"The kingdom of God is not coming with signs to be observed; nor will they say, 'Lo, here it is!' or 'There!' for behold, the kingdom of God is among you.\" (Lk 17.20-21)</blockquote>I found the Body in that community in Chicago, and here at the farm. Also in hundreds of churches and homes I visited all across the country. In individuals with a common spirit, the one Spirit, but also in gatherings where that spirit was seen in long-term, interwoven relationships. But you can never say \"there it is,\" because the gathering, the membership, the institutional community you can point to always includes much that is not the Body, and excludes many (not just by locality but by identity and creed and membership) that are part of the Body.<br><br>Notice I use \"the kingdom of God\" and \"the Body\" interchangeably. They exist throughout and mixed in with our organizations and structures, never depending on them (or limited by them), usually in spite of them, like Jesus and his disciples' activity in the midst of the Jewish temple and the Roman empire. <br><br>Where the members of the Body are, the Body is there.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_16:58:24", "killed": false, "user_key": "paulmunn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 4, "is_first_child": false, "email": "", "parent_post_id": 12276096, "depth": 5, "points": 0, "author_is_creator": false, "is_realtime": false}, "12291877": {"up_voted": false, "ip": "", "has_replies": false, "message": "Interestingly, I use \"community\" roughly the same way -- to refer to something organic and not coterminous with organizational or institutional structures. I don't think I see things in quite as stark of terms, and there are certainly some points of disagreement: I'm not sure about your exegesis of Luke 17:20-21 or the conflation of body and kingdom imagery. But when it comes to the relationship of body and community I don't think we're that far apart. I'd suggest that you load the word \"community\" with different baggage than I do.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_20:46:46", "killed": false, "user_key": "tedtroxell", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 12279204, "depth": 6, "points": 0, "author_is_creator": false, "is_realtime": false}, "12550825": {"up_voted": false, "ip": "", "has_replies": false, "message": "This makes sense - however I wonder how you put this together when you consider how much damage the \"church\" has done to so many people.  And if you have considered the wide and various ways we may engage in \"marriage\" and join a \"church.\"  Many of us have had more than one husband, wife.  The majority of us have had membership (and participation) in wide varieties of religious communities.  The twenty first century shapes these institutions in ways far different than the models you describe, and our population of post-modern Americans consumes these things as it does any other product. If Paul were alive today and interested in communicating, he would blog the media networks - and not the faith-based communities. Today, as always, if the \"church\" is to prevail and meet mission, it will have to jump start a new vision for itself and the world.  Frankly, I don't see that happening.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-12_13:18:19", "killed": false, "user_key": "marshamarshamarsha", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "12274602": {"up_voted": false, "ip": "", "has_replies": true, "message": "Yes, I didn't mean to say our communities need to look exactly like Jesus' ministry, but only that his way of life challenges the ideal of stability. His commitment and constancy involved something broader (and more stable, I think) than a vow to stay in one place, or with the same local gathering.<br><br>It's probably also worth mentioning what I observed in an urban community near Chicago, which has been located in the same neighborhood for over fifty years. They were very intentional in their commitment to that place and the people there. But something odd happened. Though the intentional community remains, almost <i>all</i> of the people have changed, and even the neighborhood is vastly different. The institution (organization, \"corporation\") stayed the same, but the vast majority of the people in membership came and left over the years, and the surrounding neighbors also changed, the neighborhood becoming more and more gentrified (due in large part to their nurturing) so that it is no longer a challenging, needy area but a comfortable, suburban one. Weird, huh? A few of them were committed to stability but most everyone (and everything) around them was not, so their work and goals and even structure also had to keep changing.<br><br>So who are they (and we) committed to? An organization, whose actual members (the real people) keep changing? A place, that never stays the same even if we try to? You see what I mean? Did Jesus teach this kind of un-stable stability?<br><br>I agree about marriage. I think Paul wrote too starkly when he said marriage means being torn between pleasing your spouse and pleasing God. But I think it is a serious temptation. And, yes, I think it's the \"commitment\" part that is problematic. We promise our spouse one thing, and our boss another, and our church, and our kids, and pretty soon there are all these demands that we don't have enough time to possibly fulfill, and tensions over who has priority, with each demanding we honor our commitment. Each of these certainly can (and does) demand more of us than there is to go around. But God doesn't. He only asks of us what we can do and what is right and loving for us to do to everyone involved, which he determines. And he offers us one focus, \"follow me.\"<br><br>I agree that this love (living our commitment to God) happens in real, long-term relationships and communities. And interacting with them helps us learn what love really means. But they never define love, even if we make agreements or commitments (social contracts?) with them; only God defines love. At best, they can help us understand the God Who is Love so we can obey him together.<br><br>In the many \"bodies,\" the identity and rules and membership are decided by the agreement of the people involved. But not so in the one Body.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_15:33:12", "killed": false, "user_key": "paulmunn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 6, "is_first_child": false, "email": "", "parent_post_id": 12268973, "depth": 3, "points": 0, "author_is_creator": false, "is_realtime": false}, "12268973": {"up_voted": false, "ip": "", "has_replies": true, "message": "I never liked the dog anyway. :)<br><br>I'm not willing to throw the Benedictines under the bus. They're part of our history, and we can learn from them. And I'm inclined to agree with Berry (and Benedict) that a commitment to local communities might, given our cultural condition, be good for us. I'm not sure being able to map this onto the literal details of Jesus' ministry model is as important as you're making it, so I don't see where the idea of conflicting commitments really comes in. <br><br>The way the Jerusalem community organized itself in Acts 2 doesn't look to me like a carbon copy of Jesus' ministry. What we know about Ephesus doesn't look like either one of those. And so on. These, too were experiments that we can learn from. In keeping with your point about the primacy of love, when Paul and John critique various local communities, they don't seem to do so on the basis that the believers in those communities failed to follow Jesus' wandering model of ministry, but for failure to model Jesus' example of self-sacrificial love. <br><br>While commitment to a local community <i>can</i> get in the way (so, too, can marriage), I don't think it does so inherently. Maybe using the word \"commitment\" is problematic? I don't think it needs to be. Marriage and church life can both be crucibles for growing in this kind of love, and avenues for expressing this kind of love, which of course should extend beyond the marriage relationship and the local community. <br><br>Maybe Bryn meant something more, but when I speak of commitment to such things, I don't mean an uncritical fealty that even God can't trump, but a way of steeling ourselves against too-quickly abandoning such opportunities to work out (sacramentally, perhaps?) what it looks like to love in this way -- what our undivided loyalty to Christ looks like on the ground.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_14:41:10", "killed": false, "user_key": "tedtroxell", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 7, "is_first_child": false, "email": "", "parent_post_id": 12265457, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "12291376": {"up_voted": false, "ip": "", "has_replies": false, "message": "That last question is a good one, like \"how can we love the God we cannot see if we do not love the person we can see?\"<br><br>And I agree, as long as our commitment is to love those real people, valuing those real relationships. But so often the commitment (in church membership ceremonies, for instance) is not to those real people but to \"the church,\" the organization, the institution. The actual people involved in the church keep changing, different people move into and out of the pews and the various leadership roles, but we are supposed to keep our same commitment to the institution and relate to the leadership in the same way because the roles (the offices, the titles) are the same, though the actual people have changed.<br><br>So is our commitment to love, which can only be in actual relationships with real people, and in obedience to the one God Who is Love, or is our commitment to the abstract institution, with its own definition of membership, its own group identity, and its own dogma, all determined by agreement of the people in that group?", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_20:29:16", "killed": false, "user_key": "paulmunn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 12290666, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "12303156": {"up_voted": false, "ip": "", "has_replies": true, "message": "So at about 3:20 this morning it hit me: Paul disclaims that bit about marriage \"I, not the Lord...\" <br><br>In my haste, I had forgotten about it. Please disregard my (now erased) line of inquiry that failed to take that into account.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-08_03:40:25", "killed": false, "user_key": "tedtroxell", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": 12279204, "depth": 6, "points": 0, "author_is_creator": false, "is_realtime": false}, "12306997": {"up_voted": false, "ip": "", "has_replies": true, "message": "Here's some of my thoughts on <a href=\"http://cimarronline.blogspot.com/2006/09/organic-community.html\" rel=\"nofollow\">\"organic community\"</a>. (You might also be interested in the stuff I found about \"strong\" and \"weak\" ties between people: <a href=\"http://cimarronline.blogspot.com/search?q=%22weak+ties%22\" rel=\"nofollow\">click here</a>, and read the three entries from the bottom of the page up)", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-08_07:22:18", "killed": false, "user_key": "paulmunn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 12303156, "depth": 7, "points": 0, "author_is_creator": false, "is_realtime": false}, "12360522": {"up_voted": false, "ip": "", "has_replies": true, "message": "Yes, transcended, or transfigured, is a much better way of putting our eschatological state.  And I agree with you 100%, Paul, that neither the Church nor marriage are the result of fallen humanity.  But what I wrote was that they are phenomena of fallen humanity, not the result.  Nothing is the result of fallen humanity.  Even death is merely a symptom.  And in our fallen state we have still come to attempt some ways of ensuring for each others' provision.  That Jesus blesses marriage and establishes the Church is a sign that God's desire for humanity's restoration to himself can be witnessed in these two institutions.  <br><br>As such, they are hardly personal expressions of romance or praise.  Rather they are fixed within a context of community.  In marriage, the community has a very real benefit to the success of the union in the provision and upbringing of offspring and a more stable society.  In the Church, again the community has a very real benefit to the success of the union.  We all seem to agree that stability can be misleading.  Perhaps accountability is the word we should use to describe the necessity of devoted communal relationships.  In accountability we loose some of our imagined freedom, or selfishness, and in submission to each other in fact grow to a higher freedom.  I'm not saying this is anything we accomplish, but you bet your bottom dollar it's labor intensive.  And because we are in this present darkness, we will be disappointed, just, hopefully, not to the point of despair.  That's when another good word might come into play: endurance; not self-suffering drudgery, but sharing each others' burdens.   <br> <br>There is nothing diminutive about foretaste or illustration.  Jesus gave a foretaste at Cana and used illustrations all the time in his parables.  They point to the Kingdom though they, themselves, are not the Kingdom.  Likewise the Body points to the Kingdom and marriage illustrates restoration, but both exist in the context of this era of the fall.  The Kingdom is, indeed, among us, but the chaos of our present state keeps us looking through a mirror dimly.  Disappointment results from our own idealistic images.  Labor may be intensive, but, speaking as an organic gardener, in the endeavor of devotion, is not without reward.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-08_22:33:08", "killed": false, "user_key": "19ad48f66ec6746ee0bf8157d533bca7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 5, "is_first_child": false, "email": "", "parent_post_id": 12309541, "depth": 3, "points": 0, "author_is_creator": false, "is_realtime": false}, "12257343": {"up_voted": false, "ip": "", "has_replies": true, "message": "I might add -- predictably, I'm sure -- that I don't think your move to the particular, local church is misguided. Commitment to marriage, for instance, necessitates commitment to a particular spouse. At the very least, it is in life among a particular people that our commitment to the larger body is worked out.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_11:36:52", "killed": false, "user_key": "tedtroxell", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 9, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "12278596": {"up_voted": false, "ip": "", "has_replies": false, "message": "Let me also add that I think there is an inherent danger in suggesting that membership in a church always equates membership in the Church.  Let me say as well that I'd compare this to the couple that claims that there isn't anything wrong with having a friend of the opposite sex which is a confidant and that there's nothing more to it.  Here's the thing, when we begin to drift away from our wife or husband and seek emotional support and \"understanding\" outside of the marriage bonds - we are committing emotional adultery.  We cannot forget our first love.  We cannot drift to historical traditions, denominationalism or any other expression of post-denominationalism and consider that to be \"the\" expression of life together - of the true Church.  I know of too many people who feel that they are betraying a spouse by leaving a church, but too much of what was going on was already contrary to the Kingdom and at no time was there any desire or intention for even as much as a conversation to happen in order to foster genuine dialogue and healing to occur.  The \"daily business of church\" was fostering emotional adultery, codependency & guilt - just to name a few dysfunctions to occur and break the sacred bond of marriage between us and the Most High.", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_16:47:42", "killed": false, "user_key": "0c98a9dcc7646ca66c34e3e3b5e1c91f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 12275278, "depth": 4, "points": 0, "author_is_creator": false, "is_realtime": false}, "12299718": {"up_voted": false, "ip": "", "has_replies": true, "message": "Ya know, I know what you're saying, with the parallels between marriage and church commitment. Obviously, as a Christian, our first commitment is to God, the Father. And then, our commitment is to each other, the Body/Bride of Christ, aka The Church.<br><br>Now, I don't think that hopping between your local congregations means that you are in effect being unfaithful to The Church. However, if you love those folks that you see every Sunday, then you won't take switching churches lightly.<br><br>There are plenty of times when we might feel neglected, offended, or just plain hurt by policies of or incidents that occurred at our local church. And these things might continue to occur so that if you weren't offended at first, your emotions will eventually be overcome by these perceived wrong-doings.<br><br>Now, if you don't feel love towards these folks who are inflicting wrong or are standing by seemingly complacent and uncaring, switching to a different congregation might seem appealing. It's easy to just walk away and leave the bastards to their own destruction.<br><br>But what I got out of this article was that, if you love someone (and that includes the members of your current congregation), you will reach out to them with love. This involves communication, care, sensitivity, and compassion. In my family, when my brothers - or even my parents, for that matter - do something that hurts me, or when they start acting stupid, I let them know. I do my best not to hurt their feelings, or blast them with negative comments, but I stick around long enough to get my point across and talk it out with them.<br><br>I am constantly learning, and something that I am slowly realizing is that if you want to change the world, you have to start at home.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-08_00:27:55", "killed": false, "user_key": "twitter-18400726", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 8, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "12253514": {"up_voted": false, "ip": "", "has_replies": true, "message": "I feel a bit alone in my view, but I cannot see how the two are similar unless the clear distinction is made between the Church (which seeks to express authentic Christianity transcending denominationalism, sectarianism, traditionalism and at times, legalism) and Churchianity, which regrettably encapsulates all the former \"isms\" I aforementioned.  The, \"need to regain a sense of commitment to one another...,\" is absolutely true and I do think, that the comprehensive failure to love one another has directly contributed to the pervasive \"spiritual marketplace\" approach to \"doing church\".  As we, as members of the Body of Christ, seek to address our brokenness; and specifically, where we've been unfaithful to the Bride of Christ, appointed and/or designated leaders representing the manifold expressions of the Church must do the same.  In fact, it must begin with those who have been entrusted to feed, care and love the flock.  This expression of servant leadership will help to begin a genuine process toward healing and reconciliation.  Additionally, it will demonstrate a commitment to authenticity and fidelity to the Gospel which is to be upheld in marriage, in all human and ecological relationships and above all else, in the mystical marriage between the Groom and the Bride of Christ.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_09:57:07", "killed": false, "user_key": "0c98a9dcc7646ca66c34e3e3b5e1c91f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 5, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "12275278": {"up_voted": false, "ip": "", "has_replies": true, "message": "Yes, I agree we should not excuse them but challenge them, especially when they claim to be representing Jesus. I just also think we shouldn't wait for them.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_15:50:07", "killed": false, "user_key": "paulmunn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": 12268653, "depth": 3, "points": 0, "author_is_creator": false, "is_realtime": false}, "12277329": {"up_voted": false, "ip": "", "has_replies": false, "message": "Interesting post. I am coming at things from the opposite perspective -  I have been a member of the same church for 27 years (since I was two years old ) and my husband and I are in the process of leaving it. It feels like a divorce to me, and has been a most difficult decision. I feel like I am betraying someone, failing someone, etc.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_16:17:11", "killed": false, "user_key": "1a023aab6baa58cdb88fe083078b49fb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "12255827": {"up_voted": false, "ip": "", "has_replies": false, "message": "I feel this tension, and I've noticed the similar contours of faith and marriage. Growing up evangelical, I didn't take any vows at baptism, and I wonder if sometimes we're missing out a bit. Not that we need vows, <i>per se</i>, but such a rite speaks to our need for some kind of foil against fickleness. Similarly, the Benedictine vow of stability -- which gave Merton grief -- is a gesture in this direction. On the other hand, Simone Weil (whom Paul mentioned on another thread) rather famously refused baptism, preferring to remain \"outside,\" where she felt she belonged -- though of course she's nevertheless part of the story. <br><br>Last summer I tried to re-think my relationship to our local church in light of Benedictine stability, only to have this derailed by an opportunity we felt was from the Lord -- I felt a little like Jephthah, though fortunately I didn't have to sacrifice any of my children. But there was a sense that God was having fun at the expense of my pretensions. Anyway, as much as I think my sensibilities are more Benedictine than Fransciscan, more community-based than peripatetic, my life as actually lived has been that of a tent-dweller, moving with the pillar of fire.<br><br>Still, I think you're exactly right: we need a sense of commitment to one another -- not,(just to be clear) to community as an abstraction, but to the real people God has put into our lives. And doesn't it often seem that these are not the ones we'd choose for ourselves?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_10:57:19", "killed": false, "user_key": "tedtroxell", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "12307928": {"up_voted": false, "ip": "", "has_replies": true, "message": "Both Church and marriage are phenomena, even if consecrated by God, of fallen humanity.  In the resurrection, both are dismissed.  The Church is not the Kingdom, but a foretaste.  Likewise, marriage is not restored humanity, but an illustration.  Both are highly labor intensive and often disappointing, but also wonderful and compelling.  <br><br>Stability for stability sake, just as change for the sake of change, is pointless and self-serving.  However to claim faithfulness to the Church while skipping around from church to church is like claiming faithfulness to marriage while going from spouse to spouse.  Stanley Hauerwas wrote something to the effect, and I'm afraid I can't cite a reference, that divorce is so tempting because after a trial run one thinks one then knows what to expect and can get it right the next time.  I also heard on NPR or 60 minutes or something a little while back the reason so many single 30-somethings remain uncommitted is because they believe, even if in a relationship, they can always find someone better.   <br><br>Paul, the Apostle, may not have been a member of any specific congregation, though he did stay put while learning the Gospel.  Jesus moved around so much because he had a mission to spread the Good News; the disciples were commissioned to do the same.  But the people of the Church at Corinth or the Church at Ephesus, or Thesolenika, or Galatia, with some exceptions, I'm sure, were pretty stable as a community.  Of course there were no other denominations to choose from and it wouldn't have been so easy just to leave the Church at Corinth to join the Church in Rome.  We know those early Christians had to become terribly faithful and committed to each other, otherwise they might end up in the local arena with some hungry lions.  We might not have to worry about lions today, but my fear is that transient congregants smack too sharply of the Churches at Laodicea or even Sardis.  Jesus, though on the move, did retain a committed and stable group with him (even with their foibles, perhaps more committed than any of us).<br><br>Let me do say that any commitment of church membership IS done within the context of serving Christ.  I know there are churches who's membership is very committed to one another, but are more like social clubs than witnesses to the Word of God.  There have certainly been marriages of convenience rather than honest dedication.  And there are times when both may be dissolved, but with great caution and discernment and as much publicity as their beginnings.  <br><br>It's a messy business, human relationships and, honestly, being sanctified by God doesn't make them any easier.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-08_08:20:27", "killed": false, "user_key": "19ad48f66ec6746ee0bf8157d533bca7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 7, "is_first_child": true, "email": "", "parent_post_id": 12299718, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "12309541": {"up_voted": false, "ip": "", "has_replies": true, "message": "I think you go a little overboard there, Chris, with your first comment about marriage and the church. Jesus spoke of marriage by referring to Genesis 2 (\"Therefore a man leaves his father and his mother and cleaves to his wife, and they become one flesh\"), which is the creation story before the \"fall.\" Jesus' comment about there being no marriage in heaven doesn't say marriage is a result of \"fallen humanity\" but only that in heaven its limitations will be transcended, so we will all be \"like the angels.\" I interpret that as meaning the deep unity of two people in marriage will extend to everyone in heaven. Jesus honored marriage highly.<br><br>Also the church (the Body, the kingdom of God) was presented by Jesus, not as a result of fallen humanity, but as the life of eternity made available to us now (as Dorothy Day used to say, \"Eternal life begins now\"). It was the life Jesus himself lived. Of course our \"churches\" are disappointing, as you say. But that's not because the church is merely a provisional \"foretaste,\" but because our churches are not the one church, the Body. Where the Body exists, it is neither labor intensive nor even a little bit disappointing.<br><br>You make good points about the temptations of divorce and the hesitancy to commit. And obviously \"skipping around from church to church\" is not right, not what we are called to do. But there are many reasons for changing churches that are not \"skipping around.\" It is a great good, part of the miracle of the Body of Christ, that we <i>can</i> move from one gathering of Christians to another (if called to do so by God) and find the same spirit, the one Body, there as well. Jesus' itinerancy shows the amazing breadth and flexibility of the kingdom of God, which no institution (church or otherwise) can come close to matching.<br><br>As I wrote <a href=\"http://www.jesusmanifesto.com/2009/07/cheating-on-the-church/?success#comment-12274602\" rel=\"nofollow\">earlier in this discussion</a>, stability is not the point (and it can be quite a distraction if we are seeking that primarily). Our focus should be on staying connected to the one Body (which is Christ himself). This is both the source of real love of real people, and provides a stability that transcends anything we can accomplish by committing to some place or communal organization. <br><br>Actually it is not something we can accomplish at all (in that sense, it is not \"intentional\" community). We can only accept the invitation of Jesus and be welcomed into his Body, as a gift to us.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-08_09:10:13", "killed": false, "user_key": "paulmunn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 6, "is_first_child": false, "email": "", "parent_post_id": 12307928, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "12395233": {"up_voted": false, "ip": "", "has_replies": true, "message": "Interesting; the response sent to my personal email is different from the response posted on this site.  In any case, it's difficult to have a conversation when one changes the words or adds to the words of another, which is what you are doing with my posts, Paul.  <br><br>First of all, there is nothing inherently Christian or Jewish (or Muslim or Buddhist or whatever, for that matter) about marriage.  The Church uses a social construct to illustrate restored humanity, which only serves to bless the institution and hold it to an exemplary standard.  <br><br>Nowhere did I say we must submit to the \"will\" of others, but if Jesus' washing of the disciples feet is not submission, I don't know what is, yet the Servant King is the model of freedom.  <br><br>My reference to accomplishment was to your statement that the Body is the source of real love greater than any accomplishment of ours.  I agree, but the Body is US.  We are the Body of Christ!  I do not mean to imply that the Body has realized itself entirely faithfully as the institution of the Church, but it remains the Church.  Labor can still be sweet and disappointment, enlightening, for His yoke is easy and His burden light and James' letter seems to argue for the faithfulness of labor (don't dare assume I mean any kind of nonsense Protestant work ethic).  <br><br>Poor Bryn must be pulling his hair out by now, if he's still reading these responses to his original thoughts.  Let me add, finally, that dreaming about eternal life (which I do not suggest Ms. Day frittered away doing) and longing for some pie-in-the-sky Christiology (which I do not mean to suggest you do, Paul) denies the Word of God active and militant in the world now and in it's state of chaos.  If God is not Emmanuel, what is the Gospel?  Day was a devout Catholic, to my knowledge, and very rooted in society and community and I don't think her movement is called \"Worker\" for nothing.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-09_14:30:54", "killed": false, "user_key": "19ad48f66ec6746ee0bf8157d533bca7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 3, "is_first_child": false, "email": "", "parent_post_id": 12373899, "depth": 5, "points": 0, "author_is_creator": false, "is_realtime": false}, "12241125": {"up_voted": false, "ip": "", "has_replies": false, "message": "For most of my life, I have endeavored to be loyal to the group I have chosen to fellowship with, only changing when I have actually moved to a new location.<br>However, right now I am feeling quite inclined to 'church shop'.  I see your point about excelling in diversity, and not being reduced to a unique distinctive trait--but it's a struggle when the rest of the group seems quite happy to be monocultural/monoexperiential/monofocused, but it doesn't seem to fit with my personal/corporate purpose.  Perhaps part of my local situation has been made worse by being very pastor-led, with basically no input from any other source.  That would tend to attract people who 'fit' with his particular vision, and not attract others who would contribute to the mosaic.  I can certainly see how this has contributed to the consumeristic method of church growth.<br>Thanks for the encouragement to loyalty, but I continue to weigh both my options and responsibilities.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_00:56:16", "killed": false, "user_key": "Al1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "12433254": {"up_voted": false, "ip": "", "has_replies": true, "message": "Chris' use of \"submission\" made perfect sense to me, as did his invocation of Jesus washing the feet of his disciples. The servant posture is one of submission, not to the will of the other, which is the world's definition of submission, but to the needs of the other. If the way in which we submit to one another out of reverence for Christ is not exactly the same as the way in which we submit to the governing authorities (though even here Paul does not mean slavish, uncritical obedience), the semantic slipperiness is not something for which Chris should be held responsible. I think his contextual usage was clear.<br><br>I don't think Chris is the only person to use \"submission\" in this way, just as I don't think I'm the only one who uses \"community\" without the institutional baggage you want to attach to it. I think your anti-institutional bias is so strong that you are reading dark undertones into these words (and words like \"responsibility\" -- if you need to link to your own blog for us to understand your reaction to a given word, I submit that the linguistic peculiarity is yours) that are unintended. It's as though we can barely bring up the church without a stark warning from our resident prophet about the dangers of group dynamics, or a rejoinder that the local church is not the One Body.<br><br>Although it makes a certain amount of sense to recognize that a group of people who profess belief are not necessarily the body of Christ, or that a given group can fail to be or even cease to be the body of Christ, Paul does not argue in this manner. He tells the believers to whom he writes that they <i>are</i> the body of Christ, and he adjures them to comport themselves in a particular way on the basis of that identity and calling, and not from possibility that they might cease to be the body. Even when the issue is prostitution, Paul does not say \"If you do this, you won't be the body anymore,\" but \"Shall I then take the members of Christ and unite them with a prostitute? Never!\" Paul argues from the Church's identity <i>as</i> the body -- even at Corinth.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-10_05:33:10", "killed": false, "user_key": "tedtroxell", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 1, "is_first_child": false, "email": "", "parent_post_id": 12409213, "depth": 7, "points": 0, "author_is_creator": false, "is_realtime": false}, "12246249": {"up_voted": false, "ip": "", "has_replies": true, "message": "\"I feel like all this means that we, <i>as churches and as the Church</i>, need to regain a sense of commitment to one another.\"<br><br>I think this line highlights the difficulty raised here (which both commenters also allude to). You write of commitment to the Church, Bryn, the Body of Christ, but then immediately refer that commitment to a particular local church (the one we happen to be attending now?). That doesn't necessarily follow, and very often commitment to institutional churches (divided, narrowly-defined \"bodies\") can get in the way of commitment to the one Church.<br><br>Also, commitment to the Body of Christ does not rule out changing churches, but even perhaps justifies it at times, since there is only one Church, and it is a great good to be able to go to another church and find the same Body there, which we are already a part of. <br><br>This doesn't mean we should be constantly changing, of course (which is an avoidance technique). But it challenges the line of thinking that each church is its own body, that there are many bodies with many \"faces\" (many heads?), which is the common understanding and quite wrong. Ultimately attempting to substitute our many, divided church institutions for the Body. But there is only one Body.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_07:02:13", "killed": false, "user_key": "paulmunn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "12290666": {"up_voted": false, "ip": "", "has_replies": true, "message": "thanks for raising this issue.<br><br><br>this was one thing that i was really trying to navagate closely in writing this article.  i agree with you that really we are part of One Body, amd our loyalty to this one body comes before our commitment to the congregations we happen to be a part of.<br><br>that being said, i still think that radical committment to the congregations we are a part of is of often over looked importance.  that's what i think i was really trying to get at.  There are ok reasons to leave one congregation for another, but those choices should be made in careful, attentive discernment through the holy spirit.  Not comsumeristically or arbitrarily.  How can we expect to be committed to the One Body if we don't first know how to be committed to the group of people who make up the Body of Chirst to us on a daily basis?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_20:04:08", "killed": false, "user_key": "28e19e4d808266a49b3918c4e1aba818", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 1, "is_first_child": true, "email": "", "parent_post_id": 12246249, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "12263020": {"up_voted": false, "ip": "", "has_replies": true, "message": "Hi, Daniel. I agree with what you're saying (no need to feel alone). But why do you think \"it must begin with [leaders]\"? Throughout church history, the Spirit has often (usually?) chosen people outside the designated leadership to help the flock follow God's leading better, and the \"leaders\" end up having to catch up...", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_13:01:11", "killed": false, "user_key": "paulmunn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 4, "is_first_child": true, "email": "", "parent_post_id": 12253514, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "12268653": {"up_voted": false, "ip": "", "has_replies": true, "message": "Hello, Paul.  History has demonstrated how lay movements and other \"non-designated\" leaders have been crucial to the Church's evolution, and at times, liberation from the appointed leadership's mistaken paths.  That being said, I believe we need to be cautious of letting the leadership off the hook, as it were.  I would go as far as to say that the vast majority of ordained, denominational leadership (and we should also include Roman Catholic, Orthodox and other hierarchies representing traditions within global Christianity) speak as being in connection with, representing the communities of faith they shepherd and so on.  I believe all members of the Body of Christ are enjoined to enter into an introspective fidelity inventory.  However, I also believe that the examples of those who have been invested with trust and leadership must not be excused due to historical antecedents.  All the contrary, it should be all the more reason to exact an expectation of change and noticeable difference in the fashion this generation seeks to lead us all toward healing and reconciliation.  Thanks again, my friend.  Grace & Peace to you.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_14:33:52", "killed": false, "user_key": "0c98a9dcc7646ca66c34e3e3b5e1c91f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 3, "is_first_child": false, "email": "", "parent_post_id": 12263020, "depth": 2, "points": 0, "author_is_creator": false, "is_realtime": false}, "12409213": {"up_voted": false, "ip": "", "has_replies": true, "message": "Yes, until you reply, I'm able to edit my comment. Which I often do, sometimes because I've had second thoughts...<br><br>If you think I've mis-characterized your words, Chris, feel free to correct me. If it's not clear to me what you mean, I usually say something like \"it sounds like you're saying...,\" as I did above. And I have to say that your language is pretty vague and you seem comfortable using words in ways other than the common usage, without explanation. So that may contribute to my misunderstanding you. For example, you have not been clear about what you mean by \"submission,\" a word that has been commonly used to mean \"obedience\" (as in \"submit to our authority\"), even in Christian communal circles. The example of Jesus washing feet still doesn't make it very clear; do you mean \"humble\" or \"service\"...? He was actually doing something that they didn't want, with Peter strongly resisting. So how do you see this as submission?<br><br>As I understand it from Paul's descriptions of the Body, if the church is not faithful, then it is not being the Body (for example, the Body is not divided but always one, because Christ cannot be divided against himself\u2014yet churches are often divided). This is not nitpicking. We should be committed and faithful to the Body, but faithfulness to church institutions (particularly when they are not being the Body) is not asked of us. We may even be called, in faithfulness to the Body, to reject or attack the institutional church at times when it claims to be what it is not. Soren Kierkegaard's \"Attack on Christendom\" comes to mind, but there are countless other examples.<br><br>This, I think, directly applies to the point of Bryn's article, doesn't it?", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-09_17:22:30", "killed": false, "user_key": "paulmunn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 2, "is_first_child": false, "email": "", "parent_post_id": 12395233, "depth": 6, "points": 0, "author_is_creator": false, "is_realtime": false}, "12265457": {"up_voted": false, "ip": "", "has_replies": true, "message": "Don't tell me you had to sacrifice the dog! (Oh, poor loyal and welcoming Fido\u2014like a moth to the flame!)<br><br>Excellent references to Merton and Weil, Ted. But the Franciscans were also community-based, you know, always coming back to their small community houses after a day of peripat... wandering around. Nice reference to the Exodus as well, a story that meant a <i>lot</i> to me during my years on the road.<br><br>And I agree about commitment to real people. But the Benedictine ideal (and vow) of stability doesn't seem to me to come from Jesus, but is their own development with (at least in my understanding) questionable intentions. (For more go here: <a href=\"http://cimarronline.blogspot.com/2006/10/conflicting-commitments.html\" rel=\"nofollow\">\"conflicting commitments\"</a>) I can see how the stability idea might appeal to people today, but I don't think it helps us to follow Jesus very well. I mean, look at the way of life he chose for himself and his disciples...<br><br>I don't think we are called to multiple commitments, but one commitment: to love. Which is the commitment to God Who is Love, to obeying God, which means loving others (real people) as God inspires us to. This encompasses marriage also, as well as community life. But not through various commitments to each of these (and many others, which necessarily end up conflicting with each other for our time and loyalty), but through the one, single-minded, <i>undivided</i> commitment, to the Body, to Christ himself.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-07_13:20:03", "killed": false, "user_key": "paulmunn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 8, "is_first_child": true, "email": "", "parent_post_id": 12257343, "depth": 1, "points": 0, "author_is_creator": false, "is_realtime": false}, "12307317": {"up_voted": false, "ip": "", "has_replies": false, "message": "You're right -- I did find that interesting. And this was telling: \"Yet what we call 'community' (clubs, religious organizations, political groupings) are almost always of the institutional sort.\" <br><br>This is true enough, but I stubbornly use  \"community\" to refer to what grows in and around and often in spite of the apparatus the ostensibly defines it. In teaching writing, for instance, I make reference to \"discourse communities,\" in which the unwritten and often unacknowledged conventions of discourse are much more interesting than any specific structures. <br><br>I'll be more careful with certain words in the future. :)", "is_last_child": true, "can_reply": true, "down_voted": false, "real_date": "2009-07-08_07:43:04", "killed": false, "user_key": "tedtroxell", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": 12306997, "depth": 8, "points": 0, "author_is_creator": false, "is_realtime": false}, "12408952": {"up_voted": false, "ip": "", "has_replies": false, "message": "Maybe that also begins to offer a response to <a href=\"http://www.jesusmanifesto.com/2009/07/cheating-on-the-church/#comment-12277329\" rel=\"nofollow\">Elizabeth's concern above</a>. If our \"marriage\" and faithfulness is to Christ, then we can remain completely faithful and still be free to respond to a call to another congregation. No need for feelings of failure or betrayal, but only gratitude that we never need leave his one Body.<br><br>And perhaps such experiences help us see the difference between faithfulness to \"the bridegroom\" Jesus and our limited commitments to places or church organizations.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-09_17:16:02", "killed": false, "user_key": "paulmunn", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "12233834": {"up_voted": false, "ip": "", "has_replies": false, "message": "Conceptually, at least, I'm right with you. The practice of this is *hard* though; particularly when other parts of the body feel as though separation or relocation is a non-issue. Sometimes the one abandoning things is me, and that makes things really messy. But I'm definitely aiming towards this! Thanks for the reminder poke.", "is_last_child": false, "can_reply": true, "down_voted": false, "real_date": "2009-07-06_19:51:16", "killed": false, "user_key": "facebook-518179309", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "5 months ago", "approved": 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": "http://jesusmanifesto.com/does-not-exist/", "theme": 4, "reply_position": false, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "24453767", "user_id": "anonymous", "forum_id": "6124", "hash": 8743627599603757360}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "cheating_on_the_church", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 24453767, "num_posts": 34, "closed": false, "queued": false, "killed": false}, "reactions_limit": 10, "context": {"show_reply": true, "use_fb_connect": true, "forum_facebook_key": "1a1bdc1b204664881be4e1b12416ddaf", "use_yahoo": false, "subscribed": false, "use_twitter_signin": true, "use_openid": true, "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: ";
  this.MODERATE_OPTIONS = "Moderate Options";

  // Thread moderator actions
  this.CLOSE_THREAD = "Close thread";
  this.OPEN_THREAD = "Open thread";
  this.REMOVE_THREAD = "Remove thread";
  this.RESTORE_THREAD = "Restore thread";
  this.ACTIONS = "Actions";
};
// 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=jesusmanifesto' +
		'&t=cheating_on_the_church' +
		'&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://jesusmanifesto.disqus.com/cheating_on_the_church/latest.rss">' + Dsq.Strings.SUBSCRIBE_BY_RSS + '</a> \
			</span> \
		</div> \
		';

		
		
			html += Dsq.Templates.realtime();
			html += Dsq.Templates.showThreadSettings();
			html = Dsq.Templates.postBox() + html;

		
		

		return html;

	};
	
	this.footer = function() {
		var html = '';

		html += Dsq.Templates.pagination();


		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>';
		html += '<a href="#" onclick="Dsq.Thread.showModeratorActions(); return false;">' + Dsq.Strings.MODERATE + '</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 <a href="' + reaction.source_url + '">' + (reaction.source == 'backtype' ? 'BackType' : '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/jesusmanifesto/thread.js'
			+ '?slug='	+ 'cheating_on_the_church'
			+ '&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/jesusmanifesto/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://jesusmanifesto.disqus.com/cheating_on_the_church/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/jesusmanifesto/_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">34</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://jesusmanifesto.disqus.com/cheating_on_the_church/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://jesusmanifesto.disqus.com/cheating_on_the_church/">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">\
	 </div>\
		';

		
			html = Dsq.Templates.authPost() + html;
		

		
		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.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://jesusmanifesto.disqus.com/cheating_on_the_church/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 <a href="' + reaction.source_url + '">' + (reaction.source == 'backtype' ? 'BackType' : '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 '';
	};

	//
	// 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 are commenting as a Guest. You may choose to log into an existing DISQUS Profile, your Facebook, Twitter or OpenID account to comment on the Jesus Manifesto" onclick="Dsq.Popup.helpBadges(); return false">Optional:</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:24453767" 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> \
								 \
								&nbsp;or&nbsp; \
									 <img src="http://media.disqus.com/images/openid-login-icon.png" alt="" /> \
									 <a href="#" onclick="Dsq.OpenID.requestURL(); return false">OpenID</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'				: 'jesusmanifesto',
			't'				: 'cheating_on_the_church',
			// 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/jesusmanifesto/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/jesusmanifesto/cheating_on_the_church/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/jesusmanifesto/thread.js'
			+ '?slug='	+ 'cheating_on_the_church'
			+ '&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/jesusmanifesto/thread.js'
			+ '?slug='	+ 'cheating_on_the_church'
			+ '&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/jesusmanifesto/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'cheating_on_the_church'
				+ '&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.showModeratorActions = function() {
      if (!Dsq.jsonData.request.is_moderator) {
          return;
      }

      var html = '<div class="dsq-moderate-options"><table><tr>' +
                 '<td>' + Dsq.Strings.ACTIONS + '</td><td><ul>';
      html += '<li><a href="#" onclick="Dsq.Thread.toggleClosed(); return false;">' +
              (Dsq.jsonData.thread.closed ? Dsq.Strings.OPEN_THREAD : Dsq.Strings.CLOSE_THREAD) +
              '</a></li>';
      html += '<li><a href="#" onclick="Dsq.Thread.toggleKilled(); return false;">' +
              (Dsq.jsonData.thread.killed ? Dsq.Strings.RESTORE_THREAD : Dsq.Strings.REMOVE_THREAD) +
              '</a></li>';
      html += '</ul></td></tr></table></div>' +
              '<p>Go to the full <a href="http://disqus.com/comments/moderate-threads/" target="_blank">moderate panel</a> for more options.</p>';
      Dsq.Popup.popModal(html, Dsq.Strings.MODERATE_OPTIONS);
  };

	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/jesusmanifesto/update_days_alive.js', {days:days,thread:Dsq.jsonData.thread.id});
		  status.innerHTML = 'Saved!';
		  window.setTimeout(function() { status.innerHTML = ''; }, 1000);
	};

  this.toggleClosed = function() {
      Dsq.Utils.postToUrl('http://disqus.com/forums/jesusmanifesto/toggle_thread_closed.js', {thread:Dsq.jsonData.thread.id});
      window.setTimeout(function() { window.location.reload(); }, 500);
  };

  this.toggleKilled = function() {
      Dsq.Utils.postToUrl('http://disqus.com/forums/jesusmanifesto/toggle_thread_killed.js', {thread:Dsq.jsonData.thread.id});
      window.setTimeout(function() { window.location.reload(); }, 500);
  };
};
// 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/24453767/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/jesusmanifesto/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/jesusmanifesto/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;
		});
	})();
}









(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-12233834">\
	 <div id="dsq-comment-header-12233834" class="dsq-comment-header">\
	 <cite id="dsq-cite-12233834" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12233834">Facebook User</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12233834" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12233834" class="dsq-comment-message">Conceptually, at least, I\'m right with you. The practice of this is *hard* though; particularly when other parts of the body feel as though separation or relocation is a non-issue. Sometimes the one abandoning things is me, and that makes things really messy. But I\'m definitely aiming towards this! Thanks for the reminder poke.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12241125">\
	 <div id="dsq-comment-header-12241125" class="dsq-comment-header">\
	 <cite id="dsq-cite-12241125" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12241125" href="http://al-muses.blogspot.com/" target="_blank" rel="nofollow">Al1</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12241125" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12241125" class="dsq-comment-message">For most of my life, I have endeavored to be loyal to the group I have chosen to fellowship with, only changing when I have actually moved to a new location.<br>However, right now I am feeling quite inclined to \'church shop\'.  I see your point about excelling in diversity, and not being reduced to a unique distinctive trait--but it\'s a struggle when the rest of the group seems quite happy to be monocultural/monoexperiential/monofocused, but it doesn\'t seem to fit with my personal/corporate purpose.  Perhaps part of my local situation has been made worse by being very pastor-led, with basically no input from any other source.  That would tend to attract people who \'fit\' with his particular vision, and not attract others who would contribute to the mosaic.  I can certainly see how this has contributed to the consumeristic method of church growth.<br>Thanks for the encouragement to loyalty, but I continue to weigh both my options and responsibilities.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12246249">\
	 <div id="dsq-comment-header-12246249" class="dsq-comment-header">\
	 <cite id="dsq-cite-12246249" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12246249" href="http://cimarronline.blogspot.com/2004/05/paul-munn.html" target="_blank" rel="nofollow">paul munn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12246249" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12246249" class="dsq-comment-message">"I feel like all this means that we, <i>as churches and as the Church</i>, need to regain a sense of commitment to one another."<br><br>I think this line highlights the difficulty raised here (which both commenters also allude to). You write of commitment to the Church, Bryn, the Body of Christ, but then immediately refer that commitment to a particular local church (the one we happen to be attending now?). That doesn\'t necessarily follow, and very often commitment to institutional churches (divided, narrowly-defined "bodies") can get in the way of commitment to the one Church.<br><br>Also, commitment to the Body of Christ does not rule out changing churches, but even perhaps justifies it at times, since there is only one Church, and it is a great good to be able to go to another church and find the same Body there, which we are already a part of. <br><br>This doesn\'t mean we should be constantly changing, of course (which is an avoidance technique). But it challenges the line of thinking that each church is its own body, that there are many bodies with many "faces" (many heads?), which is the common understanding and quite wrong. Ultimately attempting to substitute our many, divided church institutions for the Body. But there is only one Body.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12290666">\
	 <div id="dsq-comment-header-12290666" class="dsq-comment-header">\
	 <cite id="dsq-cite-12290666" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12290666">Bryn Harding</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12290666" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12290666" class="dsq-comment-message">thanks for raising this issue.<br><br><br>this was one thing that i was really trying to navagate closely in writing this article.  i agree with you that really we are part of One Body, amd our loyalty to this one body comes before our commitment to the congregations we happen to be a part of.<br><br>that being said, i still think that radical committment to the congregations we are a part of is of often over looked importance.  that\'s what i think i was really trying to get at.  There are ok reasons to leave one congregation for another, but those choices should be made in careful, attentive discernment through the holy spirit.  Not comsumeristically or arbitrarily.  How can we expect to be committed to the One Body if we don\'t first know how to be committed to the group of people who make up the Body of Chirst to us on a daily basis?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12291376">\
	 <div id="dsq-comment-header-12291376" class="dsq-comment-header">\
	 <cite id="dsq-cite-12291376" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12291376" href="http://cimarronline.blogspot.com/2004/05/paul-munn.html" target="_blank" rel="nofollow">paul munn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12291376" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12291376" class="dsq-comment-message">That last question is a good one, like "how can we love the God we cannot see if we do not love the person we can see?"<br><br>And I agree, as long as our commitment is to love those real people, valuing those real relationships. But so often the commitment (in church membership ceremonies, for instance) is not to those real people but to "the church," the organization, the institution. The actual people involved in the church keep changing, different people move into and out of the pews and the various leadership roles, but we are supposed to keep our same commitment to the institution and relate to the leadership in the same way because the roles (the offices, the titles) are the same, though the actual people have changed.<br><br>So is our commitment to love, which can only be in actual relationships with real people, and in obedience to the one God Who is Love, or is our commitment to the abstract institution, with its own definition of membership, its own group identity, and its own dogma, all determined by agreement of the people in that group?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12253514">\
	 <div id="dsq-comment-header-12253514" class="dsq-comment-header">\
	 <cite id="dsq-cite-12253514" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12253514" href="http://www.lighthouseprayerroom.com/" target="_blank" rel="nofollow">Daniel Medina</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12253514" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12253514" class="dsq-comment-message">I feel a bit alone in my view, but I cannot see how the two are similar unless the clear distinction is made between the Church (which seeks to express authentic Christianity transcending denominationalism, sectarianism, traditionalism and at times, legalism) and Churchianity, which regrettably encapsulates all the former "isms" I aforementioned.  The, "need to regain a sense of commitment to one another...," is absolutely true and I do think, that the comprehensive failure to love one another has directly contributed to the pervasive "spiritual marketplace" approach to "doing church".  As we, as members of the Body of Christ, seek to address our brokenness; and specifically, where we\'ve been unfaithful to the Bride of Christ, appointed and/or designated leaders representing the manifold expressions of the Church must do the same.  In fact, it must begin with those who have been entrusted to feed, care and love the flock.  This expression of servant leadership will help to begin a genuine process toward healing and reconciliation.  Additionally, it will demonstrate a commitment to authenticity and fidelity to the Gospel which is to be upheld in marriage, in all human and ecological relationships and above all else, in the mystical marriage between the Groom and the Bride of Christ.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12263020">\
	 <div id="dsq-comment-header-12263020" class="dsq-comment-header">\
	 <cite id="dsq-cite-12263020" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12263020" href="http://cimarronline.blogspot.com/2004/05/paul-munn.html" target="_blank" rel="nofollow">paul munn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12263020" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12263020" class="dsq-comment-message">Hi, Daniel. I agree with what you\'re saying (no need to feel alone). But why do you think "it must begin with [leaders]"? Throughout church history, the Spirit has often (usually?) chosen people outside the designated leadership to help the flock follow God\'s leading better, and the "leaders" end up having to catch up...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12268653">\
	 <div id="dsq-comment-header-12268653" class="dsq-comment-header">\
	 <cite id="dsq-cite-12268653" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12268653" href="http://www.lighthouseprayerroom.com/" target="_blank" rel="nofollow">Daniel Medina</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12268653" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12268653" class="dsq-comment-message">Hello, Paul.  History has demonstrated how lay movements and other "non-designated" leaders have been crucial to the Church\'s evolution, and at times, liberation from the appointed leadership\'s mistaken paths.  That being said, I believe we need to be cautious of letting the leadership off the hook, as it were.  I would go as far as to say that the vast majority of ordained, denominational leadership (and we should also include Roman Catholic, Orthodox and other hierarchies representing traditions within global Christianity) speak as being in connection with, representing the communities of faith they shepherd and so on.  I believe all members of the Body of Christ are enjoined to enter into an introspective fidelity inventory.  However, I also believe that the examples of those who have been invested with trust and leadership must not be excused due to historical antecedents.  All the contrary, it should be all the more reason to exact an expectation of change and noticeable difference in the fashion this generation seeks to lead us all toward healing and reconciliation.  Thanks again, my friend.  Grace & Peace to you.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12275278">\
	 <div id="dsq-comment-header-12275278" class="dsq-comment-header">\
	 <cite id="dsq-cite-12275278" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12275278" href="http://cimarronline.blogspot.com/2004/05/paul-munn.html" target="_blank" rel="nofollow">paul munn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12275278" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12275278" class="dsq-comment-message">Yes, I agree we should not excuse them but challenge them, especially when they claim to be representing Jesus. I just also think we shouldn\'t wait for them.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12278144">\
	 <div id="dsq-comment-header-12278144" class="dsq-comment-header">\
	 <cite id="dsq-cite-12278144" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12278144" href="http://www.lighthouseprayerroom.com/" target="_blank" rel="nofollow">Daniel Medina</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12278144" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12278144" class="dsq-comment-message">Absolutely, Paul.  I agree - wholeheartedly.  I pray I didn\'t come across as having suggested we wait around for the "leaders" to lead.  By no means.  We should challenge, admonish and move ahead - pass them by - if need be, in order to remain authentic and faithful to the marriage between the Bridegroom and the Bride of Christ.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12278596">\
	 <div id="dsq-comment-header-12278596" class="dsq-comment-header">\
	 <cite id="dsq-cite-12278596" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12278596" href="http://www.lighthouseprayerroom.com/" target="_blank" rel="nofollow">Daniel Medina</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12278596" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12278596" class="dsq-comment-message">Let me also add that I think there is an inherent danger in suggesting that membership in a church always equates membership in the Church.  Let me say as well that I\'d compare this to the couple that claims that there isn\'t anything wrong with having a friend of the opposite sex which is a confidant and that there\'s nothing more to it.  Here\'s the thing, when we begin to drift away from our wife or husband and seek emotional support and "understanding" outside of the marriage bonds - we are committing emotional adultery.  We cannot forget our first love.  We cannot drift to historical traditions, denominationalism or any other expression of post-denominationalism and consider that to be "the" expression of life together - of the true Church.  I know of too many people who feel that they are betraying a spouse by leaving a church, but too much of what was going on was already contrary to the Kingdom and at no time was there any desire or intention for even as much as a conversation to happen in order to foster genuine dialogue and healing to occur.  The "daily business of church" was fostering emotional adultery, codependency & guilt - just to name a few dysfunctions to occur and break the sacred bond of marriage between us and the Most High.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12255827">\
	 <div id="dsq-comment-header-12255827" class="dsq-comment-header">\
	 <cite id="dsq-cite-12255827" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12255827">Ted Troxell</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12255827" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12255827" class="dsq-comment-message">I feel this tension, and I\'ve noticed the similar contours of faith and marriage. Growing up evangelical, I didn\'t take any vows at baptism, and I wonder if sometimes we\'re missing out a bit. Not that we need vows, <i>per se</i>, but such a rite speaks to our need for some kind of foil against fickleness. Similarly, the Benedictine vow of stability -- which gave Merton grief -- is a gesture in this direction. On the other hand, Simone Weil (whom Paul mentioned on another thread) rather famously refused baptism, preferring to remain "outside," where she felt she belonged -- though of course she\'s nevertheless part of the story. <br><br>Last summer I tried to re-think my relationship to our local church in light of Benedictine stability, only to have this derailed by an opportunity we felt was from the Lord -- I felt a little like Jephthah, though fortunately I didn\'t have to sacrifice any of my children. But there was a sense that God was having fun at the expense of my pretensions. Anyway, as much as I think my sensibilities are more Benedictine than Fransciscan, more community-based than peripatetic, my life as actually lived has been that of a tent-dweller, moving with the pillar of fire.<br><br>Still, I think you\'re exactly right: we need a sense of commitment to one another -- not,(just to be clear) to community as an abstraction, but to the real people God has put into our lives. And doesn\'t it often seem that these are not the ones we\'d choose for ourselves?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12257343">\
	 <div id="dsq-comment-header-12257343" class="dsq-comment-header">\
	 <cite id="dsq-cite-12257343" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12257343">Ted Troxell</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12257343" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12257343" class="dsq-comment-message">I might add -- predictably, I\'m sure -- that I don\'t think your move to the particular, local church is misguided. Commitment to marriage, for instance, necessitates commitment to a particular spouse. At the very least, it is in life among a particular people that our commitment to the larger body is worked out.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12265457">\
	 <div id="dsq-comment-header-12265457" class="dsq-comment-header">\
	 <cite id="dsq-cite-12265457" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12265457" href="http://cimarronline.blogspot.com/2004/05/paul-munn.html" target="_blank" rel="nofollow">paul munn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12265457" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12265457" class="dsq-comment-message">Don\'t tell me you had to sacrifice the dog! (Oh, poor loyal and welcoming Fido—like a moth to the flame!)<br><br>Excellent references to Merton and Weil, Ted. But the Franciscans were also community-based, you know, always coming back to their small community houses after a day of peripat... wandering around. Nice reference to the Exodus as well, a story that meant a <i>lot</i> to me during my years on the road.<br><br>And I agree about commitment to real people. But the Benedictine ideal (and vow) of stability doesn\'t seem to me to come from Jesus, but is their own development with (at least in my understanding) questionable intentions. (For more go here: <a href="http://cimarronline.blogspot.com/2006/10/conflicting-commitments.html" rel="nofollow">"conflicting commitments"</a>) I can see how the stability idea might appeal to people today, but I don\'t think it helps us to follow Jesus very well. I mean, look at the way of life he chose for himself and his disciples...<br><br>I don\'t think we are called to multiple commitments, but one commitment: to love. Which is the commitment to God Who is Love, to obeying God, which means loving others (real people) as God inspires us to. This encompasses marriage also, as well as community life. But not through various commitments to each of these (and many others, which necessarily end up conflicting with each other for our time and loyalty), but through the one, single-minded, <i>undivided</i> commitment, to the Body, to Christ himself.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12268973">\
	 <div id="dsq-comment-header-12268973" class="dsq-comment-header">\
	 <cite id="dsq-cite-12268973" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12268973">Ted Troxell</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12268973" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12268973" class="dsq-comment-message">I never liked the dog anyway. :)<br><br>I\'m not willing to throw the Benedictines under the bus. They\'re part of our history, and we can learn from them. And I\'m inclined to agree with Berry (and Benedict) that a commitment to local communities might, given our cultural condition, be good for us. I\'m not sure being able to map this onto the literal details of Jesus\' ministry model is as important as you\'re making it, so I don\'t see where the idea of conflicting commitments really comes in. <br><br>The way the Jerusalem community organized itself in Acts 2 doesn\'t look to me like a carbon copy of Jesus\' ministry. What we know about Ephesus doesn\'t look like either one of those. And so on. These, too were experiments that we can learn from. In keeping with your point about the primacy of love, when Paul and John critique various local communities, they don\'t seem to do so on the basis that the believers in those communities failed to follow Jesus\' wandering model of ministry, but for failure to model Jesus\' example of self-sacrificial love. <br><br>While commitment to a local community <i>can</i> get in the way (so, too, can marriage), I don\'t think it does so inherently. Maybe using the word "commitment" is problematic? I don\'t think it needs to be. Marriage and church life can both be crucibles for growing in this kind of love, and avenues for expressing this kind of love, which of course should extend beyond the marriage relationship and the local community. <br><br>Maybe Bryn meant something more, but when I speak of commitment to such things, I don\'t mean an uncritical fealty that even God can\'t trump, but a way of steeling ourselves against too-quickly abandoning such opportunities to work out (sacramentally, perhaps?) what it looks like to love in this way -- what our undivided loyalty to Christ looks like on the ground.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12274602">\
	 <div id="dsq-comment-header-12274602" class="dsq-comment-header">\
	 <cite id="dsq-cite-12274602" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12274602" href="http://cimarronline.blogspot.com/2004/05/paul-munn.html" target="_blank" rel="nofollow">paul munn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12274602" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12274602" class="dsq-comment-message">Yes, I didn\'t mean to say our communities need to look exactly like Jesus\' ministry, but only that his way of life challenges the ideal of stability. His commitment and constancy involved something broader (and more stable, I think) than a vow to stay in one place, or with the same local gathering.<br><br>It\'s probably also worth mentioning what I observed in an urban community near Chicago, which has been located in the same neighborhood for over fifty years. They were very intentional in their commitment to that place and the people there. But something odd happened. Though the intentional community remains, almost <i>all</i> of the people have changed, and even the neighborhood is vastly different. The institution (organization, "corporation") stayed the same, but the vast majority of the people in membership came and left over the years, and the surrounding neighbors also changed, the neighborhood becoming more and more gentrified (due in large part to their nurturing) so that it is no longer a challenging, needy area but a comfortable, suburban one. Weird, huh? A few of them were committed to stability but most everyone (and everything) around them was not, so their work and goals and even structure also had to keep changing.<br><br>So who are they (and we) committed to? An organization, whose actual members (the real people) keep changing? A place, that never stays the same even if we try to? You see what I mean? Did Jesus teach this kind of un-stable stability?<br><br>I agree about marriage. I think Paul wrote too starkly when he said marriage means being torn between pleasing your spouse and pleasing God. But I think it is a serious temptation. And, yes, I think it\'s the "commitment" part that is problematic. We promise our spouse one thing, and our boss another, and our church, and our kids, and pretty soon there are all these demands that we don\'t have enough time to possibly fulfill, and tensions over who has priority, with each demanding we honor our commitment. Each of these certainly can (and does) demand more of us than there is to go around. But God doesn\'t. He only asks of us what we can do and what is right and loving for us to do to everyone involved, which he determines. And he offers us one focus, "follow me."<br><br>I agree that this love (living our commitment to God) happens in real, long-term relationships and communities. And interacting with them helps us learn what love really means. But they never define love, even if we make agreements or commitments (social contracts?) with them; only God defines love. At best, they can help us understand the God Who is Love so we can obey him together.<br><br>In the many "bodies," the identity and rules and membership are decided by the agreement of the people involved. But not so in the one Body.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12276096">\
	 <div id="dsq-comment-header-12276096" class="dsq-comment-header">\
	 <cite id="dsq-cite-12276096" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12276096">Ted Troxell</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12276096" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12276096" class="dsq-comment-message">The Chicago story strikes me as an example of an ideal (stability or rootedness) being clung to in spite of a concrete reality that might have pointed them in another direction. But anything, even the best things, can become a totem or fetish or idol. Anyway, I\'m not advocating that we take vows of stability -- I can\'t even live it out myself. I do think the example of Benedictine stability can help us consider alternatives to our contemporary rootlessness.<br><br>Where did the bit about social contracts come from (besides Rousseau, whom I did not invoke), or deciding identity, rules and membership? Perhaps these are things you feel automatically come along for the ride that are problematic? I guess I\'m not sure why they came up. To me, these things are ancillary to community. <br><br>Lastly, where do I find this one Body? In all our conversations, I\'ve been a bit fuzzy about that.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12279204">\
	 <div id="dsq-comment-header-12279204" class="dsq-comment-header">\
	 <cite id="dsq-cite-12279204" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12279204" href="http://cimarronline.blogspot.com/2004/05/paul-munn.html" target="_blank" rel="nofollow">paul munn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12279204" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12279204" class="dsq-comment-message">By the way, I didn\'t mean to criticize the folks in Chicago, who are good friends and have lots of valuable experience and insights to offer. Their history, I think, just shows the limitations of commitment to place and congregation.<br><br>Yes, the references to contracts and rules and identity and membership were not directed at you, Ted. But I think they are always a part of churches, the local "bodies" we form and institutionalize. Marks that distinguish them from the one Body.<br><br>People often ask me, "where is this Body"? Usually they ask challengingly, but sometimes honestly, curiously. Maybe the best answer is the one Jesus gave: <blockquote>"The kingdom of God is not coming with signs to be observed; nor will they say, \'Lo, here it is!\' or \'There!\' for behold, the kingdom of God is among you." (Lk 17.20-21)</blockquote>I found the Body in that community in Chicago, and here at the farm. Also in hundreds of churches and homes I visited all across the country. In individuals with a common spirit, the one Spirit, but also in gatherings where that spirit was seen in long-term, interwoven relationships. But you can never say "there it is," because the gathering, the membership, the institutional community you can point to always includes much that is not the Body, and excludes many (not just by locality but by identity and creed and membership) that are part of the Body.<br><br>Notice I use "the kingdom of God" and "the Body" interchangeably. They exist throughout and mixed in with our organizations and structures, never depending on them (or limited by them), usually in spite of them, like Jesus and his disciples\' activity in the midst of the Jewish temple and the Roman empire. <br><br>Where the members of the Body are, the Body is there.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12291877">\
	 <div id="dsq-comment-header-12291877" class="dsq-comment-header">\
	 <cite id="dsq-cite-12291877" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12291877">Ted Troxell</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12291877" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12291877" class="dsq-comment-message">Interestingly, I use "community" roughly the same way -- to refer to something organic and not coterminous with organizational or institutional structures. I don\'t think I see things in quite as stark of terms, and there are certainly some points of disagreement: I\'m not sure about your exegesis of Luke 17:20-21 or the conflation of body and kingdom imagery. But when it comes to the relationship of body and community I don\'t think we\'re that far apart. I\'d suggest that you load the word "community" with different baggage than I do.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12303156">\
	 <div id="dsq-comment-header-12303156" class="dsq-comment-header">\
	 <cite id="dsq-cite-12303156" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12303156">Ted Troxell</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12303156" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12303156" class="dsq-comment-message">So at about 3:20 this morning it hit me: Paul disclaims that bit about marriage "I, not the Lord..." <br><br>In my haste, I had forgotten about it. Please disregard my (now erased) line of inquiry that failed to take that into account.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12306997">\
	 <div id="dsq-comment-header-12306997" class="dsq-comment-header">\
	 <cite id="dsq-cite-12306997" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12306997" href="http://cimarronline.blogspot.com/2004/05/paul-munn.html" target="_blank" rel="nofollow">paul munn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12306997" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12306997" class="dsq-comment-message">Here\'s some of my thoughts on <a href="http://cimarronline.blogspot.com/2006/09/organic-community.html" rel="nofollow">"organic community"</a>. (You might also be interested in the stuff I found about "strong" and "weak" ties between people: <a href="http://cimarronline.blogspot.com/search?q=%22weak+ties%22" rel="nofollow">click here</a>, and read the three entries from the bottom of the page up)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12307317">\
	 <div id="dsq-comment-header-12307317" class="dsq-comment-header">\
	 <cite id="dsq-cite-12307317" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12307317">Ted Troxell</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12307317" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12307317" class="dsq-comment-message">You\'re right -- I did find that interesting. And this was telling: "Yet what we call \'community\' (clubs, religious organizations, political groupings) are almost always of the institutional sort." <br><br>This is true enough, but I stubbornly use  "community" to refer to what grows in and around and often in spite of the apparatus the ostensibly defines it. In teaching writing, for instance, I make reference to "discourse communities," in which the unwritten and often unacknowledged conventions of discourse are much more interesting than any specific structures. <br><br>I\'ll be more careful with certain words in the future. :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12277329">\
	 <div id="dsq-comment-header-12277329" class="dsq-comment-header">\
	 <cite id="dsq-cite-12277329" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12277329" href="http://angeloarchive.com/" target="_blank" rel="nofollow">Elizabeth</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12277329" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12277329" class="dsq-comment-message">Interesting post. I am coming at things from the opposite perspective -  I have been a member of the same church for 27 years (since I was two years old ) and my husband and I are in the process of leaving it. It feels like a divorce to me, and has been a most difficult decision. I feel like I am betraying someone, failing someone, etc.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12299718">\
	 <div id="dsq-comment-header-12299718" class="dsq-comment-header">\
	 <cite id="dsq-cite-12299718" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12299718" href="http://twitter.com/JesseTheJoker" target="_blank" rel="nofollow">Jesse Evans</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12299718" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12299718" class="dsq-comment-message">Ya know, I know what you\'re saying, with the parallels between marriage and church commitment. Obviously, as a Christian, our first commitment is to God, the Father. And then, our commitment is to each other, the Body/Bride of Christ, aka The Church.<br><br>Now, I don\'t think that hopping between your local congregations means that you are in effect being unfaithful to The Church. However, if you love those folks that you see every Sunday, then you won\'t take switching churches lightly.<br><br>There are plenty of times when we might feel neglected, offended, or just plain hurt by policies of or incidents that occurred at our local church. And these things might continue to occur so that if you weren\'t offended at first, your emotions will eventually be overcome by these perceived wrong-doings.<br><br>Now, if you don\'t feel love towards these folks who are inflicting wrong or are standing by seemingly complacent and uncaring, switching to a different congregation might seem appealing. It\'s easy to just walk away and leave the bastards to their own destruction.<br><br>But what I got out of this article was that, if you love someone (and that includes the members of your current congregation), you will reach out to them with love. This involves communication, care, sensitivity, and compassion. In my family, when my brothers - or even my parents, for that matter - do something that hurts me, or when they start acting stupid, I let them know. I do my best not to hurt their feelings, or blast them with negative comments, but I stick around long enough to get my point across and talk it out with them.<br><br>I am constantly learning, and something that I am slowly realizing is that if you want to change the world, you have to start at home.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12307928">\
	 <div id="dsq-comment-header-12307928" class="dsq-comment-header">\
	 <cite id="dsq-cite-12307928" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12307928">Chris</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12307928" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12307928" class="dsq-comment-message">Both Church and marriage are phenomena, even if consecrated by God, of fallen humanity.  In the resurrection, both are dismissed.  The Church is not the Kingdom, but a foretaste.  Likewise, marriage is not restored humanity, but an illustration.  Both are highly labor intensive and often disappointing, but also wonderful and compelling.  <br><br>Stability for stability sake, just as change for the sake of change, is pointless and self-serving.  However to claim faithfulness to the Church while skipping around from church to church is like claiming faithfulness to marriage while going from spouse to spouse.  Stanley Hauerwas wrote something to the effect, and I\'m afraid I can\'t cite a reference, that divorce is so tempting because after a trial run one thinks one then knows what to expect and can get it right the next time.  I also heard on NPR or 60 minutes or something a little while back the reason so many single 30-somethings remain uncommitted is because they believe, even if in a relationship, they can always find someone better.   <br><br>Paul, the Apostle, may not have been a member of any specific congregation, though he did stay put while learning the Gospel.  Jesus moved around so much because he had a mission to spread the Good News; the disciples were commissioned to do the same.  But the people of the Church at Corinth or the Church at Ephesus, or Thesolenika, or Galatia, with some exceptions, I\'m sure, were pretty stable as a community.  Of course there were no other denominations to choose from and it wouldn\'t have been so easy just to leave the Church at Corinth to join the Church in Rome.  We know those early Christians had to become terribly faithful and committed to each other, otherwise they might end up in the local arena with some hungry lions.  We might not have to worry about lions today, but my fear is that transient congregants smack too sharply of the Churches at Laodicea or even Sardis.  Jesus, though on the move, did retain a committed and stable group with him (even with their foibles, perhaps more committed than any of us).<br><br>Let me do say that any commitment of church membership IS done within the context of serving Christ.  I know there are churches who\'s membership is very committed to one another, but are more like social clubs than witnesses to the Word of God.  There have certainly been marriages of convenience rather than honest dedication.  And there are times when both may be dissolved, but with great caution and discernment and as much publicity as their beginnings.  <br><br>It\'s a messy business, human relationships and, honestly, being sanctified by God doesn\'t make them any easier.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12309541">\
	 <div id="dsq-comment-header-12309541" class="dsq-comment-header">\
	 <cite id="dsq-cite-12309541" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12309541" href="http://cimarronline.blogspot.com/2004/05/paul-munn.html" target="_blank" rel="nofollow">paul munn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12309541" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12309541" class="dsq-comment-message">I think you go a little overboard there, Chris, with your first comment about marriage and the church. Jesus spoke of marriage by referring to Genesis 2 ("Therefore a man leaves his father and his mother and cleaves to his wife, and they become one flesh"), which is the creation story before the "fall." Jesus\' comment about there being no marriage in heaven doesn\'t say marriage is a result of "fallen humanity" but only that in heaven its limitations will be transcended, so we will all be "like the angels." I interpret that as meaning the deep unity of two people in marriage will extend to everyone in heaven. Jesus honored marriage highly.<br><br>Also the church (the Body, the kingdom of God) was presented by Jesus, not as a result of fallen humanity, but as the life of eternity made available to us now (as Dorothy Day used to say, "Eternal life begins now"). It was the life Jesus himself lived. Of course our "churches" are disappointing, as you say. But that\'s not because the church is merely a provisional "foretaste," but because our churches are not the one church, the Body. Where the Body exists, it is neither labor intensive nor even a little bit disappointing.<br><br>You make good points about the temptations of divorce and the hesitancy to commit. And obviously "skipping around from church to church" is not right, not what we are called to do. But there are many reasons for changing churches that are not "skipping around." It is a great good, part of the miracle of the Body of Christ, that we <i>can</i> move from one gathering of Christians to another (if called to do so by God) and find the same spirit, the one Body, there as well. Jesus\' itinerancy shows the amazing breadth and flexibility of the kingdom of God, which no institution (church or otherwise) can come close to matching.<br><br>As I wrote <a href="http://www.jesusmanifesto.com/2009/07/cheating-on-the-church/?success#comment-12274602" rel="nofollow">earlier in this discussion</a>, stability is not the point (and it can be quite a distraction if we are seeking that primarily). Our focus should be on staying connected to the one Body (which is Christ himself). This is both the source of real love of real people, and provides a stability that transcends anything we can accomplish by committing to some place or communal organization. <br><br>Actually it is not something we can accomplish at all (in that sense, it is not "intentional" community). We can only accept the invitation of Jesus and be welcomed into his Body, as a gift to us.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12360522">\
	 <div id="dsq-comment-header-12360522" class="dsq-comment-header">\
	 <cite id="dsq-cite-12360522" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12360522">Chris</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12360522" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12360522" class="dsq-comment-message">Yes, transcended, or transfigured, is a much better way of putting our eschatological state.  And I agree with you 100%, Paul, that neither the Church nor marriage are the result of fallen humanity.  But what I wrote was that they are phenomena of fallen humanity, not the result.  Nothing is the result of fallen humanity.  Even death is merely a symptom.  And in our fallen state we have still come to attempt some ways of ensuring for each others\' provision.  That Jesus blesses marriage and establishes the Church is a sign that God\'s desire for humanity\'s restoration to himself can be witnessed in these two institutions.  <br><br>As such, they are hardly personal expressions of romance or praise.  Rather they are fixed within a context of community.  In marriage, the community has a very real benefit to the success of the union in the provision and upbringing of offspring and a more stable society.  In the Church, again the community has a very real benefit to the success of the union.  We all seem to agree that stability can be misleading.  Perhaps accountability is the word we should use to describe the necessity of devoted communal relationships.  In accountability we loose some of our imagined freedom, or selfishness, and in submission to each other in fact grow to a higher freedom.  I\'m not saying this is anything we accomplish, but you bet your bottom dollar it\'s labor intensive.  And because we are in this present darkness, we will be disappointed, just, hopefully, not to the point of despair.  That\'s when another good word might come into play: endurance; not self-suffering drudgery, but sharing each others\' burdens.   <br> <br>There is nothing diminutive about foretaste or illustration.  Jesus gave a foretaste at Cana and used illustrations all the time in his parables.  They point to the Kingdom though they, themselves, are not the Kingdom.  Likewise the Body points to the Kingdom and marriage illustrates restoration, but both exist in the context of this era of the fall.  The Kingdom is, indeed, among us, but the chaos of our present state keeps us looking through a mirror dimly.  Disappointment results from our own idealistic images.  Labor may be intensive, but, speaking as an organic gardener, in the endeavor of devotion, is not without reward.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12373899">\
	 <div id="dsq-comment-header-12373899" class="dsq-comment-header">\
	 <cite id="dsq-cite-12373899" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12373899" href="http://cimarronline.blogspot.com/2004/05/paul-munn.html" target="_blank" rel="nofollow">paul munn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12373899" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12373899" class="dsq-comment-message">I still disagree about marriage, and don\'t see how the word "phenomena" or "symptom" makes any difference. God\'s making male and female "one flesh" is part of the creation, part of Eden. But maybe this is getting off the subject...<br><br>I can agree about the importance of accountability. But "In accountability we loose some of our imagined freedom, or selfishness, and in submission to each other in fact grow to a higher freedom"? I don\'t think so. Maybe this is a difference in our understanding of what "submission" means precisely (which <a href="http://jesusmanifesto.disqus.com/the_prodigal_consumer/#comment-11907701" rel="nofollow">has been discussed elsewhere</a> here), but when you put "accountability" and "submission" together with "to each other" and "in community" it sure sounds like you\'re saying that we should give up our freedom and submit our will to the will of other human beings. And I don\'t think Jesus ever taught that.<br><br>We gain freedom through submitting our will to the will of <i>God</i>, which should never be confused with the "will" of any human group. Our accountability is always to God. Submitting our will to the will of the community, represented by leaders or vote or consensus, is only one more instance of "submitting again to the yoke of slavery." God never suppresses the individual but gives each of us greater freedom, while our humanly-instituted groups again and again suppress the individual for "the good of the community."<br><br>Also, I don\'t quite see how you make sense of this: "I\'m not saying this is anything we accomplish, but you bet your bottom dollar it\'s labor intensive." What is this labor for, if it\'s not work to accomplish something? Again, the unity and love of the one Body is not our work, or a burden laid on us, depending on our efforts, but a complete, miraculous <i>gift</i> from God. Building our humanly defined and humanly organized "bodies," on the other hand, demands relentless work and <i>is</i> a burden, a heavy weight meant to press us into submission.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12395233">\
	 <div id="dsq-comment-header-12395233" class="dsq-comment-header">\
	 <cite id="dsq-cite-12395233" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12395233">Chris</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12395233" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12395233" class="dsq-comment-message">Interesting; the response sent to my personal email is different from the response posted on this site.  In any case, it\'s difficult to have a conversation when one changes the words or adds to the words of another, which is what you are doing with my posts, Paul.  <br><br>First of all, there is nothing inherently Christian or Jewish (or Muslim or Buddhist or whatever, for that matter) about marriage.  The Church uses a social construct to illustrate restored humanity, which only serves to bless the institution and hold it to an exemplary standard.  <br><br>Nowhere did I say we must submit to the "will" of others, but if Jesus\' washing of the disciples feet is not submission, I don\'t know what is, yet the Servant King is the model of freedom.  <br><br>My reference to accomplishment was to your statement that the Body is the source of real love greater than any accomplishment of ours.  I agree, but the Body is US.  We are the Body of Christ!  I do not mean to imply that the Body has realized itself entirely faithfully as the institution of the Church, but it remains the Church.  Labor can still be sweet and disappointment, enlightening, for His yoke is easy and His burden light and James\' letter seems to argue for the faithfulness of labor (don\'t dare assume I mean any kind of nonsense Protestant work ethic).  <br><br>Poor Bryn must be pulling his hair out by now, if he\'s still reading these responses to his original thoughts.  Let me add, finally, that dreaming about eternal life (which I do not suggest Ms. Day frittered away doing) and longing for some pie-in-the-sky Christiology (which I do not mean to suggest you do, Paul) denies the Word of God active and militant in the world now and in it\'s state of chaos.  If God is not Emmanuel, what is the Gospel?  Day was a devout Catholic, to my knowledge, and very rooted in society and community and I don\'t think her movement is called "Worker" for nothing.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12409213">\
	 <div id="dsq-comment-header-12409213" class="dsq-comment-header">\
	 <cite id="dsq-cite-12409213" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12409213" href="http://cimarronline.blogspot.com/2004/05/paul-munn.html" target="_blank" rel="nofollow">paul munn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12409213" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12409213" class="dsq-comment-message">Yes, until you reply, I\'m able to edit my comment. Which I often do, sometimes because I\'ve had second thoughts...<br><br>If you think I\'ve mis-characterized your words, Chris, feel free to correct me. If it\'s not clear to me what you mean, I usually say something like "it sounds like you\'re saying...," as I did above. And I have to say that your language is pretty vague and you seem comfortable using words in ways other than the common usage, without explanation. So that may contribute to my misunderstanding you. For example, you have not been clear about what you mean by "submission," a word that has been commonly used to mean "obedience" (as in "submit to our authority"), even in Christian communal circles. The example of Jesus washing feet still doesn\'t make it very clear; do you mean "humble" or "service"...? He was actually doing something that they didn\'t want, with Peter strongly resisting. So how do you see this as submission?<br><br>As I understand it from Paul\'s descriptions of the Body, if the church is not faithful, then it is not being the Body (for example, the Body is not divided but always one, because Christ cannot be divided against himself—yet churches are often divided). This is not nitpicking. We should be committed and faithful to the Body, but faithfulness to church institutions (particularly when they are not being the Body) is not asked of us. We may even be called, in faithfulness to the Body, to reject or attack the institutional church at times when it claims to be what it is not. Soren Kierkegaard\'s "Attack on Christendom" comes to mind, but there are countless other examples.<br><br>This, I think, directly applies to the point of Bryn\'s article, doesn\'t it?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12433254">\
	 <div id="dsq-comment-header-12433254" class="dsq-comment-header">\
	 <cite id="dsq-cite-12433254" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12433254">Ted Troxell</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12433254" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12433254" class="dsq-comment-message">Chris\' use of "submission" made perfect sense to me, as did his invocation of Jesus washing the feet of his disciples. The servant posture is one of submission, not to the will of the other, which is the world\'s definition of submission, but to the needs of the other. If the way in which we submit to one another out of reverence for Christ is not exactly the same as the way in which we submit to the governing authorities (though even here Paul does not mean slavish, uncritical obedience), the semantic slipperiness is not something for which Chris should be held responsible. I think his contextual usage was clear.<br><br>I don\'t think Chris is the only person to use "submission" in this way, just as I don\'t think I\'m the only one who uses "community" without the institutional baggage you want to attach to it. I think your anti-institutional bias is so strong that you are reading dark undertones into these words (and words like "responsibility" -- if you need to link to your own blog for us to understand your reaction to a given word, I submit that the linguistic peculiarity is yours) that are unintended. It\'s as though we can barely bring up the church without a stark warning from our resident prophet about the dangers of group dynamics, or a rejoinder that the local church is not the One Body.<br><br>Although it makes a certain amount of sense to recognize that a group of people who profess belief are not necessarily the body of Christ, or that a given group can fail to be or even cease to be the body of Christ, Paul does not argue in this manner. He tells the believers to whom he writes that they <i>are</i> the body of Christ, and he adjures them to comport themselves in a particular way on the basis of that identity and calling, and not from possibility that they might cease to be the body. Even when the issue is prostitution, Paul does not say "If you do this, you won\'t be the body anymore," but "Shall I then take the members of Christ and unite them with a prostitute? Never!" Paul argues from the Church\'s identity <i>as</i> the body -- even at Corinth.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12438168">\
	 <div id="dsq-comment-header-12438168" class="dsq-comment-header">\
	 <cite id="dsq-cite-12438168" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12438168" href="http://cimarronline.blogspot.com/2004/05/paul-munn.html" target="_blank" rel="nofollow">paul munn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12438168" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12438168" class="dsq-comment-message">I wondered when you would chime in, Ted. I\'ve begun to count on you to to keep me honest.<br><br>"Submission to the needs of the other" makes more sense to me. Though, again, I think that needs to be explained, since that is not the common usage of that word, and "submission" has been used so very often (by Christians!) to suppress and abuse the individual, those in the minority, and the weak (slaves, women, the illiterate, etc). Also, it still leaves the question: How are these "needs" determined? By the one receiving help, by what they ask of us? (As I pointed out before, Peter resisted Jesus\' footwashing, but Jesus insisted he needed it.) By the community? The leaders? I would say that it is <i>God</i> who knows and decides what is best for us, and it is in submission to God that we best respond to the real needs of those around us.<br><br>You raise a good point about my sensitivity about group dynamics and the evils of institutions (if anyone\'s interested, I tried to explain my reasons for it in the article <a href="http://www.jesusmanifesto.com/2009/04/are-we-the-people/" rel="nofollow">"Are we the people?"</a>). But I don\'t think I automatically spout "Woe!" every time the church is mentioned. Only when it seems that submission or commitment to some human group is being pushed as a demand of Christian discipleship, which seems to be in fashion again in certain circles. Not at all Jesus\' message, and nothing like his life (which was seen as dangerously rebellious to the religious leaders and community of his day). It\'s as bad as individualism, in my opinion, if not worse. And I think the history of institutional churches (and intentional Christian communities) with their suppression and abuses committed against rebels in "the community," bears out my concerns.<br><br>I agree with your observation that Paul called people to be the church, to live up to "who they are." But then he was preaching to people who had no concept of the church, who were just learning what it was. We, on the other hand, do have a concept of church, based on our experience of the multitude of churches on every street corner (often two or three on a street corner). And our concept is usually wrong, severely distorted (perverted?) by the institutional "incarnations" of the church that are often not the Body at all. So I think our preaching has to be different now, at least breaking down false views first, by contrasting them with the truth about the Body of Christ.<br><br>And don\'t we see some of that in later writings about the church? For example, in Revelation, this passage that I think fits a lot of our American churches quite well:<br><blockquote>"I know your works: you are neither cold nor hot. Would that you were cold or hot! So, because you are lukewarm, and neither cold nor hot, I will spew you out of my mouth.<br><br>"For you say, I am rich, I have prospered, and I need nothing; not knowing that you are wretched, pitiable, poor, blind, and naked. Therefore I counsel you to buy from me gold refined by fire, that you may be rich, and white garments to clothe you and to keep the shame of your nakedness from being seen, and salve to anoint your eyes, that you may see. <br><br>"Those whom I love, I reprove and chasten; so be zealous and repent." (Rev 3.15-19)</blockquote><br>And then there\'s Jesus\' words in John\'s gospel (which also appeared later than Paul\'s writings):<br><blockquote>"I am the vine, you are the branches. He who abides in me, and I in him, he it is that bears much fruit, for apart from me you can do nothing.<br><br>"If a man does not abide in me, he is cast forth as a branch and withers; and the branches are gathered, thrown into the fire and burned." (Jn 15.5-6)</blockquote>Which emphasizes that the crucial part is being connected with Jesus, since he is the source of fruit and life. <i>He</i> is the vine; we can be part of that, but we never determine the nature or fruit of the vine. If we move away from him then we are cut off, no longer part of the vine (though we are welcome to return). We can\'t drag the vine down with us; the vine is <i>Christ</i>. But we can separate ourselves. <br><br>Isn\'t that what Jesus is warning us about when he says, "Apart from me you can do nothing"?<br><br><br>By the way, I just noticed (maybe I\'m slow): Both Jesus and Paul use the imagery of marriage when talking about our relationship... to Jesus. We are committed in a marriage-like relationship <i>to Jesus</i>. We are not married to the church. We as the church are married to Jesus, made one flesh with Jesus, but again the commitment and faithfulness is to Jesus. Not to the church. Isn\'t that a significant difference?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12408952">\
	 <div id="dsq-comment-header-12408952" class="dsq-comment-header">\
	 <cite id="dsq-cite-12408952" class="dsq-comment-cite">\
	 <a id="dsq-author-user-12408952" href="http://cimarronline.blogspot.com/2004/05/paul-munn.html" target="_blank" rel="nofollow">paul munn</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12408952" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12408952" class="dsq-comment-message">Maybe that also begins to offer a response to <a href="http://www.jesusmanifesto.com/2009/07/cheating-on-the-church/#comment-12277329" rel="nofollow">Elizabeth\'s concern above</a>. If our "marriage" and faithfulness is to Christ, then we can remain completely faithful and still be free to respond to a call to another congregation. No need for feelings of failure or betrayal, but only gratitude that we never need leave his one Body.<br><br>And perhaps such experiences help us see the difference between faithfulness to "the bridegroom" Jesus and our limited commitments to places or church organizations.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-12550825">\
	 <div id="dsq-comment-header-12550825" class="dsq-comment-header">\
	 <cite id="dsq-cite-12550825" class="dsq-comment-cite">\
	 <span id="dsq-author-user-12550825">marshamarshamarsha</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-12550825" class="dsq-comment-body">\
	 <div id="dsq-comment-message-12550825" class="dsq-comment-message">This makes sense - however I wonder how you put this together when you consider how much damage the "church" has done to so many people.  And if you have considered the wide and various ways we may engage in "marriage" and join a "church."  Many of us have had more than one husband, wife.  The majority of us have had membership (and participation) in wide varieties of religious communities.  The twenty first century shapes these institutions in ways far different than the models you describe, and our population of post-modern Americans consumes these things as it does any other product. If Paul were alive today and interested in communicating, he would blog the media networks - and not the faith-based communities. Today, as always, if the "church" is to prevail and meet mission, it will have to jump start a new vision for itself and the world.  Frankly, I don\'t see that happening.</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=jesusmanifesto&t=cheating_on_the_church&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 = '1a1bdc1b204664881be4e1b12416ddaf';
			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');
}

})();




