1
var remember = true; //Remember menu states, and restore them on next visit.
2
var contractall_default= false; //Should all submenus be contracted by default? (true or false)
4
var menu, titles, submenus, arrows, bypixels;
5
var heights = new Array();
7
var n = navigator.userAgent;
8
if(/Opera/.test(n)) bypixels = 2;
9
else if(/Firefox/.test(n)) bypixels = 3;
10
else if(/MSIE/.test(n)) bypixels = 2;
12
/////DD added expandall() and contractall() functions/////
14
function slash_expandall(){
15
if (typeof menu!="undefined"){
16
for(i=0; i<Math.max(titles.length, submenus.length); i++){
17
titles[i].className="title";
18
arrows[i].src = umimages+"expanded.gif";
19
submenus[i].style.display="";
20
submenus[i].style.height = heights[i]+"px";
25
function slash_contractall(){
26
if (typeof menu!="undefined"){
27
for(i=0; i<Math.max(titles.length, submenus.length); i++){
28
titles[i].className="titlehidden";
29
arrows[i].src = umimages+"collapsed.gif";
30
submenus[i].style.display="none";
31
submenus[i].style.height = 0;
37
/////End DD added functions///////////////////////////////
41
menu = getElementsByClassName("ummenu", "div", document)[0];
42
titles = getElementsByClassName("title", "span", menu);
43
submenus = getElementsByClassName("submenu", "div", menu);
44
arrows = getElementsByClassName("arrow", "img", menu);
45
for(i=0; i<Math.max(titles.length, submenus.length); i++) {
46
titles[i].onclick = gomenu;
47
arrows[i].onclick = gomenu;
48
heights[i] = submenus[i].offsetHeight;
49
submenus[i].style.height = submenus[i].offsetHeight+"px";
53
else if (contractall_default) //DD added code
54
slash_contractall() //DD added code
58
if(getcookie("menu") != null) {
59
var hidden = getcookie("menu").split(",");
60
for(var i in hidden) {
61
titles[hidden[i]].className = "titlehidden";
62
submenus[hidden[i]].style.height = "0px";
63
submenus[hidden[i]].style.display = "none";
64
arrows[hidden[i]].src = umimages+"collapsed.gif";
72
var ce = (e.target) ? e.target : e.srcElement;
74
for(var i in titles) {
75
if(titles[i] == ce || arrows[i] == ce)
78
if(parseInt(submenus[sm].style.height) > parseInt(heights[sm])-2) {
80
} else if(parseInt(submenus[sm].style.height) < 2) {
81
titles[sm].className = "title";
86
function hidemenu(sm) {
87
var nr = submenus[sm].getElementsByTagName("a").length*bypixels;
88
submenus[sm].style.height = (parseInt(submenus[sm].style.height)-nr)+"px";
89
var to = setTimeout("hidemenu("+sm+")", 30);
90
if(parseInt(submenus[sm].style.height) <= nr) {
92
submenus[sm].style.display = "none";
93
submenus[sm].style.height = "0px";
94
arrows[sm].src = umimages+"collapsed.gif";
95
titles[sm].className = "titlehidden";
99
function showmenu(sm) {
100
var nr = submenus[sm].getElementsByTagName("a").length*bypixels;
101
submenus[sm].style.display = "";
102
submenus[sm].style.height = (parseInt(submenus[sm].style.height)+nr)+"px";
103
var to = setTimeout("showmenu("+sm+")", 30);
104
if(parseInt(submenus[sm].style.height) > (parseInt(heights[sm])-nr)) {
106
submenus[sm].style.height = heights[sm]+"px";
107
arrows[sm].src = umimages+"expanded.gif";
114
var hidden = new Array();
115
for(var i in titles) {
116
if(titles[i].className == "titlehidden")
119
putcookie("menu", hidden.join(","), 30);
122
function getElementsByClassName(strClassName, strTagName, oElm){
123
var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
124
var arrReturnElements = new Array();
125
strClassName = strClassName.replace(/\-/g, "\\-");
126
var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
128
for(var i=0; i<arrElements.length; i++){
129
oElement = arrElements[i];
130
if(oRegExp.test(oElement.className)){
131
arrReturnElements.push(oElement);
134
return (arrReturnElements)
137
function putcookie(c_name,value,expiredays) {
138
var exdate=new Date();
139
exdate.setDate(exdate.getDate()+expiredays);
140
document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate);
143
function getcookie(c_name) {
144
if(document.cookie.length > 0) {
145
var c_start = document.cookie.indexOf(c_name + "=");
147
c_start = c_start + c_name.length + 1;
148
var c_end = document.cookie.indexOf(";",c_start);
150
c_end = document.cookie.length;
151
return unescape(document.cookie.substring(c_start, c_end));
157
window.onload = init;
158
if(remember) window.onunload = store;