(function($) {
	$.fn.ellipsis = function()
	{
		return this.each(function()
		{
			var el = $(this);

			if(el.css("overflow") == "hidden")
			{
				var text = el.html();
				var multiline = el.hasClass('multiline');
				var t = $(this.cloneNode(true))
					.hide()
					.css('position', 'absolute')
					.css('overflow', 'visible')
					.width(multiline ? el.width() : 'auto')
					.height(multiline ? 'auto' : el.height());

				el.after(t);

				function height() { return t.height() > el.height(); };
				function width() { return t.width() > el.width(); };

				var func = multiline ? height : width;

				while (text.length > 0 && func())
				{
					text = text.substr(0, text.length - 1);
					t.html(text + "...");
				}

				el.html(t.html());
				t.remove();
			}
		});
	};
})(jQuery);

$(document).ready(function () {
	$('._ellipsis').ellipsis();
});

function showMessage(type, title, message) {

	$('#message').removeClass().addClass('message_' + type);
	$('#message').children('h1').text(title);
	$('#message').children('p').html(message);
	
	$('#message').css('display', 'none');
	$('#message').css('bottom', '0');
	
	$('#message').slideDown(100);
}

function isNumeric(n) { return !isNaN(parseFloat(n)) && isFinite(n); }
