// Copyright (c) 1996-1997 Athenia Associates.
// http://www.webreference.com/js/
// License is granted if and only if this entire
// copyright notice is included. By Tomer Shiran.

function setCookie (name, value, expires, path, domain, secure) {
	var curCookie = name + "=" + escape(value) + (expires ? "; expires=" + expires : "") +
		(path ? "; path=" + path : "") + (domain ? "; domain=" + domain : "") + (secure ? "secure" : "");
	document.cookie = curCookie;
}

function getCookie (name) {
	var prefix = name + '=';
	var c = document.cookie;
	var nullstring = '';
	var cookieStartIndex = c.indexOf(prefix);
	if (cookieStartIndex == -1)
		return nullstring;
	var cookieEndIndex = c.indexOf(";", cookieStartIndex + prefix.length);
	if (cookieEndIndex == -1)
		cookieEndIndex = c.length;
	return unescape(c.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

function deleteCookie (name, path, domain) {
	if (getCookie(name))
		document.cookie = name + "=" + ((path) ? "; path=" + path : "") +
			((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
}

function fixDate (date) {
	var base = new Date(0);
	var skew = base.getTime();
	if (skew > 0)
		date.setTime(date.getTime() - skew);
}

function rememberMe (f) {
	var now = new Date();
	fixDate(now);
	now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
	now = now.toGMTString();
	if (f.author != undefined)
		setCookie('mtcmtauth', f.author.value, now, '/', '', '');
	if (f.email != undefined)
		setCookie('mtcmtmail', f.email.value, now, '/', '', '');
	if (f.url != undefined)
		setCookie('mtcmthome', f.url.value, now, '/', '', '');
}

function forgetMe (f) {
	deleteCookie('mtcmtmail', '/', '');
	deleteCookie('mtcmthome', '/', '');
	deleteCookie('mtcmtauth', '/', '');
	f.email.value = '';
	f.author.value = '';
	f.url.value = '';
}

function hideDocumentElement(id) {
	var el = document.getElementById(id);
	if (el) el.style.display = 'none';
}

function showDocumentElement(id) {
	var el = document.getElementById(id);
	if (el) el.style.display = 'block';
}

var commenter_name;

function individualArchivesOnLoad(commenter_name) {




	if (document.comments_form) {
		if (document.comments_form.email != undefined &&
			(mtcmtmail = getCookie("mtcmtmail")))
			document.comments_form.email.value = mtcmtmail;
		if (document.comments_form.author != undefined &&
			(mtcmtauth = getCookie("mtcmtauth")))
			document.comments_form.author.value = mtcmtauth;
		if (document.comments_form.url != undefined && 
			(mtcmthome = getCookie("mtcmthome")))
			document.comments_form.url.value = mtcmthome;
		if (mtcmtauth || mtcmthome) {
			document.comments_form.bakecookie.checked = true;
		} else {
			document.comments_form.bakecookie.checked = false;
		}
	}
}

function writeTypeKeyGreeting(commenter_name, entry_id) {

}



/* Blogosfere */

/* Begin TagList */
var TAGS_DATA = "2009|1,abbigliamento sportivo|2,abbronzatura|3,abbuffate|4,abiti bianchi|1,abiti rossi|1,Academy Awards|3,Academy Awards 2009|1,Accarezzami Madre|1,accessori|9,accessori armadio|1,accessori bici|1,acconciatura|1,acne|1,addominali|2,aerobica|1,affaticamento|3,Alberto e Vanessa|2,Alessandra Amoroso|1,Alessandro Feliù|1,Alessandro Rimassa|2,Alessia Piova|1,alimentazione|10,Allen Carr|1,allunghi|1,Ambra Marie|1,American Contourella|1,Ami Patel|1,Amiche Mie|1,Amici|3,amore|2,Amy Winehouse|2,Angelina Jolie|10,anima gemella|1,Anna Prosperi|1,Anna Tatangelo|1,Anne Hathaway|3,ansia|9,Antonella Clerici|6,Antonio Incorvaia|2,api|1,apparato digerente|3,apparato respiratorio|1,Arch. Raffaele Romeo Arena|1,Arisa|1,aromaterapia|3,Art & Ciocc|1,arte|1,Asia Argento|1,auguri|1,autoabbronzanti|1,AVIS|1,backstage|1,bagno|5,ballo|1,Ballo della Rosa|1,bambini|2,Bar Rafaeli|1,Barbara D\'Urso|2,Barbara Guerra|2,Beatrice Borromeo|1,beauty|32,beauty farm|1,Belen e Borriello|1,Belen Rodriguez|6,bellezza|33,bellezza interiore|4,bellezza mediterranea|17,bellezza naturale|1,bellucci|1,Bellucci-Cassel|1,benessere|32,Berlusconi|1,Beyoncé Knowles|1,bicicletta|1,bicicletta da donna|1,Bike Sharing|1,birra|1,bisturi|2,blog|2,blogger|6,blu|1,Bond girl|3,Bonolis|1,Borriello e Petrone|1,borse|3,Braccialini|1,Brad Pitt|7,Brangelina|5,Britney Spears|5,Brooke Shields|1,bruciare grassi|1,brufoli|3,Burberry|1,Burt Bacharach|1,cabina armadio|1,calendari|2,calendario Pirelli|1,calorie|1,cambio armadio|3,Cameron Diaz|1,Camilla Parker Bowles|1,Canale 5|1,Canalis e Clooney|1,candele|2,Cannes 2009|1,capelli|17,Capodanno|4,cappelli|3,Carla Bruni|3,Carlo Capponi|1,Carmela Barbato|1,Carolina Crescentini|1,Carrie Bradshaw|1,Carrie Bradshow|1,carriera|1,casting|1,Catherine Deneuve|1,Catherine Zeta Jones|2,Cecilia Dazzi|1,celebrities|4,celebrities incinta|1,cellulite|12,cene aziendali|1,cerimonie|1,cervicale|2,cervicalgia|2,Chanel|1,Charlize Theron|1,Charlotte Casiraghi|1,chirurgia|3,chirurgia estetica|7,Chris Brown|1,Christian Vieri|1,Cindy Crawford|1,cinema|7,cioccolato|2,Ciro Petrone|1,Claudia Schiffer|1,Clerici vs Isoardi|1,Clooney e Canalis|1,Codice Internet|1,cofanetti natalizi|1,colbacco|1,colesterolo|1,comicoterapia|2,compleanno Eliana Michelazzo|1,Concepts&Contents|1,consigli|30,consigli arredamento|1,coppia|2,corsa|5,Corvaglia e Morgan|2,cosmesi|5,costume da bagno|1,costumi|2,couperose|1,creme|15,creme anticellulite|1,Cristiano Ronaldo|1,Cristina Del Basso|4,cromoterapia|11,Cromoterapia|1,cucina|1,Cupido|1,cyclette|1,Daniela Martani|2,Daniela Pavan|1,danza|1,dark lady|1,Dasha Astafieva|1,David Beckham|2,DeaByDay|1,decotti|6,Demi Moore|2,denti|1,depilazione|2,depressione post partum|1,depurarsi|8,dermatologia|2,Diane Kruger|1,Diego Dalla Palma|6,dieta|14,dieta zona|1,diete|4,difesa personale|1,difetti vip|3,dimagrire|6,divorzi vip|1,dolori articolari|2,donne|7,donne e web|6,Dr Roberto D\'Alessio|1,Drive In|1,Due mamme di troppo|1,duetto Patty Bravo e Morgan|1,EA SPORTS Active Personal Trainer|1,ecologia|2,eleganza|1,Elena Santarelli|2,Elena Sofia Ricci|1,Eliana Michelazzo|1,ELisa|1,Elisa Isoardi|2,Elisabetta Canalis|5,Elisabetta Gregoraci|2,Elisabetta Locatelli|1,Elise Lefort|1,Elle|1,Emanuele Savoia|1,emicrania|1,Eminem|1,energia|4,erboristeria|4,Ermanno Scervino|1,esercizi braccia|1,Essere Valeria|1,estate|16,Ethical Fashion Show|1,Eva Herzigova|2,Eva Kant|2,Eva Mendes|4,eventi|1,evento|5,extreme ironing|1,Fabio Fazio|1,Fabrizio Corona|3,fanghi|2,fantasma Jacko|1,fantasmi|1,fashion|4,Fashion Times|1,Federica GF|1,Federica Nargi|1,Federica Panicucci|1,Federico Mastrostefano|2,felicità|3,femminilità|1,Ferdi e Francesca|1,Ferdi GF|1,Ferdie e Francesca|1,Ferdie GF|1,Fico e Ronaldo|1,fiction|2,Fidenza Village|4,first lady|2,fitness|15,fitoterapia|2,Flavio Briatore|2,flirt|2,flirt estivi|1,foruncoli|1,foto|2,fragranze|1,Francesca Fioretti|1,Francesco Botta|1,fumo|1,fumo passivo|1,funerali Michael Jackson|1,Futuro@lfemminile|1,G8|1,Gabriele Muccino|2,Gabriele Parpiglia|1,geloni|1,Gemma Arterton|2,Generazione Mille Euro|2,gengive|1,George Clooney|2,Gerry e Siria|1,Get FIT|1,GGD|3,ggdmilano6|4,Gialappa\'s|2,Gianluca Zito|1,Gianna Tani|1,Giffoni Film Festival|1,Gigi D\'Alessio|2,gioielli|2,Giorgio Pasotti|1,Giselle Bundchen|1,glamour|1,glutei|2,gossip|9,grande fratello|3,Grande Fratello|6,gravidanza|2,guanti|2,Guillaume Gufon|1,Gwyneth Paltrow|1,hair stylist|1,Hannah Montana|1,Heidi Klum|1,Hello Kitty|1,High Performance|1,Hillary Swank|1,Hoara Borselli|1,home fitness|2,Hugh Hefner|1,Hydra Touch|1,I Cesaroni|1,idee regalo|6,idratazione|4,Ikea|1,Ilaria D\'Amico|2,Ilary Blasi|1,impacchi|1,influenza|2,informazione|1,infusi|4,insonnia|1,intervista|2,interviste|9,intevista|1,inteviste|1,intimo|1,inverno|3,ipertensione|1,Irene Grandi|1,Isola dei Famosi|1,Italia\'s Next Top Model|1,Ivan Olita|1,Ivana Trump|1,Jacko|1,Jacqueline Kennedy|1,James Bond|2,Jay-Z|1,jennifer aniston|1,Jennifer Aniston|4,Jennifer Lopez|2,Jessica Alba|1,Jobbing|1,John Mayer|1,Justine Mattera|1,Karima Ammar|3,Karina Cascella|1,Kate Moss|1,Kate Winslet|2,kick-boxing|1,Kim Basinger|1,Kim Kardashiane|1,Kim Katrall|2,Krav Maga|1,Kristen Stewart|1,L\'Officiel|1,La Fattoria|6,La Fattoria 4|1,La Prova del Cuoco|1,La Spezia|1,La Talpa|2,labbra|7,labbra carnose. labbra sottili|1,Lady D|1,Lady Gaga|1,Laetitia Casta|3,Laetitia Casta-Stefano Accorsi|1,Laura Drzewicka|1,Laura Perego|1,Laura Ribas|1,Leonardo Di Caprio|1,libri|5,light|1,Linda Evangelista|1,Lindsay Lohan|3,Linea Mediterranea|25,lingerie|1,lipoaspirazione|1,live blogging|4,Liz Hurley|1,Lola Ponce|1,look|43,look antiaggressione|1,look Michelle Obama|1,Lory Del Santo|2,Louis Vittuon|1,Luca Tommassini|1,Luca Toni|1,Luciana Littizzetto|1,Luciano Colombo|1,lucidalabbra trattante|1,Lucilla Agosti|1,Luigina Foggetti|1,Luisa Ranieri|1,Madame Tussauds|1,Maddalena Corvaglia|3,Madonna|6,Mai dire Grande Fratello|1,make up|36,make up artist|1,mal di testa|1,malanni di stagione|3,malattie psicosomatiche|1,mamme|5,mani|5,manicure|3,maniluvi|2,Manolo Blahnik|1,Manuela Arcuri|1,maratone|2,Marco Borriello|2,Marco Carta|2,Marco e Vanessa|1,Marco Montemagno|1,mare|1,Margherita Buy|1,Maria Albertacci|1,Maria De Filippi|3,Marianne Puglia|1,Marina La Rosa|1,Marina Ripa di Meana|1,Mario Biondi|1,Mario De Luigi|16,Marta Cecchetto|1,maschere|1,massaggi|4,massaggio|1,mastopessi|1,maternità|1,Matthew Broderick|1,Max|1,meditazione|1,Megan Fox|1,mele|1,Melissa Satta|3,Melita Toniolo|1,Memo Remigi|1,Michael Jackson|2,Michelle Obama|7,Mickey Rourke|1,miele|1,Milano|10,Milano Moda Donna|3,Milano Yoga Festival|1,Milena Miconi|1,Miley Cyrus|1,Milo Coretti|2,Milton Morales|1,Mina|1,minerali|1,Miranda Kerr|1,Mischa Barton|1,Miss Mamma 2009|1,moda|31,moda etica|1,moda mare|1,Monica Bellucci|7,Monica Riva|1,Montecarlo|1,Morgan|2,Moschino|1,mostre|1,movimento|1,Mr Big|3,Mummy Job|2,musica|6,musicoterapia|1,Naomi Campbell|2,Natale|3,natale|10,Natalie Imbruglia|2,Natalie Portman|1,Ne te retourne pas|1,New Moon|1,Nicky Haslam|1,Nicole Kidman|1,nicotina|1,Nikki Reed|1,Nina Moric|3,Noemi Letizia|2,Noemi XFactor|1,Noon|5,nuove terapie|1,Nutriactive Cream|1,Obama|1,occasioni|1,occhi|11,occhiaie|2,Oksana Grigorieva|1,Olga Kurylenko|2,oli essenziali|5,olio|1,olio d\'oliva|4,ombretti|3,Omega 3|1,Orlando Bloom|1,Ornella Bertoldi|1,Oscar 2009|2,paillettes|1,Pamela Compagnucci|2,pancetta|4,pancia|1,Paola Perego|3,Paolo Bonolis|1,Paolo Fossati|3,Paolo l\'idraulico|1,paparazzate|3,Paris Hilton|4,Parma|1,party|2,party esclusivi|1,Pasqua|1,Patch Adams|2,Patty Bravo|1,Patty Pravo|1,pausa pranzo|1,pedana vibrante|1,pediluvio|3,peli superflui|1,pelle|16,pelle grassa|1,personal shopper|1,pettorali|1,phon|1,photoshop|1,piastra|1,piedi|3,Pier Paolo Pizzimbone|1,Pierre Casiraghi|1,Pilates|1,pilates|1,pilates center|1,Pirelli|1,Playboy|1,playmate|1,pois|1,pop|1,post partum|3,Prima di tutto donna|3,prima e dopo|2,primavera|3,prodotti|7,Progetto Pink Running|1,propoli|1,prova costume|5,provini|1,pulizia|1,pulizia del viso|1,punti neri|1,Pylones|1,Quantum Of Solace|2,Raffaella Bergè|1,Raffaella Fico|2,raffreddore|2,Rampage|1,rassodamento seno|1,rassodare|1,reality|7,Reality Circus|1,rec carpet|1,red carpet|10,Reese Whiterspoon|1,regali|2,rehab|1,relax|14,reportage|1,ricci|2,Rihanna|3,risate|2,ristoranti|1,ritenzione idrica|3,ritocco|1,Roberta Tajani|1,RobilantAssociati|1,Robin Williams|2,Rocco Pietrantonio|1,Roger Botti|1,Roma|1,Rosario Dawson|1,Rossano Rubicondi|3,rossetto|4,rossetto protettivo|1,RTV|1,rughe|3,runner|1,running|5,Ryan Reynolds|1,Sabrina Ferrilli|1,Sabrina Impacciatore|1,Sal da Vinci|1,salute|14,Samantha Ronson|1,San Valentino|5,sandali|1,Sandra Bullock|1,Sanremo|11,Sara Maternini|1,Sarah Jessica Parker|7,Sarah Palin|1,Sarkozy-Carla Bruni|1,Satta e Vieri|1,Scarlett Johansson|1,scarpe|6,scarpe running|1,sciarpe|1,scrub|3,sculture|1,sebo|1,Selvaggia Lucarelli|1,seno|3,separazioni|1,serenità|3,Sette Anime|1,Seven Pounds|1,Sex & The City|2,Sex &amp; The City|2,Sex and The City|5,Sex and the City|1,sfilate|2,sguardo|1,shopping|6,shopping on line|1,Silvio Berlusconi|1,Simona Movilia|1,Simona Ventura|6,Simonetta Ravizza|1,single|2,smalti|2,sneakers|1,solari|2,sole|1,sondaggi|2,sondaggio|2,Sophie Marceau|2,Sophie Monk|1,sopracciglia|1,spa|3,spazzola|1,Sperling & Kupfer|1,spiaggia|7,sport|3,spray peperoncino|1,stanchezza|3,Stefania Lillo|1,Stefano Accorsi|1,Stefano Bettarini|1,step|3,stitichezza|1,Stramilanina|1,Stramilano|1,StraSingle|1,stress|15,stupri|1,style|3,suffumigi|1,summer|3,Susan Boyle|1,Susanna Petrone|1,Susanne Fröhlich|1,sushi|1,sushi bar|1,take away|1,tapis roulant|1,televisione|1,Terry Richardson|1,Tilda Swinton|1,tintarella|1,tisane|5,TMZ|1,tonificare|1,topless di Cristina Del Basso|1,trend|6,tributo Michael Jackson|1,Tricarico|1,TRL|1,trucco|9,trucco labbra|2,trucco permanente|1,tutorial|2,Twitter|1,Tyra Banks|1,tè|3,tè verde|1,unghie|3,Uomini e Donne|2,vacanza al mare|1,Valentina Lodovini|1,Valeria Marini|1,Valeriona nazionale|1,Vanessa Ravizza|3,Vanity Fair|1,Vasco Rossi|1,veglione|5,veline|3,verde|1,Verde Pisello|2,Veronica Lario|4,viaggi|1,Victoria Beckham|4,video|39,Vincent Cassel|2,Vincenzo GF|1,viola|2,vip e cellulite|1,vip e droga|1,vip in bikini|2,Virgin Active|2,viso|3,vitamina C|2,vitamine|2,vox populi|2,We Made You|1,Wholegarment|1,Wii|1,Womanizer|1,X-Factor|3,XFactor|3,yoga|7,yoga face|1,YogaPorteAperte|1,Yoox|1,Zelig|1,zeppe|1,zumba|1".split(',');
for (var i=0; i<TAGS_DATA.length; i++) TAGS_DATA[i] = TAGS_DATA[i].split('|');

function min(a, b) {
	return a < b ? a : b;
}

function fill_taglist(limit_par, sort_by) {
	if (!document.getElementById) return;
	
	var list = document.getElementById('taglist');
	list.innerHTML = '';
	
	var TAG_NUMBER = TAGS_DATA.length;
	
	if ((TAG_NUMBER == 0) || ((TAG_NUMBER == 1) && (TAGS_DATA[0] == ''))) {
		document.getElementById('tagheader').style.display = 'None';
		return;
	}
	
	if (sort_by == 'alpha') {
		var sort_func = function (a, b) {
			return (a[0].toLowerCase() < b[0].toLowerCase()) ? -1 : 1;
		}
	} else if (sort_by == 'post') {
		var sort_func = function (a, b) {
			var compared = b[1] - a[1];

			if (compared)
				return compared;
			else
				return (a[0].toLowerCase() < b[0].toLowerCase()) ? -1 : 1;
		}
	} else {
		alert('Wrong sort_by value');
		return;
	}

	TAGS_DATA.sort(sort_func);
	
	var limit = (limit_par <= 0) ? TAG_NUMBER : min(limit_par, TAG_NUMBER);
	
	for(var i=0; i<limit; i++) {
		var curData = TAGS_DATA[i];
		
		var newLink = document.createElement('a');
		newLink.appendChild(document.createTextNode(curData[0] + ' (' + curData[1] + ')'));
		newLink.setAttribute('href', '/tag/' + curData[0]);
		
		var newNode = document.createElement('li');
		newNode.appendChild(newLink);
		list.appendChild(newNode);
	}
	
	if (TAG_NUMBER>1) {
		var newNode = document.createElement('li');
		var alpha_link = (sort_by=='alpha') ? '<strong><u><span title="Ordina alfabeticamente">A-Z</span></u></strong>' : '<a title="Ordina alfabeticamente" href="javascript:fill_taglist(' + limit_par + ', \'alpha\');">A-Z</a>';
		var post_link = (sort_by=='post') ? '<strong><u><span title="Ordina per numero di post"># post</span></u></strong>' : '<a title="Ordina per numero di post" href="javascript:fill_taglist(' + limit_par + ', \'post\');"># post</a>';
		
		newNode.innerHTML = '<br /><em>Ordina:</em> ' + alpha_link + ' | ' + post_link;
		list.appendChild(newNode);
	}
	
	if (limit<TAG_NUMBER) {
		var newLink = document.createElement('a');
		var newStrong = document.createElement('em');
		newStrong.appendChild(document.createTextNode('Altri tag >'));
		
		newLink.appendChild(newStrong);
		newLink.setAttribute('href', '#tagheader');
		newLink.onclick = function () {fill_taglist(0, sort_by);};
		
		var newNode = document.createElement('li');
		newNode.appendChild(newLink);
		list.appendChild(newNode);
	} else if (limit==TAG_NUMBER && TAG_NUMBER>limit_par) {
		var newLink = document.createElement('a');
		var newStrong = document.createElement('em');
		newStrong.appendChild(document.createTextNode('< Nascondi tag'));
		
		newLink.appendChild(newStrong);
		newLink.setAttribute('href', '#tagheader');
		newLink.onclick = function () {fill_taglist(15, sort_by);};
		
		var newNode = document.createElement('li');
		newNode.appendChild(newLink);
		list.appendChild(newNode);
	}
}
/* End TagList */

function final_js() {
	make_popup_images();
}

/* AD functions */
var ADS_468X60_COUNT = 0;

function write_ads(size, container_class) {
	return false;
}
/* End AD functions */

/* AD functions */
function GetBlogCategory() {
	var category_box = document.getElementById('blog_category');

	if (category_box) return category_box.innerHTML;
	else return 'INVALID';
}

function GetBlogName() {
	// If the domain is something.domain.com, this function returns something :)
	var domain = window.location.host;
	return domain.substring(0, domain.indexOf('.'));
}

function GetBlogArea() {
	var re_index = new RegExp(/^\/(index\.html)?$/i);
	var re_monthly = new RegExp(/^\/\d\d\d\d\/\d\d\/(index\.html)?(\d+\.html)?$/i);
	var re_individual = new RegExp(/^\/\d\d\d\d\/\d\d\/.+/i);
	var re_search = new RegExp(/^(\/network)?\/cerca\/.*/i);
	var re_tag = new RegExp(/^(\/network)?\/tag\/.*/i);
	var re_various = new RegExp(/^\/(about|privacy|404)\.html$/i);
	var re_category = new RegExp(/^\/[\w\d_-]+\/(index\.html)?(\d+\.html)?$/i);
	
	var doc_pathname = document.location.pathname;

	if (re_index.exec(doc_pathname) != null) return 'HP';
	if (re_monthly.exec(doc_pathname) != null) return 'MONTHLY';
	if (re_individual.exec(doc_pathname) != null) return 'INDIVIDUAL';
	if (re_search.exec(doc_pathname) != null) return 'SEARCH';
	if ((re_various.exec(doc_pathname) != null) || (re_tag.exec(doc_pathname) != null)) return 'VARIOUS';
	if (re_category.exec(doc_pathname) != null) return 'CATEGORY';
	
	return 'UNKNOWN';
}

var pageNum = Math.round(Math.random() * 100000000);
var adserver = "http://blogfere.adbureau.net";

var RE_ADS_POSITION = new RegExp(/(^| )position_([\w\d]+)( |$)/);
var RE_ADS_SIZE = new RegExp(/(^| )size_([\w\d]+)( |$)/);
var RE_GOOD_KEYWORD = /^[\w\xe0\xe8\xe9\xec\xf2\xf9]+$/;

function get_ads_position(classes) {
	var position_match = RE_ADS_POSITION.exec(classes);
	return position_match ? position_match[2] : '';
}

function get_ads_size(classes) {
	var size_match = RE_ADS_SIZE.exec(classes);
	return size_match ? size_match[2] : '';
}

function get_keywords() {
	/* Gets all elements with class 'entry', then search in them all <a> tags with rel='tag' and rel="category" and
	store the innerHTML value in an hash, in order to avoid duplicates. The hash is converted into an
	array, and returned back to the caller */

	var entries = document.getElementsByClassName('entry'), keywords = new Object(), results = new Array(), keywords_tmp;

	split_and_save_kw = function (kw) {
		var keywords_tmp = kw.toLowerCase().replace(/[\/\\'_]/g, ' ').replace(/[\|!"�$%&()='?^+*@#,;.:\-]/g, '').split(' ');

		for (var k=0; k<keywords_tmp.length; k++) if (RE_GOOD_KEYWORD.test(keywords_tmp[k])) keywords[keywords_tmp[k]] = null;
	}

	for (var i=0; i<entries.length; i++) {
		var tag_links = entries[i].getElementsByTagName('a');

		var individual_title = entries[i].getElementsByTagName('h1');
		if (individual_title.length) split_and_save_kw(individual_title[0].innerHTML);

		for (var j=0; j<tag_links.length; j++) {
			if (tag_links[j].rel == 'tag' || tag_links[j].rel == 'category' || tag_links[j].rel == 'bookmark') {
				split_and_save_kw(tag_links[j].innerHTML);
			}
		}
	}

	for (var kw in keywords) results[results.length] = kw;

	return results;
}

/*
function add_publiblog() {
	var entries = document.getElementsByClassName('entry');

	if (entries.length >= 2 && document.getElementsByClassName('publiblog_taken').length == 0) {
		var publiblog = document.createElement('div');
		
		insertAfter(entries[1].parentNode, publiblog, entries[1]);
		publiblog.setAttribute('class', 'adbox position_PUBLIBLOG size_468x60 publiblog_taken');
	}
}
*/

function manage_future_adboxes(max_adboxes) {
	/* Finds all boxes with 'future_adbox' class, and turn
	first max_adboxes' classes in 'adbox'; the others are hidden
	with the 'invisible' class */

	var elements = document.getElementsByClassName('future_adbox');
	var new_class = '', classes = '';

	for (var i=0; i<elements.length; i++) {
		new_classes = classes = elements[i].className;

		if (i < max_adboxes) {
			new_classes = classes.replace('future_adbox', 'adbox');
			var position = get_ads_position(new_classes);

			if (position) new_classes = new_classes.replace('position_' + position, 'position_' + position + '_' + i);
		} else {
			if (classes.indexOf('invisible') == -1) new_classes += ' invisible';
		}

		elements[i].className = new_classes;
	}
}

function render_ad(divName, aambTag) {
	var invObj = 'INV' + divName;

	try {
		var code = eval(aambTag);
	} catch(aamErr) { }

	if (typeof(code) != 'undefined' && code.right(96) != '<img src="http://blogfere-images.adbureau.net/blogfere/accipiter/images/AE0.gif" border="0"></a>') {
		if(navigator.userAgent.indexOf('MSIE') > -1) {
			code = code.replace('getADSColor()', '"' + getADSColor() + '"');
			document.getElementById(divName).innerHTML += '<div id="TMP' + divName + '" style="display:none">' + escape('<body><div id="adDiv">' + code + '</div>') + '</div><iframe name="' + invObj + '" width="0" height="0" frameborder="0" onload="javascript:try { document.getElementById(\'' + divName + '\').insertAdjacentElement(\'beforeEnd\', window.frames[\'' + invObj + '\'].document.getElementById(\'adDiv\')) } catch(aamErr) { }"></iframe>';
			window.frames[invObj].document.location = 'javascript:unescape(parent.document.getElementById(\'TMP' + divName + '\').innerHTML)';
		} else {
			document.writeln('<div id="' + invObj + '" style="display:none">' + code + '<script type="text/javascript" defer="true">document.getElementById(\'' + divName + '\').innerHTML = document.getElementById(\'' + invObj + '\').innerHTML;document.getElementById(\'' + invObj + '\').innerHTML = \'\';</scr' + 'ipt></div>');
		}
	}
}

function fill_ads() {
// 	add_publiblog();
// 	check_empty_ads();
// 	if (navigator.userAgent.indexOf('MSIE') == -1) make_popup_images();
	make_popup_images();
	manage_future_adboxes(2);
	
	var elements = document.getElementsByClassName('adbox');

	if (elements.length == 0) return 0;

	var ad_request = '', position = '', size = '';
	var keywords = [];	// get_keywords();
	
	var blog_name = GetBlogName().toUpperCase();
	var blog_area = GetBlogArea();
	var blog_category = GetBlogCategory();

	for (var i=0; i<elements.length; i++) {
		var classes = elements[i].className;
		if (elements[i].id == '') elements[i].id = 'AAMB_adbox_' + i;
		var boxid = elements[i].id;

		position = get_ads_position(classes);
		size = get_ads_size(classes);

		ad_request += '/' + boxid +
			'/SITE=' + blog_name + 
			'/AREA=' + blog_area + 
			'/CATEGORIA=' + blog_category + 
			'/AAMSZ=' + size + 
			(position.length ? '/POSITION=' + position : '');
	}

	var random = Math.round(Math.random() * 100000000);
	var ad_request = adserver + '/bservers/AAMALL/acc_random=' + random + '/pageid=' + pageNum + (keywords.length ? '/KEYWORD=' + keywords.join(' ').replace(/ /g, '%20') : '') + ad_request;
	document.write('<script type="text/javascript" src="' + ad_request + '"></script>');

	// Returns the number of adboxes
	return elements.length;
}

function show_ads() {
	for (var i=0; i<adbox_count; i++) {
		var boxid = 'AAMB_adbox_' + i;
		render_ad(boxid, boxid);
	}
}
/* End AD functions */

/* Begin Sole24Ore */
domain_name = function () {
	return 'bellezzamediterranea';
}

// OAS_sitepage = 'blogosfere.it/08/contatore';
OAS_sitepage = 'blogosfere.it/' + domain_name();
OAS_listpos = 'Top,Top1,SkyScraper,PubliBlog,HalfPage,VideoBox,VideoBox_2,VideoBox_3,VideoBox_4';
// OAS_listpos = 'Top,Top1,SkyScraper,HalfPage,VideoBox,VideoBox_2,VideoBox_3';
OAS_query = '';

OAS_req = OAS_sitepage + '/1' + OAS_rns + '@' + OAS_listpos;

OAS_publiblog_count = 0;

/* Begin Publiblog, VideoBox_2, VideoBox_3 */
function hide_ads_container() {
	var ads_id = 'ads_' + get_random(1000);
	
	document.write('<div id="' + ads_id + '"><scr' + 'ipt type="text/javascript">document.getElementById("' + ads_id + '").parentNode.className = "invisible";</scr' + 'ipt></div>');
}

var ADS_post_count = 0;

function write_post_ads() {
	ADS_post_count++;
	
	switch (ADS_post_count) {
		case 2:
// 			document.write('<div class="adv_container_1"><scr' + 'ipt type="text/javascript">OAS_RICH("PubliBlog");</scr' + 'ipt></div>');
			document.write('<div class="adv_container_1"><div style="text-align: center; font-size: 10px; border-bottom: 1px solid gray; margin-left: 10px;">Pubblicit&agrave;</div><scr' + 'ipt type="text/javascript">OAS_RICH("PubliBlog");</scr' + 'ipt><div style="text-align: center; font-size: 10px; border-top: 1px solid gray; margin-left: 10px; margin-bottom: 10px;">Pubblicit&agrave;</div></div>');
			break;
		case 4:
			document.write('<div class="adv_container_1"><scr' + 'ipt type="text/javascript">OAS_RICH("VideoBox_2");</scr' + 'ipt></div>');
			break;
		case 6:
			document.write('<div class="adv_container_1"><scr' + 'ipt type="text/javascript">OAS_RICH("VideoBox_3");</scr' + 'ipt></div>');
			break;
	}
}
/* End Publiblog, VideoBox_2, VideoBox_3 */

function OAS_RICH(pos) {
	document.write('<A HREF="' + OAS_url + '1c/' + OAS_req + '!' + pos + OAS_query + '" TARGET="_top" >');
	document.write('<IMG SRC="' + OAS_url + '1/' + OAS_req + '!' + pos + OAS_query + '" BORDER="0" /></A>');
}

// The following lines will override the  OAS_RICH function using the Open AdStream MJX call.
if (navigator.userAgent.indexOf('Mozilla/3') == -1) {
	document.write('<SC' + 'RIPT LANGUAGE=JavaScript SRC="' + OAS_url + '4/' + OAS_req + OAS_query + '"></SCRIPT>');
};

function dynbox(wbds_size, wbds_position) {
	if (wbds_size=='TEXTBOX') {
		write_post_ads();
		return;
	}
	
	var OAS_pos = '';
	
	if (wbds_size=='728X90') {
		OAS_pos = 'Top';
	} else if (wbds_size=='300X250') {
		OAS_pos = 'VideoBox';
	} else if (wbds_size=='120x600') {
		OAS_pos = 'SkyScraper';
	} else {
		return;
	}

	OAS_RICH(OAS_pos);
}
/* End Sole24Ore */

/* Begin Announcements */
var ANNOUNCEMENTS = new Array (
	'<big><strong>Sei di Milano?</strong></big> Vuoi collaborare con <strong><a target="_blank" href="http://milano.blogosfere.it/">Milano 2.0</a></strong>?<br/>Vuoi scrivere della tua citt&agrave;? Manda il tuo cv a <strong><a href="mailto:bloggers@blogosfere.it">bloggers@blogosfere.it</a></strong>',
	'Ti piace scrivere e sei appassionato di multimedia? Conosci tutti i trend della Rete in fatto di Community? Stiamo cercando nuovi blogger per la nostra divisione <em>Blogosfere Business Unit</em>: invia il tuo cv a <a href="mailto:bloggers@blogosfere.it">bloggers@blogosfere.it</a>'
);

function get_random(upper) {
    return Math.floor(Math.random() * upper);
}

function write_topper(topper) {
	return;	// Added on 2008-03-27
}

function write_announcement() {
	return false;

	if (ANNOUNCEMENTS.length == 0) return;

	document.write('<div class="ann">' + ANNOUNCEMENTS[get_random(ANNOUNCEMENTS.length)] + '</div>');
}
/* End Announcements */

/* Begin Comments helpers */
var DAYS_TIMESTAMPS = new Array('Oggi', 'Ieri', '2 giorni fa', '3 giorni fa', '4 giorni fa', '5 giorni fa', '6 giorni fa');
var ONE_DAY = 86400000;

function strtotime(timestamp) {
	// Accepted format: yyyy-mm-dd hh:mm
	var a = timestamp.substring(0, 10).split('-');
	var b = timestamp.substring(11, 16).split(':');

	return new Date(parseInt(a[0], 10), parseInt(a[1], 10)-1, parseInt(a[2], 10), parseInt(b[0], 10), parseInt(b[1], 10), 0);
}

function pad_time(n) {
	return (n < 10) ? '0' + n : '' + n;
}

function setCommentTimestamp(comment) {
	var timestamps = comment.getElementsByTagName('span');
	if (!timestamps) return true;
	var timestamp = (timestamps) ? strtotime(timestamps[0].title) : '';

	if (timestamp) {
		var now = new Date();
		var comment_hour = timestamp.getHours();
		var comment_minute = timestamp.getMinutes();

		now.setHours(comment_hour);
		now.setMinutes(comment_minute);
		now.setSeconds(0);

		var time_diff = (now - timestamp);
		
		if (time_diff < ONE_DAY*7) {
			timestamps[0].innerHTML = DAYS_TIMESTAMPS[parseInt(time_diff / ONE_DAY)] + ', ore ' + pad_time(comment_hour) + ':' + pad_time(comment_minute);
			return true;
		}
	}

	return false;
}

function mark_author_comments() {
	/*
		Each comment is
		<div class="comment" id="comment-COMMENT_ID">
			<div class="entryTop">
				<h3><a href="#comment-COMMENT_ID">COMMENT_NUM</a>. <a href="COMMENTER_URL">COMMENTER_NAME</a></h3>
			</div>
			[...]
		</div>
	*/
	var comments = $('comments').getElementsByClassName('comment');
	var current_domain = 'http://' + window.location.host;
	var CUR_DOMAIN_LENGTH = current_domain.length;
	var continue_format_timestamp = true;
	var h3s, h3_links;

	for (var i=comments.length-1; i>=0; i--) {
		h3s = comments[i].getElementsByTagName('h3');

		if (continue_format_timestamp)
			continue_format_timestamp = setCommentTimestamp(h3s[0]);
		
		h3_links = h3s[0].getElementsByTagName('a');

		if (h3_links.length > 1) {
			if (current_domain == h3_links[1].href.toLowerCase().substring(0, CUR_DOMAIN_LENGTH)) {
				comments[i].className += ' comment-author';
			}
		}
	}
}

function block_comments() {
	document.getElementById('comments-wait-msg').style.display = 'block';
	document.getElementById('comment-post').disabled = true;
	return true;
}

function enable_comments_form() {
	if (get_random(2) == 0)
		document.comments_form.action = 'http://blog.blogosfere' + '.it/mte/mt-comments-0.cgi';
	else
		document.comments_form.action = 'http://blogosfere03.blogosfere' + '.it/mte/mt-comments-0.cgi';
}

function start_wysiwyg_editor_0() {
	tinyMCE_GZ.init({
		mode : "textareas",
		theme : "advanced",
		language : "it",
		plugins : "",
		theme_advanced_buttons1 : "link,unlink,separator,bold,italic,underline,separator,bullist,numlist,separator,undo,redo,separator",
		theme_advanced_buttons2 : "",
		theme_advanced_buttons3 : "",
		theme_advanced_toolbar_location : "top",
		theme_advanced_path_location : "bottom",
		theme_advanced_resizing : true,
		theme_advanced_resize_horizontal : false,
		safari_warning: false,
		content_css : "http://shared.blogosfere.it/css/tinymce.css"
	});
}

function start_wysiwyg_editor_1() {
	tinyMCE.init({
		mode : "textareas",
		theme : "advanced",
		language : "it",
		plugins : "",
		theme_advanced_buttons1 : "link,unlink,separator,bold,italic,underline,separator,bullist,numlist,separator,undo,redo,separator",
		theme_advanced_buttons2 : "",
		theme_advanced_buttons3 : "",
		theme_advanced_toolbar_location : "top",
		theme_advanced_path_location : "bottom",
		theme_advanced_resizing : true,
		theme_advanced_resize_horizontal : false,
		safari_warning: false,
		content_css : "http://shared.blogosfere.it/css/tinymce.css"
	});
}
/* End Comments helpers */

function search_posts(source, keywords) {
	var url = '/mtview.php';
	var pars = '?path=/fastsearch_xml&query=' + keywords;

	var myAjax = new Ajax.Request(
		url,
		{
			method: 'get',
			parameters: pars,
			onSuccess: function (originalRequest) {finalize_search(source, keywords, originalRequest);}
		}
	);
}