]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/web/opac/skin/kcls-wire/js/misc.js
enough super-lite js to make the advanced page with its tabbiness work
[Evergreen.git] / Open-ILS / web / opac / skin / kcls-wire / js / misc.js
1 /* Some really basic utils copied mostly from old opac js:
2  * opac_utils.js, utils.js, misc.js (kcls). */
3 function $(id) { return document.getElementById(id); }
4
5 function swapCSSClass(obj, old, newc) {
6         removeCSSClass(obj, old);
7         addCSSClass(obj, newc);
8 }
9
10 function addCSSClass(e,c) {
11         if(!e || !c) return;
12
13         var css_class_string = e.className;
14         var css_class_array;
15
16         if(css_class_string)
17                 css_class_array = css_class_string.split(/\s+/);
18
19         var string_ip = ""; /*strip out nulls*/
20         for (var css_class in css_class_array) {
21                 if (css_class_array[css_class] == c) { return; }
22                 if(css_class_array[css_class] !=null)
23                         string_ip += css_class_array[css_class] + " ";
24         }
25         string_ip += c;
26         e.className = string_ip;
27 }
28
29 function removeCSSClass(e, c) {
30         if(!e || !c) return;
31
32         var css_class_string = '';
33
34         var css_class_array = e.className;
35         if( css_class_array )
36                 css_class_array = css_class_array.split(/\s+/);
37
38         var first = 1;
39         for (var css_class in css_class_array) {
40                 if (css_class_array[css_class] != c) {
41                         if (first == 1) {
42                                 css_class_string = css_class_array[css_class];
43                                 first = 0;
44                         } else {
45                                 css_class_string = css_class_string + ' ' +
46                                         css_class_array[css_class];
47                         }
48                 }
49         }
50         e.className = css_class_string;
51 }
52
53 function hideMe(obj) { addCSSClass(obj, "hide_me"); }
54 function unHideMe(obj) { removeCSSClass(obj, "hide_me"); }
55
56 function swapTabs(el) {
57     if (!el) return;
58
59     var tabs = [];
60     for (var i = 0; i < el.parentNode.childNodes.length) {
61         var node = el.parentNode.childNodes[i];
62         if (node.nodeType == 1 && node.nodeName == "a")
63             tabs.push(node);
64     }
65
66     for (var n = 0; n < tabs.length; n++) {
67         var i = tabs[n];
68         if (i == el) {
69             unHideMe($(i.rel));
70             i.style.background = "url('/opac/skin/kcls/graphics/" +
71                 i.id + "_on.gif') no-repeat bottom";
72         } else {
73             hideMe($(i.rel));
74             i.style.background = "url('/opac/skin/kcls/graphics/" +
75                 i.id + "_off.gif') no-repeat bottom";
76         }
77     }
78 }