
var errors_div = '<div id="register-errors"><div id="register-errors-int">Errore ';
errors_div += 'di compilazione modulo</div>ERRORS</div>';

function check_rescue_pass()
{
	var f = document.forms['rescue_pass'];
	var check_email = f.elements['email'].value.match(/^([a-z0-9_\.-])+@(([a-z0-9_-])+\.)+[a-z]{2,6}$/i)
	if(check_email == null) {
		alert('Mail non inserita o non corretta');
		f.elements['email'].focus();
		return false;
	}
	return true;
}

function close_error_div()
{
	$("#register-errors").hide().remove();
	$("#register-form-subcontainer").fadeTo(1,1);
	return false;
}

function check_form_errors()
{
	if(form_errors != "") {
		var errors = Base64.decode(form_errors).replace(/\[/g, "<strong>[").replace(/\]/g, "]</strong>");
		$("#register-form-container").prepend(
			errors_div.replace("ERRORS", errors)
		);

		if(tipologia && $.inArray(tipologia, ['fisica','giuridica']) != -1) {
			if(tipologia == "fisica") {
				document.forms[ $("#register-form").attr("name") ].elements['tipologia'][0].checked = true;
			} else {
				document.forms[ $("#register-form").attr("name") ].elements['tipologia'][1].checked = true;
			}
			radio_persona();
		}
		if(nl && $.inArray(nl, ['0','1']) != -1) {
			if(nl == "1") {
				document.forms[ $("#register-form").attr("name") ].elements['nl'][0].checked = true;
			} else {
				document.forms[ $("#register-form").attr("name") ].elements['nl'][1].checked = true;
			}
		}
		if(sp && $.inArray(sp, ['0','1']) != -1) {
			if(sp == "1") {
				document.forms[ $("#register-form").attr("name") ].elements['sp'][0].checked = true;
			} else {
				document.forms[ $("#register-form").attr("name") ].elements['sp'][1].checked = true;
			}
		}
	}
}

function is_wrong(object, field)
{
	$(object).css("color","red").css("text-decoration","underline");
	field.css("color","#fff").css("background-color","red");
}

function is_right(object, field)
{
	$(object).css("color","#000").css("text-decoration","none");
	field.css("color","#000").css("background-color","#fff");
}

function do_register()
{
	var errors = [];
	var errors_index = -1;
	$(".td-label").each(
		function() {
			var mandatory = ( $(this).html().match(/^\*/) != null );
			var field = $(this).parent().children("td.td-field").children(".register-field");
			var field_val = $.trim(field.val())
			if(mandatory == true && field_val == "" ) {
				errors[++errors_index] = "[" + $(this).html().replace("*","") + "]: campo non compilato";
				is_wrong(this, field);
			} else {
				if( $(this).html() == "*Email" ) {
					(field_val.match(/^([a-z0-9_\.-])+@(([a-z0-9_-])+\.)+[a-z]{2,6}$/i) == null)
						? is_wrong(this, field) : is_right(this, field);
				} else if( $(this).html() == "*Codice Fiscale" ) {
					(field_val.match(/^[a-z0-9]{16}$/i) == null)
						? is_wrong(this, field) : is_right(this, field);
				} else if( $(this).html() == "*Partita IVA" ) {
					(field_val.match(/^[0-9]{11}$/) == null)
						? is_wrong(this, field) : is_right(this, field);
				} else {
					is_right(this, field);
				}
			}
		}
	);
	if( $("#chbox-privacy:checked").length == 0) {
		errors[++errors_index] = "[Privacy]: \xE8 obbligatorio prendere visione delle disposizioni sulla privacy";
		$("#chbox-privacy").parent().css("color","red").css("text-decoration","underline");
	} else {
		$("#chbox-privacy").parent().css("color","#000").css("text-decoration","none");
	}

	if(errors.length > 0) {
		return false;
	}

	$("#register-form").submit();
	return false;
}

function radio_persona()
{
	$(".radio-persona").each(
		function() {
			var is_checked = this.checked;
			if(is_checked == true) {
				switch( $(this).val() ) {
					case "fisica":
						$("#td-lname1").parent().show();
						$("#td-fname1").html("*Nome");
						$("#td-lname1").html("*Cognome");
						$("#td-codfisc1").html("Codice Fiscale");
						is_right($("#td-codfisc1"), $("#td-codfisc2").children("input"));
						$("#td-fname2").children("input").attr("name", "fname");
						$("#td-codfisc2").children("input").attr("name", "cod_fisc");
						break;
					case "giuridica":
						$("#td-fname1").html("*Ragione Sociale");
						$("#td-lname1").html("");
						$("#td-lname1").parent().hide();
						$("#td-codfisc1").html("*Partita IVA");
						$("#td-fname2").children("input").attr("name", "rag_soc");
						$("#td-codfisc2").children("input").attr("name", "piva");
						break;
				}
			}
		}
	);
}

$(document).ready(
	function() {
		$("#register-submit").click( do_register );
		$(".radio-persona").each(
			function() {
				$(this).click( radio_persona );
			}
		);
		check_form_errors();
		$(".register-field ").each(
			function() {
				var field = $(this);
				$(this).focus(
					function() {
						var object = $(this).parent().parent().children("td.td-label");
						is_right(object, field);
					}
				);
			}
		);
		$("#rescue-pass").submit( check_rescue_pass );
	}
);

