function XStato()
{

	var appDrop;
	var i;	
	var a;
	
	a=document.getElementById("drpNazioneReg");
	
	if (a!=null)
	{
		var myEle ;
		var txt;
		var arrCanada=new Array ("Alberta", "British Columbia", "Manitoba", "New Brunswick", "Newfoundland", "Northwest Territories", "Nova Scotia", "Ontario", "Prince Edward Island", "Quebec", "Saskatchewan", "Yukon Territory");
		var arrUSA=new Array ("Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "District of Columbia", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana","Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma","Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont","Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming");

		a=a.options[a.options.selectedIndex].text;
		appDrop=document.getElementById("drpStatoReg");
			
		for (i=appDrop.options.length;i>=0;i--)
		{
			//appDrop.options.remove(i);
			appDrop.options[i]=null;
		}
		
		//Metto l'elemento da selezionare
		myEle = document.createElement("option"); 
		myEle.setAttribute('value','Nessuno'); 
		txt= document.createTextNode(''); 
		myEle.appendChild(txt); 
		appDrop.appendChild(myEle);

		if (a=='Canada')
		{
			for (var x = 0 ; x < arrCanada.length  ; x++ ) 
			{
				myEle = document.createElement("option"); 
				myEle.setAttribute('value',arrCanada[x]); 
				txt= document.createTextNode(arrCanada[x]); 
				myEle.appendChild(txt); 
				appDrop.appendChild(myEle);
			}
			return true;
		}
		
		if (a=='U.S.A.')
		{
			for (var x = 0 ; x < arrUSA.length  ; x++ ) 
			{
				myEle = document.createElement("option"); 
				myEle.setAttribute('value',arrUSA[x]); 
				txt= document.createTextNode(arrUSA[x]); 
				myEle.appendChild(txt); 
				appDrop.appendChild(myEle);
			}
			
			return true;
		}
		appDrop.enabled=false;
		return true;
	}
}

function Trim(StrToTrim)
{
    // CONTROLLA CHE IL VALORE IN INPUT SIA DI TIPO STRING
    if (typeof StrToTrim != "string")
    {
        return StrToTrim;
    }

    // CATTURA IL PRIMO CARATTERE DELLA STRINGA PER CONTROLLARE CHE NON SIA UNO SPAZIO VUOTO
    var StrBlank = StrToTrim.substring(0, 1);

    // ELIMINA LO SPAZIO VUOTO DALLA PRIMA POSIZIONE DELLA STRINGA
    while (StrBlank == " ")
    {
        StrToTrim = StrToTrim.substring(1, StrToTrim.length);
        StrBlank = StrToTrim.substring(0, 1);
    }

    // CATTURA L'ULTIMO CARATTERE DELLA STRINGA PER CONTROLLARE CHE NON SIA UNO SPAZIO VUOTO
    StrBlank = StrToTrim.substring(StrToTrim.length - 1, StrToTrim.length);

    // ELIMINA LO SPAZIO VUOTO DALL'ULTIMA POSIZIONE DELLA STRINGA
    while (StrBlank == " ")
    {
        StrToTrim = StrToTrim.substring(0, StrToTrim.length-1);
        StrBlank = StrToTrim.substring(StrToTrim.length-1, StrToTrim.length);
    }

    // ELIMINA POTENZIALI SPAZI VUOTI MULTIPLI ALL'INIZIO ED ALLA FINE DI UNA STRINGA
    while (StrToTrim.indexOf("  ") != -1)
    {
        StrToTrim = StrToTrim.substring(0, StrToTrim.indexOf("  "));
        StrToTrim += StrToTrim.substring(StrToTrim.indexOf("  ") + 1, StrToTrim.length);
    }

    // RESTITUISCE IL VALORE FINALE SENZA SPAZI VUOTI DI CONTORNO
    return StrToTrim;
}


function VerificaPIVA()
{
	var PIVA=document.getElementById("txtPIVA_CODFISCReg");
	
	var errore=document.getElementById("spnPIVA");
	var errorePIVA=document.getElementById("spnErrorePIVA");
	
	errore.className ="hidden";
	errorePIVA.className ="hidden";
	
	var a;
	a=document.getElementById("drpNazioneReg");

	a=a.options[a.options.selectedIndex].text;
	
	if (a=='Italia')
	{
		PIVA=Trim(PIVA.value);

		if (PIVA.length==11)
		{
			errorePIVA.className ="hidden";
			errore.className ="hidden";
			return true; 
		}
		else
		{
			if (PIVA.length==16 || PIVA.length==17)
			{
				if (codiceFISCALE(PIVA))
				{
					errorePIVA.className ="hidden";
					errore.className ="hidden";
					return true;
				}
				else
				{
					errore.className ="hidden";
					errorePIVA.className ="show";
					return false;
				}
			}
			else
			{
				if (PIVA.length>0)
				{
					errore.className ="hidden";
					errorePIVA.className ="show";
				}
				else
				{
					errore.className ="show";
					errorePIVA.className ="hidden";
				}
				return false;
			}
		}
	}
	else
	{
		errorePIVA.className ="hidden";
		errore.className ="hidden";
		return true;
	}
}

function codiceFISCALE(cfins)
{
   var cf = cfins.toUpperCase();
   var cfReg = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/;
   var strcognome="";
   var strnome="";
   var Nome="";
   var Cognome="";

//Verifica dei primi 6 caratteri. Estraggo i caratteri del Nome e del Cognome e codice fiscale 
  document.Login.txtPIVA_CODFISCReg.value= document.Login.txtPIVA_CODFISCReg.value.toUpperCase()
   Nome=document.Login.txtNomeReg.value.toUpperCase()
   Cognome=document.Login.txtCognomeReg.value.toUpperCase()
  
   for (i=0; i<Nome.length; i++) 
       { 
        switch (Nome.charAt(i)) 
              {
               case 'A':
               case 'E':
               case 'I':
               case 'O':
               case 'U': break;
               default:
 	if((Nome.charAt(i)<='Z')&& (Nome.charAt(i)>'A'))
                  strnome = strnome + Nome.charAt(i);
              }
       }
    if (strnome.length > 3) 
      {
        strnome = strnome.substring(0,1) + strnome.substring(2,4);
      } 
    else {
          if (strnome.length < 3) 
            {
             for (i=0; i<Nome.length; i++) 
                {
                  switch (Nome.charAt(i)) 
                        {
                         case 'A':
                         case 'E':
                         case 'I':
                         case 'O':
                         case 'U': strnome = strnome + Nome.charAt(i);
                        }
                }
             if (strnome.length < 3) 
               {
                for (i=strnome.length; i<=3; i++) 
                   {strnome = strnome + 'X';}
               }
            }
          strnome = strnome.substring(0,3);
         }
		 
//Estraggo le lettere del cognome
	for (i=0; i<Cognome.length; i++) 
        {
         switch (Cognome.charAt(i)) 
                {
                  case 'A':
                  case 'E':
                  case 'I':
                  case 'O':
                  case 'U': break;            
                  default : 
                  if((Cognome.charAt(i)<='Z')&& (Cognome.charAt(i)>'A'))
                   strcognome = strcognome + Cognome.charAt(i);
                }
        }
    if (strcognome.length < 3) 
      {
       for (i=0; i<Cognome.length; i++) 
          {
           switch (Cognome.charAt(i)) 
                 {
                  case 'A':
                  case 'E':
                  case 'I':
                  case 'O':
                  case 'U': strcognome = strcognome + Cognome.charAt(i);
                 }
          }
       if (strcognome.length < 3) 
         {
          for (i=strcognome.length; i<=3; i++) 
             { strcognome = strcognome + 'X'; }
         }
      }
   strcognome = strcognome.substring(0,3);
   
   if ((strcognome+strnome)!=cf.substring(0,6))
   	return false;

   if (!cfReg.test(cf))
      return false;
      
   //verifico il codice fiscale di 16 cifre
   if (cf.length==16)
   {
		var set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		var set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
		var setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		var setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
		var 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;
		return true;
   }
   else
   {
	return true;
   }
}

function fncKeyStop(Campo) 
{
	// Check if the control key is pressed.
	// If the Netscape way won't work (event.modifiers is undefined),
	// try the IE way (event.ctrlKey)
	var ctrl = typeof event.modifiers == 'undefined' ?
	event.ctrlKey : event.modifiers & Event.CONTROL_MASK;
	
	// Check if the 'V' key is pressed.
	// If the Netscape way won't work (event.which is undefined),
	// try the IE way (event.keyCode)
	var v = typeof event.which == 'undefined' ?
	event.keyCode == 86 : event.which == 86;
	
	// If the control and 'V' keys are pressed at the same time
	if ( ctrl && v )
	{
		var appCampo=document.getElementById(Campo);
		appCampo.value='';
		// ... discard the keystroke and clear the text box
		//document.forms['Login'].elements['txtEmailVerifica'].value = '';
		return false;
	}
	return true;
}

function destro1(e) 
{ 
	//Per NN dobbiamo usare WHICH 
	if (navigator.appName == 'Netscape' && (e.which > 1))
	{ 
		return false; 
	} 
	else
	{ 
		return true; 
	} 
} 
	
function destro2()
{ 
	//Una funzioncina per IE e Mozilla 
	return false; 
} 

document.onmousedown=destro1; 
document.onmouseup=destro1; 
document.oncontextmenu = destro2; 


