/* Written by Jonathan Snook, http://www.snook.ca/jonathan Add-ons by Robert Nyman, http://www.robertnyman.com Author says "The credit comment is all it takes, no license. Go crazy with it!:-)" From http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/ */ var displayed = []; displayed["setnotation"] = 1; displayed["english"] = 0; displayed["prolog"] = 0; displayed["ml"] = 0; displayed["scala"] = 0; function primerOnLoad() { var s = window.location.search; s = s.substr(1, s.length - 1); var x = s.split(/[&;?,\.+]/); var y = []; for (var i in x) y[x[i]] = 1; if (!y["details"]) { set_hidable_visibility('div','div1 hidable','none'); set_hidable_visibility('div','div2 hidable','none'); set_hidable_visibility('div','div3 hidable','none'); set_hidable_visibility('div','div4 hidable','none'); } if (!y["english"]) display('english', 'none'); set_display_by_id('hide-rs', 'none'); set_display_by_id('show-rs', ''); if (!y["prolog"]) display('prolog', 'none'); set_display_by_id('hide-ts', 'none'); set_display_by_id('show-ts', ''); if (!y["ml"]) display('ml', 'none'); set_display_by_id('hide-ms', 'none'); set_display_by_id('show-ms', ''); if (!y["scala"]) display('scala', 'none'); set_display_by_id('hide-xs', 'none'); set_display_by_id('show-xs', ''); } function set_hidable_visibility(el, cls, newValue) { var e = getElementsByClassName(document, el, cls); if (e != null) { for (var i=0; !(i>=e.length); i++) { e[i].style.display = newValue; var p = document.createTextNode("+"); var h = e[i].previousSibling h.firstChild.appendChild(p) } } } function hide(h) { var v = "+"; var display = "none"; if (h.firstChild.firstChild.nodeValue=="+") { v = "-"; display = "block"; } h.nextSibling.style.display = display; h.firstChild.firstChild.nodeValue = v; } function display(syntax,status) { var howmany = 0; if (status=='none') { displayed[syntax] = 0; } else { displayed[syntax] = 1; } for ( i in displayed ) { howmany = howmany + displayed[i]; } set_display_by_class('tr',syntax,status); if ( howmany == 1 ) { set_display_by_class('tr','syntax-head','none'); } else { set_display_by_class('tr','syntax-head',''); } } function getElementsByClassName(oElm, strTagName, oClassNames){ var arrElements = (! (! (strTagName == "*") || ! (oElm.all)))? oElm.all : oElm.getElementsByTagName(strTagName); var arrReturnElements = new Array(); var arrRegExpClassNames = new Array(); if(typeof oClassNames == "object"){ for(var i=0; !(i>=oClassNames.length); i++){ /*>*/ arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)")); } } else{ arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)")); } var oElement; var bMatchesAll; for(var j=0; !(j>=arrElements.length); j++){ /*>*/ oElement = arrElements[j]; bMatchesAll = true; for(var k=0; !(k>=arrRegExpClassNames.length); k++){ /*>*/ if(!arrRegExpClassNames[k].test(oElement.className)){ bMatchesAll = false; break; } } if(bMatchesAll){ arrReturnElements.push(oElement); } } return (arrReturnElements) } function set_display_by_class(el, cls, newValue) { var e = getElementsByClassName(document, el, cls); if (e != null) { for (var i=0; !(i>=e.length); i++) { e[i].style.display = newValue; } } } function set_display_by_id(id, newValue) { var e = document.getElementById(id); if (e != null) { e.style.display = newValue; } } var old = new Array(); function hilight(id) { var s = document.getElementById(id).style; old[id] = s.backgroundColor; s.backgroundColor = "#7ff"; } function lolight(id) { var s = document.getElementById(id).style; s.backgroundColor = old[id]; }