// --------------------------------------------------------
// 
// --------------------------------------------------------
$(document).ready(
	function ()
	{
		resetSuggestForm();
		
		$("#suggest-link").submit(handleSuggestSubmit);
		
		// $("#suggest-link li.category select").change(handleSuggestCategoryChange);
		
		initCategoryMenu();
	
		/*		
		showDialog({
			view: "sent", 
			state: "narrow",
			header: "suggestion submitted",
			text: "Thank you for suggesting a link. Your suggestion will be reviewed shortly.",
			position: [164, 350],
			suppressFade: true
		});
		*/
	}
);

// --------------------------------------------------------
// 
// --------------------------------------------------------
function initCategoryMenu()
{
	$("#category-menu li a").hover(handleCategoryMenuItemOver, handleCategoryMenuItemOut);

	// $("#category-menu li.default a").click(function () { return false; });

	$("#category-menu li.default a").click(handleItemMenuToggle);
	
	$("#category-menu li:last").css("border-bottom", "1px solid #9c9c9c");

	$("#category-menu li:not(.toggle, .default) a").click(handleCategoryMenuClick);
};

function handleCategoryMenuItemOver ()
{
	if (!$(this).parent().is(".default")) $(this).css("background-color", "#eee");
};

function handleCategoryMenuItemOut ()
{
	$(this).css("background-color", "#fff");
};

function handleCategoryMenuClick ()
{
	var v = $(this).parent().attr("category");
	
	if (v != "")
	{
		// $("a#view-best-of").removeClass("disabled");
		
		var menuEl = $(this).parents("ul.item-menu");
		
		// $("li.default", menuEl).attr("timeperiod", v);

		$("li.default a", menuEl).text($(this).text());
		
		hideItemMenus();

		enableSuggestForm();
	}
	else
	{
		resetSuggestForm();
	};
	
	$("#category-menu-input").val(v);
	
	return false;
};

// --------------------------------------------------------
// 
// --------------------------------------------------------
function resetSuggestForm (resetCaptchaImage)
{
	$("ul#category-menu li.default a").text("Select a category");

	$("form#suggest-link li.url input.text").val("").attr("disabled", "disabled");

	$("form#suggest-link li.comment textarea").val("").attr("disabled", "disabled");

	$("form#suggest-link li.captcha input.text").val("").attr("disabled", "disabled");

	$("form#suggest-link li.submit input").attr("disabled", "disabled").css("cursor", "default");
	
	if (resetCaptchaImage)
	{
		$("#captcha").attr("src", g_contentRoot + "/securimage/securimage_show.php?" + Math.random());
	};
};

function enableSuggestForm ()
{
	$("form#suggest-link li.url input.text").val("").removeAttr("disabled");

	$("form#suggest-link li.comment textarea").val("").removeAttr("disabled");

	$("form#suggest-link li.captcha input.text").val("").removeAttr("disabled");

	$("form#suggest-link li.submit input").removeAttr("disabled").css("cursor", "auto");
};

// --------------------------------------------------------
// 
// --------------------------------------------------------
/*
function handleSuggestCategoryChange ()
{
	if ($(this).val())
	{
		enableSuggestForm();
	}
	else
	{
		resetSuggestForm();
	};
};
*/

// --------------------------------------------------------
// 
// --------------------------------------------------------
var g_submissionInProgress = false;

function handleSuggestSubmit ()
{
	if (g_submissionInProgress) return false;
	
	var formEl = $(this);

	$("li.error", formEl).hide();
	
	$("li.submit input", formEl).eq(0).blur();
	
	if (
		$("li.url input", formEl).val() != "" &&
		$("li.captcha input.text", formEl).val() != ""
	)
	{
		submitSuggest($(this));
			
		return false;
	}
	else
	{
		$("li.error", formEl).text("Please complete all required fields.");

		$("li.error", formEl).show();
		
		return false;
	};
};

function submitSuggest (formEl)
{
	g_submissionInProgress = true;
	
	var suggestData = {
		"data[Suggestion][category_id]": $("input#category-menu-input", formEl).val(),
		"data[Suggestion][url]": $("li.url input.text", formEl).val(),
		"data[Suggestion][comment]": $("li.comment textarea", formEl).val(),
		"captcha_code": $("li.captcha input.text", formEl).val()
	};
	
	jQuery.post(g_contentRoot + "/suggestions/suggest_commit", suggestData, handleSubmitSuggestComplete);
};

function handleSubmitSuggestComplete (data, textStatus)
{
	var formEl = $("#suggest-link");
	
	g_submissionInProgress = false;
	
	if (data == "bad captcha")
	{
		$("#captcha").attr("src", g_contentRoot + "/securimage/securimage_show.php?" + Math.random());

		$("li.captcha input", formEl).val("");

		$("li.error", formEl).text("Text from image was entered incorrectly.");

		$("li.error", formEl).show();
	}
	else if (data == "success")
	{
		var o = $("li.submit input", formEl).offset();
		
		var c = $("#main").offset();
		
		showDialog({
			view: "sent", 
			state: "narrow",
			header: "suggestion submitted",
			text: "Thank you for suggesting a link. Your suggestion will be reviewed shortly.",
			// position: [o.left - c.left, o.top - 140]
			position: [164, o.top - 140]
		});
		
		resetSuggestForm(true);
	};
};
