var collapseCSSmin, collapseCSSmax, collapseState function collapseRefs() { if (navigator.userAgent.match(/MSIE [1-6]\./)) return // makes no sense (max-height) if (document.URL.match(/(\?|&)printable=yes/)) return function done() { collapseState = collapseState == 'min' ? 'max' : 'min' document.cookie = 'refcoll=' + collapseState if (collapseState == 'min') { collapseCSSmax.disabled = true collapseCSSmin.disabled = false text = '↓ Показывать полностью' // when minimized } else { collapseCSSmax.disabled = false collapseCSSmin.disabled = true text = '↑ Показывать компактно' // when maximized } for (var i = 0; i < links.length; i++) links[i].innerHTML = text return false } divs = document.getElementsByTagName('div') var reflists = [] for (i = 0; i < divs.length; i++) if (divs[i].className.match(/\bref(list\d?|erences-(small|scroll))\b/)) if (divs[i].clientHeight >= ((divs[i].style.maxHeight && divs[i].style.maxHeight.replace(/[^0-9]+/g, '')) || divs[i].style.height.replace(/[^0-9]+/g, '') || 300)) reflists[reflists.length] = divs[i] if (reflists.length == 0) return var cookie = document.cookie.match(/(^|; )refcoll=(.*?)(;|$)/) // will be changed later by done() if (cookie) collapseState = unescape(cookie[2]) == 'max' ? 'min' : 'max' else collapseState = 'min' var links = [] for (i = 0; i < reflists.length; i++) { var p = document.createElement('p') p.className = 'collapse-refs-p' var a = document.createElement('a') a.href = '#' a.onclick = done a.className = 'collapse-refs-link' a.title = 'Большие блоки с примечаниями можно уменьшать' p.appendChild(a) reflists[i].parentNode.insertBefore(p, reflists[i]) links[links.length] = a } function myAppendCSS(text) { var s = appendCSS(text) // wikibits version return s.sheet || s // webkit compatibility } myAppendCSS('.reflist p.collapse-refs-p, .reflist1 p.collapse-refs-p,\ .reflist2 p.collapse-refs-p, .reflist3 p.collapse-refs-p,\ .reflist4 p.collapse-refs-p { display: none }\ .collapse-refs-p { font-size: 80%; width: 30%; margin: 1em 2em }\ * html .reflist, * html .reflist1, * html .reflist2, * html .reflist3, \ * html .reflist4, * html .references-scroll, * html .references-small \ { display: inline-block /* for clientHeight in IE */ }') collapseCSSmin = myAppendCSS('.reflist, .reflist1, .reflist2, .reflist3, \ .reflist4, .references-scroll, .references-small \ { max-height: 300px; overflow: auto; margin: 0 !important; padding: 0 !important }') collapseCSSmax = myAppendCSS('.reflist, .reflist1, .reflist2, .reflist3, \ .reflist4, .references-scroll \ { height: auto !important; max-height: none !important; \ overflow: visible !important; margin: 0 !important; padding: 0 !important }') collapseCSSmin.disabled = collapseCSSmax.disabled = true done() } addOnloadHook(collapseRefs)