/*=================================================================
  Avvia una finestra secondaria
==================================================================*/
function apriWin(quale, x, y, mleft, mtop){
  // mleft e mtop=-1, posiziona la finestra centrata nello schermo
  // questo sistema non funziona con finestre aperte su link esterni al sito e genera un errore
  // perciò, passando come parametro -2, viene evitato il posizionamento

  if(x > screen.availWidth) x = screen.availWidth;
  if(y > screen.availHeight) y = screen.availHeight;

  finestra = window.open(quale, "PopupWindow", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,width=" + x + ",height=" + y);

  if(mleft==-1 || mtop ==-1){
    mleft = screen.availWidth/2 - x/2;
    mtop = screen.availHeight/2 - y/2;
  }
  if(mleft!=-2){
    finestra.moveTo(mleft, mtop);
    finestra.focus();
  }
}


/*=================================================================
  Avvia una finestra secondaria a dimensioni max dello schermo
==================================================================*/
function apriWinMax(quale){

  var w = screen.availWidth||screen.width;
  var h = screen.availHeight||screen.height;


  finestra = window.open(quale, "PopupWindow", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,width=200,height=200");
  finestra.moveTo(0, 0);
  finestra.resizeTo(w,h);
}


/*=================================================================
  Avvia la finestra di download
==================================================================*/
function Download(iddownload){
  apriWin("http://www.danea.it/service/download/download.asp?ID=" + iddownload, 500, 430, -2, -2)
}


/*=================================================================
  Verifica validità email
==================================================================*/
function ValidaEmail(field) {
		
	if (field.value.indexOf("@") == -1) return(false);
	if (field.value.indexOf("@") != field.value.lastIndexOf("@")) return(false);
	if (field.value.indexOf("@") > field.value.lastIndexOf(".")) return(false);
	if (field.value.indexOf(",") != -1 ||
		field.value.indexOf(":") != -1 ||
		field.value.indexOf(";") != -1 ||
		field.value.indexOf(" ") != -1 ||
		field.value.indexOf("\"") != -1 ||		
		field.value.indexOf("\'") != -1 ||				
		field.value.indexOf("<") != -1 ||	
		field.value.indexOf(">") != -1) return(false);
		
	return(true);
}

/*=================================================================
verifica di cod. fiscale, p.iva ed entrambe
==================================================================*/
function ControllaCF(cf)
{
	var validi, i, s, set1, set2, setpari, setdisp;
	if( cf == '' )  return '';
	cf = cf.toUpperCase();
	if( cf.length != 16 )
		return "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 "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 "Il codice fiscale non è corretto";

	return "";
}


function ControllaPIVA(pi)
{
	if( pi == '' )  return '';
	if( pi.length != 11 )
		return "La lunghezza del  Codice Fiscale / partita IVA non è corretto!";
	validi = "0123456789";
	for( i = 0; i < 11; i++ ){
		if( validi.indexOf( pi.charAt(i) ) == -1 )
			return "Il Codice Fiscale / 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 "Il Codice Fiscale / partita IVA non è valido";

	return '';
}


function verificaCFPI(field)
{
	cod=field.value;

	if( cod == '' || cod.length == 13)
		err = '';
	else if( cod.length == 16 )
		err = ControllaCF(cod);
	else if( cod.length == 11 )
		err = ControllaPIVA(cod);
	else
		err = "Il codice introdotto non è valido:\n\n" +
			"  - un codice fiscale deve essere lungo 16 caratteri\n\n" +
			"  - una partita IVA deve essere lunga 11 caratteri\n";

	return(err);
}


function Disab(btn)
{
btn.disabled = true;
return(true);
}
