| 1 |  | 
|---|
| 2 | //functions and arrays needed for showing and hiding the menu on the db websites | 
|---|
| 3 | ids = new Array( "all", "info", "info2", "stat", "fail", "cal", "star", "limits", "ranges", "showquery"); | 
|---|
| 4 | statarr = new Array( 1, 0, 0, 0, 0, 0, 0, 0, 0, 0); | 
|---|
| 5 |  | 
|---|
| 6 | //function to get the input for fShowHide from the page | 
|---|
| 7 | //called each time, when an element is changed with showhide() | 
|---|
| 8 | //and when the page is reloaded | 
|---|
| 9 | function setdisplays () | 
|---|
| 10 | { | 
|---|
| 11 | //reset variable for fShowHide | 
|---|
| 12 | var sh=""; | 
|---|
| 13 | for (var i = 0 ; i < ids.length ; i++) | 
|---|
| 14 | { | 
|---|
| 15 | //get element for each possible menu element | 
|---|
| 16 | var d = document.getElementById(ids[i]); | 
|---|
| 17 | //if element exists, check if it is currently displayed | 
|---|
| 18 | //set the value in the status array accordingly | 
|---|
| 19 | //0: element is not shown | 
|---|
| 20 | //1: element is shown | 
|---|
| 21 | if (d) | 
|---|
| 22 | d.style.display == 'none' ? statarr[i]=0 : statarr[i]=1; | 
|---|
| 23 | //set the value of 'all' to 0 | 
|---|
| 24 | //to make sure, that the whole menu is hidden in case of a query | 
|---|
| 25 | if (i==0) | 
|---|
| 26 | statarr[i]=0; | 
|---|
| 27 | //add value to the variable for fShowHide | 
|---|
| 28 | sh=sh+statarr[i]; | 
|---|
| 29 | } | 
|---|
| 30 | //return variable for fShowHide | 
|---|
| 31 | return sh; | 
|---|
| 32 | } | 
|---|
| 33 |  | 
|---|
| 34 | //function to hide one element of the menu and adapt the button accordingly | 
|---|
| 35 | function hide(el,img) | 
|---|
| 36 | { | 
|---|
| 37 | el.style.display="none"; | 
|---|
| 38 | if (img) | 
|---|
| 39 | { | 
|---|
| 40 | img.src='plus.png'; | 
|---|
| 41 | img.alt='+'; | 
|---|
| 42 | } | 
|---|
| 43 | } | 
|---|
| 44 |  | 
|---|
| 45 | //function to show one element of the menu and adapt the button accordingly | 
|---|
| 46 | function show(el,img) | 
|---|
| 47 | { | 
|---|
| 48 | el.style.display="block"; | 
|---|
| 49 | if (img) | 
|---|
| 50 | { | 
|---|
| 51 | img.src='minus.png'; | 
|---|
| 52 | img.alt='-'; | 
|---|
| 53 | } | 
|---|
| 54 | } | 
|---|
| 55 |  | 
|---|
| 56 | //function to show or hide one element of the menu | 
|---|
| 57 | function showhide (id) | 
|---|
| 58 | { | 
|---|
| 59 | //get menu element and button for the element that has to be changed | 
|---|
| 60 | var el = document.getElementById(id); | 
|---|
| 61 | var img = document.getElementById(id+"button"); | 
|---|
| 62 | //query current status and change it accordingly | 
|---|
| 63 | if (el.style.display == 'block') | 
|---|
| 64 | hide(el,img); | 
|---|
| 65 | else | 
|---|
| 66 | { | 
|---|
| 67 | show(el,img); | 
|---|
| 68 | //expand the whole menu, when one element is shown | 
|---|
| 69 | if (id!="showquery") | 
|---|
| 70 | { | 
|---|
| 71 | var el2 = document.getElementById("all"); | 
|---|
| 72 | var img2 = document.getElementById("allbutton"); | 
|---|
| 73 | show(el2,img2); | 
|---|
| 74 | } | 
|---|
| 75 | } | 
|---|
| 76 | //update the value of fShowHide (id sh) | 
|---|
| 77 | var fShowHide = document.getElementById("sh"); | 
|---|
| 78 | fShowHide.value = setdisplays(); | 
|---|
| 79 | } | 
|---|
| 80 |  | 
|---|
| 81 | //function getting the info, how the menu is from fShowHide | 
|---|
| 82 | //is called when the page is loaded (s. index-header.html) | 
|---|
| 83 | function getdisplay() | 
|---|
| 84 | { | 
|---|
| 85 | //get value of fShowHide | 
|---|
| 86 | var stat = document.getElementById("sh"); | 
|---|
| 87 | statvalue=stat.value; | 
|---|
| 88 | //set menu variables for each element accordingly | 
|---|
| 89 | for (var i = 0 ; i < ids.length ; i++) | 
|---|
| 90 | { | 
|---|
| 91 | //get value of this element from fShowHide | 
|---|
| 92 | var status = statvalue.slice(i,i+1); | 
|---|
| 93 | //get elements of menu and button | 
|---|
| 94 | var el = document.getElementById(ids[i]); | 
|---|
| 95 | var img = document.getElementById(ids[i]+"button"); | 
|---|
| 96 | //not all element exist on each page | 
|---|
| 97 | if (!el) | 
|---|
| 98 | continue; | 
|---|
| 99 | //show or hide element according to the status value | 
|---|
| 100 | status==0 ? hide(el,img) : show(el,img); | 
|---|
| 101 | } | 
|---|
| 102 | //set the value of fShowHide (id sh) | 
|---|
| 103 | // needed here to make sure, that the whole menu is hidden | 
|---|
| 104 | //  even if nothing has been expanded (needed since 'ranges' | 
|---|
| 105 | //  is expanded by default) | 
|---|
| 106 | var fShowHide = document.getElementById("sh"); | 
|---|
| 107 | fShowHide.value = setdisplays(); | 
|---|
| 108 | } | 
|---|
| 109 |  | 
|---|
| 110 |  | 
|---|
| 111 | //functions and arrays needed for the menu of plotdb.php | 
|---|
| 112 | primaries = new Array( "fSequenceFirst", "fRunNumber", "fDataSetNumber"); | 
|---|
| 113 |  | 
|---|
| 114 | //for each primary (run#, seq#, dataset#) two pulldowns exist | 
|---|
| 115 | //the first is needed when plotting versus primary ('prim' is chosen) | 
|---|
| 116 | //the second is only needed when plotting versus a second value ('val' is chosen) | 
|---|
| 117 |  | 
|---|
| 118 | //shows the first pulldown for a given primary | 
|---|
| 119 | // and hides the ones of the other primaries | 
|---|
| 120 | // and hides the second one for the primary if needed | 
|---|
| 121 | //is called when a primary is chosen from the pulldown | 
|---|
| 122 | function showpulldown (id2) | 
|---|
| 123 | { | 
|---|
| 124 | //loop over primaries | 
|---|
| 125 | for (var i = 0 ; i < primaries.length ; i++) | 
|---|
| 126 | { | 
|---|
| 127 | //if primary is given id | 
|---|
| 128 | if (primaries[i]==id2) | 
|---|
| 129 | { | 
|---|
| 130 | //show first pulldown | 
|---|
| 131 | var el2 = document.getElementById(primaries[i]); | 
|---|
| 132 | el2.style.display="inline"; | 
|---|
| 133 | //show pulldowns for limits | 
|---|
| 134 | var el4 = document.getElementById(primaries[i]+"3"); | 
|---|
| 135 | el4.style.display="inline"; | 
|---|
| 136 | var el6 = document.getElementById(primaries[i]+"4"); | 
|---|
| 137 | el6.style.display="inline"; | 
|---|
| 138 | } | 
|---|
| 139 | else | 
|---|
| 140 | { | 
|---|
| 141 | //hide first pulldown | 
|---|
| 142 | var el2 = document.getElementById(primaries[i]); | 
|---|
| 143 | el2.style.display="none"; | 
|---|
| 144 | //get element for second pulldown | 
|---|
| 145 | var el3 = document.getElementById(primaries[i]+"2"); | 
|---|
| 146 | //if second pulldown is shown, | 
|---|
| 147 | // hide second pulldown | 
|---|
| 148 | // and show second pulldown for chosen primary (id2) | 
|---|
| 149 | if (el3.style.display=='inline') | 
|---|
| 150 | { | 
|---|
| 151 | var el6 = document.getElementById(id2+"2"); | 
|---|
| 152 | el6.style.display="inline"; | 
|---|
| 153 | el3.style.display="none"; | 
|---|
| 154 | } | 
|---|
| 155 | //hide pulldowns for limits | 
|---|
| 156 | var el4 = document.getElementById(primaries[i]+"3"); | 
|---|
| 157 | el4.style.display="none"; | 
|---|
| 158 | var el5 = document.getElementById(primaries[i]+"4"); | 
|---|
| 159 | el5.style.display="none"; | 
|---|
| 160 | } | 
|---|
| 161 | } | 
|---|
| 162 | } | 
|---|
| 163 |  | 
|---|
| 164 | //shows the second pulldown and inputs for the ranges | 
|---|
| 165 | function showpulldown2 () | 
|---|
| 166 | { | 
|---|
| 167 | count=0; | 
|---|
| 168 | for (var i = 0 ; i < primaries.length ; i++) | 
|---|
| 169 | { | 
|---|
| 170 | //get element | 
|---|
| 171 | var el = document.getElementById(primaries[i]); | 
|---|
| 172 | //if the first pulldown is shown, show also the second one | 
|---|
| 173 | if (el.style.display=='inline') | 
|---|
| 174 | { | 
|---|
| 175 | var el2 = document.getElementById(primaries[i]+"2"); | 
|---|
| 176 | el2.style.display="inline"; | 
|---|
| 177 | } | 
|---|
| 178 | else | 
|---|
| 179 | count++; | 
|---|
| 180 | } | 
|---|
| 181 | //if no first pulldown is shown, i.e. the primary has not yet been chosen, | 
|---|
| 182 | //all second pulldowns are shown | 
|---|
| 183 | if (count==3) | 
|---|
| 184 | for (var i = 0 ; i < primaries.length ; i++) | 
|---|
| 185 | { | 
|---|
| 186 | var el2 = document.getElementById(primaries[i]+"2"); | 
|---|
| 187 | el2.style.display="inline"; | 
|---|
| 188 | } | 
|---|
| 189 |  | 
|---|
| 190 | //show the inputs for the ranges for the second pulldown | 
|---|
| 191 | //there is only one element for this (not one for each primary) | 
|---|
| 192 | var el3 = document.getElementById("Range2"); | 
|---|
| 193 | el3.style.display="inline"; | 
|---|
| 194 | } | 
|---|
| 195 |  | 
|---|
| 196 | //hides the second pulldown and inputs for the ranges | 
|---|
| 197 | function hidepulldown2 () | 
|---|
| 198 | { | 
|---|
| 199 | for (var i = 0 ; i < primaries.length ; i++) | 
|---|
| 200 | { | 
|---|
| 201 | var el2 = document.getElementById(primaries[i]+"2"); | 
|---|
| 202 | el2.style.display="none"; | 
|---|
| 203 | } | 
|---|
| 204 | var el3 = document.getElementById("Range2"); | 
|---|
| 205 | el3.style.display="none"; | 
|---|
| 206 | } | 
|---|
| 207 |  | 
|---|
| 208 | //show the element for inserting the second set | 
|---|
| 209 | function showset2() | 
|---|
| 210 | { | 
|---|
| 211 | var el = document.getElementById("set2"); | 
|---|
| 212 | el.style.display="inline"; | 
|---|
| 213 | } | 
|---|
| 214 |  | 
|---|
| 215 | //hide the element for inserting the second set | 
|---|
| 216 | function hideset2() | 
|---|
| 217 | { | 
|---|
| 218 | var el = document.getElementById("set2"); | 
|---|
| 219 | el.style.display="none"; | 
|---|
| 220 | } | 
|---|
| 221 |  | 
|---|