var Soggetti = [];
var Prices = [];
var iconsServices = [];
var myDivX;
var pagineTotali;
var RecInPG;
var SoggTotali;
var SoggTotaliFirst;
var activePage = 1;
var lockedFilters = false;

var totBambini;
var ageBambini;

var totRic = 0;

var myLang = '';

var _LabelApriMappa = '';
var _LabelChiudiMappa = '';
var _LabelPrezzo = '';
var _LabelPrezzoNoDisp = '';
var _LabelPrenotaFeratel = '';
var _LabelPrenotaRichiesta = '';
var _LabelPrenotaInfo = '';
var _LabelRichiesta = '';
var _LabelPrenotabile = 'bla bla bla'

var lastOrder = 'DESC';
var lastColumn = 25;	//24esima colonna della matrice
var lastOrderName = '';
var arrowUp = '/st13/images/arrow_up.gif';
var arrowDw = '/st13/images/arrow_dw.gif';
var noArrow = '/st13/images/x.gif';

var theFadeFiltri;
var theFadePagerUP;
var theFadePagerDW;

var parametriLoading='';
var ricalcolo = true;

var arrClub;
var arrServizi;
var arrTipologia;
var arrCategoria;
var arrComune;
var arrOfferteAPT;

var sumClub;
var sumServizi;
var sumTipologia;
var sumCategoria;
var sumComune;
var sumOfferte;
var sumPacchetti;
var sumNome;
var sumCategoriaByTipo='';


var filtroClub;
var filtroServizi;
var filtroTipologia;
var filtroCategoria;
var filtroComune;
var filtroOfferte;
var filtroPacchetti;
var filtroNome;
var filtroPrezzo;
var filtroCategoriaByTipo=false;

var clickFiltro='';
var categoriaINtipo = '';	//tipologie di soggetti "coinvolti" nel filtro categoria
var sumTipoInCAT = 0;

var _IDSOGGETTO = 0;
var _NOMESOGGETTO = 1;
var _INDIRIZZO = 2;
var _CAP = 3;
var _CITTA = 4;
var _TELEFONO = 5;
var _TELEFONO2 = 6;
var _FAX = 7;
var _IMMAGINE = 8;
var _WEB = 9;
var _MAIL = 10;
var _CLUB = 11;
var _SERVIZI = 12;
var _TIPOLOGIA = 13;
var _CATEGORIA = 14;
var _COMUNE = 15;
var _PAGINA = 16;
var _VISIBILE = 17;
var _S = 18;
var _ORIGINALORDER = 19;
var _LINKSCHEDA = 20;
var _CATSOGGETTO = 21;
var _LOGHICLUB = 22;
var _PREZZO = 23;
var _X = 24;
var _Y = 25;
var _NUMEROINMAPPA = 26;
var _LINKSCHEDABASE = 27;
var _TIPOLOGIADESC = 28;
var _RICHIESTA = 29;
var _IDSOGGETTOOLD = 30;
var _WITHFERATEL = 31;
var _OFFERTE = 32;
var _PACCHETTI = 33;
var _RICLASS = 34;
var _PRENOTABILE = 35;
var _SPECIALPRICE = 36;
var _SCONTO	= 37;

var _LabelInfoPrenota = '';
var _LabelRichiesta = '';


var manualStart = false;
var sumClubChecked;
var sumServiziChecked;
var sumTipologiaChecked;
var sumCategoriaChecked;
var sumComuneChecked;

var FilterClubON_Search;
var FilterServiziON_Search;
var FilterTipologiaON_Search;
var FilterCategoriaON_Search;
var FilterComuneON_Search;
var FilterOfferteON_Search;

//Ricerca
var startSearch = 0;
var search_Url = '';

//Url = "/cms-01.00/lib/Obj/getDisponibilita.asp?IDcms="+ objForm.idcms.value +"&IDLocalita=0&Data=" + objForm.Data.value + "&DataAl="+ objForm.DataAl.value +"&nNotti=" + objForm.nNotti.value + "&nPersone=" + objForm.nPersone[objForm.nPersone.selectedIndex].value + "&TypeRic=2&idPromo=&idClub=0";


var myHTMLSogg = '';
var myHTMLInfoWindow = '';

/////////////////////////////////////
///////////// TOOLTIP ///////////////
/////////////////////////////////////
function buildMyToolTip(myText,X,Y){
	var Testo_PuntoMappa = '';
	var Testo_ApriChiudiFiltri = '';
	var Testo_ApriChiudiMappa = '';
	var Testo_Richiesta = '';
	
	if (myLang == 'IT'){
		Testo_PuntoMappa = 'Visualizza in mappa';
		Testo_ApriChiudiFiltri = 'Apri/Chiudi filtro';
		Testo_ApriChiudiMappa = 'Apri/Chiudi mappa';
		Testo_Richiesta = 'Aggiungi a richieste';
	}

	if (myLang == 'DE'){
		Testo_PuntoMappa = 'Siehe auf der Karte';
		Testo_ApriChiudiFiltri = 'Anwenden/aufheben Filter';
		Testo_ApriChiudiMappa = 'Öffnen/schließen Karte';
		Testo_Richiesta = 'Zu Anfragen hinzufügen';
	}

	if (myLang == 'EN'){
		Testo_PuntoMappa = 'View on map';
		Testo_ApriChiudiFiltri = 'Open/Close filter';
		Testo_ApriChiudiMappa = 'Open/Close map';
		Testo_Richiesta = 'Add to requests';
	}

	$('tooltip').innerHTML = eval('Testo_'+myText);
	$('tooltip').style.left = ((X + 15) + (document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft)) + 'px';
	$('tooltip').style.top = ((Y - 5) + (document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop)) +'px';
	showToolTip();
}

function showToolTip(){
	$('tooltip').show();
	return true;
}


function hideToolTip(){
	$('tooltip').hide();
	return true;
}


/////////////////////////////////////
/////////// ORDINAMENTO /////////////
/////////////////////////////////////
function sortSoggetti(matrixColumn,orderName){
	var myColumn = eval(matrixColumn);
	var orderType = tellMeOrder(myColumn);
	var mystr;
	var retval;

	changeImgOrder(myColumn,orderName,orderType);
	
	lastOrderName = orderName;
	
	if (matrixColumn == '_PREZZO'){
		Soggetti = Soggetti.sortBy(function(s){ 
			if (s[myColumn] == ''){
				retval = 0 
			}else{
				mystr = s[myColumn];
				retval = parseInt(mystr.replace(',','.'));
			}
			return retval;}
		);
	}else{
		Soggetti = Soggetti.sortBy(function(s){ return s[myColumn];});
	}
	
	if (orderType =='DESC') {
		Soggetti.reverse();
	}

	applyFilters();
}

function tellMeOrder(myColumn){
	var orderType
	if (lastColumn == myColumn){
		if (lastOrder == 'ASC'){
			orderType = 'DESC';
		}else{
			orderType = 'ASC';
		}
	}else{
		orderType = 'ASC';
	}

	lastColumn = myColumn;
	lastOrder = orderType;

	if (myColumn == 19 ) {			//Reimposta
		orderType = 'ASC';
		lastOrder = 'DESC';
	}

	return orderType;
}

function changeImgOrder(myColumn,orderName,orderType){
	//txt
	$('testo'+lastOrderName).innerHTML = lastOrderName;

	Element.removeClassName($('cont_'+lastOrderName),"orderBox-ON")
	Element.addClassName($('cont_'+lastOrderName),"orderBox-OFF")

	Element.removeClassName($('cont_'+orderName),"orderBox-OFF")
	Element.addClassName($('cont_'+orderName),"orderBox-ON")

	//img
	$('imgOrd'+lastOrderName).src = noArrow;
	if (myColumn == 25 ) {			//Reimposta
		lastOrder = 'DESC';
		$('imgOrd'+orderName).src = arrowUp;
	}else{
		if (orderType == 'ASC'){
			$('imgOrd'+orderName).src = arrowUp;
		}else{
			$('imgOrd'+orderName).src = arrowDw;
		}	
	}
}

///////// FINE ORDINAMENTO //////////


///////// DISPONIBILITA' ////////////
function setNewPrices(){

		Soggetti.inject(0, function(sum,s){
												s[_PREZZO] = '';
												s[_LINKSCHEDA] = s[_LINKSCHEDABASE];
												s[_PRENOTABILE] = '';
												s[_SPECIALPRICE] = '';
												s[_SCONTO] = '';

												return 0;});

		$('Wtext').innerHTML = "Updating..."

		if (Prices != ''){
			if (Prices.length > 0) {
				//Valorizza Prezzo in Array Soggetti
				Soggetti.inject(0, function(sum,s){
														for(i=0;i<Prices.length;i++){
															if (s[_IDSOGGETTO] == Prices[i][0]){
																s[_PREZZO] = Prices[i][2];
																s[_LINKSCHEDA] = Prices[i][3];
																s[_PRENOTABILE] = Prices[i][4];
																s[_SPECIALPRICE] = Prices[i][5];
																s[_SCONTO] = Prices[i][6];
															}
														}
														return 0;});
			}
		}

		Prices = [];

		filtroPrezzo = true;
		applyFilters();
		showPage(1);
		
		$('fPrezzoBox').style.display = 'block';
		$('buttonON').style.display = 'none';
		$('buttonOFF').style.display = 'block';
}
///////// end DISPONIBILITA' ////////////





function firstFilter(){
	//metto tutti visibili e poi inizio con in filtri
	Soggetti.inject(0, function(sum,s){
											s[_VISIBILE] = true;
											return 0;});
	/////////////////////////////////////////////////////////////	
	

	var accumulatore;
	var a;
	
	
	//Club
	if (FilterClubON_Search > 0){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_OR(s[_CLUB],FilterClubON_Search);
												}
												return 0;});
	}

	//Servizi
	if (FilterServiziON_Search > 0){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_AND(s[_SERVIZI],FilterServiziON_Search);
												}
												return 0;});
	}

	//Tipologia
	if (FilterTipologiaON_Search > 0){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_OR(s[_TIPOLOGIA],FilterTipologiaON_Search);
												}
												return 0;});
	}
	

	//Categoria
	if (FilterCategoriaON_Search > 0){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_OR(s[_CATEGORIA],FilterCategoriaON_Search);
												}
												return 0;});
	}	



	//Comune
	if (FilterComuneON_Search > 0){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_OR(s[_COMUNE],FilterComuneON_Search);
												}
												return 0;});
	}
	

	//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;});
	}

	//Pacchetti
	if(filtroPacchetti){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													if (s[_PACCHETTI] == 1){
														s[_VISIBILE] = true;
													}else{
														s[_VISIBILE] = false;
													}
													
												}
												return 0;});
	}

	

	//Comune
/*	if (FilterComuneON_Search > 0){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													if (s[_COMUNE] == FilterComuneON_Search){
														s[_VISIBILE] = true;
													}else{
														s[_VISIBILE] = false;
													}
												}
												return 0;});
	}*/
	
	//Prezzo
	if(filtroPrezzo){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													if (s[_PREZZO] != ''){
														s[_VISIBILE] = true;
													}else{
														s[_VISIBILE] = false;
													}
												}
												return 0;});
	}
	

	
	
	manualStart = true;	
	//assignPagesFirst(false);
	assignPages();

}



function listBySearch(){

}




//PER RICHIESTA MULTIPLA
function fCheckElSogg(ObjCk){
	var srcSave
	srcSave = "/ricInfo/saveElCheck_ElSogg.asp?IDCheck=" + ObjCk.value + "&TypeOp="
	
	if(ObjCk.checked)
	{
		srcSave = srcSave + "add";		//ADD IDCheck
	}
	else
	{
		srcSave = srcSave + "del";		//DEL IDCheck
	}
	
	new Ajax.Request(srcSave,
	{
		method: 'post'
	});
	
	
	//alert('qui');
	
	
	Soggetti.inject(0, function(sum,s){
											//alert(s[_IDSOGGETTO] +' >> '+ ObjCk.id + ' >> ' + $(ObjCk.id).checked);
											if ('ck_'+s[_IDSOGGETTOOLD] == ObjCk.id){
												if ($(ObjCk.id).checked){
													s[_RICHIESTA] = 1;
													totRic = totRic+1;
												}else{
													s[_RICHIESTA] = 0;
													totRic = totRic-1;
												}
											//	alert(s[_IDSOGGETTO] +' >> '+ s[_RICHIESTA])
											}
											return 0;});

	//setCheckRichiesta();
	
	//alert('totRic:' + totRic);

}

function setCheckRichiesta(){

	Soggetti.inject(0, function(sum,s){
											//alert(s[_IDSOGGETTO]);
											if (s[_RICHIESTA] == 1){
												if ($('ck_'+s[_IDSOGGETTOOLD])){
													$('ck_'+s[_IDSOGGETTOOLD]).checked = true;
												}
											}else{
												if($('ck_'+s[_IDSOGGETTOOLD])){
													$('ck_'+s[_IDSOGGETTOOLD]).checked = false;
												}
											}
											
											return 0;});
	hideWait();

}

function getStartingCheckRichieste(){
	new Ajax.Request('/lib/elencoSogg/RichiesteSession.asp',
		{				
		method: 'post',
		onSuccess: function(requester){	

						startingRichieste = '' + requester.responseText;
						//alert(startingRichieste);
						if (startingRichieste != '') {
							Soggetti.inject(0, function(sum,s){
															if (InStr(startingRichieste, s[_IDSOGGETTOOLD]) != 0) {
																s[_RICHIESTA] = 1;
																totRic = totRic+1;
															}else{
																s[_RICHIESTA] = 0;
															}
														return 0;});
							//setCheckRichiesta();
						}
					}
		});
}



function getStartingList(){

	var FromSearch = false;

	//showPage(1);
	
	
	//riabilito i filtri	
	statusFiltri('FiltroClub','chk_ClubCont','chk_Club',false);
	statusFiltri('FiltroServizi','chk_ServiziCont','chk_Servizi',false);
	statusFiltri('FiltroTipologia','chk_TipologiaCont','chk_Tipologia',false);
	statusFiltri('FiltroCategoria','chk_CategoriaCont','chk_Categoria',false);
	statusFiltri('FiltroComune','chk_ComuneCont','chk_Comune',false);
	
	if(theFadeFiltri){
		theFadeFiltri.removeFade();
		theFadeFiltri = null;
	}
	/*if(theFadePagerUP){
		theFadePagerUP.removeFade();
		theFadePagerUP= null;
	}
	if(theFadePagerDW){
		theFadePagerDW.removeFade();
		theFadePagerDW= null;
	}*/	
	
	abilitaPrezzoBox();
		
}



function abilitaRichieste(){
	var myContainer = $('elencoA');
	var myFields = myContainer.getElementsByClassName('checkBox_singolo');
	if (myContainer) {
	//alert(myFields.length);
		if (myFields.length > 0){
			//riabilito tutte le richieste
			for(i=0;i<myFields.length;i++){
				myFields[i].disabled = false;
			}
		}
	}
}


function abilitaPrezzoBox(){
	var myContainer = $('fPrezzoBox');
	if (myContainer) {
		var myFields = myContainer.getElementsByClassName('chk_PrezzoBox');
	
		if (myFields.length > 0){
			//riabilito tutte le richieste
			for(i=0;i<myFields.length;i++){
				myFields[i].disabled = false;
			}
		}
	}
}

function statusFiltri(gruppoFiltri,contenitoreFiltri,inputFiltri,statusDisable){
	//alert('statusFiltri');
	lockedFilters = statusDisable;
	if($(gruppoFiltri)){
		var myContainer = $(gruppoFiltri);
		var myChild;
		var myCheck;
		var checkCol2 = false;
		myChild = myContainer.down('div.'+contenitoreFiltri);
		if (!(myChild.hasClassName(contenitoreFiltri))) myChild.next('div');
		while (myChild){
			myCheck = myChild.down('input.'+inputFiltri);
			if (myCheck){
				myCheck.disabled = statusDisable;
			}
			myChild = myChild.next();
			
			//va sulla seconda colonna
		}

	}
}

function randOrd(){
	return (Math.round(Math.random())-0.5);
}





Event.observe(window,'load',startElenco);
function startElenco(){
	//randomizzo l'array
	Soggetti.sort(randOrd);

	if (filtroPrezzo){
		if ($('fPrezzoBox')){
			$('fPrezzoBox').style.display = 'block';
			$('buttonON').style.display = 'none';
			$('buttonOFF').style.display = 'block';
		}
	}
	
	
	//Controllo se, arrivando da una ricerca, devo attivare filtri(no default)
	if (FilterClubON_Search >= 1){
		setCheckedFields(FilterClubON_Search,'Club');
		filtroClub = true;
		sumClub = FilterClubON_Search;
		showAlert('linkClub');
	}
	
	if (FilterServiziON_Search >= 1){
		setCheckedFields(FilterServiziON_Search,'Servizi');
		filtroServizi = true;
		sumServizi = FilterServiziON_Search;
		showAlert('linkServizi');
	}	
	
	if (FilterTipologiaON_Search >= 1){
		setCheckedFields(FilterTipologiaON_Search,'Tipologia');
		filtroTipologia = true;
		sumTipologia = FilterTipologiaON_Search;
		showAlert('linkTipologia');
	}
	
	if (FilterCategoriaON_Search >= 1){
		setCheckedFields(FilterCategoriaON_Search,'Categoria');
		filtroCategoria = true;
		sumCategoria = FilterCategoriaON_Search;
		showAlert('linkCategoria');
	}		
	
	if (FilterComuneON_Search >= 1){
		setCheckedFields(FilterComuneON_Search,'Comune');
		filtroComune = true;
		sumComune = FilterComuneON_Search;
		showAlert('linkComune');
	}
	
	if (FilterOfferteON_Search >= 1){
		if (FilterOfferteON_Search == '751'){
			sumOfferte = 1;
			filtroOfferte = true;
		}else{
			sumPacchetti = 1;
			filtroPacchetti = true;
		}
		
		if ($('Offerte_'+FilterOfferteON_Search)) {
			$('Offerte_'+FilterOfferteON_Search).checked = true;
		}
		
		showAlert('linkOfferte');
	}
		
	//x.gif su "imgOrder" 
	document.getElementsByClassName('myOrdIMG')[0].src = noArrow;
	document.getElementsByClassName('myOrdIMG')[1].src = noArrow;
	document.getElementsByClassName('myOrdIMG')[2].src = noArrow;
	
	//disabilito momentaneamente i filtri
	statusFiltri('FiltroClub','chk_ClubCont','chk_Club',true);
	statusFiltri('FiltroServizi','chk_ServiziCont','chk_Servizi',true);
	statusFiltri('FiltroTipologia','chk_TipologiaCont','chk_Tipologia',true);
	statusFiltri('FiltroCategoria','chk_CategoriaCont','chk_Categoria',true);	
	statusFiltri('FiltroComune','chk_ComuneCont','chk_Comune',true);

	getHTMLSoggetto();
	getHTMLInfoWindow();
	getStartingCheckRichieste();
	/*hideWait();*/
	hideMyMap();

} //startElenco

function DOfiltroOfferte(){

//alert('DOfiltroOfferte');

		var myOfferta = $('FiltroOfferte');
		var myContainer = myOfferta;
		var myChild;
		var myCheck;
		var myValue = new Array();
		var i = 0;
		var checkCol2 = false;
		myChild = myContainer.down('div.chk_OfferteCont');
		if (!(myChild.hasClassName('chk_OfferteCont'))) myChild.next('div');
		while (myChild){
			myCheck = myChild.down('input.chk_Offerte');
			if (myCheck){
				if ((myCheck.className == 'chk_Offerte') && (myCheck.checked)){
					myValue[i++] = myCheck.value;
				}
			}
			myChild = myChild.next();

		}

		arrOfferteAPT = myValue;
		
		//alert(arrCities);
		
		clickFiltro = 'Club';
	
		sumOfferte = 0;
		sumPacchetti = 0;
		filtroOfferte = false;
		filtroPacchetti = false;
		
		if (arrOfferteAPT.length > 0) {
			for (var i=0; i < arrOfferteAPT.length;i++){
				if (arrOfferteAPT[i] == 'Promozioni'){
					sumOfferte = 1;
					filtroOfferte = true;
				}
				
				if (arrOfferteAPT[i] == 'Pacchetti vacanza'){
					sumPacchetti = 1;
					filtroPacchetti = true;
				}
			}
		
		}
		
		if ((sumPacchetti != 0) || (sumPacchetti != 0)) {
			showAlert('linkOfferte');
		}else{
			hideAlert('linkOfferte');
		}
		
		if ((filtroOfferte) || (filtroPacchetti)){
			showWait();
			new Ajax.Updater("LoadingElenco","/lib/elencoSogg/Loading.asp",{onSuccess:function(){applyFilters();}});
		}else{
			showWait();
			new Ajax.Updater("LoadingElenco","/lib/elencoSogg/Loading.asp",{onSuccess:function(){applyFilters();}});
		}
}

function DOfiltroClub(){

		var myCity = $('FiltroClub');
		var myContainer = myCity;
		var myChild;
		var myCheck;
		var myValue = new Array();
		var i = 0;
		var checkCol2 = false;
		sumClub = 0;
		myChild = myContainer.down('div.chk_ClubCont');
		if (!(myChild.hasClassName('chk_ClubCont'))) myChild.next('div');
		while (myChild){
			myCheck = myChild.down('input.chk_Club');
			if (myCheck){
				if ((myCheck.className == 'chk_Club') && (myCheck.checked)){
					myValue[i++] = myCheck.value;
					sumClub += parseInt(myCheck.value);
				}
			}
			myChild = myChild.next();

		}

		arrCities = myValue;
		
		//alert(arrCities);
		
		clickFiltro = 'Club';
		
		if (myValue.length > 0) {
			filtroClub = true;
			showAlert('linkClub');
		}else{
			filtroClub = false;
			hideAlert('linkClub');
		}
		if (filtroClub){
			applyFilters(true);
			showWait();
			new Ajax.Updater("LoadingElenco","/lib/elencoSogg/Loading.asp",{onSuccess:function(){applyFilters();}});
		}else{
			applyFilters(false);
			showWait();
			new Ajax.Updater("LoadingElenco","/lib/elencoSogg/Loading.asp",{onSuccess:function(){applyFilters();}});
		}
}

function DOfiltroServizi(){
	//alert('filtroServ');
		var myService = $('FiltroServizi');
		var myContainer = myService;
		var myChild;
		var myCheck;
		var myValue = new Array();
		var i = 0;
		var checkCol2 = false;
		sumServizi = 0;
		myChild = myContainer.down('div.chk_ServiziCont');
		if (!(myChild.hasClassName('chk_ServiziCont'))) myChild.next('div');
		while (myChild){
			myCheck = myChild.down('input.chk_Servizi');
			if (myCheck){
				if ((myCheck.className == 'chk_Servizi') && (myCheck.checked)){
					myValue[i++] = myCheck.value;
					sumServizi += parseInt(myCheck.value);
				}
			}
			myChild = myChild.next();
		}

		arrServices = myValue;
		
		clickFiltro = 'Servizi';
		
		if (myValue.length > 0) {
			filtroServizi = true;
			showAlert('linkServizi');
		}else{
			filtroServizi = false;
			hideAlert('linkServizi');
		}

		if (filtroServizi){
			showWait();
			new Ajax.Updater("LoadingElenco","/lib/elencoSogg/Loading.asp",{onSuccess:function(){applyFilters();}});
		}else{
			showWait();
			new Ajax.Updater("LoadingElenco","/lib/elencoSogg/Loading.asp",{onSuccess:function(){applyFilters();}});
		}
}


function DOfiltroTipologia(mySlide,statusCheck){
	//alert('filtroTipo');
		var myContainer = $('FiltroTipologia');
		var myChild;
		var myCheck;
		var myValue = new Array();
		var i = 0;
		var checkCol2 = false;
		sumTipologia = 0;
		myChild = myContainer.down('div.chk_TipologiaCont');
		if (!(myChild.hasClassName('chk_TipologiaCont'))) myChild.next('div');
		while (myChild){
			myCheck = myChild.down('input.chk_Tipologia');
			if (myCheck){
				if ((myCheck.className == 'chk_Tipologia') && (myCheck.checked)){
					myValue[i++] = myCheck.value;
					sumTipologia += parseInt(myCheck.value);
				}else{
					if ($("FiltroCategoriaBYTipo_"+myCheck.value)){
						var myCatContainer = $("FiltroCategoriaBYTipo_"+myCheck.value);
						var myCatChild =  myCatContainer.down('div.chk_CatByTipoCont');
						var myCatCheck;
						if (myCatChild){
							while (myCatChild){
								myCatCheck = myCatChild.down('input.chk_CatByTipo');
								if (myCatCheck){
									myCatCheck.checked = false;
									sumCategoriaByTipo = sumCategoriaByTipo.replace(myCatCheck.id+';','');
								}
								myCatChild = myCatChild.next();
							}
						}
					}
				}
			}
			myChild = myChild.next();
		}
		
		
		
		
		//slide on/off categorie
		if (statusCheck){
			if ($("FiltroCategoriaBYTipo_"+mySlide)){
					new Effect.Parallel(
				         [
				         new Effect.BlindDown($("FiltroCategoriaBYTipo_"+mySlide), { sync: true }),
				         new Effect.Appear($("FiltroCategoriaBYTipo_"+mySlide), {from:0, to:1.0, sync: true })
				         ],
				         {duration: 0.5}
				         );
			}
		}else{
			if ($("FiltroCategoriaBYTipo_"+mySlide)){
					new Effect.Parallel(
				         [
				         new Effect.BlindUp($("FiltroCategoriaBYTipo_"+mySlide), { sync: true }),
				         new Effect.Appear($("FiltroCategoriaBYTipo_"+mySlide), {from:1.0, to:0, sync: true })
				         ],
				         {duration: 0.5}
				         );
			}
		}
		
		clickFiltro = 'Tipologia';

		if (myValue.length > 0) {
			filtroTipologia = true;
			showAlert('linkTipologia');
		}else{
			filtroTipologia = false;
			hideAlert('linkTipologia');
		}
		if (filtroTipologia){
			showWait();
			new Ajax.Updater("LoadingElenco","/lib/elencoSogg/Loading.asp",{onSuccess:function(){applyFilters();}});
		}else{
			showWait();
			new Ajax.Updater("LoadingElenco","/lib/elencoSogg/Loading.asp",{onSuccess:function(){applyFilters();}});
		}						
}




function filtroCatByTipo(myCheckCat,checkedCat,catTipo){
	if (checkedCat){
		sumCategoriaByTipo = sumCategoriaByTipo + '' + myCheckCat + ';';
		//sumCategoriaByTipo = sumCategoriaByTipo + parseInt(myCheckCat.split('_')[0]);
		if (categoriaINtipo.indexOf(catTipo+';')== -1){
			categoriaINtipo = categoriaINtipo + '' + catTipo + ';';
			sumTipoInCAT = sumTipoInCAT+parseInt(catTipo)
		}
	}else{
		sumCategoriaByTipo = sumCategoriaByTipo.replace(myCheckCat+';','');
		//sumCategoriaByTipo = sumCategoriaByTipo - parseInt(myCheckCat.split('_')[0]);
		if (sumCategoriaByTipo.indexOf('_'+catTipo+';')== -1){
			categoriaINtipo = categoriaINtipo.replace(catTipo+';','');
			sumTipoInCAT = sumTipoInCAT-parseInt(catTipo)
		}
	}
	
	if (sumCategoriaByTipo != ''){
		filtroCategoriaByTipo = true;
	}else{
		filtroCategoriaByTipo = false;
	}

	showWait();
	new Ajax.Updater("LoadingElenco","/lib/elencoSogg/Loading.asp",{onSuccess:function(){applyFilters();}});
	
	//alert('sumCategoria: '+sumCategoria+'\nfiltroCategoria: '+ filtroCategoria);

}


function DOfiltroCategoria(){
	//alert('filtroTipo');
		var myContainer = $('FiltroCategoria');
		var myChild;
		var myCheck;
		var myValue = new Array();
		var i = 0;
		var checkCol2 = false;
		sumCategoria = 0;
		myChild = myContainer.down('div.chk_CategoriaCont');
		if (!(myChild.hasClassName('chk_CategoriaCont'))) myChild.next('div');
		while (myChild){
			myCheck = myChild.down('input.chk_Categoria');
			if (myCheck){
				if ((myCheck.className == 'chk_Categoria') && (myCheck.checked)){
					myValue[i++] = myCheck.value;
					sumCategoria += parseInt(myCheck.value);
				}
			}
			myChild = myChild.next();
		}
		
		clickFiltro = 'Categoria';
		
		if (myValue.length > 0) {
			filtroCategoria = true;
			showAlert('linkCategoria');
		}else{
			filtroCategoria = false;
			hideAlert('linkCategoria');
		}

		showWait();
		new Ajax.Updater("LoadingElenco","/lib/elencoSogg/Loading.asp",{onSuccess:function(){applyFilters();}});
}


function DOfiltroComune(myValue){
	//alert('filtroTipo');
		var myContainer = $('FiltroComune');
		var myChild;
		var myCheck;
		var myValue = new Array();
		var i = 0;
		var checkCol2 = false;
		sumComune = 0;
		myChild = myContainer.down('div.chk_ComuneCont');
		if (!(myChild.hasClassName('chk_ComuneCont'))) myChild.next('div');
		while (myChild){
			myCheck = myChild.down('input.chk_Comune');
			if (myCheck){
				if ((myCheck.className == 'chk_Comune') && (myCheck.checked)){
					myValue[i++] = myCheck.value;
					sumComune += parseInt(myCheck.value);
				}
			}
			myChild = myChild.next();
		}
		
		clickFiltro = 'Comune';

		if (myValue.length > 0) {
			filtroComune = true;
			showAlert('linkComune');
		}else{
			filtroComune = false;
			hideAlert('linkComune');
		}
		if (filtroComune){
			showWait();
			new Ajax.Updater("LoadingElenco","/lib/elencoSogg/Loading.asp",{onSuccess:function(){applyFilters();}});
		}else{
			showWait();
			new Ajax.Updater("LoadingElenco","/lib/elencoSogg/Loading.asp",{onSuccess:function(){applyFilters();}});
		}
}


function filtroPrice(statusFiltro){
	//alert('filtroPrice');
		if ($('fPrezzoBox')){
			
			filtroPrezzo = statusFiltro;
			
			showWait();
			new Ajax.Updater("LoadingElenco","/lib/elencoSogg/Loading.asp",{onSuccess:function(){applyFilters();}});
		}
}


function showMyBox(myDiv){
	
	var link = 'link'+myDiv;
	var point = 'point'+myDiv;
	var divCont = myDiv+'Cont';
	var divChk = myDiv;
	myDiv = 'Filtro'+myDiv;	

	if ($(myDiv).style.display == 'none'){
		if ($(myDiv)){
			Effect.BlindDown(myDiv, { duration: 0.2 });
			//$(link).innerHTML = $(link).innerHTML.replace('+','-');
			Element.removeClassName(point,"point-ON");
			Element.addClassName(point,"point-OFF");
		}			
	}else{
		hideMyBox(myDiv,link,divCont,divChk,point);	
			
	}
}


function hideMyBox(myDiv,link,divCont,divChk,point){

	if ($(myDiv)){
		Effect.BlindUp(myDiv, { duration: 0.2 });	
		//$(link).innerHTML = $(link).innerHTML.replace('-','+');
		Element.removeClassName(point,"point-OFF");
		Element.addClassName(point,"point-ON");

		if(checkBoxON(myDiv,divCont,divChk))
		{
			if ($('Alert_'+link)){
				if($('Alert_'+link).style.display = 'none')
				{
					$('Alert_'+link).style.display = 'block';
				}else{
					$('Alert_'+link).style.display = 'none';
				}
			}
		}
		else
		{
			if ($('Alert_'+link)){
				$('Alert_'+link).style.display = 'none';
			}
		}
	}
}


function hideAlert(link){
	if ($('Alert_'+link)){
		$('Alert_'+link).style.display = 'none';
	}

}

function showAlert(link){
	if ($('Alert_'+link)){
		$('Alert_'+link).style.display = 'block';
	}

}

function checkBoxON(myDiv,divCont,divChk)
{

		var myContainer = $(myDiv);
		var myChild;
		var myCheck;
		var myValue = new Array();
		var i = 0;
		var checkCol2 = false;
		eval('sum'+divChk+'=0;');
		myChild = myContainer.down('div.chk_'+ divCont);
		if (!(myChild.hasClassName('chk_'+ divCont))) myChild.next('div');
		while (myChild){
			myCheck = myChild.down('input.chk_'+ divChk);
			if (myCheck){
				if ((myCheck.className == 'chk_'+ divChk) && (myCheck.checked)){
					myValue[i++] = myCheck.value;
					eval('sum'+divChk+'+= parseInt(myCheck.value);');
				}
			}
			myChild = myChild.next();
		}

	if(myValue.length > 0)
	{
		return true;
	}
	else
	{
		return false;
	}
}




function showPage(page){
	if (!giveMeAHand){
		if ((page >= 1) && (page <= pagineTotali)){
			if (startSearch == 1){
				startSearch = 0;
				$('Wtext').innerHTML = "Searching..."
				new Ajax.Request(search_Url,
				{
							evalScripts: true,
							onComplete: function(requester){
										setNewPrices();
							}
				});
				showWait();
			}else{
				buildHTMLSogg(page);
				activePage = page;
				buildHTMLPager();
				hideWait();
			}
		}else{
			$('noRec').style.display = 'block';
			hideWait();
		}

	}else{
		if (startSearch == 1){
			startSearch = 0;
			$('Wtext').innerHTML = "Searching..."
			new Ajax.Request(search_Url,
			{
						evalScripts: true,
						onComplete: function(requester){
									setNewPrices();
						}
			});
			showWait();
		}else{			
			pagineTotali = 1;
			buildHTMLSogg(page);
			buildHTMLPager();
			calculateHand();
			hideWait();
		}
	}

	
}



function showPager(){
	$('pgNow').innerHTML = '1';
	$('pgTot').innerHTML = (pagineTotali);
	
	activePage = 1;
	buildHTMLPager();

}


function fRicalc(){
	//alert('fRicalc');
	if (ricalcolo){
		listBySearch();
	}
	ricalcolo = false;
}

function buildHTMLPager(){
	//alert('buildHTMLPager');
	
	var pagI = activePage - 5;
	var pagF = activePage + 5;
	
	if(pagF > pagineTotali){
		pagF = pagineTotali;
	}        		    
	if(pagI == 0 || pagI < 1){
		pagI = 1
	} 	
	
	var htmlPG = '';
		if ((activePage-1) < 1){
			htmlPG = "<div><a onclick='javascript:showPage(("+(activePage)+"));' style='cursor:pointer'><span><img src='/st13/images/arrow_sx.gif' border='0'></span></a>";
		}else{
			htmlPG = "<div><a onclick='javascript:showPage(("+(activePage-1)+"));' style='cursor:pointer'><span><img src='/st13/images/arrow_sx.gif' border='0'></span></a>";
		}
		for(i=pagI;i<=pagF;i++){
			if (i==activePage){
				htmlPG = htmlPG + " <strong>["+i+"]</strong> ";
			}else{
				htmlPG = htmlPG + " <a onclick='javascript: showPage("+i+");' style='cursor:pointer'>"+i+"</a> ";
			}
		}		
		if ((activePage+1) > pagineTotali){
			htmlPG = htmlPG + "<a onclick='javascript:fRicalc(); showPage(("+(activePage)+"));' style='cursor:pointer'><span > <img src='/st13/images/arrow_dx.gif' border='0'></span></a></div>";
		}else{
			htmlPG = htmlPG + "<a onclick='javascript:fRicalc(); showPage(("+(activePage+1)+"));' style='cursor:pointer'><span > <img src='/st13/images/arrow_dx.gif' border='0'></span></a></div>";
		}

		if (SoggTotali == 0){				
			htmlPG = "";
		}

		$('linkPagine_DOWN').innerHTML = htmlPG;
		$('linkPagine_UP').innerHTML = htmlPG;

		setCheckRichiesta();
		//alert($('linkPagine_DOWN'));
}


function buildHTMLSogg(page){
	//alert('buildHTMLSogg: ' + page);

	var myCurrentHTML;
	var container = document.getElementById('elencoA');
	var myCheckRichiesta;
	var new_element;
	var arrSoggInPage;		//array che contiene solo i soggetti visibili e nella pagina attiva
	arrSoggInPage = Soggetti.select(function(Sogg) {return Sogg[_PAGINA] == page});
	//alert(arrSoggInPage.length);
	removeAllMarkers();
	markerList.length = 0;
	if (arrSoggInPage.length > 0){
		//Markers in mappa
		for (j=0;j<arrSoggInPage.length;j++){
			if ((arrSoggInPage[j][_Y] != '') && (arrSoggInPage[j][_X] != '')){
				addMarker(arrSoggInPage[j][_X],arrSoggInPage[j][_Y],arrSoggInPage[j][_IDSOGGETTO],(j+1),arrSoggInPage[j][_NOMESOGGETTO],'');
				arrSoggInPage[j][_NUMEROINMAPPA] = j+1;
			}else{
				arrSoggInPage[j][_NUMEROINMAPPA] = '';
			}
		}
		
	
		//ripulisco l'HTML del div 'elencoA'
		container.innerHTML = '';
		
		for (i=0;i<arrSoggInPage.length;i++){
			myCurrentHTML = myHTMLSogg;
			//alert(myHTMLSogg);

			//inizio replace stringhe
			myCurrentHTML = myCurrentHTML.replace(/{{id}}/g,arrSoggInPage[i][_IDSOGGETTO]);
			myCurrentHTML = myCurrentHTML.replace(/{{idOld}}/g,arrSoggInPage[i][_IDSOGGETTOOLD]);
			myCurrentHTML = myCurrentHTML.replace(/{{link}}/g,arrSoggInPage[i][_LINKSCHEDA]);
			myCurrentHTML = myCurrentHTML.replace(/{{img}}/g,arrSoggInPage[i][_IMMAGINE]);
			myCurrentHTML = myCurrentHTML.replace(/{{nome}}/g,arrSoggInPage[i][_NOMESOGGETTO]);
			myCurrentHTML = myCurrentHTML.replace(/{{riclass}}/g,arrSoggInPage[i][_RICLASS]);			
			myCurrentHTML = myCurrentHTML.replace(/{{s}}/g,arrSoggInPage[i][_S]);
			myCurrentHTML = myCurrentHTML.replace(/{{indirizzo}}/g,arrSoggInPage[i][_INDIRIZZO]);
			myCurrentHTML = myCurrentHTML.replace(/{{citta}}/g,arrSoggInPage[i][_CITTA]);
			myCurrentHTML = myCurrentHTML.replace(/{{telefono}}/g,arrSoggInPage[i][_TELEFONO]);
			myCurrentHTML = myCurrentHTML.replace(/{{fax}}/g,arrSoggInPage[i][_FAX]);
			myCurrentHTML = myCurrentHTML.replace(/{{mail}}/g,arrSoggInPage[i][_MAIL]);
			myCurrentHTML = myCurrentHTML.replace(/{{web}}/g,arrSoggInPage[i][_WEB]);
			myCurrentHTML = myCurrentHTML.replace(/{{comune}}/g,arrSoggInPage[i][_CITTA]);

			myCurrentHTML = myCurrentHTML.replace(/{{tipologia}}/g,translateForMe(arrSoggInPage[i][_TIPOLOGIADESC]));
			myCurrentHTML = myCurrentHTML.replace(/{{categoria}}/g,translateForMe(arrSoggInPage[i][_CATSOGGETTO]));
			myCurrentHTML = myCurrentHTML.replace(/{{club}}/g,arrSoggInPage[i][_LOGHICLUB]);
			
			if (arrSoggInPage[i][_PRENOTABILE]=='YesOnlyOnRequest'){
				myCurrentHTML = myCurrentHTML.replace(/{{displayPrenotabile}}/g,'block');
				myCurrentHTML = myCurrentHTML.replace(/{{LabelPrenotabile}}/g,_LabelPrenotabile);
			}else{
				myCurrentHTML = myCurrentHTML.replace(/{{displayPrenotabile}}/g,'none');
				myCurrentHTML = myCurrentHTML.replace(/{{LabelPrenotabile}}/g,'');
			}
			
			if (arrSoggInPage[i][_PREZZO] != '-1' && arrSoggInPage[i][_PREZZO]){
				
				myCurrentHTML = myCurrentHTML.replace(/{{statoBottone}}/g,"ON");
				myCurrentHTML = myCurrentHTML.replace(/{{linkInfo}}/g,arrSoggInPage[i][_LINKSCHEDA] + '&TB=16');
				myCurrentHTML = myCurrentHTML.replace(/{{LinkMail}}/g,arrSoggInPage[i][_LINKSCHEDA] + '&TB=15');
				
				//SCONTO
				if (arrSoggInPage[i][_SCONTO]!=''){
					myCurrentHTML = myCurrentHTML.replace(/{{labelPrezzo}}/g,_LabelPrezzo + '');
					myCurrentHTML = myCurrentHTML.replace(/{{prezzo}}/g,"&euro; "+arrSoggInPage[i][_PREZZO]);
					myCurrentHTML = myCurrentHTML.replace(/{{prezzoBarrato}}/g,"&euro; " + calcolaSconto(arrSoggInPage[i][_PREZZO],arrSoggInPage[i][_SCONTO]));
					myCurrentHTML = myCurrentHTML.replace(/{{displayPrezzo}}/g,"none");
					myCurrentHTML = myCurrentHTML.replace(/{{displayPrezzoBarrato}}/g,"block");
				}else{
					myCurrentHTML = myCurrentHTML.replace(/{{labelPrezzo}}/g,_LabelPrezzo);
					myCurrentHTML = myCurrentHTML.replace(/{{prezzo}}/g,"&euro; "+arrSoggInPage[i][_PREZZO]);
					myCurrentHTML = myCurrentHTML.replace(/{{displayPrezzo}}/g,"block");
					myCurrentHTML = myCurrentHTML.replace(/{{displayPrezzoBarrato}}/g,"none");
				}

				//SPECIAL PRIZE
				if (arrSoggInPage[i][_SPECIALPRICE]!=''){
					switch(arrSoggInPage[i][_SPECIALPRICE])
					{
						case 'Last minute':
							myCurrentHTML = myCurrentHTML.replace(/{{labelPrenota}}/g,'Last minute');
							break;
							
						case 'Early booker':
							myCurrentHTML = myCurrentHTML.replace(/{{labelPrenota}}/g,'Early booker');
							break;
							
						default:
							myCurrentHTML = myCurrentHTML.replace(/{{labelPrenota}}/g,_LabelPrenotaFeratel);
					}
				}else{
					myCurrentHTML = myCurrentHTML.replace(/{{labelPrenota}}/g,_LabelPrenotaFeratel);
				}
				
			}
			else if(arrSoggInPage[i][_PREZZO] == '-1'){
				myCurrentHTML = myCurrentHTML.replace(/{{labelPrezzo}}/g,_LabelPrezzoNoDisp);
				myCurrentHTML = myCurrentHTML.replace(/{{prezzo}}/g,"");
				myCurrentHTML = myCurrentHTML.replace(/{{labelPrenota}}/g,_LabelPrenotaRichiesta);
				myCurrentHTML = myCurrentHTML.replace(/{{statoBottone}}/g,"ON");
				myCurrentHTML = myCurrentHTML.replace(/{{linkInfo}}/g,arrSoggInPage[i][_LINKSCHEDA] + '&TB=15');
				myCurrentHTML = myCurrentHTML.replace(/{{LinkMail}}/g,arrSoggInPage[i][_LINKSCHEDA] + '&TB=15');
				myCurrentHTML = myCurrentHTML.replace(/{{displayPrezzo}}/g,"none");
				myCurrentHTML = myCurrentHTML.replace(/{{prezzoBarrato}}/g,'');
				myCurrentHTML = myCurrentHTML.replace(/{{displayPrezzoBarrato}}/g,"none");
			}else{
				myCurrentHTML = myCurrentHTML.replace(/{{labelPrezzo}}/g,"");
				myCurrentHTML = myCurrentHTML.replace(/{{prezzo}}/g,"");
				myCurrentHTML = myCurrentHTML.replace(/{{labelPrenota}}/g,_LabelPrenotaInfo);
				myCurrentHTML = myCurrentHTML.replace(/{{statoBottone}}/g,"OFF");
				myCurrentHTML = myCurrentHTML.replace(/{{linkInfo}}/g,arrSoggInPage[i][_LINKSCHEDA] + '?TB=15');
				myCurrentHTML = myCurrentHTML.replace(/{{LinkMail}}/g,arrSoggInPage[i][_LINKSCHEDA] + '?TB=15');
				myCurrentHTML = myCurrentHTML.replace(/{{displayPrezzo}}/g,"none");
				myCurrentHTML = myCurrentHTML.replace(/{{prezzoBarrato}}/g,'');
				myCurrentHTML = myCurrentHTML.replace(/{{displayPrezzoBarrato}}/g,"none");
			}
			
//			myCurrentHTML = myCurrentHTML.replace(/{{linkInfo}}/g,arrSoggInPage[i][_LINKSCHEDA] + '&TB=16');
			myCurrentHTML = myCurrentHTML.replace(/{{numInMappa}}/g,arrSoggInPage[i][_NUMEROINMAPPA]);			
			myCurrentHTML = myCurrentHTML.replace(/{{labelRichiesta}}/g,_LabelRichiesta);
			myCurrentHTML = myCurrentHTML.replace(/{{WithFeratel}}/g,arrSoggInPage[i][_WITHFERATEL]);
			//myCurrentHTML = myCurrentHTML.replace(/{{WithFeratel}}/g,"NO");

			myCurrentHTML = myCurrentHTML.replace(/{{iconsServ}}/g,giveMeIcons(arrSoggInPage[i][_SERVIZI]));
	
			
			
			//appendo il nuovo div in 'elencoA'
			new_element = document.createElement('div');
			new_element.innerHTML = myCurrentHTML;
			container.appendChild(new_element);

		}
		$('noRec').style.display = 'none';
			//abilitaRichieste();
	}else{
		container.innerHTML = '';
		$('noRec').style.display = 'block';
	}
	

	Cufon.replace('h1', {hover:true});
	Cufon.replace('h2', {hover:true});
	Cufon.replace('h3', {hover:true});
	Cufon.replace('h4', {hover:true});
	Cufon.replace('h5', {hover:true});


	setHearts_inElenco(); //js/myFassa.js

	
}


function calcolaSconto(myPrezzo,mySconto){
	var myDiscountedPrice=0;
	
	myDiscountedPrice = (parseInt(myPrezzo) + parseInt(mySconto));
	
	return Math.round(myDiscountedPrice);
}

function giveMeIcons(sumServSogg){
	var myIcons;
	myIcons = '<div class="iconEl">';

	for (j=0;j<iconsServices.length;j++){
		if (chk_BinaryOnArray_AND(sumServSogg,iconsServices[j][0])){
			myIcons = myIcons + '<div class="serivice-'+iconsServices[j][0]+'-ON" title="'+iconsServices[j][1]+'"></div>';
		}else{
			myIcons = myIcons + '<div class="serivice-'+iconsServices[j][0]+'-OFF" title="'+iconsServices[j][1]+'"></div>';
		}
	}

	myIcons = myIcons + '</div>';
	
	return myIcons;
}




function translateForMe(myString){
	var myPointer = -1;

	var Traduci_IT = ['Alberghi','Appartamenti',' (1 stella)',' (2 stelle)',' (3 stelle)',' (4 stelle)',' (3 stelle Superior)',' (4 stelle Superior)','(classificati)','Appartamenti (classificati)','Garnì','Affittacamere','Rifugi','Casa per ferie','Case per vacanza - Residence','Campeggi','Bed & Breakfast','Rifugi escursionistici'];
	var Traduci_EN = ['Hotels','Private apartments',' (1 star)',' (2 stars)',' (3 stars)',' (4 stars)',' (3 stars Superior)',' (4 stars Superior)','(classified)','Private apartments (classified)','Guesthouse','Room rental','Huts','Holiday houses','Houses and flats to rent','Campsite','Bed & Breakfast','Mountain huts'];
	var Traduci_DE = ['Hotels','Privatwohnungen',' (1 Stern)',' (2 Sterne)',' (3 Sterne)',' (4 Sterne)',' (3 Sterne Superior)',' (4 Sterne Superior)','(klassifiziert)','Privatwohnungen (klassifiziert)','Frühstückspension','Ferienzimmer','Schutzhütten','Ferienkolonie','Residence','Campingplätze','Bed & Breakfast','Alpine Schutzhütten'];
	for (var i=0;i<Traduci_IT.length;i++){
		if (Traduci_IT[i] == myString){
			myPointer = i;
			break;
		}
	}

	if (myPointer != -1){
		return eval("Traduci_"+myLang)[myPointer];
	}else{
		return myString;
	}
}


function hideElencoA(){
	//alert('hideElencoA');
	new Effect.Opacity($('ElencoA'), {duration:1,from:1, to:0})	
	$('ElencoA').show();
	return true;
}


function loadImage(mySogg){
	//alert('loadImage');
	var myDivIMG;
	var mySoggInArr;
	//myDivIMG = $(mySogg +'_A').down('div.img');
	mySoggInArr = Soggetti.select(function(Sogg) {return Sogg[_IDSOGGETTO] == mySogg});

	if (mySoggInArr[0][_IMGLOADED]==0){
		//DIV B (div hide)
		myDivIMG = $(mySoggInArr[0][_IDSOGGETTO]).down('div.img');
		if (myDivIMG.getElementsByTagName('img')){
			myDivIMG.getElementsByTagName('img')[0].src= mySoggInArr[0][_IMMAGINE];
		}


		//set "IMGLOADED" = true in Soggetti[] (l'immagine l'abbiamo caricata)
		Soggetti.inject(0, function(sum,s){
							if (s[_IDSOGGETTO] == mySogg){
								s[_IMGLOADED] = 1;
							}
							return 0;});
	}
}


function showWait(){
	$('LoadingElenco').show();
	return true;
}


function hideWait(){
	$('LoadingElenco').hide();
	return true;
}


function buildFade(divToBeCovered){
	var myHTMLFade
	var myWidth = divToBeCovered.clientWidth;
	var myHeight = divToBeCovered.clientHeight;
	var myTop = divToBeCovered.offsetTop;
	var myLeft = divToBeCovered.offsetLeft;
	

	myHTMLFade = '<div class="fadeCont" style="top:'+myTop+'px;left:'+myLeft+';width:'+myWidth+'px;height:'+myHeight+'px;">';
	myHTMLFade = myHTMLFade + '<div class="fadeImg"><img src="/st165/images/loading.gif" width="32" height="32" ></div>';
	myHTMLFade = myHTMLFade + '<div class="fadeBody"></div>';
	myHTMLFade = myHTMLFade + '</div>';
	
	//alert(myHTMLFade);

	new Insertion.Top(divToBeCovered,myHTMLFade);
}


function deleteFade(divToBeDiscovered){
	var myFadeDiv = divToBeDiscovered.down('div.TotalFade');
	if (myFadeDiv){
		divToBeDiscovered.removeChild(myFadeDiv);
	}
}


var MyFade = Class.create({
    divPtr: '',
    
    init: function (divToBeCovered, className, rotatorImg, message) {
		var myHTMLFade
		var myWidth = divToBeCovered.clientWidth+2;
		var myHeight = divToBeCovered.clientHeight+2;
		var myTop = getY(divToBeCovered);
		var myLeft = getX(divToBeCovered);
		
        
        /*divPtr = crea DIV utilizzando eventualmente class, rotator e message
		prende x,y,altezza e larghezza di divTobeCovered        
		imposta larghezza e altezza (anche sotituendo attributi di class)
		imposta lo stile del newDiv ad absolute (anche sotituendo attributi di class)
		imposta posizione top/left
		*/
		
		myHTMLFade = '<div class="'+className+'" style="position:absolute;top:'+myTop+'px;left:'+myLeft+'px;width:'+myWidth+'px;height:'+myHeight+'px;">';
		if (rotatorImg) {
			myHTMLFade = myHTMLFade + '<div class="fadeImg"><img src="/st165/images/loading.gif" width="32" height="32" ></div>';
		}
		myHTMLFade = myHTMLFade + '<div class="fadeBody"></div>';
		myHTMLFade = myHTMLFade + '</div>';

		new Insertion.Top(document.body,myHTMLFade);
		this.divPtr = $(document.body).firstChild;

    },
 
    showFade: function () {
        if (this.divPtr == null) return; 
        $(this.divPtr).show();
    },
 
    hideFade: function () {
        if (this.divPtr == null) return;
        $(this.divPtr).hide();
    },
 
    removeFade: function () {
        if (this.divPtr == null) return; 
		document.body.removeChild($(this.divPtr));
		this.divPtr = null;
    }
 
});	




/////////// OBSERVE SU ELENCO /////////////////////////////////
///////////////////////////////////////////////////////////////
function startObserveBoxElenco(){

	boxElSogg.bfx = boxElSogg.boxClick.bindAsEventListener(boxElSogg, 'soggetto');
	Event.observe($('ElencoA'), 'click' , boxElSogg.bfx);
	boxElSogg.bfx = boxElSogg.enter.bindAsEventListener(boxElSogg, 'soggetto');
	Event.observe($('ElencoA'), 'mouseover' , boxElSogg.bfx);
	boxElSogg.bfx = boxElSogg.exit.bindAsEventListener(boxElSogg, 'soggetto');
	Event.observe($('ElencoA'), 'mouseout' , boxElSogg.bfx);


}


var boxElSogg = {
	boxClick: function(event, stileBase){
		//se click su un href esci e segui il browser 

		var elemento = Event.findElement(event,'a');
		if (elemento != null) {
			return;
			//alert('A href:'+$(elemento).id + ', '+$(elemento).nodeName);
		}
		
		//se click su un checkbox esci e segui il browser 		

		var elementoChkBox = Event.findElement(event,'input');
		if (elementoChkBox != null) {
			return;
			//alert('A href:'+$(elemento).id + ', '+$(elemento).nodeName);
		}	
		
		//trovo il div scatenante
		var containerDiv = Event.findElement(event,'div');
		var myDiv = containerDiv;
	
		while (!$(myDiv).hasClassName(stileBase+'-OVER') && myDiv.nodeName != 'HTML') 
				myDiv = myDiv.up();	

		if(myDiv.nodeName == 'HTML')return;

		urlDivs = $(myDiv).getElementsByClassName('mainUrl');
		if (urlDivs.length > 0) { 
			//alert('goto url:' + $(urlDivs[0]).firstChild.nodeValue );
			document.location = $(urlDivs[0]).firstChild.nodeValue;
				
		}
	}, //myFunc
	enter: function(event, stileBase){
		//alert('Enter');	
		var containerDiv = Event.findElement(event, 'div');
		var myDiv = containerDiv;
		
		//trovo il div scatenante
		if ( !($(myDiv).hasClassName(stileBase)))
			myDiv = $(containerDiv).up('div.'+stileBase);
		if(myDiv==null)return;

		//cambio stile
		Element.removeClassName(myDiv,stileBase);
		Element.addClassName(myDiv,stileBase+'-OVER');
		//myDiv.style.background = '#2a6c84';
		
		urlDivs = $(myDiv).getElementsByClassName('mainUrl');
		if (urlDivs.length > 0) { 
			Element.addClassName(myDiv,'cursorPointer');				
		}


	}, //enter
	exit: function(event, stileBase){
		//alert('Exit');	

		var myDiv = Event.findElement(event, 'div');

		if (  !($(myDiv).hasClassName(stileBase+'-OVER'))   )
			myDiv = $(myDiv).up('div.'+stileBase+'-OVER');
		//var mustExit = ($(myDiv)==null);

		if ($(myDiv)==null) return;		

		//trovo il div di destinazione e esco se interno a box
		var destDiv =  $( (event.relatedTarget) ? event.relatedTarget : event.toElement ); //browser dipendent !!!
   		if(destDiv == null)return; //nessun oggetto


		destDiv = $(destDiv).up('div.'+stileBase+'-OVER');		

		if(destDiv == myDiv)return; //interno: esci
		//il div di destinazione è esterno, cambio stile
		Element.removeClassName(myDiv,stileBase+'-OVER');
		Element.removeClassName(myDiv,'cursorPointer');
		Element.addClassName(myDiv,stileBase);
	}//exit
} //box

/////////// END OBSERVE ////////////////////////////////




//////////////////FILTRI//////////////////////////
///////////////////////////////////////////////////
function applyFilters(){
	//alert('applyFilters');
	//metto tutti visibili e poi inizio con in filtri	
    
	Soggetti.inject(0, function(sum,s){
											s[_VISIBILE] = true;
											return 0;});
	/////////////////////////////////////////////////////////////	
	
	

	var accumulatore;
	var a;	
	
	//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;});
	}

	//Pacchetti
	
	//alert('filtroPacchetti: ' + filtroPacchetti + '   filtroOfferte: ' + filtroOfferte);
	
	if(filtroPacchetti){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													if (s[_PACCHETTI] == 1){
														s[_VISIBILE] = true;
													}else{
														s[_VISIBILE] = false;
													}
													
												}
												return 0;});
	}

	//Club
	if(filtroClub){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_OR(s[_CLUB],sumClub);
												}
												return 0;});
	}
	
	//Servizi
	if(filtroServizi){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_AND(s[_SERVIZI],sumServizi);													
												}
												return 0;});
	}	
	

	//Tipologia
	if(filtroTipologia){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_OR(s[_TIPOLOGIA],sumTipologia);
												}
												return 0;});
	}
	
	
	//CategorieByTipo
	if (filtroCategoriaByTipo){
		var myCateg;
		myCateg = sumCategoriaByTipo.split(';');
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													for (var i=0; i<myCateg.length-1;i++){
														if (chk_BinaryOnArray_OR(s[_TIPOLOGIA],myCateg[i].split('_')[1])){
															s[_VISIBILE] = chk_BinaryOnArray_OR(s[_CATEGORIA],myCateg[i].split('_')[0]);
															break;
														}														
													}
												}
												return 0;});

	}
	
	
	//Categoria
	if(filtroCategoria){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_OR(s[_CATEGORIA],sumCategoria);
												}
												return 0;});
	}
	
	
	//Comune
	if(filtroComune){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_OR(s[_COMUNE],sumComune);
												}
												return 0;});
	}
	
	//Prezzo
	if(filtroPrezzo){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													if (s[_PREZZO] != ''){														
														s[_VISIBILE] = true;
													}else{
														s[_VISIBILE] = false;
													}
												}
												return 0;});
	}
	

	
	ricalcolo = false;
	assignPages();
	switchOnOffFilters();

}

function assignPages(){
	//alert('assignPages');
	var mySoggVisibili;
	mySoggVisibili = Soggetti.inject(0, function(sum,s){
											if (s[_VISIBILE]){
												sum++
												if ((sum % RecInPG)>0){
													s[_PAGINA] = parseInt(sum/RecInPG)+1;
												}else{
													s[_PAGINA] = parseInt(sum/RecInPG);
												}
											}else{
												s[_PAGINA] = 0;
											}
											return sum;});
						
	SoggTotali = mySoggVisibili;	
	if (mySoggVisibili==0){
		giveMeAHand = true;
		showPage(activePage);
	}else{
		giveMeAHand = false;
		//alert('mySoggVisibili/RecInPG: '+mySoggVisibili/RecInPG);
		if (isInt(mySoggVisibili/RecInPG)){
			pagineTotali = parseInt(mySoggVisibili/RecInPG);		
		}else{
			pagineTotali = parseInt(mySoggVisibili/RecInPG)+1;
		}
		//showPage(1);
		showPage(activePage);
	}
}

 function isInt(x) {
   var y=parseInt(x);
   if (isNaN(y)) return false;
   return x==y && x.toString()==y.toString();
 }


function chk_BinaryOnArray_AND(compare,find){
	a = parseInt(compare);
	b = parseInt(find);

	if (((a&b) == b)){
		return true;
	}else{
		return false;
	}
}


function chk_BinaryOnArray_OR(compare,find){
	a = parseInt(compare);
	b = parseInt(find);

	if (compare==0){
		return false;
	}
	
	if ((a&b)){
		return true;
	}else{
		return false;
	}
}


function switchOnOffFilters(){
	var activeClub = 0;
	var activeServizi = 0;
	var activeTipologia = 0;
	var activeCategoria = 0;
	var activeComune = 0;
	var myService = document.getElementsByClassName('chk_Club');
	var myCity = document.getElementsByClassName('chk_Servizi');
	var myClass = document.getElementsByClassName('chk_Tipologia');
	var myCarte = document.getElementsByClassName('chk_Categoria');	
	var myClub = document.getElementsByClassName('chk_Comune');
	Soggetti.inject(0, function(sum,s){
										if(s[_VISIBILE]){
											activeClub = activeClub | s[_CLUB];
											activeServizi = activeServizi | s[_SERVIZI];
											activeTipologia = activeTipologia | s[_TIPOLOGIA];
											activeCategoria = activeCategoria | s[_CATEGORIA];
											activeComune = activeComune | s[_COMUNE];
										}
										return 0;});

	countCheckedFields();


	//Club
	var myCont;
	for(i=0;i< myService.length;i++){
		if ((myService[i].value & activeClub) == myService[i].value){
			myCont = myService[i].up('div.chk_ClubCont');
			Element.removeClassName(myCont,'chk_ClubCont_OFF');
		}else{
			myCont = myService[i].up('div.chk_ClubCont');
			Element.addClassName(myCont,'chk_ClubCont_OFF');

		}
	}
	
	

}


function countCheckedFields(){
	var myClub = document.getElementsByClassName('chk_Club');
	var myServizi = document.getElementsByClassName('chk_Servizi');
	var myTipologia = document.getElementsByClassName('chk_Tipologia');	
	var myCategoria = document.getElementsByClassName('chk_Categoria');
	
	sumLocChecked = 0;
	sumTipoChecked = 0;
	sumClubChecked = 0;
	
	//Club
	for(i=0;i<myClub.length;i++){
		if (myClub[i].checked){
			sumLocChecked += 1;
		}
	}
	
	//Servizi
	for(i=0;i<myServizi.length;i++){
		if (myServizi[i].checked){
			sumTipoChecked += 1;
		}
	}
	
	//Tipologia
	for(i=0;i<myTipologia.length;i++){
		if (myTipologia[i].checked){
			sumTipoChecked += 1;
		}
	}	
	
	//Categoria
	for(i=0;i<myCategoria.length;i++){
		if (myCategoria[i].checked){
			sumClubChecked += 1;
		}
	}
	
}


function setCheckedFields(valore,tipoFiltro){
	var myFields = document.getElementsByClassName('chk_'+tipoFiltro);

	if (myFields.length > 0){
		//deseleziono tutti i campi
		for(i=0;i<myFields.length;i++){
			myFields[i].checked = false;
		}
		
		//seleziono quelli accesi
		for(i=0;i< myFields.length;i++){
			if ((myFields[i].value & valore) == myFields[i].value){
				myFields[i].checked = true;
			}
		}

	}
}



function setSelectedFields(valore,tipoFiltro){
	var myFields = $('comuni');

	if (myFields.length > 0){
		//deseleziono tutti i campi
		for(i=0;i<myFields.length;i++){
			myFields[i].selected = false;
		}

		
		//seleziono quelli accesi
		for(i=0;i< myFields.length;i++){		
			if ((myFields[i].value & valore) == myFields[i].value){
				myFields[i].selected = true;
			}
		}

	}
}

//////////// /Funzioni di servizio///////////////////////////////////

function assignHTMLSoggetto(stringa){
	myHTMLSogg = stringa;
	firstFilter()
	getStartingList();
	//hideWait();
}

function assignHTMLInfoWindow(stringa){
	myHTMLInfoWindow = stringa;
}

function getHTMLSoggetto(){
	new Ajax.Request('/cms-01.00/template/st13/HTML_soggetto.asp',{
							onComplete: function(requester){
											assignHTMLSoggetto(requester.responseText);
										}
							});	
}

function getHTMLInfoWindow(){
	new Ajax.Request('/cms-01.00/template/st13/HTML_infoWindow.asp',{
							onComplete: function(requester){
											assignHTMLInfoWindow(requester.responseText);
										}
							});	
}


function InStr(String1, String2)
{
    var a = 0;
    
    if (String1 == null || String2 == null)
        return (0);
    
    String1 = String1.toLowerCase();
    String2 = String2.toLowerCase();
    
    a = String1.indexOf(String2);
    if (a == -1)
        return 0;
    else
        return a + 1;
}


function buildFade(divToBeCovered){
	var myHTMLFade
	var myWidth = divToBeCovered.clientWidth;
	var myHeight = divToBeCovered.clientHeight;
	var myTop = divToBeCovered.offsetTop;
	var myLeft = divToBeCovered.offsetLeft;
	

	myHTMLFade = '<div class="fadeCont" style="top:'+myTop+'px;left:'+myLeft+';width:'+myWidth+'px;height:'+myHeight+'px;">';
	myHTMLFade = myHTMLFade + '<div class="fadeImg"><img src="/st13/images/loading.gif" width="32" height="32" ></div>';
	myHTMLFade = myHTMLFade + '<div class="fadeBody"></div>';
	myHTMLFade = myHTMLFade + '</div>';
	
	//alert(myHTMLFade);

	new Insertion.Top(divToBeCovered,myHTMLFade);
}


function deleteFade(divToBeDiscovered){
	var myFadeDiv = divToBeDiscovered.down('div.fadeCont');
	if (myFadeDiv){
		divToBeDiscovered.removeChild(myFadeDiv);
	}
}

function getY(oElement)
{
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetTop;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}


function getX(oElement)
{
	var iReturnValue = 0;
	while( oElement != null ) {
		iReturnValue += oElement.offsetLeft;
		oElement = oElement.offsetParent;
	}
	return iReturnValue;
}

var MyFade = Class.create({
    divPtr: '',
    /*class: '',
    rotatorImg: '',
    message: '',*/
    
    init: function (divToBeCovered, className, rotatorImg, message) {
		var myHTMLFade
		var myWidth = divToBeCovered.clientWidth+2;
		var myHeight = divToBeCovered.clientHeight+2;
		var myTop = getY(divToBeCovered);
		var myLeft = getX(divToBeCovered);
		
		myHTMLFade = '<div class="'+className+'" style="position:absolute;top:'+myTop+'px;left:'+myLeft+'px;width:'+myWidth+'px;height:'+myHeight+'px;">';
		if (rotatorImg) {
			myHTMLFade = myHTMLFade + '<div class="fadeImg"><img src="/st13/images/loading.gif" width="32" height="32" ></div>';
		}
		myHTMLFade = myHTMLFade + '<div class="fadeBody"></div>';
		myHTMLFade = myHTMLFade + '</div>';

		new Insertion.Top(document.body,myHTMLFade);
		this.divPtr = $(document.body).firstChild;

    },
 
    showFade: function () {
        if (this.divPtr == null) return; 
        $(this.divPtr).show();
    },
 
    hideFade: function () {
        if (this.divPtr == null) return;
        $(this.divPtr).hide();
    },
 
    removeFade: function () {
        if (this.divPtr == null) return; 
		document.body.removeChild($(this.divPtr));
		this.divPtr = null;
    }
 
});



/////////////////////////////////////////////////////////////////////





////////////////////////////////////////////////////////////////////////////////////
//********************************************************************************//
//********************************************************************************//
//********************************************************************************//

//				FIRST LOADING FUNCTIONS (funzioni post loading differenziato)

//********************************************************************************//
//********************************************************************************//
//********************************************************************************//
////////////////////////////////////////////////////////////////////////////////////

function filtroLocFirst(){
	//alert('filtroLocFirst');
		var myCity = $('FiltroCitta');
		var myContainer = myCity;
		var myChild;
		var myCheck;
		var myValue = new Array();
		var i = 0;
		var checkCol2 = false;
		sumLoc = 0;
		myChild = myContainer.down('div.chk_LocCont');
		if (!(myChild.hasClassName('chk_LocCont'))) myChild.next('div');
		while (myChild){
			myCheck = myChild.down('input.chk_Loc');
			if (myCheck){
				if ((myCheck.className == 'chk_Loc') && (myCheck.checked)){
					myValue[i++] = myCheck.value;
					sumLoc += parseInt(myCheck.value);
				}
			}
			myChild = myChild.next();
			
			//va sulla seconda colonna
			if ((!myChild) && (!checkCol2)){
				checkCol2 = true;
				myChild = myContainer.down('div.last');
				myChild = myChild.down('div.chk_LocCont');
			}
		}

		arrCities = myValue;
		
		clickFiltro = 'Loc';
		
		if (myValue.length > 0) {
			filtroCitta = true;
		}else{
			filtroCitta = false;
		}

		applyFiltersFirst()
}

function filtroServFirst(){
	//alert('filtroServFirst');
		var myService = $('FiltroService');
		var myContainer = myService;
		var myChild;
		var myCheck;
		var myValue = new Array();
		var i = 0;
		var checkCol2 = false;
		sumServ = 0;
		myChild = myContainer.down('div.chk_ServCont');
		if (!(myChild.hasClassName('chk_ServCont'))) myChild.next('div');
		while (myChild){
			myCheck = myChild.down('input.chk_Serv');
			if (myCheck){
				if ((myCheck.className == 'chk_Serv') && (myCheck.checked)){
					myValue[i++] = myCheck.value;
					sumServ += parseInt(myCheck.value);
				}
			}
			myChild = myChild.next();

			//va sulla seconda colonna
			if ((!myChild) && (!checkCol2)){
				checkCol2 = true;
				myChild = myContainer.down('div.last');
				myChild = myChild.down('div.chk_ServCont');
			}
		}

		arrServices = myValue;
		
		clickFiltro = 'Serv';
		
		if (myValue.length > 0) {
			filtroServizi = true;
		}else{
			filtroServizi = false;
		}
		
		applyFiltersFirst()
}


function filtroTipoFirst(){
	//alert('filtroTipoFirst');
		var myContainer = $('FiltroTipologia');
		var myChild;
		var myCheck;
		var myValue = new Array();
		var i = 0;
		var checkCol2 = false;
		sumTipo = 0;
		myChild = myContainer.down('div.chk_TipoCont');
		if (!(myChild.hasClassName('chk_TipoCont'))) myChild.next('div');
		while (myChild){
			myCheck = myChild.down('input.chk_Tipo');
			if (myCheck){
				if ((myCheck.className == 'chk_Tipo') && (myCheck.checked)){
					myValue[i++] = myCheck.value;
					sumTipo+= parseInt(myCheck.value);
				}
			}
			myChild = myChild.next();

			//va sulla seconda colonna
			if ((!myChild) && (!checkCol2)){
				checkCol2 = true;
				myChild = myContainer.down('div.last');
				myChild = myChild.down('div.chk_TipoCont');
			}
		}
		
		clickFiltro = 'Tipo';

		if (myValue.length > 0) {
			filtroTipologia = true;
		}else{
			filtroTipologia = false;
		}
		applyFiltersFirst()
}


function filtroClubFirst(){
	//alert('filtroClubFirst');
		var myContainer = $('FiltroClub');
		var myChild;
		var myCheck;
		var myValue = new Array();
		var i = 0;
		var checkCol2 = false;
		sumClub = 0;
		myChild = myContainer.down('div.chk_ClubCont');
		if (!(myChild.hasClassName('chk_ClubCont'))) myChild.next('div');
		while (myChild){
			myCheck = myChild.down('input.chk_Club');
			if (myCheck){
				if ((myCheck.className == 'chk_Club') && (myCheck.checked)){
					myValue[i++] = myCheck.value;
					sumClub+= parseInt(myCheck.value);
				}
			}
			myChild = myChild.next();

			//va sulla seconda colonna
			if ((!myChild) && (!checkCol2)){
				checkCol2 = true;
				myChild = myContainer.down('div.last');
				myChild = myChild.down('div.chk_ClubCont');
			}
		}
		
		clickFiltro = 'Club';

		if (myValue.length > 0) {
			filtroClub = true;
		}else{
			filtroClub = false;
		}
		applyFiltersFirst()
}


function filtroPriceFirst(statusFiltro){
	//alert('filtroPriceFirst');
		if ($('fPrezzoBox')){
			/*
			if ($('fPrezzo').checked){
				filtroPrezzo = false;
			}else{
				filtroPrezzo = true;
			}
			*/
			
			filtroPrezzo = statusFiltro;
			
			applyFiltersFirst()
		}
}


function applyFiltersFirst(){
	//alert('applyFiltersFirst');
	//metto tutti visibili e poi inizio con in filtri
	Soggetti.inject(0, function(sum,s){
											s[_VISIBILE] = true;
											return 0;});
	/////////////////////////////////////////////////////////////	
	

	var accumulatore;
	var a;
	
	//alert(filtroTipologia);
	//Club
	if(filtroClub){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_OR(s[_CLUB],sumClub);
												}
												return 0;});
	}
	

	//Servizi
	if(filtroServizi){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_AND(s[_SERVIZI],sumServizi);
												}
												return 0;});
	}
	
	
	//Tipologia
	if(filtroTipologia){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_OR(s[_TIPOLOGIA],sumTipologia);
												}
												return 0;});
	}

	
	//Categoria
	if(filtroCategoria){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_OR(s[_CATEGORIA],sumCategoria);
												}
												return 0;});
	}
	
	
	//Comune
	if(filtroComune){
		Soggetti.inject(0, function(sum,s){
												if (s[_VISIBILE]){
													s[_VISIBILE] = chk_BinaryOnArray_OR(s[_COMUNE],sumComune);
												}
												return 0;});
	}	
	
	
	assignPagesFirst(false);

}

function assignPagesFirst(assignOK){
	var mySoggVisibili;
	//alert('assignPagesFirst');
	mySoggVisibili = Soggetti.inject(0, function(sum,s){
											if (s[_VISIBILE]){
												sum++
												if ((sum % RecInPG)>0){
													s[_PAGINA] = parseInt(sum/RecInPG)+1;
													//alert('Pagina:' + s[_PAGINA] + ' sum:' + sum + ' RecInPG:' + RecInPG + ' sum % RecInPG' + (sum % RecInPG));
												}else{
													s[_PAGINA] = parseInt(sum/RecInPG);
													//alert('Pagina:' + s[_PAGINA] + ' sum:' + sum + ' RecInPG:' + RecInPG + ' sum % RecInPG' + (sum % RecInPG));
												}
											}else{
												s[_PAGINA] = 0;
											}
											return sum;});
										
						
	SoggTotali = mySoggVisibili;
	if (assignOK){
		showPage(1);
	}
	//pagineTotali = parseInt(mySoggVisibili/RecInPG)+1;
}


//						END FIRST LOADING FUNCTIONS 
//********************************************************************************//
////////////////////////////////////////////////////////////////////////////////////


