function visualizza(pagina)
{
	//parent.frames['coda'].location.href="frame_back.asp?pag_corpo="+self.location.href;

//	location.href="https://"+server+"/4_rise/modulistica/dalle_associate/files/"+pagina;
// secondo me sarebbe meglio aprirle in una nuova finestra
	window.open("https://"+server+"/4_rise/modulistica/dalle_associate/files/"+pagina,"Associate","menubar=no, toolbar=no, status=no, width=740px, height=500px, screenx=100, screeny=50, top=50, left=100, scrollbars=yes");
}
function riservata()
{
   	if (login=='True')
	{
   		window.location.href="https://"+server+"/4_rise/default.asp";
	}
   	else
    {		
		var a=window.open('https://'+server+'/4_rise/login.asp','window1','toolbar=no,scrollbars=no,width=400,height=300,top=300,left=200');
   	    a.focus();
   }
}	


function riservata_str(str)
{
   if (login=='True')
   		window.top.location.href="https://"+server+"/4_rise/default.asp?contesto="+str;
   else
  	{		
	    var a=window.open ('https://'+server+'/4_rise/login.asp?contesto='+str,'window1','toolbar=no,scrollbars=no,width=400,height=300,top=300,left=200');
	   a.focus();
   }
}	

function dummy()
{
	return;
}
function rap(stringa)
{
	return stringa.replace(/'/g,"´"); 
}
function invia_ctrl()
	{
	if (obbligatori())
		document.forms[0].submit();
	}
function invia()
    {
    document.forms[0].submit();
    }
function resetta()
{
    document.forms[0].reset();
}
function URLDecode(stringa)
{
   // Replace + with ' '
   // Replace %xx with equivalent character
   var encoded = stringa;
   var plaintext = "";
   var i = 0;
   while (i < (encoded.length-2)) {
       var ch = encoded.charAt(i);
	   if (ch == "+") {
	       plaintext += " ";
		   i++;
	   } else if (ch == "%" && encoded.charAt(i+1) != "%") {
	       plaintext += unescape( encoded.substr(i,3) );
		   i += 3;
		} else {
		   plaintext += ch;
		   i++;
		}
	} // while
	if (i < encoded.length) {
	    plaintext += encoded.substr(i,encoded.length-i);
	}
   return unescape(plaintext);
};





function help_frame(msg,destination)
{
	parent.frames['aiuto'].help.innerHTML = '<div align=center><div class=titolialcentro>Help</div></div><br>'+msg;
}


function right(e) 
	{

	if (navigator.appName == 'Netscape' && 
		(e.which == 3 || e.which == 2))
			return false;

	else if (navigator.appName == 'Microsoft Internet Explorer' && 
			(event.button == 2 || event.button == 3)) 
			{
			alert("Spiacenti, il tasto destro del mouse e' disabilitato");
			return false;
			}
	return true;
	}

/* ***disabilitazione del tasto destro del mouse****
//document.onmousedown=right;
//if (document.layers) window.captureEvents(Event.MOUSEDOWN);
//window.onmousedown=right;
*/



//flag errore in pagina
var flgErrPag=false;
var cmpErr='';

function su(imgName,path)
	{
	fileName = imgName.substring(0,(imgName.length-2));
	//alert(fileName);
	eval(imgName + "_0= new Image()"); 
	eval(imgName + "_0.src ='"+path+"_img/"+fileName+"_0.gif'"); 
	img1 = eval(imgName + "_0.src ");
	//alert (img1);
	document [imgName].src = img1;
	}



function giu(imgName,path)
	{
	fileName = imgName.substring(0,(imgName.length-2));
	//alert(fileName);
	eval(imgName + "_1= new Image()"); 
	eval(imgName + "_1.src ='"+path+"_img/"+fileName+"_1.gif'");
	img2 = eval(imgName + "_1.src ");
	//alert (img2+':'+imgName);
	document [imgName].src = img2;
	}


function link(pagina)
{
var att="&";
if (pagina.search(/\?/)==-1)
	att="?";
//alert(pagina+att+"nn="+(Math.random().toString()).substr(2));
parent.frames['corpo'].location.href=pagina+att+"nn="+(Math.random().toString()).substr(2);
}


function objData()
	{
	objData.b; 
	objData.ding;
	objData.dita;
	}	
	
function data(s) 	
/*
accetta una stringa e la converte in data
restituisce un oggetto 	.b  	booleano: true data valida, false data non valida
						.ding  	stringa: data in formato inglese #mm/gg/aaaa#
						.dita   stringa: data in formato italiano gg/mm/aaaa
se data	vuota 			.ding	stringa: ""
						.dita	stringa: ""					
*/
	{
	var ngiorni = new Array(31,29,31,30,31,30,31,31,30,31,30,31)
	var b=true;
	if (s=="")
		{
		objData.b=b;
		objData.ding="";
		objData.dita="";		
		return objData;		
		}
	if (s.indexOf("/")==-1)	
		{
		var giorno=s.substr(0,2);
		var mese=s.substr(2,2);
		var anno=s.substr(4);
		}
	else
		{
		var n=s.indexOf("/");
		var giorno=s.substr(0,n);
		s=s.substr(n+1);
		n=s.indexOf("/");
		var mese=s.substr(0,n);
		var anno=s.substr(n+1);
		}
	
	if (anno.length < 2 || anno.length >4)
		b=false;
	else	
		{
		var anno_n=parseFloat(anno)
		if (isNaN(anno_n))
			b=false;
		else
			{
			if (70 <= anno_n && anno_n <= 99)
				anno=1900+anno_n;
			else
				{
				if (anno.length==2)
					{
					if (anno_n<50)
						anno=2000+anno_n;
					else
						anno=1900+anno_n;
					}
				  
				}  
			anno_n=parseFloat(anno);
			}
					
		}
		
		
	var mese_n=parseFloat(mese);
	if (isNaN(mese_n))
		b=false;
	else
		{
		if (mese_n < 1 || mese_n > 12)
			b=false;
		else	
			{
			if (mese_n<10)
				mese_n="0"+mese_n;
			var giorno_n=parseFloat(giorno);
			if (isNaN(giorno_n))
				b=false;
			else
				{
				var anno_n=parseFloat(anno)
				var max_gg = max_mese(mese_n,anno_n);
				if (giorno_n < 1 || giorno_n > max_gg)
					b=false;
				if (giorno_n < 10)
					giorno_n="0"+giorno_n;	
				}	
			}
		}
	
	objData.b=b;
	objData.ding=mese_n+"/"+giorno_n+"/"+anno_n;
	objData.dita=giorno_n+"/"+mese_n+"/"+anno_n;		
	return objData;
	}
	

function max_mese(mese_n,anno_n)
	{
	if  (mese_n==1 || mese_n==3 || mese_n==5 || mese_n==7 || mese_n==8 || mese_n==10 || mese_n==12)
		{
		return (31);
		}//then
	if  (mese_n==4 || mese_n==6 || mese_n==9 || mese_n==11) 
		{ 
		return (30);
		}//then
	if  (mese_n==2) 
		{
		if  ((anno_n%100) == 0)
			if  ((anno_n%100) == 0)
				{
				return (29);
				}//then2
			else
				{
				return (28);
				}//else2
		else
			if  ((anno_n%4) == 0)
				{
				return (29);
				}//then3
			else	 
				{
				return (28);
				}//else3
		}//then1
	else
		return (null);
	}//max_mese	
	
	

	
function vdata(s)
	{
	var s = ctrl_nome_campo(s);
	//esce subito se c'è un altro errore in pagina
	if (flgErrPag && (cmpErr!=s))
	{
		return;
	}
	var ss=eval(s+".value");
	var dataobj=data(ss);
	if (!dataobj.b)
		{
		flgErrPag=true;
		cmpErr=s;

//////		eval(s+".select()");
//////		alert("Data non valida!");
		timerID=setTimeout(s+'.focus();'+s+'.select()', 1);
		eval(s.substring(0,s.lastIndexOf("."))+".errore_js.value='Data non valida!';");
		return dataobj;
		}
	else
		{
		cmpErr='';
		flgErrPag=false;
		eval(s+".value='"+dataobj.dita+"'");
////////
		eval(s.substring(0,s.lastIndexOf("."))+".errore_js.value='';");
		return dataobj;	
		}
	}		


ndec=4;

function objToN()
	{
	objToN.b;  	
	objToN.n;	
	objToN.sn;	
	}
	
function to_number(snum, nd)
/*
accetta numeri in formato 100'000,29 o altri senza segno di migliaia
restituisce un oggetto 	.b = booleano, true se e' numero
						.n = float, numero convertito
						.sn=stringa, stringa in formato nd decimali e migliaia con '
*/
	{
	if (snum=="")
		{
		//esce subito senza errori se snum=""
		objToN.b=true;
		objToN.n="";
		objToN.sn="";
		return objToN;
		}
	//tolgo ('.,) e controllo se e' numero
	snum=snum.toString();
	ssnum=snum.replace(/'|,|\+|\./g,"");	
	//controlla sep decimali ripetuto
	if (snum.indexOf(",")!=snum.lastIndexOf(",")) ssnum="";
	//controlla se negativo
	var segno=1;
	if (snum.indexOf("-")==0) 
		{
		segno=-1;
		ssnum=ssnum.substr(1);
		}
	//cerca altri caratteri alfanumerici
	if (ssnum.match("[^0-9]")!=null) ssnum="";

	
	num=parseInt(ssnum);
	if (isNaN(num))
		{
		//stringa o valore nullo
		objToN.b=false;
		objToN.sn=ssnum;
		objToN.n=null;
		}
	else
		{
		ssnum=snum.replace(/'|\.|\+/g,"");
		ssnum=ssnum.replace(/,/g,".");
		var ssegno="";
		if (snum.indexOf("-")==0) 
			{
			ssnum=ssnum.substr(1);
			ssegno="-";
			}
		num=Math.round(parseFloat(ssnum)*Math.pow(10,nd));
		num=num/Math.pow(10,nd);
		objToN.n=num*segno;
				
		//in input: . separatore dei decimali
		ssnum=num.toString();
		var n=ssnum.indexOf(".");
		if (n!=-1)
			{
			//decimale
			var sndec=ssnum.substr(n+1);
			sndec=sndec+"0000000000000000000000".substr(0,nd-sndec.length);
			//intero
			var snint=ssnum.substr(0,n);
			}
		else
			{
			//zeri come decimali
			var sndec="0000000000000000000000".substr(0,nd);
			//tutto intero senza punti di migliaia
			var snint=ssnum;
			}	
			
		objToN.b=true;
		
		//segni di migliaia
		var str=snint;
		snint="";
		while (str.length>3)
			{
			snint="."+str.substr(str.length-3)+snint;
			str=str.substr(0,str.length-3);
			}	
		snint=str+snint;
		//aggiunge la virgola
		if (nd!=0)
			{
			sndec=","+sndec;
			}
		objToN.sn=ssegno+snint+sndec;
		}
	
	return objToN;	
	}

function ctrl_nome_campo(s)
{
	var inizio_campo,idx_punto,nome_form,nome_campo
	inizio_campo = s.substring(0, 8);
	if(inizio_campo.toLowerCase() == "document")
	{
		return s;
	}
	else
	{
		idx_punto = s.indexOf(".");
		nome_form = s.substring(0, idx_punto)
		nome_campo = s.substring(idx_punto+1, s.length)
//		alert(nome_form);
//		alert(nome_campo);
//		alert("document.forms['"+nome_form+"']."+nome_campo);
		return "document.forms['"+nome_form+"']."+nome_campo;
	}
}
function vto_number(s, ndec)
{
	//se non mi viene passato in maniera compatibile con Netscape e soci
	//lo cambio io in document.forms['nomeform'].nomecampo
	var s = ctrl_nome_campo(s);
	
	
	//esce subito se c'è un altro errore in pag
	if (flgErrPag && (cmpErr!=s))
	{
		return;
	}
	var ss=eval(s+".value");
	var nobj=to_number(ss,ndec);
	if (!nobj.b)
		{
		flgErrPag=true;
		cmpErr=s;
//////		eval(s+".select()");
//////		alert("Numero non valido!");
		timerID=setTimeout(s+'.focus();'+s+'.select()', 1);
		eval(s.substring(0,s.lastIndexOf("."))+".errore_js.value='Numero non valido!';");
		return nobj;
		}
	else
	{
		cmpErr='';
		flgErrPag=false;
		eval(s+".value='"+nobj.sn+"'");
////////
		eval(s.substring(0,s.lastIndexOf("."))+".errore_js.value='';");
		return nobj;	
	}
}		
function vgen(campo,lista)
	{

	//se non mi viene passato in maniera compatibile con Netscape e soci
	//lo cambio io in document.forms['nomeform'].nomecampo
	var campo = ctrl_nome_campo(campo);

	//esce subito se c'è già un'errore in pagina
	if (flgErrPag && (cmpErr!=campo))
		return;
	var valore=eval(campo+'.value.toUpperCase()');
	var flg=false;
	var sep="";
	var str="";
	var i=0;
	var i1=lista.indexOf(';',i);
	while (i1!=-1)
		{
		str+=sep + "'"+lista.substr(i,i1-i)+"'";
		i=i1+1;
		sep=",";
		i1=lista.indexOf(';',i);
		}
	eval("var aVal = new Array ("+str+")")
	for (i=0;i<=aVal.length-1;i++)
		{
		if (valore==aVal[i])
			flg=true;
		}
	if (!flg)
	{
		cmpErr=campo;
		flgErrPag=true;
//////		eval(campo+".select()");
//////		alert("Valore non valido !");
		timerID=setTimeout(campo+'.focus();'+campo+'.select()', 1);
		eval(campo.substring(0,campo.lastIndexOf("."))+".errore_js.value='Valore non valido!';");		
	}
	else
		{
		eval(campo+".value='"+valore+"'");		
////////
		eval(campo.substring(0,campo.lastIndexOf("."))+".errore_js.value='';");		
		cmpErr='';
		flgErrPag=false;
		}
	}
	
	
function vnull(campo)
	{
	//se non mi viene passato in maniera compatibile con Netscape e soci
	//lo cambio io in document.forms['nomeform'].nomecampo
	var campo = ctrl_nome_campo(campo);
	
	//esce subito se c'è già un'errore in pagina
	if (flgErrPag && (cmpErr!=campo))
		return;	
	var valore=eval(campo+'.value');
	if (valore=='')
		{
		cmpErr=campo;
		flgErrPag=true;
//////		eval(campo+".select()");
//////		alert("Campo obbligatorio !");
		timerID=setTimeout(campo+'.focus();'+campo+'.select()', 1);
		eval(campo.substring(0,campo.lastIndexOf("."))+".errore_js.value='Campo obbligatorio!';");
		}
	else
	{
		eval(campo+".value='"+valore+"'");		
////////
		eval(campo.substring(0,campo.lastIndexOf("."))+".errore_js.value='';");
		cmpErr='';
		flgErrPag=false;
	}	
	}

function vnum(campo)
	{
	vto_number(campo,0);
	}	

function vval(campo)
	{
	vto_number(campo,2);
	}	

function vint(campo)
	{
	//se non mi viene passato in maniera compatibile con Netscape e soci
	//lo cambio io in document.forms['nomeform'].nomecampo
	var campo = ctrl_nome_campo(campo);

	//esce subito se c'è già un'errore in pagina
	if (flgErrPag && (cmpErr!=campo))
		return;	
	var valore=eval(campo+'.value');
	if (valore.search('[^0-9]')!=-1 && valore != "")
		{
		cmpErr=campo;
		flgErrPag=true;
//////		eval(campo+".select()");
//////		alert("Valore non valido !");
		timerID=setTimeout(campo+'.focus();'+campo+'.select()', 1);
		eval(campo.substring(0,campo.lastIndexOf("."))+".errore_js.value='Valore non valido!';");
		}
	else
		{
		eval(campo+".value='"+valore+"'");		
////////
		eval(campo.substring(0,campo.lastIndexOf("."))+".errore_js.value='';");		
		cmpErr='';
		flgErrPag=false;
		}	
	}

function vintr(campo,range)
	{
	//se non mi viene passato in maniera compatibile con Netscape e soci
	//lo cambio io in document.forms['nomeform'].nomecampo
	var campo = ctrl_nome_campo(campo);
	
	//esce subito se c'è già un'errore in pagina
	if (flgErrPag && (cmpErr!=campo))
		return;	
	var valore=eval(campo+'.value');
	if (valore.search('[^0-9]')!=-1 && valore != "")
		{
		cmpErr=campo;
		flgErrPag=true;
//////		eval(campo+".select()");
//////		alert("Valore non valido !");
		timerID=setTimeout(campo+'.focus();'+campo+'.select()', 1);
		eval(campo.substring(0,campo.lastIndexOf("."))+".errore_js.value='Valore non valido!';");
		}
	else
		{
		var lb=0,ub=0;
		lb=parseInt(range.substr(0,range.indexOf(":")));
		ub=parseInt(range.substr(range.indexOf(":")+1));
		if ((parseInt(valore) < lb) || (parseInt(valore) > ub))
			{
			cmpErr=campo;
			flgErrPag=true;
//////			eval(campo+".select()");
//////			alert("Valore non valido !");
		timerID=setTimeout(campo+'.focus();'+campo+'.select()', 1);
		eval(campo.substring(0,campo.lastIndexOf("."))+".errore_js.value='Valore non valido!';");
			}
		else
			{
			eval(campo+".value='"+valore+"'");		
////////
			eval(campo.substring(0,campo.lastIndexOf("."))+".errore_js.value='';");			
			cmpErr='';
			flgErrPag=false;
			}	
		}	
	}

function obbligatori()
	{
	if (fObb)
		{
		for (i=0;i<=aCampi.length-1;i++)
			{
			eval("vcampo=document.forms[0]."+aCampi[i]+".value");
//			vcampo=' ciaO   LO';
//			alert (String.trim(vcampo));
			if (vcampo=="")
				{
				eval("document.forms[0]."+aCampi[i]+".focus()");			
				alert("Campo "+aNomiC[i]+" richiesto!");
				return false;
				}
			}
		}	
	return true;	
	}	

	
/*****************************************
	Controllo della Partita I.V.A.
	Linguaggio: JavaScript
******************************************/

function vpiva(campo)
{
	var s;
	if (flgErrPag && (cmpErr!=campo))
	{
		return;
	}
	
	pi = eval(campo+".value");
	
	if( pi == '' )
	{
		flgErrPag=false;
		cmpErr='';
		return '';
	}
	if( pi.length != 11 )
	{
		cmpErr=campo;
		flgErrPag=true;
		alert("La lunghezza della partita IVA non è\n" +
			"corretta: la partita IVA dovrebbe essere lunga\n" +
			"esattamente 11 caratteri.\n");
		eval(campo+".select()");
		return;
	}
	validi = "0123456789";
	for( i = 0; i < 11; i++ ){
		if( validi.indexOf( pi.charAt(i) ) == -1 )
		{
			cmpErr=campo;
			flgErrPag=true;
			alert("La partita IVA contiene un carattere non valido `" +
				pi.charAt(i) + "'.\nI caratteri validi sono le cifre.\n");
			eval(campo+".select()");
			return;
		}
	}
	s = 0;
	for( i = 0; i <= 9; i += 2 )
		s += pi.charCodeAt(i) - '0'.charCodeAt(0);
	for( i = 1; i <= 9; i += 2 ){
		c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
		if( c > 9 )  c = c - 9;
		s += c;
	}
	if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) )
	{	
		cmpErr=campo;
		flgErrPag=true;
		alert("La partita IVA non è valida:\n" +
			"il codice di controllo non corrisponde.\n");
		eval(campo+".select()");
		return;
	}
	cmpErr='';
	flgErrPag=false;
	return 'ok';
}


/**************************************
	Controllo del Codice Fiscale
	Linguaggio: JavaScript
***************************************/

function vcf(campo)
{
	
	if (flgErrPag && (cmpErr!=campo))
	{
		return;
	}
	
	var validi, i, s, set1, set2, setpari, setdisp;
	cf = eval(campo+".value");
	if( cf == '' )  
	{
		flgErrPag=false;
		cmpErr='';
		return '';
	}
	cf = cf.toUpperCase();
	if( cf.length == 11 )
	{
		var a = vpiva(campo);
		return a;
	}
	else
	{
		if( cf.length != 16 )
		{
			cmpErr=campo;
			flgErrPag=true;
			alert("La lunghezza del codice fiscale non è\n"
			+"corretta: il codice fiscale dovrebbe essere lungo\n"
			+"esattamente 16 caratteri.\n");
			eval(campo+".select()");
			return;
		}
		validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
		for( i = 0; i < 16; i++ ){
			if( validi.indexOf( cf.charAt(i) ) == -1 )
			{
				cmpErr=campo;
				flgErrPag=true;
				alert("Il codice fiscale contiene un carattere non valido `" +
					cf.charAt(i) +
					"'.\nI caratteri validi sono le lettere e le cifre.\n");
				eval(campo+".select()");
				return;
			}
		}
		set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
		setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
		s = 0;
		for( i = 1; i <= 13; i += 2 )
			s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
		for( i = 0; i <= 14; i += 2 )
			s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
		if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
		{
			cmpErr=campo;
			flgErrPag=true;
			alert("Il codice fiscale non è corretto:\n"+
				"il codice di controllo non corrisponde.\n");
			eval(campo+".select()");
			return;
		}
		cmpErr='';
		flgErrPag=false;
		return 'ok';
	}
}

