function initialize_fast_product_finder() {    var opts1 = document.form.one.options;    var opts2 = document.form.two.options;    var opts3 = document.form.three.options;    var opts4 = document.form.four.options;        opts1[0] = new Option('Select One', '');    opts1.selectedIndex = 0;    opts1[1] = new Option('Transmission',                          'Transmission-segment');    opts1[2] = new Option('Amplification',                          'Amplification-segment');    opts1[3] = new Option('Dispersion Compensation',                          'Dispersion Compensation-segment');    opts1[4] = new Option('Wavelength Management',                          'Wavelength Management-segment');    opts1[5] = new Option('Wavelength Selective Switches',                          'Wavelength Selective Switches-segment');    opts1[6] = new Option('High Power Laser Diodes',                          'High Power Laser Diodes-segment');    opts1[7] = new Option('VCSELs',                          'VCSELs-segment');    opts1[8] = new Option('Clarity ™ Filters',                          'filters-filters');    opts1.length = 9;    set2(1);    set3(1);    set4(1);}function chose_one() {    var opts1 = document.form.one.options;    var val1 = opts1[opts1.selectedIndex].value;    var opts2 = document.form.two.options;    opts2.selectedIndex = 0;    if (val1 == 'Transmission-segment') {        opts2[1] = new Option('10G 300-Pin MSA Transponders',                              '10G 300-Pin MSA Transponders-type');        opts2[2] = new Option('40G 300-Pin MSA Transponders',                              '40G 300-Pin MSA Transponders-type');        opts2[3] = new Option('External Modulators',                              'External Modulators-type');        opts2[4] = new Option('SFP Transceivers',                              'SFP Transceivers-type');        opts2[5] = new Option('Tunable Lasers',                              'Tunable Lasers-type');        opts2[6] = new Option('Tunable Pluggable Transceivers',                              'Tunable Pluggable Transceivers-type');        opts2[7] = new Option('Tunable Transmitter Assembly',                              'Tunable Transmitter Assembly-type');        opts2[8] = new Option('Receiver Products',                               'Receiver Products-type');        opts2.length = 9;        set3(1);        set4(1);    }    else if (val1 == 'Amplification-segment') {        opts2[1] = new Option('Digitally-Controlled EDFAs',                              'Digitally-Controlled EDFAs-type');        opts2[2] = new Option('Gain Blocks',                              'Gain Blocks-type');        opts2[3] = new Option('980 nm Pump Lasers',                              '980 nm Pump Lasers-type');        opts2.length = 4;        set3(1);        set4(0);    }    else if (val1 == 'Dispersion Compensation-segment') {        opts2[1] = new Option('Tunable Dispersion Compensation',                              'Tunable Dispersion Compensation-type');        opts2[2] = new Option('Fiber-Based DCM',                              'Fiber-Based DCM-type');        opts2.length = 3;        set3(0);        set4(0);    }    else if (val1 == 'Wavelength Management-segment') {        opts2[1] = new Option('Thin Film Filters',                              'Thin Film Filters-type');        opts2[2] = new Option('Interleavers',                              'Interleavers-type');        opts2[3] = new Option('Mux/Demux & OADM',                              'Mux/Demux & OADM-type');        opts2[4] = new Option('WDM Filter Components',                              'WDM Filter Components-type');        opts2[5] = new Option('Gain Flattening Filters',                              'Gain Flattening Filters-type');        opts2[6] = new Option('Thin Film Filter Chips',                              'Thin Film Filter Chips-type');        opts2.length = 7;        set3(0);        set4(0);    }     else if (val1 == 'Wavelength Selective Switches-segment') {        opts2[1] = new Option('WSS Scalable Family',                              'WSS Scalable Family-type');        opts2.length = 2;        set3(0);        set4(0);    }    else if (val1 == 'High Power Laser Diodes-segment') {        opts2[1] = new Option('Open Heatsink Single Emitters',                              'Open Heatsink Single Emitters-type');        opts2[2] = new Option('Fiber-Coupled Single Emitters',	    					  'Fiber-Coupled Single Emitters-type');        opts2[3] = new Option('Passive Cooled Bars',	    					  'Passive Cooled Bars-type');        opts2[4] = new Option('Fiber-Coupled Bars',	    					  'Fiber-Coupled Bars-type');        opts2[5] = new Option('Active Cooled Bars and Stacks',                              'Active Cooled Bars and Stacks-type');	                                      opts2.length = 6;        set3(1);        set4(1);    }    else if (val1 == 'VCSELs-segment') {        opts2[1] = new Option('Multi-mode 830-850 nm',                              'Multi-mode 830-850 nm-type');        opts2[2] = new Option('Single-mode 830-850 nm',                              'Single-mode 830-850 nm-type');        opts2[3] = new Option('Single-mode 758-766 nm',                              'Single-mode 758-766 nm-type');        opts2[4] = new Option('Single-mode 795 nm',                              'Single-mode 795 nm-type');        opts2.length = 5;        set3(1);        set4(1);    }    else if (val1 == 'filters-filters') {        opts2[1] = new Option('Select by Fluorophore',                              'filters-fluorophore');        opts2[2] = new Option('Select by Wavelength',                              'filters-wavelength');        opts2.length = 3;        set3(1);        set4(1);    }    else {        set3(1);        set4(1);    }}function chose_two() {    var opts1 = document.form.one.options;    var opts2 = document.form.two.options;    var opts3 = document.form.three.options;    var val1 = opts1[opts1.selectedIndex].value;    var val2 = opts2[opts2.selectedIndex].value;    opts3[0] = new Option('Select One', '');    opts3.selectedIndex = 0;    if (val1 == 'Transmission-segment') {        if (val2 == '10G 300-Pin MSA Transponders-type') {           set3(0);           set4(0);        }        else if (val2 == '40G 300-Pin MSA Transponders-type') {            opts3[1] = new Option('Coherent PM-QPSK',                                  'Coherent PM-QPSK-modulation_format');            opts3[2] = new Option('Adaptive DPSK',                                  'Adaptive DPSK-modulation_format');            opts3[3] = new Option('RZ-DQPSK',                                  'RZ-DQPSK-modulation_format');      // ???            opts3.length = 4;            set4(0);        }        else if (val2 == 'SFP Transceivers-type') {            opts3[1] = new Option('CWDM',                                  'CWDM-keywords');            opts3[2] = new Option('DWDM',                                  'DWDM-keywords');            opts3.length = 3;            set4(1);        }        else if (val2 == 'Tunable Lasers-type') {            opts3[1] = new Option('iTLA',                                  'iTLA-keywords');            opts3.length = 2;            set4(1);        }        else if (val2 == 'Tunable Transmitter Assembly-type') {            opts3[1] = new Option('TTA',                                  'TTA-keywords');            opts3.length = 2;            set4(1);        }        else if (val2 == 'Tunable Pluggable Transceivers-type') {            opts3[1] = new Option('SX2',                                  'SX2-keywords');            opts3[2] = new Option('XFP',                                  'XFP-keywords');                                  opts3.length = 3;            set4(0);        }        else if (val2 == 'Receiver Products-type') {            opts3[1] = new Option('10G Receivers',                                  '10G-bit_rate');            opts3[2] = new Option('40G Receivers',                                  '40G-bit_rate');            opts3[3] = new Option('100G Receivers',                                  '100G-bit_rate');                                 opts3.length = 4;            set4(1);        }                else if (val2 == 'External Modulators-type') {            opts3[1] = new Option('2.5 Gb/s',                                  '2.5 Gb/s-bit_rate');            opts3[2] = new Option('10 Gb/s',                                  '10 Gb/s-bit_rate');            opts3[3] = new Option('40 Gb/s',                                  '40 Gb/s-bit_rate');            opts3.length = 4;            set4(1);        }    }    else if (val1 == 'Amplification-segment') {        if (val2 == '980 nm Pump Lasers-type') {            opts3[1] = new Option('Cooled Butterfly',                                  'Cooled Butterfly-keywords');            opts3[2] = new Option('Uncooled Mini-DIL',                                  'Uncooled Mini-DIL-keywords');            opts3[3] = new Option('Cooled Mini-DIL',                                  'Cooled Mini-DIL-keywords');            opts3[4] = new Option('Submarine Pump',                                  'Submarine Pump-keywords');            opts3[5] = new Option('Multimode Pump',                                  'Multimode Pump-keywords');            opts3.length = 6;            set4(0);        }        else if (val2 == 'Digitally-Controlled EDFAs-type') {            opts3[1] = new Option('Booster Amplifier',                                  'Booster Amplifier-keywords');            opts3[2] = new Option('In-Line Amplifier',                                  'In-Line Amplifier-keywords');            opts3[3] = new Option('Pre-Amplifier',                                  'Pre-Amplifier-keywords');            opts3.length = 4;            set4(0);        }        else {            set3(0);            set4(0);        }    }    else if (val1 == 'Wavelength Management-segment') {        if (val2 == 'Mux/Demux & OADM-type') {            opts3[1] = new Option('8 Channel Mux/Demux',                                  '8 Channel Mux/Demux-brand_name');            opts3[2] = new Option('10 Channel Mux/Demux',                                  '10 Channel Mux/Demux-brand_name');            opts3[3] = new Option('40 Channel Mux/Demux',                                  '40 Channel Mux/Demux-brand_name');            opts3[4] = new Option('10 Channel Mux/Demux with VOAs',                                  '10 Channel Mux/Demux with VOAs-brand_name');            opts3[5] = new Option('4 Band OADM with 40ch/100GHz',                                  '4 Band OADM with 40ch/100GHz-brand_name');            opts3[6] = new Option('Custom Form Factors',                                  'Custom Form Factors-brand_name');            opts3.length = 7;            set4(0);        }        else if (val2 == 'WDM Filter Components-type') {            opts3[1] = new Option('Channel Filters',                                  'Channel Filters-keywords');            opts3[2] = new Option('Band Filters',                                  'Band Filters-keywords');            opts3[3] = new Option('PON Filters',                                  'PON Filters-keywords');            opts3[4] = new Option('Couplers/Splitters',                                  'Couplers/Splitters-keywords');            opts3.length = 5;            set4(1);        }        else if (val2 == 'Thin Film Filter Chips-type') {            opts3[1] = new Option('Narrowband',                                  'Narrowband-keywords');            opts3[2] = new Option('Wideband',                                  'Wideband-keywords');            opts3.length = 3;            set4(1);        }        else {            // could happen            set3(0);            set4(0);        }    }    else if (val1 == 'High Power Laser Diodes-segment') {        if (val2 == 'Open Heatsink Single Emitters-type') {            opts3[1] = new Option('Chip on Submount',                                  'Submount-package');            opts3[2] = new Option('Chip on C-mount',                                  'C-mount-package');            opts3.length = 3;            set4(1);        }        else if (val2 == 'Fiber-Coupled Single Emitters-type') {            opts3[1] = new Option('Single-mode Modules',                                  'Single-mode-keywords');            opts3[2] = new Option('Multi-mode Modules',                                  'Multi-mode-keywords');            opts3.length = 3;            set4(1);        }        else if (val2 == 'Passive Cooled Bars-type') {            opts3[1] = new Option('8xx nm',                              '8xx nm-keywords');			opts3[2] = new Option('9xx nm',								  '9xx nm-keywords');			opts3[3] = new Option('10xx nm',								  '10xx nm-keywords');			opts3.length = 4;            set4(0);        }        else if (val2 == 'Active Cooled Bars and Stacks-type') {            opts3[1] = new Option('8xx nm',                              '8xx nm-keywords');			opts3[2] = new Option('9xx nm',								  '9xx nm-keywords');			opts3[3] = new Option('10xx nm',								  '10xx nm-keywords');			opts3.length = 4;            set4(0);        }                else {            // can't happen            set3(0);            set4(0);        }    }    else if (val1 == 'VCSELs-segment') {        if (val2 == 'Multi-mode 830-850 nm-type') {            opts3[1] = new Option('10 Gb/s',                                 '10 Gb/s-bit_rate');            opts3[2] = new Option('20 Gb/s',                                 '20 Gb/s-bit_rate');            opts3.length = 3;            set4(0);        }        else if (val2 == 'Single-mode 830-850 nm-type') {            opts3[1] = new Option('Chips',                                 'Chip-package');            opts3[2] = new Option('TO46',                                 'TO46-package');            opts3.length = 3;            set4(0);        }        else if (val2 == 'Single-mode 758-766 nm-type') {            opts3[1] = new Option('TO46',                                  'TO46-package');            opts3[2] = new Option('TO510',                                  'TO510-package');            opts3.length = 3;            set4(0);        }        else {            // could happen            set3(0);            set4(0);        }    }    else if (val1 == 'filters-filters') {        if (val2 == 'filters-fluorophore') {// do not alter - see cgi-bin/dispatch_f/fph_publish//FLUOROPHOREopts3[1] = new Option('1,8-ANS', '364');opts3[2] = new Option('5-FAM (5-carboxyfluorescein)', '331');opts3[3] = new Option('5-ROX (carboxy-X-rhodamine)', '332');opts3[4] = new Option('6-JOE', '333');opts3[5] = new Option('7-AAD', '366');opts3[6] = new Option('7-hydroxy-4-methylcoumarin', '367');opts3[7] = new Option('Acridine Orange', '368');opts3[8] = new Option('Alexa Fluor 350™', '369');opts3[9] = new Option('Alexa Fluor 405™', '335');opts3[10] = new Option('Alexa Fluor 430™', '370');opts3[11] = new Option('Alexa Fluor 488™', '336');opts3[12] = new Option('Alexa Fluor 514™', '371');opts3[13] = new Option('Alexa Fluor 532™', '337');opts3[14] = new Option('Alexa Fluor 546™', '338');opts3[15] = new Option('Alexa Fluor 555™', '339');opts3[16] = new Option('Alexa Fluor 568™', '340');opts3[17] = new Option('Alexa Fluor 594™', '342');opts3[18] = new Option('Alexa Fluor 610™', '372');opts3[19] = new Option('Alexa Fluor 633™', '344');opts3[20] = new Option('Alexa Fluor 635™', '373');opts3[21] = new Option('Alexa Fluor 647™', '345');opts3[22] = new Option('Alexa Fluor 660™', '346');opts3[23] = new Option('Alexa Fluor 680™', '348');opts3[24] = new Option('Alexa Fluor 700™', '374');opts3[25] = new Option('Alexa Fluor 750™', '375');opts3[26] = new Option('AMCA (Aminomethylcoumarin)', '376');opts3[27] = new Option('APC (Allophycocyanin)', '377');opts3[28] = new Option('TAMRA', '365');opts3.length = 29;//FLUOROPHORE            set4(1);        }        else if (val2 == 'filters-wavelength') {            opts3[1] = new Option('UV: <= 399 nm',                                  '0-399');            opts3[2] = new Option('Blue: 400 nm to 499 nm',                                  '400-499');            opts3[3] = new Option('Green: 500 nm to 549 nm',                                  '500-549');            opts3[4] = new Option('Yellow: 550 nm to 584 nm',                                  '550-584');            opts3[5] = new Option('Orange: 585 nm to 615 nm',                                  '585-615');            opts3[6] = new Option('Red: 616 nm to 699 nm',                                  '616-699');            opts3[7] = new Option('Far Red: 700 nm to 799 nm',                                  '700-799');            opts3[8] = new Option('IR: >= 800 nm',                                  '800-9999');            opts3.length = 9;            set4(0);        }    }    else {        // could happen        set3(0);        set4(0);    }}function chose_three() {    var opts2 = document.form.two.options;    var opts3 = document.form.three.options;    var opts4 = document.form.four.options;    var val2 = opts2[opts2.selectedIndex].value;    var val3 = opts3[opts3.selectedIndex].value;    opts4[0] = new Option('Select One', '');    opts4.selectedIndex = 0;    if (val3 == 'Large Form Factor-package') {        opts4[1] = new Option('NRZ', 'NRZ-modulation_format');        opts4[2] = new Option('ODB', 'ODB-modulation_format');        opts4.length = 3;    }    else if (val3 == 'Small Form Factor-package') {        opts4[1] = new Option('TDM',  'TDM-keywords');        opts4[2] = new Option('DWDM', 'DWDM-keywords');        opts4.length = 3;    }    else if (val2 == 'External Modulators-type'             && val3 == '10 Gb/s-bit_rate'    ) {        opts4[1] = new Option("3' MSA TRX",         // need double quotes here                              "3' MSA TRX-package");        opts4[2] = new Option("4' MSA TRX",                              "4' MSA TRX-package");        opts4.length = 3;    }    else if (val3 == 'SFF Tunable-keywords') {        opts4[1] = new Option('Negative Chirp',                              'Negative Chirp-keywords');        opts4[2] = new Option('Zero Chirp',                              'Zero Chirp-keywords');        opts4.length = 3;    }    else if (val2 == 'SFP Transceivers-type'             && val3 == 'DWDM-keywords'    ) {        opts4[1] = new Option('Multi-rate 0.1 to 2.7 Gb/s',                              'Multi-rate 0.1 to 2.7 Gb/s-keywords');        opts4[2] = new Option('Multi-protocol to 4.25 Gb/s',                              'Multi-protocol to 4.25 Gb/s-keywords');        opts4[3] = new Option('Fibre Channel',                              'Fibre Channel-keywords');        opts4.length = 4;    }    else if (val3 == 'Narrow Band Tunable-keywords') {        opts4[1] = new Option('175km Reach',                              '175km Reach-reach');        opts4[2] = new Option('360km Extended Reach',                              '360km Extended Reach-reach');        opts4.length = 3;    }    else if (val3 == 'iTLA-keywords') {        opts4[1] = new Option('C-Band DWDM',                              'C-Band DWDM-keywords');        opts4[2] = new Option('L-Band DWDM',                              'L-Band DWDM-keywords');        opts4.length = 3;    }    else if (val3 == 'TTA-keywords') {        opts4[1] = new Option('C-Band DWDM',                              'C-Band DWDM-keywords');        opts4[2] = new Option('L-Band DWDM',                              'L-Band DWDM-keywords');        opts4.length = 3;    }    else if (val2 == 'Receiver Products-type'             && val3 == '10G-bit_rate'    ) {        opts4[1] = new Option('APD',                              'APD-keywords');        opts4[2] = new Option('PIN',                              'PIN-keywords');        opts4.length = 3;    }    else if (val2 == 'Receiver Products-type'             && val3 == '40G-bit_rate'    ) {        opts4[1] = new Option('40G DP-QPSK',                              'DP-QPSK-keywords');        opts4[2] = new Option('40G Balanced DQPSK',                              'DQPSK-keywords');                              opts4.length = 3;    }     else if (val2 == 'Receiver Products-type'             && val3 == '100G-bit_rate'    ) {        opts4[1] = new Option('100G Coherent DP-QPSK',                              'DP-QPSK-keywords');        opts4.length = 2;    }    else if (val3 == 'Channel Filters-keywords') {        opts4[1] = new Option('100GHz WDM Components',                              '100GHz WDM Components-brand_name');        opts4[2] = new Option('200GHZ WDM Components',                              '200GHZ WDM Components-brand_name');        opts4[3] = new Option('CWDM Components',                              'CWDM Components-brand_name');        opts4.length = 4;    }    else if (val3 == 'Band Filters-keywords') {        opts4[1] = new Option('200GHz Band Filter Components',                              '200GHz Band Filter Components-brand_name');        opts4[2] = new Option('100GHz Band Filter Components',                              '100GHz Band Filter Components-brand_name');        opts4.length = 3;    }    else if (val3 == 'Narrowband-keywords') {        opts4[1] = new Option('50GHz Filters',                              '50GHz Filters-brand_name');        opts4[2] = new Option('100GHz Filters',                              '100GHz Filters-brand_name');        opts4[3] = new Option('200GHz Filters',                              '200GHz Filters-brand_name');        opts4.length = 4;    }    else if (val3 == 'Wideband-keywords') {        opts4[1] = new Option('Banded CWDM Filters',                              'Banded CWDM Filters-brand_name');        opts4[2] = new Option('Banded DWDM Filters',                              'Banded DWDM Filters-brand_name');        opts4[3] = new Option('FTTx Filters',                              'FTTx Filters-brand_name');        opts4[4] = new Option('CWDM Filters',                              'CWDM Filters-brand_name');        opts4[5] = new Option('Gain Flattening Filters',                              'Gain Flattening Filters-brand_name');        opts4.length = 6;    }        else if (val3 == 'Submount-package') {        // spreadsheet ???  No 'Chip on' below too        opts4[1] = new Option('8xx nm',                              '8xx nm-keywords');        opts4[2] = new Option('9xx nm',                              '9xx nm-keywords');        opts4.length = 3;    }    else if (val3 == 'C-mount-package') {        opts4[1] = new Option('8xx nm',                              '8xx nm-keywords');        opts4[2] = new Option('9xx nm',                              '9xx nm-keywords');        opts4.length = 3;    }    else if (val3 == 'Single-mode-keywords') {        opts4[1] = new Option('9xx nm',                              '9xx nm-keywords');        opts4[2] = new Option('10xx nm',                              '10xx nm-keywords');        opts4.length = 3;    }    else if (val3 == 'Multi-mode-keywords') {        opts4[1] = new Option('8xx nm',                              '8xx nm-keywords');        opts4[2] = new Option('9xx nm',                              '9xx nm-keywords');        opts4.length = 3;    }        else if (val2 == 'filters-fluorophore') {        opts4[1] = new Option('Emissions',                              '2');        opts4[2] = new Option('Excitation',                              '1');        opts4.length = 3;    }    else {        set4(0);    }}////  0 => N/A//  1 => Select One//function set2(what) {    var opts2 = document.form.two.options;    opts2[0] = new Option((what == 0)? 'N/A': 'Select One', '');    opts2.length = 1;    opts2.selectedIndex = 0;}function set3(what) {    var opts3 = document.form.three.options;    opts3[0] = new Option((what == 0)? 'N/A': 'Select One', '');    opts3.length = 1;    opts3.selectedIndex = 0;}function set4(what) {    var opts4 = document.form.four.options;    opts4[0] = new Option((what == 0)? 'N/A': 'Select One', '');    opts4.length = 1;    opts4.selectedIndex = 0;}
