function flashMessage(messages) {
	if (typeof messages === 'object') {

		if (messages[0].message || messages[0].data) {

			var dialogText = '';
			if (messages[0].message) {
				dialogText = messages[0].message + '<br />';				
			}
				
			if (messages[0].message_type === 'error') {
				var messageBox = $('#errorMessage');
				
				if (messages[0].data) {
					if (messages[0].data.form_validation) {
						for (i in messages[0].data.form_validation) {
							$('[name=' + messages[0].data.form_validation[i].field + ']').addClass('ui-state-error');
							if ($('label[for='+messages[0].data.form_validation[i].field+']').html()) {
								dialogText += $('label[for='+messages[0].data.form_validation[i].field+']').html() + messages[0].data.form_validation[i].reason + '<br />';
							}
							else {
								dialogText += messages[0].data.form_validation[i].field + ' ' + messages[0].data.form_validation[i].reason + '<br />';
							}
							
						}
					}
					
				}
			} else {
				messageBox = $("#noticeMessage");
			}
			
			if (messages[0].title) {
				messageBox.dialog('option', 'title', messages[0].title);
			}
			

			messageBox.append(dialogText);
		} else {
			messageBox = $("#noticeMessage");
			messageBox.append(messages[0]);
		}
	} else {
		messageBox = $("#noticeMessage");
		messageBox.append(messages);
	}
	messageBox.dialog('open');
}


$(function() {
	$('body').append('<div id="errorMessage"></div>');
	$('body').append('<div id="noticeMessage"></div>');
	
	// default dialogs
	$("#errorMessage").dialog({
		autoOpen: false,
		width: 450,
		close: function(){
			$("#errorMessage").dialog('option', 'width', 450);
			$("#errorMessage").dialog('option', 'title', '');
			$("#errorMessage").html("");
			$("#errorMessage").dialog('option', 'buttons', {});
			}
	});
	
	$('#noticeMessage').dialog({
		autoOpen: false,
		width: 450,
		close: function(){
			$("#noticeMessage").dialog('option', 'width', 450);
			$("#noticeMessage").dialog('option', 'title', '');
			$("#noticeMessage").dialog('option', 'buttons', {});
			$("#noticeMessage").html("");
			}
	});
	
});
