
salvavalori = new Array(32)	

function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}

function TipoRicerca ( Tipo ){
	  
  frmInvia.PaginaCorrente.value=1;
  frmInvia.action='page.asp?Speciale=Ricerca&Tipo=' + Tipo;
  frmInvia.submit();
	}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v3.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve contenere un\'indirizzo di e-mail valido.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (val!=''+num) errors+='- '+nm+' deve contenere un numero.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' deve contenere un numero tra '+min+' e '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' e\' un campo richiesto.\n'; }
  } if (errors) alert('Errori:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function MM_validateFormUser() { //v3.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateFormUser.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' devo contenere un\'indirizzo di e-mail valido.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (val!=''+num) errors+='- '+nm+' deve contentere un numero.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' deve contenere un numero tra '+min+' e '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' e\' un campo obbligatorio.\n'; }
  } 
  if ((frmUser.password.value)!=(frmUser.passwordConfirm.value)) { errors+='- Le password inserite non coincidono.\n' }
  if (errors) alert('Errori:\n'+errors);
  document.MM_returnValue = (errors == '');
  if (document.MM_returnValue) {
  	if (controllaradio(MM_findObj('rInformativa'))=='1') 
  		document.MM_returnValue = true;
  	else	{
  		document.MM_returnValue = false;
		alert('Per usufruire del servizio devi prima accettare l\'informativa.');
		}
  	 }  
}

function selezionatutto() {

 i = 0
 if (document.frmCalendario.tutto.checked)
   for (var i = 0; i < document.frmCalendario.giorno.length; i++) {
    salvavalori[i] = document.frmCalendario.giorno[i].checked
    document.frmCalendario.giorno[i].checked = true;
       }
 else
       {
   for (var i = 0; i < document.frmCalendario.giorno.length; i++)
     document.frmCalendario.giorno[i].checked = salvavalori[i]
       }

 return false;
}

function controllagiorno() {

 ok = false;

   for (var i = 0; i < document.frmCalendario.giorno.length; i++)
     if (document.frmCalendario.giorno[i].checked)
        ok = true;

 document.valore = ok
 if (!ok)
   alert("Per effettuare la ricerca occorre selezionare almeno un giorno del mese.");

 return false;
}

function VaiOffset( i ) {

  document.frmGiorni.elements['OffSet'].value = Number(document.frmGiorni.elements['OffSet'].value) + Number(i)
  document.frmGiorni.submit()
}

function controllaradio(obj)
{
ncheck = obj.length;
for (i=0; i<ncheck;i++)
{
    if (obj[i].checked)	
		{
        return obj[i].value;
       break;
	   }
}
}

function inviaCercatore( nome, elimina ) {
	
	switch ( elimina ){
		case 1 :
			frmCercatori.action="page.asp?Speciale=DelAgente";
			break;
		case 0 :
			frmCercatori.action="page.asp?Speciale=Agente";
			break;
		case 2 :
			frmCercatori.action="page.asp?Speciale=DetAgente";
			break;
		default : frmCercatori.action="page.asp?Speciale=PaginaPersonale";
	}
		
	frmCercatori.NomeCercatore.value=nome;
	frmCercatori.submit()
	}
	
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}	

function IsDate(val, lbl)
{
  var checkstr = "0123456789";
  var DateValue = val;
  var DateTemp = "";
  var separatore = "/";
  var day;
  var month;
  var year;
  var errmsg = '';
  var leap = 0;
  var i;
  for (i = 0; i < DateValue.length; i++) {
 	if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
 	     DateTemp = DateTemp + DateValue.substr(i,1);
 	}
  }
  DateValue = DateTemp;
  if (DateValue.length != 8) { errmsg += '- ' + lbl + ' deve essere nel formato gg/mm/aaaa\n'; }
  year = DateValue.substr(4,4);
  if (year == 0) { errmsg += '- L\'anno in ' + lbl + ' deve essere di quattro cifre\n'; }
  month = DateValue.substr(2,2);
  if ((month < 1) || (month > 12)) { errmsg += '- Il mese in ' + lbl + ' deve essere compreso tra 1 e 12\n'; }
  day = DateValue.substr(0,2);
  if ((day < 1) || (day > 31)) { errmsg += '- Il giorno in ' + lbl + ' deve essere compreso tra 1 e 31\n'; }
  if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) { leap = 1; }
  if ((month == 2) && (leap == 1) && (day > 29)) { errmsg += '- In ' + lbl + ' il giorno non puņ essere maggiore di 29\n'; }
  if ((month == 2) && (leap != 1) && (day > 28)) { errmsg += '- In ' + lbl + ' il giorno non puņ essere maggiore di 28\n'; }
  if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) { errmsg += '- In ' + lbl + ' il giorno non puņ essere maggiore di 31\n'; }
  if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) { errmsg += '- In ' + lbl + ' il giorno non puņ essere maggiore di 30\n'; }
  return errmsg;
}


function IsCodiceFiscale(val, lbl) 
{
  	var error = '';
  	var cf = val;
  	var controllo = new RegExp("([a-zA-Z]{6}[0-9]{2}[a-zA-Z]{1}[0-9]{2}[a-zA-Z]{1}[0-9]{3}[a-zA-Z]{1})");
   	if(!controllo.test(cf)) error += '- ' + lbl + ' deve essere un codice fiscale corretto!\n';
	return error;
}

function IsPartitaIva(val, lbl) 
{
  	var checkstr = "0123456789";
  	var error = '';
	var bError = false;
	var n = val.length;
	if (n != 11)	{ bError = true; }
  	for (i = 0; i < val.length; i++) {
 		if (checkstr.indexOf(val.substr(i,1)) < 0) 
		{
 	     		bError = true;
 		}
  	}
   	if(bError) error += '- ' + lbl + ' deve essere una partita iva corretta!\n';
	return error;
}

function IsDate(o, lbl)
{
  var checkstr = "0123456789";
  var DateValue = o.value;
  var DateTemp = "";
  var separatore = "/";
  var day;
  var month;
  var year;
  var errmsg = '';
  var leap = 0;
  var i;
  for (i = 0; i < DateValue.length; i++) {
 	if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
 	     DateTemp = DateTemp + DateValue.substr(i,1);
 	}
  }
  DateValue = DateTemp;
  if (DateValue.length != 8) { errmsg += '- ' + lbl + ' deve essere nel formato gg/mm/aaaa\n'; }
  year = DateValue.substr(4,4);
  if (year == 0) { errmsg += '- L\'anno in ' + lbl + ' deve essere di quattro cifre\n'; }
  month = DateValue.substr(2,2);
  if ((month < 1) || (month > 12)) { errmsg += '- Il mese in ' + lbl + ' deve essere compreso tra 1 e 12\n'; }
  day = DateValue.substr(0,2);
  if ((day < 1) || (day > 31)) { errmsg += '- Il giorno in ' + lbl + ' deve essere compreso tra 1 e 31\n'; }
  if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) { leap = 1; }
  if ((month == 2) && (leap == 1) && (day > 29)) { errmsg += '- In ' + lbl + ' il giorno non puņ essere maggiore di 29\n'; }
  if ((month == 2) && (leap != 1) && (day > 28)) { errmsg += '- In ' + lbl + ' il giorno non puņ essere maggiore di 28\n'; }
  if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) { errmsg += '- In ' + lbl + ' il giorno non puņ essere maggiore di 31\n'; }
  if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) { errmsg += '- In ' + lbl + ' il giorno non puņ essere maggiore di 30\n'; }
  if (errmsg == '') { o.value = day + '/' + month + '/' + year; }
  return errmsg;
}

function MM_validateFormComplete() { //v3.0   
  var checkstr = "0123456789";
  var i,p,q,nm,test,num,min,max,tipo,nitem,errors='',lbl,args=MM_validateFormComplete.arguments;
  for (i=0; i<(args.length-2); i+=3) 
  { 
	
  	test=args[i+2]; 
  	lbl=args[i+1];
	val=MM_findObj(args[i]);
	o=MM_findObj(args[i]); 
    if (val) 
	{ 
	  nm=val.name;
	  if (lbl == '') { lbl = nm; } 
	  if (val.type)
	  {
		  if ((val.type == 'text')||(val.type == 'password')||(val.type == 'textarea'))
		  {		  	
			  if ((val=val.value)!="") 
			  {
				if (test.indexOf('isEmail')!=-1) 
				{ 
				  p=val.indexOf('@');
				  if (p<1 || p==(val.length-1)) errors+='- '+lbl+' deve contenere un\'indirizzo e-mail valido.\n';
				}
				if ((test.indexOf('isNum')!=-1)||(test.indexOf('inRange')!=-1)) 
				{ 
					num = parseFloat(val);
					if (val!=''+num) errors+='- '+lbl+' deve contenere un numero.\n';
					if (test.indexOf('inRange') != -1) 
					{ 
					  p=test.indexOf(':');
					  min=test.substring(8,p); max=test.substring(p+1);
					  if (num<min || max<num) errors+='- '+lbl+' deve contenere un numero tra '+min+' e '+max+'.\n';
					}
				}
				if (test.indexOf('isDate')!=-1) 
				{ 
				  errors+=IsDate(o,lbl);
				}		
				if (test.indexOf('isNotDomenica')!=-1)
				{
				  error = IsDate(o,lbl);
				  if ((error == '') && (isNotDomenica(o.value) == false))
				  {
				     errors+= '- ' + o.value + ' č una domenica.\n';  	  	
				  }	
			          else
				  {
			             errors+=error;
				  }
				}

				if (test.indexOf('isCF')!=-1) 
				{ 
				  errors+=IsCodiceFiscale(val,lbl);
				}				
				if (test.indexOf('isPI')!=-1) 
				{ 
				  errors+=IsPartitaIva(val,lbl);
				}				
				if (test.indexOf('isTelefono')!=-1)
				{
					nerr = 0;
					for (j = 0; j < val.length; j++) {
 						if (checkstr.indexOf(val.substr(j,1)) < 0) 
 						{
							nerr += 1;
 						}
					}
					if (nerr > 0)	errors+='- '+lbl+' deve essere inserito senza separatori tra i numeri';				
				}
			  }
			  else if (test.charAt(0) == 'R') errors += '- '+lbl+' e\' richiesto.\n';
			  if (test.indexOf('Confirm')!=-1)
			  {
				  confval = MM_findObj('Conf'+nm);
				  if (confval)
				  {
					if ((val)!=(confval.value))	errors+='- '+lbl+' e Conferma '+lbl+' devono contenere valori uguali.\n';		
				  }
			  }		  
		  }
		  if ((val.type == 'select-one' || val.type == 'select-multiple')&&(test.charAt(0) == 'R'))
		  {
				if ( val.options(val.selectedIndex).value == '' ) 
				{
					errors += '- '+lbl+' č richiesto.\n';
				}	
		  }
		  if ((val.type == 'radio' || val.type == 'checkbox')&&(test.charAt(0) == 'R'))
		  {
		  	if (! val.checked )	errors += '- '+lbl+' e\' richiesto.\n';
		  }
	  }
	  else
	  {
		  nitem = val.length;
		  if (nitem) 
		  {
			nm = val[0].name;
			tipo = val[0].type;
			
			checked = false;
			if (lbl == '') { lbl = nm; }			
 		    if ((tipo == 'radio' || tipo == 'checkbox')&&(test.charAt(0) == 'R'))
		    {
				for( j=0; j < nitem; j++ )
				{
					if ( val[j].checked )	checked = true;
			    }
				if( !checked ) errors += '- '+lbl+' e\' richiesto.\n';
			}  	
		  }
	  }
	}	
  }
  
  if (errors) alert('Si sono verificati i seguenti errori:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function MM_validateFormConfirm() { //v3.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateFormConfirm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve contenere un\'indirizzo e-mail valido.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (val!=''+num) errors+='- '+nm+' deve contenere un numero.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' deve contenere un numero tra '+min+' e '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' č richiesto.\n'; }
  }
  if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
  if (document.MM_returnValue) {
  	if (controllaradio(MM_findObj('rInformativa'))=='1') 
  		document.MM_returnValue = true;
  	else	{
  		document.MM_returnValue = false;
		alert('Per usufruire del servizio devi prima accettare l\'informativa.');
		}
  	 }
}

function MM_jumpMenuSubmit(targ, selObjName){ //v3.0
  selObj=MM_findObj(selObjName);
  if (selObj) {
	eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
		}
}

