function upload(percorso,sc,strJs){
	if (!sc) sc='';
	if (!strJs) strJs='';
	pp=window.open('/file_manager/upload.asp?sc='+sc+'&strJs='+strJs+'&strPercorso='+percorso,'Upload','width=750,height=550,scrollbars=1')
	pp.focus();
}
function NumeroCasuale(Da,A) {
	return Math.floor((A-Da+1) * Math.random() +Da);
}
function LeggiValoreCampo(obj){
	var xvalore,valore=obj.value;
	var ff=obj.form;
	
	
	if(obj.type=='hidden'){
		valore=obj.value;
	}
	
	if(obj.type=='radio'){
		var rr=ff.elements[obj.name]
		if(rr.length){
			for(var i=0;i'
			}
		}
	}
}
function CheckModifiche(){
	if(bolControllaUscita){
		var i,j,ff=document.forms
		var bolModifiche=false
		for(i=0;i'
//return 'debug'
		if(bolModifiche){
			return 'ATTENZIONE!!\nSono state fatte modifiche senza aver salvato.\nUscendo dalla pagina (o aggiornando la pagina) le modifiche andranno perse'
		}
		else
			return '';
	}
}
/*
FUNZIONI PER I CONTROLLI SINTATTICI DEI CAMPI DEL FORM
*/
// Alcune Regular Expressions già pronte
var ReData=/^(((0?[1-9]|[12][\d]|3[01])\/(0?[13578]|10|12)\/(\d{4}))|((0?[1-9]|[12][\d]|30)\/(0?[469]|11)\/(\d{4}))|((0?[1-9]|1[\d]|2[0-8])\/(0?2)\/(\d{4}))|((29)\/(0?2)\/([02468][048]00))|((29)\/(0?2)\/([13579][26]00))|((29)\/(0?2)\/([\d][\d]0[48]))|((29)\/(0?2)\/([\d][\d][2468][048]))|((29)\/(0?2)\/([\d][\d][13579][26])))$/
var ReDataNonObbligatoria=/^((((0?[1-9]|[12][\d]|3[01])\/(0?[13578]|10|12)\/(\d{4}))|((0?[1-9]|[12][\d]|30)\/(0?[469]|11)\/(\d{4}))|((0?[1-9]|1[\d]|2[0-8])\/(0?2)\/(\d{4}))|((29)\/(0?2)\/([02468][048]00))|((29)\/(0?2)\/([13579][26]00))|((29)\/(0?2)\/([\d][\d]0[48]))|((29)\/(0?2)\/([\d][\d][2468][048]))|((29)\/(0?2)\/([\d][\d][13579][26]))))?$/
var ReDataObbligatoriaOraNonObbligatoria=/^(((0?[1-9]|[12][\d]|3[01])\/(0?[13578]|10|12)\/(\d{4}))|((0?[1-9]|[12][\d]|30)\/(0?[469]|11)\/(\d{4}))|((0?[1-9]|1[\d]|2[0-8])\/(0?2)\/(\d{4}))|((29)\/(0?2)\/([02468][048]00))|((29)\/(0?2)\/([13579][26]00))|((29)\/(0?2)\/([\d][\d]0[48]))|((29)\/(0?2)\/([\d][\d][2468][048]))|((29)\/(0?2)\/([\d][\d][13579][26])))( (([01]?\d)|(2[0-3]))[:\.]([0-5]\d)([:\.]([0-5]\d))?)?$/
var ReDataOraNonObbligatoria=/^((((0?[1-9]|[12][\d]|3[01])\/(0?[13578]|10|12)\/(\d{4}))|((0?[1-9]|[12][\d]|30)\/(0?[469]|11)\/(\d{4}))|((0?[1-9]|1[\d]|2[0-8])\/(0?2)\/(\d{4}))|((29)\/(0?2)\/([02468][048]00))|((29)\/(0?2)\/([13579][26]00))|((29)\/(0?2)\/([\d][\d]0[48]))|((29)\/(0?2)\/([\d][\d][2468][048]))|((29)\/(0?2)\/([\d][\d][13579][26])))( (([01]?\d)|(2[0-3]))[:\.]([0-5]\d)([:\.]([0-5]\d))?)?)?$/
var ReEmail = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/
var ReEmailNonObbligatoria = /^(([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?))?$/
var ReEuro = /^[0-9]+([.,][0-9]{1,2})?$/
var ClassNameNormale = 'TextBianco';
var ClassNameModificato = 'TextModificato';
var ClassNameErrato = 'TextErrato';
var ClassNameReadonly = 'TextReadonly';
function NumeroModificati(ff){
	var cont=0
	for(var i=0;i '+re.source +'
\n';
	//questa funzione controlla se un campo viene modificato
	//dovrà essere previsto un campo hidden col valore di partenza con il nome uguale al campo preceduto da una 'x'
	//controlla la regular expression
	//colora in 3 diversi modi: non modificato, modificato, errato
	var ff=obj.form.elements
	var valore = '';
	var bolModificato
	valore=obj.value
	if(obj.type=='radio'){
		if(ff[obj.name].length){
			for(var i=0;i0)
				valore=obj.options[obj.options.selectedIndex].value;
			else
				valore='';
		}
		if(obj.type=='checkbox')valore=(obj.checked ? obj.value : '')
		if(obj.type=='file')valore=obj.value.substr(obj.value.lastIndexOf('\\')+1);
//alert(re.source+'\n'+valore)
		if(ff['x'+obj.name])
			bolModificato = (ff['x'+obj.name].value!=valore)
		else
			bolModificato = true
	//alert('x'+obj.name+'\n>>'+valore+'<<\n>>'+ff['x'+obj.name].value+'<<\n'+bolModificato)
		if(re){
			if(re.test(valore)){
				if(bolModificato)obj.className=ClassNameModificato;
				else obj.className=ClassNameNormale;
			}
			else{
				obj.className=ClassNameErrato;
			}
		}
		else{
			if(bolModificato)obj.className=ClassNameModificato;
			else obj.className=ClassNameNormale;
		}
	}
	return (obj.className!=ClassNameErrato)
}
function UsaRE(campoForm){
	var ff=campoForm.form
	var strRe, inizio, fine
	var primaDiRe, dopoDiRe
	//var rere = /ControllaCampo\(this,\/([^\/]*)\/);/
	var returnre = false
	if(campoForm.onchange && !campoForm.disabled){
		strRe = campoForm.onchange.toString();
		if(strRe!=''){
//alert(strRe)
			primaDiRe='ControllaCampo(this,'
			if(strRe.indexOf(primaDiRe)>0){
				strRe=strRe.substr(strRe.indexOf(primaDiRe)+primaDiRe.length)
				dopoDiRe=');'
				strRe=strRe.substr(0,strRe.indexOf(dopoDiRe))
//alert(strRe)
				returnre = eval(strRe)
			}
		}
	}
	return returnre
}
function CampoValido(campoForm){
//alert(campoForm.name+'\n'+campoForm.value)
	ControllaCampo(campoForm,UsaRE(campoForm));
	return (campoForm.className!=ClassNameErrato)
}
function ControllaForm(ff){
	var re
	for(var i=0;i'
				if(strRe.indexOf('ControllaCampo')>0){
					inizio = strRe.lastIndexOf(primaDiRe)+primaDiRe.length;
					fine = strRe.lastIndexOf(dopoDiRe);
					if(fine<2)fine = strRe.lastIndexOf(dopoDiRe2);
					if(fine<2)fine = strRe.lastIndexOf(dopoDiRe3);
					strRe = strRe.substring(inizio,fine);
//out.innerHTML+=strRe+'
'
					re = new RegExp(strRe)
					ControllaCampo(ff.elements[i],re);
//out.innerHTML+=re.source+'
'
				}
			}
		}
		
	}
}
function SalvaForm(ff){
	ControllaForm(ff)
	var tuttook=true
	var necessario=false
	for(var i=0;i=0)?'&':'?';		
		pagina+=sep+campoid+'='+id;
	}
	var re = /\d+$/
	var ris = re.exec(id)
	var pp = window.open(pagina,campoid+ris,'width='+w+',height='+h+',resizable=1,scrollbars=1,status=1');
	pp.focus();
}
function dataValida(txt){
	var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/
	if(re.test(txt)){
		var adata = txt.split('/');
		var gg = parseInt(adata[0],10);
		var mm = parseInt(adata[1],10);
		var aaaa = parseInt(adata[2],10);
		var xdata = new Date(aaaa,mm-1,gg)
		if((xdata.getFullYear()==aaaa) && (xdata.getMonth()==mm-1) && (xdata.getDate()==gg))
			return xdata
		else return false
	}else return false
}
function LPad(str,length,xchar){
	var stringa = ''
	if(str.length=0;i--)
				ss.options[i]=null
		}
	}
}
function EliminaOptionDaText(strForm,strSelect,strText){
	var ff=document.forms[strForm]
	if(ff){
		var ss=ff.elements[strSelect]
		if(ss){
			for(var i=0;i
Salvataggio effettuato
');
		this.start.delay(1000, this, {'opacity' : 0});
	}).chain(function() {
		box.style.display="none";
		this.start.delay(0100, this, {'opacity' : 1});
	});
			
						
			
	if (qsPostBack['reload']=='1'){
		if(window.opener){window.opener.location.reload();}
	}
	//leggo la variabile vars
	if (qsPostBack['vars']!=''){
		if(qsPostBack['vars'].indexOf('&')>0){
			arr = qsPostBack['vars'].split('&');
			//per ogni variabile passata tramite vars
			for(i=0;i '+arr2[1])
			//se esiste l'elemento nel form gli imposto il valore
			if(ff.elements[arr2[0]]){
				ff.elements[arr2[0]].value=arr2[1]
			}
		}
	}
			
	impostaCampiHidden(ff);
	resettaStileForm(ff);
	
	//funzione per effettuare qualcosa dopo il salvataggio in remotingScripting
	if(typeof afterSave=='function') {
		afterSave();
	}
}
		
function impostaCampiHidden(ff){
	for(i=0;i