]> dev.renevier.net Git - syj.git/blob - public/js/message.js
version 0.1
[syj.git] / public / js / message.js
1 /*  This file is part of Syj, Copyright (c) 2010 Arnaud Renevier,
2     and is published under the AGPL license. */
3 Element.addMethods('div', {
4     setMessage: function(div, message, status) {
5         div.clearMessages();
6         if (status) {
7             div.setMessageStatus(status);
8         }
9         if (message) {
10             div.addMessage(message);
11         }
12         return div;
13     },
14
15     clearMessages: function(div) {
16         var node = div.firstChild;
17         while (node) {
18             var nextNode = node.nextSibling;
19             if (node.nodeType == 3 || node.tagName.toLowerCase() == 'br') {
20                 div.removeChild(node);
21             }
22                 node = nextNode;
23         }
24
25         return div;
26     },
27
28     addMessage: function(div, message) {
29         var node = (div.ownerDocument || document).createTextNode(message);
30         if (!div.empty()) {
31             div.insert(new Element('br'));
32         }
33         div.appendChild(node);
34         return div.show();
35     },
36
37     setMessageStatus: function(div, status) {
38         return div.removeClassName('error').
39                 removeClassName('warn').
40                 removeClassName('info').
41                 removeClassName('success').
42                 addClassName(status);
43     }
44 });