/*============== addNotification function =============
Adds a message on the top of the entity form using
the same visual style as Microsoft CRM.
If function is called more than once,
the messages are added at the bottom of the list
If the message with same ID already exists,
then the message is updated and not added to a list.
It also supports deleting of previously added notifications.
Put this function in the OnLoad event,
so you can use it in all form and field events.
Parameters:
message - message to be shown to the user
messageType - Type of the message: 1 - critical, 2 - info, 3 - warning
notificationId - ID of the notification (needed for updating purposes)
Created by:
Marco Amoedo (http://marcoamoedo.com) - the idea and initial function
Dejan Dular (http://a-crm.blogspot.com) - upgraded functionality (different icons, updating and deleting notifications)
=======================================================*/
addNotification = function(message, messageType, notificationId)
{
var notificationsArea = document.getElementById('Notifications');
if (notificationsArea == null)
{
//Don't display message when deleting a notification.
if (messageType != 4)
{
//Sorry. Notifications are not possible on this form.
//Display a message box instead of notification.
alert(message);
}
return;
}
var notificationDIV = document.getElementById('NotificationDiv_' + notificationId);
//Delete the notification
if (messageType == 4)
{
if (notificationDIV != null)
{
//Remove the notification
notificationsArea.removeChild(notificationDIV);
}
return;
}
//Get the notification image. The default is info image.
var notificationImage;
switch (messageType)
{
case 1:
notificationImage = '/_imgs/error/notif_icn_crit16.png';
break;
case 2:
notificationImage = '/_imgs/error/notif_icn_info16.png';
break;
case 3:
notificationImage = '/_imgs/error/notif_icn_warn16.png';
break;
default:
notificationImage = '/_imgs/error/notif_icn_info16.png';
}
//Create notification
var notificationTable = '<TABLE cellSpacing="0" cellPadding="0"><TBODY><TR><TD vAlign="top"><IMG class="ms-crm-Lookup-Item" alt="" src="' + notificationImage + '" /></TD><TD><SPAN>' + message +'</SPAN></TD></TR></TBODY></TABLE>';
//Check if the notification with same ID already exists
if (notificationDIV == null)
{
//Create a new notification
var notificationHTML = '<DIV class="Notification" ID="NotificationDiv_' + notificationId + '">' + notificationTable + '</DIV>';
notificationsArea.innerHTML += notificationHTML;
notificationsArea.style.display = 'block';
}
else
{
//Update the notification.
notificationDIV.innerHTML = notificationTable;
}
}
/*============= END addNotification function ===========*/