function CheckForm(p_iva, p_address, p_city, p_province, p_company, p_name, p_surname, p_phone, p_email, p_email2, p_accept, p_accept2, p_fiscalCode, p_isCompanyForm, p_ccode, p_code)
{

	var t_return = true;
	var t_message = "";
	
	if (p_isCompanyForm)
	{
		// Partita IVA
		if (p_iva.value.length < 11)
		{	
			t_message += "- La Partita Iva deve essere di 11 caratteri\n";
			ChangeStyle(p_iva);
			t_return = false;
		}	

		if (!IsNumeric(p_iva.value))
		{
			t_message += "- La Partita Iva deve contenere solo caratteri numerici\n";
			ChangeStyle(p_iva);
			t_return = false;
		}	

		if (p_iva.value.length < 11 || !IsNumeric(p_iva.value))
		{
			ChangeStyle(p_iva);
			t_return = false;
		}
		else
		{
			ClearStyle(p_iva);
		}
		
		// Company
		if (p_company.value == "")
		{
			t_message += "- Ragione sociale non valida.\n";
			ChangeStyle(p_company);
			t_return = false;
		}
		else
		{
			ClearStyle(p_company);
		}
	}
	else
	{
		if (p_fiscalCode.value.length < 16)
		{
			t_message += "- Il codice fiscale deve essere di 16 caratteri.\n";
			ChangeStyle(p_fiscalCode);
			t_return = false;
		}
		else
		{
			ClearStyle(p_fiscalCode);
		}
	}

	// Indirizzo
	if (p_address.value == "")
	{
		t_message += "- Indirizzo non valido.\n";
		ChangeStyle(p_address);
		t_return = false;
	}
	else
	{
		ClearStyle(p_address);
	}

	// Citta
	if (p_city.value == "")
	{
		t_message += "- Citta non valida.\n";
		ChangeStyle(p_city);
		t_return = false;
	}
	else
	{
		ClearStyle(p_city);
	}
	
	// Provincia
	if (p_province.value == "")
	{
		t_message += "- Provincia non valida.\n";
		ChangeStyle(p_province);
		t_return = false;
	}
	else
	{
		ClearStyle(p_province);
	}
	
	// Nome
	if (p_name.value == "")
	{
		t_message += "- Inserire il nome.\n";
		ChangeStyle(p_name);
		t_return = false;
	}
	else
	{
		ClearStyle(p_name);
	}
	
	// Cognome
	if (p_surname.value == "")
	{
		t_message += "- Inserire il cognome.\n";
		ChangeStyle(p_surname);
		t_return = false;
	}
	else
	{
		ClearStyle(p_surname);
	}
	
	// Telefono
	if (!IsNumeric(p_phone.value) || p_phone.value == 0)
	{
		t_message += "- Telefono non valido.\n";
		ChangeStyle(p_phone);
		t_return = false;
	}
	else
	{
		ClearStyle(p_phone)
	}
	
	// Email
	if (!isValidEmail(p_email.value))
	{
		t_message += "- Email non valida.\n";
		ChangeStyle(p_email);
		t_return = false;
	}
	else
	{
		ClearStyle(p_email);
	}
	
	// Email2
	if (!isValidEmail(p_email2.value))
	{
		t_message += "- Email di conferma non valida.\n";
		ChangeStyle(p_email2);
		t_return = false;
	}
	else
	{
		ClearStyle(p_email2);
	}
	
	// Controllo ugualianza email
	if (p_email.value != p_email2.value)
	{
		t_message += "- Le due email inserite non corrispondono\n";
		ChangeStyle(p_email2);
		t_return = false;
	}
	
	// Controllo captcha
	if (p_ccode.value == "false")
	{
		t_message += "- Codice di controllo non valido\n";
		ChangeStyle(p_code);
		t_return = false;
	}else
		{
			ClearStyle(p_code);
		}
	
	// Condizioni di utilizzo
	if (p_accept[0].checked == false)
	{
		t_message += "- Condizioni di utilizzo obbligatorie\n";
		t_return = false;
	}
	
	if(!p_accept2.checked)
	{
		t_message += "- Consenso al trattamento dei dati personali obbligatorio";
		t_return = false;
	}
	
	
	
	if (t_message != "")
		alert(t_message);

	return t_return;
}


function CheckFormContact(fname, lname, email, accept){

	var t_return = true;
	var t_message = "";
	
	// Nome
	if (fname.value == "")
	{
		t_message += "- Inserire il nome.\n";
		ChangeStyle(fname);
		t_return = false;
	}
	else
	{
		ClearStyle(fname);
	}
	
	// Cognome
	if (lname.value == "")
	{
		t_message += "- Inserire il cognome.\n";
		ChangeStyle(lname);
		t_return = false;
	}
	else
	{
		ClearStyle(lname);
	}
	// Email
	if (!isValidEmail(email.value))
	{
		t_message += "- Email non valida.\n";
		ChangeStyle(email);
		t_return = false;
	}
	else
	{
		ClearStyle(email);
	}
	
	if(!accept.checked)
	{
		t_message += "- Consenso al trattamento dei dati personali obbligatorio";
		t_return = false;
	}
	
	if (t_message != "")
		alert(t_message);
	
	return t_return;
}


// Helpers

function ChangeStyle(p_element)
{
	var m_bgColor = "#ffffcc";
	var m_borderColor = "ff0000 1px solid";
	
	p_element.style.border = m_borderColor;
	p_element.style.background = m_bgColor;
	//p_element.focus();
}

function ClearStyle(p_element)
{
	p_element.style.border = "";
	p_element.style.background = "";
}

function IsNumeric(sText)
{
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
   
	for (i = 0; i < sText.length && IsNumber == true; i++)
	{
		Char = sText.charAt(i);
		if (ValidChars.indexOf(Char) == -1)
		{
			IsNumber = false;
		}
	}

	return IsNumber;
}


   // funzione che controlla il formato della mail
function isValidEmail(str)
{
	var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return str.match(emailRegEx);
	//return (str.indexOf("@") > 0);
	//return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);

}


function CheckFormAgency(p_tipologia, p_web, p_iva, p_address, p_city, p_province, p_company, p_name, p_surname, p_phone, p_email, p_email2, p_accept, p_accept2, p_fiscalCode, p_isCompanyForm, p_ccode, p_code)
{
	var t_return = true;
	var t_message = "";
	
	if (p_isCompanyForm)
	{
		
		
		// Partita IVA
		if (p_iva.value.length < 11)
		{	
			t_message += "- La Partita Iva deve essere di 11 caratteri\n";
			ChangeStyle(p_iva);
			t_return = false;
		}	

		if (!IsNumeric(p_iva.value))
		{
			t_message += "- La Partita Iva deve contenere solo caratteri numerici\n";
			ChangeStyle(p_iva);
			t_return = false;
		}	

		if (p_iva.value.length < 11 || !IsNumeric(p_iva.value))
		{
			ChangeStyle(p_iva);
			t_return = false;
		}
		else
		{
			ClearStyle(p_iva);
		}
		// Tipologia
		if (p_tipologia.value == "")
		{
			t_message += "- Tipologia non valida.\n";
			ChangeStyle(p_tipologia);
			t_return = false;
		}
		else
		{
			ClearStyle(p_tipologia);
		}
		// Company
		if (p_company.value == "")
		{
			t_message += "- Ragione sociale non valida.\n";
			ChangeStyle(p_company);
			t_return = false;
		}
		else
		{
			ClearStyle(p_company);
		}
	}
	else
	{
		if (p_fiscalCode.value.length < 16)
		{
			t_message += "- Il codice fiscale deve essere di 16 caratteri.\n";
			ChangeStyle(p_fiscalCode);
			t_return = false;
		}
		else
		{
			ClearStyle(p_fiscalCode);
		}
	}

	// Indirizzo
	if (p_address.value == "")
	{
		t_message += "- Indirizzo non valido.\n";
		ChangeStyle(p_address);
		t_return = false;
	}
	else
	{
		ClearStyle(p_address);
	}

	// Citta
	if (p_city.value == "")
	{
		t_message += "- Citta non valida.\n";
		ChangeStyle(p_city);
		t_return = false;
	}
	else
	{
		ClearStyle(p_city);
	}
	
	// Provincia
	if (p_province.value == "")
	{
		t_message += "- Provincia non valida.\n";
		ChangeStyle(p_province);
		t_return = false;
	}
	else
	{
		ClearStyle(p_province);
	}
	
	// Nome
	if (p_name.value == "")
	{
		t_message += "- Inserire il nome.\n";
		ChangeStyle(p_name);
		t_return = false;
	}
	else
	{
		ClearStyle(p_name);
	}
	
	// Cognome
	if (p_surname.value == "")
	{
		t_message += "- Inserire il cognome.\n";
		ChangeStyle(p_surname);
		t_return = false;
	}
	else
	{
		ClearStyle(p_surname);
	}
	
	// Telefono
	if (!IsNumeric(p_phone.value) || p_phone.value == 0)
	{
		t_message += "- Telefono non valido.\n";
		ChangeStyle(p_phone);
		t_return = false;
	}
	else
	{
		ClearStyle(p_phone)
	}
	// web
		if (p_web.value == "")
		{
			t_message += "- Sito Web non valido.\n";
			ChangeStyle(p_web);
			t_return = false;
		}
		else
		{
			ClearStyle(p_web);
		}
		
	
	// Email
	if (!isValidEmail(p_email.value))
	{
		t_message += "- Email non valida.\n";
		ChangeStyle(p_email);
		t_return = false;
	}
	else
	{
		ClearStyle(p_email);
	}
	
	// Email2
	if (!isValidEmail(p_email2.value))
	{
		t_message += "- Email di conferma non valida.\n";
		ChangeStyle(p_email2);
		t_return = false;
	}
	else
	{
		ClearStyle(p_email2);
	}
	
	// Controllo ugualianza email
	if (p_email.value != p_email2.value)
	{
		t_message += "- Le due email inserite non corrispondono\n";
		ChangeStyle(p_email2);
		t_return = false;
	}
	
	// Controllo captcha
	if (p_ccode.value == "false")
	{
		t_message += "- Codice di controllo non valido\n";
		ChangeStyle(p_code);
		t_return = false;
	}else
		{
			ClearStyle(p_code);
		}
	
	// Condizioni di utilizzo
	if (p_accept[0].checked == false)
	{
		t_message += "- Condizioni di utilizzo obbligatorie\n";
		t_return = false;
	}
	
	if(!p_accept2.checked)
	{
		t_message += "- Consenso al trattamento dei dati personali obbligatorio";
		t_return = false;
	}
	
	if (t_message != "")
		alert(t_message);

	return t_return;

}


