
function flashMessage(div, className, message, expires){
	$(div).html('<p class="'+className+'">'+message+'</p>').effect('highlight', {}, 500);
	setTimeout(function() {
		$(div).html('');
	}, expires);
}

function dialogOpen(id){
	$('#'+id).dialog('open');
}
function dialogClose(id){
	$('#'+id).dialog('close');
}

function jAlertDialog(message, callback){
	var $dlg;
	$dlg = $('<div></div>').html(message).dialog({
		modal: true,
		title: '<span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span> Alert',
		buttons: {
			'Ok' : function(){
				$(this).dialog('close');
				if(callback && typeof(callback) === 'function'){
					callback();
				}
			}
		},
		open: function(){
			$(this).prev().addClass('ui-state-error');
		},
		close: function(){
			$dlg.remove();
		}
	});
}

function jInfoDialog(message, callback){
	var $dlg;
	$dlg = $('<div></div>').html(message).dialog({
		modal: true,
		title: '<span class="ui-icon ui-icon-info" style="float: left; margin-right: .3em;"></span> Info',
		buttons: {
			'Ok' : function(){
				$(this).dialog('close');
				if(callback && typeof(callback) === 'function'){
					callback();
				}
			}
		},
		open: function(){
			$(this).prev().addClass('ui-state-highlight');
		},
		close: function(){
			$dlg.remove();
		}
	});
}

$(function(){
	$(".tooltip").tipTip({
		maxWidth: "auto",
		edgeOffset: 1,
		delay: 0
	});

	// setup ajax loader on all link tags with class 'ajax-page'
	$(document).on('click', 'a.ajax-page', function(){
		// url to load
		var href = $(this).attr('href');
		// div id to load into
		var target = $(this).attr('target') || '#page';

		if(!$(target).is('*')){
			alert('BUG: ajax link ('+href+') target element not found ('+target+')');
			return true;
		}

		$('#mainmenu a.current').removeClass('current');
		$(this).addClass('current');

		$("#loading").show();
		$(target).fadeOut(200);
		$(target).load(href, function(){
			$(target).fadeIn(200);
			$("#loading").hide();
		});

		return false;
	});
});

