$(document).ready(function(){
	// map functionality ******************************************************************************************************************

	var _map = {
		tutte: ['Tutte le province', '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', 'Firenze', 'Foggia', 'Forlì-Cesena', 'Frosinone', 'Genova', 'Gorizia', 'Grosseto', 'Imperia', 'Isernia', 'L\'Aquila', 'La Spezia', 'Latina', 'Lecce', 'Lecco', 'Livorno', 'Lodi', 'Lucca', 'Macerata', 'Mantova', 'Massa-Carrara', 'Matera', 'Messina', 'Milano', 'Modena', 'Napoli', 'Novara', 'Nuoro', 'Oristano', 'Padova', 'Palermo', 'Parma', 'Pavia', 'Perugia', 'Pesaro e Urbino', 'Pescara', 'Piacenza', 'Pisa', 'Pistoia', 'Pordenone', 'Potenza', 'Prato', 'Ragusa', 'Ravenna', 'Reggio Calabria', 'Reggio Emilia', 'Rieti', 'Rimini', 'Roma', 'Rovigo', 'Salerno', 'Sassari', 'Savona', 'Siena', 'Siracusa', 'Sondrio', 'Taranto', 'Teramo', 'Terni', 'Torino', 'Trapani', 'Trento', 'Treviso', 'Trieste', 'Udine', 'Varese', 'Venezia', 'Verbano-Cusio-Ossola', 'Vercelli', 'Verona', 'Vibo Valentia', 'Vicenza', 'Viterbo'],
		abruzzo : ['Tutte le province','Chieti','L\'Aquila','Pescara','Teramo'],
		basilicata : ['Tutte le province','Matera','Potenza'],
		calabria : ['Tutte le province','Catanzaro','Cosenza','Reggio Calabria','Crotone','Vibo valentia'],
		campania : ['Tutte le province','Avellino','Benevento','Caserta','Napoli','Salerno'],
		'emilia-romagna' : ['Tutte le province','Bologna', 'Ferrara', 'Forlì-Cesena', 'Modena', 'Parma', 'Piacenza', 'Ravenna', 'Reggio Emilia', 'Rimini'],
		'friuli-venezia_giulia' : ['Tutte le province','Gorizia', 'Pordenone', 'Trieste', 'Udine'],
		lazio : ['Tutte le province','Frosinone', 'Latina', 'Rieti', 'Roma', 'Viterbo'],
		liguria : ['Tutte le province','Genova', 'Imperia', 'La Spezia', 'Savona'],
		lombardia : ['Tutte le province','Bergamo', 'Brescia', 'Como', 'Cremona', 'Lecco', 'Lodi', 'Mantova', 'Milano', 'Pavia', 'Sondrio', 'Varese'],
		marche : ['Tutte le province','Ancona', 'Ascoli Piceno', 'Macerata', 'Pesaro e Urbino'],
		molise : ['Tutte le province','Campobasso', 'Isernia'],
		piemonte : ['Tutte le province','Alessandria', 'Asti', 'Biella', 'Cuneo', 'Novara', 'Torino', 'Verbano-Cusio-Ossola', 'Vercelli'],
		puglia : ['Tutte le province','Bari', 'Brindisi', 'Foggia', 'Lecce', 'Taranto'],
		sardegna : ['Tutte le province','Cagliari', 'Nuoro', 'Oristano', 'Sassari'],
		sicilia : ['Tutte le province','Agrigento', 'Caltanisetta', 'Catania', 'Enna', 'Messina', 'Palermo', 'Ragusa', 'Siracusa', 'Trapani'],
		toscana : ['Tutte le province','Arezzo', 'Firenze', 'Grosseto', 'Livorno', 'Lucca', 'Massa-Carrara', 'Pisa', 'Pistoia', 'Prato', 'Siena'],
		'trentino-alto_adige' : ['Tutte le province','Bolzano', 'Trento'],
		umbria : ['Tutte le province','Perugia', 'Terni'],
		valle_d_aosta : ['Tutte le province','Aosta'],
		veneto : ['Tutte le province','Belluno', 'Padova', 'Rovigo', 'Treviso', 'Venezia', 'Verona', 'Vicenza']
	}
	// parameter use for load province
	var _prId = {
		tutte: 'Tutte le province',
		'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','firenze':'Firenze','foggia':'Foggia','forli-cesena':'Forlì-Cesena','frosinone':'Frosinone',
		'genova':'Genova','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','mantova':'Mantova','massa-carrara':'Massa-Carrara','matera':'Matera','messina':'Messina','milano':'Milano','modena':'Modena',
		'napoli':'Napoli','novara':'Novara','nuoro':'Nuoro',
		'oristano':'Oristano',
		'padova':'Padova','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','roma':'Roma','rovigo':'Rovigo',
		'salerno':'Salerno','sassari':'Sassari','savona':'Savona','siena':'Siena','siracusa':'Siracusa','sondrio':'Sondrio',
		'taranto':'Taranto','teramo':'Teramo','terni':'Terni','torino':'Torino','trapani':'Trapani','trento':'Trento','treviso':'Treviso','trieste':'Trieste',
		'udine':'Udine',
		'varese':'Varese','venezia':'Venezia','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
	$('#r-select').change(function(){
		var _rId = $(this).val();
		$('#r-select option').attr('selected','');
		$('#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>'
			}
		}
		$('#p-select').html(_options);
        
		//setPrId('.map-form')
		//$('.'+_rId).addClass('active');
	});
	
	$('#r-select').change(function(){
		var _rId = $(this).val();
		$('#r-select option').attr('selected','');
		$('#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>'
			}
		}
		$('#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
	$('#p-select').change(function(){
		var _cId = $(this).val();
	if (_cId != 'Tutte le province') {
		$('#p-select option').attr('selected','');
		$('#p-select option[value='+_cId+']').attr('selected','selected');
		var province  = $('#p-select option[value='+_cId+']:eq(0)').text();
		for(key in _map) {
			for(reg in _map[key]) {
				if(_map[key][reg] == province){
					$('#r-select option').attr('selected','');
					$('#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>'
						}
					}
					$('#p-select').html(_options);
                    
					$('#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 != 'Tutte le province') {
		$('.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" >Tutte le province</option>';
	for(key in _prId) {
		_optionsLoad += '<option value="'+key+'" >'+_prId[key]+'</option>';
	}
	$('select.p-select').html(_optionsLoad);
    
    //-----------//
    //Focus e blur sulla casella di testo Città
    $("#cerca-citta-cartina").focus(function () {
         $(this).val("");
    });
	$("#cerca-citta-cartina").blur(function () {
         if($(this).val() == "") $(this).val("Città");
    });
    //---------------------//

});