var giveMeAHand = false;
var helpResults = [];

var _TestoHelpLocalita = '';
var _TestoHelpCategoria = '';
var _TestoHelpServizi = '';
var _TestoHelpTipo = '';
var _TestoHelpClub = '';
var _TestoHelpPrezzo = '';
var _TestoHelpOfferte = '';
var _TestoHelpPacchetti = '';
var _TestoHelpAll = '';
var _TestoHelpVedi = '';
var _TestoHelpTitle = '';


var INsidebar_Tipo = 0;
var INsidebar_Servizi = 0;
var INsidebar_Comune = 0;
var INsidebar_Club = 0;
var INsidebar_Offerte = 0;




/*		***Array Results*****
	[Tipo]		[Count]		[HTML} 	[NomeInputFiltri]	[sum]			[filtro]
[0]	'Localita'						'chk_Comune'		sumComune		filtroComune
[1]	'Servizi'						'chk_Serv'			sumServ			filtroServizi
[2]	'Tipo'							'chk_Tipo'			sumTipo			filtroTipologia
[3]	'Prezzo'															filtroPrezzo
[4]	'Club'							'chk_Club'			sumClub			filtroClub
[5]	'Categoria'						'chk_Categoria'		sumCategoria	filtroCategoria
[6]	'Offerte'						'chk_Offerte'		sumOfferte		filtroOfferte
[7]	'Pacchetti'						'chk_Pacchetti'		sumPacchetti	filtroPacchetti

*/

function calculateHand(){

	//Localita
	helpResults[0] = new Array();
	helpResults[0][0] = 'Comune';
	helpResults[0][1] = jumpFilters('Comune','Count');
	helpResults[0][3] = 'chk_Comune';
	helpResults[0][4] = 'sumComune';
	helpResults[0][5] = 'filtroComune';
	if (helpResults[0][1]>0){
		helpResults[0][2] = _TestoHelpLocalita;
	}else{
		helpResults[0][2] = '';
	}
	
	//Servizi
	helpResults[1] = new Array();
	helpResults[1][0] = 'Servizi';
	helpResults[1][1] = jumpFilters('Servizi','Count');
	helpResults[1][3] = 'chk_Servizi';
	helpResults[1][4] = 'sumServizi';
	helpResults[1][5] = 'filtroServizi';	
	if (helpResults[1][1]>0){
		helpResults[1][2] = _TestoHelpServizi;
	}else{
		helpResults[1][2] = '';
	}

	//Tipo
	helpResults[2] = new Array();
	helpResults[2][0] = 'Tipo';
	helpResults[2][1] = jumpFilters('Tipo','Count');
	helpResults[2][3] = 'chk_Tipologia';
	helpResults[2][4] = 'sumTipo';
	helpResults[2][5] = 'filtroTipologia';
	if (helpResults[2][1]>0){
		helpResults[2][2] = _TestoHelpTipo;
	}else{
		helpResults[2][2] = '';
	}

	
	//Prezzo
	helpResults[3] = new Array();
	helpResults[3][0] = 'Prezzo';
	helpResults[3][1] = jumpFilters('Prezzo','Count');
	helpResults[3][3] = '';
	helpResults[3][4] = '';
	helpResults[3][5] = 'filtroPrezzo';
	if (helpResults[3][1]>0){
		helpResults[3][2] = _TestoHelpPrezzo;
	}else{
		helpResults[3][2] = '';
	}


	//Club
	helpResults[4] = new Array();
	helpResults[4][0] = 'Club';
	helpResults[4][1] = jumpFilters('Club','Count');
	helpResults[4][3] = 'chk_Club';
	helpResults[4][4] = 'sumClub';
	helpResults[4][5] = 'filtroClub';
	if (helpResults[4][1]>0){
		helpResults[4][2] = _TestoHelpClub;
	}else{
		helpResults[4][2] = '';
	}
	
	//Categoria
	helpResults[5] = new Array();
	helpResults[5][0] = 'Categoria';
	helpResults[5][1] = jumpFilters('Categoria','Count');
	helpResults[5][3] = 'chk_Categoria';
	helpResults[5][4] = 'sumCategoria';
	helpResults[5][5] = 'filtroCategoria';
	if (helpResults[5][1]>0){
		helpResults[5][2] = _TestoHelpCategoria;
	}else{
		helpResults[5][2] = '';
	}
	
	//Offerte
	helpResults[6] = new Array();
	helpResults[6][0] = 'Offerte';
	helpResults[6][1] = jumpFilters('Offerte','Count');
	helpResults[6][3] = 'chk_Offerte';
	helpResults[6][4] = 'sumOfferte';
	helpResults[6][5] = 'filtroOfferte';
	if (helpResults[6][1]>0){
		helpResults[6][2] = _TestoHelpOfferte;
	}else{
		helpResults[6][2] = '';
	}
	
	/*
	//Pacchetti
	helpResults[7] = new Array();
	helpResults[7][0] = 'Offerte';
	helpResults[7][1] = jumpFilters('Pacchetti','Count');
	helpResults[7][3] = 'chk_Offerte';
	helpResults[7][4] = 'sumPacchetti';
	helpResults[7][5] = 'filtroPacchetti';
	if (helpResults[7][1]>0){
		helpResults[7][2] = _TestoHelpPacchetti;
	}else{
		helpResults[7][2] = '';
	}
	*/

	helpResults= helpResults.sortBy(function(s){return s[1];});
	helpResults.reverse();
	
	buildHTMLHelp();
}


function jumpFilters(jump,inputRet,nameFields,nameSum,nameFilter){
	var myCount=0;
	var myArray = Soggetti;
	
	//alert('filtroTipologia'+filtroTipologia);

	myArray.inject(0, function(sum,s){
											s[_VISIBILE] = true;
											return 0;});
	/////////////////////////////////////////////////////////////	


	if (jump != 'Comune'){
	//Localita
		if(filtroComune){
			Soggetti.inject(0, function(sum,s){
													if (s[_VISIBILE]){
														s[_VISIBILE] = chk_BinaryOnArray_OR(s[_COMUNE],sumComune);
													}
													return 0;});
		}

	}
	
	if (jump != 'Servizi'){
		//Servizi
		if(filtroServizi){
			myArray.inject(0, function(sum,s){
													if (s[_VISIBILE]){
														s[_VISIBILE] = chk_BinaryOnArray_AND(s[_SERVIZI],sumServizi);
													}
													return 0;});
		}
	}
	
	if (jump != 'Tipo'){
		//Tipologia
		if(filtroTipologia){
			myArray.inject(0, function(sum,s){
													if (s[_VISIBILE]){
														s[_VISIBILE] = chk_BinaryOnArray_OR(s[_TIPOLOGIA],sumTipologia);
													}
													return 0;});
		}
	}
	
	if (jump != 'Club'){
		//Club
		if(filtroClub){
			myArray.inject(0, function(sum,s){
													if (s[_VISIBILE]){
														s[_VISIBILE] = chk_BinaryOnArray_AND(s[_CLUB],sumClub);
													}
													return 0;});
		}
	}
	
	
	if (jump != 'Categoria'){
		//Categoria
		if(filtroCategoria){
			myArray.inject(0, function(sum,s){
													if (s[_VISIBILE]){
														s[_VISIBILE] = chk_BinaryOnArray_OR(s[_CATEGORIA],sumCategoria);
													}
													return 0;});
		}
	}
	
	
	//Offerte
	if (jump != 'Offerte'){
		if(filtroOfferte){
			Soggetti.inject(0, function(sum,s){
													if (s[_VISIBILE]){
														if (s[_OFFERTE] == 1){
															s[_VISIBILE] = true;
														}else{
															s[_VISIBILE] = false;
														}
														
													}
													return 0;});
		}
		
		if(filtroPacchetti){
			Soggetti.inject(0, function(sum,s){
													if (s[_VISIBILE]){
														if (s[_PACCHETTI] == 1){
															s[_VISIBILE] = true;
														}else{
															s[_VISIBILE] = false;
														}
														
													}
													return 0;});
		}
	}

	/*
	//Pacchetti
	if (jump != 'Pacchetti'){

	}
	*/
	
	
	if (jump != 'Prezzo'){
		//Prezzo
		if(filtroPrezzo){
			myArray.inject(0, function(sum,s){
													if (s[_VISIBILE]){
														if (s[_PREZZO] != ''){
															s[_VISIBILE] = true;
														}else{
															s[_VISIBILE] = false;
														}
													}
													return 0;});
		}
	}


	myCount = myArray.inject(0, function(sum,s){
											if (s[_VISIBILE]){
												sum++
											}
											return sum;});

	if (inputRet == 'Count'){
		return myCount;
	}else{
		
		Soggetti = myArray;
		assignPages();

		if (jump == 'Prezzo'){
			//tolgo check "solo diponibili" e metto check "tutti"
			var myFilters = document.getElementsByClassName('chk_PrezzoBox');
			for (j=0;j<myFilters.length;j++){
				if(j==0){
					myFilters[j].checked = false;
				}else{
					myFilters[j].checked = true;
				}
			}
			
		}else{
			//tolgo i check dal filtro interessato
			if (nameFields != ''){
				if (jump == 'Tipo'){
					jump = 'Tipologia';
				}
				if (jump == 'Localita'){
					jump = 'Comune';
				}

				hideAlert('link'+jump);
				if ((jump == 'Categoria') && (filtroCategoriaByTipo)){
					nameFields = 'chk_CatByTipo';
					sumCategoriaByTipo ='';
					categoriaINtipo = '';
					sumTipoInCAT = 0;
					filtroCategoriaByTipo = false;
				}
				var myFilters = document.getElementsByClassName(nameFields);
				for (j=0;j<myFilters.length;j++){
					myFilters[j].checked = false;
				}
			}
			
			//resetto i parametri di filtro
			if (nameSum != ''){
				eval(nameSum + '= 0');
			}
		}
		
		eval(nameFilter + '= false');
		
	}

}


function buildHTMLHelp(){
	var myHTML='';
	var _service = 'Arr';
	var seeAll = true;

	helpResults = helpResults.sortBy(function(s){ return s[1];});
	
	myHTML = myHTML + '<div class="space10"></div><strong>'+_TestoHelpTitle+':</strong><div class="line"></div>';
	for(i=0;i<helpResults.length;i++){
		if (helpResults[i][1]>0){
			myHTML = myHTML + '<div class="space10"></div><div class="vedi"><div class="text"><span class="titleCat">'+helpResults[i][1]+'</span> <a href="javascript:jumpFilters(';
			myHTML = myHTML + "'" + helpResults[i][0] + "','" +_service+"','" +helpResults[i][3]+"','" +helpResults[i][4]+"','" +helpResults[i][5]+"'";
			myHTML = myHTML + ')">'+helpResults[i][2]+'</a></div></div>';
			
			if (helpResults[i][1] >= Soggetti.length){
				seeAll = false;
			}
		}
	}

	if (seeAll){
		myHTML = myHTML + '<div class="space10"></div><div class="vedi"><div class="text"><span class="titleCat">'+Soggetti.length+'</span> <a href="javascript:resetAllList();">'+_TestoHelpAll+'</a></div></div>';
	}
	myHTML = myHTML + '<div class="line"></div>';
	$('Help').innerHTML = myHTML;
	$('noRec').style.display = 'block';
}



function resetAllList(){

	$('noRec').style.display='none';
	
	filtroComune=false;
	filtroServizi=false;
	filtroTipologia=false;
	filtroClub=false;
	filtroCategoria=false;
	filtroOfferte=false;
	filtroPacchetti=false;
	filtroCategoriaByTipo = false;
		
	
	sumComune=0;
	sumServizi=0;
	sumTipologia=0;
	sumClub=0;
	sumCategoria=0;
	sumOfferte=0;
	sumPacchetti=0;


	
	applyFilters();
	uncheckFilters(document.getElementsByClassName('chk_Comune'));
	uncheckFilters(document.getElementsByClassName('chk_Servizi'));
	uncheckFilters(document.getElementsByClassName('chk_Tipologia'));
	uncheckFilters(document.getElementsByClassName('chk_Club'));
	uncheckFilters(document.getElementsByClassName('chk_Categoria'));
	uncheckFilters(document.getElementsByClassName('chk_Offerte'));
	uncheckFilters(document.getElementsByClassName('chk_CatByTipo'));
	
	hideAlert('linkComune');
	hideAlert('linkCategoria');
	hideAlert('linkTipologia');
	hideAlert('linkServizi');
	hideAlert('linkClub');
	hideAlert('linkOfferte');
	
	var myFilters = document.getElementsByClassName('chk_PrezzoBox');
	for (h=0;h<myFilters.length;h++){
		if(h==0){
			myFilters[h].checked = false;
		}else{
			myFilters[h].checked = true;
		}
	}

}

function uncheckFilters(myFilters){
	for (j=0;j<myFilters.length;j++){
		myFilters[j].checked = false;
	}
}
