var host    = 'arcenia.estateweb.it';
var JSONurl = 'http://' + host + '/WebModule/json.php';
var FORMurl = 'http://' + host + '/WebModule/search.php';

function createOption(k, v) {
	k = (k == null) ? '0' : k;
	var row = "<option value='"+k+"'>"+v+"</option>";
	return row;
}

function fetchRegioni() {
	$.getJSON(JSONurl + "?q=regioni&_c=?", function(s) {
		var pre = createOption(null, '-- Seleziona una regione...');
		$(pre).appendTo('select#regione');
		$.each(s, function(i, k) {
			var row = createOption(i, k);
			$(row).appendTo('select#regione');
		})
		fetchProvince($('select#regione').val());
	});
}

function fetchProvince(w) {
	$.getJSON(JSONurl + "?q=province&r="+w+"&_c=?", function(s) {
      	$('select#provincia option').remove();
      	var pre = createOption(null, '-- Seleziona una provincia...');
		$(pre).appendTo('select#provincia');
      	$.each(s, function(i, k) {
      		var row = createOption(i, k);
      		$(row).appendTo('select#provincia');
  		});
  		fetchComuni($('select#provincia').val());
  	});
}

function fetchComuni(w) {
	$.getJSON(JSONurl + "?q=comuni&p="+w+"&_c=?", function(s) {
		$('select#comune option').remove();
		var pre = createOption(null, 'Tutti i comuni');
		$(pre).appendTo('select#comune');
		$.each(s, function(i, k) {
			var row = createOption(i, k);
			$(row).appendTo('select#comune');
		})
		
	});
}

function fetchTipologia() {
	$.getJSON(JSONurl + "?q=tipologia&_c=?", function(s) {
		var pre = createOption(null, '-- Seleziona una tipologia...')
		$(pre).appendTo('select#tipologia');
		$.each(s, function(i, k) {
			var row = createOption(i, k);
			$(row).appendTo('select#tipologia');
		})	
	})
}

function validateForm() {
	var reg = $('select#regione').val();
	var pro = $('select#provincia').val();
	var tip = $('select#tipologia').val();

	if (reg == 0) return('ERRORE: selezionare la regione!');
	if (pro == 0) return('ERRORE: selezionare la provincia!');
	if (tip == 0) return('ERRORE: selezionare il tipo di immobile!');

	return true;
}

$(document).ready(function() {
	
	fetchRegioni();
	fetchTipologia();
	
	$('select#regione').change(function() {
		fetchProvince($(this).val());
	})
	
	$('select#provincia').change(function() {
		fetchComuni($(this).val());
	})

	$('form#eWebClient').attr('action', FORMurl);

	$('#cmdEstate').click(function() {
		var validForm = validateForm();
		if (validForm != true) {
			alert(validForm);
			return;
		}
		$('form#eWebClient').submit();
	})
});
