function validString (stringa)
{
	var len=stringa.length;
	for(i=0;i<len;i++) 
	{
		carAscii = stringa.charCodeAt(i);
		if (!(carAscii==10 || carAscii==13 || carAscii >=32))
		{
			return false;
		}
	}
	return true;
}



// check for digits

function isDigit(car)
{
	if ((car< '0') || (car > '9'))
		return false;
	else 
		return true;
}




// check for letters

function isLetter(car)
{
	if ((car< 'A') || (car > 'Z')) 
		return false;
	else
		return true;
}



//check if a string is a valid integer

function validNumber(txt)
{
	var i;
	if (txt.length == 0)
		return true;

	for (i=0; i<txt.length; i++)

	if (!(isDigit(txt.charAt(i)))) 
		return false;
	else
		return true;
}


function validAnnoNascita(anno)
{
	var i;
	var validate_numb;
	validate_numb = 0;

	if (anno.length == 4)
	{
		for(i=0; i<anno.length; i++)
		{
			if(isDigit(anno.charAt(i))) 
				validate_numb++;
			else
				validate_numb--;
		}
		
		if(validate_numb==4)
			return true;
		else
			return false;
	}
	else
	{
		return false;
	}
}


// check if a string is an e-mail address
function validEMail(txt)
{
	if (txt.indexOf('@') == -1)
	{
		return false;
	}
	txt = txt.toUpperCase();
	var i;
	for (i=0; i<txt.length; i++)
	{
		if (!(isDigit(txt.charAt(i)) || isLetter(txt.charAt(i)) || (txt.charAt(i) == '_') || (txt.charAt(i) == '-') || (txt.charAt(i) == '.') || (txt.charAt(i) == '@')))
		{
			return false;
		}
	}
	return true;
}

// verifica il pagamento in contrassegno

function isContrassegno(what)
{
	if ((what.value.length > 0) && (what.pagamento[2].checked))
	{
		return true;
	}
	else
	{
		return false;
	}
}

//####################################//

function resetText(campoModificato, ordinaleCampo, campoDaAzzerare) 
{
	if (eval("document.myOwnForm."+campoModificato+"["+ordinaleCampo+"]").checked == true) 
	{ 
		document.myOwnForm.elements[campoDaAzzerare].value = ''; 
	} 
}

function resetRadio(campoDaAzzerare) 
{
	for (var i=0; i<document.myOwnForm.elements[campoDaAzzerare].length; i++)
	{
		document.myOwnForm.elements[campoDaAzzerare][i].checked = false;
	}
}

function clickRadio(radio_elemento)
{
	// var r1=document.getElementById(radio_elemento);
	document.myOwnForm.elements[radio_elemento][1].click();
}

function checkRadio(radio_elemento)
{
	// var r1=document.getElementByName(radio_elemento);
	// r1.checked=true;
	document.myOwnForm.elements[radio_elemento][1].checked = true;
}

//####################################//

function checkAnagraficaPrivacy(myForm)
{
	var missingHeader = "Le seguenti informazioni richieste non sono state inserite:\n";
	var errorHeader = "\nLe seguenti informazioni contengono caratteri non validi:\n";
	var privacyHeader = "Normativa sulla privacy";
	
	var missingList = "";
	var errorList = "";
	var privacyMessage = "";
	
	var message = "";
	var selected = 0;


	if (myForm.nome.value=="")
	{
		missingList += ". Nome\n";
	}
	else
	{
		if (!(validString(myForm.nome.value)))
		{
			errorList += ". Nome\n";
		}
	}
	
	if (myForm.cognome.value=="")
	{
		missingList += ". Cognome\n";
	}
	else
	{
		if (!(validString(myForm.cognome.value)))
		{
			errorList += ". Cognome\n";
		}
	}
	
	if (myForm.indirizzo.value=="")
	{
		missingList += ". Indirizzo\n";
	}
	else
	{
		if (!(validString(myForm.indirizzo.value)))
		{
			errorList += ". Indirizzo\n";
		}
	}
	
	if (myForm.cap.value=="")
	{
		missingList += ". CAP\n";
	}
	else
	{
		if (!(validNumber(myForm.cap.value)))
		{
			errorList += ". CAP\n";
		}
	}
	
	if (myForm.localita.value=="")
	{
		missingList += ". Localit\xE0\n";
	}
	else
	{
		if (!(validString(myForm.localita.value)))
		{
			errorList += ". Localit\xE0\n";
		}
	}
	
	if (myForm.provincia.value=="")
	{
		missingList += ". Sigla provincia\n";
	}
	else
	{
		if (!(validString(myForm.provincia.value)))
		{
			errorList += ". Sigla provincia\n";
		}
	}
	
	if (myForm.nazione.value=="")
	{
		missingList += ". Nazione\n";
	}
	else
	{
		if (!(validString(myForm.nazione.value)))
		{
			errorList += ". Nazione\n";
		}
	}
	
	if (myForm.email.value=="")
	{
		missingList += ". Indirizzo e-mail\n";
	}
	else
	{
		if (!(validEMail(myForm.email.value)))
		{
			errorList += ". Indirizzo e-mail\n";
		}
	}





	if (missingList!= "")
	{
		message = missingHeader + missingList;
	}

	if (errorList!= "")
	{
		message += errorHeader + errorList;
	}
	
	if (message != "")
	{
		alert (message);
		return false;
	}
	else
	{
		if (myForm.privacy.checked)
		{
			return true;
		}
		else
		{
			alert('Per poterti registrare devi accettare la clausola sulla privacy\n');
			return false;
		}
	}
}

function checkAnagraficaPromozione(myForm)
{
	var missingHeader = "Le seguenti informazioni richieste non sono state inserite:\n";
	var errorHeader = "\nLe seguenti informazioni contengono caratteri non validi:\n";
	var privacyHeader = "Normativa sulla privacy";
	
	var missingList = "";
	var errorList = "";
	var privacyMessage = "";
	
	var message = "";
	var selected = 0;


	if (myForm.nome.value=="")
	{
		missingList += ". Nome\n";
	}
	else
	{
		if (!(validString(myForm.nome.value)))
		{
			errorList += ". Nome\n";
		}
	}
	
	if (myForm.cognome.value=="")
	{
		missingList += ". Cognome\n";
	}
	else
	{
		if (!(validString(myForm.cognome.value)))
		{
			errorList += ". Cognome\n";
		}
	}
	
	if (myForm.indirizzo.value=="")
	{
		missingList += ". Indirizzo\n";
	}
	else
	{
		if (!(validString(myForm.indirizzo.value)))
		{
			errorList += ". Indirizzo\n";
		}
	}
	
	if (myForm.cap.value=="")
	{
		missingList += ". CAP\n";
	}
	else
	{
		if (!(validNumber(myForm.cap.value)))
		{
			errorList += ". CAP\n";
		}
	}
	
	if (myForm.localita.value=="")
	{
		missingList += ". Localit\xE0\n";
	}
	else
	{
		if (!(validString(myForm.localita.value)))
		{
			errorList += ". Localit\xE0\n";
		}
	}
	
	if (myForm.provincia.value=="")
	{
		missingList += ". Sigla provincia\n";
	}
	else
	{
		if (!(validString(myForm.provincia.value)))
		{
			errorList += ". Sigla provincia\n";
		}
	}
	
	if (myForm.nazione.value=="")
	{
		missingList += ". Nazione\n";
	}
	else
	{
		if (!(validString(myForm.nazione.value)))
		{
			errorList += ". Nazione\n";
		}
	}

	if (myForm.email.value=="")
	{
		missingList += ". Email\n";
	}
	else
	{
		if (!(validEmail(myForm.email.value)))
		{
			errorList += ". Email\n";
		}
	}

	if (myForm.telefono.value=="")
	{
		missingList += ". Telefono cellulare\n";
	}
	else
	{
		if (!(validNumber(myForm.telefono.value)))
		{
			errorList += ". Telefono cellulare\n";
		}
	}


var user_input = '';

for (i=0;i<2;i++)
{
	if (myForm.rivista[i].checked)
	{
		user_input = 'ok';
	}
}

if (user_input == "")
{
	missingList += ". Rivista\n";
}

	if (missingList!= "")
	{
		message = missingHeader + missingList;
	}

	if (errorList!= "")
	{
		message += errorHeader + errorList;
	}
	
	if (message != "")
	{
		alert (message);
		return false;
	}
	else
	{
		if (myForm.privacy.checked)
		{
			return true;
		}
		else
		{
			alert('Per poterti registrare devi accettare la clausola sulla privacy\n');
			return false;
		}
	}
}

function checkAbbonamentiPrivacy(myForm)
{
	var missingHeader = "Le seguenti informazioni richieste non sono state inserite:\n";
	var errorHeader = "\nLe seguenti informazioni contengono caratteri non validi:\n";
	var privacyHeader = "Normativa sulla privacy";
	
	var missingList = "";
	var errorList = "";
	var privacyMessage = "";
	
	var message = "";
	var selected = 0;


	
	var nome_trimmed		= myForm.a.value.replace(/ /g, "");
	var cognome_trimmed		= myForm.b.value.replace(/ /g, "");
	var indirizzo_trimmed	= myForm.c.value.replace(/ /g, "");
	var cap_trimmed			= myForm.d.value.replace(/ /g, "");
	var localita_trimmed	= myForm.e.value.replace(/ /g, "");
	var provincia_trimmed	= myForm.f.value.replace(/ /g, "");
	var nazione_trimmed		= myForm.g.value.replace(/ /g, "");
	var email_trimmed		= myForm.h.value.replace(/ /g, "");
	
	if (myForm.a.value=="" || nome_trimmed.length==0)
	{
		missingList += ". Nome\n";
	}
	else
	{
		if (!(validString(myForm.a.value)))
		{
			errorList += ".  Nome\n";
		}
	}
	
	if (myForm.b.value=="" || cognome_trimmed.length==0)
	{
		missingList += ".  Cognome\n";
	}
	else
	{
		if (!(validString(myForm.b.value)))
		{
			errorList += ".  Cognome\n";
		}
	}
	
	if (myForm.c.value=="" || indirizzo_trimmed.length==0)
	{
		missingList += ".  Indirizzo\n";
	}
	else
	{
		if (!(validString(myForm.c.value)))
		{
			errorList += ".  Indirizzo\n";
		}
	}
	
	if (myForm.d.value=="" || cap_trimmed.length==0) 
	{
		missingList += ".  CAP\n";
	}
	else
	{
		if (!(validNumber(myForm.d.value)))
		{
			errorList += ".  CAP\n";
		}
	}
	
	if (myForm.e.value=="" || localita_trimmed.length==0)
	{
		missingList += ".  Localita'\n";
	}
	else
	{
		if (!(validString(myForm.e.value)))
		{
			errorList += ".  Localita'\n";
		}
	}
	
	if (myForm.f.value=="" || provincia_trimmed.length==0)
	{
		missingList += ".  Sigla provincia\n";
	}
	else
	{
		if (!(validString(myForm.f.value)))
		{
			errorList += ".  Sigla provincia\n";
		}
	}
	
	if (myForm.g.value=="" || nazione_trimmed.length==0)
	{
		missingList += ".  Nazione\n";
	}
	else
	{
		if (!(validString(myForm.g.value)))
		{
			errorList += ".  Nazione\n";
		}
	}
	
	if (myForm.h.value=="" || email_trimmed.length==0)
	{
		missingList += ".  Indirizzo e-mail\n";
	}
	else
	{
		if (!(validEMail(myForm.h.value)))
		{
			errorList += ".  Indirizzo e-mail\n";
		}
	}


	  
	if (myForm.tt.value=="")
	{
		missingList += ".  Telefono\n";
	}
	else
	{
		if (!(validNumber(myForm.tt.value)))
		{
			errorList += ".  Telefono\n";
		}
	}
	
	if (missingList!= "")
	{
		message = missingHeader + missingList;
	}
	  
	if (errorList!= "")
	{
		message += errorHeader + errorList;
	}
	
	if (message != "")
	{
		alert (message);
		return false;
	}
	else
	{
		if (myForm.privacy == undefined)
		{
			return true;
		}
		else
		{
			if (myForm.privacy.checked)
			{
				return true;
			}
			else
			{
				alert('Per poterti registrare devi accettare la clausola sulla privacy\n');
				return false;
			}
		}
	}
}



function countSelected(select,maxNumber){
var selectedOptions = [];
 for(var i=0; i<select.options.length; i++){
     if(select.options[i].selected && !new RegExp(i,'g').test(selectedOptions.toString())){
        selectedOptions.push(i); 
     }

     if(!select.options[i].selected && new RegExp(i,'g').test(selectedOptions.toString())){
      selectedOptions = selectedOptions.sort(function(a,b){return a-b});  
       for(var j=0; j<selectedOptions.length; j++){ 
         if(selectedOptions[j] == i){
            selectedOptions.splice(j,1);
         }
       } 
     }

     if(selectedOptions.length > maxNumber){
        alert('selezionare solo '+maxNumber+' opzioni');
        select.options[i].selected = false;
        selectedOptions.pop();
        document.body.focus();
     }  
   }   
}



/*
function show_rapportomusica(visibility)
{
	if(visibility == "0")
	{
		document.getElementById("selezione_tipo2").style.visibility = "hidden";
		document.getElementById("selezione_tipo2").style.height = "0px";
	}
	else if(visibility == "1")
	{
		document.getElementById("selezione_tipo2").style.visibility = "visible";
		document.getElementById("selezione_tipo2").style.height = "auto";
	}
}
*/
function check_selezione_prof(key)
{
	var cat	= document.verifica['scelta[]'];
	var altro = 13;
	var ascoltatore = 0;	

	if(key < 13)
	{
		cat[altro].checked = false;
		cat[ascoltatore].checked = false;
	}
	else
	{
		for(var i=0; i<cat.length; i++)	
		{
			cat[i].checked = false;
		}
		
		if (key == altro)
		{
			cat[altro].checked = true;
			cat[ascoltatore].checked = false;
		}
		else
		{
			cat[ascoltatore].checked = true;
			cat[altro].checked = false;
		}
	}
}


function unsubscribe_mail(myForm)
{
	var email_trimmed		= myForm.email.value.replace(/ /g, "");


	if (myForm.email.value=="" || email_trimmed.length==0)
	{
		return false;
	}
	else
	{
		if (!(controllo_email(myForm.email.value)))
		{
			alert("Formato della email non valido");
			return false;
		}
		else
		{
			return true;
		}
	}
	
}


// *** 09/12/2009 funzione javascript pił completa per il controllo e la validazione della mail ***
function controllo_email(txt)
{
	// CONTROLLO @
	if (txt.indexOf('@') == -1)
	{
		return false;
	}

	// CONTROLLO CARATTERI NON VALIDI
	uppertxt = txt.toUpperCase();
	var i;
	for (i=0; i<uppertxt.length; i++)
	{
		if (!(isDigit(uppertxt.charAt(i)) || isLetter(uppertxt.charAt(i)) || (uppertxt.charAt(i) == '_') || (uppertxt.charAt(i) == '-') || (uppertxt.charAt(i) == '.') || (uppertxt.charAt(i) == '@')))
		{
			return false;
		}
	}

	mail		= txt.split("@");

	//** CONTROLLO STRINGA PRIMA DELLA @
	user		= mail[0];
	if(user.length < 3)
	{
		return false;
	}

	//** CONTROLLO STRINGA DOPO LA @
	// 1. ESISTENZA DEL PUNTO
	domain		= mail[1];
	if (domain.indexOf('.') == -1)
	{
		return false;
	}

	splitdomain = domain.split(".");
	
	// 2. DOMINIO E/O EVENTUALI SOTTODOMINI
	var j;
	for (j=0; j<(splitdomain.length - 1); j++)
	{
		if(splitdomain[j].length < 3)
		{
			return false;
		}
	}

	// 3. ESTENSIONE DEL DOMINIO, ALMENO DUE CARATTERI
	domain_ext	= splitdomain[(splitdomain.length - 1)];
	if(domain_ext.length < 2)
	{
		return false;
	}

	// 4. ESTENSIONE DEL DOMINIO, CONTROLLO PRESENZA NUMERI
	var n;
	for(n=0; n<domain_ext.length; n++)
	{
		car = domain_ext.charAt(n);
		if ((car >= '0') && (car <= '9'))
		{
			return false;
		}
	}

	return true;
}



	function check_form_newsletter(myForm)
	{
		var missingHeader	= "Le seguenti informazioni richieste non sono state inserite:\n";
		var errorHeader		= "\nLe seguenti informazioni contengono caratteri non validi:\n";
		var privacyHeader	= "Normativa sulla privacy";
		
		var missingList = "";
		var errorList = "";
		var privacyMessage = "";
		
		var message = "";
		var selected = 0;
		

		var nome_lib_trimmed	= myForm.nome_libreria.value.replace(/ /g, "");
		var indirizzo_trimmed	= myForm.indirizzo.value.replace(/ /g, "");
		var cap_trimmed			= myForm.cap.value.replace(/ /g, "");
		var provincia_trimmed	= myForm.provincia.value.replace(/ /g, "");

		var email_trimmed		= myForm.email.value.replace(/ /g, "");
		var localita_trimmed	= myForm.localita.value.replace(/ /g, "");
		


		if (myForm.nome_libreria.value=="" || nome_lib_trimmed.length==0)
		{
			missingList += ". Nome libreria\n";
		}
		else
		{
			if (!(validString(myForm.nome_libreria.value)))
			{
				errorList += ".  Nome libreria\n";
			}
		}

		if (myForm.email.value=="" || email_trimmed.length==0)
		{
			missingList += ". Email\n";
		}
		else
		{
			if (!(controllo_email(myForm.email.value)))
			{
				errorList += ". Email\n";
			}
		}

		if (myForm.indirizzo.value=="" || indirizzo_trimmed.length==0)
		{
			missingList += ". Indirizzo\n";
		}
		else
		{
			if (!(validString(myForm.indirizzo.value)))
			{
				errorList += ".  Indirizzo\n";
			}
		}

		if (myForm.provincia.value=="" || provincia_trimmed.length==0)
		{
			missingList += ". Provincia\n";
		}
		else
		{
			if (isDigit(myForm.provincia.value) || provincia_trimmed.length<2)
			{
				errorList += ".  Provincia\n";
			}
		}

		if (myForm.cap.value=="" || cap_trimmed.length==0)
		{
			missingList += ". Cap\n";
		}
		else
		{
			if (!(isDigit(myForm.cap.value)))
			{
				errorList += ".  Cap\n";
			}
		}

		if (myForm.localita.value=="" || localita_trimmed.length < 3)
		{
			missingList += ". Localita'\n";
		}
		else
		{
			if (!(validString(myForm.localita.value)))
			{
				errorList += ".  Localita';\n";
			}
		}

		if (missingList!= "")
		{
			message = missingHeader + missingList;
		}
		  
		if (errorList!= "")
		{
			message += errorHeader + errorList;
		}
		
		if (message != "")
		{
			alert (message);
			return false;
		}
		else
		{
			if (myForm.privacy.checked)
			{
				return true;
			}
			else
			{
				alert('Per poterti registrare devi accettare la clausola sulla privacy\n');
				return false;
			}
		}


	}






/*
function check_selezione_generi(key)
{
	var cat		= document.verifica['generi[]'];

	if(key == 0 && cat[0].checked == true)
	{
		for(var i=1; i<cat.length; i++)
			cat[i].checked = false;
	}

	if(key > 0)
	{
		cat[0].checked = false;
	}
}
*/