/*==================================================================================
 * apre/chiude una tabella innestata
 =================================================================================*/
function ShowHide(r, a, text_view, text_hide)
{
	if (document.getElementById(r).style.display == 'none')
	{
		DisplayDIV(r);
		document.getElementById(a).innerHTML = '<img src="../img/folder_open.png" style="border:0;width:32px;height:32px;" title="'+text_hide+'">';
	}
	else
	{
		HideDIV(r);
		document.getElementById(a).innerHTML = '<img src="../img/folder_close.png" style="border:0;width:32px;height:32px;" title="'+text_view+'">';
	}
}

/*==================================================================================
 * setta il focus sul primo campo non hidden del form
 =================================================================================*/
function SetFocus()
{
	found = false;
	for (f=0; f < document.forms.length; f++)
	{
		for(i=0; i < document.forms[f].length; i++)
		{
			if (document.forms[f][i].type != "hidden")
			{
				if (document.forms[f][i].disabled != true)
				{
					document.forms[f][i].focus();
					found = true;
				}
				if (found) { break; }
			}
			if (found) { break; }
		}
	}
}

/*==================================================================================
 * azione da eseguire quando si clicca sul link per aprire la ricerca avanzata
 =================================================================================*/
function AdvancedSearchOpen()
{
	document.getElementById('advanced-search').style.display = 'block'; 
	document.getElementById('advanced-search-open').style.display = 'none'; 
	document.getElementById('advanced-search-close').style.display = 'inline'; 
	return(false);	
}

/*==================================================================================
 * azione da eseguire quando si clicca sul link per chiudere la ricerca avanzata
 =================================================================================*/
function AdvancedSearchClose()
{
	document.getElementById('advanced-search').style.display = 'none'; 
	document.getElementById('advanced-search-open').style.display = 'inline'; 
	document.getElementById('advanced-search-close').style.display = 'none'; 
	return(false);	
}

/*==================================================================================
 * Apre un popup centrato sullo schermo
 =================================================================================*/
function OpenPopUp(mypage, myname, w, h)
{
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings = 'height='+h+', width='+w+', top='+TopPosition+', left='+LeftPosition+', scrollbars=\'no\', resizable=no';
	return window.open(mypage, myname, settings);
}

/*==================================================================================
 * Chiude il popup e ricarica la pagina padre
 =================================================================================*/
function ClosePopUpAndReloadParent()
{
	window.opener.focus();
	window.opener.location.reload();
	window.close();
}

/*==================================================================================
 * Chiude il popup ma non ricarica la pagina padre
 =================================================================================*/
function ClosePopUp()
{
	window.close();
}

/*==================================================================================
 * Redirect alla pagina passata come parametro
 =================================================================================*/
function RedirectToPage(page)
{
	window.location = page;
}

/*==================================================================================
 * Redirect della pagina chiamante
 =================================================================================*/
function RedirectParentToPage(page)
{
	window.opener.location = page;
}

/*==================================================================================
 * Cattura la pressione del tasto INVIO
 =================================================================================*/
function catchKey(event, element) 
{
	if (element.tagName == "textarea" || element.tagName == "TEXTAREA")
	{
		event.cancelBubble = true;
	}
	else if (element.tagName == "form" || element.tagName == "FORM")
	{
		// invio
	 	if (event.keyCode == 13) { javascript:element.submit(); }
	}
}

/*==================================================================================
 * comparsa di div
 =================================================================================*/
function DisplayDIV(div_id)
{
	document.getElementById(div_id).style.display='';
}

/*==================================================================================
 * scomparsa di div
 =================================================================================*/
function HideDIV(div_id)
{
	document.getElementById(div_id).style.display='none';
}

/*==================================================================================
 * mostra l'immagine successiva nella galleria dei prodotti correlati
 =================================================================================*/
function GalleryShowNext(corr_id, limit)
{
	if (gallery_current[corr_id]<(limit-1)){
		document.getElementById('gallery-'+corr_id+'-'+gallery_current[corr_id]).style.display='none';
		gallery_current[corr_id]++;
		document.getElementById('gallery-'+corr_id+'-'+gallery_current[corr_id]).style.display='block';
	}
}

/*==================================================================================
 * mostra l'immagine precedente nella galleria dei prodotti correlati
 =================================================================================*/
function GalleryShowPrev(corr_id)
{
	if (gallery_current[corr_id]>0){
		document.getElementById('gallery-'+corr_id+'-'+gallery_current[corr_id]).style.display='none';
		gallery_current[corr_id]--;
		document.getElementById('gallery-'+corr_id+'-'+gallery_current[corr_id]).style.display='block';
	}
}

/*==================================================================================
 * setta top della Z di background in tab prodotti correlati
 =================================================================================*/
function ScrollBackground(div)
{
	document.getElementById('prodotti-correlati-background').style.top = (30+div.scrollTop) + 'px';
}

/*==================================================================================
 * Gestione tendina azioni
 =================================================================================*/
var ContentHeight = 0;
var TimeToSlide = 250.0;

function runAccordion(index) {	
	var id = "Accordion" + index + "Content";
	var content_div = document.getElementById(id);
	if(content_div.style.display == 'block') {
		content_div.style.display = 'none';
	}
	else {
		content_div.style.display = 'block';	
	}
	/*
	ContentHeight = getHeight(document.getElementById(id));
	setTimeout("animate(" + new Date().getTime() + "," + TimeToSlide + ",'" + id + "'," + (document.getElementById(id).style.display == 'block') + ")", 30);
	*/
}

/*
function getHeight(el) {
	var s = el.style;
	var v = s.visibility;
	var p = s.position;
	var d = s.display;
	s.visibility = "hidden";
	s.display = "block";
	var h = el.clientHeight;
	s.display = d;
	s.visibility = v;
	return h;
}

function animate(lastTick, timeLeft, id, closing) { 
	var curTick = new Date().getTime();
	var elapsedTicks = curTick - lastTick;
	var content_div = document.getElementById(id);
	if (timeLeft <= elapsedTicks) {
		if(closing) {
			content_div.style.display = 'none';
		}
		else {
			content_div.style.display = 'block';	
		}
		content_div.style.height = ContentHeight + 'px';
		return;
	}
	
	timeLeft -= elapsedTicks;
	var newHeight = Math.round((timeLeft/TimeToSlide) * ContentHeight);
	if (closing) {
		content_div.style.height = newHeight + 'px';
	}
	else {	
		content_div.style.height = (ContentHeight - newHeight) + 'px';
		content_div.style.display = 'block';
	} 
	setTimeout("animate(" + curTick + "," + timeLeft + ",'" + id + "'," + closing + ")", 30);
}
*/

function CloseSubMenus(e, start, n) {
	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY)	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) {
		posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
	}
	var divLeft = findPosX(document.getElementById('accordion-container-'+start));
	var divTop = findPosY(document.getElementById('accordion-container-'+start));
	var divWidth = document.getElementById('accordion-container-'+start).offsetWidth;
	var divHeight = document.getElementById('accordion-container-'+start).offsetHeight;
	if (posy <= divTop || posy >= (divTop+divHeight) || posx <= divLeft || posx >= (divLeft+divWidth)) {
		for (index=start;index<n;index++) {
			document.getElementById("Accordion" + index + "Content").style.display = 'none';
		}
	}
}

function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (1) {
            curleft+=obj.offsetLeft;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.x) {
        curleft+=obj.x;
    }
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (1) {
            curtop+=obj.offsetTop;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.y) {
        curtop+=obj.y;
    }
    return curtop;
}

