$(document).ready(function(){
	// map functionality ******************************************************************************************************************

	var _map = {
		tutte: ['Alle Provinzen', 'Agrigent', 'Alessandria', 'Ancona', 'Aosta', 'Arezzo', 'Ascoli Piceno', 'Asti', 'Avellino', 'Bari', 'Belluno', 'Benevent', 'Bergamo', 'Biella', 'Bologna', 'Bozen', 'Brescia', 'Brindisi', 'Cagliari', 'Caltanisetta', 'Campobasso', 'Caserta', 'Catania', 'Catanzaro', 'Chieti', 'Como', 'Cosenza', 'Cremona', 'Crotone', 'Cuneo', 'Enna', 'Ferrara', 'Florenz', 'Foggia', 'Forlė-Cesena', 'Frosinone', 'Genua', 'Gorz', 'Grosseto', 'Imperia', 'Isernia', 'L\'Aquila', 'La Spezia', 'Latina', 'Lecce', 'Lecco', 'Livorno', 'Lodi', 'Lucca', 'Macerata', 'Mantua', 'Massa-Carrara', 'Matera', 'Messina', 'Mailand', 'Modena', 'Neapel', 'Novara', 'Nuoro', 'Olbia-Tempio', 'Oristano', 'Padua', 'Palermo', 'Parma', 'Pavia', 'Perugia', 'Pesaro und Urbino', 'Pescara', 'Piacenza', 'Pisa', 'Pistoia', 'Pordenone', 'Potenza', 'Prato', 'Ragusa', 'Ravenna', 'Reggio Calabria', 'Reggio Emilia', 'Rieti', 'Rimini', 'Rom', 'Rovigo', 'Salerno', 'Sassari', 'Savona', 'Siena', 'Syrakus', 'Sondrio', 'Tarent', 'Teramo', 'Terni', 'Turin', 'Trapani', 'Trient', 'Treviso', 'Triest', 'Udine', 'Varese', 'Venedig', 'Verbano-Cusio-Ossola', 'Vercelli', 'Verona', 'Vibo Valentia', 'Vicenza', 'Viterbo'],
		abruzzen : ['Alle Provinzen','Chieti','L\'Aquila','Pescara','Teramo'],
		basilikata : ['Alle Provinzen','Matera','Potenza'],
		kalabrien : ['Alle Provinzen','Catanzaro','Cosenza','Reggio Calabria','Crotone','Vibo Valentia'],
		kampanien : ['Alle Provinzen','Avellino','Benevent','Caserta','Neapel','Salerno'],
		'emilia_romagna' : ['Alle Provinzen','Bologna', 'Ferrara', 'Forlė-Cesena', 'Modena', 'Parma', 'Piacenza', 'Ravenna', 'Reggio Emilia', 'Rimini'],
		'friaul-julisch_venetien' : ['Alle Provinzen','G&ouml;rz', 'Pordenone', 'Triest', 'Udine'],
		latium : ['Alle Provinzen','Frosinone', 'Latina', 'Rieti', 'Rom', 'Viterbo'],
		ligurien : ['Alle Provinzen','Genua', 'Imperia', 'La Spezia', 'Savona'],
		lombardei : ['Alle Provinzen','Bergamo', 'Brescia', 'Como', 'Cremona', 'Lecco', 'Lodi', 'Mantua', 'Mailand', 'Pavia', 'Sondrio', 'Varese'],
		marken : ['Alle Provinzen','Ancona', 'Ascoli Piceno', 'Macerata', 'Pesaro und Urbino'],
		molise : ['Alle Provinzen','Campobasso', 'Isernia'],
		piemont : ['Alle Provinzen','Alessandria', 'Asti', 'Biella', 'Cuneo', 'Novara', 'Turin', 'Verbano-Cusio-Ossola', 'Vercelli'],
		apulien : ['Alle Provinzen','Bari', 'Brindisi', 'Foggia', 'Lecce', 'Tarent'],
		sardinien : ['Alle Provinzen','Cagliari', 'Nuoro', 'Olbia-Tempio', 'Oristano', 'Sassari'],
		sizilien : ['Alle Provinzen','Agrigent', 'Caltanisetta', 'Catania', 'Enna', 'Messina', 'Palermo', 'Ragusa', 'Syrakus', 'Trapani'],
		toskana : ['Alle Provinzen','Arezzo', 'Florenz', 'Grosseto', 'Livorno', 'Lucca', 'Massa-Carrara', 'Pisa', 'Pistoia', 'Prato', 'Siena'],
		'trentino-sudtirol' : ['Alle Provinzen','Bozen', 'Trient'],
		umbrien : ['Alle Provinzen','Perugia', 'Terni'],
		aostatal : ['Alle Provinzen','Aosta'],
		venetien : ['Alle Provinzen','Belluno', 'Padua', 'Rovigo', 'Treviso', 'Venedig', 'Verona', 'Vicenza']
	}
	// parameter use for load province
	var _prId = {
		tutte: 'Alle Provinzen',
		'agrigent':'Agrigent','alessandria':'Alessandria','ancona':'Ancona','aosta':'Aosta','arezzo':'Arezzo','ascoli_piceno':'Ascoli Piceno','asti':'Asti','avellino':'Avellino',
		'bari':'Bari','belluno':'Belluno','benevent':'Benevent','bergamo':'Bergamo','biella':'Biella','bologna':'Bologna','bozen':'Bozen','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','florenz':'Florenz','foggia':'Foggia','forli-cesena':'Forlė-Cesena','frosinone':'Frosinone',
		'genua':'Genua','gorz':'G&ouml;rz','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','mailand':'Mailand','modena':'Modena',
		'neapel':'Neapel','novara':'Novara','nuoro':'Nuoro',
		'olbia-tempio':'Olbia-Tempio', 'oristano':'Oristano',
		'padova':'Padua','palermo':'Palermo','parma':'Parma','pavia':'Pavia','perugia':'Perugia','pesaro_und_urbino':'Pesaro und 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','rom':'Rom','rovigo':'Rovigo',
		'salerno':'Salerno','sassari':'Sassari','savona':'Savona','siena':'Siena','syracuse':'Syrakus','sondrio':'Sondrio',
		'tarant':'Tarent','teramo':'Teramo','terni':'Terni','turin':'Turin','trapani':'Trapani','trient':'Trient','treviso':'Treviso','triest':'Triest',
		'udine':'Udine',
		'varese':'Varese','venedig':'Venedig','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 != 'Alle Provinzen') {
		$('.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 != 'Alle Provinzen') {
		$('.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" >Alle Provinzen</option>';
	for(key in _prId) {
		_optionsLoad += '<option value="'+key+'" >'+_prId[key]+'</option>';
	}
	$('select.p-select').html(_optionsLoad);
    
});
