/**
 * @author lrkwz
 */
function include_dom(script_filename) {
    var html_doc = document.getElementsByTagName('head').item(0);
    var js = document.createElement('script');
    js.setAttribute('language', 'javascript');
    js.setAttribute('type', 'text/javascript');
    js.setAttribute('src', script_filename);
    html_doc.appendChild(js);
    return false;
}

include_dom('js/newsletter_ajax.js');
include_dom('js/credenziali_ajax.js');
include_dom('js/comboDistributori_ajax.js');
include_dom('js/engine.js');
include_dom('js/util.js');

var msg_notsaved = "";
var msg_saved = "";
var the_form;
var the_msg;

var newsletterCallback = function(data)
{
	var m = msg_notsaved;
	if (data != null && typeof data == 'object'){
		document.getElementById("msg").className = "error";
		m = dwr.util.toDescriptiveString(data, 2);
	} else {
		result = dwr.util.toDescriptiveString(data, 1);
		if( result == 0 ){
			m = msg_saved;
			the_form.cognome.value ="";
			the_form.nome.value ="";
			the_form.email.value ="";
			the_form.priv.checked = false;
		}else{
			document.getElementById("msg").className = "error";
		}
	}
	document.getElementById("msg").innerHTML = m;
}

function save_newsletterform(formRef, errormsg, savedmsg, privacymsg, notvalid) {
	msg_notsaved = errormsg;
	msg_saved = savedmsg;
	the_form = formRef;

	if (formRef.priv.checked == 0) {
		document.getElementById("msg").className = "error";
		document.getElementById("msg").innerHTML = privacymsg;
	}
	else if (!checkEmail(formRef.email.value)) {
		document.getElementById("msg").className = "error";
		document.getElementById("msg").innerHTML = notvalid;
	}
	else {
		document.getElementById("msg").innerHTML = '...';
		newsletter_ajax.iscrivimi( formRef.cognome.value, formRef.nome.value, formRef.email.value, true, newsletterCallback );
	}
}

function checkEmail(emailAddress) {
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return (filter.test(emailAddress));
}

var claimpasswordCallback = function(data) {
	var m = msg_notsaved;

	if (data != null && typeof data == 'object'){
		the_msg.className = "error";
		m = dwr.util.toDescriptiveString(data, 2);
	}
	else {
		result = dwr.util.toDescriptiveString(data, 1);

		if (result == 0) {
			m = msg_saved;
		}
		else {
			m = "error";
			the_msg.className = "error";
		}
	}

	the_msg.innerHTML = m;
}

function claim_password(email, msg, savedmsg, notvalid) {
 	if (!checkEmail(email)) {
 		msg.innerHTML = notvalid;
 		return;
 	}

	the_msg = msg;
	msg_saved = savedmsg;
	the_msg.innerHTML = '...';
	credenziali_ajax.scrivimi( email, claimpasswordCallback );
}


	var comboCallBack = function(data) {
		eval(data);
	}

	var divRegione 		= null;
	var divRisultato	= null;
	var paese 			= null;
	var regione			= null;
	var settore			= null;

	function inizializzaVariabili() {
		if (divRegione == null)
			divRegione 		= document.getElementById('divregione');
		if (divRisultato == null)
			divRisultato	= document.getElementById('divrisultato');
		if (paese == null)
			paese 			= document.distributore.paese;
		if (regione == null)
			regione			= document.distributore.regione;
		if (settore == null)
			settore			= document.distributore.settore;
	}

	function selezionaPaese() {
		inizializzaVariabili();

		var idPaese = paese.options[paese.selectedIndex].value;

		if (idPaese != '') {
			if (idPaese.charAt(0) == "0") {
				divRegione.style.visibility = "visible";
				divRegione.style.display = "block";
				regione.disabled = false;
				settore.disabled = true;

				comboDistributori_ajax.paesePopolaRegione(idPaese, comboCallBack);
			}
			else {
				divRegione.style.visibility = "hidden";
				divRegione.style.display = "none";
				settore.disabled = false;

				comboDistributori_ajax.paesePopolaSettore(idPaese, comboCallBack);
			}
		}
		else {
			divRegione.style.visibility = "hidden";
			divRegione.style.display = "none";
			regione.disabled = true;
			settore.disabled = true;
		}

		document.distributore.regione.value = '';
		divRisultato.innerHTML = '';
		DWRUtil.removeAllOptions('regione');
		DWRUtil.removeAllOptions('settore');
	}

	function selezionaRegione() {
		inizializzaVariabili();

		var idPaese		= paese.options[paese.selectedIndex].value;
		var idRegione	= regione.options[regione.selectedIndex].value;

		if (idRegione != '') {
			settore.disabled = false;

			comboDistributori_ajax.regionePopolaSettore(/*idPaese,*/ idRegione, comboCallBack);
		}
		else {
			settore.disabled = true;
		}

		divRisultato.innerHTML = '';
		DWRUtil.removeAllOptions('settore');
	}

	function mostraDistributore() {
		inizializzaVariabili();

		var idPaese		= paese.options[paese.selectedIndex].value;
		var idRegione 	= regione.selectedIndex != -1 ? regione.options[regione.selectedIndex].value : '';
		var idSettore 	= settore.options[settore.selectedIndex].value;

		if (idSettore != '') {
			comboDistributori_ajax.mostraDistributore(idPaese, idRegione, idSettore, comboCallBack);
		}
		else {
			divRisultato.innerHTML = '';
		}
	}
