var baseUrl = getBaseUrl();

function getBaseUrl() {
	l=document.location+'';
	t='/enciclopedia/';
	url=l.substring(0, l.indexOf(t,0)+t.length);
	return url;
}

// Ricerca

var ricercaTip='Trova una voce';

function ricercaInit() {
	f=document.getElementById('ricercaForm');
	if (f) f.onsubmit=ricercaOnSubmit;
	// tip
	q=document.getElementById('ricercaQ');
	if (q) {
		q.onfocus=ricercaOnFocus;
		q.onblur=ricercaOnBlur;
		// q.onkeydown=ricercaOnChange;
		ricercaOnBlur();
	}
	// fade sul pulsante
	g=document.getElementById('ricercaGo');
	if (g) {
		g.onmouseover=highlightOn;
		g.onmouseout=highlightOff;
	}
	// autocompleter
	if (f && q) {
		// get the fieldset
		fs = f.firstChild;
		if (fs) {
			emptyDiv = document.createElement('div');
			emptyDiv.setAttribute('id','ricercaCompleter');
			// aggiunge al dom
			fs.insertBefore(emptyDiv, q);
			new Ajax.Autocompleter('ricercaQ', 'ricercaCompleter', baseUrl+'suggestions', {updateElement: ricercaUpdateElement});
			// disabilita completamento browser
			q.setAttribute('autocomplete','off');
		}
	}
}

// usabilita' completer
function ricercaUpdateElement(li) {
	if (li && li.innerHTML) {
		q=document.getElementById('ricercaQ');
		if (q) {
			f=document.getElementById('ricercaForm');
			if (li.className.indexOf('hr')==-1) {
				var re= /[^<]*<span[^>]*>([^<]*)<\/span>/i
		        var ar = re.exec(li.innerHTML);
		        if (ar && ar.length) q.value= ar[1];else q.value = li.innerHTML;
	        }
			if (f) f.submit();
		}
	}
}

function ricercaOnSubmit() {
	q=document.getElementById('ricercaQ');
	if (q && q.value==ricercaTip) q.value='';
}

function ricercaShowTip(show, q) {
	return;
	t=document.getElementById('ricercaTip');
	if (!t) return;
	if (show) {
		Position.clone(q, t, {
		  setHeight: false, 
		  offsetTop: q.offsetHeight
		});
		Effect.Appear(t, { duration:0.3, to:0.9 });
	} else {
		Effect.Fade(t, { duration:0.5 });
	}
}

var ricercaOnChangeValue='';
function ricercaOnChange(e) {
	if (e && e.target) {
		q = e.target;
		if (ricercaOnChangeValue='' || q.value != '') ricercaShowTip(false);
		else ricercaShowTip(true, q);
		ricercaOnChangeValue = q.value;
	}
}

function ricercaOnFocus() {
	q=document.getElementById('ricercaQ');
	if (q) {
		if (q.value=='' || q.value==ricercaTip) {
			q.value='';
			q.className='q';
		}
		ricercaShowTip(true, q);
	}
}

function ricercaOnBlur() {
	q=document.getElementById('ricercaQ');
	if (q) {
		if (q.value=='' || q.value==ricercaTip) {
			q.className='q tip';
			q.value=ricercaTip;
		}
	}
	ricercaShowTip(false);
}

// End Ricerca

// Header

function headerInit() {
	// fade sui loghi
	d=document.getElementById('daubau');
	if (d) {
		d.onmouseover=highlightOn;
		d.onmouseout=highlightOff;
	}
	c=document.getElementById('enciclopedia');
	if (c) {
		c.onmouseover=highlightOn;
		c.onmouseout=highlightOff;
	}
}

// End Header

function msgInit() {
	msg = document.getElementById('msg');
	if (msg) new Effect.Pulsate(msg, {duration:1, pulses:1, from:.5});
}

function highlightOn(e) {
	if (!e) var e = window.event;
	var tg = (window.event) ? e.srcElement : e.target;
	new Effect.Opacity(tg, {duration:0.3, from:1.0, to:0.8});
}

function highlightOff(e) {
	if (!e) var e = window.event;
	var tg = (window.event) ? e.srcElement : e.target;
	new Effect.Opacity(tg, {duration:0.5, from:0.8, to:1.0});
}


// eseguita prima della chiusura del body
function init() {
	ricercaInit();
	headerInit();
	bindTooltip('daubau', 'Vai alla homepage di Daubau', 'tooltip');
	bindTooltip('enciclopedia', 'Vai alla homepage di Enciclopedia', 'tooltip');
}

// eseguita a caricamento completo
window.onload=windowOnLoad;
function windowOnLoad() {
	msgInit();
}