
// ******************************************
// Esempio di script di controllo ed invio di un form
// ******************************************
function FormSubmitEsempio(urlroot){
  var ko=0; var kon=''; var err='';
  // Creazione oggetti dei campi 
  var azienda=document.getElementById('azienda');  var nome_cognome=document.getElementById('nome_cognome');  var PI_CF=document.getElementById('PI_CF');  var e_mail=document.getElementById('e_mail');
  var tel=document.getElementById('tel');  var fax=document.getElementById('fax');  var cell=document.getElementById('cell');  var adress=document.getElementById('adress');
  var cap=document.getElementById('cap');  var citta=document.getElementById('citta');  var id_paese=document.getElementById('id_paese');  var provincia=document.getElementById('provincia');
  var loginn=document.getElementById('loginn');  var lpw=document.getElementById('lpw');

  // Controllo campi parte informazioni cliente 
  if(azienda.value==''){ko++; err+="Azienda\n"; azienda.style.background=ErrFld;}else{azienda.style.background=OkFld;}
  if(nome_cognome.value==''){ko++; err+="Nome\n"; nome_cognome.style.background=ErrFld;}else{nome_cognome.style.background=OkFld;}
  if(PI_CF.value==''){ko++; err+="CF\n"; PI_CF.style.background=ErrFld;}else{PI_CF.style.background=OkFld;}
  if(e_mail.value=='' || checkEmail(e_mail.value)==0){ko++; err+="eMail\n"; e_mail.style.background=ErrFld;}else{e_mail.style.background=OkFld;}
  if(tel.value==''|| checkTel(tel.value)==0){ko++; err+="Telefono\n"; tel.style.background=ErrFld;}else{tel.style.background=OkFld;}
  if(checkTel(fax.value)==0){ko++; err+="Fax\n"; fax.style.background=ErrFld;}else{fax.style.background=OkFld;}
  if(checkTel(cell.value)==0){ko++; err+="Cellulare\n"; cell.style.background=ErrFld;}else{cell.style.background=OkFld;}
  if(adress.value==''){ko++; err+="Indirizzo\n"; adress.style.background=ErrFld;}else{adress.style.background=OkFld;}
  if(cap.value==''){ko++; err+="CAP\n"; cap.style.background=ErrFld;}else{cap.style.background=OkFld;}
  if(citta.value==''){ko++; err+="Città\n"; citta.style.background=ErrFld;}else{citta.style.background=OkFld;}
  if(id_paese.value==''){ko++; err+="Paese\n"; id_paese.style.background=ErrFld;}else{id_paese.style.background=OkFld;}
  if(provincia.value==''){ko++; err+="provincia\n"; provincia.style.background=ErrFld;}else{provincia.style.background=OkFld;}
  if(loginn.value==''){ko++; err+="login\n"; loginn.style.background=ErrFld;}else{loginn.style.background=OkFld;}
  if(lpw.value==''){ko++; err+="pw\n"; lpw.style.background=ErrFld;}else{lpw.style.background=OkFld;}
  if(ko==1){lett='Il campo indicato è obbligatorio o non è stato compilato in modo corretto:\n\n'+err;}
  if(ko>1){lett='I campi indicati sono obbligatori o non sono stati compilati in modo corretto:\n\n'+err;}

  if(ko>0){alert(lett);} else{document.getElementById('d1prof').submit();}
}



	
// ***********************
// Funzioni varie per i form
// ***********************
function CheckThis(id){
  var stato=document.getElementById(id).checked;
  if(stato==true){stato = false;}else{stato = true;}
  document.getElementById(id).checked = stato;
}
// Mostra il calendario in pop-up
function CalendarioPop(campo,td) {
  var dt=document.getElementById(campo).value;
  var h=155;
  if(td=='dt'){h=175;}
  myWindow = window.open('calendario_pop.php?cm=d1.'+campo+'&dt='+dt+'&td='+td,'Finestra','toolbar=no,scrollbars=no,resizable=no,directories=no,menubar=no,status=no,width=183,height='+h);
}


// ********************************************************************************************************************
// Funzioni onKeypress  *** chiamare così: ONKEYPRESS="if(event.keyCode>0)IntCheck(event); else if(IntCheck(event)==1)return false;"
// ********************************************************************************************************************
function IntChk(event){
  // Caratteri ammessi: numeri (48-57)
  var r=1; var e=0; if(event.keyCode>0){var k=event.keyCode; e=1;}else{var k=event.which;}
  if(k>=48 && k<=57){r=0;}
  if(e==1 && r==1){event.returnValue=false;}else if(r==1){return 1;}
}
function DoubleChk(event){
  // Caratteri ammessi: numeri (48-57)  +(43)   -(45)  .(46)  // no ,(44) 
  var r=1; var e=0; if(event.keyCode>0){var k=event.keyCode; e=1;}else{var k=event.which;}
  if(k>=48 && k<=57 || k==43 || k>=45 && k<=46){r=0;}
  if(e==1 && r==1){event.returnValue=false;}else if(r==1){return 1;}
}
function TelChk(event){
  // Caratteri ammessi: numeri (48-57)  +(43)  .(46) 
  var r=1; var e=0; if(event.keyCode>0){var k=event.keyCode; e=1;}else{var k=event.which;}
  if(k>=48 && k<=57 || k==43 || k==46){r=0;}
  if(e==1 && r==1){event.returnValue=false;}else if(r==1){return 1;}
}
function DataChk(event){
  // Caratteri ammessi: numeri (48-57)  /(47)
  var r=1; var e=0; if(event.keyCode>0){var k=event.keyCode; e=1;}else{var k=event.which;}
  if(k>=48 && k<=57 || k==47){r=0;}
  if(e==1 && r==1){event.returnValue=false;}else if(r==1){return 1;}
}
function OraChk(event){
  // Caratteri ammessi: numeri (48-57)  :(58)
  var r=1; var e=0; if(event.keyCode>0){var k=event.keyCode; e=1;}else{var k=event.which;}
  if(k>=48 && k<=57 || k==58){r=0;}
  if(e==1 && r==1){event.returnValue=false;}else if(r==1){return 1;}
}
function DataTChk(event){
  // Caratteri ammessi: numeri (48-57)  /(47) :(58)  space(32)
  var r=1; var e=0; if(event.keyCode>0){var k=event.keyCode; e=1;}else{var k=event.which;}
  if(k>=48 && k<=57 || k==47 || k==58 || k==32){r=0;}
  if(e==1 && r==1){event.returnValue=false;}else if(r==1){return 1;}
}
function MailChk(event){
  // Caratteri ammessi: numeri (48-57) e lettere minuscole(97-122)  -(45)  .(46)  @(64)  _(95)
  var r=1; var e=0; if(event.keyCode>0){var k=event.keyCode; e=1;}else{var k=event.which;}
  if(k>=48 && k<=57 || k>=97 && k<=122 || k==45 || k==46 || k==64 || k==95){r=0;}
  if(e==1 && r==1){event.returnValue=false;}else if(r==1){return 1;}
}
function AnsiChk(event){
  // Caratteri ammessi: il SET ANSI inclusi gli accentati esclusi i caratteri speciali
  var r=1; var e=0; if(event.keyCode>0){var k=event.keyCode; e=1;}else{var k=event.which;}
  if(k>=32 && k<=126 || k==163 || k>=192 && k<=255){r=0;} 
  if(e==1 && r==1){event.returnValue=false;}else if(r==1){return 1;}
}
function AlNuChk(event){
  // Caratteri ammessi: solo lettere (maiuscole e minuscole), numeri e spazio, senza punteggiatura e accentate
  var r=1; var e=0; if(event.keyCode>0){var k=event.keyCode; e=1;}else{var k=event.which;}
  if(k>=48 && k<=57 || k==32 || k>=65 && k<=90 || k>=97 && k<=122){r=0;} 
  if(e==1 && r==1){event.returnValue=false;}else if(r==1){return 1;}
}
function NoSpcChk(event){
  // Caratteri ammessi: solo lettere (maiuscole e minuscole), numeri, _ 
  var r=1; var e=0; if(event.keyCode>0){var k=event.keyCode; e=1;}else{var k=event.which;}
  if(k>=48 && k<=57 || k>=65 && k<=90 || k>=97 && k<=122 || k==95){r=0;} //
  if(e==1 && r==1){event.returnValue=false;}else if(r==1){return 1;}
}
function NumLetChk(event){
  // Caratteri ammessi: solo lettere (maiuscole e minuscole) e numeri
  var r=1; var e=0; if(event.keyCode>0){var k=event.keyCode; e=1;}else{var k=event.which;}
  if(k>=48 && k<=57 || k>=65 && k<=90 || k>=97 && k<=122){r=0;} 
  if(e==1 && r==1){event.returnValue=false;}else if(r==1){return 1;}
}
function NumLetCapChk(event){
  // Caratteri ammessi: solo lettere (maiuscole) e numeri
  var r=1; var e=0; if(event.keyCode>0){var k=event.keyCode; e=1;}else{var k=event.which;}
  if(k>=48 && k<=57 || k>=65 && k<=90){r=0;} 
  if(e==1 && r==1){event.returnValue=false;}else if(r==1){return 1;}
}
function NumLetLowChk(event){
  // Caratteri ammessi: solo lettere ( minuscole) e numeri
  var r=1; var e=0; if(event.keyCode>0){var k=event.keyCode; e=1;}else{var k=event.which;}
  if(k>=48 && k<=57 || k>=97 && k<=122){r=0;} 
  if(e==1 && r==1){event.returnValue=false;}else if(r==1){return 1;}
}
function DomainChk(event){
  // Caratteri ammessi: solo lettere ( minuscole), numeri, - e .
  var r=1; var e=0; if(event.keyCode>0){var k=event.keyCode; e=1;}else{var k=event.which;}
  if(k>=48 && k<=57 || k>=97 && k<=122 || k==45 || k==46){r=0;} 
  if(e==1 && r==1){event.returnValue=false;}else if(r==1){return 1;}
}


// ***************************
// Controlli onChange o per submin
// ***************************
function checkEmail(email){
  var splitted = email.match("^(.+)@(.+)$");
  if(splitted == null){return 0;}
  if(splitted[1]!=null ){ var regexp_user=/^\"?[\w-_\.]*\"?$/; if(splitted[1].match(regexp_user)==null){return 0;} }
  if(splitted[2]!=null){
    var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
    if(splitted[2].match(regexp_domain)==null){ var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/; if(splitted[2].match(regexp_ip)==null){return 0;} }
    return 1;
  }
  return 0;
}
function checkNumero(numero) {
  // Cifre da 0 a 9 . (punto) e - (meno) 
  var esito=1; 
  var j=numero.replace(/[0-9]|\.|-/g,'');
  if(j.length>0){esito=0;};
  return esito;
  }
function checkTel(numero) {
  // Cifre da 0 a 9 . (punto) e + (più)  
  var esito=1; 
  var j=numero.replace(/[0-9]|\.|\+/g,'');
  if(j.length>0){esito=0;}; 
  return esito;
}
function checkIntero(numero) {
  // Cifre da 0 a 9
  var esito=1;
  var j=numero.replace(/[0-9]/g,'');
  if(j.length>0){esito=0;};
  return esito;
}
function checkData(data){
  // Controlla la validità di una data (formato dd/mm/yyyy) 
  var esito=1;
  var mlx = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  j=data.split('/');  day=j[0];  month=j[1];  year=j[2];
  if(!day || !month || !year){esito=0;}
  if(year/4 == parseInt(year/4)){mlx[1]=29;}
  if(day > mlx[month-1]){esito=0;}
  if(month > 12){esito=0;}
  if(year <1000 || year > 2100){esito=0;}
  mlx[1]=28;
  if(esito>0){
    now=new Date();  now=now.getTime();  dateToCheck=new Date();
    dateToCheck.setYear(year);  dateToCheck.setMonth(month-1);  dateToCheck.setDate(day);
    checDate = dateToCheck.getTime();
    if(now < checDate){esito=2; futuro=1;}
    if(now > checDate){esito=3; passato=1;}
  }
  return esito;
}
function DateZeri(data){
  // Corregge i giorni ed i mesi monocifra antecedendogli uno 0 (zero) e l'anno abbreviato antecedendogli 20 
  var j=data.split('/');  var gg=''+j[0];  var mm=''+j[1];  var yy=''+j[2];
  if(gg.length==1){gg='0'+gg;}
  if(mm.length==1){mm='0'+mm;}
  if(yy.length==2){yy='20'+yy;}
  datax=gg+'/'+mm+'/'+yy
  if(data!=''){return datax;}else{return '';}
}
function Cents(anynum,smi,sde,fra) {
  // smi => Separatore migliaia
  // sde => Separatore decimali
  // fra => Numero decimali
  if(smi==''){smi='.';}
  if(sde==''){sde=',';}
  if(fra==''){fra=2;}

  anynum = "" + eval(anynum)  
  intnum = parseInt(anynum)  
  intnum = Math.abs(intnum)
  intstr = ""+intnum
  if (intnum >= 1000) {
    intlen = intstr.length
    temp1=parseInt(""+(intnum/1000))
    temp2=intstr.substring(intlen-3,intlen)
    intstr = temp1+smi+temp2
  }
  if (intnum >= 1000000) {
    intlen = intstr.length
    temp1=parseInt(""+(intnum/1000000))
    temp2=intstr.substring(intlen-7,intlen)
    intstr = temp1+smi+temp2
  }
  decnum = Math.abs(parseFloat(anynum)-parseInt(anynum))
  decimal=1
  for (tt=1;tt<=fra;tt++){ decimal=decimal*10; }
  decnum = decnum * decimal
  decstr = "" + Math.abs(Math.round(decnum))
  while (decstr.length < fra) {decstr += "0"}
  if (anynum < 0) { intstr = "-"+intstr}
  return ""+intstr + sde+decstr
}
