﻿
$(function()
{
	//Generic disabler for dead links
	$("a.nolink").click(function() { return false; });


	// Generic block toggler.
	$(".toggler").each(function()
	{
		$(this).click(function()
		{
			$($(this).attr("href")).slideToggle(500);
		});
		$($(this).attr("href")).hide();
	});

	// Initialise any help links.
	$("a.help-link").mouseover(Load_Help);
	$("a.help-link").mouseout(Unload_Help);
	$("a.help-link").focus(Load_Help);
	$("a.help-link").blur(Unload_Help);
});


/* Help functions */
function Load_Help()
{
	var strID	= $(this).attr("href");
	var offset	= $(this).offset();

	$(strID).css("left", offset.left + 30).css("top", offset.top + 30);
	$(strID).show();
}
function Unload_Help()
{
	$($(this).attr("href")).hide();
}


// Extends jquery to provide a simple function for enabling/disabling an element.
$.fn.extend(
{
	Enable: function(bIsEnabled, strDisabledCssClass)
	{
		if(bIsEnabled)
		{
			$(this).attr("disabled", "");
			$(this).removeClass(strDisabledCssClass);
		}
		else
		{
			$(this).attr("disabled", "disabled");
			$(this).addClass(strDisabledCssClass);
		}
	}
});


// Scrolls the page to the top-most error field.
function ScrollToError()
{
	// Get the top most point to scroll to.
	for(var i = 0; i < Page_Validators.length; i++)
	{
		if(!Page_Validators[i].isvalid)
		{
			var oCtrl = $("#" + Page_Validators[i].controltovalidate);

			var nYPos = oCtrl.offset().top;
			nYPos -= 20;
			if(nYPos < 0)
				nYPos = 0;

			$('html').animate({ scrollTop: nYPos }, 'slow');
			oCtrl.focus();
			break;
		}
	}
}


$.fn.stripeTable = function(strHeadClass, strClass)
{
	$(this).find("thead tr").addClass(strHeadClass);
	$(this).find("tbody tr").removeClass(strClass);
	$(this).find("tbody tr:odd").addClass(strClass);
};

