| 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 != 'none')
|
|---|
| 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 | //show all lines on db website
|
|---|
| 111 | function showalllines(num)
|
|---|
| 112 | {
|
|---|
| 113 | for (var i = 1 ; i < num+1 ; i++)
|
|---|
| 114 | {
|
|---|
| 115 | var el = document.getElementById("line"+i);
|
|---|
| 116 | var img = document.getElementById("line"+i+"button");
|
|---|
| 117 | if (el.style.display == 'none')
|
|---|
| 118 | {
|
|---|
| 119 | el.style.display='';
|
|---|
| 120 | if (img)
|
|---|
| 121 | {
|
|---|
| 122 | img.src='minus.png';
|
|---|
| 123 | img.alt='-';
|
|---|
| 124 | }
|
|---|
| 125 | }
|
|---|
| 126 | }
|
|---|
| 127 | }
|
|---|
| 128 |
|
|---|
| 129 |
|
|---|
| 130 | //functions and arrays needed for the menu of plotdb.php
|
|---|
| 131 | primaries = new Array( "fSequenceFirst", "fRunNumber", "fDataSetNumber");
|
|---|
| 132 |
|
|---|
| 133 | //for each primary (run#, seq#, dataset#) two pulldowns exist
|
|---|
| 134 | //the first is needed when plotting versus primary ('prim' is chosen)
|
|---|
| 135 | //the second is only needed when plotting versus a second value ('val' is chosen)
|
|---|
| 136 |
|
|---|
| 137 | //shows the first pulldown for a given primary
|
|---|
| 138 | // and hides the ones of the other primaries
|
|---|
| 139 | // and hides the second one for the primary if needed
|
|---|
| 140 | //is called when a primary is chosen from the pulldown
|
|---|
| 141 | function showpulldown (id2)
|
|---|
| 142 | {
|
|---|
| 143 | //loop over primaries
|
|---|
| 144 | for (var i = 0 ; i < primaries.length ; i++)
|
|---|
| 145 | {
|
|---|
| 146 | //if primary is given id
|
|---|
| 147 | if (primaries[i]==id2)
|
|---|
| 148 | {
|
|---|
| 149 | //show first pulldown
|
|---|
| 150 | var el2 = document.getElementById(primaries[i]);
|
|---|
| 151 | el2.style.display="inline";
|
|---|
| 152 | //show pulldowns for limits
|
|---|
| 153 | var el4 = document.getElementById(primaries[i]+"3");
|
|---|
| 154 | el4.style.display="inline";
|
|---|
| 155 | var el6 = document.getElementById(primaries[i]+"4");
|
|---|
| 156 | el6.style.display="inline";
|
|---|
| 157 | }
|
|---|
| 158 | else
|
|---|
| 159 | {
|
|---|
| 160 | //hide first pulldown
|
|---|
| 161 | var el2 = document.getElementById(primaries[i]);
|
|---|
| 162 | el2.style.display="none";
|
|---|
| 163 | //get element for second pulldown
|
|---|
| 164 | var el3 = document.getElementById(primaries[i]+"2");
|
|---|
| 165 | //if second pulldown is shown,
|
|---|
| 166 | // hide second pulldown
|
|---|
| 167 | // and show second pulldown for chosen primary (id2)
|
|---|
| 168 | if (el3.style.display=='inline')
|
|---|
| 169 | {
|
|---|
| 170 | var el6 = document.getElementById(id2+"2");
|
|---|
| 171 | el6.style.display="inline";
|
|---|
| 172 | el3.style.display="none";
|
|---|
| 173 | }
|
|---|
| 174 | //hide pulldowns for limits
|
|---|
| 175 | var el4 = document.getElementById(primaries[i]+"3");
|
|---|
| 176 | el4.style.display="none";
|
|---|
| 177 | var el5 = document.getElementById(primaries[i]+"4");
|
|---|
| 178 | el5.style.display="none";
|
|---|
| 179 | }
|
|---|
| 180 | }
|
|---|
| 181 | }
|
|---|
| 182 |
|
|---|
| 183 | //shows the second pulldown and inputs for the ranges
|
|---|
| 184 | function showpulldown2 ()
|
|---|
| 185 | {
|
|---|
| 186 | count=0;
|
|---|
| 187 | for (var i = 0 ; i < primaries.length ; i++)
|
|---|
| 188 | {
|
|---|
| 189 | //get element
|
|---|
| 190 | var el = document.getElementById(primaries[i]);
|
|---|
| 191 | //if the first pulldown is shown, show also the second one
|
|---|
| 192 | if (el.style.display=='inline')
|
|---|
| 193 | {
|
|---|
| 194 | var el2 = document.getElementById(primaries[i]+"2");
|
|---|
| 195 | el2.style.display="inline";
|
|---|
| 196 | }
|
|---|
| 197 | else
|
|---|
| 198 | count++;
|
|---|
| 199 | }
|
|---|
| 200 | //if no first pulldown is shown, i.e. the primary has not yet been chosen,
|
|---|
| 201 | //all second pulldowns are shown
|
|---|
| 202 | if (count==3)
|
|---|
| 203 | for (var i = 0 ; i < primaries.length ; i++)
|
|---|
| 204 | {
|
|---|
| 205 | var el2 = document.getElementById(primaries[i]+"2");
|
|---|
| 206 | el2.style.display="inline";
|
|---|
| 207 | }
|
|---|
| 208 |
|
|---|
| 209 | //show the inputs for the ranges for the second pulldown
|
|---|
| 210 | //there is only one element for this (not one for each primary)
|
|---|
| 211 | var el3 = document.getElementById("Range2");
|
|---|
| 212 | el3.style.display="inline";
|
|---|
| 213 | }
|
|---|
| 214 |
|
|---|
| 215 | //hides the second pulldown and inputs for the ranges
|
|---|
| 216 | function hidepulldown2 ()
|
|---|
| 217 | {
|
|---|
| 218 | for (var i = 0 ; i < primaries.length ; i++)
|
|---|
| 219 | {
|
|---|
| 220 | var el2 = document.getElementById(primaries[i]+"2");
|
|---|
| 221 | el2.style.display="none";
|
|---|
| 222 | }
|
|---|
| 223 | var el3 = document.getElementById("Range2");
|
|---|
| 224 | el3.style.display="none";
|
|---|
| 225 | }
|
|---|
| 226 |
|
|---|
| 227 | //show the element for inserting the second set
|
|---|
| 228 | function showset2()
|
|---|
| 229 | {
|
|---|
| 230 | var el = document.getElementById("set2");
|
|---|
| 231 | el.style.display="inline";
|
|---|
| 232 | }
|
|---|
| 233 |
|
|---|
| 234 | //hide the element for inserting the second set
|
|---|
| 235 | function hideset2()
|
|---|
| 236 | {
|
|---|
| 237 | var el = document.getElementById("set2");
|
|---|
| 238 | el.style.display="none";
|
|---|
| 239 | }
|
|---|
| 240 |
|
|---|