/*-----------------------------------
	Alessio Cartocci
	iPost / Eustema s.p.a. (c)2008
------------------------------------*/


uA = navigator.userAgent.toLowerCase();
aV = navigator.appVersion;
isMac = uA.indexOf('mac');
isLinux = uA.indexOf('linux');

/*
window.onload = function() {
	setIE();
}
*/

/*  browser handler
-----------------------*/

function detect(browser) {
	browser = browser.toLowerCase();
	ver = 0;
	switch (browser) {
		case "ie":
			ver = parseFloat(aV.split('MSIE')[1]);
			break;
		case "opera":
			if (window.opera) ver = aV.substr(0,3);
			break;
		case "ns":
			ver = parseFloat(uA.split('netscape/'))
			break;
		case "khtml":
			if (uA.indexOf('khtml')!=-1) ver = 1;
			else ver = 0;
			break;
		case "ff3":
			if (uA.indexOf('firefox/3')!=-1) ver = 1;
			else ver = 0;
			break;
	}
	return ver;
}


/*  replace elements
    not supported by IE>7
---------------------------*/

function setIE() {
	if (detect('ie')<7 && isMac==-1) {
		// <abbr> replacement
		ht = document.getElementById('layout').innerHTML;
		if (ht.indexOf('<abbr')!=-1) {
			document.getElementById('layout').innerHTML = ht.replace(/<abbr/gi,'<acronym').replace(/abbr>/gi,'acronym>');
		}
		// for buggy <img> CSS height:auto on IE6-...
		try {
			if (document.getElementById('divleft').getElementsByTagName('img')[0].className=='left') {
				if (self.name!='$loaded') {
					self.name = "$loaded";
					self.location.reload(true);
				}
				else self.name = null;
			}
		}
		catch (err) {}
		// PNG transparency
		/*imags = document.getElementById('tabmenu').getElementsByTagName('img');
		for (a=0; a<imags.length; a++) {
			imags[a].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod=scale src='"+imags[a].src+"')";
			imags[a].src = "images/spacer.gif";
		}*/
	}
}


/*  show/hide menu items
	[rev. 1-2008]
---------------------------*/

function showItem(i,el) {
	line = document.getElementById('menu').getElementsByTagName('li');
	j = 0;
	for (k=0; k<line.length; k++) {
		try {
			subline = line[k].getElementsByTagName("ul");
			if (i=="all") {
				if (line[k].className.indexOf("selez")==-1) {
					/* if (detect("khtml")>0 && isLinux==-1) subline[0].style.display = "none";  // Safari/OmniWeb class patch
					else */
					subline[0].className = "hidden";
				}
				try {
					if (subline[0].parentNode.innerHTML.indexOf(treePos[0])>0) {
						subline[0].className = "void";
						subLi = subline[0].getElementsByTagName('li');
						for (b=0; b<subLi.length; b++) {
							if (subLi[b].innerHTML.indexOf(treePos[1])>0) subLi[b].className = "sel";
						}
					}
				}
				catch (e) {}
			}
			else {
				/* if (detect("khtml")>0 && isLinux==-1) subline[0].style.display = "none";  // Safari/OmniWeb class patch
				else */
				subline[0].className = "hidden";
			}
			line[k].onkeyup = line[k].onclick = function(e) {
				moz = document.getElementById && !document.all;
				evy = moz ? e.clientY : event.clientY;
				ul = this.getElementsByTagName('ul')[0];
				cl = ul.className;
				if (cl=="hidden") showItem(j,this);
				else showItem(null,this);
				htop = moz ? this.offsetTop+this.getElementsByTagName('a')[0].offsetHeight : this.offsetTop+this.getElementsByTagName('a')[0].offsetHeight+document.getElementById('head').offsetHeight+25;
				if (navigator.userAgent.toLowerCase().indexOf("safari")==-1) {
					if (htop >= evy) this.getElementsByTagName('ul')[0].className = (cl=="hidden") ? "void" : "hidden";
				}
			}
			j++;
		}
		catch (e) {
			line[k].onkeyup = line[k].onclick = function() {showItem("all");}
		}
	}
	if (el) {
		subline = el.getElementsByTagName("ul");
		el.getElementsByTagName('a')[0].setAttribute("href","javascript:void(0)");  // replace href
	}
	if (i!="all") {
		if (detect("khtml")>0 && isLinux==-1) {
			if (subline[0].style.display=="none") subline[0].style.display = "block";
			else subline[0].style.display = "none";
		}
		else {
			if (subline[0].className=="hidden") subline[0].className = "void";
			else subline[0].className = "hidden";
		}
	}
	else {
		// show/hide skip menu
		lineQ = document.getElementById('quickmenu');
		if (detect('ie')>0) lineQ.className = "hide";  // IE fix
		lineQ.onfocus = lineQ.onactivate = function () {this.className = "show";}
		lineQ.onblur = lineQ.ondeactivate = function () {this.className = "hide";}  // IE fix
	}
}


/* get current tree node
   from breadcrumb
--------------------------*/

function getTreePos() {
	p0 = document.getElementById('divleft').getElementsByTagName('p')[0];
	if (p0.className=='path') {
		pb = p0.innerHTML.split(' / ');
		pb2 = (pb[2]) ? pb[2].replace(/<(.|\n)*?>/g,'') : "";
		pb3 = (pb[3]) ? pb[3].replace(/<(.|\n)*?>/g,'') : "";
		var treePos = [pb2,pb3];
	}
	return treePos;
}


/* content buttons handler
----------------------------*/

function handleBtn(id,open) {
	h = document.getElementById('buttons').getElementsByTagName('li');
	d = document.getElementsByTagName('div');
	for (k=0; k<d.length; k++)  {
		if (d[k].className=="buttontext") {
			oldClassD = d[k].className;
			if (oldClassD.indexOf('hidden')==-1) d[k].className = oldClassD + " hidden";
			d[k].getElementsByTagName('h4')[0].className = "hidden";
			d[k].getElementsByTagName('a')[0].onclick = function() {
				handleBtn(this.parentNode.parentNode.id,0);
			};
			d[k].getElementsByTagName('a')[0].onfocus = function() {this.href = "#buttons";}
			if (document.getElementsByTagName('body')[0].offsetWidth>document.getElementById('divleft').offsetWidth)  d[k].getElementsByTagName('a')[0].onmouseup = function() {this.href = "#";}
		}
	}
	for (i=0; i<h.length; i++) {
		if (detect('khtml')>0 || window.opera) h[i].parentNode.className = "fixed";
		try {
			hA = h[i].getElementsByTagName('a')[0];
			anchor = hA.href.split('#')[1];
			pressed = function() {
				handleBtn(this.href.split('#')[1]);
				if (document.getElementsByTagName('body')[0].offsetWidth>document.getElementById('divleft').offsetWidth)  this.href = "javascript:void(0)";
			};
			hA.onclick = pressed;
			if (id) {
				oldClass = h[i].className.replace('round ','');
				if (id==anchor || open==0) {
					h[i].className = h[i].className.replace('hidden ','round ');
					if (open==0) {
						if (hA.href.slice(-7)=="void(0)") {
							hA.href = "#" + id;
							hA.onclick = pressed;
							hA.className = "underline";
							hA.style.cursor = "pointer";
						}
					}
					else {
						hA.href = "#" + anchor;
						hA.onclick = null;
						hA.className = "void";
						oldClassD = document.getElementById(anchor).className;
						document.getElementById(anchor).className = oldClassD.replace(' hidden','');
					}
				}
				else {
					h[i].className = 'hidden ' + oldClass;
				}
			}
		}
		catch (e) {}
	}
}


/* modules (todo) */
function showModule(id) {
	d = document.getElementsByTagName('div');
	for (i=0; i<d.length; i++) {
		if (d[i].className=='module') {
			mF = d[i].getElementsByTagName('form')[0];
			mA = d[i].getElementsByTagName('a')[0];
			if (!id)  mF.className = "hidden";
			mA.onclick = mA.onkeypress = function() {
				showModule(this.parentNode.parentNode.id);
			};
			if (id) {
				if (mF.className=="hidden") {
					mF.className = "void";
					mA.className = "up";
					mA.title = "Nascondi le impostazioni";
				}
				else {
					mF.className = "hidden";
					mA.className = "void";
					mA.title = "Visualizza le impostazioni";
				}
			}
		}
	}
}


/*  show/hide login box
--------------------------*/

function showLogin(sw) {
	q = document.getElementById('quickmenu').getElementsByTagName('a')[3];
	try {
		lForm = document.getElementById('loginline');
		lFormP = lForm.getElementsByTagName('p');
		el = lForm.getElementsByTagName('a')[0];
		if (lFormP[0].className=='usr') {
			if (lFormP[1].className=='hidden') {
				lFormP[0].getElementsByTagName('span')[0].className = "void";
				lForm.getElementsByTagName('div')[0].style.position = "absolute";
				lFormP[1].className = "txtcenter";
				el.className = "up";
				el.setAttribute('title', 'Nascondi il modulo di uscita');
			}
			else {
				lFormP[0].getElementsByTagName('span')[0].className = lFormP[1].className = "hidden";
				el.className = "void";
				lForm.getElementsByTagName('div')[0].style.position = "static";
				el.setAttribute('title', 'Visualizza il modulo di uscita');
			}
		}
		else {
			if (lForm.className=='hidden') {
				lFormP[0].style.marginBottom = "0";
				lForm.className = "void";
				el.className = "up";
				el.setAttribute('title', 'Nascondi il modulo di accesso');
			}
			else {
				if (sw!=true) {
					lForm.className = "hidden";
					el.className = "void";
					el.setAttribute('title', 'Visualizza il modulo di accesso');
				}
			}
		}
		el.onkeyup = el.onclick = function () {showLogin();}
		q.onclick = function() {showLogin(true);}
	}
	catch(e) {}
}