// 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 = "33 stradale|1,42 avenue des Champs-Élysées|1,43° Rally Catalunya|1,500|10,500 Work Pop|1,5100|1,6 marce|1,916 Racing Fogarty (1995)|1,A4|1,A4 2.0 TDIe Concept|1,Abarth|12,Abdollah Zoghi|1,Accessori|22,accessori|2,Alcantara S.p.A.|1,AlcantaraLAB|1,alcol|1,Alessandra Neri|1,alessandro del piero|1,Alessia Belometti|2,Alfa 8C competizione|1,Alfa Romeo|27,Alfa Romeo Spider|1,Alfa Spider|1,Alfabet|1,allergia|1,Alpine|1,ambiente|2,ammortizzatori|1,Andrea Pininfarina|1,Antifurto|2,Apple|1,argentina|1,arte|2,Aspo Italia|1,assicurazione|1,asta|1,Aston Martin|9,audi|6,Audi|26,Audi A4|1,Audio|1,Auris|1,Australia|1,auto|17,Auto cinesi|1,Auto e Moto d\'Epoca|1,auto elettrica|1,auto storiche|1,Autogrill|1,autolivellatore Nivomat|1,automatico|1,autoradio|2,autostrade|1,Autovelox|4,avenue|1,Bentley|1,benzina|2,benzina verde|1,Bernie Ecclestone|3,Bertone|3,biennale di venezia|1,bio|1,biodiesel|2,Bioetanolo|1,Blocco del traffico|1,Blog|2,blog|22,Blog Driver Day|1,blogosfera|7,blogosfere|1,blue&amp;me|1,blue&me|1,Bluetooth|1,Bmw|30,BMW|12,bmw|2,BMW Concept CS|1,BMW H2R|1,BMW Serie 1|1,Bologna|1,Borsa|1,Bosch|3,Bravo|19,Brembo|1,Bridgestone|1,Britney Spears|2,brochure|1,Bruno Senna|1,bryan adams|1,Bugatti|3,Buick|1,business|1,Business|7,Buy & Drive Show|1,Byd|1,C-Design: Combine|1,C1 Citroën|1,C1 Deejay|1,c42|1,cafè|1,Calcio|1,camaro|1,cambi automatizzati|1,cambio|2,cane|1,car sharing|1,car sitting|1,carburanti|4,Carburanti|55,carbutrante|1,Carlo Bach|1,Casio|1,Catalina Estrada|1,Cayenne|1,Cellulare|1,Cellulari|1,Cemre Mirel|1,Centauro|1,Cerchi|3,Champions League|1,Chery|1,chevrolet|1,Chevrolet|12,Chrysler|21,Cina|17,cinema|3,Cinema Festa Internazionale di Roma|1,cioccolato|1,Citro|1,citroen|2,Citroen C3|1,Citronette|1,Citroën|21,Citroën C4 WRC|1,Citroën Drain|1,Citroën Sledge|1,Civic|1,Clay Regazzoni|1,co2|2,CO2|1,Colin McRae|1,compleanno|1,comunicato|3,concept car|1,Concept car|11,concorso|1,conferenza stampa|1,Connect|1,consumi|1,copriauto|1,Corsa|2,Costa Smeralda|1,Crash test|24,Create|1,Crisi del Governo Prodi|1,cruscotto|1,curiosità|1,Curiosità|92,Dacia|4,DaConnect|1,Daihatsu|3,Daimler|2,Dakar|1,Dani Sordo/Marc Martí|1,Danica Patrick|4,David Coulthard|1,De Meo|2,DEKRA|1,design|3,detroit|2,diesel|2,Diesel|2,digital art|1,direct line|1,Discussioni|36,dodge|1,Dodge|4,Donne|25,DR|12,Ducati|1,Ducati 125 Gran Sport - Marianna (1955)|1,Ducati 125 Trialbero - Barcone (1956)|1,Durashift 6-Tronic|1,Easy Access|1,ebay|1,Ecclestone|1,eco drive|1,ecocompatibile|1,EcoDrive|1,Ecoincentivi|1,ecologia|2,Economia|1,Emilio Ponticiello|1,emissioni|1,Eos|1,errore|1,estate|1,Euro 0|1,Euro 1|1,Euro 2|1,Euro 3|2,Euro 4|4,Euro 5|4,Euro 6|3,euro4|1,euro5|1,EuroCarBody 2007|1,Europ Assistance|1,Europa|1,eventi|4,evento|1,F1|2,fashion|2,Felipe Massa|11,fender stratocaster|1,Fernando Alonso|16,Ferrari|71,Ferrari Classiche|1,Ferrrari|1,festa del cinema di roma|1,FIA|8,FIABADAY 2007|1,fiat|26,Fiat|171,fiat 500|4,Fiat 500|30,Fiat 500 Pop Up Store|1,Fiat Bravo|2,Fiat Linea|1,fiera|1,Fiera di Padova|1,filtri|1,Filtro antiparticolato|2,Finanziaria|2,Firenze|1,Fisichella|1,Flavio Briatore|1,Flower Council of Holland|1,Fondazione Mudima|1,Ford|24,ford|4,Ford Ka|1,Ford Mondeo|2,ford mondeo|1,Fordsync|1,Formula Uno|10,foto|9,Francesco Costacurta|1,Francoforte 2009|1,Fredrikson Stellard|1,Fuji|1,Fuorisalone|3,Gadget|1,Garmin|1,Gas|16,Gazzetta dello Sport|1,General Motors|37,genertel|1,Giada Michetti|1,Gian Primo Quagliano|1,Gianni Morbidelli|1,Giappone|1,Giorgio Napolitano|1,giornali|1,giovani|1,Giovanni Baule|1,GLK|1,Golf|1,gomme|1,Goodyear|1,Goodyear Eagle F1 Asymmetric|1,Google|2,Google Car|1,Google Maps|1,gossip|1,GP Brasile|5,GP Cina|3,GP Francia|1,GP Giappone|3,GP Gran Bretagna|1,GP Monaco|1,GP Montecarlo|1,GP Spagna|1,GP Ungheria|1,GP2|1,Grande Punto|2,grande punto abarth|1,Granturismo|1,Greenpeace|1,Guida all\'acquisto|98,Guzzini|1,Hakaze|1,Hamilton|4,Heikki Kovalainen|1,Honda|20,hotel|1,Hummer|2,Hydrogen 7 BMW|1,Hyundai|8,I Colori del Design|1,idea|1,Idea|2,il profilo del futuro|1,incidenti stradali|3,Indovinello|3,Indy|2,Infiniti|2,informazione|1,Interlagos|2,Internet|9,internet|12,Interni|5,interni|1,intervista|1,interviste|2,ipod|1,Iran|1,Istanbul|1,Isuzu|2,Italia|1,Italia Independent|1,Jaguar|9,Jaguar XF|1,Jean Todt|1,Jeep|2,Julian Schnabel|1,Juventus|1,juventus|1,Karim Rashid|1,Kenwood|1,Kia|12,Kimi Raikkonen|15,Koenigsegg|1,Lada|1,Lamborghini|10,Lamborghini Estoque|1,Lamborghini Super Gallardo|1,Lancia|9,lancia|1,Land Rover|4,Landi|1,leon|1,Lewis Hamilton|22,Lexus|5,Liberalizzazioni|1,libro|1,Life Ball|1,lifestyle|2,Liverpool|1,Logan|1,Lotus|2,Luca Cordero di Montezemolo|1,macchina del tempo|1,Maggiolino|1,Magna|10,Magny Cours|1,Mahindra|1,MAK|2,Marchionne|3,Marco Angrisani|1,Mark Webber|1,maserati|1,Maserati|5,Maserati Gran Turismo|1,Massa|9,Max Mosley|1,Mazda|9,McLaren|28,meet|1,meeting|1,Melges 24 Alfa Spider|1,Mercedes|26,Mercedes Benz|1,Mercedes-Benz|1,mercedes-benz|1,Messenger|1,Michael Moore|1,microsoft|2,Microsoft|2,Mike Coughlan|1,Milan|1,milano|2,Milano|3,Milano 2.0|1,Milano Design Week|3,milano design week|1,Mille Miglia|1,Mini|20,mini|6,Mini Alcantara|1,Mini Bags|1,mini clubman|2,Mini Cooper Clubman|1,mini design award 2008|1,mini lounge|1,Mio Technology|6,Mitsubishi|5,moda|2,Moreno Gentili|1,mostra|4,Motegi|1,Motor Show|3,Motor Show 2007|13,Motor Show di Bologna 2008|11,motore elettrico|5,motori|15,mp3|1,MSN|2,multe|1,Multivan|1,Muriel Prandato|1,museo del design|1,musica|3,My Special Car Show|3,My Special Car Show 2008|8,myday myday|1,Nagare|1,Naomi Campbell|1,Nardelli|1,Natale|1,natale|4,navigatore|1,Navigatori|13,Navigatori satellitari|12,navigon|1,neopatentati|1,New Twingo|1,news|4,News of the World|1,nexplora|1,Nick Heidfeld|1,Nicola Giorgi|1,Nicolas Sarkozy|1,Nigel Stepney|3,Nissan|26,Nissan Qashqai|1,nitro|1,Noleggio|1,novità|4,novità anteprima|1,nuoa fiat 500|1,nuova a4 3.0 Tdi|1,nuova audi A4|1,Obama|5,Octavia Wagon|1,Ognyan Bozhilov|1,Olafur Eliasson|1,Olanda|1,Olga Kurylenko|1,Olimpiadi|1,oliviero toscani|1,onevision|1,online|2,Opel|36,optional|1,Ora legale|1,Orio|1,Ostia|1,Pagani|1,Panda|1,parcheggiare|1,parigi|1,Paris Hilton|3,Parrot|1,Particolari|4,Partita del Cuore|1,Passat|1,Passat Variant|1,patente|3,pdf|3,Pechino 2008|1,Peter Greenaway|1,Petrolio|22,petrolio|2,Peugeot|18,Peugeot 308|1,Phoenix|1,Photored|1,Pininfarina|3,Pitti Uomo|2,pittura|1,politica|1,Porsche|13,Porto Cervo|1,posteggio|1,prezzo|1,Promotor International|1,Promozioni|1,Proton|1,Prove|7,Prove degli accessori|1,Prove dei navigatori|12,Pubblicità|7,pubblicità|6,q7|1,Quanteruote|1,quattroporte|1,Quellichebravo|1,racing|2,Raduni|2,raduno|1,ragazze|1,Raikkonen|9,Rally|2,range rover|1,RAV4|1,ravenna|1,Rca|1,Red Bull|1,Regno Unito|1,Renault|35,Rent Mobility|1,retrofit elettrico|2,ricky tognazzi|1,Robert Kubica|1,rock|1,Roger Smith|1,ROJO|1,ROJO fortwo|1,Roland Kaufmann|1,Roma|3,Ron Dennis|7,Rossignolo|1,Ruote|3,Saab|4,Saipa|1,salone del mobile|2,Salone del Mobile|1,Salone del Mobile 2008|1,Salone di Detroit|2,Salone di Detroit 2008|2,salone di francoforte 2007|4,Salone di Ginevra|5,Salone di Ginevra 2008|11,Salone di Ginevra 2009|10,Salone di New York|1,Saloni 2008|1,Samand|1,San Francisco Museum of Modern Art (SFMOMA)|1,San Valentino|1,San Valentino 2007|1,Schumacher|4,seat|1,Seat|11,Seat Altea Freetrack|1,seat crossing|1,Sebastian Vettel|2,Second Life|2,Seggiolini|1,Sergio Marchionne|1,sergio marchionne|2,Sessa Marine|1,Settimana del Design di Milano|2,sexy|3,Shanghai|1,sicurezza|2,Sicurezza|30,Sicurezza stradale|23,simulatore|1,sistema CDC|1,Skoda|3,Skoda Fabia Combi|1,SlubbTv|1,Smart|12,Smog|49,social network|1,società|1,solidarietà|1,Sondaggi|4,sondaggio|1,sponsor|2,sport|2,Sports Illustrated|1,spot|4,Spyker|1,SsangYong|1,Ssangyong|1,stampa|2,Stati Uniti|2,Stefano Domenicali|1,Stefano Stravato|1,sterzo attivo|1,store|1,style|1,Subaru|3,superstars|1,Suv|6,Suzuki|5,Sébastien Loeb/Daniel Elena|1,Tamara Ecclestone|1,Tata|17,tecnologia|1,televisione|1,telo|1,Tesla|5,Tesla Roadster|1,The Sun|1,Timbuktu|1,Todt|2,TomTom|7,Torino|3,Toro Rosso|1,Touareg|1,Toyota|48,triennale|2,triennale design museum|1,Trinità dei Monti|1,Tuning|16,Turchia|1,Turpial|1,Tv|1,tv|1,Twingo|1,ucati 65 SPORT(1952)|1,Ugo La Pietra|1,Ulrich Bez|1,Unione Europea|1,up!|1,up! Design Sustainability|1,usb box|1,vacanze|2,Valentina Gioia|1,Valentino Rossi|3,Valerio Stramaccioni|1,Vallelunga|1,Velocità|3,Venezuela|1,Venirauto|1,Vettel|1,Veyron 16.4|1,video|16,Video|47,video hard|1,Volkswagen|39,Volkswagen Mobility|1,Volvo|11,Volvo V70|1,Voyager|1,VW Tiguan|1,web|7,web 2.0|1,Web 2.0|3,Wikipedia|1,Yamaha|1,Yokohama|2,Your mobile expectations: BMW H2R project|1,Your tempo: Olafur Eliasson|1,YouTube|6,Ypsilon Sport Momo Design|1,Zandvoort|1,zf|1,Zona Tortona 2008|1,zona tortona design|1,ZonaTortona Design 2008|1,ç-parè|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) {
	var ads_code = '';
	
	if (size == '468x60') {
		ADS_468X60_COUNT++;
		
		if (ADS_468X60_COUNT > 2) return;
		
		ads_code += '<scr' + 'ipt type="text/javascript">\n';

		ads_code += 'google_ad_client = "pub-6724866249224006";\n';
		ads_code += 'google_ad_slot = "4813734981";\n';
		ads_code += 'google_ad_width = 468;\n';
		ads_code += 'google_ad_height = 60;\n';

		ads_code += 'var gads_color = getADSColor();\n';
		ads_code += 'google_color_link = gads_color;\n';
		ads_code += 'google_color_url = gads_color;\n';

		ads_code += '</scr' + 'ipt>\n<scr' + 'ipt type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></scr' + 'ipt>';
	}
	
	if (typeof(container_class) == 'undefined') container_class = '';

	if (ads_code != '' && container_class != '')
		ads_code = '<div class="' + container_class + '">' + ads_code + '</div>';
	
	document.write(ads_code);
}
/* 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 */
// OAS_sitepage = 'blogosfere.it/08/contatore';
OAS_sitepage = 'blogosfere.it/' + domain_name();
OAS_listpos = 'Top,SkyScraper,PubliBlog,HalfPage,VideoBox,VideoBox_2,VideoBox_3,VideoBox_4,BackGround,TextBox_01,TextBox_02,TextBox_03,TextBox_04';
// 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 */
// 	'<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>',

var ANNOUNCEMENTS = new Array (
	'Vuoi scrivere della tua esperienza di mamma?<br />Scrivici a <a href="mailto:bloggers@blogosfere.it">bloggers@blogosfere.it</a>',
	'Design ed arredamento sono la tua passione?<br />Scrivici a <a href="mailto:bloggers@blogosfere.it">bloggers@blogosfere.it</a>',
	'Segui con interesse basket e/o pallavolo?<br />Scrivici a <a href="mailto:bloggers@blogosfere.it">bloggers@blogosfere.it</a>',
	'Sei appassionato del mondo Apple?<br />Scrivici a <a href="mailto:bloggers@blogosfere.it">bloggers@blogosfere.it</a>',
	'Sei un fanatico di videogiochi?<br />Scrivici 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() {
	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 */