var lastID = "";
function visualizza(idDiv) {
	if (document.getElementById) {
		if(document.getElementById(idDiv).style.display == 'none') {
			if (lastID != "") {
				document.getElementById(lastID).style.display = 'none';
			}
			document.getElementById(idDiv).style.display = 'block';
			lastID = idDiv;
		}else {
			document.getElementById(idDiv).style.display = 'none';
		}
	}
}

function rating(voto) {

	var dv = document.getElementById('spagovoto');

	$(".srating").removeClass("mediaIn");
	$(".srating").addClass("mediaOut");

	if (voto==0) {
		dv.innerHTML = '';
	} else if (voto==1) {
		dv.innerHTML = '<span class=\"orange\">Scarso<\/span>';
		$("#link1").addClass("mediaIn");
	} else if (voto==2) {
		dv.innerHTML = '<span class=\"orange\">Cosi Cosi<\/span>';
		$("#link1").addClass("mediaIn");
		$("#link2").addClass("mediaIn");
	} else if (voto==3) {
		dv.innerHTML = '<span class=\"orange\">Non male<\/span>';
		$("#link1").addClass("mediaIn");
		$("#link2").addClass("mediaIn");
		$("#link3").addClass("mediaIn");
	} else if (voto==4) {
		dv.innerHTML = '<span class=\"orange\">Buono<\/span>';
		$("#link1").addClass("mediaIn");
		$("#link2").addClass("mediaIn");
		$("#link3").addClass("mediaIn");
		$("#link4").addClass("mediaIn");
	} else if (voto==5) {
		dv.innerHTML = '<span class=\"orange\">Spago<\/span><span class=\"green\">Licious<\/span>';
		$("#link1").addClass("mediaIn");
		$("#link2").addClass("mediaIn");
		$("#link3").addClass("mediaIn");
		$("#link4").addClass("mediaIn");
		$("#link5").addClass("mediaIn");

	}
}

function rate_str(voto, id) {

	var dv = document.getElementById('spagovoto_top');

	$(".toprating").removeClass("mediaIn");
	$(".toprating").addClass("mediaOut");

	if (voto==0) {
		dv.innerHTML = '';
	} else if (voto==1) {
		dv.innerHTML = '<span class=\"orange\">Scarso<\/span>';
		$("#"+id+voto).addClass("mediaIn");
	} else if (voto==2) {
		dv.innerHTML = '<span class=\"orange\">Cosi Cosi<\/span>';
		$("#"+id+(voto-1)).addClass("mediaIn");
		$("#"+id+voto).addClass("mediaIn");
	} else if (voto==3) {
		dv.innerHTML = '<span class=\"orange\">Non male<\/span>';
		$("#"+id+(voto-2)).addClass("mediaIn");
		$("#"+id+(voto-1)).addClass("mediaIn");
		$("#"+id+voto).addClass("mediaIn");
	} else if (voto==4) {
		dv.innerHTML = '<span class=\"orange\">Buono<\/span>';
		$("#"+id+(voto-3)).addClass("mediaIn");
		$("#"+id+(voto-2)).addClass("mediaIn");
		$("#"+id+(voto-1)).addClass("mediaIn");
		$("#"+id+voto).addClass("mediaIn");
	} else if (voto==5) {
		dv.innerHTML = '<span class=\"orange\">Spago<\/span><span class=\"green\">Licious<\/span>';
		$("#"+id+(voto-4)).addClass("mediaIn");
		$("#"+id+(voto-3)).addClass("mediaIn");
		$("#"+id+(voto-2)).addClass("mediaIn");
		$("#"+id+(voto-1)).addClass("mediaIn");
		$("#"+id+voto).addClass("mediaIn");

	}
}


function rank(voto, count) {

	var dv = document.getElementById('text'+count);

	if (voto==0) {
		dv.innerHTML = '';
	} else if (voto==1) {
		dv.innerHTML = 'Negativo';
	} else if (voto==2) {
		dv.innerHTML = 'N&egrave; carne n&egrave; pesce';
	} else if (voto==3) {
		dv.innerHTML = 'Positivo';
	}
}

function writeDivTags(idStr, idDiv, strID, check, backTo, conta) {
	document.write('<div id=\"' + idDiv + '\" class=\"tagsadd\" style=\"display: none;\">');
	document.write('	<div class=\"contenitoreTags\">');
	document.write('		<div class=\"fixPngTags\">');
	document.write('			<form action=\"/ristoranti/cmd.php?cmd=addTags\" method=\"post\" accept-charset=\"UTF-8\">');
	document.write('			<input type=\"hidden\" name=\"str\" value=\"' + idStr + '\"/>');
	document.write('			<input type=\"hidden\" name=\"check\" value=\"' + check + '\"/>');
	document.write('			<input type=\"hidden\" name=\"backTo\" value=\"' + backTo + '\"/>');
	document.write('			<fieldset class=\"fieldAddTags\">');
	document.write('				<legend class=\"none\">Aggiungi i tuoi Tag<\/legend>');
	document.write('				<p class=\"closeAdd fixOrange\"><a href=\"#' + strID + '\" onClick=\"visualizza(\'' + idDiv + '\');return true;\" title="Chiudi">x<\/a><\/p>');
	document.write('				<p><label for=\"tags' + conta + '\" title=\"Aggiungi i Tuo Tag\" class=\"none\">Aggiungi i tuoi tags<\/label> <input type=\"text\" name=\"tags\" id=\"tags' + conta + '\" class=\"input\"/> <button type=\"submit\" title=\"Aggiungi\">Aggiungi</button><\/p>');
	document.write('				<p>Aggiungi i tuoi tag separandoli con la "," (virgola)<\/p>');
	document.write('			<\/fieldset>');
	document.write('			<\/form>');
	document.write('		<\/div>');
	document.write('	<\/div>');
	document.write('<\/div>');
}

function writeDivComm(idStr, idDiv, strID, check, backTo, conta) {
	document.write('<div id=\"' + idDiv + '\" class=\"commadd\" style=\"display: none;\">');
	document.write('	<div class=\"contenitoreComm\">');
	document.write('		<div class=\"fixPngComm\">');
	document.write('			<form action=\"/ristoranti/cmd.php?cmd=addComment\" method=\"post\" accept-charset=\"UTF-8\">');
	document.write('			<input type=\"hidden\" name=\"str\" value=\"' + idStr + '\"/>');
	document.write('			<input type=\"hidden\" name=\"check\" value=\"' + check + '\"/>');
	document.write('			<input type=\"hidden\" name=\"backTo\" value=\"' + backTo + '\"/>');
	document.write('			<fieldset class=\"fieldAddComm\">');
	document.write('				<legend class=\"none\">Aggiungi i tuoi Commenti<\/legend>');
	document.write('				<p class=\"closeAdd fixOrange\"><a href=\"#' + strID + '\" onClick=\"visualizza(\'' + idDiv + '\');return true;" title="Chiudi">x<\/a><\/p>');
	document.write('				<p><label for=\"testoSender' + conta + '\" title=\"Il Tuo Commento\" class=\"none\">Aggiungi i tuoi Commenti</label> <textarea name=\"txtcommento\" id=\"testoSender' + conta + '\"></textarea></p>');
	document.write('				<p class=\"fixButton\"><button type=\"submit\" title=\"Invia il Commento\">Invia il Commento</button></p>');
	document.write('			<\/fieldset>');
	document.write('			<\/form>');
	document.write('		<\/div>');
	document.write('	<\/div>');
	document.write('<\/div>');
}

function doSel(obj)
 {
     for (i = 1; i < obj.length; i++)
        if (obj[i].selected == true)
           eval(obj[i].value);
}

function checkMulti(idPrefix) {
	changeOthers(idPrefix, document.getElementById(idPrefix + '_0').checked);
}

function checkSingle(idPrefix) {
	var b = false;
	var i = 1;
	var ele = document.getElementById(idPrefix + '_' + i);
	while (ele) {
		if (ele.checked) {
			b = true;
			break;
		}
		ele = document.getElementById(idPrefix + '_' + (++i));
	}
	document.getElementById(idPrefix + '_0').checked = (b) ? true : false;
}

function changeOthers(idPrefix, b) {
	var i = 1;
	var ele = document.getElementById(idPrefix + '_' + i);
	while (ele) {
		ele.checked = b;
		ele = document.getElementById(idPrefix + '_' + (++i));
	}
}

var rid = ["VIA","VIA DELLA","PIAZZA","LOCALITA'","VICO","VICOLO","STRADA","CONTRADA","VIALE","VIA DELLA","VIA DEI","STRADA","PROVINCIALE","VIA DELLE","STRADA COMUNALE","TRAVERSA","CASCINA","LARGO","STRADA VICINALE","FRAZIONE","STRADA PROVINCIALE DI","VIA DI","CORSO","VIA DELL'","CORTILE","VIA DEGLI","PIAZZALE","STRADA STATALE","BORGATA","REGIONE","PIAZZETTA","PIAZZA DELLA","SALITA","VOCABOLO","VIA PER","STRASSE","PIAZZA DEL","VICOLO DEL","STRADA DI","STRADA DEL","GALLERIA","SVINCOLO","WEG","STRADA PROVINCIALE DEL","VIALE DELLA","VIA PRIVATA","PONTE","STRADA DELLA","STRADA PROVINCIALE DELLA","CORTE","CALLE","VIA AL","BORGO","VIALE DEI","VICOLO DELLA","VIA PONTE","STRADA COMUNALE DI","VIA PROVINCIALE","VIA ALLA","STRADA STATALE DI","VIALE DELLE","CASE","STRADA STATALE DEL","STRADA DEI","VIADOTTO","VIA DELLO","STRADA PER","STRADA VICINALE DI","STRADA INTERPODERALE","PIAZZA DEI","STRADA DELLE","VIALE DEL","VICOLO DEI","CASE SPARSE","VILLAGGIO","STRADA PRIVATA","VIA VICINALE","STRADA STATALE DELLA","STRADA VICINALE DELLA","VICOLO DELLE","STRADA VICINALE DEL","CONTRA'","STRADA COMUNALE DELLA","DISCESA","LUNGOMARE","STRADA COMUNALE DEL","VICOLETTO","PARCO","VICO DEL","AUTOSTRADA","AUTOSTRADA DEL","VIA AI","STRADA PROVINCIALE DELLE","STRADA PROVINCIALE PER","STRADA REGIONALE DI","VICOLO DELL'","RAMPA","VIALE DELL'","GASSE","PIAZZA DELLE","STRADA COMUNALE PER","VICO DEI","PIAZZA DELL'","VICOLO DI","VIALE DEGLI","PIAZZA DI","RUE","STRADA PROVINCIALE DEI","VIA ALLE","FONDAMENTA","RUA","STRADA VICINALE DELLE","VIA SOTTO","PIAZZALE DELLA","CIRCONVALLAZIONE","LARGO DELLA","ARCO","AUTOSTRADA DEI","STRADA VICINALE DEI","PASSO","VICO DELLA","LARGO DEL","VICOLO DEGLI","VIOTTOLO","RAMO","PIAZZA DEGLI","PASSAGGIO","SCALINATA","CALATA","STRADA COMUNALE DELLE","VIA D'","CAMPO","VIA DIETRO","CHIASSO","PORTA","CA'","LANDSTRASSE","STRADA COMUNALE DEI","STRADA DELL'","LARGO DEI","VIA ANTICA","VICO DELLE","PIAZZETTA DEL","CASALE","CAMPIELLO","STRADELLA","STRADA REGIONALE DELLA","GIARDINO","PLATZ","CALLE DEL","TRAVERSA DI","STRADA COMUNALE DA","TANGENZIALE","PIAZZETTA DELLA","STRADA PROVINCIALE DELL'","VIA A","CANTONE","AUTOSTRADA DELLA","GIARDINI","VICO DELL'","VIA VECCHIA DI","ROTONDA","VIA DE'","PIAZZALE DEL","LARGO DELLE","SENTIERO","STRADA ESTERNA","RIVIERA","PASSEGGIATA","VIA DA","STRADA DEGLI","VIALE DI","CORTE DEI","STRADA VICINALE DA","VIALE DELLO","VICO CHIUSO","PIAZZALE DEI","SALITA DEL","STRADA STATALE DELLE","SALITA DELLA","STRADA CONSORTILE","SCALA","VICO DEGLI","RACCORDO","STRADALE","STRADONE","VICO DI","SUPERSTRADA","VIA FRA","CANTON","RACCORDO AUTOSTRADALE","CAVALCAVIA","RIVA","MOLO","BELVEDERE","CORSO DELLA","HAMEAU","SALITA AL","VIA SOTTO LE","STRADA ANTICA","PIAZZETTA DEI","PIAZZALE DELLE","SALITA DI","LARGO DELL'","CONTRADA DEL","VIA DAL","VICO DE","PIAZZALE DEGLI","SALITA DEI","CAL","CORSO DEL","PORTICO","LARGO DEGLI","PONTE DELLA","VIALETTO","VICOLO CIECO","SOTTOPORTICO","LARGO DI","VICOLO PRIVATO","PIAZZETTA DELL'","STRADA ANTICA DI","STRADA ALLA","VICOLO DELLO","STRADA AL","STRADA DA","BRUCKE","LUNGARNO","PIAZZA DELLO","VIA SUPERIORE","BERG","PONTE DI","VIA INFERIORE","FONDACO","VIA ALL'","RIO TERRA'","PIAZZETTA DI","PIAZZALE DI","SCALETTA","SCALO","VICOLO AL","PASSO DI","GALLERIA DEL","PIAZZALE DELL'","VIA PRIVATA DEI","CA' DI","SALITA ALLA","PASSO DEL","RIO","PLACE","SALITA DELLE","LUNGADIGE","VIA PRIVATA DELLE","RONDO'","ARCHIVOLTO","STRADA AI","ROUTE","PONTE DEL","POGGIO","PARCO DELLE","VIA PRIVATA DEL","PIAZZALE DELLO","RUE DE LA","STRADA PODERALE","SALITA DELL'","LUNGARGINE","LUNGOTEVERE","SOTTOPASSAGGIO","HAMEAU DE","VIA DAI","BERGWEG","VICOLETTO CIECO","RUE DES","SPALTO","VIA INTERNA","AUTOSTRADA D'","AVENUE","VIUZZO DI","VIALE AL","VIA MURA DI","STRADA CONSORTILE DEL","RUGA","RUE DE","CHEMIN","VICOLO D'","STRADA MILITARE","VIUZZO","PROMENADE","BACH","LUNGOMARE DI","VIUZZO DEL","VOLTA","VICOLO DIETRO","VICOLO DE'","TUNNEL","SALITA AI","PASSO DELLA","TANGENZIALE DI","TAL","SALITA DEGLI","SALITA SUPERIORE","CA' DEL","VIA IN","VOLTO","TRAVERSA DEGLI","STRADA ALLE","SCALINATA DELLA","RUELLE","RAMPA DI","PASSAGE","CORTICELLA","VIUZZO DELLA","VICO ALLA","VIA PRIVATA DEGLI","VARCO","TRAVERSA DEI","STRADONE DI","SOTTOVIA","SALITA A","RUE DU","RUE DE L'","RAMPA DELLA","PONTE DELL'","PONTE DEI","PIAZZA DE'","MURA DI","ALLEE","CROSA","VICO DIETRO","SESTIERE","SCALINATA A VIA","FORO","PIAZZA AI","CHEMIN DE","STRADELLA DELLE","TRAVERSA ALLA","STEIG","FELD","RIVA DEL","PISCINA","DAMM","CHEMIN DES","VIUZZO DELLE","VIA PRIVATA DELLA","STRADA COMUNALE ALLA","STEIN","SALITA ALLE","PASSO DEI","LUNGO DORA","HOF","GALLERIA DELLE","ALZAIA","ANSCHLUSSSTELLE","PASSAGGIO PRIVATO","VIA SOTTO I","VIA PRIVATA DELL'","STRADA CONSORTILE DEI","SCALINATA DELLE","SCALINATA DEI","PIANO DI","PASSEGGIATA DEL","CONTRA' DELLE","GRABEN","GALLERIA DEI","CORSO DI","CONTRA' DEL","BACINO","ACCESSO","SCALINATA DEL","SCALEA","SCALA DEI","QUADRIVIO","VICO A","PIAZZA A'","PASSO DELLE","MURA DEL","LUNGOTEVERE DEI","LUNGO PO","VICO CHIUSO DEL","VIALE ALLA","STRADONE DEI","CHIASSO DI","CHIASSO DEL","CHEMIN DE LA","CA' DEI","CARRER","BURG","CHIASSO DELLE","CORSO D'","VIUZZO DEI","VICO DIETRO IL","STRADA COMUNALE ANTICA DI","SCALINATA DI","RUELLE DES","RIPA","RAMPA DELLE","NUOVA STRADA","CONTRA' DELLA","CARRER DE","CARRER DEL","SALITA INFERIORE","WIESE","VOLTA DEI","VIALE AI","STRADA CONSORTILE DELLA","SALITA INFERIORE DI","CARRER DE LA","PERCORSO","PASSAGGIO DEGLI","LUNGOTEVERE DEGLI","CONTRA' DEI","CHIASSO DEI","ACCESSO A","ARCHIVOLTO DI","VO'","VICO INFERIORE","VICO CHIUSO DELLA","VIALETTO DEL","VIA SUPERIORE DEI","VALLETTA","STRADA DAL","STEG","SCALINATA DELL'","WINKEL","ROUTE DE","PIAZZETTA PRIVATA","PASSO DELLO","PASSO AL","PASSETTO","MURA","LUNGARGINE DEL","FOSSATO DI","CORSO DEGLI","CHIASSO DEGLI","BASTIONI DI","BASTIONE","BARRIERA","AVENUE DU","CANALE","CIRCONVALLAZIONE DELLE","VICOLO PER","VICO INFERIORE DEL","VICO CHIUSO DEI","VIADOTTO DELLA","VIA PRIVATA DI","VIA INFERIORE DI","UFER","TRAFORO DEL","STRADA ANTICA DELLA","SCALONE","SCALA DELL'","PLACE DES","PLACE DE L'","PLACA DEL","PIAZZALE AI","PIAZZA IN","PASSO DELL'","MURA DELLE","MURA DEGLI","LUNGOTEVERE DELLA","ROUTE DE LA","RIVIERA DEI","PORTICI","LUNGARNO DEI","INTERRATO","GANG","CHEMIN DU","ALLEE DE LA","ANCIENNE ROUTE DE","DISCESA A","MARKT","LUNGOTEVERE IN","LUNGOTEVERE DI","LUNGOTEVERE DELLE","LUNGOBISAGNO","LUNGO TORRENTE","LUNGO STURA","LUNGARNO DELLA","LUNGARNO DEL","VIOTTOLA","VICOLETTO CORTICELLA","VICO SUPERIORE DI","VICO SUPERIORE DEL","VICO SUPERIORE","VICO SECONDO","VIALETTO DELLA","STRADA NUOVA DEL","STRADA DAI","STRADA CONSORTILE DI","STRADA ALTA DI","SENTIERO DEL","SELCIATO","SCALONE VOLTO","SALITA SUPERIORE DI","PLACETA DE","VIA SUPERIORE DELLE","VIA SUPERIORE DEL","VIA MILITARE DI","VIA INFERIORE DEI","VIA ALLE VECCHIE","VIA AL LARGO DELLA","PLACE DE LA","PLACA DE","PIAZZA SUPERIORE","PIAZZA INFERIORE","PASSO A","PARK","MURA DELLO","MURA DELLA","RUELLE DU","RUELLE DE L'","RIVO","RIVALE","RING","PONTE SUL","LUNGARNO DEGLI","HOHE","GALLERIA DEGLI","CROSINO DI","CORSIA","BOULEVARD DES","ALTO","ALLEA","IMPASSE DU","IMPASSE DES","IMPASSE","HAMEAU DE LA","FOSSATO","DISTACCO DI PIAZZA","CROSINO DELLO","CROSA DI","CORSO AL","CHEMIN DE L'","CARRER DELS","CARRER DE LES","CARRER DE L'","BOULEVARD","VOLTA DI","VOLTA DELLA","VICOLETTO CIECO DIETRO","VICO SECONDO DELLO","VICO CIECO DIETRO","VICO CHIUSO DELLO","VICO CHIUSO DEGLI","SQUARE","SPIANATA DI","SITO DELLA","SITO DEI","SCALINATA CHIUSA","SCALINATA A","SALITA SUPERIORE DELLA","SALITA SUPERIORE AI","POGGIO DI","VIA SUPERIORE DELL'","VIA INFERIORE DELL'","TRAFORO","SUPERSTRADA PER","STRADA CONSORTILE ALLA","STRADA ALL'","POGGIO DELLA","PLACE DU","PLACE DE","PIAZZALETTO DELL'","PIAZZA INFERIORE DI","PASSAGE DU","MURALLA DEL","LUNGOTEVERE DELL'","SALITA INFERIORE AL","RUELLE DE","RUE D'","ROUTE DU","ROUTE DES","RIPA DI","QUADRATO DELLA","PORTICHETTI","LUNGOTEVERE DE'","LUNGOSTURA CORSO","LUNGOPARCO","LUNGOMONTE","LUNGARNO DI","LUNGARNO DELLE","LISTA","LARGO FRA","BASTIONE DELLA","AVENUE DE LA","AVENUE DES","AVENUE DE","ARCHIVOLTO DELLE","ALLEE DE L'","ALLEE DES"];
var reRid = /\s+/;    // Check for whitespace
var newRid = [];

function reorgArray() {
  // First we need to get the array in the right order - entries with the most number of words first.
  // Get the maximum number of words in any one entry
  var maxWords = 0;
  for (var i=0; i<rid.length; i++) {
    var aEntry = rid[i].split(reRid);       // Split on white space
    if (aEntry.length > maxWords) {
      maxWords = aEntry.length;
    }
  }
  
  // Now we reorganise the array in order of the entrys with the most number of words first
  for (var i=maxWords; i>0; i--) {
    for (var j=0; j<rid.length; j++) {
      var aEntry = rid[j].split(reRid);       // Split on white space
      if (aEntry.length == i) {
        newRid[newRid.length] = rid[j];
      }
    }
  }
}

function parseAddress(add) {
	var s = '';
	s += 'before:' + add + '\n\n';

	for (var i=0; i<newRid.length; i++) {
		var aRid = newRid[i].split(reRid);    // Match 1 or more white space characters
	
		// ^      = beginning of input
		// $      = end of input
		// |      = or
		// \\s+   = one or more whitespace characters
		// \\b    = word break
		var res = '(^|\\b)';
		
		for (var j=0; j<aRid.length; j++) {
			res += aRid[j];
			if (j < (aRid.length-1)) {
				res += '\\s+';
			}
		}

		res += '($|\\b)';
		var re = new RegExp(res, 'gi');
		add = add.replace(re, '');
		s += res + ' --> ' + add + '\n';
	}
	
	// Remove leading and trailing spaces
	add = add.replace(new RegExp('^\\s+'), '');
	add = add.replace(new RegExp('\\s+$'), '');
	
	return add;
}

function checkAddress(v) {
	var bOK = false;
	
	// Check whether the entered string matches part of the beginning of one of the 'rid' words.
	// If it does then do nothing, as soon as it doesn't then parse the address
	var vU = v.toUpperCase();
	var bFound = false;
	for (var i=0; i<newRid.length; i++) {
		if (newRid[i].indexOf(vU) == 0) {
			bFound = true;
			break;
		}
	}
	
	
	if (!bFound) {
		var vP = parseAddress(v);
		if (vP.length >=3) {
			bOK = true;
		}
	}
	
	return bOK;
}

function openClose() {
	var oc = getNewOrder();
	var newHeight = (getNewOrder()=='order-open') ? 35 : 0;
	$('.filtri div#order').animate({height: newHeight}, 1000, chkOpenClose);
}
function chkOpenClose() {
	var oc = getNewOrder();
	$('.filtri div#order').attr({className: oc});
	var c = $('#oplink').attr('className');
	var newc = (c == 'laquo') ? 'raquo' : 'laquo';
	$('#oplink').attr({className: newc,
					title: (newc=='laquo') ? 'Visualizza i filtri per la ricerca' : 'Nascondi i filtri per la ricerca'});
}
function getNewOrder() {
	var oc = $('.filtri div#order').attr('className');
	return (oc == 'order-open') ? 'order-close' : 'order-open';
}