var _base_url;
function forum_init() {
	// grab the base_url from hidden html data
	var forum_base_url = $('#forum_base_url');
	if (!forum_base_url.length)
	{
		return;
	}
	_base_url = forum_base_url.html();

	var logged_in = $('#logged_in');
	if (!logged_in.length)
	{
		return;
	}
	var _logged_in = logged_in.html();
	if (_logged_in == 0)
	{
		$('#login_dialog').dialog({
			autoOpen: false,
			draggable: false,
			resizable: false,
			modal: true,
			width: 350,
			buttons: {
				'Login': function() {
					window.location.href = '/login';
					$(this).dialog('close');
				},
				'Create': function() {
					window.location.href = '/create';
					$(this).dialog('close');
				}
			}
		});
	}

	// comment link
	var link = $('#action_comment');
	if (link.length) {
		link.attr('href', 'javascript:void(0)');
		if (_logged_in == 0) {
			link.click(function() {
				$('#login_dialog').dialog('open');
			});
		}
		else {
			link.click(function() {
				showPostEditor(0);
			});
		}
	}

	// all the reply links
	var reply_link;
	var elements = $('[name="item"]').each(function(index) {
		reply_link = $(this).find('.reply_b');
		reply_link.attr('href', 'javascript:void(0)');
		if (_logged_in == 0) {
			reply_link.click(function() {
				$('#login_dialog').dialog('open');
			});
		}
		else {
			var item = $(this);
			reply_link.click(function() {
				showPostEditor(item.attr('id'));
			});
		}
	});

	// mouseover help
	$('.help').each(function(index) {
		$(this).attr('title', "What's this?");
		$(this).tipsy({gravity: 'e'});
	});

	// prestige help
	$('#prestige_dialog').dialog({
		autoOpen: false,
		draggable: false,
		resizable: false,
		modal: true,
		width: 400,
		buttons: {
			'Ok': function() {
				$(this).dialog('close');
			}
		}
	});
	$('.rep.mouseover').each(function(index) {
		$(this).click(function() {
			$('#prestige_dialog').dialog('open');
		});
	});
	
	// delete action
	var delete_link = $('#action_delete');
	if (delete_link.length)
	{
		var delete_link_href = delete_link.attr('href');
		delete_link.attr('href', 'javascript:void(0)');

		$('#delete_dialog').dialog({
			autoOpen: false,
			draggable: false,
			resizable: false,
			width: 400,
			modal: true,
			buttons: {
				'Delete': function() {
					$(this).dialog('close');
					window.location.href = delete_link_href;
				},
				'Cancel': function() {
					$(this).dialog('close');
				}
			}
		});

		delete_link.click(function () {
			$('#delete_dialog').dialog('open');
			return false;
		});
	}

	// move action
	var move_link = $('#action_move');
	if (move_link.length)
	{
		$('#move_dialog').dialog({
			autoOpen: false,
			draggable: false,
			resizable: false,
			width: 400,
			modal: true,
			buttons: {
				'Move': function() {
					$(this).dialog('close');
					$(this).find('form').submit();
				},
				'Cancel': function() {
					$(this).dialog('close');
				}
			}
		});

		move_link.click(function () {
			$('#move_dialog').dialog('open');
			return false;
		});
	}
}

function showPostEditor(replyTo) {
	var replyName;
	if (replyTo == 0) {
		replyName = 'All';
	}
	else {
		replyName = $('#' + replyTo + ' > .right > .name > a').html();
	}

	var html = '<form action="' + _base_url + '&amp;r=' + replyTo + '" method="post">';
	html += "<div id=\"post_textarea\">";
	html += "<textarea style=\"width:580px; height:80px;\" name=\"text\"></textarea></div>";
	html += "<div id=\"post_submit\"><input value=\"Submit\" type=\"submit\" />";
	html += "<span style=\"padding-left:10px;\">Replying to <i>";
	html += replyName;
	html += "</i></span></div></form>";

	$("#post_input").html(html);
	var post_box_top = $('#post_input').offset().top;
	$(window).scrollTop(post_box_top);
}

$(document).ready(function () {
	forum_init();
});

