function check_form(sel_field)
{
	result = false;
	
	if (check_completamento())
	{
    	result = true;
	}
	
	return result;
}

function replace(string,text,by)
{
	// Replaces text with by in string
	var strLength = string.length, txtLength = text.length;
	if ((strLength == 0) || (txtLength == 0)) return string;
	
	var i = string.indexOf(text);
	if ((!i) && (text != string.substring(0,txtLength))) return string;
	if (i == -1) return string;
	
	var newstr = string.substring(0,i) + by;
	
	if (i+txtLength < strLength)
		newstr += replace(string.substring(i+txtLength,strLength),text,by);
	
	return newstr;
}

function check_completamento()
{
	var myurl = document.location.href;
	
	if (document.form_info.nome.value == "")
	{
		alert("Inserire il 'nome', č obbligatorio per poter inviare la richiesta!");
		document.form_info.nome.focus();
		return false;
	}
	if (document.form_info.cognome.value == "")
	{
		alert("Inserire il 'cognome', č obbligatorio per poter inviare la richiesta!");
		document.form_info.cognome.focus();
		return false;
	}
	if (document.form_info.deno.value == "")
	{
		alert("Inserire la 'ragione sociale' della societā!");
		document.form_info.deno.focus();
		return false;
	}
  if(myurl.search(/richiesta_accesso.jsp/)>0){
	if (document.form_info.attivita.value == "")
	{
		alert("Selezionare l''attivitā' della societā!");
		document.form_info.attivita.focus();
		return false;
	}
  }
  if(myurl.search(/richiesta_accesso.jsp/)>0 || myurl.search(/modifica_profilo.jsp/)>0){
	if (document.form_info.via.value == "")
	{
		alert("Inserire l''indirizzo' della societā!");
		document.form_info.via.focus();
		return false;
	}
  }
	if (document.form_info.citta.value == "")
	{
		alert("Inserire il nome della 'cittā' in cui ha sede la societā!");
		document.form_info.citta.focus();
		return false;
	}
	if (document.form_info.provincia.value == "")
	{
		alert("Inserire la 'provincia' in cui ha sede la societā!");
		document.form_info.provincia.focus();
		return false;
	}
  if(myurl.search(/richiesta_accesso.jsp/)>0 || myurl.search(/modifica_profilo.jsp/)>0){
	if (document.form_info.cap.value == "")
	{
		alert("Inserire il 'CAP'!");
		document.form_info.cap.focus();
		return false;
	}
  }
  if(myurl.search(/richiesta_accesso.jsp/)>0 || myurl.search(/categoria.jsp/)>0){
	if (document.form_info.email.value == "")
	{
		alert("Inserire una 'email' di riferimento per la societā");
		document.form_info.email.focus();
		return false;
	}else{
		if(!checkMail(document.form_info.email.value, 0)) return false;
	}
  }
	if (document.form_info.telefono.value == "")
	{
		alert("Inserire un numero di 'telefono' di riferimento!");
		document.form_info.telefono.focus();
		return false;
	}
	
  if(myurl.search(/richiesta_accesso.jsp/)>0 || myurl.search(/categoria.jsp/)>0){				
	if(document.form_info.datipers[1].checked || (!document.form_info.datipers[0].checked && !document.form_info.datipers[1].checked)){
		alert("E' obbligatorio prestare il consenso al trattamento dei dati!");
		document.form_info.datipers[0].focus();
		return false;
	}
  }
	
	if(myurl.search(/richiesta_accesso.jsp/)>0){
		if(scan_attivita()==0){
			alert("E' obbligatorio selezionare un'attivitā!");
			document.form_info.attivita[0].focus();
			return false;
		}
		if(document.form_info.interesse.value == ""){
			alert("E' obbligatorio indicare almeno una categoria di interesse!");
			document.form_info.interesse.focus();
			return false;
		}
		
		if(document.form_info.mailing[0].checked && document.form_info.casella[1].checked && document.form_info.emailn.value==""){
			alert("E' obbligatorio indicare l'indirizzo e-mail alternativo se si sceglie di iscriversi alla Mailing list con un indirizzo diverso da quello dell'iscrizione!");
			document.form_info.emailn.focus();
			return false;
		}
	}
	
	return true;
}

function checkMail(mailParam)
{
	var x = mailParam;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) return true;
	else {
	    document.form_info.email.focus();
		alert("Attenzione! L'indirizzo email non č corretto");
		return false;
	}
}

function checkPIVA(){
	var err = "";
	var pi = document.form_info.piva.value;

	if( pi.length != 11 )
     	err += "La lunghezza della partita IVA non č corretta.\n";
    validi = "0123456789";
    for( i = 0; i < 11; i++ ){
     	if( validi.indexOf( pi.charAt(i) ) == -1 )
     		err += "La partita IVA contiene caratteri non numerici.\n";
    }
    s = 0;
    for( i = 0; i <= 9; i += 2 )
     	s += pi.charCodeAt(i) - '0'.charCodeAt(0);
    for( i = 1; i <= 9; i += 2 ){
     	c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
     	if( c > 9 )  c = c - 9;
     		s += c;
    }
    if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) )
     	err += "La partita IVA non č valida: il codice di controllo non corrisponde.";
     
    if(err == ""){
	 	//return true;
	} else { 
	 	alert(err);
	 	document.form_info.piva.focus();
	 	return false; 
	}
}

function scan_attivita(){
	var counter;
 	var radio_button = document.form_info.attivita;
            
	for (counter = 0; counter < radio_button.length; counter++)
 	{
		if (radio_button[counter].checked)
		{
			return (radio_button[counter].value);
		}
	}

	return 0;
}
