/**********************************************************************
   Autore   : Cinzia Montanelli
   Data     : 21/02/2007 (revisione)
   Propriet?: MARE S.R.L.
********************************************************************** */



function create_tabelle() {

  compagnie = new MakeArray(4);
     compagnie[0] = new create_compagnie( 'SH', 'SNAV' );
       compagnie[1] = new create_compagnie( 'SN', 'SNAV' );
       compagnie[2] = new create_compagnie( 'SB', 'SNAV GOLFO' );
       compagnie[3] = new create_compagnie( 'GC', 'GESCAB' );
  
  lineePerDa = new MakeArray(8);
     lineePerDa[0] = new create_lineePerDa( 'SICI', 'SICILY' );
       lineePerDa[1] = new create_lineePerDa( 'SARD', 'SARDINIA and CORSICA' );
       lineePerDa[2] = new create_lineePerDa( 'CROA', 'CROATIA' );
       lineePerDa[3] = new create_lineePerDa( 'IEOL', 'AEOLIAN ISLANDS' );
       lineePerDa[4] = new create_lineePerDa( 'IPON', 'PONTINE ISLANDS (VENTOTENE - PONZA)' );
       lineePerDa[5] = new create_lineePerDa( 'CASO', 'CAPRI AND SORRENTO' );
       lineePerDa[6] = new create_lineePerDa( 'ISGO', 'ISCHIA E PROCIDA' );
       lineePerDa[7] = new create_lineePerDa( 'SOAU', 'SORRENTO WITH CAR' );
  
  percorsi = new MakeArray(15);
     percorsi[0] = new create_percorsi( 'ITALSICI', 'SICI',  '-- Mainland/Sicily');
       percorsi[1] = new create_percorsi( 'SICIITAL', 'SICI',  '-- Sicily/Mainland');
       percorsi[2] = new create_percorsi( 'ITALSARD', 'SARD',  '-- Mainland/Sardinia');
       percorsi[3] = new create_percorsi( 'SARDITAL', 'SARD',  '-- Sardinia/Mainland');
       percorsi[4] = new create_percorsi( 'ITALCROA', 'CROA',  '-- Italy / Croatia');
       percorsi[5] = new create_percorsi( 'CROAITAL', 'CROA',  '-- Croatia / Italy');
       percorsi[6] = new create_percorsi( 'CROACROA', 'CROA',  '-- Croatian Islands');
       percorsi[7] = new create_percorsi( 'NAPOIEOL', 'IEOL',  '-- Naples/Aeolian Islands');
       percorsi[8] = new create_percorsi( 'IEOLNAPO', 'IEOL',  '-- Aeolian Island/ Naples');
       percorsi[9] = new create_percorsi( 'PER_IPON', 'IPON',  '-- To Pontine Islands');
       percorsi[10] = new create_percorsi( 'DA__IPON', 'IPON',  '-- From Pontine Islands');
       percorsi[11] = new create_percorsi( 'PER_ISGO', 'ISGO',  '-- To Capri Ischia Procida');
       percorsi[12] = new create_percorsi( 'DA__ISGO', 'ISGO',  '-- From Capri Ischia Procida');
       percorsi[13] = new create_percorsi( 'ITALBUS', 'BUS',  '-- Bus Service to ports');
       percorsi[14] = new create_percorsi( 'PER_SOAU', 'SOAU',  '-- Sorrento with Car');
  
  comp_percorsi = new MakeArray(16);
     comp_percorsi[0] = new create_comp_percorsi( 'GC', 'PER_CASO');
       comp_percorsi[1] = new create_comp_percorsi( 'SB', 'DA__ISGO');
       comp_percorsi[2] = new create_comp_percorsi( 'SB', 'PER_ISGO');
       comp_percorsi[3] = new create_comp_percorsi( 'SN', 'ITALSICI');
       comp_percorsi[4] = new create_comp_percorsi( 'SN', 'SICIITAL');
       comp_percorsi[5] = new create_comp_percorsi( 'SN', 'PER_SOAU');
       comp_percorsi[6] = new create_comp_percorsi( 'SN', 'ITALSARD');
       comp_percorsi[7] = new create_comp_percorsi( 'SN', 'SARDITAL');
       comp_percorsi[8] = new create_comp_percorsi( 'SN', 'ITALCROA');
       comp_percorsi[9] = new create_comp_percorsi( 'SN', 'CROAITAL');
       comp_percorsi[10] = new create_comp_percorsi( 'SN', 'CROACROA');
       comp_percorsi[11] = new create_comp_percorsi( 'SN', 'NAPOIEOL');
       comp_percorsi[12] = new create_comp_percorsi( 'SN', 'IEOLNAPO');
       comp_percorsi[13] = new create_comp_percorsi( 'SN', 'PER_IPON');
       comp_percorsi[14] = new create_comp_percorsi( 'SN', 'DA__IPON');
       comp_percorsi[15] = new create_comp_percorsi( 'SN', 'ITALBUS');
  
  tratte = new MakeArray(66);
     tratte[0] = new create_tratte( 'NABECASA', 'NAPLES BEVERELLO-ISCHIA P.', 'SB', 'ISGO', 'PER_ISGO', -1);
       tratte[1] = new create_tratte( 'NABEPROC', 'NAPLES BEVERELLO-PROCIDA', 'SB', 'ISGO', 'PER_ISGO', -1);
       tratte[2] = new create_tratte( 'CACM', 'CAPRI - C/MARE', 'GC', 'CASO', 'PER_CASO', -1);
       tratte[3] = new create_tratte( 'PROCCASA', 'PROCIDA-ISCHIA CASAMICCIOLA', 'SB', 'ISGO', 'DA__ISGO', -1);
       tratte[4] = new create_tratte( 'CANA', 'CAPRI - NAPOLI BEVERELLO', 'GC', 'CASO', 'PER_CASO', -1);
       tratte[5] = new create_tratte( 'CASANABE', 'ISCHIA P.-NAPLES BEVERELLO', 'SB', 'ISGO', 'DA__ISGO', -1);
       tratte[6] = new create_tratte( 'CASAPROC', 'ISCHIA CASAMICCIOLA-PROCIDA', 'SB', 'ISGO', 'PER_ISGO', -1);
       tratte[7] = new create_tratte( 'PROCNABE', 'PROCIDA-NAPLES BEVERELLO', 'SB', 'ISGO', 'DA__ISGO', -1);
       tratte[8] = new create_tratte( 'CASO', 'CAPRI - SORRENTO', 'GC', 'CASO', 'PER_CASO', -1);
       tratte[9] = new create_tratte( 'CMCA', 'C/MARE - CAPRI', 'GC', 'CASO', 'PER_CASO', -1);
       tratte[10] = new create_tratte( 'CMSO', 'C/MARE - SORRENTO', 'GC', 'CASO', 'PER_CASO', -1);
       tratte[11] = new create_tratte( 'NACA', 'NAPOLI BEVERELLO - CAPRI', 'GC', 'CASO', 'PER_CASO', -1);
       tratte[12] = new create_tratte( 'NASO', 'NAPOLI BEVERELLO - SORRENTO', 'GC', 'CASO', 'PER_CASO', -1);
       tratte[13] = new create_tratte( 'SOCA', 'SORRENTO - CAPRI', 'GC', 'CASO', 'PER_CASO', -1);
       tratte[14] = new create_tratte( 'SOCM', 'SORRENTO - C/MARE', 'GC', 'CASO', 'PER_CASO', -1);
       tratte[15] = new create_tratte( 'SONA', 'SORRENTO - NAPOLI BEVERELLO', 'GC', 'CASO', 'PER_CASO', -1);
       tratte[16] = new create_tratte( 'NAPOPALE', 'NAPLES - PALERMO', 'SN', 'SICI', 'ITALSICI', -1);
       tratte[17] = new create_tratte( 'CIVIPALE', 'CIVITAVECCHIA-PALERMO', 'SN', 'SICI', 'ITALSICI', -1);
       tratte[18] = new create_tratte( 'PALENAPO', 'PALERMO-NAPLES', 'SN', 'SICI', 'SICIITAL', -1);
       tratte[19] = new create_tratte( 'PALECIVI', 'PALERMO-CIVITAVECCHIA', 'SN', 'SICI', 'SICIITAL', -1);
       tratte[20] = new create_tratte( 'NAMASORR', 'NAPOLI P. MASSA - SORRENTO', 'SN', 'SOAU', 'PER_SOAU', -1);
       tratte[21] = new create_tratte( 'NAMACAS', 'NAPOLI P.MASS - C/MARE', 'SN', 'SOAU', 'PER_SOAU', -1);
       tratte[22] = new create_tratte( 'SORRNAMA', 'SORRENTO - NAPOLI P. MASSA', 'SN', 'SOAU', 'PER_SOAU', -1);
       tratte[23] = new create_tratte( 'CASNAMA', 'C/MARE - NAPOLI P. MASSA', 'SN', 'SOAU', 'PER_SOAU', -1);
       tratte[24] = new create_tratte( 'CIVIOLBI', 'CIVITAVECCHIA-OLBIA', 'SN', 'SARD', 'ITALSARD', -1);
       tratte[25] = new create_tratte( 'CIVIPORT', 'CIVITAVECCHIA-PORTOVECCHIO', 'SN', 'SARD', 'ITALSARD', -1);
       tratte[26] = new create_tratte( 'OLBICIVI', 'OLBIA-CIVITAVECCHIA', 'SN', 'SARD', 'SARDITAL', -1);
       tratte[27] = new create_tratte( 'PORTCIVI', 'PORTOVECCHIO-CIVITAVECCHIA', 'SN', 'SARD', 'SARDITAL', -1);
       tratte[28] = new create_tratte( 'ANCOSPAL', 'ANCONA-SPLIT', 'SN', 'CROA', 'ITALCROA', -1);
       tratte[29] = new create_tratte( 'PESCSPAL', 'PESCARA-SPLIT', 'SN', 'CROA', 'ITALCROA', -1);
       tratte[30] = new create_tratte( 'PESCSTAR', 'PESCARA-HVAR (STARI GRAD)', 'SN', 'CROA', 'ITALCROA', -1);
       tratte[31] = new create_tratte( 'SPALANCO', 'SPLIT-ANCONA', 'SN', 'CROA', 'CROAITAL', -1);
       tratte[32] = new create_tratte( 'SPALPESC', 'SPLIT-PESCARA', 'SN', 'CROA', 'CROAITAL', -1);
       tratte[33] = new create_tratte( 'STARPESC', 'HVAR (STARI GRAD)-PESCARA', 'SN', 'CROA', 'CROAITAL', -1);
       tratte[34] = new create_tratte( 'STARBOL', 'HVar (STARI GRAD)-BRAC (BOL)', 'SN', 'CROA', 'CROACROA', -1);
       tratte[35] = new create_tratte( 'BOLSTAR', 'BRAC (BOL)-HVAR (STARI GRAD', 'SN', 'CROA', 'CROACROA', -1);
       tratte[36] = new create_tratte( 'NAMESROM', 'NAPLES MERGELLINA - STROMBOLI', 'SN', 'IEOL', 'NAPOIEOL', -1);
       tratte[37] = new create_tratte( 'NAMEPANA', 'NAPLES MERGELLINA-PANAREA', 'SN', 'IEOL', 'NAPOIEOL', -1);
       tratte[38] = new create_tratte( 'NAMESALI', 'NAPLES MERGELLINA-SALINA', 'SN', 'IEOL', 'NAPOIEOL', -1);
       tratte[39] = new create_tratte( 'NAMELIPA', 'NAPLES MERGELLINA-LIPARI', 'SN', 'IEOL', 'NAPOIEOL', -1);
       tratte[40] = new create_tratte( 'NAMEVULC', 'NAPLES MERGELLINA-VULCANO', 'SN', 'IEOL', 'NAPOIEOL', -1);
       tratte[41] = new create_tratte( 'SROMNAME', 'STROMBOLI-NAPLES MERGELLINA', 'SN', 'IEOL', 'IEOLNAPO', -1);
       tratte[42] = new create_tratte( 'PANANAME', 'PANAREA-NAPLES MERGELLINA', 'SN', 'IEOL', 'IEOLNAPO', -1);
       tratte[43] = new create_tratte( 'SALINAME', 'SALINA-NAPLES MERGELLINA', 'SN', 'IEOL', 'IEOLNAPO', -1);
       tratte[44] = new create_tratte( 'LIPANAME', 'LIPARI-NAPLES MERGELLINA', 'SN', 'IEOL', 'IEOLNAPO', -1);
       tratte[45] = new create_tratte( 'VULCNAME', 'VULCANO-NAPLES MERGELLINA', 'SN', 'IEOL', 'IEOLNAPO', -1);
       tratte[46] = new create_tratte( 'NAMEPONZ', 'NAPLES MERGELLINA-PONZA', 'SN', 'IPON', 'PER_IPON', -1);
       tratte[47] = new create_tratte( 'NAMEVENT', 'NAPLES MERGELLINA-VENTOTENE', 'SN', 'IPON', 'PER_IPON', -1);
       tratte[48] = new create_tratte( 'CASAPONZ', 'ISCHIA CASAMICCIOLA-PONZA', 'SN', 'IPON', 'PER_IPON', -1);
       tratte[49] = new create_tratte( 'CASAVENT', 'ISCHIA CASAMICCIOLA-VENTOTENE', 'SN', 'IPON', 'PER_IPON', -1);
       tratte[50] = new create_tratte( 'PONZVENT', 'PONZA-VENTOTENE', 'SN', 'IPON', 'PER_IPON', -1);
       tratte[51] = new create_tratte( 'VENTPONZ', 'VENTOTENE-PONZA', 'SN', 'IPON', 'PER_IPON', -1);
       tratte[52] = new create_tratte( 'PONZNAME', 'PONZA-NAPLES MERGELLINA', 'SN', 'IPON', 'DA__IPON', -1);
       tratte[53] = new create_tratte( 'VENTNAME', 'VENTOTENE-NAPLES MERGELLINA', 'SN', 'IPON', 'DA__IPON', -1);
       tratte[54] = new create_tratte( 'PONZCASA', 'PONZA-ISCHIA CASAMICCIOLA', 'SN', 'IPON', 'DA__IPON', -1);
       tratte[55] = new create_tratte( 'VENTCASA', 'VENTOTENE-ISCHIA CASAMICCIOLA', 'SN', 'IPON', 'DA__IPON', -1);
       tratte[56] = new create_tratte( 'VENTPONZ', 'VENTOTENE-PONZA', 'SN', 'IPON', 'DA__IPON', -1);
       tratte[57] = new create_tratte( 'PONZVENT', 'PONZA-VENTOTENE', 'SN', 'IPON', 'DA__IPON', -1);
       tratte[58] = new create_tratte( 'ROMANAPB', 'ROME-NAPLES', 'SN', 'BUS', 'ITALBUS', -1);
       tratte[59] = new create_tratte( 'NAPBROMA', 'NAPLES-ROME', 'SN', 'BUS', 'ITALBUS', -1);
       tratte[60] = new create_tratte( 'NAPBPESC', 'NAPLES-PESCARA', 'SN', 'BUS', 'ITALBUS', -1);
       tratte[61] = new create_tratte( 'SALEPESC', 'SALERNO-PESCARA', 'SN', 'BUS', 'ITALBUS', -1);
       tratte[62] = new create_tratte( 'CASEPESC', 'CASERTA-PESCARA', 'SN', 'BUS', 'ITALBUS', -1);
       tratte[63] = new create_tratte( 'PESCNAPB', 'PESCARA-NAPLES', 'SN', 'BUS', 'ITALBUS', -1);
       tratte[64] = new create_tratte( 'PESCSALE', 'PESCARA-SALERNO', 'SN', 'BUS', 'ITALBUS', -1);
       tratte[65] = new create_tratte( 'PESCCASE', 'PESCARA-CASERTA', 'SN', 'BUS', 'ITALBUS', -1);
  
  tratte_rit = new Array();
    	tratte_rit['CSVLSALI'] = new tratte_ritorno('CSVLSALI');
			tratte_rit['CSVLSALI'].ritorni.push('SALICSVL');
	  	tratte_rit['SALICSVL'] = new tratte_ritorno('SALICSVL');
			tratte_rit['SALICSVL'].ritorni.push('CSVLSALI');
	  	tratte_rit['PESCNAPB'] = new tratte_ritorno('PESCNAPB');
			tratte_rit['PESCNAPB'].ritorni.push('NAPBPESC');
	  	tratte_rit['SROMNAME'] = new tratte_ritorno('SROMNAME');
			tratte_rit['SROMNAME'].ritorni.push('NAMESROM');
	  	tratte_rit['VULCCSVL'] = new tratte_ritorno('VULCCSVL');
			tratte_rit['VULCCSVL'].ritorni.push('CSVLVULC');
	  	tratte_rit['VENTCASA'] = new tratte_ritorno('VENTCASA');
			tratte_rit['VENTCASA'].ritorni.push('CASAVENT');
			tratte_rit['VENTCASA'].ritorni.push('CASAPONZ');
	  	tratte_rit['AMCA'] = new tratte_ritorno('AMCA');
			tratte_rit['AMCA'].ritorni.push('CAAM');
	  	tratte_rit['PESCSPAL'] = new tratte_ritorno('PESCSPAL');
			tratte_rit['PESCSPAL'].ritorni.push('SPALANCO');
			tratte_rit['PESCSPAL'].ritorni.push('SPALPESC');
			tratte_rit['PESCSPAL'].ritorni.push('STARPESC');
			tratte_rit['PESCSPAL'].ritorni.push('STARBOL');
	  	tratte_rit['SALEPESC'] = new tratte_ritorno('SALEPESC');
			tratte_rit['SALEPESC'].ritorni.push('PESCSALE');
	  	tratte_rit['ISCA'] = new tratte_ritorno('ISCA');
			tratte_rit['ISCA'].ritorni.push('CAIS');
	  	tratte_rit['SORRNAMA'] = new tratte_ritorno('SORRNAMA');
			tratte_rit['SORRNAMA'].ritorni.push('NAMASORR');
	  	tratte_rit['NASO'] = new tratte_ritorno('NASO');
			tratte_rit['NASO'].ritorni.push('SONA');
	  	tratte_rit['SORRCAS'] = new tratte_ritorno('SORRCAS');
			tratte_rit['SORRCAS'].ritorni.push('CASSORR');
	  	tratte_rit['SESO'] = new tratte_ritorno('SESO');
			tratte_rit['SESO'].ritorni.push('SESO');
	  	tratte_rit['CMCA'] = new tratte_ritorno('CMCA');
			tratte_rit['CMCA'].ritorni.push('CACM');
	  	tratte_rit['NABEPANA'] = new tratte_ritorno('NABEPANA');
			tratte_rit['NABEPANA'].ritorni.push('PANANABE');
			tratte_rit['NABEPANA'].ritorni.push('PANANAME');
	  	tratte_rit['NAMEPROC'] = new tratte_ritorno('NAMEPROC');
			tratte_rit['NAMEPROC'].ritorni.push('PROCNABE');
			tratte_rit['NAMEPROC'].ritorni.push('PROCNAME');
	  	tratte_rit['SALINABE'] = new tratte_ritorno('SALINABE');
			tratte_rit['SALINABE'].ritorni.push('NABESALI');
			tratte_rit['SALINABE'].ritorni.push('NAMESALI');
	  	tratte_rit['NAMESROM'] = new tratte_ritorno('NAMESROM');
			tratte_rit['NAMESROM'].ritorni.push('SROMNAME');
	  	tratte_rit['NAMELIPA'] = new tratte_ritorno('NAMELIPA');
			tratte_rit['NAMELIPA'].ritorni.push('LIPANAME');
	  	tratte_rit['VULCNABE'] = new tratte_ritorno('VULCNABE');
			tratte_rit['VULCNABE'].ritorni.push('NABEVULC');
			tratte_rit['VULCNABE'].ritorni.push('NAMEVULC');
	  	tratte_rit['NAMESALI'] = new tratte_ritorno('NAMESALI');
			tratte_rit['NAMESALI'].ritorni.push('SALINAME');
	  	tratte_rit['SPALANCO'] = new tratte_ritorno('SPALANCO');
			tratte_rit['SPALANCO'].ritorni.push('ANCOSPAL');
			tratte_rit['SPALANCO'].ritorni.push('PESCSPAL');
			tratte_rit['SPALANCO'].ritorni.push('PESCSTAR');
			tratte_rit['SPALANCO'].ritorni.push('BOLSTAR');
	  	tratte_rit['PALENAPO'] = new tratte_ritorno('PALENAPO');
			tratte_rit['PALENAPO'].ritorni.push('NAPOPALE');
			tratte_rit['PALENAPO'].ritorni.push('CIVIPALE');
	  	tratte_rit['PESCCASE'] = new tratte_ritorno('PESCCASE');
			tratte_rit['PESCCASE'].ritorni.push('CASEPESC');
	  	tratte_rit['BRINPAXI'] = new tratte_ritorno('BRINPAXI');
			tratte_rit['BRINPAXI'].ritorni.push('CORFBRIN');
			tratte_rit['BRINPAXI'].ritorni.push('PAXIBRIN');
	  	tratte_rit['BRINAVEL'] = new tratte_ritorno('BRINAVEL');
			tratte_rit['BRINAVEL'].ritorni.push('AVELBRIN');
	  	tratte_rit['NAMEPONZ'] = new tratte_ritorno('NAMEPONZ');
			tratte_rit['NAMEPONZ'].ritorni.push('PONZNAME');
			tratte_rit['NAMEPONZ'].ritorni.push('VENTNAME');
	  	tratte_rit['SOPO'] = new tratte_ritorno('SOPO');
			tratte_rit['SOPO'].ritorni.push('POSO');
	  	tratte_rit['CASANABE'] = new tratte_ritorno('CASANABE');
			tratte_rit['CASANABE'].ritorni.push('NABECASA');
			tratte_rit['CASANABE'].ritorni.push('NAMECASA');
	  	tratte_rit['CIVIPALE'] = new tratte_ritorno('CIVIPALE');
			tratte_rit['CIVIPALE'].ritorni.push('PALECIVI');
			tratte_rit['CIVIPALE'].ritorni.push('PALENAPO');
	  	tratte_rit['CAPR'] = new tratte_ritorno('CAPR');
			tratte_rit['CAPR'].ritorni.push('PRCA');
	  	tratte_rit['NAMACAS'] = new tratte_ritorno('NAMACAS');
			tratte_rit['NAMACAS'].ritorni.push('CASNAMA');
	  	tratte_rit['PRCA'] = new tratte_ritorno('PRCA');
			tratte_rit['PRCA'].ritorni.push('CAPR');
	  	tratte_rit['BRINSALE'] = new tratte_ritorno('BRINSALE');
			tratte_rit['BRINSALE'].ritorni.push('SALEBRIN');
	  	tratte_rit['VENTNAME'] = new tratte_ritorno('VENTNAME');
			tratte_rit['VENTNAME'].ritorni.push('NAMEVENT');
			tratte_rit['VENTNAME'].ritorni.push('NAMEPONZ');
	  	tratte_rit['CAPO'] = new tratte_ritorno('CAPO');
			tratte_rit['CAPO'].ritorni.push('POCA');
	  	tratte_rit['AVELBRIN'] = new tratte_ritorno('AVELBRIN');
			tratte_rit['AVELBRIN'].ritorni.push('BRINAVEL');
	  	tratte_rit['POIS'] = new tratte_ritorno('POIS');
			tratte_rit['POIS'].ritorni.push('ISPO');
	  	tratte_rit['ISAM'] = new tratte_ritorno('ISAM');
			tratte_rit['ISAM'].ritorni.push('AMIS');
	  	tratte_rit['CASAVENT'] = new tratte_ritorno('CASAVENT');
			tratte_rit['CASAVENT'].ritorni.push('PONZCASA');
			tratte_rit['CASAVENT'].ritorni.push('VENTCASA');
	  	tratte_rit['PORTCIVI'] = new tratte_ritorno('PORTCIVI');
			tratte_rit['PORTCIVI'].ritorni.push('CIVIPORT');
	  	tratte_rit['PROCCASA'] = new tratte_ritorno('PROCCASA');
			tratte_rit['PROCCASA'].ritorni.push('CASAPROC');
	  	tratte_rit['SALINAME'] = new tratte_ritorno('SALINAME');
			tratte_rit['SALINAME'].ritorni.push('NAMESALI');
	  	tratte_rit['CECA'] = new tratte_ritorno('CECA');
			tratte_rit['CECA'].ritorni.push('CACE');
	  	tratte_rit['PONZCASA'] = new tratte_ritorno('PONZCASA');
			tratte_rit['PONZCASA'].ritorni.push('CASAPONZ');
			tratte_rit['PONZCASA'].ritorni.push('CASAVENT');
	  	tratte_rit['SPALPESC'] = new tratte_ritorno('SPALPESC');
			tratte_rit['SPALPESC'].ritorni.push('ANCOSPAL');
			tratte_rit['SPALPESC'].ritorni.push('PESCSPAL');
			tratte_rit['SPALPESC'].ritorni.push('PESCSTAR');
			tratte_rit['SPALPESC'].ritorni.push('BOLSTAR');
	  	tratte_rit['PROCNABE'] = new tratte_ritorno('PROCNABE');
			tratte_rit['PROCNABE'].ritorni.push('NABEPROC');
			tratte_rit['PROCNABE'].ritorni.push('NAMEPROC');
	  	tratte_rit['AMSO'] = new tratte_ritorno('AMSO');
			tratte_rit['AMSO'].ritorni.push('SOAM');
	  	tratte_rit['POCA'] = new tratte_ritorno('POCA');
			tratte_rit['POCA'].ritorni.push('CAPO');
	  	tratte_rit['SOIS'] = new tratte_ritorno('SOIS');
			tratte_rit['SOIS'].ritorni.push('ISSO');
	  	tratte_rit['VULCNAME'] = new tratte_ritorno('VULCNAME');
			tratte_rit['VULCNAME'].ritorni.push('NAMEVULC');
	  	tratte_rit['SOCM'] = new tratte_ritorno('SOCM');
			tratte_rit['SOCM'].ritorni.push('CMSO');
	  	tratte_rit['NABEPROC'] = new tratte_ritorno('NABEPROC');
			tratte_rit['NABEPROC'].ritorni.push('PROCNABE');
			tratte_rit['NABEPROC'].ritorni.push('PROCNAME');
	  	tratte_rit['ISSO'] = new tratte_ritorno('ISSO');
			tratte_rit['ISSO'].ritorni.push('SOIS');
	  	tratte_rit['ISMI'] = new tratte_ritorno('ISMI');
			tratte_rit['ISMI'].ritorni.push('MIIS');
	  	tratte_rit['CAIS'] = new tratte_ritorno('CAIS');
			tratte_rit['CAIS'].ritorni.push('ISCA');
	  	tratte_rit['CACM'] = new tratte_ritorno('CACM');
			tratte_rit['CACM'].ritorni.push('CMCA');
	  	tratte_rit['MIIS'] = new tratte_ritorno('MIIS');
			tratte_rit['MIIS'].ritorni.push('MIIS');
	  	tratte_rit['NABESROM'] = new tratte_ritorno('NABESROM');
			tratte_rit['NABESROM'].ritorni.push('SROMNABE');
			tratte_rit['NABESROM'].ritorni.push('SROMNAME');
	  	tratte_rit['NABELIPA'] = new tratte_ritorno('NABELIPA');
			tratte_rit['NABELIPA'].ritorni.push('LIPANABE');
			tratte_rit['NABELIPA'].ritorni.push('LIPANAME');
	  	tratte_rit['CMSO'] = new tratte_ritorno('CMSO');
			tratte_rit['CMSO'].ritorni.push('SOCM');
	  	tratte_rit['PONZVENT'] = new tratte_ritorno('PONZVENT');
			tratte_rit['PONZVENT'].ritorni.push('VENTPONZ');
	  	tratte_rit['BRINCORF'] = new tratte_ritorno('BRINCORF');
			tratte_rit['BRINCORF'].ritorni.push('CORFBRIN');
			tratte_rit['BRINCORF'].ritorni.push('PAXIBRIN');
	  	tratte_rit['CACE'] = new tratte_ritorno('CACE');
			tratte_rit['CACE'].ritorni.push('CECA');
	  	tratte_rit['SOCA'] = new tratte_ritorno('SOCA');
			tratte_rit['SOCA'].ritorni.push('CASO');
	  	tratte_rit['NABESALI'] = new tratte_ritorno('NABESALI');
			tratte_rit['NABESALI'].ritorni.push('SALINABE');
			tratte_rit['NABESALI'].ritorni.push('SALINAME');
	  	tratte_rit['ISSA'] = new tratte_ritorno('ISSA');
			tratte_rit['ISSA'].ritorni.push('SAIS');
	  	tratte_rit['CSVLVULC'] = new tratte_ritorno('CSVLVULC');
			tratte_rit['CSVLVULC'].ritorni.push('VULCCSVL');
	  	tratte_rit['NAMASORR'] = new tratte_ritorno('NAMASORR');
			tratte_rit['NAMASORR'].ritorni.push('SORRNAMA');
	  	tratte_rit['MICA'] = new tratte_ritorno('MICA');
			tratte_rit['MICA'].ritorni.push('MICA');
	  	tratte_rit['CASANAME'] = new tratte_ritorno('CASANAME');
			tratte_rit['CASANAME'].ritorni.push('NAMECASA');
			tratte_rit['CASANAME'].ritorni.push('NABECASA');
	  	tratte_rit['CASSORR'] = new tratte_ritorno('CASSORR');
			tratte_rit['CASSORR'].ritorni.push('SORRCAS');
	  	tratte_rit['CIVIOLBI'] = new tratte_ritorno('CIVIOLBI');
			tratte_rit['CIVIOLBI'].ritorni.push('OLBICIVI');
	  	tratte_rit['LIPACSVL'] = new tratte_ritorno('LIPACSVL');
			tratte_rit['LIPACSVL'].ritorni.push('CSVLLIPA');
	  	tratte_rit['BRINNAPB'] = new tratte_ritorno('BRINNAPB');
			tratte_rit['BRINNAPB'].ritorni.push('NAPBBRIN');
	  	tratte_rit['NAMECSVL'] = new tratte_ritorno('NAMECSVL');
			tratte_rit['NAMECSVL'].ritorni.push('CSVLNAME');
	  	tratte_rit['ROMANAPB'] = new tratte_ritorno('ROMANAPB');
			tratte_rit['ROMANAPB'].ritorni.push('NAPBROMA');
	  	tratte_rit['PROCNAME'] = new tratte_ritorno('PROCNAME');
			tratte_rit['PROCNAME'].ritorni.push('NAMEPROC');
			tratte_rit['PROCNAME'].ritorni.push('NABEPROC');
	  	tratte_rit['STARPESC'] = new tratte_ritorno('STARPESC');
			tratte_rit['STARPESC'].ritorni.push('ANCOSPAL');
			tratte_rit['STARPESC'].ritorni.push('PESCSPAL');
			tratte_rit['STARPESC'].ritorni.push('PESCSTAR');
			tratte_rit['STARPESC'].ritorni.push('BOLSTAR');
	  	tratte_rit['PONZNAME'] = new tratte_ritorno('PONZNAME');
			tratte_rit['PONZNAME'].ritorni.push('NAMEPONZ');
			tratte_rit['PONZNAME'].ritorni.push('NAMEVENT');
	  	tratte_rit['CORFBRIN'] = new tratte_ritorno('CORFBRIN');
			tratte_rit['CORFBRIN'].ritorni.push('BRINCORF');
			tratte_rit['CORFBRIN'].ritorni.push('BRINPAXI');
	  	tratte_rit['PANANABE'] = new tratte_ritorno('PANANABE');
			tratte_rit['PANANABE'].ritorni.push('NABEPANA');
			tratte_rit['PANANABE'].ritorni.push('NAMEPANA');
	  	tratte_rit['VENTPONZ'] = new tratte_ritorno('VENTPONZ');
			tratte_rit['VENTPONZ'].ritorni.push('PONZVENT');
	  	tratte_rit['NAPBROMA'] = new tratte_ritorno('NAPBROMA');
			tratte_rit['NAPBROMA'].ritorni.push('ROMANAPB');
	  	tratte_rit['LIPANABE'] = new tratte_ritorno('LIPANABE');
			tratte_rit['LIPANABE'].ritorni.push('NABELIPA');
			tratte_rit['LIPANABE'].ritorni.push('NAMELIPA');
	  	tratte_rit['PAXIBRIN'] = new tratte_ritorno('PAXIBRIN');
			tratte_rit['PAXIBRIN'].ritorni.push('BRINCORF');
			tratte_rit['PAXIBRIN'].ritorni.push('BRINPAXI');
	  	tratte_rit['SONA'] = new tratte_ritorno('SONA');
			tratte_rit['SONA'].ritorni.push('NASO');
	  	tratte_rit['NAMEVULC'] = new tratte_ritorno('NAMEVULC');
			tratte_rit['NAMEVULC'].ritorni.push('VULCNAME');
	  	tratte_rit['NAMECASA'] = new tratte_ritorno('NAMECASA');
			tratte_rit['NAMECASA'].ritorni.push('CASANABE');
			tratte_rit['NAMECASA'].ritorni.push('CASANAME');
	  	tratte_rit['CANA'] = new tratte_ritorno('CANA');
			tratte_rit['CANA'].ritorni.push('NACA');
	  	tratte_rit['CASAPROC'] = new tratte_ritorno('CASAPROC');
			tratte_rit['CASAPROC'].ritorni.push('PROCCASA');
	  	tratte_rit['CASEPESC'] = new tratte_ritorno('CASEPESC');
			tratte_rit['CASEPESC'].ritorni.push('PESCCASE');
	  	tratte_rit['POSO'] = new tratte_ritorno('POSO');
			tratte_rit['POSO'].ritorni.push('SOPO');
	  	tratte_rit['NAPBBRIN'] = new tratte_ritorno('NAPBBRIN');
			tratte_rit['NAPBBRIN'].ritorni.push('BRINNAPB');
	  	tratte_rit['CASNAMA'] = new tratte_ritorno('CASNAMA');
			tratte_rit['CASNAMA'].ritorni.push('NAMACAS');
	  	tratte_rit['SOAM'] = new tratte_ritorno('SOAM');
			tratte_rit['SOAM'].ritorni.push('AMSO');
	  	tratte_rit['NAPOPALE'] = new tratte_ritorno('NAPOPALE');
			tratte_rit['NAPOPALE'].ritorni.push('PALENAPO');
			tratte_rit['NAPOPALE'].ritorni.push('PALECIVI');
	  	tratte_rit['CSVLNAME'] = new tratte_ritorno('CSVLNAME');
			tratte_rit['CSVLNAME'].ritorni.push('NAMECSVL');
	  	tratte_rit['MACA'] = new tratte_ritorno('MACA');
			tratte_rit['MACA'].ritorni.push('CAMA');
	  	tratte_rit['CAAM'] = new tratte_ritorno('CAAM');
			tratte_rit['CAAM'].ritorni.push('AMCA');
	  	tratte_rit['ANCOSPAL'] = new tratte_ritorno('ANCOSPAL');
			tratte_rit['ANCOSPAL'].ritorni.push('SPALANCO');
			tratte_rit['ANCOSPAL'].ritorni.push('SPALPESC');
			tratte_rit['ANCOSPAL'].ritorni.push('STARPESC');
			tratte_rit['ANCOSPAL'].ritorni.push('STARBOL');
	  	tratte_rit['PALECIVI'] = new tratte_ritorno('PALECIVI');
			tratte_rit['PALECIVI'].ritorni.push('CIVIPALE');
			tratte_rit['PALECIVI'].ritorni.push('NAPOPALE');
	  	tratte_rit['BOLSTAR'] = new tratte_ritorno('BOLSTAR');
			tratte_rit['BOLSTAR'].ritorni.push('STARBOL');
			tratte_rit['BOLSTAR'].ritorni.push('SPALANCO');
			tratte_rit['BOLSTAR'].ritorni.push('SPALPESC');
			tratte_rit['BOLSTAR'].ritorni.push('STARPESC');
	  	tratte_rit['NAMEVENT'] = new tratte_ritorno('NAMEVENT');
			tratte_rit['NAMEVENT'].ritorni.push('PONZNAME');
			tratte_rit['NAMEVENT'].ritorni.push('VENTNAME');
	  	tratte_rit['NACA'] = new tratte_ritorno('NACA');
			tratte_rit['NACA'].ritorni.push('CANA');
	  	tratte_rit['SECA'] = new tratte_ritorno('SECA');
			tratte_rit['SECA'].ritorni.push('CASE');
	  	tratte_rit['CIVIPORT'] = new tratte_ritorno('CIVIPORT');
			tratte_rit['CIVIPORT'].ritorni.push('PORTCIVI');
	  	tratte_rit['PESCSALE'] = new tratte_ritorno('PESCSALE');
			tratte_rit['PESCSALE'].ritorni.push('SALEPESC');
	  	tratte_rit['CASO'] = new tratte_ritorno('CASO');
			tratte_rit['CASO'].ritorni.push('SOCA');
	  	tratte_rit['CAMI'] = new tratte_ritorno('CAMI');
			tratte_rit['CAMI'].ritorni.push('MICA');
	  	tratte_rit['SROMNABE'] = new tratte_ritorno('SROMNABE');
			tratte_rit['SROMNABE'].ritorni.push('NABESROM');
			tratte_rit['SROMNABE'].ritorni.push('NAMESROM');
	  	tratte_rit['SAIS'] = new tratte_ritorno('SAIS');
			tratte_rit['SAIS'].ritorni.push('ISSA');
	  	tratte_rit['CASAPONZ'] = new tratte_ritorno('CASAPONZ');
			tratte_rit['CASAPONZ'].ritorni.push('PONZCASA');
			tratte_rit['CASAPONZ'].ritorni.push('VENTCASA');
	  	tratte_rit['NAMEPANA'] = new tratte_ritorno('NAMEPANA');
			tratte_rit['NAMEPANA'].ritorni.push('PANANAME');
	  	tratte_rit['PANANAME'] = new tratte_ritorno('PANANAME');
			tratte_rit['PANANAME'].ritorni.push('NAMEPANA');
	  	tratte_rit['SOSE'] = new tratte_ritorno('SOSE');
			tratte_rit['SOSE'].ritorni.push('SESO');
	  	tratte_rit['CAMA'] = new tratte_ritorno('CAMA');
			tratte_rit['CAMA'].ritorni.push('MACA');
	  	tratte_rit['SALEBRIN'] = new tratte_ritorno('SALEBRIN');
			tratte_rit['SALEBRIN'].ritorni.push('BRINSALE');
	  	tratte_rit['CASE'] = new tratte_ritorno('CASE');
			tratte_rit['CASE'].ritorni.push('SECA');
	  	tratte_rit['LIPANAME'] = new tratte_ritorno('LIPANAME');
			tratte_rit['LIPANAME'].ritorni.push('NAMELIPA');
	  	tratte_rit['CASA'] = new tratte_ritorno('CASA');
			tratte_rit['CASA'].ritorni.push('SACA');
	  	tratte_rit['STARBOL'] = new tratte_ritorno('STARBOL');
			tratte_rit['STARBOL'].ritorni.push('BOLSTAR');
			tratte_rit['STARBOL'].ritorni.push('ANCOSPAL');
			tratte_rit['STARBOL'].ritorni.push('PESCSPAL');
			tratte_rit['STARBOL'].ritorni.push('PESCSTAR');
	  	tratte_rit['ISPO'] = new tratte_ritorno('ISPO');
			tratte_rit['ISPO'].ritorni.push('POIS');
	  	tratte_rit['SACA'] = new tratte_ritorno('SACA');
			tratte_rit['SACA'].ritorni.push('CASA');
	  	tratte_rit['PESCSTAR'] = new tratte_ritorno('PESCSTAR');
			tratte_rit['PESCSTAR'].ritorni.push('SPALANCO');
			tratte_rit['PESCSTAR'].ritorni.push('SPALPESC');
			tratte_rit['PESCSTAR'].ritorni.push('STARPESC');
			tratte_rit['PESCSTAR'].ritorni.push('STARBOL');
	  	tratte_rit['NAPBPESC'] = new tratte_ritorno('NAPBPESC');
			tratte_rit['NAPBPESC'].ritorni.push('PESCNAPB');
	  	tratte_rit['NABEVULC'] = new tratte_ritorno('NABEVULC');
			tratte_rit['NABEVULC'].ritorni.push('VULCNABE');
			tratte_rit['NABEVULC'].ritorni.push('VULCNAME');
	  	tratte_rit['NABECASA'] = new tratte_ritorno('NABECASA');
			tratte_rit['NABECASA'].ritorni.push('CASANABE');
			tratte_rit['NABECASA'].ritorni.push('CASANAME');
	  	tratte_rit['CSVLLIPA'] = new tratte_ritorno('CSVLLIPA');
			tratte_rit['CSVLLIPA'].ritorni.push('LIPACSVL');
	  	tratte_rit['OLBICIVI'] = new tratte_ritorno('OLBICIVI');
			tratte_rit['OLBICIVI'].ritorni.push('CIVIOLBI');
	  	tratte_rit['AMIS'] = new tratte_ritorno('AMIS');
			tratte_rit['AMIS'].ritorni.push('ISAM');
	  }

function create_compagnie (cod_comp, desc_comp) {
         this.cod_comp  = cod_comp;
         this.desc_comp = desc_comp;
}

function create_lineePerDa( cod_area, desc_area ) {
         this.cod_area  = cod_area;
         this.desc_area = desc_area;
}

function create_percorsi( cod_gruppo, cod_area, desc_percorso ) {
         this.cod_gruppo    = cod_gruppo  ;
         this.cod_area      = cod_area  ;
         this.desc_percorso = desc_percorso ;
}

function create_comp_percorsi( cod_comp, cod_gruppo ) {
         this.cod_comp    = cod_comp ;
         this.cod_gruppo  = cod_gruppo  ;
}

function create_tratte( cod_lin, desc_lin, cod_comp, cod_area, cod_gruppo, index_ritorno ) {
         this.cod_lin        = cod_lin ;
         this.desc_lin       = desc_lin ;
         this.cod_comp       = cod_comp ;
         this.cod_area       = cod_area  ;
         this.cod_gruppo     = cod_gruppo  ;
         this.index_ritorno  = index_ritorno;
}

//tratte ritorno
function tratte_ritorno(cod_lin) {
	this.cod_lin = cod_lin;
	this.ritorni = new Array();
}

function cleanAllList() {
  try {
  	cleanList(document.sceltaviaggio.PERCORSO);
  } catch (e) {;}
  if (document.sceltaviaggio.COMPANY != null)
  cleanList(document.sceltaviaggio.COMPANY);
  if (document.sceltaviaggio.COMPANY != null)
    document.sceltaviaggio.COMPANY.options[0] = new Option("---no preference---","");
  if (document.sceltaviaggio.COMPANY != null)
    document.sceltaviaggio.COMPANY.options[0].selected = true;
}


function load_lineePerDa () {
  try {
	cleanList(document.sceltaviaggio.MACROREGIONE);
  } catch (e) {;}
  document.sceltaviaggio.MACROREGIONE.options[0] = new Option("-------Select-------", "");
  for (var i = 1; i <= lineePerDa.length; i++) {
    document.sceltaviaggio.MACROREGIONE.options[i] = new Option(lineePerDa[i-1].desc_area, lineePerDa[i-1].cod_area);
  }
}


function load_percorso() {
         try {
         var i=0;
         var item_linea="";
         var y=1;
         cleanAllList();
	 i = document.sceltaviaggio.MACROREGIONE.options.selectedIndex;
         item_linea = document.sceltaviaggio.MACROREGIONE.options[i].value;
         document.sceltaviaggio.PERCORSO.options[0] = new Option("All directions", "");
          // load percorsi
         for (i=1; i<= percorsi.length; i++) {
             if (percorsi[i].cod_area == item_linea) {
		document.sceltaviaggio.PERCORSO.options[y] = new Option(percorsi[i].desc_percorso, percorsi[i].cod_gruppo);
                y++;
             }
         }
         document.sceltaviaggio.PERCORSO.options[0].selected = true;
		 } catch (e) {}
}

function load_compagnie_percorsi() {
         if (document.sceltaviaggio.COMPANY == null)
	  return;
         var y = 1;
         var index = 0;
		 try {
         	index = document.sceltaviaggio.PERCORSO.options.selectedIndex;
         } catch (e) {;}
         var _gruppo = "";
		 try {
         	_gruppo = document.sceltaviaggio.PERCORSO.options[index].value;




         } catch (e) {;}

         cleanList(document.sceltaviaggio.COMPANY);

         if (index == 0) {
             document.sceltaviaggio.COMPANY.options[0] = new Option("---no preference---", "");
             document.sceltaviaggio.COMPANY.options[0].selected = true;
             return;
         }
		 if (document.sceltaviaggio.COMPANY != null)
         document.sceltaviaggio.COMPANY.options[0] = new Option("---no preference---", "");
         for (i=1; i<= comp_percorsi.length; i++) {
             if (comp_percorsi[i].cod_gruppo == _gruppo) {
                _cod_comp = comp_percorsi[i].cod_comp;
                _desc_comp = "";

                for (z=1; z<= compagnie.length; z++) {
                    if (compagnie[z].cod_comp == _cod_comp) {
                       _desc_comp = compagnie[z].desc_comp;
                       break;
                    }
                }
		if (document.sceltaviaggio.COMPANY != null)
                document.sceltaviaggio.COMPANY.options[y] = new Option(_desc_comp, _cod_comp);
                y++;
             }
         }
		 if (document.sceltaviaggio.COMPANY != null)
         document.sceltaviaggio.COMPANY.options[0].selected = true;
}



function load_tratte() {
    //legge i valori selezionati per percorso
	var index = 0;
	try {
		index = document.sceltaviaggio.PERCORSO.options.selectedIndex;
    } catch (e) {;}
	var _gruppo = "";
	try {
		_gruppo = document.sceltaviaggio.PERCORSO.options[index].value;
	} catch (e) {;}
		
	var _area = "";
	if (index == 0) {
		//non c'? un percorso selezionato, quindi prende i valori da macroregione
		index = document.sceltaviaggio.MACROREGIONE.options.selectedIndex;
		_area = document.sceltaviaggio.MACROREGIONE.options[index].value;
	} 

	var agruppo = "";
	var pdesc = "";
	
	var lstr_and = "";		 
	var lstr_rit = "";		 
	for (var i=0; i< tratte.length; i++) {
        if (_gruppo != "" && tratte[i].cod_gruppo == _gruppo) {
            _cod_lin  = tratte[i].cod_lin;
            _desc_lin = tratte[i].desc_lin;
			for (j=0; j< tratte.length; j++) {
				if(tratte[j].cod_lin == strInvert(_cod_lin)) {
					_cod_lin_rit  = tratte[j].cod_lin;
					_desc_lin_rit = tratte[j].desc_lin;
				}
			}
			p_lstr_and = "<li><label><input onclick='andClick(this)' type='checkbox' name='ITI_AND' class='entry_chk' value='"+_cod_lin+"'>&nbsp;&nbsp;"+_desc_lin+"</label></li>";
			if(lstr_and.indexOf(p_lstr_and<0))lstr_and += p_lstr_and;
			p_lstr_rit = "<li><label><input type='checkbox' name='ITI_RIT' class='entry_chk' value='"+_cod_lin_rit+"'>"+_desc_lin_rit+"</label></li>";	
			if(lstr_rit.indexOf(p_lstr_rit<0))lstr_rit += p_lstr_rit;
		} else if(_gruppo == "" && tratte[i].cod_area == _area) {
			//separatore
			if(tratte[i].cod_gruppo != agruppo) {
			   agruppo = tratte[i].cod_gruppo;
			   var per = getPercorso(agruppo);
			   if(per && per.desc_percorso!=pdesc){
				lstr_and += "<li class='perSep'>" + per.desc_percorso + "</li>";
				pdesc = per.desc_percorso;
			   }
			}
			_cod_lin  = tratte[i].cod_lin;
            _desc_lin = tratte[i].desc_lin;
		    for (j=0; j< tratte.length; j++) {
				if(tratte[j].cod_lin == strInvert(_cod_lin)) {
					_cod_lin_rit  = tratte[j].cod_lin;
					_desc_lin_rit = tratte[j].desc_lin;
				}
			}
			p_lstr_and = "<li><label><input onclick='andClick(this)' type='checkbox' name='ITI_AND' class='entry_chk' value='"+_cod_lin+"'>&nbsp;&nbsp;"+_desc_lin+"</label></li>";
			if(lstr_and.indexOf(p_lstr_and<0))lstr_and += p_lstr_and;
			p_lstr_rit = "<li><label><input type='checkbox' name='ITI_RIT' class='entry_chk' value='"+_cod_lin_rit+"'>&nbsp;&nbsp;"+_desc_lin_rit+"</label></li>";			
			if(lstr_rit.indexOf(p_lstr_rit<0))lstr_rit += p_lstr_rit;
		}
    }
	document.getElementById("list_itiand").innerHTML = lstr_and;
	//non metto pi? gli itinerari di ritorno: vengono generati quando si sceglie un andata
	document.getElementById("list_itirit").innerHTML = "";//lstr_rit;
}

function checkParams() 
{
   //date
   if(!parseDate(document.forms['sceltaviaggio'].DATA_ANDATA)) {
	alert("Please specify the departure date: dd-mm-yyyy");
	document.forms['sceltaviaggio'].DATA_ANDATA.focus();
	return false;
   }
   
   var dataAnd = readDate(document.forms['sceltaviaggio'].DATA_ANDATA);
   if(!document.forms['sceltaviaggio'].DATA_RITORNO.disabled && !parseDate(document.forms['sceltaviaggio'].DATA_RITORNO)) {
		alert("Please specify the return date: dd-mm-yyyy");
		document.forms['sceltaviaggio'].DATA_RITORNO.focus();
		return false;
   }
   
   if(!document.forms['sceltaviaggio'].DATA_RITORNO.disabled) {
	var dataRit = readDate(document.forms['sceltaviaggio'].DATA_RITORNO);
	if(dataRit < dataAnd) {
		alert("La data di ritorno non puo' essere minore della data di andata");
		document.forms['sceltaviaggio'].DATA_RITORNO.focus();
		return false;
	}
   }
   //fine date
   //itinerari
   try {
	var itiand = false;
	for(var k=0; !itiand && k < document.forms['sceltaviaggio'].ITI_AND.length; ++k) {
		itiand = document.forms['sceltaviaggio'].ITI_AND[k].checked;
	}
	if(!itiand) {
		alert("Selezionare almeno un itinerario di andata.");
		document.forms['sceltaviaggio'].ITI_AND[0].focus();
		return false;
	}
   } catch (e) {
	alert("Please select at least one route.");
	return false;
   }
   //itinerari ritorno
   if(!document.forms['sceltaviaggio'].DATA_RITORNO.disabled) {
		try {
		var itirit = false;
		for(var k=0; !itirit && k < document.forms['sceltaviaggio'].ITI_RIT.length; ++k) {
		itirit = document.forms['sceltaviaggio'].ITI_RIT[k].checked;
	}
	if(!itirit) itirit = document.forms['sceltaviaggio'].ITI_RIT.checked;
	if(!itirit) {
		alert("Please select at least one route.");
		document.forms['sceltaviaggio'].ITI_RIT[0].focus();
		return false;
	}
   } catch (e) {
	alert("Please select at least one route.");
	return false;
   }
   }
   return true;
}








		 


