Event.observe(window,'load',start);

var ZoomStatus = 0;
var EventiFilterListON = '';
var EventiFilterListOFF = '';
var CurrentStyle = 'All';
var ForCurrentStyle = '';
var idFilter = 0;
var LastFilter = 0;
var LastStyle = 'All';
var RadioON = 1;
	
function start(){

	//PUNTI
	var PuntoMappa= $('content').getElementsByClassName('point_All');
	for (i=0; i < PuntoMappa.length ; i++  ) {
		Event.observe(PuntoMappa[i], 'click' , MapSkills.click.bindAsEventListener(MapSkills,$(PuntoMappa[i]).id.split('_')[1]));
		Event.observe(PuntoMappa[i], 'mouseover' , MapSkills.enter.bindAsEventListener(MapSkills,$(PuntoMappa[i]).id.split('_')[1]));
		Event.observe(PuntoMappa[i], 'mouseout' , MapSkills.exit.bindAsEventListener(MapSkills,$(PuntoMappa[i]).id.split('_')[1]));
		
	}
	

	//FILTRO RADIO TUTTI
	var RadioTutti = $('FiltroTutti');
	Event.observe(RadioTutti, 'click' , RadioSkills.click.bindAsEventListener(RadioSkills,RadioTutti.value));

	//FILTRO RADIO PROSSIMI
	var RadioProssimi = $('FiltroProssimi');
	Event.observe(RadioProssimi, 'click' , RadioSkills.click.bindAsEventListener(RadioSkills,RadioProssimi.value));

	//FILTRO ALL
	var FiltroMappa = $('content').getElementsByClassName('filter_All');
	if (FiltroMappa == ''){
		FiltroMappa = $('content').getElementsByClassName('filter_AllON');
	}
	for (a=0; a < FiltroMappa.length ; a++  ) {
		Event.observe(FiltroMappa[a], 'click' , FilterSkills.click.bindAsEventListener(FilterSkills,$(FiltroMappa[a]).id));
		Event.observe(FiltroMappa[a], 'mouseover' , FilterSkills.enter.bindAsEventListener(FilterSkills,$(FiltroMappa[a]).id));
		Event.observe(FiltroMappa[a], 'mouseout' , FilterSkills.exit.bindAsEventListener(FilterSkills,$(FiltroMappa[a]).id));
	}

	//FILTRO ORANGE
	var FiltroMappa = $('content').getElementsByClassName('filter_Orange');
	if (FiltroMappa == ''){
		FiltroMappa = $('content').getElementsByClassName('filter_OrangeON');
	}

	for (j=0; j < FiltroMappa.length ; j++  ) {
		Event.observe(FiltroMappa[j], 'click' , FilterSkills.click.bindAsEventListener(FilterSkills,$(FiltroMappa[j]).id));
		Event.observe(FiltroMappa[j], 'mouseover' , FilterSkills.enter.bindAsEventListener(FilterSkills,$(FiltroMappa[j]).id));
		Event.observe(FiltroMappa[j], 'mouseout' , FilterSkills.exit.bindAsEventListener(FilterSkills,$(FiltroMappa[j]).id));
	}
	
	//FILTRO YELLOW
	var FiltroMappa = $('content').getElementsByClassName('filter_Yellow');
	if (FiltroMappa == ''){
		FiltroMappa = $('content').getElementsByClassName('filter_YellowON');
	}
	for (k=0; k < FiltroMappa.length ; k++  ) {
		Event.observe(FiltroMappa[k], 'click' , FilterSkills.click.bindAsEventListener(FilterSkills,$(FiltroMappa[k]).id));
		Event.observe(FiltroMappa[k], 'mouseover' , FilterSkills.enter.bindAsEventListener(FilterSkills,$(FiltroMappa[k]).id));
		Event.observe(FiltroMappa[k], 'mouseout' , FilterSkills.exit.bindAsEventListener(FilterSkills,$(FiltroMappa[k]).id));
	}
	
	//FILTRO GREEN
	var FiltroMappa = $('content').getElementsByClassName('filter_Green');
	for (n=0; n < FiltroMappa.length ; n++  ) {
		Event.observe(FiltroMappa[n], 'click' , FilterSkills.click.bindAsEventListener(FilterSkills,$(FiltroMappa[n]).id));
		Event.observe(FiltroMappa[n], 'mouseover' , FilterSkills.enter.bindAsEventListener(FilterSkills,$(FiltroMappa[n]).id));
		Event.observe(FiltroMappa[n], 'mouseout' , FilterSkills.exit.bindAsEventListener(FilterSkills,$(FiltroMappa[n]).id));
	}
	
	//FILTRO BLU
	var FiltroMappa = $('content').getElementsByClassName('filter_Blu');
	for (m=0; m < FiltroMappa.length ; m++  ) {
		Event.observe(FiltroMappa[m], 'click' , FilterSkills.click.bindAsEventListener(FilterSkills,$(FiltroMappa[m]).id));
		Event.observe(FiltroMappa[m], 'mouseover' , FilterSkills.enter.bindAsEventListener(FilterSkills,$(FiltroMappa[m]).id));
		Event.observe(FiltroMappa[m], 'mouseout' , FilterSkills.exit.bindAsEventListener(FilterSkills,$(FiltroMappa[m]).id));
	}


} //start





var RadioSkills= {

	click: function(event,idRadio){
	
		if (idRadio == RadioON) {
			return;
		}
		
		var data = new Date();
		var DataOggi;
		var GG,MM,YY
		
		GG = data.getDate();
		MM = data.getMonth()+1;
		YY = data.getYear();
		
		parseInt(GG) < 10 ? GG = "0" + GG : null;
	    parseInt(MM) < 10 ? MM = "0" + MM : null;
		
		DataOggi = GG + "/" + MM + "/" + YY;

		if (idRadio == 1){
			if (idFilter == 0){
				EventiFilterListON = myEventArray;
				EventiFilterListOFF = '';
			}else{
				EventiFilterListON = myEventArray.select(function(s) { return s[2] == idFilter; });
				EventiFilterListOFF = myEventArray.select(function(s) { return s[2] != idFilter; });
			}
		}else{
			if (idFilter == 0){
				EventiFilterListON = myEventArray.select(function(s) { return s[7] == 0; });
				EventiFilterListOFF = myEventArray.select(function(s) { return s[7] != 0; });
			}else{
				EventiFilterListON = myEventArray.select(function(s) { return (s[2] == idFilter) && (s[7] == 0); });
				EventiFilterListOFF = myEventArray.select(function(s) { return (s[2] != idFilter) && (s[7] != 0); });
			}
		}

		var HidePoints;
		var HidePointsID;

		//spengo tutti i punti
		HidePoints = $('content').getElementsByClassName('point_'+CurrentStyle);
		for (hp=0; hp < HidePoints.length ; hp++  ){
			HidePointsID = HidePoints[hp].id;
			$(HidePointsID).innerHtml = '';
			$(HidePointsID).hide();
		}

		var myPointList;
		var myPointON;
		
		
		//accendo i punti con eventi di quel colore
		for (ii=0 ; ii < EventiFilterListON.length; ii++){

			for (jj=0; jj < myBulletArray.length; jj++) {
				if (EventiFilterListON[ii][0] == myBulletArray[jj][0]) {
					myPointON = $('Point_'+myBulletArray[jj][0]);

					Element.removeClassName(myPointON,'point_All');
					Element.removeClassName(myPointON,'point_Orange');
					Element.removeClassName(myPointON,'point_Green');
					Element.removeClassName(myPointON,'point_Yellow');
					Element.removeClassName(myPointON,'point_Blu');
					Element.removeClassName(myPointON,'point_'+CurrentStyle);
					
					if (EventiFilterListON[ii][3] == '') {
						if (idFilter == 0){
							Element.addClassName(myPointON,'point_All');
							myPointON.innerHtml = '<img src="/st149/images/point_All.gif" width="10" height="10">';
						}else{
							Element.addClassName(myPointON,'point_' + ForCurrentStyle);
							myPointON.innerHtml = '<img src="/st149/images/point_'+ForCurrentStyle+'.gif" width="10" height="10">';
						}
					}else{
						if (idFilter == 0){
							Element.addClassName(myPointON,'point_All');
							myPointON.innerHtml = '<img src="/st149/images/point_All.gif" width="10" height="10">';
						}else{
							Element.addClassName(myPointON,'point_'+ EventiFilterListON[ii][3]);
							myPointON.innerHtml = '<img src="/st149/images/point_'+EventiFilterListON[ii][3]+'.gif" width="10" height="10">';
						}
					}
					ForCurrentStyle = EventiFilterListON[ii][3];
					myPointON.update();
					myPointON.show();
					break;
				}
			}
		} 
		

		RadioON = idRadio;

	},	//click

	enter: function(event,idFiltro){
		var myFilter = $(idFiltro+'');
		Element.addClassName(myFilter,'CursorPointer');
		
	},	//enter
	
	exit: function(event,idFiltro) {
		var myFilter = $(idFiltro+'');
		Element.removeClassName(myFilter,'CursorPointer');
	}	//exit

}//RadioSkills


var FilterSkills= {

	click: function(event,idFiltro){
	
		var ColorIFnoEvent = 'All';
		var ArrIFnoEvent;
		var ImgPunto;
	
		idFilter = idFiltro;
		
		if (idFiltro != 0){
			if (RadioON == 0) {
				EventiFilterListON = myEventArray.select(function(s) { return (s[2] == idFiltro) && (s[7] == 0); });
				EventiFilterListOFF = myEventArray.select(function(s) { return (s[2] != idFiltro) && (s[7] != 0); });
			}else{
				EventiFilterListON = myEventArray.select(function(s) { return s[2] == idFiltro; });
				EventiFilterListOFF = myEventArray.select(function(s) { return s[2] != idFiltro; });
			}
		}else{
			if (RadioON == 0) {
				EventiFilterListON = myEventArray.select(function(s) { return s[7] == 0; });
				EventiFilterListOFF = myEventArray.select(function(s) { return s[7] != 0; });
			}else{
				EventiFilterListON = myEventArray;
				EventiFilterListOFF = '';
			}
		}
		
		if (EventiFilterListON.length == 0){
			//ArrIFnoEvent = myEventArray.select(function(s) { return s[2] == idFiltro; });
			//ColorIFnoEvent = ArrIFnoEvent[0][3];
			ColorIFnoEvent = 'All';
		}
		

		var HidePoints;
		var HidePointsID;

		//spengo tutti i punti
		HidePoints = $('content').getElementsByClassName('point_'+CurrentStyle);
		for (hp=0; hp < HidePoints.length ; hp++  ){
			HidePointsID = HidePoints[hp].id;
			$(HidePointsID).innerHtml = '';
			$(HidePointsID).hide();
		}

		var myPointList;
		var myPointON;
		
		
		//accendo i punti con eventi di quel colore
		for (ii=0 ; ii < EventiFilterListON.length; ii++){

			for (jj=0; jj < myBulletArray.length; jj++) {
				if (EventiFilterListON[ii][0] == myBulletArray[jj][0]) {
					myPointON = $('Point_'+myBulletArray[jj][0]);

					Element.removeClassName(myPointON,'point_All');
					Element.removeClassName(myPointON,'point_Orange');
					Element.removeClassName(myPointON,'point_Green');
					Element.removeClassName(myPointON,'point_Yellow');
					Element.removeClassName(myPointON,'point_Blu');
					Element.removeClassName(myPointON,'point_'+CurrentStyle);
					
					if (EventiFilterListON[ii][3] == '') {
						if (idFiltro == 0){
							Element.addClassName(myPointON,'point_All');
							myPointON.innerHtml = '<img src="/st149/images/point_All.gif" width="10" height="10">';
						}else{
							Element.addClassName(myPointON,'point_' + ForCurrentStyle);
							myPointON.innerHtml = '<img src="/st149/images/point_'+ForCurrentStyle+'.gif" width="10" height="10">';
						}
					}else{
						if (idFiltro == 0){
							Element.addClassName(myPointON,'point_All');
							myPointON.innerHtml = '<img src="/st149/images/point_All.gif" width="10" height="10">';
						}else{
							Element.addClassName(myPointON,'point_'+ EventiFilterListON[ii][3]);
							myPointON.innerHtml = '<img src="/st149/images/point_'+EventiFilterListON[ii][3]+'.gif" width="10" height="10">';
						}
					}
					ForCurrentStyle = EventiFilterListON[ii][3];
					myPointON.update();
					myPointON.show();
					break;
				}
			}
		} 
		
		/*if (EventiFilterListON.length == 0){
			Element.addClassName(myPointON,'point_' + ColorIFnoEvent);
		}*/
		
		if (idFiltro == 0){
			CurrentStyle = 'All';
		}else{
			if (EventiFilterListON.length == 0){
				CurrentStyle = ColorIFnoEvent;
			}else{
				CurrentStyle = ForCurrentStyle;
			}
		}
		
		//stato ON/OFF dei div "filter"
		if (EventiFilterListON.length == 0){
			Element.removeClassName($(idFiltro+''),'filter_'+ColorIFnoEvent);
			Element.addClassName($(idFiltro+''),'filter_'+ColorIFnoEvent+'ON');
	
			Element.removeClassName($(LastFilter+''),'filter_'+LastStyle+'ON');
			Element.addClassName($(LastFilter+''),'filter_'+LastStyle);
		}else{
			Element.removeClassName($(idFiltro+''),'filter_'+CurrentStyle);
			Element.addClassName($(idFiltro+''),'filter_'+CurrentStyle+'ON');
	
			Element.removeClassName($(LastFilter+''),'filter_'+LastStyle+'ON');
			Element.addClassName($(LastFilter+''),'filter_'+LastStyle);
		}
		
		LastFilter = idFiltro;
		LastStyle = CurrentStyle;
		

	},	//click

	enter: function(event,idFiltro){
		var myFilter = $(idFiltro+'');
		Element.addClassName(myFilter,'CursorPointer');
		
	},	//enter
	
	exit: function(event,idFiltro) {
		var myFilter = $(idFiltro+'');
		Element.removeClassName(myFilter,'CursorPointer');
	}	//exit

}//FilterSkills


var MapSkills= {

	click: function(event,idPunto){

		var myEventiList;
		var myId;
		var ListHeight;
		
		Element.removeClassName($('label_Box'),'label_BoxBig');
		Element.removeClassName($('label_Box'),'label_BoxSmall');
		
		//SHOW
		myEventiList = myEventArray.select(function(s) { return s[0] == idPunto; });
		for (i=0 ; i < myEventiList.length; i++){
			if (idFilter != 0) {
				if (myEventiList[i][2] == idFilter) {
					if (RadioON == 0) {
						if (myEventiList[i][7] == 0) {
							$(myEventiList[i][1]+'').show();
						}else{
							$(myEventiList[i][1]+'').hide();
						}
					}else{
						$(myEventiList[i][1]+'').show();
					}
				}else{
					$(myEventiList[i][1]+'').hide();
				}
			}else{
				if (RadioON == 0) {
					if (myEventiList[i][7] == 0) {
						$(myEventiList[i][1]+'').show();
					}else{
						$(myEventiList[i][1]+'').hide();
					}
				}else{
					$(myEventiList[i][1]+'').show();
				}
			}
		}
		
		//HIDE
		myEventiList = myEventArray.select(function(s) { return s[0] != idPunto; });		
		for (i=0 ; i < myEventiList.length; i++){
			$(myEventiList[i][1]+'').hide();
		}
		
		var myLocalitaLabel;
		myLocalitaLabel = myBulletArray.find(function(s) {return s[0] == idPunto;});
		
		$('NomeLoc').update(myLocalitaLabel[1]);
		$('MapEvent').show();


		if (Element.getDimensions($('label_Box')).height < 150) {
			Element.addClassName($('label_Box'),'label_BoxSmall');
		}else{
			Element.addClassName($('label_Box'),'label_BoxBig');		
		}
	
	},	//click

	enter: function(event,idPunto){
		var myPoint = $('Point_'+idPunto);
		Element.addClassName(myPoint,'CursorPointer');
		
	},	//enter
	
	exit: function(event,idPunto) {
		var myPoint = $('Point_'+idPunto);
		Element.removeClassName(myPoint,'CursorPointer');
	}	//exit

}//MapSkills



function CloseList()
{
	$("MapEvent").hide();
}//CloseList