// questa funzione riassume tutti i controlli javascript della pagina di iscrizione.
// fa uso della tua funzione isnumeric, quindi se la cambi o la cambi di nome dimmelo o modificalo anche in questa!!

function controllaDatiIscrizione(string)
{	if (document.mainform.username.value.length <1)
	{	alert ("Attenzione: l'USERNAME non puņ essere vuoto!"); 
		document.mainform.username.focus();
		return false;
	}
	if (document.mainform.username.value.length + caratteriAggiuntivi(document.mainform.username.value) > 16)
	{	alert ("Attenzione: USERNAME troppo lungo: max 16 caratteri (gli apostrofi contano 6)!"); 
		document.mainform.username.value = document.mainform.username.value.substr(0,16 - caratteriAggiuntivi(document.mainform.username.value) );
		document.mainform.username.focus();
		return false;
	}
	
	if (document.mainform.password.value.length <1)
	{	alert ("Attenzione: la PASSWORD non puņ essere vuoto!"); 
		document.mainform.password.focus();
		return false;
	}
	if (document.mainform.password.value.length + caratteriAggiuntivi(document.mainform.password.value) > 13)
	{	alert ("Attenzione: PASSWORD troppo lungo: max 13 caratteri (gli apostrofi contano 6)!"); 
		document.mainform.password.value = document.mainform.password.value.substr(0,13 - caratteriAggiuntivi(document.mainform.password.value) );
		document.mainform.password.focus();
		return false;
	}
	
	if (document.mainform.ragione_sociale.value.length <1)
	{	alert ("Attenzione: la RAGIONE SOCIALE non puņ essere vuoto!"); 
		document.mainform.ragione_sociale.focus();
		return false;
	}
	if (document.mainform.ragione_sociale.value.length + caratteriAggiuntivi(document.mainform.ragione_sociale.value) > 70)
	{	alert ("Attenzione: PASSWORD troppo lungo: max 70 caratteri (gli apostrofi contano 6)!"); 
		document.mainform.ragione_sociale.value = document.mainform.ragione_sociale.value.substr(0,70 - caratteriAggiuntivi(document.mainform.ragione_sociale.value) );
		document.mainform.ragione_sociale.focus();
		return false;
	}
	
	if (document.mainform.email.value.length <1)
	{	alert ("Attenzione: l'E-MAIL non puņ essere vuoto!"); 
		document.mainform.email.focus();
		return false;
	}
	if (document.mainform.email.value.length + caratteriAggiuntivi(document.mainform.email.value) > 50)
	{	alert ("Attenzione: E-MAIL troppo lungo: max 50 caratteri (gli apostrofi contano 6)!"); 
		document.mainform.email.value = document.mainform.email.value.substr(0,50 - caratteriAggiuntivi(document.mainform.email.value) );
		document.mainform.email.focus();
		return false;
	}
	
	if(document.mainform.Accetto.value!="SI"){
		alert("Č obbligatorio accettare il trattamento dei dati personali");
		return false;
	}
}

function abilitaDisabilita_checkBoxMostraMonitor()
{	
	if (document.mainform.per_cliente_autore.options[0].selected)
	{	document.mainform.per_mostra_monitor.checked = false;
		document.mainform.per_mostra_monitor.disabled  = true;
	}
	if (document.mainform.per_cliente_autore.options[1].selected)
	{	document.mainform.per_mostra_monitor.disabled  = false;
	}
	if (document.mainform.per_cliente_autore.options[2].selected)
	{	document.mainform.per_mostra_monitor.disabled  = false;
	}
}

// richiesta di conferma per la cancellazione di una riga dall'ordine attivo in modifica
function confirmDel(string)
{	if ( ! string)
		return true;

	if (! confirm("ATTENZIONE: si sta per cancellare " + string + ". Procedere?"))
	{ 	return false;	
	}

	document.mainform.submit();

	return true;
}

function caratteriAggiuntivi(stringaIN)
{	caratteriCheOccupaInPiu = 0;
	for (var x=0;x<stringaIN.length;x++)
	{	if(stringaIN.substr(x,1)=="'")
			caratteriCheOccupaInPiu = caratteriCheOccupaInPiu + 5;
		if(stringaIN.substr(x,1)=='"')
			caratteriCheOccupaInPiu = caratteriCheOccupaInPiu + 5;
	}
	return (caratteriCheOccupaInPiu);	
}

// funzione che verifica che una stringa passata contenga solo numeri (e separatori vari)
function isnumeric(s,dec,separatore) 
{	if (s==null) 
		return true;

	//dec=0 NON considera decimali, altrimenti li considera
	//separatore: se non lo indico prende il . altrimenti usa quello indicato come separatore
	if((dec!="0")&&((String("1234567890").indexOf(s.substr(0,1))==-1)||(String("1234567890").indexOf(s.substr(s.length-1,1))==-1)))
			return false;

	separatore=(String(separatore)=="undefined")?".":separatore;
		
	var filtronumber="1234567890"+((dec=="0")?"":separatore);
		
	s=s.replace(/,|\./g,separatore);
		
	for (var x=0;x<s.length;x++)
			if (filtronumber.indexOf(s.substr(x,1))==-1) 
					return false;
			
	if (dec!="0")
			if((s.indexOf(separatore)!=-1)&&((s.substr(s.indexOf(separatore)+1).indexOf(separatore)!=-1))) 		return false;
	return true;
}

function isSQLDate(date)
{	if (date=="YYYY-MM-DD")
		return true;
	
	if ((date==null) || (date==""))
		return true;

	if ((date.substr(4,1)!="-")||(date.substr(7,1)!="-"))
	{	alert("ATTENZIONE: usare il carattere - come separatore. Ad esempio 13 gennaio 1980 secondo la formattazione YYYY-MM-DD diventa 1980-01-13");
		return false;
	}
	if (!isnumeric(date.substr(0,4),0,"undefined")||
		!isnumeric(date.substr(5,2),0,"undefined")||
		!isnumeric(date.substr(8,2),0,"undefined"))
	{	alert("ATTENZIONE: oltre al separatore usare solo caratteri numerici. Ad esempio 13 gennaio 1980 secondo la formattazione YYYY-MM-DD diventa 1980-01-13");
		return false;
	}

	return true;
}

