var activeLayer = new String(); // ** Variabile Globale. Indica il layer attualmente visibile **
var tim; // ** variabile globale. Indica l'intervallo di tempo di apertura di un layer.
var page = new Object(); // ** variabile globale. Contiene le dimensioni della pagina
	page.X = 0; 
	page.Y = 0; 
	
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
// | Testa la versione del browser utilizzato
// | 3 possibilità:
// |    . Microsoft Explorer
// |    . Netscape versione 4.x
// |    . Netscape versione 6.x
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
function getBrowser()
{
        var typeBrowser = new String();
        typeBrowser = navigator.appName;
        if (typeBrowser == 'Microsoft Internet Explorer')
        {
                // Browser Microsoft
                typeBrowser="explorer";
        }
        else
        {
                if (typeBrowser == 'Netscape')
                {
                        // Browser Netscape
                        var test = new String();
                        test = typeof(document.layers);
                        if (test=="object") 
                        {
                                // Netscape 4.x
                                typeBrowser="navigator4";
                        }
                        else
                        {
                                // Netscape 6.x
                                typeBrowser="navigator6";
                        };
                }
                else
                {
                        // altro tipo di browser
                        typeBrowser="altro";
                };
        };
        return typeBrowser;
};

function showLayer(nomeLayer, x, y)
{
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// | Visualizza il Layer nomeLayer
// | alle  coordinate  x  e y
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
clearTimeout(tim)
if (activeLayer != "") // ** c'è gia un layer visibile **
		{
			hideLayer(activeLayer);
		};
activeLayer = nomeLayer; // ** memorizza il nome del layer visualizzato **
var temp = new String();
temp = getBrowser();
if (temp=="navigator4" )
	{
	// Browser netscape 4.x
		document.layers[nomeLayer].top=y;
		document.layers[nomeLayer].left=x;
		document.layers[nomeLayer].visibility="show";
	}
	
else
	{
	// Browser Explorer o Netscape 6.x o altro
		document.getElementById(nomeLayer).style.top = y;
		document.getElementById(nomeLayer).style.left = x;
		document.getElementById(nomeLayer).style.visibility="visible";
	}
};

function hideLayer(nomeLayer)
{
	//alert(nomeLayer)
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// | Nasconde il Layer nomeLayer
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
var temp = new String();
temp = getBrowser();
if (temp=="navigator4")
	{
	// Browser netscape 4.x
		document.layers[nomeLayer].visibility="hide";
	}
else
	{
	// Browser Explorer o Netscape 6.x o altro
		document.getElementById(nomeLayer).style.visibility="hidden";
	};
};

function waitAndClear(nomeLayer)
{
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
// | Attende  un   determinato  intervallo  di  tempo
// | trascorso il quale nasconde il layer "nomeLayer"
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
tim = setTimeout("hideLayer('"+nomeLayer+"')", 700);
};

function getPageSize()
{

// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
// | Legge le dimensioni della pagina
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
var temp = new String();
temp = getBrowser();
if (temp=='navigator4' || temp=='navigator6')
	{
		page.X = window.innerWidth;
		page.Y = window.innerHeight;
	}
else
	{
		page.X = document.body.clientWidth;
		page.Y = document.body.clientHeight;
	};
	if (page.X<775) page.X=775;
	// Aggiustamenti per netscape
	if (temp=='navigator4' || temp=='navigator6')
	{
		page.X = page.X-16;
	}
};

function show(Picture,PictName) {
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
// | Usata per i Rollover di Immagini
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
	document.images[PictName].src=Picture;
};

// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Cerca una stringa nella stringa passata in input,
// restituisce True se la trova.
// false altrimenti.
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
function searchInString(stringToFind, stringWhereSearch)
{
	var found;
	var index;
	index = stringWhereSearch.indexOf(stringToFind);
	if (index == -1) {found = false}
	else {found = true};
	return found;
};

// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// rimpiazza nella stringa "stringToMod" la sottostringa "wordToRem" con la sottostringa "wordToAdd"
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
function replaceInString(stringToMod, wordToRem, wordToAdd)
{
 var temp1 = new String();
 var temp2 = new String();
 var result = new String();
 var cleaned = new String();
 result = stringToMod;
 if (searchInString(wordToRem,result))
 {
	while ( searchInString(wordToRem,result) )
	{
	 temp1 = result.substring(0, result.indexOf(wordToRem));
	 temp2 = result.substring(result.indexOf(wordToRem)+wordToRem.length,result.length);
	 cleaned = cleaned+temp1+wordToAdd;
	 result=temp2;
	};
 	cleaned = cleaned+temp2;
 }
 else
 {
 	cleaned = stringToMod;
 };
 return cleaned;
};