var DiscussionList = {
	startup: function() {
		$$('.discussion').each(function(discussion) {
			replies = discussion.select("li.reply");
			if(replies.length > 3) {
				Discussion.hideReplies(discussion, replies, replies.slice(0, -1));
			};
		});
		$$('.text_exposed_hide').invoke('show');
		$$('.text_exposed_show').invoke('hide');
		$$('.first-post-body-container').each(function(body) {
			Discussion.shortenFirstPost(body);
		});
	}
};

var Discussion = {
	shortenFirstPost: function(body) {
		if(body.getHeight() > 250) {
			body.setStyle('height: 200px; overflow: hidden; position: relative;');
			command = "$('"+body.id+"').setStyle('height: auto;'); $('"+body.id+"_readmore').hide(); $('"+body.id+"_fadeout').hide(); return false;";
			body.insert('<img src="/images/discussion-clippedfadeout.png" class="clippedfadeout" id="'+body.id+'_fadeout" />');
			body.insert('<a href="#" onclick="'+command+'" class="readmore" id="'+body.id+'_readmore">See the whole post</a>');
		};
	},
	revealReply: function(id) {
		body = $('reply_body_'+id);
		body.select('.text_exposed_hide').invoke('hide');
		body.select('.text_exposed_show').invoke('show');
	},
	hideReplies: function(discussion, replies, replies_to_hide) {
		replies_to_hide.invoke('hide');
		show_more_id = 'show_replies_for_'+discussion.id;
		show_more_func = replies_to_hide.collect(function(r) {
			return "$('"+r.id+"').show(); ";
		}).join('') + "$('"+show_more_id+"').hide(); return false;";
		show_more = '<li class="show-replies" id="'+show_more_id+'"><a href="#" onclick="'+show_more_func+'">Show '+replies_to_hide.length+' earlier replies...</a></li>'
		Element.insert(replies_to_hide.last(), { after: show_more });
	}
};

var ReplyForm = {
	showUnemptyForms: function() {
		$$('.discussion').each(function(discussion) {
			if (discussion.select(".quick-reply").first().getValue() != '') {
				discussion.select(".quick-reply-target").first().hide();
				discussion.select(".quick-reply-form").first().show();
				discussion.select(".quick-reply-avatar").first().show();
			};
		});
	},
	targetFocused: function(discussion_id) {
		$("reply_target_"+discussion_id).hide();
		$("reply_form_"+discussion_id).show();
		$("reply_body_"+discussion_id).focus();
		$("reply_avatar_"+discussion_id).show();
	},
	textareaBlurred: function(discussion_id) {
		if($F("reply_body_"+discussion_id) == '') {
			$("reply_form_"+discussion_id).hide();
			$("reply_target_"+discussion_id).show();
			$("reply_avatar_"+discussion_id).hide();
		};
	}
};

// why doesn't this work?
/*
document.observe('dom:ready', function() {
	$$('input.monitor_submit').invoke('hide');
});
*/
