
function checkPIVA(){
	l_val=document.frmpiva.partitaiva.value
	l_mail = document.frmpiva.email.value
	if ((l_val=='')||(l_mail=='')){				
		frmpiva.l_msg.value=278;
		document.frmpiva.submit();	
		return false;
	}	
	if ((!CheckPartitaIVA(l_val))&&(!ControllaCF(l_val))){
		document.frmpiva.l_msg.value=269;		
		document.frmpiva.partitaiva.value="";
		document.frmpiva.submit();
		return false;
	}
	if (!isEmail(l_mail)){
		document.frmpiva.l_msg.value=258;
		document.frmpiva.submit();
		return false;
	}
	document.frmpiva.submit();
}

function apripopup(link,w,h){
		if(window.pop) pop.close();
		t = (screen.height-h)/2;
		l = (screen.width-w)/2;
	 	pop = window.open(link,'cv','toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,left='+l+',top='+t+',width='+w+',height='+h);
	 	pop.focus();
	 	}

function apripopup_resize(link,w,h){
		if(window.pop) pop.close();
		t = (screen.height-h)/2;
		l = (screen.width-w)/2;
	 	pop = window.open(link,'cv','toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=no,left='+l+',top='+t+',width='+w+',height='+h);
	 	pop.focus();
	 	}

function apripopup_resize2(link,w,h){
		if(window.pop) pop.close();
		t = (screen.height-h)/2;
		l = (screen.width-w)/2;
	 	pop = window.open(link,'cv','toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,left='+l+',top='+t+',width='+w+',height='+h);
	 	pop.focus();
	 	}

function aprinascosta(link,nomefin){
		 	nascosta.location.href = link
		}

function aprinascosta_logout(link,nomefin){
		 	window.open(link,nomefin,'width=50,height=50,top=2000,left=2000')
		}

function CheckPartitaIVA(pi){
	if( pi.length != 11 ){
		return false;
		//"La lunghezza della partita IVA non è\n" + "corretta: la partita IVA dovrebbe essere lunga\n" + "esattamente 11 caratteri.\n"
	}
	validi = "0123456789";
	for( i = 0; i < 11; i++ ){
		if( validi.indexOf( pi.charAt(i) ) == -1 ){
			return false;
			//"La partita IVA contiene un carattere non valido `" + pi.charAt(i) + "'.\nI caratteri validi sono le cifre.\n"
		}
	}
	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) ){
		return false;
		//"La partita IVA non è valida:\n" + "il codice di controllo non corrisponde.\n"
	}
	return true;
}

function ControllaCF(cf){
	var validi, i, s, set1, set2, setpari, setdisp;
	cf = cf.toUpperCase();
	if( cf.length != 16 )
		return false;
		//"La lunghezza del codice fiscale non è\n"
		//+"corretta: il Codice Fiscale dovrebbe essere lungo\n"
		//+"esattamente 16 caratteri.\n";
	validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	for( i = 0; i < 16; i++ ){
		if( validi.indexOf( cf.charAt(i) ) == -1 )
			return false;
				//"Il Codice Fiscale contiene un carattere non valido `" +
				//cf.charAt(i) +
				//"'.\nI caratteri validi sono le lettere e le cifre.\n";
	}
	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) )
		return false;
			//"Il Codice Fiscale non è corretto:\n"+
			//"il codice di controllo non corrisponde.\n";
	return true;
}
	
function valpw(){
	var oldpw = document.frmpsw.oldpassword.value.toUpperCase();
	var pw = trim(document.frmpsw.nuovapassword.value.toUpperCase());
	var pw2 = trim(document.frmpsw.confermapassword.value.toUpperCase());
	l_piva = document.frmpsw.l_piva.value.toUpperCase();
	l_alias = document.frmpsw.l_alias.value.toUpperCase();
	l_descrizione = document.frmpsw.l_descrizione.value.toUpperCase();
	
	if (!oldpw){
		document.frmpsw.l_msg.value=250;
		document.frmpsw.action.value=0;
		document.frmpsw.submit();
		return false;
	}
	
	if(pw){
		if (pw.length < 8) {
			document.frmpsw.l_msg.value=251;
			document.frmpsw.action.value=0;
			document.frmpsw.submit();
			return false;
		}
		
		if(pw!=pw2){
			document.frmpsw.l_msg.value=252;
			document.frmpsw.action.value=0;
			document.frmpsw.nuovapassword.value = "";
			document.frmpsw.confermapassword.value = "";
			document.frmpsw.nuovapassword.focus();
			document.frmpsw.submit();
			return false;
		}
	}
	else{
		document.frmpsw.l_msg.value=253;
		document.frmpsw.action.value=0;
		document.frmpsw.nuovapassword.focus();
		document.frmpsw.submit();
		return false;
	}
	
	//controllo che la password inserita non sia simile alla descrizione
	if ((l_descrizione.length > 0) && !confrontastringhe(l_descrizione,pw))  {
		document.frmpsw.l_msg.value=254;
		document.frmpsw.action.value=0;
		document.frmpsw.submit();
		return false;
	}
	
	//controllo che la password inserita non sia simile al NickName
	if ((l_alias.length > 0) && !confrontastringhe(l_alias,pw))  {
		document.frmpsw.l_msg.value=255;
		document.frmpsw.action.value=0;
		document.frmpsw.submit();
		return false;
	}
	
	//controllo che la password inserita non sia simile alla piva
	if ((l_piva.length > 0) && !confrontastringhe(l_piva,pw))  {
		document.frmpsw.l_msg.value=256;
		document.frmpsw.action.value=0;
		document.frmpsw.submit();
		return false;
	}
	
	//return true;
	document.frmpsw.submit();
	
	
}

function valconv() {
	var c = document.frmconv.nuovaconv.value;
	if (!c){
		document.frmconv.l_msg.value=257;
		document.frmconv.action.value=0;
		document.frmconv.submit();
		return false;
	}	
	document.frmconv.submit();
}

function valmail(){
	var s = document.frmmail.nuovamail.value;
	var t = document.frmmail.nuovamail2.value;
	if (s){
		if (s==t){
			if (!isEmail(s)){
				document.frmmail.l_msg.value=258;
				document.frmmail.action.value=0;
				document.frmmail.submit();
				return false;
				}
			}
		else{
			document.frmmail.l_msg.value=259;
			document.frmmail.action.value=0;
			document.frmmail.submit();
			return false;
		}
	}
	else{
		document.frmmail.l_msg.value=13;
		document.frmmail.action.value=0;
		document.frmmail.submit();
		return false;
	}
	document.frmmail.submit();	
}
	
function isEmail(s){
    var i = 1;
    var sLength = s.length;
    var nochar=", ;:'"
	for(var j=0; j < sLength ; j++)
	{
		if (nochar.indexOf(s.charAt(j)) != -1) false;
	}
	while ((i < sLength) && (s.charAt(i) != "@"))
	{ i++
	}
	if ((i >= sLength) || (s.charAt(i) != "@")) false;
		else i += 2;
	while ((i < sLength) && (s.charAt(i) != "."))
	{ i++
	}
	if ((i >= sLength - 2) || (s.charAt(i) != ".")) false;
		else return true;
}
		
function f_ordina(campo){
	document.form1.ordina.value=campo;
	document.form1.submit();
}
function f_pagine(suc,pag){
	document.form1.l_succ.value=suc;
	document.form1.l_pagina.value=pag;
	document.form1.submit();
}


function checkpass(){
	var primastr = document.frmreg.n_utente.value
	var secstr = document.frmreg.pass.value
	
	if ((!primastr)||(!secstr)||(!document.frmreg.pass2.value)||(!document.frmreg.descrizione.value)){
		document.frmreg.l_msg.value=278;
		document.frmreg.action='profilo_utenti.asp';
		document.frmreg.submit();
		return false;	
	}
	
	if ((CheckPartitaIVA(primastr))||(ControllaCF(primastr))){
		document.frmreg.l_msg.value=262;
		document.frmreg.action='profilo_utenti.asp';
		document.frmreg.submit();
		return false;
	}
	if((secstr)!=(document.frmreg.pass2.value)){
		document.frmreg.l_msg.value=252;
		document.frmreg.action='profilo_utenti.asp';
		document.frmreg.submit();
		return false;
	}
	if (secstr.length < 8) {
			document.frmreg.l_msg.value=251;
			document.frmreg.action='profilo_utenti.asp';
			document.frmreg.submit();
			return false;
	}
	if (primastr.length < secstr.length){
		var primastr = document.frmreg.pass.value
		var secstr = document.frmreg.n_utente.value
	}

	if(primastr.indexOf(secstr)==0){
		document.frmreg.l_msg.value=264;
		document.frmreg.action='profilo_utenti.asp';
		document.frmreg.submit();
		return false;		
	}
	
	if(document.frmreg.descrizione.value.length==0){
		document.frmreg.l_msg.value=265;
		document.frmreg.action='profilo_utenti.asp';
		document.frmreg.submit();
		return false;	
	} 
	var s = document.frmreg.nuovamail.value;
	var t = document.frmreg.nuovamail2.value;
	if (s){
		if (s==t){
			if (!isEmail(s)){
				document.frmreg.l_msg.value=258;
				document.frmreg.action='profilo_utenti.asp';
				document.frmreg.submit();
				return false;
				}
			}
		else{
			document.frmreg.l_msg.value=259;
			document.frmreg.action='profilo_utenti.asp';
			document.frmreg.submit();
			return false;
		}
	}
	document.frmreg.submit();
}

function chkalias(){
	var primastr = document.frmalias.alias_pass.value
	var secstr = document.frmalias.l_alias.value
	
	if (!secstr){
		document.frmalias.l_msg.value=132;
		document.frmalias.action.value=0;
		document.frmalias.submit();
		return false;
	}
	
	if ((CheckPartitaIVA(secstr))||(ControllaCF(secstr))){
		document.frmalias.l_msg.value=266;
		document.frmalias.action.value=0;
		document.frmalias.submit();
		return false;
	}

	if (document.frmalias.alias_pass.value.length < document.frmalias.l_alias.value.length){
		var primastr = document.frmalias.l_alias.value
		var secstr = document.frmalias.alias_pass.value
	}
	if(primastr.indexOf(secstr)==0){
		document.frmalias.l_msg.value=267;
		document.frmalias.action.value=0;
		document.frmalias.submit();
		return false;	
	}
	document.frmalias.submit();
}


function checkmodulo(frm,pg){
	for(var j=0; j < document.forms[frm].length ;j++){
		if(document.forms[frm].elements[j].type=="text"){
			if(!document.forms[frm].elements[j].value){
				document.forms[frm].l_msg.value=278;
				document.forms[frm].action=pg;
				document.forms[frm].submit();
				return false;
			}
			if(document.forms[frm].elements[j].name=="partitaiva"&&(!CheckPartitaIVA(document.forms[frm].partitaiva.value)&&!ControllaCF(document.forms[frm].partitaiva.value))){
				document.forms[frm].l_msg.value=269;
				document.forms[frm].action=pg;
				document.forms[frm].submit();
				return false;
			}	
			else if(document.forms[frm].elements[j].name=="email"&&!isEmail(document.forms[frm].email.value)){
				document.forms[frm].l_msg.value=258;
				document.forms[frm].action=pg;
				document.forms[frm].submit();
				return false;
			}
	
		}
		if (document.forms[frm].elements[j].type=="password"){
			if(!document.forms[frm].elements[j].value){
				document.forms[frm].l_msg.value=278;
				document.forms[frm].action=pg;
				document.forms[frm].submit();
				return false;
			}
		
		}
	}
	document.forms[frm].submit();
}

function onlynum(e){
	// permette l'inserimento solo di numeri e punto
	// si usa onKeyPress="return onlynum(event)"
		if(e.which){
			if((e.which<48 || e.which>57))
				return false;
		}
		else if(e.keyCode){
			if((e.keyCode<48 || e.keyCode>57))
				return false;
		}
		return true;
	}
	
	
function onlyNumAndDot(e){
	// permette l'inserimento solo di numeri e punto
	// si usa onKeyPress="return onlyNumAndDotevent)"
		if(e.which){
			if((e.which<48 || e.which>57) && !(e.which==46)&& !(e.which==44))
				return false;
		}
		else if(e.keyCode){
			if((e.keyCode<48 || e.keyCode>57) && !(e.keyCode==46) && !(e.keyCode==44))
				return false;
		}
		return true;
}

function confrontastringhe(testo1,testo2) {
	y = 6;
	if (testo1.length < y ) { y = testo1.length; };
	if (testo2.length < y ) { y = testo2.length; };
	for (i = 0;i <= testo2.length - y;i++) {
		s = testo2.substr(i,y);
		for (j = 0;j <= testo1.length - y;j++) {
			ss = testo1.substr(j,y);
			if (s==ss) {
				return false;
			}
		}
	}	
	return true;
}

function apricalendario(campo){
	w = 280;
	h = 240;
	t = (screen.height-h)/2;
	l = (screen.width-w)/2;
 	popcal = window.open('calendario.asp?campo='+campo,'cal','toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,left='+l+',top='+t+',width='+w+',height='+h);
 	popcal.focus();
}

function onlynumperdata(e){
// permette l'inserimento solo di numeri e /
// si usa onKeyPress="return onlynumperdata(event)"
	if(e.which){
		if((e.which<47 || e.which>57) && !(e.which==46))
			return false;
	}
	else if(e.keyCode){
	 if(!(e.keyCode==108) && !(e.keyCode==13)){
		if((e.keyCode<47 || e.keyCode>57) && !(e.keyCode==46)){
			return false;
			}
		return true;
		}
	}
return false;
}

function mcDate(datein,formato){
	var indate=datein;
	if (indate != ""){
		dayArray = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

		if (formato=='dd/mm/yy' || formato=='dd/mm/yyyy' || formato=='mm/dd/yy' || formato=='mm/dd/yyyy')
			{
			// controlla se è giorno-mese o mese-giorno
			if (formato=='dd/mm/yy' || formato=='dd/mm/yyyy')
				gm=1;
			else
				gm=0;

			// controlla se l'anno deve essere di quattro cifre [COMMENTATO PER PERMETTERE IL POPOLAMENTO DEI CAMPI]
			if (formato=='mm/dd/yyyy' || formato=='dd/mm/yyyy')
				al=1;
			else
				al=0;
			}
		else
			{
			alert('Errore nel programma: formato non valido')
			}


		if (indate.indexOf("-")!=-1)
			{
			var sdate = indate.split("-")
			}
		else
			{
			var sdate = indate.split("/")
			}

		if (!IsNumeric(sdate[0]) || !IsNumeric(sdate[1]) || !IsNumeric(sdate[2]))
			{
			errore=1;
			alert('Data non valida o non nel formato ' + formato);
			return false;
			}


		if (gm==1)
			{
			giorno = parseInt(sdate[0], 10);
			mese = parseInt(sdate[1], 10);
			}
		else
			{
			giorno = parseInt(sdate[1], 10);
			mese = parseInt(sdate[0], 10);
			}
		anno = parseInt(sdate[2],10);

		errore = 0;

		if (isNaN(giorno) || isNaN(mese) || isNaN(anno))
			{
			errore=1;
			}
		else
			{
			// se sono entrato qui l'anno è sicuramente numerico

			// e se è divisibile per 4 è bisestile (quasi sempre)
			if ((anno % 4) == 0)
				{
				dayArray[1]=29;
				}

			if ((giorno>31 || giorno<1 || mese<1 || mese>12))
				{
				//errore generico su giorno o mese
				errore=2;
				}
			else
				{
				if (giorno > dayArray[mese-1])
					{
					//31 giorni su mesi di 30 o roba simile
					errore=3;
					}
			/*	else [COMMENTATO PER PERMETTERE IL POPOLAMENTO DEI CAMPI]
					{
					if (al==0 && anno>99)
						{
						// anno espresso con 4 cifre quando era richiesto di due
						errore=4;
						}
					if (al==1 && anno < 1000)
						{
						// anno espresso con meno di 4 cifre quando era richiesto di quattro
						errore=5;
						}

					}*/
				}
			}

		if (errore>0)
			{
			alert('Data non valida o non nel formato ' + formato);
			return false;
			}
		else
			{
			return true;
			}
	}//se il valore non è vuoto
	else
		return true;
}

function trim(stringa) {
	while (stringa.substring(0,1) == ' '){
		stringa = stringa.substring(1, stringa.length);
	}
	while (stringa.substring(stringa.length-1, stringa.length) == ' '){
		stringa = stringa.substring(0,stringa.length-1);
	}
	return stringa;
}

//INIBISCE IL CTRL+V SUL CAMPO DI CONFERMA EMAIL PER FIREFOX
//PER EXPLORER E' INIBITO DA ONPASTE NELLA RIGA DELL'INPUT
function filter(event) {
  var ctrl = (typeof event.modifiers == "undefined") ? event.ctrlKey : event.modifiers & event.CONTROL_MASK;
  var charCode = (event.which) ? event.which : event.keyCode;
  if(ctrl && charCode == 118 ) {
    return false;
  }
  if(event.keyCode == 32){
    return false;
  }
}
