<!--
function getHTTPObject() {
	var xmlhttp;
	if (window.XMLHttpRequest && !(window.ActiveXObject)) {     // Object of the current windows
    	try {
			xmlhttp = new XMLHttpRequest();     // Firefox, Safari, ...
        } catch(e) { 
			xmlhttp = false;
        }
	} 
	else {
		if (window.ActiveXObject) {
			try {
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch(e) {
				try {
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch(e) {
					xmlhttp = false;
				}
			}
		}
	}
	return xmlhttp;
}

function handleHttpResponse_newsletter() { 
	try {
		var div_output_id = "fm_newsletter_output_messages";
		if (http.readyState == 4) { 
			if (http.status == 200) {
				results = http.responseText; 
				var div_output = document.getElementById(div_output_id); 
				if (div_output) { div_output.innerHTML = results; }
			}
		} 
	}
	catch(e) {
		alert(generic_server_error);
    }	
}

function check_newsletter() {
	// prendo i riferimenti ai campi
	var fm_newsletter_nome = document.getElementById("fm_newsletter_nome");
	var fm_newsletter_email = document.getElementById("fm_newsletter_email"); 
	
	var empty_required = false;
	
	if (fm_newsletter_nome) empty_required = check_required(fm_newsletter_nome, "textfield", "textfield_err") || empty_required;
	if (fm_newsletter_email) empty_required = check_required(fm_newsletter_email, "textfield", "textfield_err") || empty_required;
	
	if (empty_required == false) {
		var url = "ajax_call/fm_newsletter.php?email=" + escape(trim(fm_newsletter_email.value)) + "&nome=" + escape(trim(fm_newsletter_nome.value)); 
		http.open("GET", url, true); 
		http.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
		http.onreadystatechange = handleHttpResponse_newsletter; 
		http.send(null);
	}
	else {
		for (i=0;i<document.forms['fm_newsletter'].length;i++) {
			if (document.forms['fm_newsletter'][i].className.indexOf('_err') >= 0) {
				document.forms['fm_newsletter'][i].focus();
				break;
			}
		}
		var div_empty_error = document.getElementById("fm_newsletter_output_messages"); 
		if (div_empty_error) {
			div_empty_error.innerHTML = "<ul class=\"errorlist\"><li class=\"errorlist_item\">" + msg_empty_required + "</li></ul>";
			div_empty_error.style.display = "block";
		}
	}
}

function check_form_login() {
	var div_output_id = "div#fm_login_output_messages";
	var formName = "fm_login";
	var formOutputMsg = "fm_login_output_messages";

	// prendo i riferimenti ai campi
	var fm_login_email = document.getElementById("fm_login_email");
	var fm_login_password = document.getElementById("fm_login_password"); 
	
	var empty_required = false;
	
	if (fm_login_email) empty_required = check_required(fm_login_email, "textfield_account", "textfield_account_err") || empty_required;
	if (fm_login_password) empty_required = check_required(fm_login_password, "textfield_account", "textfield_account_err") || empty_required;

	if (empty_required == false) {
		url_params = "?fm_login_email=" + escape(trim(fm_login_email.value));
		url_params += "&fm_login_password=" + escape(trim(fm_login_password.value));

		$.ajax({
			type: "POST",
			url: SHORT_PATH + "ajax_call/login.php",
			data: url_params.substring(1), // toglie il ?
			cache: false,
			beforeSend: function(){
				//$(div_output_id).prepend(ajax_sending_text);
				//$(div_output_id).html(ajax_sending_text);
			},
			success: function(html){
				tag = "[url=";
				tag_start = html.indexOf(tag);
				tag_end = html.indexOf("]", tag_start);
				if (tag_start >= 0) {
					url = html.substr(tag_start + tag.length, (tag_end - tag_start) - tag.length);
					document.forms['fm_go'].action = url;
					document.forms['fm_go'].submit();
				}
				else {
					$(div_output_id).html(html);
					$(div_output_id).show();
				}
			},
			error: function(){
				$(div_output_id).html(ajax_error_text);
				$(div_output_id).show();
				alert(generic_server_error);
			}
		});	
	}
	else {
		for (i=0;i<document.forms[formName].length;i++) {
			if (document.forms[formName][i].className.indexOf('_err') >= 0) {
				document.forms[formName][i].focus();
				break;
			}
		}
		var div_empty_error = document.getElementById(formOutputMsg); 
		if (div_empty_error) {
			div_empty_error.innerHTML = "<ul class=\"errorlist\"><li class=\"errorlist_item\">" + msg_empty_required + "</li></ul>";
			div_empty_error.style.display = "block";
		}
	}
}

function check_form_get_password() {
	var div_output_id = "div#fm_get_password_output_messages";
	var formName = "fm_get_password";
	var formOutputMsg = "fm_get_password_output_messages";

	// prendo i riferimenti ai campi
	var fm_get_password_email = document.getElementById("fm_get_password_email");
	
	var empty_required = false;
	
	if (fm_get_password_email) empty_required = check_required(fm_get_password_email, "textfield_account", "textfield_account_err") || empty_required;
	
	if (empty_required == false) {
		url_params = "?fm_get_password_email=" + escape(trim(fm_get_password_email.value));

		$.ajax({
			type: "POST",
			url: SHORT_PATH + "ajax_call/recupera_password.php",
			data: url_params.substring(1), // toglie il ?
			cache: false,
			beforeSend: function(){
				//$(div_output_id).prepend(ajax_sending_text);
				$(div_output_id).prepend(ajax_sending_text);
				$(div_output_id).show();
			},
			success: function(html){
				$(div_output_id).html(html);
				$(div_output_id).show();
			},
			error: function(){
				$(div_output_id).html(ajax_error_text);
				$(div_output_id).show();
				alert(generic_server_error);
			}
		});	
	}
	else {
		for (i=0;i<document.forms[formName].length;i++) {
			if (document.forms[formName][i].className.indexOf('_err') >= 0) {
				document.forms[formName][i].focus();
				break;
			}
		}
		var div_empty_error = document.getElementById(formOutputMsg); 
		if (div_empty_error) {
			div_empty_error.innerHTML = "<ul class=\"errorlist\"><li class=\"errorlist_item\">" + msg_empty_required + "</li></ul>";
			div_empty_error.style.display = "block";
		}
	}
}

function check_form_register() {
	var div_output_id = "div#fm_register_output_messages";
	var formName = "fm_register";
	var formOutputMsg = "fm_register_output_messages";

	// prendo i riferimenti ai campi
	var fm_register_nome = document.getElementById("fm_register_nome");
	var fm_register_email = document.getElementById("fm_register_email");
	var fm_register_password = document.getElementById("fm_register_password");
	var fm_register_password_conf = document.getElementById("fm_register_password_conf");
	var fm_register_privacy = document.getElementById("fm_register_privacy");

	var empty_required = false;
	
	if (fm_register_nome) empty_required = check_required(fm_register_nome, "textfield_account", "textfield_account_err") || empty_required;
	if (fm_register_email) empty_required = check_required(fm_register_email, "textfield_account", "textfield_account_err") || empty_required;
	if (fm_register_password) empty_required = check_required(fm_register_password, "textfield_account", "textfield_account_err") || empty_required;
	if (fm_register_password_conf) empty_required = check_required(fm_register_password_conf, "textfield_account", "textfield_account_err") || empty_required;
	if (fm_register_privacy) empty_required = check_required(fm_register_privacy, "checkfield", "checkfield_err") || empty_required;
	
	if (empty_required == false) {
		url_params = "?fm_register_nome=" + escape(trim(fm_register_nome.value));
		url_params += "&fm_register_email=" + escape(trim(fm_register_email.value));
		url_params += "&fm_register_password=" + escape(trim(fm_register_password.value));
		url_params += "&fm_register_password_conf=" + escape(trim(fm_register_password_conf.value));

		$.ajax({
			type: "POST",
			url: SHORT_PATH + "ajax_call/registrati.php",
			data: url_params.substring(1), // toglie il ?
			cache: false,
			beforeSend: function(){
				//$(div_output_id).prepend(ajax_sending_text);
				$("#upload_progress").hide();
				$("#upload_process").show();
				$(div_output_id).prepend(ajax_sending_text);
				$(div_output_id).show();
			},
			success: function(html){
				$(div_output_id).html(html);
				$(div_output_id).show();
			},
			error: function(){
				$(div_output_id).html(ajax_error_text);
				$(div_output_id).show();
				alert(generic_server_error);
			}
		});	
	}
	else {
		for (i=0;i<document.forms[formName].length;i++) {
			if (document.forms[formName][i].className.indexOf('_err') >= 0) {
				document.forms[formName][i].focus();
				break;
			}
		}
		var div_empty_error = document.getElementById(formOutputMsg); 
		if (div_empty_error) {
			div_empty_error.innerHTML = "<ul class=\"errorlist\"><li class=\"errorlist_item\">" + msg_empty_required + "</li></ul>";
			div_empty_error.style.display = "block";
		}
	}
}

function check_form_update_account() {
	var div_output_id = "div#fm_update_account_output_messages";
	var formName = "fm_update_account";
	var formOutputMsg = "fm_update_account_output_messages";

	// prendo i riferimenti ai campi
	var fm_update_account_nome = document.getElementById("fm_update_account_nome");
	var fm_update_account_email = document.getElementById("fm_update_account_email");
	var fm_update_account_password = document.getElementById("fm_update_account_password");
	var fm_update_account_password_conf = document.getElementById("fm_update_account_password_conf");
	
	var empty_required = false;
	
	if (fm_update_account_nome) empty_required = check_required(fm_update_account_nome, "textfield_account", "textfield_account_err") || empty_required;
	if (fm_update_account_email) empty_required = check_required(fm_update_account_email, "textfield_account", "textfield_account_err") || empty_required;
	//if (fm_update_account_password) empty_required = check_required(fm_update_account_password, "textfield_account", "textfield_err") || empty_required;
	//if (fm_update_account_password_conf) empty_required = check_required(fm_update_account_password_conf, "textfield_account", "textfield_err") || empty_required;
	
	if (empty_required == false) {
		url_params = "?fm_update_account_nome=" + escape(trim(fm_update_account_nome.value));
		url_params += "&fm_update_account_email=" + escape(trim(fm_update_account_email.value));
		url_params += "&fm_update_account_password=" + escape(trim(fm_update_account_password.value));
		url_params += "&fm_update_account_password_conf=" + escape(trim(fm_update_account_password_conf.value));

		$.ajax({
			type: "POST",
			url: SHORT_PATH + "ajax_call/aggiorna_iscrizione.php",
			data: url_params.substring(1), // toglie il ?
			cache: false,
			beforeSend: function(){
				//$(div_output_id).prepend(ajax_sending_text);
				$("#upload_progress").hide();
				$("#upload_process").show();
				$(div_output_id).prepend(ajax_sending_text);
				$(div_output_id).show();
			},
			success: function(html){
				tag = "[url=";
				tag_start = html.indexOf(tag);
				tag_end = html.indexOf("]", tag_start);
				if (tag_start >= 0) {
					url = html.substr(tag_start + tag.length, (tag_end - tag_start) - tag.length);
					goto_url(url);
				}
				else {
					$(div_output_id).html(html);
					$(div_output_id).show();
				}
			},
			error: function(){
				$(div_output_id).html(ajax_error_text);
				$(div_output_id).show();
				alert(generic_server_error);
			}
		});	
	}
	else {
		for (i=0;i<document.forms[formName].length;i++) {
			if (document.forms[formName][i].className.indexOf('_err') >= 0) {
				document.forms[formName][i].focus();
				break;
			}
		}
		var div_empty_error = document.getElementById(formOutputMsg); 
		if (div_empty_error) {
			div_empty_error.innerHTML = "<ul class=\"errorlist\"><li class=\"errorlist_item\">" + msg_empty_required + "</li></ul>";
			div_empty_error.style.display = "block";
		}
	}
}

function ajaxFileUpload(filefield_name, filefield_value) {
	$("#upload_progress")
	.ajaxStart(function(){
		$(this).show();
	})
	.ajaxComplete(function(){
		$(this).hide();
	});

	$.ajaxFileUpload ({
			url: SHORT_PATH + 'ajax_call/ajaxfileupload.php?filefield_name=' + filefield_name,
			secureuri:false,
			fileElementId:filefield_name,
			dataType: 'json',
			success: function (data, status) {
				if(typeof(data.error) != 'undefined') {
					if(data.error != '') {
						$("#upload_process")
						.ajaxComplete(function(){
							$(this).html('');
						})
						$("#upload_progress").hide();
						alert(data.error);
					}
					else {
						// valorizzo il campo di input nascosto per il link al filename
						var filefield_name_filelink_id = document.getElementById(filefield_name + "_filelink");
						if (filefield_name_filelink_id) {
							filefield_name_filelink_id.value = filefield_value;
						}
						//alert(data.msg);
						$("#upload_process")
						.ajaxStart(function(){
							$(this).html('');
						})
						.ajaxComplete(function(){
							$(this).html('<span style="font-weight:bold">Caricato: </span>' + filefield_name_filelink_id.value.replace(/\\/g,'/').replace( /.*\//, '' ));
						});
					}
				}
			},
			error: function (data, status, e) {
				alert(e);
			}
		}
	)
	return false;
}

function check_required(field_id, class_ok, class_error) {
	if (field_id.type != 'checkbox' && field_id.type != 'radio')
		var is_required = (trim(field_id.value) == "");
	else 
		var is_required = (field_id.checked == false);
	
	var label = document.getElementById(field_id.name + "_lbl");		
	if (is_required) { 
		field_id.className = class_ok + " " + class_error; 
		if (label) { label.style.fontWeight = "bold"; label.style.color = "#ff0000";  }
	}
	else { 
		field_id.className = class_ok; 
		if (label) { label.style.fontWeight = ""; label.style.color = ""; }
	}
	return is_required;
}

//var ajax_loading_text = "<div class=\"ajax_loading\">in caricamento...<img style=\"vertical-align:middle;padding-left:10px;\" src=\"resources/gfx/progress.gif\" alt=\"\" /></div>";
var generic_server_error = "Richiesta dati dal server fallita, riprovare";
var empty_testo_ricerca = "Specificare un testo da ricercare";
var msg_empty_required = "I campi contrassegnati con il simbolo <span class=\"asterisco\">*</span>, opportunamente evidenziati, sono obbligatori";

var ajax_loading_text = "<div class=\"ajax_loading\">in caricamento...</div><div class=\"break_row\"></div>";
var ajax_sending_text = "<div class=\"ajax_sending\">sto inviando...</div><div class=\"break_row\"></div>";
var ajax_waiting_text = "<div class=\"ajax_waiting\">attendere...</div><div class=\"break_row\"></div>";
var ajax_error_text = "<div class=\"ajax_error\">[" + generic_server_error + "]</div><div class=\"break_row\"></div>";

var http = getHTTPObject(); // HTTP Object
var http2 = getHTTPObject(); // HTTP Object
-->

