var RicGen = {};


// {{{ RicGen.opere
RicGen.opere = {
	'ciper': [ 
		{
			link: 'http://bdK0.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=K0&MSK=ciper&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&GIORNO1=%(GIORNO1)s&MESE1=%(MESE1)s&ANNO1=%(ANNO1)s&GIORNO2=%(GIORNO2)s&MESE2=%(MESE2)s&ANNO2=%(ANNO2)s#results',
			strname: "Codice Civile Ipertestuale",	
			opera: 'K0',
			dbname: 'CIPERK0',
			date_field: 'DATA',
			extra_params: [ [ 'TIPO' , 'EQUAL' , '31' ] ],
			fulltxt_field: 'DOCUMENT_TEXT'
		},
		{
			link: 'http://bdK1.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=K1&MSK=ciper&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&GIORNO1=%(GIORNO1)s&MESE1=%(MESE1)s&ANNO1=%(ANNO1)s&GIORNO2=%(GIORNO2)s&MESE2=%(MESE2)s&ANNO2=%(ANNO2)s#results',
			strname: "Codice di Procedura Civile Ipertestuale",	
			opera: 'K1',
			dbname: 'CIPERK1',
			date_field: 'DATA',
			extra_params: [ [ 'TIPO' , 'EQUAL' , '31' ] ],
			fulltxt_field: 'DOCUMENT_TEXT'
		},
		{
			link: 'http://bdK3.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=K3&MSK=ciper&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&GIORNO1=%(GIORNO1)s&MESE1=%(MESE1)s&ANNO1=%(ANNO1)s&GIORNO2=%(GIORNO2)s&MESE2=%(MESE2)s&ANNO2=%(ANNO2)s#results',
			strname: "Codice Penale Ipertestuale",	
			opera: 'K3',
			dbname: 'CIPERK3',
			date_field: 'DATA',
			extra_params: [ [ 'TIPO' , 'EQUAL' , '31' ] ],
			fulltxt_field: 'DOCUMENT_TEXT'
		},
		{
			link: 'http://bdK5.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=K5&MSK=ciper&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&GIORNO1=%(GIORNO1)s&MESE1=%(MESE1)s&ANNO1=%(ANNO1)s&GIORNO2=%(GIORNO2)s&MESE2=%(MESE2)s&ANNO2=%(ANNO2)s#results',
			strname: "Codice di Procedura Penale Ipertestuale",	
			opera: 'K5',
			dbname: 'CIPERK5',
			date_field: 'DATA',
			extra_params: [ [ 'TIPO' , 'EQUAL' , '31' ] ],
			fulltxt_field: 'DOCUMENT_TEXT'
		}
		],
	'leggi': [ {
			link: 'http://bd01.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=01&MSK=provv&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&GIORNO1=%(GIORNO1)s&MESE1=%(MESE1)s&ANNO1=%(ANNO1)s&GIORNO2=%(GIORNO2)s&MESE2=%(MESE2)s&ANNO2=%(ANNO2)s#results',
			strname: "Leggi d'Italia",	
			opera: '01',
			dbname: 'LEGGI01',
			date_field: 'DATA',
			extra_params: [ [ 'FULTIPO' , 'EQUAL' , '4' ] ],
			extra_paramsftxt: [ [ 'FULTIPO' , 'IN_NUM' , '4,5,11,12,13,14' ] ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   },
		   {
			link: 'http://bd05.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=05&MSK=art&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&GIORNO1=%(GIORNO1)s&MESE1=%(MESE1)s&ANNO1=%(ANNO1)s&GIORNO2=%(GIORNO2)s&MESE2=%(MESE2)s&ANNO2=%(ANNO2)s#results',
			strname: "Codici d'Italia",	
			opera: '05',
			dbname: 'LEGGI05',
			date_field: 'DATA',
			extra_params: [ [ 'FULTIPO' , 'IN_NUM' , '4,5,7' ], [ 'TIPO', 'EQUAL', '30' ] ],
			extra_paramsftxt: [ ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   },
		   {
			link: 'http://bd07.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=07&MSK=provv&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&GIORNO1=%(GIORNO1)s&MESE1=%(MESE1)s&ANNO1=%(ANNO1)s&GIORNO2=%(GIORNO2)s&MESE2=%(MESE2)s&ANNO2=%(ANNO2)s#results',
			strname: "Diritto Comunitario",	
			opera: '07',
			dbname: 'LEGGI07',
			date_field: 'DATA',
			extra_params: [ [ 'FULTIPO' , 'EQUAL' , '4' ] ],
			extra_paramsftxt: [ [ 'FULTIPO' , 'IN_NUM' , '4,5' ] ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   },
		   {
			link: 'http://bd20.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=20&MSK=provv&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&GIORNO1=%(GIORNO1)s&MESE1=%(MESE1)s&ANNO1=%(ANNO1)s&GIORNO2=%(GIORNO2)s&MESE2=%(MESE2)s&ANNO2=%(ANNO2)s#results',
			strname: "Leggi Regionali",	
			opera: '20',
			dbname: 'LEGGI20',
			date_field: 'DATA',
			//DA SISTEMARE
			extra_params: [ [ 'FULTIPO' , 'IN_NUM' , '4,5,11,12,13,14' ], ['TIPO', 'IN_LIKE2', '3__'] ],
			//extra_params: [ [ 'FULTIPO' , 'EQUAL' , '4' ], ['TIPO', 'IN_LIKE2', '1__|2__|3__'] ],
			//extra_paramsftxt: [ [ 'FULTIPO' , 'IN_NUM' , '4,5' ] ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   },
		   {
			link: 'http://bd15.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=15&MSK=provv&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&GIORNO1=%(GIORNO1)s&MESE1=%(MESE1)s&ANNO1=%(ANNO1)s&GIORNO2=%(GIORNO2)s&MESE2=%(MESE2)s&ANNO2=%(ANNO2)s#results',
			strname: "Prassi",	
			opera: '15',
			dbname: 'LEGGI15',
			date_field: 'DATA',
			extra_params: [ [ 'FULTIPO' , 'EQUAL' , '4' ] ],
			extra_paramsftxt: [ [ 'FULTIPO' , 'IN_NUM' , '4,5' ] ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   } ],
	'giuri': [ {
			link: 'http://bd44.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=44&MSK=mass&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&SENTGIORNO1=%(GIORNO1)s&SENTMESE1=%(MESE1)s&SENTANNO1=%(ANNO1)s&SENTGIORNO2=%(GIORNO2)s&SENTMESE2=%(MESE2)s&SENTANNO2=%(ANNO2)s#results',
			strname: "Repertorio",	
			opera: '44',
			dbname: 'MASSGE44',
			date_field: 'DATA',
			extra_params: [ [ 'FULTIPO' , 'IN_NUM' , '4,5' ], [ 'TIPO', 'EQUAL', '3' ] ],
			extra_paramsftxt: [ ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   },
		   {
			link: 'http://bd46.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=46&MSK=sent&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&SENTGIORNO1=%(GIORNO1)s&SENTMESE1=%(MESE1)s&SENTANNO1=%(ANNO1)s&SENTGIORNO2=%(GIORNO2)s&SENTMESE2=%(MESE2)s&SENTANNO2=%(ANNO2)s#results',
			strname: "Cassazione Civile",	
			opera: '46',
			dbname: 'SENT46',
			date_field: 'DATA',
			extra_params: [ [ 'FULTIPO' , 'EQUAL' , '5' ] ],
			extra_paramsftxt: [ ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   },
		   {
			link: 'http://bd47.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=47&MSK=sent&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&SENTGIORNO1=%(GIORNO1)s&SENTMESE1=%(MESE1)s&SENTANNO1=%(ANNO1)s&SENTGIORNO2=%(GIORNO2)s&SENTMESE2=%(MESE2)s&SENTANNO2=%(ANNO2)s#results',
			strname: "Cassazione Penale",	
			opera: '47',
			dbname: 'SENT47',
			date_field: 'DATA',
			extra_params: [ [ 'FULTIPO' , 'EQUAL' , '5' ] ],
			extra_paramsftxt: [ ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   },
		   {
			link: 'http://bd55.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=55&MSK=sent&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&SENTGIORNO1=%(GIORNO1)s&SENTMESE1=%(MESE1)s&SENTANNO1=%(ANNO1)s&SENTGIORNO2=%(GIORNO2)s&SENTMESE2=%(MESE2)s&SENTANNO2=%(ANNO2)s#results',
			strname: "Consiglio di Stato e Tar",	
			opera: '55',
			dbname: 'SENT55',
			date_field: 'DATA',
			extra_params: [ [ 'FULTIPO' , 'EQUAL' , '5' ] ],
			extra_paramsftxt: [ ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   },
		   {
			link: 'http://bd60.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=60&MSK=sent&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&SENTGIORNO1=%(GIORNO1)s&SENTMESE1=%(MESE1)s&SENTANNO1=%(ANNO1)s&SENTGIORNO2=%(GIORNO2)s&SENTMESE2=%(MESE2)s&SENTANNO2=%(ANNO2)s#results',
			strname: "Corte Costituzionale",	
			opera: '60',
			dbname: 'SENT60',
			date_field: 'DATA',
			extra_params: [ [ 'FULTIPO' , 'EQUAL' , '5' ] ],
			extra_paramsftxt: [ ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   },
		   {
			link: 'http://bd78.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=78&MSK=sent&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&SENTGIORNO1=%(GIORNO1)s&SENTMESE1=%(MESE1)s&SENTANNO1=%(ANNO1)s&SENTGIORNO2=%(GIORNO2)s&SENTMESE2=%(MESE2)s&SENTANNO2=%(ANNO2)s#results',
			strname: "Corte dei Conti",	
			opera: '78',
			dbname: 'SENT78',
			date_field: 'DATA',
			extra_params: [ [ 'FULTIPO' , 'EQUAL' , '5' ] ],
			extra_paramsftxt: [ ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   },
		   {
			link: 'http://bd59.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=59&MSK=sent&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&SENTGIORNO1=%(GIORNO1)s&SENTMESE1=%(MESE1)s&SENTANNO1=%(ANNO1)s&SENTGIORNO2=%(GIORNO2)s&SENTMESE2=%(MESE2)s&SENTANNO2=%(ANNO2)s#results',
			strname: "Corti di Merito",	
			opera: '59',
			dbname: 'SENT59',
			date_field: 'DATA',
			extra_params: [ [ 'FULTIPO' , 'EQUAL' , '5' ] ],
			extra_paramsftxt: [ ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   } ],
	'dott': [ {
			link: 'http://bd70.leggiditalia.it/cgi-bin/FulPower?FF=1&OPERA=70&MSK=estr&DOCUMENT_TEXT=%(DOCUMENT_TEXT)s&ANNO1=%(ANNO1)s&ANNO2=%(ANNO2)s#results',
			strname: "Dottrina d'Italia",	
			opera: '70',
			dbname: 'DOTTGE70',
			date_field: 'ANNO',
			extra_params: [ [ 'FULTIPO' , 'EQUAL' , '5' ] ],
			extra_paramsftxt: [ ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   } ],
	'quoty': [ /* {
			link: 'http://entilocali.leggiditalia.it/quotidiano_home.html#ricerca_av,do_query=1,OPERA=34,testo=%(DOCUMENT_TEXT)s,from_d=%(GIORNO1)s,from_m=%(MESE1)s,from_y=%(ANNO1)s,to_d=%(GIORNO2)s,to_m=%(MESE2)s,to_y=%(ANNO2)s',
			strname: "Quotidiano Enti Locali",	
			opera: '34',
			dbname: 'QUOTY34',
			date_field: 'DATA',
			extra_params: [],
			fulltxt_field: 'DOCUMENT_TEXT'
		   },*/   
		   {
			link: 'http://studiolegale.leggiditalia.it/quotidiano_home.html#mask=adv_search,do_query=1,FF=1,OPERA=AP,DOCUMENT_TEXT=%(DOCUMENT_TEXT)s,GIORNO1=%(GIORNO1)s,MESE1=%(MESE1)s,ANNO1=%(ANNO1)s,GIORNO2=%(GIORNO2)s,MESE2=%(MESE2)s,ANNO2=%(ANNO2)s',
			strname: "Quotidiano Studio Legale",
			opera: 'AP',
			dbname: 'QUOTYAP',
			date_field: 'DATA',
			extra_params: [ ],
			extra_paramsftxt: [ ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   }/*,
		   {
			link: 'http://pa.leggiditalia.it/quotidiano_home.html#ricerca_av,do_query=1,OPERA=PA,testo=%(DOCUMENT_TEXT)s,from_d=%(GIORNO1)s,from_m=%(MESE1)s,from_y=%(ANNO1)s,to_d=%(GIORNO2)s,to_m=%(MESE2)s,to_y=%(ANNO2)s',
			strname: "Quotidiano PA",
			opera: 'PA',
			dbname: 'QUOTYPA',
			date_field: 'DATA',
			extra_params: [ ],
			fulltxt_field: 'DOCUMENT_TEXT'
		   }*/ ]
};
// }}}

// {{{ RicGen.templates
RicGen.templates = {

search_table:	'<div id="ricgen_search_div" class="search_div" >' +
		'  <form id="ricgen_frm" name="ricgen_frm" action="javascript:RicGen.gen_search_click()" method="post" >' +
		'	<table width="100%" cellspacing="2" cellpadding="0" border="0" id="ricgen_search_table" class="search_table">' +
		'	<tr>' +
		'  <td><b>Ricerca fulltext</b></td>' +
		'  <td><input name="DOCUMENT_TEXT" type="text" maxlength="104" size="90" style="border: 1px solid black; font-size: 90%;" id="ricgen_DOCUMENT_TEXT"/></td><td>&nbsp;</td>' +
		'  </tr>' +
		'  <tr>' +
		'	<td><b>Data</b>&nbsp;</td>' +
		'	<td>Dal&nbsp;' +
		'	<input type="text" style="border: 1px solid black; font-size: 90%; text-align: center;" maxlength="2" size="1" name="GIORNO1" id="ricgen_GIORNO1"/>' +
		'	<input type="text" style="border: 1px solid black; font-size: 90%; text-align: center;" maxlength="2" size="1" name="MESE1" id="ricgen_MESE1"/>' +
		'	<input type="text" style="border: 1px solid black; font-size: 90%; text-align: center;" maxlength="4" size="3" name="ANNO1" id="ricgen_ANNO1"/>' +
		'  &nbsp;&nbsp;al&nbsp;' +
		'  <input type="text" style="border: 1px solid black; font-size: 90%; text-align: center;" maxlength="2" size="1" name="GIORNO2" id="ricgen_GIORNO2"/>' +
		'  <input type="text" style="border: 1px solid black; font-size: 90%; text-align: center;" maxlength="2" size="1" name="MESE2" id="ricgen_MESE2"/>' +
		'                          <input type="text" style="border: 1px solid black; font-size: 90%; text-align: center;" maxlength="4" size="3" name="ANNO2" id="ricgen_ANNO2"/></td>' +
		'                          </tr>' +
		'                          <tr>' +
		'                          <td><b>Cerca in</b></td><td>&nbsp;</td>' +
		'                          </tr>' +
		'                          <tr>' +
		'                          <td>&nbsp;</td>' +
		'                          <td><table border="0">' +
		'					<tr><td><input type="checkbox" name="chk_leggi" id="ricgen_chk_leggi" checked="checked"/>Legislazioni e prassi</td><td><input type="checkbox" name="chk_giuri" id="ricgen_chk_giuri" checked="checked"/>Giurisprudenza</td><td><input type="checkbox" name="chk_ciper" id="ricgen_chk_ciper" checked="checked"/>Codici Ipertestuali</td></tr>' +
		'                          	<tr><td><input type="checkbox" id="ricgen_chk_dott" name="chk_dott" checked="checked"/>Dottrina</td><td><input type="checkbox" name="chk_quoty" id="ricgen_chk_quoty" checked="checked"/>Quotidiano</td><td>&nbsp;</td></tr>' +
		'                          </table>' +
		'                          </td><td valing="bottom">' +
		/*' Risultati per pagina ' +
		'<select name="numeres" id="numres">' +
		'<option value="10">10</option>' +
		'<option value="15">15</option>' +
		'<option value="20">20</option>' +
		'<option value="30">30</option>' +
		'<option value="100">100</option>' +
		' </select>' +
		*/
		' </td></tr>' +
		'</table>' +
		'	<div class="line">' +
		'		<div align="center">' +
		'			<input type="image" src="gfx/cerca_button.gif" class="search_button" />'  +
                '                       <a href="javascript:void(0)" onclick="RicGen.canc_search()"><img src="gfx/canc_buttonblu1.gif"></img></a>' + 
		'			</div>' +
		'		</div>' +
		'</div>' +
		'</form>' +
		'<div id="ricgen_container_res" class="container_res"></div>',

'cnt_small_search' : '<div id="ricgen_container_res" class="container_res"></div>',

result_row:	'<td class="result_row"><a href="%(_link)s" target="_blank">%(strname)s: <span id="ricgen_numres_%(opera)s">' +
		'	<img src="../os3jslib/gfx/progress/small_white.gif" alt="" title="" style="border="0" />' +
		'</span></a></td>'
};
// }}}


RicGen.canc_search = function ()
{
	$( 'ricgen_frm' ).reset();
	$( 'ricgen_container_res' ).innerHTML = "";
}; 

RicGen.show_mask = function ( divname )
{
	var cnt, s = '';
	var sez = "Ricerca Generale";

	cnt = $ ( divname );
	s += RicGen.templates [ "search_table" ];

	cnt.innerHTML = s;

	/*if ( data )
	{
		var fields = [ 'DOCUMENT_TEXT', 'GIORNO1', 'MESE1', 'ANNO1', 'GIORNO2', 'MESE2', 'ANNO2' ];
		var t, l;

		console.debug( data );
	
		l = fields.length;
		for ( t = 0; t < l; t ++ )
			$( fields [ t ] ).value = data.get ( fields [ t ], '' );

		//Quotidiano.get_quotidiano ( data, data [ 'page' ], data [ 'lines' ] ); // FIXME: salvarsi nel dict originale pageno e lines
	}*/
};


RicGen.gen_search_click = function ( small )
{
	if ( site.user_info.attive.length <= 0 )
	{	
		alert('Per accedere ai contenuti di questa sezione, occorre essere autenticati');
		return;
	} 

	RicGen._query_id = String ( new UUID () );

	/*
	var fields = Array.fromForm ( 'ricgenform' ) ; 
	var opere = [];
	if ( $ ( 'ricgen_chk_leggi' ).checked	)
		opere = opere.concat ( RicGen.opere [ 'leggi' ] );
	if ( $ ( 'ricgen_chk_giuri' ).checked	)
		opere = opere.concat ( RicGen.opere [ 'giuri' ] );
 	if ( $ ( 'ricgen_chk_dott' ).checked	)
		opere = opere.concat ( RicGen.opere [ 'dott' ] );
	if ( $ ( 'ricgen_chk_quoty' ).checked	)
		opere = opere.concat ( RicGen.opere [ 'quoty' ] );

	if ( opere.length == 0 )
	{
		opere = RicGen.opere [ 'leggi' ];
		opere = opere.concat ( RicGen.opere [ 'giuri' ] );
		opere = opere.concat ( RicGen.opere [ 'dott' ] );
		opere = opere.concat ( RicGen.opere [ 'quoty' ] );
	}
	*/

	var fields;
	var opere = [];
	if ( small )
	{
		$ ( 'ricgenform' ).innerHTML = RicGen.templates [ 'cnt_small_search' ]
		fields = Array.fromForm ( 'small_search' ) ;
		fields [ 'ricgen_DOCUMENT_TEXT' ] = fields [ 'DOCUMENT_TEXT' ] = fields [ 'search_box' ];

		fields [ 'GIORNO1' ] = '';
		fields [ 'MESE1' ] = '';
		fields [ 'ANNO1' ] = '';
		fields [ 'GIORNO2' ] = '';
		fields [ 'MESE2' ] = '';
		fields [ 'ANNO2' ] = '';

		opere = opere.concat ( RicGen.opere [ 'leggi' ] );
		opere = opere.concat ( RicGen.opere [ 'giuri' ] );
		opere = opere.concat ( RicGen.opere [ 'dott' ] );
		opere = opere.concat ( RicGen.opere [ 'quoty' ] );
		opere = opere.concat ( RicGen.opere [ 'ciper' ] );
	}
	else
	{
		fields = Array.fromForm ( 'ricgenform' ) ; 
		if ( $ ( 'ricgen_chk_leggi' ).checked	)
			opere = opere.concat ( RicGen.opere [ 'leggi' ] );
		if ( $ ( 'ricgen_chk_giuri' ).checked	)
			opere = opere.concat ( RicGen.opere [ 'giuri' ] );
		if ( $ ( 'ricgen_chk_dott' ).checked	)
			opere = opere.concat ( RicGen.opere [ 'dott' ] );
		if ( $ ( 'ricgen_chk_quoty' ).checked	)
			opere = opere.concat ( RicGen.opere [ 'quoty' ] );
		if ( $ ( 'ricgen_chk_ciper' ).checked	)
			opere = opere.concat ( RicGen.opere [ 'ciper' ] );
	
		fields = Array.toObject ( fields );

		if ( opere.length == 0 )
		{
			opere = RicGen.opere [ 'leggi' ];
			opere = opere.concat ( RicGen.opere [ 'giuri' ] );
			opere = opere.concat ( RicGen.opere [ 'dott' ] );
			opere = opere.concat ( RicGen.opere [ 'quoty' ] );
			opere = opere.concat ( RicGen.opere [ 'ciper' ] );
		}
	}

	var t , l = opere.length;
	$( 'ricgen_container_res' ).innerHTML = "";

	var st = '<table id="ricgen_result_table" class="result_table" cellspacing="0" cellpadding="0" width="100%">';
	for ( t = 0; t < l; t ++ )
	{
		var op = opere [ t ];

		op [ "_link" ] = String.formatDict ( op [ "link" ], fields );
			
		op [ "_link" ] = op [ "_link"].replace(/\"/g,"%22");
		var mod = t % 2;

		if ( ( mod == 0 ) && ( t > 0 ) ) st += '</tr>';
		if ( mod == 0 && t < l ) st += '<tr>';
		st += String.formatDict ( RicGen.templates [ 'result_row' ], op );
		if( (mod !=0 ) && ( t == l ) )st += '<td>&nbsp;</td></tr>';

	}
	$( 'ricgen_container_res' ).innerHTML = st + '</table>';


	fields = Array.toObject ( fields );
	liwe.AJAX.request ( "/cgi-bin/AjaxCmd", { command: "ricerca", action: "add", name: "Ricerca generale", page: "ricerca_generale",
		params: fields.toJSONString (), query_id: RicGen._query_id }, function ( v )
	{
		for ( t = 0; t < l; t ++)
			 RicGen.do_query ( opere [ t ], fields [ 'DOCUMENT_TEXT' ] );
	}, true );
};

RicGen._params_txt = function ( op, txt )
{
	if( !op ) return;

	var extra = op.get('extra_params');
	var extraft = op.get('extra_paramsftxt');

	if( !txt || !extraft )
		return extra;
	else
		return extra.concat(extraft);
};

RicGen.do_query = function ( op, doc_txt )
{
	var fq = new FulQuery ();
	var dict = {};

	fq.set_id ();
	fq.opera = op [ 'opera' ];
	fq.db_name = op [ 'dbname' ];
	fq.set_fields ( 'COUNT(*)' );
	var txt = doc_txt;//$v ( 'ricgen_DOCUMENT_TEXT' )

	if ( txt )
		fq.add ( op [ 'fulltxt_field' ], "FULTXT", txt );
	

	var extra = RicGen._params_txt( op , txt );

	if ( extra )
	{
		var i, l = extra.length;
		for ( i = 0; i < l; i++ )
		{
			fq.add (  extra [ i ] [ 0 ], extra [ i ] [ 1 ], extra [ i ] [ 2 ] );
		}
 
	}

	var giorno1 = $ ( 'ricgen_GIORNO1' ) ? $ ( 'ricgen_GIORNO1' ).value : '';
	var mese1 = $ ( 'ricgen_MESE1' ) ? $ ( 'ricgen_MESE1' ).value : '';
	var anno1 = $ ( 'ricgen_ANNO1' ) ? $ ( 'ricgen_ANNO1' ).value : '';
	var giorno2 = $ ( 'ricgen_GIORNO2' ) ? $ ( 'ricgen_GIORNO2' ).value : '';
	var mese2 = $ ( 'ricgen_MESE2' ) ? $ ( 'ricgen_MESE2' ).value : '';
	var anno2 = $ ( 'ricgen_ANNO2' ) ? $ ( 'ricgen_ANNO2' ).value : '';
	fq.add_date ( anno1, mese1, giorno1, anno2, mese2, giorno2, op [ 'date_field'] );
	fq.fill( dict );

	dict [ "_X_TRACK_ID" ] = RicGen._query_id;

	liwe.AJAX.request ( '/cgi-bin/FulQuery', dict, function ( v ) { RicGen._do_query_done ( v, op ); }, true );
};


RicGen._do_query_done = function ( va, op )
{
	if ( va.get ( 'row0' ) )
		$( 'ricgen_numres_' + op [ 'opera' ] ).innerHTML = va [ 'row0' ] [ 'COUNT(*)' ];	
	else
		$( 'ricgen_numres_' + op [ 'opera' ] ).innerHTML = "N/A";
};

