function ins_div_app(aname){
	if (!Nav4){
		document.write('<div id="'+aname+'" style="display:block;position: relative; visibility: visible; top: 0;z-index:0;">')}
	else {document.write('<table border="0" cellspacing="0" cellpadding="0"><tr><td>')}
}

function close_div_app(){
	if (!Nav4){
		document.write('</div>')}
	else {document.write('</td></tr></table>')}
}

var check_arr=new Array(10);	//Array per il controllo dei siti selezionati
var check_arr_num=new Array(10);	//Array per il controllo dei siti selezionati
var checkDefStr='<SPAN CLASS="testinorosso">Sono stati selezionati XXXX siti</SPAN>'; //messaggio elementi selezionati


function chVisState(adiv){
	var afrm=document.forms.ricerca;
	var f_els=afrm.elements;
	
	cpFld('ricerca_2','ricerca');
	var test=!(check_empty_date(f_els.giorno_prom.value,f_els.mese_prom.value,f_els.anno_prom.value)
	&& check_empty_date(f_els.giorno_prom1.value,f_els.mese_prom1.value,f_els.anno_prom1.value)
	&& check_empty_date(f_els.giorno_pubbl.value,f_els.mese_pubbl.value,f_els.anno_pubbl.value)
	&& check_empty_date(f_els.giorno_pubbl1.value,f_els.mese_pubbl1.value,f_els.anno_pubbl1.value));
	
	setDivVis(adiv,test);
}


function inselenco(aval,eldestname){
var elenconame='elenco_editori_'+eldestname;
var mstr=document.ricerca[elenconame].value;
mstr+=aval+',';
document.ricerca[elenconame].value=mstr;}



function remelenco(aval,eldestname){
var elenconame='elenco_editori_'+eldestname;
var leftstr,mval,tvallen,tmpppos,leftstr,rightstr,mlen;
leftstr='';rightstr='';
mval=aval+',';
mstr=document.ricerca[elenconame].value;
tvallen=mval.length;
tmppos=mstr.indexOf(mval);
mlen=mstr.length;
if (tmppos!=-1){
	if (tmppos>0){leftstr=mstr.substr(0,tmppos)}
	if ((tmppos+tvallen)<mlen){
		rightstr=mstr.substr((tmppos+tvallen),mlen-(tmppos+tvallen));}
	mstr=leftstr+rightstr;
	document.ricerca[elenconame].value=mstr;}
}


function resetValue(af,eldestname,astate){
	var el,c;
	for (c=0;c<af.elements.length;c++){
		el=af.elements[c];
		if (el.type=='checkbox'){
			if (el.checked!=astate){
				el.checked=astate;
				check_subarea(el,'',eldestname);}}}
}

function verify_brth_all_false(af){
	var el;
	for (c=0;c<af.elements.length;c++){
		el=af.elements[c];
		if (el.type=='checkbox'){
			if (el.checked){
				return false;}}}
	return true;}

/* el elemnto sub clikkato, fname il nome della form del papa, elname il nome del papa */
function check_subarea(el,fname,elname){
	if (el.checked){inselenco(el.value,elname);
	if (fname){
	document.forms[fname].elements[elname].checked=true;
	check_arr_num[elname]++;
	check_area(document.forms[fname].elements[elname]);}
	}
	else{
		remelenco(el.value,elname);
		check_arr_num[elname]>0?check_arr_num[elname]--:0;
		setVisInfo(elname);
	}
}

function setVisInfo(elname){
var obj=getObj(check_arr[elname]);
var res=' ';
	if (check_arr_num[elname]){
		mstr= new String(checkDefStr);
		var rExp = /XXXX/g;
		res = mstr.replace(rExp, new String(check_arr_num[elname]));
	}
	obj.innerHTML=res;
}
	
/* se non ha figli non c'č afname */

function check_area(el,afname) {
	if (el.checked){
		document.ricerca[el.name].value=1;
		
		} else {
			document.ricerca[el.name].value=0;
			if (afname){
			resetValue(document.forms[afname],el.name,false);}
		}
	if ((document.ricerca.areae.value=='0')
	  && (document.ricerca.arear.value=='0')
	  && (document.ricerca.areasd.value=='0')
	  && (document.ricerca.areapd.value=='0')
	  && (document.ricerca.arean.value=='0'))
	  {start_check();}
	 setVisInfo(el.name);
}

function start_check(){
	document.ricerca.reset();
	document.normst.arean.checked=true;
	document.ricerca.arean.value='1';
	document.ricerca.areae.value='0';
	document.ricerca.arear.value='0';
	document.ricerca.areasd.value='0';
	document.ricerca.areapd.value='0';
	document.normst.arean.checked=true;
	document.normcom.areae.checked=false;
	document.normreg1.arear.checked=false;
	document.pardec1.areapd.checked=false;
	document.stdoc1.areasd.checked=false;
		
	resetValue(document.forms['normst_1'],'arean',false);
	resetValue(document.forms['normcom_1'],'areae',false);
	resetValue(document.forms['normreg2'],'arear',false);
	resetValue(document.forms['pardec2'],'areapd',false);
	resetValue(document.forms['stdoc2'],'areasd',false);
}
/* FORM RICERCA CATALOGO */



function cpFld(frm_name,dest_name){
	var elfrm,eldest,c,ffrm,fdst,mstr;
	ffrm=document.forms[frm_name];
	fdst=document.forms[dest_name];
	for (c=0;c<ffrm.elements.length;c++){
		elfrm=ffrm.elements[c];
		eldst=fdst.elements[elfrm.name];
		aval=elfrm.value;
		if (Nav4){
			
			mstr=elfrm.type;
			if(mstr.indexOf('select')>-1){aval=elfrm.selectedIndex;} 
			aval=aval==0?'':aval;
		}
		eldst.value=aval;
	}
}

function get_max_day(amm,ayyyy){
	var maxday=31;
	
	if (amm==2){
		maxday=(ayyyy % 4)==0?29:28;
	} else {
		if ((amm==11) || (amm==4) || (amm==6) || (amm==9)){
			maxday=30;}
	}
	return maxday;
}



function contr_full_date(add,amm,ayyyy){
	var maxday=get_max_day(amm,ayyyy);
	return add>maxday?false:true;
}

function check_succ_date(add1,amm1,ayyyy1,add2,amm2,ayyyy2){
	add1=add1?add1:1;
	amm1=amm1?amm1:1;
	amm2=amm2?amm2:12;
	add2=add2?add2:get_max_day(amm2,ayyyy2);
	
	var d1=new Date(ayyyy1, amm1-1, add1);
	var d2=new Date(ayyyy2, amm2-1, add2);
	
	return d1.getTime()<=d2.getTime()?true:false;
}

function check_empty_date(add,amm,ayyyy)
{
	return (add=='' && amm=='' && ayyyy=='')? true:false;}



function check_date(add,amm,ayyyy)
{
	if (ayyyy!='')
	{
		if (amm!='') {
			if (add!=''){
				return contr_full_date(add,amm,ayyyy);
			} else{ // A IF add
				return true;}
		} else { //A If amm
			return true;}
	} //A IF AYYYY
	return false;
}

function movefocus(ael,afm_name){
	var el;
	var afm=document.forms[afm_name];
	for(var c=0;c<afm.elements.length;c++){
		el=afm.elements[c];
		if (el.name==ael.name){
			el.focus();
			return;
		}
	}

}

function isNullSel(aval){
return (aval==-1)||(aval=='');
}

function isNullVal(aval){
 //alert ('aval='+aval+'fine');
 var stringa= aval.replace(/^\s*$/, "");
 //alert ('stringa='+stringa+'fine');
 return ((stringa==null) ||(stringa==''))
}


function correct_val(stval,offset,incr){
	var retval=!isNullVal(incr)?stval+offset+incr:'';
	return  retval;
}

function submit_ricerca_catalogo(){
	var afrm=document.forms.ricerca;
	var f_els=afrm.elements;
	cpFld('ricerca_1','ricerca');
	cpFld('ricerca_2','ricerca');
		cp_check_hidd('ricerca_1','ricerca');
        if (Nav4){
		f_els.natura.value=correct_val(0,-1,f_els.natura.value);
		f_els.materia.value=correct_val(0,-1,f_els.materia.value);
		f_els.anno_prom.value=correct_val(anno_start,1,-f_els.anno_prom.value);
		f_els.anno_prom1.value=correct_val(anno_start,1,-f_els.anno_prom1.value);
		f_els.anno_pubbl.value=correct_val(anno_start,1,-f_els.anno_pubbl.value);
		f_els.anno_pubbl1.value=correct_val(anno_start,1,-f_els.anno_pubbl1.value);
		f_els.anno_singolo.value=correct_val(anno_start,1,-f_els.anno_singolo.value);
	}
	var err_test=false;
	var err_str;
	var err_focus_el;

	
	if (!err_test){
		if (!isNullVal(f_els.text1not.value) && isNullVal(f_els.testo_titolo.value)){
			err_test=true;
			err_str='Bisogna inserire anche una chiave in Contiene le parole';
			err_focus_el=f_els.testo_titolo;
		}
	}
	if (!err_test){
		if (!check_empty_date(f_els.giorno_prom.value,f_els.mese_prom.value,f_els.anno_prom.value)){
			if (!check_date(f_els.giorno_prom.value,f_els.mese_prom.value,f_els.anno_prom.value)){
				err_test=true;
				err_str='Verificare la data';
				err_focus_el=f_els.giorno_prom;
			}
		}
	}
				
	if (!err_test){
		if (!check_empty_date(f_els.giorno_prom1.value,f_els.mese_prom1.value,f_els.anno_prom1.value)){
			if (!check_date(f_els.giorno_prom1.value,f_els.mese_prom1.value,f_els.anno_prom1.value)){
				err_test=true;
				err_str='Verificare la data';
				err_focus_el=f_els.giorno_prom1;
			}
		}
	}	

	if (!err_test){
		if (!check_empty_date(f_els.giorno_pubbl.value,f_els.mese_pubbl.value,f_els.anno_pubbl.value)){
			if (!check_date(f_els.giorno_pubbl.value,f_els.mese_pubbl.value,f_els.anno_pubbl.value)){
				err_test=true;
				err_str='Verificare la data';
				err_focus_el=f_els.giorno_pubbl;
			}
		}
	}
			

	if (!err_test){
		if (!check_empty_date(f_els.giorno_pubbl1.value,f_els.mese_pubbl1.value,f_els.anno_pubbl1.value)){
			if (!check_date(f_els.giorno_pubbl1.value,f_els.mese_pubbl1.value,f_els.anno_pubbl1.value)){
				err_test=true;
				err_str='Verificare la data';
				err_focus_el=f_els.giorno_pubbl1;
			}
		}
	}
	
	
	if (!err_test){
		if ((f_els.anno_prom.value)	&& (f_els.anno_prom1.value) ){
			
			if (!check_succ_date(f_els.giorno_prom.value,f_els.mese_prom.value,f_els.anno_prom.value,
							f_els.giorno_prom1.value,f_els.mese_prom1.value,f_els.anno_prom1.value)){
				err_test=true;
				err_str='Verificare l\'intervallo di date di promulgazione.\n La seconda data non puņ essere antecedente alla prima';
				err_focus_el=f_els.giorno_prom;
			}
		}
	}
	
	if (!err_test){
		if ((f_els.anno_pubbl.value)	&& (f_els.anno_pubbl1.value) ){
			if (!check_succ_date(f_els.giorno_pubbl.value,f_els.mese_pubbl.value,f_els.anno_pubbl.value,
							f_els.giorno_pubbl1.value,f_els.mese_pubbl1.value,f_els.anno_pubbl1.value)){
				err_test=true;
				err_str='Verificare l\'intervallo di date di pubblicazione.\n La seconda data non puņ essere antecedente alla prima';
				err_focus_el=f_els.giorno_pubbl;
			}
		}
	}
	
	if (!err_test){
		if (isNullVal(f_els.testo_titolo.value)
		&& isNullVal(f_els.cerca_titolo.value)
		&& isNullSel(f_els.natura.value)
		&& isNullVal(f_els.numero.value) 
		&& isNullSel(f_els.materia.value)
		&& isNullVal(f_els.anno_prom.value)
		&& isNullVal(f_els.anno_prom1.value) 
		&& isNullVal(f_els.anno_pubbl.value) 
		&& isNullVal(f_els.anno_singolo.value) 
		&& isNullVal(f_els.anno_pubbl1.value)){
			err_test=true;
			err_str='Non č possibile effettuare la ricerca se non si utilizza almeno un criterio di ricerca.';
			err_focus_el=f_els.testo_titolo;
		}
	}
	
	if (!err_test){
/*		if ((f_els.numero.value) && (isNullVal(f_els.anno_singolo.value))){
			err_test=true;
			err_str='E\' necessario selezionare anche l\'anno';
			err_focus_el=f_els.anno_singolo;
		}	*/
/*		if (isNaN(parseInt(f_els.numero.value))) {
			err_test=true;
			err_str='E\' necessario inserire un valore numerico';
			err_focus_el=f_els.numero;
		} else {
			numero = parseInt(f_els.numero.value);
			f_els.numero.value = numero;
		}	*/
		
		numero_lenght = f_els.numero.value.length;
		var str_num = f_els.numero.value;
		//var stringa_numero = "";
		var stringa_numero = str_num.replace(/^\s*(\d*)\s*$/g, "$1");
		
		/* tutto questo per eliminare gli spazi alla fine?
		
		var spazi_dopo = ""; 
		var carattere = "";
		
		for (var dim_numero = 0; dim_numero < numero_lenght; dim_numero++) {
		carattere = str_num.slice(dim_numero,dim_numero+1);
				//alert ('**' + carattere + '**');
			if (carattere==" ") {
				spazi_dopo = spazi_dopo + carattere;
			} else {
				if ((stringa_numero.length>0) && (spazi_dopo.length>0)) {
					stringa_numero = stringa_numero + spazi_dopo;
					spazi_dopo = "";
				}
				stringa_numero = stringa_numero + carattere;
			}
			
		}
			
		if ((stringa_numero.length == 0) && (numero_lenght > 0)) {
			err_test=true;
			err_str='Il campo numero non contiene valori utili';
			f_els.numero.value = "";
			err_focus_el=f_els.numero;
		} else {
			f_els.numero.value = stringa_numero;
		}
		*/
		
		if (stringa_numero.search(/\D/)!=-1){
		  err_test=true;
		  err_str='Inserire solo valori numerici interi nel campo numero';
		  err_focus_el=f_els.numero;
		}else{
		  f_els.numero.value = stringa_numero;
		}
	}
	
	if (err_test){
		alert(err_str);
		if (err_focus_el){
			movefocus(err_focus_el,'ricerca_1');
			movefocus(err_focus_el,'ricerca_2');
			}
	}
	
	f_els.materia.value=f_els.materia.value==-1?'':f_els.materia.value;
	f_els.natura.value=f_els.natura.value==-1?'':f_els.natura.value;
	
	return !err_test;
}
function reset_catalgo()
{
	document.forms.ricerca.reset();
	document.forms.ricerca_1.reset();
	document.forms.ricerca_2.reset();
}

/* FORM raffina ricerca testuale */

function setvalcp(afDest,aelDest,afBase){
	var fb=document.forms[afBase];
	var el;
	for (var c=0;c<fb.elements.length;c++){
		el=fb.elements[c];
		if(el.type=='checkbox'){
			check_subarea(el,afDest,aelDest);}
	}
}


function copy_start()
{
	document.ricerca.reset();
	setvalcp('normcom','areae','normcom_1');
	setvalcp('normst','arean','normst_1');
	setvalcp('normreg1','arear','normreg2');
	setvalcp('pardec1','areapd','pardec2');
	setvalcp('stdoc1','areasd','stdoc2');

}

function ver_submit_raff(){
	if (!(document.ricerca.elements['text1'].value || document.ricerca.elements['text1not'].value)){
		alert ('I campi di ricerca non contengono parole chiave\n Inserire le parole chiave in almeno uno dei due campi');
		document.ricerca.elements['text1'].focus();
		return false;
	}return true;
}

/* NEwsletter */



function findnextel(startel,isfirst,ellist,aname){
var c=0;
	startel=isfirst?startel:startel+1;
	for (c=startel;c<ellist.length;c++){
		el=ellist[c];
		if (el.name==aname){return c;}
	}
	return -1;
}

function cpFld_check(frm_name,dest_name,el_name,stdest){
	var elfrm,eldst,c,ffrm,fdst;
	var frm_start=0;
	var dst_start=stdest;
	var retval=0;
	ffrm=document.forms[frm_name];
	fdst=document.forms[dest_name];
	frm_start=findnextel(0,true,ffrm.elements,el_name);
	dst_start=findnextel(stdest,true,fdst.elements,el_name);

	
	test=(frm_start>-1) && (dst_start>-1);
	c=0;
	while (test)	{
		elfrm=ffrm.elements[frm_start];
		eldst=fdst.elements[dst_start];
		if (elfrm.checked){
			eldst.value=elfrm.value;
		} else { eldst.value='';}
		c++;
		frm_start=findnextel(frm_start,false,ffrm.elements,el_name);
		dst_start=findnextel(dst_start,false,fdst.elements,el_name);

		retval=(dst_start>0?dst_start:retval);
		test=(frm_start>-1) && (dst_start>-1);
	}
	return retval;
}

function cp_check_hidd(frm_name,dest_name){
	var elfrm,eldst,c,ffrm,fdst,lengthf;
	ffrm=document.forms[frm_name];
	fdst=document.forms[dest_name];
	lengthf=ffrm.elements.length;
	for (c=0;c<lengthf;c++) {
		elfrm=ffrm.elements[c];
		if (elfrm.type=='checkbox'){
			if (elfrm.checked){
				eldst=fdst.elements[elfrm.name];
				eldst.value=elfrm.value;
				
			}
			else { 
				eldst=fdst.elements[elfrm.name];
				eldst.value='';
			}
			
		}
	}
	return true;

}
function ver_submit_news(){
cp_check_hidd('nuovi_doc','ricerca');
cp_check_hidd('normst_1','ricerca');
return true;
}

//funzione aggiunta per gestire l'annulla dei check dello script gest_ana_nu

function ver_reset_news(){
document.forms['nuovi_doc'].reset();
document.forms['normst_1'].reset();
return true;
}
