$(document).ready(function(){
	// map functionality ******************************************************************************************************************

	var _map = {
		tutte: ['All provinces', 'Agrigento', 'Alessandria', 'Ancona', 'Aosta', 'Arezzo', 'Ascoli Piceno', 'Asti', 'Avellino', 'Bari', 'Belluno', 'Benevento', 'Bergamo', 'Biella', 'Bologna', 'Bolzano', 'Brescia', 'Brindisi', 'Cagliari', 'Caltanisetta', 'Campobasso', 'Caserta', 'Catania', 'Catanzaro', 'Chieti', 'Como', 'Cosenza', 'Cremona', 'Crotone', 'Cuneo', 'Enna', 'Ferrara', 'Florence', 'Foggia', 'Forlė-Cesena', 'Frosinone', 'Genoa', 'Gorizia', 'Grosseto', 'Imperia', 'Isernia', 'L\'Aquila', 'La Spezia', 'Latina', 'Lecce', 'Lecco', 'Livorno', 'Lodi', 'Lucca', 'Macerata', 'Mantua', 'Massa-Carrara', 'Matera', 'Messina', 'Milan', 'Modena', 'Naples', 'Novara', 'Nuoro', 'Olbia-Tempio', 'Oristano', 'Padua', 'Palermo', 'Parma', 'Pavia', 'Perugia', 'Pesaro e Urbino', 'Pescara', 'Piacenza', 'Pisa', 'Pistoia', 'Pordenone', 'Potenza', 'Prato', 'Ragusa', 'Ravenna', 'Reggio Calabria', 'Reggio Emilia', 'Rieti', 'Rimini', 'Rome', 'Rovigo', 'Salerno', 'Sassari', 'Savona', 'Siena', 'Syracuse', 'Sondrio', 'Taranto', 'Teramo', 'Terni', 'Turin', 'Trapani', 'Trento', 'Treviso', 'Trieste', 'Udine', 'Varese', 'Venice', 'Verbano-Cusio-Ossola', 'Vercelli', 'Verona', 'Vibo Valentia', 'Vicenza', 'Viterbo'],
		abruzzo : ['All provinces','Chieti','L\'Aquila','Pescara','Teramo'],
		basilicata : ['All provinces','Matera','Potenza'],
		calabria : ['All provinces','Catanzaro','Cosenza','Reggio Calabria','Crotone','Vibo Valentia'],
		campania : ['All provinces','Avellino','Benevento','Caserta','Naples','Salerno'],
		'emilia_romagna' : ['All provinces','Bologna', 'Ferrara', 'Forlė-Cesena', 'Modena', 'Parma', 'Piacenza', 'Ravenna', 'Reggio Emilia', 'Rimini'],
		'friuli-venezia_giulia' : ['All provinces','Gorizia', 'Pordenone', 'Trieste', 'Udine'],
		lazio : ['All provinces','Frosinone', 'Latina', 'Rieti', 'Rome', 'Viterbo'],
		liguria : ['All provinces','Genoa', 'Imperia', 'La Spezia', 'Savona'],
		lombardy : ['All provinces','Bergamo', 'Brescia', 'Como', 'Cremona', 'Lecco', 'Lodi', 'Mantua', 'Milan', 'Pavia', 'Sondrio', 'Varese'],
		marches : ['All provinces','Ancona', 'Ascoli Piceno', 'Macerata', 'Pesaro e Urbino'],
		molise : ['All provinces','Campobasso', 'Isernia'],
		piedmont : ['All provinces','Alessandria', 'Asti', 'Biella', 'Cuneo', 'Novara', 'Turin', 'Verbano-Cusio-Ossola', 'Vercelli'],
		apulia : ['All provinces','Bari', 'Brindisi', 'Foggia', 'Lecce', 'Taranto'],
		sardinia : ['All provinces','Cagliari', 'Nuoro', 'Olbia-Tempio', 'Oristano', 'Sassari'],
		sicily : ['All provinces','Agrigento', 'Caltanisetta', 'Catania', 'Enna', 'Messina', 'Palermo', 'Ragusa', 'Syracuse', 'Trapani'],
		tuscany : ['All provinces','Arezzo', 'Florence', 'Grosseto', 'Livorno', 'Lucca', 'Massa-Carrara', 'Pisa', 'Pistoia', 'Prato', 'Siena'],
		'trentino_alto_adige' : ['All provinces','Bolzano', 'Trento'],
		umbria : ['All provinces','Perugia', 'Terni'],
		aosta_valley : ['All provinces','Aosta'],
		veneto : ['All provinces','Belluno', 'Padua', 'Rovigo', 'Treviso', 'Venice', 'Verona', 'Vicenza']
	}
	// parameter use for load province
	var _prId = {
		tutte: 'All provinces',
		'agrigento':'Agrigento','alessandria':'Alessandria','ancona':'Ancona','aosta':'Aosta','arezzo':'Arezzo','ascoli_piceno':'Ascoli Piceno','asti':'Asti','avellino':'Avellino',
		'bari':'Bari','belluno':'Belluno','benevento':'Benevento','bergamo':'Bergamo','biella':'Biella','bologna':'Bologna','bolzano':'Bolzano','brescia':'Brescia','brindisi':'Brindisi',
		'cagliari':'Cagliari','caltanisetta':'Caltanisetta','campobasso':'Campobasso','caserta':'Caserta','catania':'Catania','catanzaro':'Catanzaro','chieti':'Chieti','como':'Como','cosenza':'Cosenza','cremona':'Cremona','crotone':'Crotone','cuneo':'Cuneo',
		'enna':'Enna',
		'ferrara':'Ferrara','florence':'Florence','foggia':'Foggia','forli-cesena':'Forlė-Cesena','frosinone':'Frosinone',
		'genoa':'Genoa','gorizia':'Gorizia','grosseto':'Grosseto',
		'imperia':'Imperia','isernia':'Isernia',
		'l_aquila':'L\'Aquila','la_spezia':'La Spezia','latina':'Latina','lecce':'Lecce','lecco':'Lecco','livorno':'Livorno','lodi':'Lodi','lucca':'Lucca',
		'macerata':'Macerata','mantua':'Mantua','massa-carrara':'Massa-Carrara','matera':'Matera','messina':'Messina','milan':'Milan','modena':'Modena',
		'naples':'Naples','novara':'Novara','nuoro':'Nuoro',
		'olbia-tempio':'Olbia-Tempio', 'oristano':'Oristano',
		'padova':'Padua','palermo':'Palermo','parma':'Parma','pavia':'Pavia','perugia':'Perugia','pesaro_e_urbino':'Pesaro e Urbino','pescara':'Pescara','piacenza':'Piacenza','pisa':'Pisa','pistoia':'Pistoia','pordenone':'Pordenone','potenza':'Potenza','prato':'Prato',
		'ragusa':'Ragusa','ravenna':'Ravenna','reggio_calabria':'Reggio Calabria','reggio_emilia':'Reggio Emilia','rieti':'Rieti','rimini':'Rimini','rome':'Rome','rovigo':'Rovigo',
		'salerno':'Salerno','sassari':'Sassari','savona':'Savona','siena':'Siena','syracuse':'Syracuse','sondrio':'Sondrio',
		'taranto':'Taranto','teramo':'Teramo','terni':'Terni','turin':'Turin','trapani':'Trapani','trento':'Trento','treviso':'Treviso','trieste':'Trieste',
		'udine':'Udine',
		'varese':'Varese','venice':'Venice','verbano-cusio-ossola':'Verbano-Cusio-Ossola','vercelli':'Vercelli','verona':'Verona','vibo_valentia':'Vibo Valentia','vicenza':'Vicenza','viterbo':'Viterbo'
	}

	// map hover
	/**
	 * L'ultimo mouse over
	 */
	var _elArea;
	$('#map area').mouseover(function(){
        _elArea = $(this).attr("path");
		$('#'+_elArea).addClass('hover');
	});
	$('#map area').mouseout(function(){
		$('#'+_elArea).removeClass('hover');
	});

	//map select region
	/*
	$('#map area').click(function(){
		$('.map li, #map area').removeClass('active');
		var _rID = $('#'+_elArea).attr('class').replace(' hover','');
		$('#'+_elArea).addClass('active');
        
		$('.map-form select.r-select option').attr('selected','');
		$('.map-form select.r-select option[value='+_rID+']').attr('selected','selected');
        
		var _options = '';
		for (var i=0; i < _map[_rID].length; i++ ) {
			_options += '<option value="'+_map[_rID][i]+'" >'+_map[_rID][i]+'</option>'
		}
		$('.map-form select.p-select').html(_options);
        
		setPrId('.map-form');
        
		$(this).addClass('active');
		return false;
	})
	*/
	// select change region
	$('.map-form select.r-select').change(function(){
		var _rId = $(this).val();
		$('.map-form select.r-select option').attr('selected','');
		$('.map-form select.r-select option[value='+_rId+']').attr('selected','selected');
		$('.map li, #map area').removeClass('active');
        
		var _options = '';
		if (_map[_rId]) {
			for (var i=0; i < _map[_rId].length; i++ ) {
				_options += '<option value="'+_map[_rId][i]+'" >'+_map[_rId][i]+'</option>'
			}
		} else {
     for(key in _prId) {
  	   _options += '<option value="'+key+'" >'+_prId[key]+'</option>';
  	 }
    }
		$('.map-form select.p-select').html(_options);
        
		setPrId('.map-form');
        
		$('.'+_rId).addClass('active');
	});
	$('.ricerca select.r-select').change(function(){
		var _rId = $(this).val();
		$('.ricerca select.r-select option').attr('selected','');
		$('.ricerca select.r-select option[value='+_rId+']').attr('selected','selected');
       
		var _options = '';
		if (_map[_rId]) {
			for (var i=0; i < _map[_rId].length; i++ ) {
				_options += '<option value="'+_map[_rId][i]+'" >'+_map[_rId][i]+'</option>'
			}
		}
		$('.ricerca select.p-select').html(_options);
        
		setPrId('.ricerca');
	});
    
	// set province ID
	var setPrId = function(_parent){
		$(_parent+' select.p-select').each(function(i,_el){
			$('option', _el).each(function(){
				var provinceName  = $(this).text();
				for(_id in _prId) {
					if (_prId[_id] == provinceName) {
						$(this).attr('value',_id);
					}
				}
			});
		});
	}
    
	// change province
	$('.map-form select.p-select').change(function(){
		var _cId = $(this).val();
	if (_cId != 'All provinces') {
		$('.map-form select.p-select option').attr('selected','');
		$('.map-form select.p-select option[value='+_cId+']').attr('selected','selected');
		var province  = $('.map-form select.p-select option[value='+_cId+']:eq(0)').text();
		for(key in _map) {
			for(reg in _map[key]) {
				if(_map[key][reg] == province){
					$('.map-form select.r-select option').attr('selected','');
					$('.map-form select.r-select option[value='+key+']').attr('selected','selected');
                    
					var _options = '';
					if (_map[key]) {
						for (var i=0; i < _map[key].length; i++ ) {
							_options += '<option value="'+_map[key][i]+'" >'+_map[key][i]+'</option>'
						}
					}
					$('.map-form select.p-select').html(_options);
                    
					$('.map-form select.p-select option').each(function(){
						if ($(this).text() == province)
							$(this).attr('selected','selected');
					});
                    
					setPrId('.map-form');
                    
					$('.map li, #map area').removeClass('active');
					$('.'+key).addClass('active');
                    
				}
			}
		}
	}
	});
	$('.ricerca select.p-select').change(function(){
		var _cId = $(this).val();
	if (_cId != 'All provinces') {
		$('.ricerca select.p-select option').attr('selected','');
		$('.ricerca select.p-select option[value='+_cId+']').attr('selected','selected');
		var province  = $('.ricerca select.p-select option[value='+_cId+']:eq(0)').text();
		for(key in _map) {
			for(reg in _map[key]) {
				if(_map[key][reg] == province){
					$('.ricerca select.r-select option').attr('selected','');
					$('.ricerca select.r-select option[value='+key+']').attr('selected','selected');
                    
					var _options = '';
					if (_map[key]) {
						for (var i=0; i < _map[key].length; i++ ) {
							_options += '<option value="'+_map[key][i]+'" >'+_map[key][i]+'</option>'
						}
					}
					$('.ricerca select.p-select').html(_options);
                    
					$('.ricerca select.p-select option').each(function(){
						if ($(this).text() == province)
							$(this).attr('selected','selected');
					});
                    
					setPrId('.ricerca');
				}
			}
		}
	}
	});
  
  // load province
	$('select.p-select option').attr('selected','');
	var _optionsLoad = '<option value="tutte" >All provinces</option>';
	for(key in _prId) {
		_optionsLoad += '<option value="'+key+'" >'+_prId[key]+'</option>';
	}
	$('select.p-select').html(_optionsLoad);
    
});
