source: geisa/web/initGeisa_script.jsp @ 526

Last change on this file since 526 was 526, checked in by npipsl, 12 years ago

Interface 15/06/2012

File size: 60.4 KB
Line 
1<script type="text/javascript">
2
3
4
5//permet de deselectionner la molecule quand on deselectionne un isotope (toutes les options sauf lst)
6/*function decliquemol( name )
7{
8
9    var inputs = document.getElementsByTagName( 'input' );
10    var count = inputs.length;
11    for( i = 0; i < count; i++ )
12    {
13        input = inputs.item( i );
14        if( input.type == 'checkbox' && input.id == (name + '-all') && input.checked == true )
15        {
16            input.checked = false;
17        }
18    }
19} */
20
21
22var InterfaceInit = Class.create( {
23
24            initialize: function()
25            {
26                /** *********** CONTAINERS *********** **/
27                this.containerFormSpectralRangeLower = $( "#spectralRangeLower" );
28                this.containerFormSpectralRangeUpper = $( "#spectralRangeUpper" );
29                this.containerFormIntensityLower = $( "#intensityLower" );
30                this.containerFormIntensityUpper = $( "#intensityUpper" );
31                this.containerFormMeanValue1 = $( "#meanValue1" );
32                this.containerDownload = $( "#downloadContainer" );
33
34                this.initializeMolecules();
35                this.createForm();
36
37                var downloadButton = new Button( {value:"Download", parent:$( "#downloadContainer" ), id:"button_submit_2", className: "red_button", classNameText:"red_button_text", onClick:jQuery.proxy( this.onClickDownload, this )} );
38            },
39
40            initializeMolecules: function()
41            {
42                this.arrayGeisa2011 = new Array();
43                this.arrayGeisa2003 = new Array();
44                this.arrayGeisaIasi2011 = new Array();
45                this.arrayGeisaIasi2003 = new Array();
46
47                var molecule = new Object();
48                molecule.id="h2o";
49                molecule.name="H<sub>2</sub>O";
50                molecule.isotopesArray = ["161", "162", "171", "181", "182", "172"];
51                this.arrayGeisa2011.push(molecule);
52                this.arrayGeisa2003.push(molecule);
53                this.arrayGeisaIasi2011.push(molecule);
54                this.arrayGeisaIasi2003.push(molecule);
55
56                var molecule = new Object();
57                molecule.id="co2";
58                molecule.name="CO<sub>2</sub>";
59                molecule.isotopesArray = ["626", "627", "628", "636", "637", "638", "728", "828", "838"];
60                this.arrayGeisa2003.push(molecule);
61                this.arrayGeisa2011.push(molecule);
62                this.arrayGeisaIasi2011.push(molecule);
63                this.arrayGeisaIasi2003.push(molecule);
64
65                var molecule = new Object();
66                molecule.id="o3";
67                molecule.name="O<sub>3</sub>";
68                molecule.isotopesArray = ["666", "668", "686", "667", "676"];
69                this.arrayGeisa2003.push(molecule);
70                this.arrayGeisa2011.push(molecule);
71                this.arrayGeisaIasi2011.push(molecule);
72                this.arrayGeisaIasi2003.push(molecule);
73
74                var molecule = new Object();
75                molecule.id="n2o";
76                molecule.name="N<sub>2</sub>O";
77                molecule.isotopesArray = ["446", "447", "448", "456","458", "546", "548", "556"];
78                this.arrayGeisa2011.push(molecule);
79                this.arrayGeisaIasi2011.push(molecule);
80
81                var molecule = new Object();
82                molecule.id="n2o";
83                molecule.name="N<sub>2</sub>O";
84                molecule.isotopesArray = ["446", "447", "448", "456", "546"];
85                this.arrayGeisa2003.push(molecule);
86                this.arrayGeisaIasi2003.push(molecule);
87
88                var molecule = new Object();
89                molecule.id="co";
90                molecule.name="CO";
91                molecule.isotopesArray = ["26", "36", "28", "27", "38", "37"];
92                this.arrayGeisa2011.push(molecule);
93                this.arrayGeisa2003.push(molecule);
94                this.arrayGeisaIasi2011.push(molecule);
95                this.arrayGeisaIasi2003.push(molecule);
96
97                var molecule = new Object();
98                molecule.id="ch4";
99                molecule.name="CH<sub>4</sub>";
100                molecule.isotopesArray = ["211", "311"];
101                this.arrayGeisa2011.push(molecule);
102                this.arrayGeisa2003.push(molecule);
103
104                var molecule = new Object();
105                molecule.id="ch4";
106                molecule.name="CH<sub>4</sub>";
107                molecule.isotopesArray = ["211", "311", "212", "312"];
108                this.arrayGeisaIasi2011.push(molecule);
109
110                var molecule = new Object();
111                molecule.id="ch4";
112                molecule.name="CH<sub>4</sub>";
113                molecule.isotopesArray = ["211", "311", "212"];
114                this.arrayGeisaIasi2003.push(molecule);
115
116                var molecule = new Object();
117                molecule.id="o2";
118                molecule.name="O<sub>2</sub>";
119                molecule.isotopesArray = ["66", "67", "68"];
120                this.arrayGeisa2011.push(molecule);
121                this.arrayGeisa2003.push(molecule);
122
123                var molecule = new Object();
124                molecule.id="o2";
125                molecule.name="O<sub>2</sub>";
126                molecule.isotopesArray = ["66"];
127                this.arrayGeisaIasi2011.push(molecule);
128                this.arrayGeisaIasi2003.push(molecule);
129
130                var molecule = new Object();
131                molecule.id="no";
132                molecule.name="NO";
133                molecule.isotopesArray = ["46", "48", "56"];
134                this.arrayGeisa2011.push(molecule);
135                this.arrayGeisa2003.push(molecule);
136                this.arrayGeisaIasi2011.push(molecule);
137                this.arrayGeisaIasi2003.push(molecule);
138
139                var molecule = new Object();
140                molecule.id="so2";
141                molecule.name="SO<sub>2</sub>";
142                molecule.isotopesArray = ["626", "646"];
143                this.arrayGeisa2011.push(molecule);
144                this.arrayGeisa2003.push(molecule);
145                this.arrayGeisaIasi2011.push(molecule);
146                this.arrayGeisaIasi2003.push(molecule);
147
148                var molecule = new Object();
149                molecule.id="no2";
150                molecule.name="NO<sub>2</sub>";
151                molecule.isotopesArray = ["646"];
152                this.arrayGeisa2011.push(molecule);
153                this.arrayGeisa2003.push(molecule);
154                this.arrayGeisaIasi2011.push(molecule);
155                this.arrayGeisaIasi2003.push(molecule);
156
157                var molecule = new Object();
158                molecule.id="nh3";
159                molecule.name="NH<sub>3</sub>";
160                molecule.isotopesArray = ["411", "511" ];
161                this.arrayGeisa2011.push(molecule);
162                this.arrayGeisa2003.push(molecule);
163                this.arrayGeisaIasi2011.push(molecule);
164
165                var molecule = new Object();
166                molecule.id="ph3";
167                molecule.name="PH<sub>3</sub>";
168                molecule.isotopesArray = ["131" ];
169                this.arrayGeisa2011.push(molecule);
170                this.arrayGeisa2003.push(molecule);
171
172                var molecule = new Object();
173                molecule.id="hno3";
174                molecule.name="HNO<sub>3</sub>";
175                molecule.isotopesArray = ["146" ];
176                this.arrayGeisa2011.push(molecule);
177                this.arrayGeisa2003.push(molecule);
178                this.arrayGeisaIasi2011.push(molecule);
179                this.arrayGeisaIasi2003.push(molecule);
180
181                var molecule = new Object();
182                molecule.id="oh";
183                molecule.name="OH";
184                molecule.isotopesArray = ["61", "62", "81" ];
185                this.arrayGeisa2011.push(molecule);
186                this.arrayGeisa2003.push(molecule);
187
188                var molecule = new Object();
189                molecule.id="hf";
190                molecule.name="HF";
191                molecule.isotopesArray = ["19" ];
192                this.arrayGeisa2011.push(molecule);
193                this.arrayGeisa2003.push(molecule);
194
195                var molecule = new Object();
196                molecule.id="hcl";
197                molecule.name="HCL";
198                molecule.isotopesArray = ["15", "17" ];
199                this.arrayGeisa2011.push(molecule);
200                this.arrayGeisa2003.push(molecule);
201
202                var molecule = new Object();
203                molecule.id="hbr";
204                molecule.name="HBR";
205                molecule.isotopesArray = ["11", "19" ];
206                this.arrayGeisa2011.push(molecule);
207                this.arrayGeisa2003.push(molecule);
208
209                var molecule = new Object();
210                molecule.id="hi";
211                molecule.name="HI";
212                molecule.isotopesArray = ["17" ];
213                this.arrayGeisa2011.push(molecule);
214                this.arrayGeisa2003.push(molecule);
215
216                var molecule = new Object();
217                molecule.id="clo";
218                molecule.name="CLO";
219                molecule.isotopesArray = ["56", "76" ];
220                this.arrayGeisa2011.push(molecule);
221                this.arrayGeisa2003.push(molecule);
222
223                var molecule = new Object();
224                molecule.id="ocs";
225                molecule.name="OCS";
226                molecule.isotopesArray = ["622", "624", "632", "623", "822", "634"];
227                this.arrayGeisa2011.push(molecule);
228                this.arrayGeisa2003.push(molecule);
229                this.arrayGeisaIasi2011.push(molecule);
230                this.arrayGeisaIasi2003.push(molecule);
231
232                var molecule = new Object();
233                molecule.id="h2co";
234                molecule.name="H<sub>2</sub>CO";
235                molecule.isotopesArray = ["126", "128", "136"];
236                this.arrayGeisa2011.push(molecule);
237                this.arrayGeisa2003.push(molecule);
238
239                var molecule = new Object();
240                molecule.id="h2co";
241                molecule.name="H<sub>2</sub>CO";
242                molecule.isotopesArray = ["126"];
243                this.arrayGeisaIasi2011.push(molecule);
244
245                var molecule = new Object();
246                molecule.id="c2h6";
247                molecule.name="C<sub>2</sub>H<sub>6</sub>";
248                molecule.isotopesArray = ["226", "236"];
249                this.arrayGeisa2011.push(molecule);
250                this.arrayGeisa2003.push(molecule);
251
252                var molecule = new Object();
253                molecule.id="ch3d";
254                molecule.name="CH<sub>3</sub>D";
255                molecule.isotopesArray = ["212", "312"];
256                this.arrayGeisa2011.push(molecule);
257
258                var molecule = new Object();
259                molecule.id="ch3d";
260                molecule.name="CH<sub>3</sub>D";
261                molecule.isotopesArray = ["212"];
262                this.arrayGeisa2003.push(molecule);
263
264                var molecule = new Object();
265                molecule.id="c2h2";
266                molecule.name="C<sub>2</sub>H<sub>2</sub>";
267                molecule.isotopesArray = ["221", "231"];
268                this.arrayGeisa2011.push(molecule);
269                this.arrayGeisa2003.push(molecule);
270                this.arrayGeisaIasi2011.push(molecule);
271                this.arrayGeisaIasi2003.push(molecule);
272
273                var molecule = new Object();
274                molecule.id="c2h4";
275                molecule.name="C<sub>2</sub>H<sub>4</sub>";
276                molecule.isotopesArray = ["211", "311"];
277                this.arrayGeisa2011.push(molecule);
278                this.arrayGeisa2003.push(molecule);
279                this.arrayGeisaIasi2011.push(molecule);
280
281                var molecule = new Object();
282                molecule.id="geh4";
283                molecule.name="GeH<sub>4</sub>";
284                molecule.isotopesArray = ["411"];
285                this.arrayGeisa2011.push(molecule);
286                this.arrayGeisa2003.push(molecule);
287
288                var molecule = new Object();
289                molecule.id="hcn";
290                molecule.name="HCN";
291                molecule.isotopesArray = ["124", "125", "134", "224"];
292                this.arrayGeisa2011.push(molecule);
293                this.arrayGeisaIasi2011.push(molecule);
294
295                var molecule = new Object();
296                molecule.id="hcn";
297                molecule.name="HCN";
298                molecule.isotopesArray = ["124", "125", "134"];
299                this.arrayGeisa2003.push(molecule);
300
301                var molecule = new Object();
302                molecule.id="c3h8";
303                molecule.name="C<sub>3</sub>H<sub>8</sub>";
304                molecule.isotopesArray = ["221"];
305                this.arrayGeisa2011.push(molecule);
306                this.arrayGeisa2003.push(molecule);
307
308                var molecule = new Object();
309                molecule.id="c2n2";
310                molecule.name="C<sub>2</sub>N<sub>2</sub>";
311                molecule.isotopesArray = ["224"];
312                this.arrayGeisa2011.push(molecule);
313                this.arrayGeisa2003.push(molecule);
314
315                var molecule = new Object();
316                molecule.id="c4h2";
317                molecule.name="C<sub>4</sub>H<sub>2</sub>";
318                molecule.isotopesArray = ["211"];
319                this.arrayGeisa2011.push(molecule);
320                this.arrayGeisa2003.push(molecule);
321
322                var molecule = new Object();
323                molecule.id="hc3n";
324                molecule.name="HC<sub>3</sub>N";
325                molecule.isotopesArray = ["124"];
326                this.arrayGeisa2011.push(molecule);
327                this.arrayGeisa2003.push(molecule);
328
329                var molecule = new Object();
330                molecule.id="hocl";
331                molecule.name="HOCl";
332                molecule.isotopesArray = ["165", "167"];
333                this.arrayGeisa2011.push(molecule);
334                this.arrayGeisa2003.push(molecule);
335
336                var molecule = new Object();
337                molecule.id="n2";
338                molecule.name="N<sub>2</sub>";
339                molecule.isotopesArray = ["44"];
340                this.arrayGeisa2011.push(molecule);
341                this.arrayGeisa2003.push(molecule);
342                this.arrayGeisaIasi2011.push(molecule);
343                this.arrayGeisaIasi2003.push(molecule);
344
345                var molecule = new Object();
346                molecule.id="ch3cl";
347                molecule.name="CH<sub>3</sub>Cl";
348                molecule.isotopesArray = ["215", "217"];
349                this.arrayGeisa2011.push(molecule);
350                this.arrayGeisa2003.push(molecule);
351
352                var molecule = new Object();
353                molecule.id="h2o2";
354                molecule.name="H<sub>2</sub>O<sub>2</sub>";
355                molecule.isotopesArray = ["166"];
356                this.arrayGeisa2011.push(molecule);
357                this.arrayGeisa2003.push(molecule);
358
359                var molecule = new Object();
360                molecule.id="h2s";
361                molecule.name="H<sub>2</sub>S";
362                molecule.isotopesArray = ["121", "141", "131"];
363                this.arrayGeisa2011.push(molecule);
364                this.arrayGeisa2003.push(molecule);
365
366                var molecule = new Object();
367                molecule.id="hcooh";
368                molecule.name="HCOOH";
369                molecule.isotopesArray = ["261"];
370                this.arrayGeisa2011.push(molecule);
371                this.arrayGeisa2003.push(molecule);
372                this.arrayGeisaIasi2011.push(molecule);
373
374                var molecule = new Object();
375                molecule.id="cof2";
376                molecule.name="COF<sub>2</sub>";
377                molecule.isotopesArray = ["269"];
378                this.arrayGeisa2011.push(molecule);
379                this.arrayGeisa2003.push(molecule);
380
381                var molecule = new Object();
382                molecule.id="sf6";
383                molecule.name="SF<sub>6</sub>";
384                molecule.isotopesArray = ["29"];
385                this.arrayGeisa2011.push(molecule);
386                this.arrayGeisa2003.push(molecule);
387
388                var molecule = new Object();
389                molecule.id="c3h4";
390                molecule.name="C<sub>3</sub>H<sub>4</sub>";
391                molecule.isotopesArray = ["341"];
392                this.arrayGeisa2011.push(molecule);
393                this.arrayGeisa2003.push(molecule);
394
395                var molecule = new Object();
396                molecule.id="ho2";
397                molecule.name="HO<sub>2</sub>";
398                molecule.isotopesArray = ["166"];
399                this.arrayGeisa2011.push(molecule);
400                this.arrayGeisa2003.push(molecule);
401
402                var molecule = new Object();
403                molecule.id="clono2";
404                molecule.name="CLONO<sub>2</sub>";
405                molecule.isotopesArray = ["564", "764"];
406                this.arrayGeisa2011.push(molecule);
407                this.arrayGeisa2003.push(molecule);
408
409                var molecule = new Object();
410                molecule.id="ch3br";
411                molecule.name="CH<sub>3</sub>Br";
412                molecule.isotopesArray = ["79", "81"];
413                this.arrayGeisa2011.push(molecule);
414
415                var molecule = new Object();
416                molecule.id="ch3oh";
417                molecule.name="CH<sub>3</sub>OH";
418                molecule.isotopesArray = ["216"];
419                this.arrayGeisa2011.push(molecule);
420                this.arrayGeisaIasi2011.push(molecule);
421
422                var molecule = new Object();
423                molecule.id="noplus";
424                molecule.name="NO<sup>+</sup>";
425                molecule.isotopesArray = ["46"];
426                this.arrayGeisa2011.push(molecule);
427
428                var molecule = new Object();
429                molecule.id="hnc";
430                molecule.name="HNC";
431                molecule.isotopesArray = ["142"];
432                this.arrayGeisa2011.push(molecule);
433
434                var molecule = new Object();
435                molecule.id="c6h6";
436                molecule.name="C<sub>6</sub>H<sub>6</sub>";
437                molecule.isotopesArray = ["266"];
438                this.arrayGeisa2011.push(molecule);
439
440                var molecule = new Object();
441                molecule.id="c2hd";
442                molecule.name="C<sub>2</sub>HD";
443                molecule.isotopesArray = ["122"];
444                this.arrayGeisa2011.push(molecule);
445
446                var molecule = new Object();
447                molecule.id="cf4";
448                molecule.name="CF<sub>4</sub>";
449                molecule.isotopesArray = ["291"];
450                this.arrayGeisa2011.push(molecule);
451
452                var molecule = new Object();
453                molecule.id="ch3cn";
454                molecule.name="CH<sub>3</sub>CN";
455                molecule.isotopesArray = ["234"];
456                this.arrayGeisa2011.push(molecule);
457                this.arrayGeisaIasi2011.push(molecule);
458                this.arrayGeisaIasi2003.push(molecule);
459
460
461
462
463
464            },
465
466// CREATES ********************************************************
467            createForm: function()
468            {
469                //Titre de la page
470                var titlePage = document.createTextNode("Graphic vizualisation of the  GEISA  database");
471                document.getElementById("titlePage").appendChild(titlePage);
472
473                // Create menu deroulant  choix de la base
474                var paramDatabase = new Object();
475                paramDatabase.id = "selectDatabase";
476                paramDatabase.parent = $("#database1");
477                this.selectDatabase = new Select( paramDatabase );
478                this.selectDatabase.add( 'GEISA-11', "GEISA 2011", jQuery.proxy(this.onClickSelectDatabase, this) );
479                this.selectDatabase.add( 'GEISA-IASI-11', "GEISA-IASI 2011", jQuery.proxy(this.onClickSelectDatabase, this) );
480                this.selectDatabase.add( 'GEISA-03', "GEISA 2003", jQuery.proxy(this.onClickSelectDatabase, this) );
481                this.selectDatabase.add( 'GEISA-IASI-03', "GEISA-IASI 2003", jQuery.proxy(this.onClickSelectDatabase, this) );
482                this.selectDatabase.selectFirst( false );
483
484                //Zone texte  SpectralRange
485                //Titre
486                var titleSpectralRangeLower = document.createTextNode("Lower Bound :");
487                document.getElementById("spectralRangeLower").appendChild(titleSpectralRangeLower);
488                var titleSpectralRangeUpper = document.createTextNode("Upper Bound :");
489                document.getElementById("spectralRangeUpper").appendChild(titleSpectralRangeUpper);
490                //zone texte  SpectralRangeLower
491                var inputSpectralRangeLower = $( document.createElement( "input" ) );
492                inputSpectralRangeLower.attr( {id:"RangeLower", class:"styleInputs"} );
493                inputSpectralRangeLower.val(0);
494                this.containerFormSpectralRangeLower.append( inputSpectralRangeLower );
495                //zone texte   SpectralRangeUpper
496                var inputSpectralRangeUpper = $( document.createElement( "input" ) );
497                inputSpectralRangeUpper.attr( {id:"RangeUpper"} );
498                inputSpectralRangeUpper.val(800);
499                this.containerFormSpectralRangeUpper.append( inputSpectralRangeUpper );
500
501
502                // Create menu deroulant  transition upper
503                var paramSelectTransitionUpper = new Object();
504                paramSelectTransitionUpper.id = "transition1";
505                paramSelectTransitionUpper.parent = $("#transitionUpper");
506                this.selectTransitionUpper = new Select( paramSelectTransitionUpper );
507                this.selectTransitionUpper.add( 'transi1', "transi1" );
508                this.selectTransitionUpper.add( 'transi2', "transi2" );
509                this.selectTransitionUpper.selectFirst( false );
510                // Create menu deroulant  transition lower
511                var paramSelectTransitionLower = new Object();
512                paramSelectTransitionLower.id = "transition2";
513                paramSelectTransitionLower.parent = $("#transitionLower");
514                this.selectTransitionLower = new Select( paramSelectTransitionLower );
515                this.selectTransitionLower.add( 'transi1', "transi1" );
516                this.selectTransitionLower.add( 'transi2', "transi2" );
517                this.selectTransitionLower.selectFirst( false );
518
519                //Zone texte Intensity
520                //Titre
521                var titleIntensityLower = document.createTextNode("Lower Bound :");
522                document.getElementById("intensityLower").appendChild(titleIntensityLower);
523                var titleIntensityUpper = document.createTextNode("Upper Bound :");
524                document.getElementById("intensityUpper").appendChild(titleIntensityUpper);
525                //zone texte    IntensityLower
526                var inputIntensityLower = $( document.createElement( "input" ) );
527                inputIntensityLower.attr( {id:"intensityLo", class:"styleInputs"} );
528                inputIntensityLower.val(0);
529                this.containerFormIntensityLower.append( inputIntensityLower );
530                //zone texte    IntensityUpper
531                var inputIntensityUpper = $( document.createElement( "input" ) );
532                inputIntensityUpper.attr( {id:"intensityUp"} );
533                inputIntensityUpper.val(1e-19);
534                this.containerFormIntensityUpper.append( inputIntensityUpper );
535
536                //Zone text Mean Value
537                //Titre
538                var titleMeanValue = document.createTextNode("Step :");
539                document.getElementById("meanValue1").appendChild(titleMeanValue);
540                //champ input
541                var inputMeanValue = $( document.createElement( "input" ) );
542                inputMeanValue.attr( {id:"meanValue2"} );
543                inputMeanValue.val(0);
544                this.containerFormMeanValue1.append( inputMeanValue );
545                inputMeanValue.bind( 'blur', this, jQuery.proxy( this.onBlurInputMeanValue, this ));
546
547                // Create menu deroulant  type de graphe
548                var paramNbCourbes = new Object();
549                paramNbCourbes.id = "SelectNbCourbes";
550                paramNbCourbes.parent = $("#NbCourbes");
551                this.SelectNbCourbes = new Select( paramNbCourbes );
552                this.SelectNbCourbes.add( 'ca', "One curve for all selection", jQuery.proxy(this.onClickSelectNbCourbes, this ) );
553                this.SelectNbCourbes.add( 'cm', "One curve for each molecule selected", jQuery.proxy(this.onClickSelectNbCourbes, this ) );
554                this.SelectNbCourbes.add( 'ci', "One curve for each isotopologue selected", jQuery.proxy(this.onClickSelectNbCourbes, this ) );
555                this.SelectNbCourbes.add( 'gm', "One graph for each molecule selected", jQuery.proxy(this.onClickSelectNbCourbes, this ) );
556                this.SelectNbCourbes.add( 'gi', "One graph for each isotopologue selected", jQuery.proxy(this.onClickSelectNbCourbes, this ) );
557                this.SelectNbCourbes.selectFirst( false );
558
559                // Create menu deroulant  1er choix axe des y
560                //Titre
561                var titleAxeY1 = document.createTextNode("Choose the first vertical axis");
562                document.getElementById("axeY1").appendChild(titleAxeY1);
563                var spaceBr = document.createElement ("br");
564                document.getElementById("axeY1").appendChild(spaceBr);
565                //menu déroulant
566                var paramSelectAxeY1 = new Object();
567                paramSelectAxeY1.id = "selectAxeY1";
568                paramSelectAxeY1.parent = $("#axeY1");
569                this.selectTraceAxeY1 = new Select( paramSelectAxeY1 );
570                this.selectTraceAxeY1.add( 'B', "Intensity", jQuery.proxy(this.onClickSelectTraceAxeY1, this ));
571                this.selectTraceAxeY1.add( 'C', "Air broadening pressure halfwidth", jQuery.proxy(this.onClickSelectTraceAxeY1, this ) );
572                this.selectTraceAxeY1.add( 'D', "Energy of the lower transition level", jQuery.proxy(this.onClickSelectTraceAxeY1, this ) );
573                this.selectTraceAxeY1.add( 'F', "Temperature dependence coefficient n of the air broadening halfwidth ", jQuery.proxy(this.onClickSelectTraceAxeY1, this ) );
574                this.selectTraceAxeY1.add( 'N', "Self broadening pressure halfwidth (HWHM)", jQuery.proxy(this.onClickSelectTraceAxeY1, this ) );
575                this.selectTraceAxeY1.add( 'O', "Air pressure shift of the line transition", jQuery.proxy(this.onClickSelectTraceAxeY1, this ) );
576                this.selectTraceAxeY1.add( 'R', "Temperature dependence coefficient of the air pressure shift ", jQuery.proxy(this.onClickSelectTraceAxeY1, this ) );
577                this.selectTraceAxeY1.selectFirst( false );
578
579                // Create menu deroulant  type d'échelle linéaire ou logarithmique  pour le choix y1
580                //Titre
581                var titleScaleY1 = document.createTextNode("Select the type of Scale (if intensity is choosen)");
582                document.getElementById("scaleY1Titre").appendChild(titleScaleY1);
583                //menu déroulant
584                var paramSelectScaleY1 = new Object();
585                paramSelectScaleY1.id = "SelectScaleY1";
586                paramSelectScaleY1.parent = $("#scaleY1");
587                this.selectScaleY1 = new Select( paramSelectScaleY1 );
588                this.selectScaleY1.add( 'l', "Linear" );
589                this.selectScaleY1.add( '-log_scale', "Logarithmic" );
590                this.selectScaleY1.selectFirst( false );
591
592                // Create menu deroulant  style de tracer   Y1
593                //Titre
594                var titleTypeTrace = document.createTextNode("Select the type of plot");
595                document.getElementById("typePlotY1").appendChild(titleTypeTrace);
596                var spaceBr = document.createElement ("br");
597                document.getElementById("typePlotY1").appendChild(spaceBr);
598                //menu déroulant
599                var paramSelectTypeTraceY1 = new Object();
600                paramSelectTypeTraceY1.id = "SelectTypePlotY1";
601                paramSelectTypeTraceY1.parent = $("#typePlotY1");
602                this.selectTypeTraceY1 = new Select( paramSelectTypeTraceY1 );
603                this.selectTypeTraceY1.add( 'l', "Lines" );
604                this.selectTypeTraceY1.add( 'p', "Dots" );
605                this.selectTypeTraceY1.add( 'i', "Peaks" );
606                this.selectTypeTraceY1.add( 'lp', "Lines and Dots" );
607                this.selectTypeTraceY1.selectFirst( false );
608
609
610                // Create menu deroulant  2eme choix axe des y
611                //Titre
612                var titleAxeY2 = document.createTextNode("Choose the second vertical axis");
613                document.getElementById("axeY2Titre").appendChild(titleAxeY2);
614                //menu déroulant
615                var paramSelectAxeY2 = new Object();
616                paramSelectAxeY2.id = "selectAxeY2";
617                paramSelectAxeY2.parent = $("#axeY2");
618                this.selectTraceAxeY2 = new Select( paramSelectAxeY2 );
619                this.selectTraceAxeY2.add( 'no', "None", jQuery.proxy(this.onClickSelectTraceAxeY2, this ) );
620                this.selectTraceAxeY2.add( 'B', "Intensity", jQuery.proxy(this.onClickSelectTraceAxeY2, this ) );
621                this.selectTraceAxeY2.add( 'C', "Air broadening pressure halfwidth", jQuery.proxy(this.onClickSelectTraceAxeY2, this ) );
622                this.selectTraceAxeY2.add( 'D', "Energy of the lower transition level", jQuery.proxy(this.onClickSelectTraceAxeY2, this ) );
623                this.selectTraceAxeY2.add( 'F', "Temperature dependence coefficient n of the air broadening halfwidth ", jQuery.proxy(this.onClickSelectTraceAxeY2, this ) );
624                this.selectTraceAxeY2.add( 'N', "Self broadening pressure halfwidth (HWHM)", jQuery.proxy(this.onClickSelectTraceAxeY2, this ) );
625                this.selectTraceAxeY2.add( 'O', "Air pressure shift of the line transition", jQuery.proxy(this.onClickSelectTraceAxeY2, this ) );
626                this.selectTraceAxeY2.add( 'R', "Temperature dependence coefficient of the air pressure shift ", jQuery.proxy(this.onClickSelectTraceAxeY2, this ) );
627                this.selectTraceAxeY2.selectFirst( false );
628
629                // Create menu deroulant  type d'échelle linéaire ou logarithmique  pour le choix y2
630                //Titre
631                var titleScaleY2 = document.createTextNode("Select the type of Scale (if intensity is choosen)");
632                document.getElementById("scaleY2Titre").appendChild(titleScaleY2);
633                //menu déroulant
634                var paramSelectScaleY2 = new Object();
635                paramSelectScaleY2.id = "SelectScaleY2";
636                paramSelectScaleY2.parent = $("#scaleY2");
637                this.selectScaleY2 = new Select( paramSelectScaleY2 );
638                this.selectScaleY2.add( 'l', "Linear" );
639                this.selectScaleY2.add( '-log_scale2', "Logarithmic" );
640                this.selectScaleY2.selectFirst( false );
641                //est inactif par defaut car selectTraceAxeY2 est positionne a none par defaut
642                document.getElementById("scaleY2Titre").className = "notActiveText";
643                this.selectScaleY2.disable();
644
645                // Create menu deroulant  style de tracer       Y2
646                //Titre
647                var titleTypeTrace = document.createTextNode("Select the type of plot");
648                document.getElementById("typePlotY2Titre").appendChild(titleTypeTrace);
649                //menu déroulant
650                var paramSelectTypeTraceY2 = new Object();
651                paramSelectTypeTraceY2.id = "SelectTypePlotY2";
652                paramSelectTypeTraceY2.parent = $("#typePlotY2");
653                this.selectTypeTraceY2 = new Select( paramSelectTypeTraceY2 );
654                this.selectTypeTraceY2.add( 'l', "Lines" );
655                this.selectTypeTraceY2.add( 'p', "Dots" );
656                this.selectTypeTraceY2.add( 'i', "Peaks" );
657                this.selectTypeTraceY2.add( 'lp', "Lines and Dots" );
658                this.selectTypeTraceY2.selectFirst( false );
659                //est inactif par defaut car selectTraceAxeY2 est positionne a none par defaut
660                document.getElementById("typePlotY2Titre").className = "notActiveText";
661                this.selectTypeTraceY2.disable();
662
663
664                this.createMolecules($('#BDD-GEISA-11'), this.arrayGeisa2011, "GEISA-11");
665                this.createMolecules($('#BDD-GEISA-03'), this.arrayGeisa2003, "GEISA-03");
666                this.createMolecules($('#BDD-GEISA-IASI-11'), this.arrayGeisaIasi2011, "GEISA-IASI-11");
667                this.createMolecules($('#BDD-GEISA-IASI-03'), this.arrayGeisaIasi2003, "GEISA-IASI-03");
668
669
670                // var submitButton = new Button( {value:"Submit", parent:$( "#boutonSubmit" ), id:"button_submit_3", className: "red_button", classNameText:"red_button_text", onClick:jQuery.proxy( this.onClickSubmit, this )} );
671                var submitButton = new Button( {value:"Submit", parent:$( "#boutonSubmit" ), id:"button_submit_3", className: "positive", onClick:jQuery.proxy( this.onClickSubmit, this )} );
672            },
673
674
675
676
677            /**
678             * This method creates the case to check for the moles
679             * create cases Ã  cocher pour les molécules
680             * @param container
681             * @param moleculesArray
682             */
683            //createMolecules: function(container, moleculesArray)
684            createMolecules: function(container, moleculesArray, BddVersion)
685            {
686                var table = $(document.createElement("table"));
687                container.append(table);
688               // var tr = $(document.createElement("tr"));
689               // tr.attr({valign: "top"});
690               // table.append(tr);
691                var i=0;
692                //nombre de molecules par ligne
693                var l=10;
694                //taille du tableau
695                //alert("l" +moleculesArray.length);
696               // parseInt : partie entiÚre
697               // var res =  parseInt(8/3);
698                //alert("res="+res);
699
700                $.each(moleculesArray, jQuery.proxy( function(index, moleculeElement )
701                {
702
703
704                    //this.tr et non var tr pour que tr existe encore à la sortie du if
705                    if ( index == (i*l))
706                    {
707                        //alert(index);
708                        this.tr = $(document.createElement("tr"));
709                        this.tr.attr({valign: "top"});
710                        table.append(this.tr);
711                        i=i+1;
712
713                    }
714                    var td = $(document.createElement("td"));
715                    this.tr.append(td);
716
717                    var span= $(document.createElement("span"));
718                    span.addClass("molecule");
719                    td.append(span);
720
721                    var input = $(document.createElement("input"));
722                    input.attr({type:"checkbox", id:"all-"+moleculeElement.id+"-"+BddVersion});
723                    input.bind( 'click', this, jQuery.proxy( this.cliquetout, [this, moleculeElement.id, BddVersion ] ));
724                    span.append(input);
725
726                    var a = $(document.createElement("a"));
727                    a.html("<b>"+moleculeElement.name+"</b>");
728
729                    a.bind( 'click', this, jQuery.proxy( this.visibilite, [this,"Cache-"+ moleculeElement.id] ));
730                    span.append(a);
731
732                    var div= $(document.createElement("div"));
733                    div.addClass("divViolet");
734                    div.attr({id:"Cache-"+moleculeElement.id, style: "display:none"});
735                    td.append(div);
736
737                    var spanIsotopes= $(document.createElement("span"));
738                    spanIsotopes.addClass("isotope");
739                    spanIsotopes.attr({id:moleculeElement.id+"Isotope"+BddVersion});
740                    div.append(spanIsotopes);
741
742
743                    this.createIsotopes($("#"+moleculeElement.id+"Isotope"+BddVersion), moleculeElement.isotopesArray, moleculeElement.id, BddVersion);
744
745
746                }, this) );
747
748
749            },
750
751            createIsotopes: function(container, isotopesArray, moleculeElement, BddVersion )
752            {
753
754
755                $.each(isotopesArray, jQuery.proxy( function( index, isotopeElement )
756                {
757                    container.append("&nbsp;&nbsp;&nbsp;");
758                    var inputIsotopes = $(document.createElement("input"));
759                    inputIsotopes.attr({type:"checkbox", id:"chk-"+moleculeElement+"_"+isotopeElement+"-"+BddVersion, name:"moles", value:moleculeElement+"_"+isotopeElement});
760                    inputIsotopes.bind( 'click', this, jQuery.proxy( this.cliqueIsotope, [this, moleculeElement+"_"+isotopeElement, BddVersion ] ));
761                    container.append(inputIsotopes);
762                    container.append(isotopeElement);
763                    var br = $(document.createElement("br"));
764                    container.append(br);
765
766                }, this) );
767            },
768
769            // <table><tr><td>
770            // <span class="molecule"><input type=checkbox id=all-ch3cn-GEISA-11 onclick="cliquetout('this, ch3cn, GEISA-11');">
771            //          <a href="javascript:visibilite('this, Cache-ch3cn');"><B>CH<sub>3</sub>CN</a></B>
772            // </span>
773            // <div class="divViolet" id="Cache-ch3cn" style="display:none;">
774            //          <span class="isotope" id="ch3cnIsotopeGEISA-11">&nbsp;&nbsp;&nbsp;<input type=checkbox id=chk-ch3cn_234-GEISA-11 name=moles value=ch3cn_234 onclick="cliqueIsotope('this, ch3cn_234, GEISA-11');">234<br></span>
775            // </div>
776            // </td></tr></table>
777
778// REQUESTS ********************************************************
779            requestGeisa: function()
780            {
781
782                // var parameters = "check1="+$("#chk-h2o_Bob").attr('checked')+"&check2="+$("#chk-h2o_Bob").val()+"&valselectTypeTrace="+this.selectTypeTrace.getValue()+"&valselectTraceAxeY="+this.selectTraceAxeY.getValue();
783                var parameters = "&valselectTraceAxeY1="+this.selectTraceAxeY1.getValue()+"&valselectTraceAxeY2="+this.selectTraceAxeY2.getValue()+
784                        "&inputSpectralRangeLower="+$("#spectralRangeLower").val()+ "&inputSpectralRangeUpper="+$("#spectralRangeUpper").val()+
785                        "&inputIntensityLower="+$("#intensityLower").val()+"&inputIntensityUpper="+$("#intensityUpper").val()+
786                        "&valselectTypeTraceY1="+this.selectTypeTraceY1.getValue();
787
788                // alert(parameters);
789
790                //construction de la requête Fortran
791                //var parameters2 = "&fortranRequest= \"-field "+this.selectTraceAxeY1.getValue()+" -field2 "+this.selectTraceAxeY2.getValue()+" -wavenb_min "+$("#spectralRangeLower").val()+
792                //   " -wavenb_max "+$("#spectralRangeUpper").val()+" -int_min "+$("#intensityLower").val()+" -int_max "+$("#intensityUpper").val()+" -line_type "+this.selectTypeTrace.getValue()+"\"";
793
794                //molécules
795                //récupération des molécules sélectionnées
796                var inputs = document.getElementsByTagName( 'input' );
797                var count = inputs.length;
798                var molName ="";
799                alert(this.selectDatabase.getValue());
800                var i=0;
801                this.nbIsotopes = 0;
802                this.nbMolecules = 0;
803                for( i = 0; i < count; i++ )
804                {
805                    var input = inputs.item( i );
806                    //ne prendre que les isotopes sélectionnés dans la base de données sélectionnée  (rechercher des id du type :  "chk-ch3cn-GEISA-11")
807                    if( input.type == 'checkbox' && input.checked == true && input.id.indexOf("chk-")!= -1 && input.id.indexOf(this.selectDatabase.getValue())!= -1)
808                    {
809                        //nombre d'isotopes sélectionnés
810                        this.nbIsotopes =  this.nbIsotopes + 1;
811
812                        var molN=input.value;
813                        var molN1=molN.replace("_", ":");
814                        // exemple : -moleisotEEEh2o:161EEE-moleisotEEEh2o:162EEE-moleisotEEEco2:626EEE-moleisotEEEco2:627EEE-moleisotEEEo3:666EEE-moleisotEEEo3:668
815                        molName = molName+"-moleisotEEE"+molN1+"EEE";
816                    }
817                    //récupération du nombre de molécules sélectionnées
818                    if( input.type == 'checkbox' && input.checked == true && input.id.indexOf("all-")!= -1 && input.id.indexOf(this.selectDatabase.getValue())!= -1)
819                    {
820                        //nombre d'isotopes sélectionnés
821                        this.nbMolecules =  this.nbMolecules + 1;
822                    }
823                }
824
825
826
827                //sélection du type d'échelle pour le parametre Y1 (il y a une valeur pour ce champ que si logaritmic est choisi et si l'option est activée)
828                if  (this.selectScaleY1.getValue() == '-log_scale' && this.selectScaleY1.isDisable == false)
829                {
830                    var logScale = this.selectScaleY1.getValue();
831                }
832                else
833                {
834                    var logScale = ""
835                }
836
837                //sélection du nombre de courbes ou de graphs
838
839                var nbCourbes = "";
840                switch (this.SelectNbCourbes.getValue()) {
841                    case 'cm':
842                        nbCourbes = "EEE-separate_molEEE-same_graphEEE";
843                        this.nbGraph = 1;
844                        this.nbCourbe =  this.nbMolecules;
845                        if (this.nbCourbe > 8) {alert("Too much molecules selected to draw one curve for each molecule selected");}
846                        break;
847                    case 'ci':
848                        nbCourbes = "EEE-separate_isoEEE-same_graphEEE";
849                        this.nbGraph = 1;
850                        this.nbCourbe =  this.nbIsotopes;
851                        if (this.nbCourbe > 8) {alert("Too much isotopologues selected to draw one curve for each isotopologues selected");}
852                        break;
853                    case 'gm':
854                        nbCourbes = "EEE-separate_molEEE";
855                        this.nbGraph = this.nbMolecules;
856                        if (this.nbGraph > 20) {alert("Too much molecules selected to draw one graph for each molecules selected");}
857                        break;
858                    case 'gi':
859                        nbCourbes = "EEE-separate_isoEEE";
860                        this.nbGraph = this.nbIsotopes;
861                        if (this.nbGraph > 20) {alert("Too much isotopologues selected to draw one graph for each isotopologues selected");}
862                        break;
863                    default:
864                        nbCourbes = "";
865                        this.nbGraph = 1;
866                        break;
867                }
868
869
870                //sélection ou non d'un 2eme choix pour l'axe des Y   (pas de valeur pour ce champ si choix none ou si l'option n'est pas activée)
871                if  (this.selectTraceAxeY2.getValue() == 'no' ||  this.selectTraceAxeY2.isDisable == true)
872                {
873                    var field2 = "";
874                }
875                else
876                {
877                    var field2 = "-field2EEE"+this.selectTraceAxeY2.getValue();
878                }
879
880                //sélection du type d'échelle pour le parametre Y2 (il y a une valeur pour ce champ que si logaritmic est choisi et si l'option est activée)
881                if  (this.selectScaleY2.getValue() == '-log_scale2' && this.selectScaleY2.isDisable == false)
882                {
883                    var logScale2 =this.selectScaleY2.getValue();
884                }
885                else
886                {
887                    var logScale2 = "";
888                }
889
890
891                //sélection du type de tracé pour Y2  (pas de valeur  si l'option n'est pas activée)
892                if  ( this.selectTypeTraceY2.isDisable == true)
893                {
894                    var lineType = "";
895                }
896                else
897                {
898                    var lineType = "-line_type2EEE"+this.selectTypeTraceY2.getValue();
899                }
900
901                //Valeur de mean value (a faire test sur la valeur à ne prendre que si val >=0 sinon afficher message)
902                    var meanValue = "EEE-stepEEE"+$("#meanValue2").val();
903
904
905
906                //construction de la requête Fortran
907                //var parameters2 = "&fortranRequest= \"-field "+this.selectTraceAxeY1.getValue()+" -field2 "+this.selectTraceAxeY2.getValue()+" -wavenb_min "+$("#spectralRangeLower").val()+
908                //   " -wavenb_max "+$("#spectralRangeUpper").val()+" -int_min "+$("#intensityLower").val()+" -int_max "+$("#intensityUpper").val()+" -line_type "+this.selectTypeTrace.getValue()+"\"";
909
910
911                //var parameters2 = "&fortranRequest=-fieldEEE"+this.selectTraceAxeY1.getValue()+"EEE"+logScale+"EEE"+field2+"EEE"+logScale2+"EEE"+"EEE-wavenb_minEEE"+$("#RangeLower").val()+
912                      //  "EEE-wavenb_maxEEE"+$("#RangeUpper").val()+"EEE-int_minEEE"+$("#intensityLo").val()+"EEE-int_maxEEE"+$("#intensityUp").val()+"EEE-line_typeEEE"+this.selectTypeTraceY1.getValue()+"EEE"+molName+meanValue+nbCourbes;
913
914                var parameters2 = "&fortranRequest="+molName+"EEE-wavenb_minEEE"+$("#RangeLower").val()+"EEE-wavenb_maxEEE"+$("#RangeUpper").val()+"EEE-int_minEEE"+$("#intensityLo").val()+"EEE-int_maxEEE"+$("#intensityUp").val()+
915                                   meanValue+nbCourbes+"EEE-fieldEEE"+this.selectTraceAxeY1.getValue()+"EEE"+logScale+"EEE-line_typeEEE"+this.selectTypeTraceY1.getValue()+"EEE"+field2+"EEE"+logScale2+"EEE"+lineType;
916
917                alert(parameters2);
918
919                $.ajax( {
920                            url: "project?methodName=createUserRequest&"+parameters2,
921                            success:jQuery.proxy( this.handleGeisa, this )
922                        } );
923            },
924
925 // HANDLES ******************************************************** = retours ajax
926
927
928            handleGeisa: function( result )
929            {
930                // var bob = jQuery.parseJSON( result ).resultAjax;
931                //chemin de l'image
932                this.pathImg = jQuery.parseJSON( result ).pathImg;
933                //alert("this.pathImg="+this.pathImg);
934                //numéro unique pour le nom du graph
935                this.nb = jQuery.parseJSON( result ).nb;
936                alert("this.nb="+this.nb);
937                //nom de l'image
938                //this.nameImg = jQuery.parseJSON( result ).nameImg;
939
940
941
942                var coordinate = [200, 100];
943
944                //Pour tracer le bon nombre de graphe et de bouton download
945                var i=1;
946                var content = '';
947                    for (i=1; i<this.nbGraph+1; i++) {
948                        content = content + '<img src=' + this.pathImg + "graph" + this.nb +"-"+i+ ".png"+ ' /><a href="project?methodName=downloadFile&fileName='  + "graph" + this.nb+"-"+i + ".png"+ '"><button class="dataProtocolDownloadButton">Download</button></a>';
949                    }
950
951
952               //to do
953                if( !this.pathImg )
954                    setTimeout( jQuery.proxy( this.displayWindow, this ), 1000 );
955                else
956                    this.displayWindow(coordinate,content);
957
958            },
959
960 // EVENTS ********************************************************
961
962
963            //affichage du bloc des molecules en fonction de la base de donnees selectionnee
964            onClickSelectDatabase: function(value)
965            {
966
967                if  ('GEISA-11' == value)
968                {
969                    document.getElementById( "BDD-GEISA-11" ).style.display = "";
970                    document.getElementById( "BDD-GEISA-IASI-11" ).style.display = "none";
971                    document.getElementById( "BDD-GEISA-03" ).style.display = "none";
972                    document.getElementById( "BDD-GEISA-IASI-03" ).style.display = "none";
973                }
974
975                if  ('GEISA-IASI-11' == value)
976                {
977                    document.getElementById( "BDD-GEISA-11" ).style.display = "none";
978                    document.getElementById( "BDD-GEISA-IASI-11" ).style.display = "";
979                    document.getElementById( "BDD-GEISA-03" ).style.display = "none";
980                    document.getElementById( "BDD-GEISA-IASI-03" ).style.display = "none";
981                }
982
983                if  ('GEISA-03' == value)
984                {
985                    document.getElementById( "BDD-GEISA-11" ).style.display = "none";
986                    document.getElementById( "BDD-GEISA-IASI-11" ).style.display = "none";
987                    document.getElementById( "BDD-GEISA-03" ).style.display = "";
988                    document.getElementById( "BDD-GEISA-IASI-03" ).style.display = "none";
989                }
990                if  ('GEISA-IASI-03' == value)
991                {
992                    document.getElementById( "BDD-GEISA-11" ).style.display = "none";
993                    document.getElementById( "BDD-GEISA-IASI-11" ).style.display = "none";
994                    document.getElementById( "BDD-GEISA-03" ).style.display = "none";
995                    document.getElementById( "BDD-GEISA-IASI-03" ).style.display = "";
996                }
997            },
998
999
1000
1001            cliquetout: function()
1002            {
1003                var context = this[0];
1004                // exemple :moleculeName = ch3ch
1005                var moleculeName = this[1];
1006                var bddVersion = this[2];
1007                var inputs = document.getElementsByTagName( 'input' );
1008                var count = inputs.length;
1009                for( i = 0; i < count; i++ )
1010                {
1011                   var  input = inputs.item( i );
1012                    //cliquer toutes les molécules et isotopes du meme nom dans toutes les bases
1013                    //if( input.type == 'checkbox' && ( input.id == ('chk-' + name + '-GEISA-11') || input.id == ('chk-' + name + '-GEISA-03') || input.id == ('chk-' + name + '-GEISA-IASI-11') || input.id == ('chk-' + name + '-GEISA-IASI-03')
1014                                                  // || input.id == (name + '-all-GEISA-03') || input.id == (name + '-all-GEISA-11') || input.id == (name + '-all-GEISA-IASI-03') || input.id == (name + '-all-GEISA-IASI-11')))
1015
1016                    if( input.type == 'checkbox' && ( input.id.indexOf('chk-' + moleculeName + '_') != -1 || input.id.indexOf('all-'+moleculeName+'-')!= -1 ))
1017
1018                    {
1019                        input.checked = document.getElementById( 'all-'+ moleculeName + '-' + bddVersion ).checked;
1020                    }
1021                }
1022            },
1023
1024            cliqueIsotope: function()
1025            {
1026                var context = this[0];
1027                var isotopeName = this[1];
1028                var bddVersion = this[2];
1029                var inputs = document.getElementsByTagName( 'input' );
1030                var count = inputs.length;
1031                for( i = 0; i < count; i++ )
1032                {
1033                    input = inputs.item( i );
1034                    //name=ch3cn_134
1035                    //cliquer ou decliquer le meme isotope dans toutes les bases
1036                    if( input.type == 'checkbox' &&  input.id.indexOf('chk-' + isotopeName) != -1)
1037                    {
1038                        input.checked = document.getElementById( 'chk-' + isotopeName + '-' + bddVersion ).checked;
1039
1040                    }
1041                }
1042            },
1043
1044            decliquemol : function( name )
1045            {
1046
1047                var inputs = document.getElementsByTagName( 'input' );
1048                var count = inputs.length;
1049                var i = 0;
1050                for( i = 0; i < count; i++ )
1051                {
1052                    input = inputs.item( i );
1053                    if( input.type == 'checkbox' && input.id == (name + '-all') && input.checked == true )
1054                    {
1055                        input.checked = false;
1056                    }
1057                }
1058            },
1059
1060            visibilite: function(  )
1061            {
1062                var context = this[0];
1063                var thingId = this[1];
1064                var divs = document.getElementsByTagName( 'div' );
1065                var count = divs.length;
1066                var i = 0;
1067                for( i = 0; i < count; i++ )
1068                {
1069                   var div = divs.item( i );
1070
1071
1072                    if  (  div.id ==   thingId)
1073                    {
1074                        if( div.style.display == "none" )
1075                        {
1076                            div.style.display = "";
1077                        }
1078                        else
1079                        {
1080                            div.style.display = "none";
1081                        }
1082                    }
1083                }
1084            },
1085
1086
1087            onBlurInputMeanValue: function()
1088            {
1089                //si step est sup a 0,   ajout d'une ligne Z aux parametres Y1 et y2
1090                if  ($("#meanValue2").val() > 0)
1091                {
1092                    this.selectTraceAxeY1.add( 'Z', "Number of lines ", jQuery.proxy(this.onClickSelectTraceAxeY1, this ) );
1093                    this.selectTraceAxeY2.add( 'Z', "Number of lines ", jQuery.proxy(this.onClickSelectTraceAxeY2, this ) );
1094                }
1095                //si step = a 0     et autres valeurs (a faire) , retrait de la ligne Z aux parametres Y1 et y2
1096                if  ($("#meanValue2").val() == 0)
1097                {
1098                    //alert($("#meanValue2").val());
1099                    this.selectTraceAxeY1.remove( 'Z', "Number of lines ", jQuery.proxy(this.onClickSelectTraceAxeY1, this ) );
1100                    this.selectTraceAxeY2.remove( 'Z', "Number of lines ", jQuery.proxy(this.onClickSelectTraceAxeY2, this ) );
1101                }
1102            },
1103
1104            onClickSelectNbCourbes: function(value)
1105            {
1106
1107                //si plusieurs courbes ou graphe choisis pour les isotopes et ou molecules, les choix pour Y2 sont inactifs
1108                if  ('ca' != value)
1109                {
1110                    //transformer le texte en gris
1111                    document.getElementById("axeY2Titre").className = "notActiveText";
1112                    document.getElementById("scaleY2Titre").className = "notActiveText";
1113                    document.getElementById("typePlotY2Titre").className = "notActiveText";
1114                    //pour rendre le menu déroulant inactif
1115                    this.selectTraceAxeY2.disable();
1116                    this.selectScaleY2.disable();
1117                    this.selectTypeTraceY2.disable();
1118                }
1119                //si une seule courbe choisie pour les isotopes et ou molecules, les choix pour Y2 sont actifs
1120                if  ('ca' == value)
1121                {
1122                    //remet le texte en couleur active
1123                    document.getElementById("axeY2Titre").className = "activeText";
1124                    //rendre actif l'echelle que si l'intensite est choisie dans les parametres
1125                    if (this.selectTraceAxeY2.getValue() == 'B')
1126                    {
1127                        document.getElementById("scaleY2Titre").className = "activeText";
1128                    }
1129                    //rendre actif le type de plot si ce n'est pas la valeur none qui est choisie
1130                    if (this.selectTraceAxeY2.getValue() != 'no')
1131                    {
1132                        document.getElementById("typePlotY2Titre").className = "activeText";
1133                    }
1134                    //pour rendre les menu déroulant actifs
1135                    this.selectTraceAxeY2.enable();
1136                    //rendre actif l'echelle que si l'intensite est choisie dans les parametres
1137                    if (this.selectTraceAxeY2.getValue() == 'B')
1138                    {
1139                        this.selectScaleY2.enable();
1140                    }
1141                    //rendre actif le type de plot si ce n'est pas la valeur none qui est choisie
1142                    if (this.selectTraceAxeY2.getValue() != 'no')
1143                    {
1144                        this.selectTypeTraceY2.enable();
1145                    }
1146                }
1147            },
1148
1149
1150            onClickSelectTraceAxeY1: function(value)
1151            {
1152                //si intensite n'est pas choisi pour Y1, le type d'échelle est inactif
1153                if  (this.selectTraceAxeY1.getValue() != 'B')
1154                {
1155                    //transformer le texte en gris
1156                    document.getElementById("scaleY1Titre").className = "notActiveText";
1157                    //pour rendre le menu déroulant inactif
1158                    this.selectScaleY1.disable();
1159                }
1160                //si intensite est  choisi pour Y1, le type d'échelle est actif
1161                if  (this.selectTraceAxeY1.getValue() == 'B')
1162                {
1163                    //transformer le texte en gris
1164                    document.getElementById("scaleY1Titre").className = "activeText";
1165                    //pour rendre le menu déroulant inactif
1166                    this.selectScaleY1.enable();
1167                }
1168            },
1169
1170            onClickSelectTraceAxeY2: function(value)
1171            {
1172                //si intensite n'est pas choisi pour Y2, le type d'échelle est inactif
1173                if  (this.selectTraceAxeY2.getValue() != 'B')
1174                {
1175                    //transformer le texte en gris
1176                    document.getElementById("scaleY2Titre").className = "notActiveText";
1177                    //pour rendre le menu déroulant inactif
1178                    this.selectScaleY2.disable();
1179                }
1180                //si intensite est  choisi pour Y2, le type d'échelle est actif
1181                if  (this.selectTraceAxeY2.getValue() == 'B')
1182                {
1183                    //transformer le texte en gris
1184                    document.getElementById("scaleY2Titre").className = "activeText";
1185                    //pour rendre le menu déroulant inactif
1186                    this.selectScaleY2.enable();
1187                }
1188               //si aucun parametre est  choisi pour Y2, le type de plot est inactif
1189                if  (this.selectTraceAxeY2.getValue() == 'no')
1190                {
1191                    //transformer le texte en gris
1192                    document.getElementById("typePlotY2Titre").className = "notActiveText";
1193                    //pour rendre le menu déroulant inactif
1194                    this.selectTypeTraceY2.disable();
1195                }
1196                //si un parametre est  choisi pour Y2, le type de plot est actif
1197                if  (this.selectTraceAxeY2.getValue() != 'no')
1198                {
1199                    //transformer le texte en gris
1200                    document.getElementById("typePlotY2Titre").className = "activeText";
1201                    //pour rendre le menu déroulant inactif
1202                    this.selectTypeTraceY2.enable();
1203                }
1204
1205            },
1206
1207              onClickSubmit: function()
1208            {
1209                this.requestGeisa();
1210            },
1211
1212            displayWindow: function(coordinate, content)
1213            {
1214                // var content = '<img src=' + this.pathImg + ' /><a href="project?methodName=downloadFile&fileName='  + this.nameImg + '"><button class="dataProtocolDownloadButton">Download</button></a>';
1215
1216                //alert(content);
1217                var $dialog = $( '<div></div>' )
1218
1219                        .html( content )
1220
1221                        .dialog( {
1222                            autoOpen: false,
1223                            title: "GEISA : spectroscopic database",
1224                            //minHeight: 500,
1225                            // minWidth: 660,
1226                            height: 560,
1227                            width:700,
1228                            //Exemple de  valeurs possible pour position : "middle", "top",  [200, 100]
1229                            position: "middle"
1230
1231                        } );
1232                $dialog.dialog( 'open' )
1233            },
1234
1235            // displayWindow: function(coordinate)
1236            //{
1237                //var content = '<img src=' + this.pathImg + ' /><a href="project?methodName=downloadFile&fileName=bib.txt"><button class="dataProtocolDownloadButton">Download</button></a>';
1238               // var content = '<img src=' + this.pathImg + ' /><a href="project?methodName=downloadFile&fileName='  + this.nameImg + '"><button class="dataProtocolDownloadButton">Download</button></a>';
1239
1240                //alert(content);
1241               // var $dialog = $( '<div></div>' )
1242                       // .html( content + content1 )
1243
1244                       // .dialog( {
1245                        //    autoOpen: false,
1246                        //    title: "GEISA : spectroscopic database",
1247                        //    minHeight: 500,
1248                        //    minWidth: 660,
1249
1250                            //coordonnee y y
1251                         //   position:coordinate
1252
1253                       // } );
1254               // $dialog.dialog( 'open' )
1255            //},
1256
1257
1258              onClickDownload: function()
1259            {
1260                document.location.href = "project?methodName=downloadFile&fileName=bib.txt";
1261            }
1262
1263
1264        } );
1265
1266</script>
Note: See TracBrowser for help on using the repository browser.