function sendFormErrorMsg(formId, msg, obj) {
	if ((String(" login_FORM, pwd_FORM,").indexOf(" "+formId+",") > -1) && ($(obj).attr("name") != "usr")) {return false;}
	$(obj).parent().css("height", "auto");
	var div = $("<div rel='formMessageError'>");
	$(div).css("clear", "left");
	$(div).css("color", "#ff0000");
	$(div).css("border", "0px solid #ff0000");
	$(div).css("font-weight", "normal");
	$(div).css("line-height", "12px");
	$(div).css("width", "auto");
	$(div).css("margin", "auto");
	$(div).hide();
	$(div).html(msg);
	$(div).appendTo($(obj).parent());
	$(div).css("width", $(this).prev().width()+"px");
	if ($(this).prev().css("text-align") == "right") {
		$(div).css("padding", "3px 15px 3px 3px");
		$(div).css("text-align", "right");
		$(div).css("background", "url(/images/template/topArrowRed10.gif) 100% 3px no-repeat");
	} else {
		$(div).css("padding", "3px 3px 3px 15px");
		$(div).css("text-align", "left");
		$(div).css("background", "url(/images/template/topArrowRed10.gif) 0% 3px no-repeat");
	}
	$(div).fadeIn(400);
	checkForm = false;
}


var startedForm = false;
var checkForm;
function sendForm(id, exclude) {
	if (startedForm) {return false;}
	startedForm = true;
	checkForm = true;
	var inputArray = $("#"+id+" :input");
	var color_ON = "#ff0000";
	var color_OFF = "#000000";
	$("div[rel='formMessageError']").remove();
	for (var i=0; i<$(inputArray).size(); i++) {
		input = $(inputArray).get(i);
		inputRel = $(input).attr("rel");
		inputName = $(input).attr("name");
		if ((inputRel != null) && ((inputRel != "") || (exclude == null) || (String(" "+exclude+",").indexOf(" "+inputName+",") == -1))) {
			inputType = inputRel.substring(0, inputRel.indexOf("|"));
			inputCompulsory = (inputRel.substring(inputRel.length-1, inputRel.length) == "1") ? true : false;
			inputValue = $(input).attr("value");
			inputValue = $.trim(inputValue);
			if ((inputCompulsory) || (inputValue != ""))	{
				switch(inputType) {
					case "select":
						if (inputValue == "") {
							sendFormErrorMsg(id, "Devi selezionare un'opzione dal menu a tendina", $(input));
						}
						break;
					case "radio":
						var total_radio = $("#"+id+" :input[type='radio'][name='"+inputName+"']");
						if (inputCompulsory) {
							var checked_radio = $("#"+id+" :input[type='radio'][name='"+inputName+"']").is(":checked");
							if ($(checked_radio).size() == 0) {
								if (($(input).parent().attr("rel")) && ($(input).parent().attr("rel").substring(0, 19) == "selectGraphicRadio(")) {
									sendFormErrorMsg(id, "Scegli una delle opzioni disponibili.", $(input).parent());
								} else {
									sendFormErrorMsg(id, "Devi scegliere una delle opzioni disponibili.", $(input));
								}
							}
						}
						i=i+$(total_radio).size()-1;
						break;
					case "checkbox":
						var total_checkbox = $("#"+id+" :input[type='checkbox'][name='"+inputName+"']");
						if (inputCompulsory) {
							var checked_checkbox = $("#"+id+" :input[type='checkbox'][name='"+inputName+"']").is(":checked");
							if ($(checked_checkbox).size() == 0) {
								if ($(total_checkbox).size() > 1) {
									sendFormErrorMsg(id, "Devi scegliere almeno una delle opzione disponibili.", $(input));
								} else {
									sendFormErrorMsg(id, "Devi spuntare questa opzione per proseguire.", $(input));
								}
							}
						}
						i=i+$(total_checkbox).size()-1;
						break;
					case "text":
						if (inputValue == "") {
							sendFormErrorMsg(id, "Campo obbligatorio.", $(input));
						}
						break;
					case "file":
						var permitExtension = $(input).attr("title");
						if (permitExtension != "*") {
							extension = permitExtension.split(",");
							for (var j=0; j<extension.length; j++) {
								objExtension = inputValue.substring(inputValue.length-extension[j].length, inputValue.length);
								if (extension[j].toLowerCase() != objExtension.toLowerCase()) {
									sendFormErrorMsg(id, "Estensione file non permessa. Le estensioni permesse sono: "+permitExtension, $(input));
								}
							}
						}
						break;
					case "email":
						if ((inputValue == "") || (!CheckRegExpression(inputValue, /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})$/))) {
							sendFormErrorMsg(id, "Indirizzo email non valido.", $(input));
						}
						break;
					case "emailmulti":
						inputValue = inputValue.replace(/ /g, "");
						inputValue = inputValue.replace(/;/g, ",");
						$(input).attr("value", inputValue);
						inputValue = $(input).attr("value");
						inputValue = inputValue.split(",");
						for (var j=0; j<inputValue.length; j++) {
							if ((inputValue[j] == "") || (!CheckRegExpression(inputValue[j], /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})$/))) {
								sendFormErrorMsg(id, "Indirizzo email non valido.", $(input));
							}
						}
						break;
					case "vat":
						if ((inputValue == "") || (!CheckRegExpression(inputValue, /^\d{11}$/))) {
							sendFormErrorMsg(id, "La Partita IVA deve essere lunga 11 digitazioni e deve contenere solo caratteri numerici.", $(input));
						}
						break;
					case "folder":
						if ((inputValue !="") || (!CheckRegExpression(inputValue, /^[a-zA-Z0-9_\-]{1,255}$/))) {
							sendFormErrorMsg(id, "Il campo Folder obbligatorio e deve contenere fino a 255 caratteri.", $(input));
						}
						break;
					case "spam":
						inputValue = inputValue.toUpperCase();
						$(input).attr("value", inputValue);
						if ((inputValue != gSpamCode) || (!CheckRegExpression(inputValue, /^[a-zA-Z0-9]{6}$/))) {
							sendFormErrorMsg(id, "Il campo Anti-Spam code è obbligatorio. Se il codice risulta illegibile, clicca su 'Genera Nuovo'", $(input));
						}
						break;
					case "pwdmod":
					case "pwd":
						if ($(input).attr("id") == "pwdCheck") {
							inp = $(inputArray).get(i-1);
							if ((inputValue == "") || (inputValue != $(inp).attr("value"))) {
								sendFormErrorMsg(id, "Il campo ripeti password è obbligatorio e deve contenere lo stesso valore del campo password.", $(input));
							}
						} else {
							if ((inputValue == "") || (!CheckRegExpression(inputValue, /^[a-zA-Z0-9\!\-\_\#\@]{6,}$/))) {
								sendFormErrorMsg(id, "Il campo password è obbligatorio e deve contenere solo i seguenti caratteri:<br /><strong>a-z A-Z 0-9 ! - _ # @</strong>.", $(input));
							}
						}
						break;
					case "fc":
						$(input).css("text-transform", "uppercase");
						if ((inputValue == "") || (!CheckRegExpression(inputValue.toUpperCase(), /^[A-Z0-9]{16}$/))) {
							sendFormErrorMsg(id, "Il codice fiscale è lungo 16 caratteri.", $(input));
						}
						break;
					case "int":
					case "integer":
						if ((inputValue == "") || (!CheckRegExpression(inputValue, /^\-?\d{1,}$/))) {
							sendFormErrorMsg(id, "Questo campo deve contenere solo caratteri numerici interi.", $(input));
						}
						break;
					case "zip":
						if ((inputValue == "") || (!CheckRegExpression(inputValue, /^\d{5}$/))) {
							sendFormErrorMsg(id, "Questo campo deve solo contenere caratteri numerici e deve essere lungo 5 digitazioni.", $(input));
						}
						break;
					case "dec":
					case "decimal":
						if ((isNaN(inputValue)) && (inputValue.indexOf(/^\.|\,$/) == -1)) {
							inputValue += ".00";
							$(input).attr("value", inputValue);
						}
						if ((inputValue == "") || (!CheckRegExpression(inputValue, /^(\d{1,})+\.|\,(\d{1,})$/))) {
							sendFormErrorMsg(id, "Questo campo deve solo contenere caratteri numerici, sono permessi il punto o la virgola.", $(input));
						}
						break;
					case "date":
						inputValue = inputValue.replace("GG/MM/AAAA", "").replace("DD/MM/YYYY", "").replace(/-/g, "/");
						$(input).attr("value", inputValue);
						if ((inputValue == "") || (!checkDate(inputValue, $(input)))) {
							sendFormErrorMsg(id, "Formato data non valido. Il formato consentito è: GG/MM/AAAA", $(input));
						}
						break;
					case "http":
						if (inputValue == "http://") {
							sendFormErrorMsg(id, "Formato url non valido.", $(input));

						} else if (inputValue.substring(0, 7) != "http://") {
							sendFormErrorMsg(id, "La url deve iniziare con: 'http://'", $(input));
						}
						break;

				}
			}
		}
	}
	if (!checkForm) {
		startedForm = false;
		return false;
	} else {
		if ((id == "login_FORM") || (id == "pwd_FORM")) {
			return true;
		} else {
			if ($("#"+id).attr("target") == "_blank") {
				startedForm = false;
			}
			createLoadingPage();
			$("#"+id).submit();
		}
	}
}
