source: geisa/web/initGeisa_script.jsp @ 532

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

Délai d'attente pour tracer les graphes 15/06/2012

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