
var attivo = 'descrGenerale';
var map;

var geocoder = null;
var cittaAttiva = new Array();
var markers = new Array();

function do_init() {
	
	//di default carico la mappa della croazia e la descrizione generale
	caricaMappa(44.087585,17.336426,6);
	$(attivo).fade(1);
	
	$$('.listaCittaRegioni h2').each(function(regione) {
		
		regione.onclick = function() {
			openPage(regione.parentNode.id.substr(5));
		};
		
	});
	
	/*$$('.listaCittaRegioni ul li a').each(function(citta) {
		
		if(citta.get('class') != "googleCitta") {
			
			citta.href="javascript:void(0);";
			citta.onclick = function() {
				
				var nomeCittaPerDiv = citta.title.replace(/ /g, "");
				openPage(nomeCittaPerDiv);
				
			};
			
		}
		
	});*/
	
	$$('a.googleCitta').each(function(citta) {
		
		var nomeCitta = citta.parentNode.firstChild.id;
		
		var intIndexOfMatch = nomeCitta.indexOf( "-" );
		 
		// Loop over the string value replacing out each matching
		// substring.
		while (intIndexOfMatch != -1){
			// Relace out the current instance.
			nomeCitta = nomeCitta.replace( "-", " " )
			 
			// Get the index of any next matching substring.
			intIndexOfMatch = nomeCitta.indexOf( "-" );
		}
		
		cittaAttiva[nomeCitta] = false;
		
		citta.href="javascript:void(0);";
		
		citta.addEvent('click',function(){
			
			if(cittaAttiva[nomeCitta] == false) {
				
				caricaMappaCitta(nomeCitta+ ", Croatia",8,nomeCitta);
				citta.innerHTML = '<img src="templates/main/immagini/star_sel.png" alt="" title="Rimuovi dalla Mappa" width="14" height="14" />';
				
			} else {
				
				//cancello il marker
				markers[nomeCitta].setMap(null);
				cittaAttiva[nomeCitta] = false;
				citta.innerHTML = '<img src="templates/main/immagini/star.png" alt="" title="Visualizza sulla Mappa" width="14" height="14" />';
				
			}
			
		});
		
	});
	
	var form = document.getElementById("formContatti");
	
	form.nome.controlla = true;
	form.nome.sName = "Nome";
	
	form.citta.controlla = true;
	form.citta.sName = "Citta'";
	
	form.email.controlla = true;
	form.email.mail = true;
	form.email.sName = "E-Mail";
	
	form.messaggio.controlla = true;
	form.messaggio.sName = "Testo Messaggio";
	
	form.onsubmit = function() {
		return verify(this);
	};
	
	attivaSocial();
	
}

function caricaMappa(cord1,cord2,zoom) {
	
	if($("contMappa")) {
		
		var posizione = new google.maps.LatLng(cord1,cord2);
		
		var opzioniGmaps = {
			disableDefaultUI: true,
			zoom: zoom,
			navigationControl: true,
			center: posizione,
			mapTypeId: google.maps.MapTypeId.HYBRID
		};
		
		map = new google.maps.Map(document.getElementById('contMappa'),opzioniGmaps);
		
	}
	
}

function mostraMappaRegione(oggetto) {

	switch(oggetto) {
		
		case 'Istria':
			caricaMappaRegione(45.128646,13.901542,8,"Istria");
		break;
		
		case 'Quarnero':
			caricaMappaRegione(44.694722,14.601111,8,"Quarnero");
		break;
		
		case 'Dalmazia':
			caricaMappaRegione(44.070768,15.286269,8,"Dalmazia");
		break;
			
		case 'LikaGorskiKotar':
			caricaMappaRegione(44.881716,15.619643,8,"Lika e Gorski Kotar");
		break;
			
		case 'Montenegro':
			caricaMappaRegione(42.288056,18.8425,8,"Montenegro");
		break;
	  
	}
	
}

function caricaMappaRegione(cord1,cord2,zoom,didascalia) {

	var tmpPos = new google.maps.LatLng(cord1,cord2);
	
	map.setCenter(tmpPos);
	map.setZoom(zoom);
	
	if(didascalia != "none") {
	
		var marker = new google.maps.Marker({
			position: tmpPos,
			map: map,
			title: didascalia,
			clickable: true
		});
		
		var infowindow = new google.maps.InfoWindow({
			content: "<h1>" + didascalia + "</h1>"
	    });
		
		google.maps.event.addListener(marker, 'click', function() {
			infowindow.open(map,marker);
	    });
	
	}
	
}


function caricaMappaCitta(nomecitta,zoom,didascalia) {

	var myLatlng = "";
	
	geocoder = new google.maps.Geocoder();
	
	geocoder.geocode( { 'address': nomecitta}, function(results, status) {
		
		if (status == google.maps.GeocoderStatus.OK) {
			
			myLatlng = results[0].geometry.location;
			
			map.setCenter(myLatlng);
			map.setZoom(zoom);
			
			markers[didascalia] = new google.maps.Marker({
				map: map,
				position: myLatlng,
				title: didascalia
			});
			
			var infowindow = new google.maps.InfoWindow({
				content: "<h1>" + didascalia + "</h1>"
		    });
			
			google.maps.event.addListener(markers[didascalia], 'click', function() {
				infowindow.open(map,markers[didascalia]);
			});
			
			cittaAttiva[didascalia] = true;
			
		} 
		
	});
	
}

function openPage(oggetto) {
	
	var fnFadeOut = function() {
		var div = $(attivo).setStyles({opacity: 1});
		var fadeOut = new Fx.Tween($(div),{duration: 500,onComplete:fnFadeIn}).start('opacity',0);
	};
	
	var fnFadeIn = function() {
		var div2 = $(nuovo).setStyles({display:'block', opacity: 0});
		var fadeIn = new Fx.Tween($(div2),{duration: 500,onComplete:fadeFinal}).start('opacity',1);
	};
	
	var fadeFinal = function() {
		
		$$('.listaCittaRegioni h2').each(function(regione) {
			regione.onclick = function() {
				openPage(regione.parentNode.id.substr(5));
			};
		});
		
		attivo = nuovo;
		mostraMappaRegione(oggetto);
		
	};
	
	var nuovo = "descr" + oggetto;
	
	$$('.listaCittaRegioni h2').each(function(regione) {
		regione.onclick=null;
	});
	
	fnFadeOut();
	
}

function attivaSocial() {
	
	//effetto nuovo menu' a tendina
	$$('div#contSocialHeader ul li').each(function(el) {
		
		//fx
		var fx = new Fx.Tween(el,{duration: 500, link: 'cancel'});
		//css & events
		el.setStyle('background-position','0 25px').addEvents({
			'mouseenter': function(e) {
				e.stop();
				fx.start('background-position','0 15px');
			},
			'mouseleave': function(e) {
				e.stop();
				fx.start('background-position','0 25px');
			}
		});
		
	});
	
}

