1 function toggleAccordion(elm, alternate_elm) {
6 var children = getSiblings(elm);
7 for (i = 0; i < children.length; i++) {
8 if (children[i].className == "truncated") {
9 truncatedSpan = children[i];
10 } else if (children[i].className == "truncEllipse") {
11 ellipse = children[i];
15 truncatedSpan = iterateChildren(alternate_elm, 'truncated');
16 ellipse = iterateChildren(alternate_elm, 'truncEllipse');
19 if (truncatedSpan.style.display == "none") {
20 truncatedSpan.style.display = "inline";
21 elm.innerHTML = eg_opac_i18n.EG_READ_LESS;
22 ellipse.style.display = "none";
24 truncatedSpan.style.display = "none";
25 elm.innerHTML = eg_opac_i18n.EG_READ_MORE;
26 ellipse.style.display = "inline";
30 function getSiblings(elm) {
31 return Array.prototype.filter.call(elm.parentNode.children, function (sibling) {
32 return sibling !== elm;
36 function iterateChildren(elm, classname) {
38 if (elm.className == classname) return elm;
39 for (i = 0; i < elm.children.length; i++) {
40 if (elm.children[i].className == classname) {
41 return elm.children[i];
43 child_to_return = iterateChildren(elm.children[i], classname);
46 if (child_to_return) return child_to_return;