// costanti
italiano = 0;
inglese = 1;
spagnolo = 2;

home     = 0;
contatti = 1;
prodotti = 2;
dettagli = 3;
catalogo = 4;
preventivo = 5;
indietro = 6;

// Stringhe della home page: un elemento per ciascuna lingua: 0 = ITA, 1 = ENG, 2 = ESP
hstr = new Array (
new Array ("Officina Meccanica di Precisione", 
           "Costruzione e progettazione di camme e meccanismi per macchine automatiche"),
new Array ("Precision  Mechanical  Worhshop", 
           "Construction and planning of cams and mechanisms for automatic machines"),
new Array ("Taller Mecánico de la Precisión", 
           "Construcción y hojas de operación de mecanismos para automáticas las máquinas")
);

// VociMenu [][0] = nome link
// VociMenu [][1] = voce menu
// VociMenu [][2] = estensione pagina
VociMenu = new Array (
	// ITA
	new Array (
		new Array ("index.htm", "pagina iniziale"),		 // 0
		new Array ("contatti.htm", "contatti"),			 // 1
		new Array ("intermittori.htm", "prodotti"),		 // 2
		new Array ("det_", "dettagli", "php"),					 // 3
		new Array ("cat_", "catalogo", "php"),					 // 4
		new Array ("pre_", "preventivo"),					 // 5
		new Array ("", "indietro")						 // 6
	),
	// ENG
	new Array (
		new Array ("index_en.htm", "home page"),
		new Array ("contatti_en.htm", "contacts"),
		new Array ("intermittori_en.htm", "products"),
		new Array ("det_", "details","php"), 
		new Array ("cat_", "catalog", "php"),
		new Array ("pre_", "estimate"),
		new Array ("", "back")
	),
	// ESP
	new Array (
		new Array ("index_es.htm", "pagina inicial"),
		new Array ("contatti_es.htm", "contactar"),
		new Array ("intermittori_es.htm", "productos"),
		new Array ("det_", "details", "php"),
		new Array ("cat_", "catalog", "php"),
		new Array ("pre_", "preventivo"),
		new Array ("", "indietro")
	)
);

// Dati per il menu della pagina iniziale
// MenuHome [] = indice voce menu
MenuHome = new Array (prodotti, contatti);

// Dati per il menu della pagina iniziale
// MenuCont [] = indice voce menu
MenuCont = new Array (home, prodotti);

// Dati per il menu delle pagine dei prodotti
// MenuProd [] = indice voce menu
MenuProd = new Array (home, dettagli, catalogo, preventivo);

// Dati per il menu delle pagine dei dettagli
// MenuDett [] = indice voce menu
MenuDett = new Array (indietro, catalogo, preventivo);

// Dati per il menu delle pagine dei cataloghi
// MenuCatt [] = indice voce menu
MenuCat = new Array (indietro, dettagli, preventivo);

// Dati per il menu delle pagine degli ordini
// MenuOrd [] = indice voce menu
MenuOrd = new Array (indietro, dettagli, catalogo);

// Dati per la selezione dinamica dei menu
MenuVett = new Array (MenuHome, MenuCont, MenuProd, MenuDett, MenuCat, MenuOrd);

// Dati per la pagina dei prodotti
// PagProd [][0] = nome link
// PagProd [][1] = voce menu (e titolo pagina!)
// PagProd [][2] = lingua: 0 = ITA, 1 = ENG, 2 = ESP
// PagProd [][3] = file immagine
PagProd = new Array (
   new Array ("intermittori.htm", "intermittori piani", 0, "intermittore.jpg"),
   new Array ("oscillatori.htm", "oscillatori piani", 0, "intermittore.jpg"),
   new Array ("tavole.htm", "tavole rotanti", 0, "tavola.jpg"),
   new Array ("emilblock.htm", "emilblock", 0, "emilblock.jpg"),
   // new Array ("manipolatori.htm", "manipolatori lineari", 0, "manipolatore.jpg"),
   // new Array ("oscill_coassiali.htm", "oscillatori coassiali", 0, "oscillcoass.jpg"),

   new Array ("intermittori_en.htm", "flat indexers", 1, "intermittore.jpg"),
   new Array ("oscillatori_en.htm", "oscillating drives", 1, "intermittore.jpg"),
   new Array ("tavole_en.htm", "index tables", 1, "tavola.jpg"),
   new Array ("emilblock_en.htm", "emilblock device", 1, "emilblock.jpg"),
   // new Array ("manipolatori_en.htm", "linear manipulator", 1, "manipolatore.jpg"),
   // new Array ("oscill_coassiali_en.htm", "coaxial cam box", 1, "oscillcoass.jpg"),

   new Array ("intermittori_es.htm", "actuador paralelo", 2, "intermittore.jpg"),
   new Array ("oscillatori_es.htm", "actuador oscilante", 2, "intermittore.jpg"),
   new Array ("tavole_es.htm", "plato divisor", 2, "tavola.jpg"),
   new Array ("emilblock_es.htm", "actuador globoidal", 2, "emilblock.jpg")
   // new Array ("manipolatori_es.htm", "manipulador lineal", 2, "manipolatore.jpg"),
   // new Array ("oscill_coassiali_es.htm", "oscilador coaxial", 2, "oscillcoass.jpg")
);

// Dati per le pagine statiche
// PagStat [][0] = nome link
// PagStat [][1] = titolo pagina
// PagStat [][2] = lingua: 0 = ITA, 1 = ENG, 2 = ESP
// PagStat [][3] = file immagine
PagStat = new Array (
   new Array ("", "come raggiungere Italcamme", 0, "cartina.gif"),
   new Array ("", "how to arrive to Italcamme", 1, "cartina.gif"),
   new Array ("", "contactar con Italcamme", 2, "cartina.gif")
);

CatSel = new Array ("Selezione Parametri di progetto", "Project parameters selection", "Selezione Parametri di progetto");

Contatti = new Array (
   new Array ('Via Maceri Superiore, 10/A<br>40061 Minerbio (BO)','Indirizzo:', 'Address:', 'Dirección:'),
   new Array ('+390516605129','Telefono:', 'Phone:', 'Teléfono:'),
   new Array ('+390516605476','Fax:', 'Fax:', 'Fax:'),
   new Array ('info@italcamme.it','E-mail:', 'E-mail:', 'E-mail:')
);


var Lingua = 1;
var FlashObj;

function WriteHMenu (menu, lingua, basePage)
{
	var cont = 0;
	var cur;
   var locBase;

	document.writeln('<div id="hmenu"><p>');
	while (cont < menu.length)
		{
		cur = VociMenu[lingua][menu[cont]];
		document.writeln('<a href="'+cur[0]);
		if (cur[0].search (".htm") == -1)
         {
         locBase = basePage;
         if (cur[2])
            locBase = locBase.replace ('htm',cur[2]);
			document.writeln(locBase);
         }
		document.writeln('">'+cur[1]+'</a>&nbsp;');
		cont ++;
		}
	document.writeln('</p></div>');
}

function findPage (pag)
{
   for (cont = 0; cont < pag.length; cont ++)
		{
		if (pag[cont][1] == this.document.title)
			return (pag[cont]);
		}

   return (null);
}

function startHome (lingua)
{
	// menu	orizzontale
	WriteHMenu (MenuHome, lingua, "");
	// Menu lingue
	document.writeln('<div id="bandierine">');
	document.writeln('<IMG SRC="bandierine.gif" USEMAP="#bandierine" WIDTH=153 HEIGHT=78 BORDER="0">');
	document.writeln('<MAP NAME="bandierine">');
	document.writeln('<AREA SHAPE="POLY" HREF="index.htm" COORDS="17,30, 34,13, 51,29, 34,43, 17,28, 17,30">');
	document.writeln('<AREA SHAPE="POLY" HREF="index_en.htm" COORDS="70,15, 84,30, 70,43, 54,27, 70,14, 70,15">');
	document.writeln('<AREA SHAPE="POLY" HREF="index_es.htm" COORDS="108,15, 124,28, 109,41, 93,28, 108,16, 108,15">');
	document.writeln('</MAP>');
	document.writeln('</div>');
	// logo
	document.writeln('<div id="logohome"><p>'+hstr[lingua][0]+'</p></div>');
	// bande orizzontali
	document.writeln('<h5>.</h5><h6>.</h6>');
	// immagine
	document.writeln('<div id="immaginehome"><p><img src="3prodotti.jpg"></p>');
	document.writeln('<h1>'+hstr[lingua][1]+'</h1>');
	document.writeln('</div>');
	document.writeln('<div id="menuhome"><h1>home</h1></div>');
	document.writeln('<div id="descrizionehome">');
}   


// Pagina principale dei prodotti
function startPage ()
{
	var cur;
	var cont = 0;

	cur = startStaticPage (prodotti);
	// menu verticale
	while (cont < PagProd.length)
		{
		if (PagProd[cont] != cur && PagProd[cont][2] == cur[2])
			document.writeln('<p><a href="'+PagProd[cont][0]+'">'+PagProd[cont][1]+'</a></p>');
		cont ++;
		}
	document.writeln('<h2 id="curpage">'+cur[1]+'</h2></div><div id="descrizione">');
}


function startStaticPage (tipo)
{
	var cur;
	var cont = 0;

   window.onresize = resize;
   window.onload = resize;

   // Creca tra i prodotti
   if (! (cur = findPage (PagProd)))
      {
      // Cerca tra le pagine statiche
      cur = findPage (PagStat);
      }

   // Pagina trovata
   if (cur)
      {
		Lingua = cur[2];
		// menu	orizzontale
		WriteHMenu (MenuVett[tipo], Lingua, cur[0]);
		// logo
		document.writeln('<div id="logo"><p>'+hstr[Lingua][0]+'</p></div>');
		// bande orizzontali
		document.writeln('<h5 id="linea1">.</h5><h6 id="linea2">.</h6>');
		// immagine
		if (tipo == prodotti)
			document.writeln('<div id="immagine"><h1>'+cur[1]+'</h1><p><img src="'+cur[3]+'"></p></div>');
      }

	// intestazione menu verticale
	document.writeln('<div id="menu"><h1>'+VociMenu[Lingua][tipo][1]+'</h1>');
	return (cur);
}   

// Pagine accessorie dei prodotti
function startDynPage (tipo)
{
	var cur;
   var prod;

	cur = startStaticPage (tipo);
	// menu verticale

   if (tipo == dettagli)
      if (typeof (VMenu) == 'object')
         for (cont = 0; cont < VMenu.length; cont ++)
		      document.writeln('<p><a href="javascript:setDetails('+cont+')">'+VMenu[cont][0]+'</a></p>');

   if (tipo == contatti)
      for (cont = 0; cont < Contatti.length; cont ++)
         {
		   document.writeln('<h2>'+Contatti[cont][Lingua+1]+'</h2>');
		   document.writeln('<p>'+Contatti[cont][0]+'</p>');
         }

   document.writeln('</div><div id="imgpiccola"><img src="'+cur[3].replace('jpg', 'gif')+'"></div>');
   document.writeln('<div id="titolodettagli"><h1>'+cur[1]+'</h1></div>');
   if (tipo != catalogo)
      document.writeln('<div id="dettagli">');
}   

function endCatPage ()
{
   changeElemText ('parametri', CatSel [Lingua]);
   endPage ();
}   

function widthAdjust (destId, srcId)
{
   dest = document.getElementById (destId);
   src = document.getElementById (srcId);
   if (dest && src)
      dest.style.width = src.offsetWidth;
   // metodi alternativi:
   // document.all['catalogo'].clientWidth; 
   // document.all['catalogo'].offsetWidth; 
}

function setWidth (destId, w)
{
   dest = document.getElementById (destId);
   if (dest)
      {
      dest.style.width = w;
      if (dest.offsetWidth != w)
         dest.style.width = dest.offsetWidth;
      return (dest.style.width);
      }
   return (0);
}      

function resize ()
{
   hsorg = document.getElementById ('curpage');
   if (hsorg)
      {
      sorg = document.getElementById ('menu');
      dest = document.getElementById ('immagine');
      dest.style.marginTop = sorg.offsetTop + hsorg.offsetTop - dest.offsetHeight - hsorg.offsetHeight + 4;
      }

   bw = document.body.offsetWidth;
   if (bw < 800)
      bw = 800;
   w = bw / 2.7 + (bw - 800) * 0.4;
   setWidth ('descrizione', w);
   setWidth ('immagine', w + 340);
   setWidth ('dettagli', bw / 1.4);
   setWidth ('linea1', bw);
   setWidth ('linea2', bw);
   widthAdjust ('titolodettagli','dettagli');
   
   dest = document.getElementById ('figure');
   if (dest)
      {
      dest.style.marginLeft = w + 155;
      }
}

function changeElemText (id, text)
{
   var lines;

   old = document.getElementById (id);
   if (! old)
      return;

   if (text.indexOf ('\n') != -1)
      {
      lines = text.split ('\n');
      text = lines [0];
      }
   testo = document.createTextNode (text);
   removeAllChilds (old);
   old.appendChild (testo);

   if (lines)
      for (cont = 1; cont < lines.length; cont ++)
         {
         br = document.createElement ('BR');
         old.appendChild (br);
         testo = document.createTextNode (lines [cont]);
         old.appendChild (testo);
         }
}

function removeAllChilds (old)
{
   cList = old.childNodes;
   for (cont = cList.length - 1; cont >= 0; cont --)
      old.removeChild (cList.item (cont));
}

function createElements (campi)
{
   for (cont = 0; cont < campi.length; cont ++)
      {
      elem = document.createElement (campi [cont][0]);
      elem.id = campi [cont][1];
      padre = document.getElementById (campi [cont][2]);
      padre.appendChild (elem);
      }

}

function initDetails ()
{
   campi = new Array (
      new Array ('H1', 'titolo', 'dettagli'),
      new Array ('P', 'strumenti', 'dettagli'),
      new Array ('A', 'lentepiu', 'strumenti'),
      new Array ('IMG', 'lentepiuimg', 'lentepiu'),
      new Array ('A', 'lentemeno', 'strumenti'),
      new Array ('IMG', 'lentemenoimg', 'lentemeno'),
      new Array ('A', 'lentetutto', 'strumenti'),
      new Array ('IMG', 'lentetuttoimg', 'lentetutto'),
      new Array ('A', 'dwg', 'strumenti'),
      new Array ('IMG', 'dwgimg', 'dwg'),
      new Array ('H2', 'etichetta', 'dettagli'),
      new Array ('P', 'disegno', 'dettagli'),
      new Array ('P', 'note', 'dettagli')
   );

   detDiv = document.getElementById ('dettagli');
   removeAllChilds (detDiv);
   createElements (campi);
   elem = document.getElementById ('strumenti');
   elem.style.textAlign = 'right';

   elem = document.getElementById ('lentepiu');
   elem.href = 'javascript:FlashObj.Zoom (90);';

   elem = document.getElementById ('lentepiuimg');
   elem.src = 'lentepiu.gif';
   elem.alt = 'Zoom +';

   elem = document.getElementById ('lentemeno');
   elem.href = 'javascript:FlashObj.Zoom (110);';

   // elem.style.marginLeft = 10;

   elem = document.getElementById ('lentemenoimg');
   elem.src = 'lentemeno.gif';
   elem.alt = 'Zoom -';

   elem = document.getElementById ('lentetutto');
   elem.href = 'javascript:FlashObj.Zoom (0);';

   elem = document.getElementById ('lentetuttoimg');
   elem.src = 'lentetutto.gif';
   elem.alt = 'Zoom 100%';

   elem = document.getElementById ('dwg');
   elem.style.marginLeft = 30;

   elem = document.getElementById ('dwgimg');
   elem.src = 'dwgico.gif';
   elem.alt = 'File DWG';
}

function setDetails (cont)
{
	if ((typeof (VMenu) == "undefined") || (! VMenu.length))
      return;
   if (! document.getElementById ('disegno'))
      initDetails ();
   changeElemText ('titolo', VMenu [cont][1][Lingua]);
   changeElemText ('etichetta', VMenu [cont][0]);
   changeElemText ('note', VMenu [cont][3][Lingua]);
   dwgLink = document.getElementById ("dwg");
   dwgLink.href = VMenu [cont][2]+'.dwg';

   img = document.getElementById ("disegno");
   // flash = document.getElementById ("swf");
   if (typeof (FlashObj) == "object")
      {
      img.removeChild (FlashObj);
      delete (FlashObj);
      }
   FlashObj = document.createElement ("EMBED");
   FlashObj.id='swf';
   FlashObj.src=VMenu [cont][2]+'.swf';
   FlashObj.name='swf';
   FlashObj.type="application/x-shockwave-flash";
   // flash.mayscript=true;
   // flash.pluginspage="http://www.macromedia.com/go/getflashplayer";
   FlashObj.width="100%";
   FlashObj.height="100%";
   img.appendChild (FlashObj);
   img.style.width = "100%";
   img.style.height = img.offsetWidth * 0.7;
}


function addFlashObj (id, bgc)
{
   // Barra zoom
   document.writeln ('<p><a href="javascript:flashZoom ('+"'"+id+"'"+', 90);">');
   document.writeln ('<img src="lentepiu.gif" alt="Zoom +"></a>');
   document.writeln ('<a href="javascript:flashZoom ('+"'"+id+"'"+', 110);">');
   document.writeln ('<img src="lentemeno.gif" alt="Zoom -"></a>');
   document.writeln ('<a href="javascript:flashZoom ('+"'"+id+"'"+', 0);">');
   document.writeln ('<img src="lentetutto.gif" alt="Zoom 100%"></a></p>');

   // Oggetto flash
   document.writeln ('<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
   document.writeln ('codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,0,0"');
   document.writeln ('width="100%" height="100%" id="'+id+'">');
   document.writeln ('  <param name="movie" value="'+id+'.swf">');
   document.writeln ('  <param name="bgcolor" value="'+bgc+'">');
   document.writeln ('<embed id="'+id+'NS" src="'+id+'.swf" quality="high" width="100%" height="100%"');
   document.writeln ('       bgcolor="'+bgc+'" name="'+id+'" type="application/x-shockwave-flash"');
   document.writeln ('       pluginspage="http://www.macromedia.com/go/getflashplayer">');
   document.writeln ('</object></p>');
}

function flashZoom (id, perc)
{
   if (! (flash = document.getElementById (id+'NS')))
      flash = document.getElementById (id);
      
   if (flash)
      flash.Zoom (perc);
}

function _getLevel (cur)
{
   // NS non gestisce correttamente il cur.level quindi si legge tramite DOM
   // e IE5 non gestisce getNamedItem
   if (cur.attributes && cur.attributes.getNamedItem)
      {
      lev = cur.attributes.getNamedItem ("level");
      if (lev)
         cur.level = lev.value;
      }
   return (''+cur.level);
}

function _mostraNascondi (list, level, nascondi)
{
   var cont = 0;
   var cur = null;

   for (cont = 0; cont < list.length; cont ++)
      {
      cur = list.item (cont);
      lev = _getLevel (cur);
      if (lev.indexOf (level) != -1)
         cur.className = nascondi ? "printStuff" : "";
      else
         _mostraNascondi (cur.childNodes, level, nascondi);
      }
}

function mostraNascondi (level, nascondi, id)
{
   lab = document.getElementById (id);
   _mostraNascondi (lab.childNodes, level, nascondi);
   this.checked = nascondi;
}

function aggiornaCatalogo (flag, level, nascondi, id)
{
   flag = 1 << flag;
   cat = document.getElementById (id);
   list = cat.getElementsByTagName ('TR');
   for (cont = 0; cont < list.length; cont ++)
      {
      cur = list.item (cont);
      lev = _getLevel (cur);
      if (lev.indexOf (level) != -1)
         {
         cur.hideFlags = nascondi ? cur.hideFlags | flag : cur.hideFlags & (~ flag);
         cur.className = cur.hideFlags ? "printStuff" : "";
         }
      }
}

function endPage ()
{
	document.writeln('</div>');
	if (typeof (Figure) != "undefined")
      {
		document.writeln('<div id="figure">');
		for (cont = 0; cont < Figure [Lingua].length; cont ++)
			document.writeln('<p><img src="'+Figure [Lingua][cont]+'"></p>');
		document.writeln('</div>');
      }
}   


function TableRow (cur, dim)
{
	var col = 0;

	document.writeln('<tr>');
	while (col < cur.length)
		{
		document.writeln('<td width="'+dim[col]+'" align="middle">'+cur[col]+'</td>');
		col ++;
		}
	document.writeln('</tr>');
}

function tables ()
{
	var tav = 0;
	var row = 0;
	var cur;
	var dim;
	       
   return;
	if (typeof (Tavole) != "undefined")
		{                                          
		document.writeln('<div id="figure">');
		while (tav < Tavole.length)
			{
			cur = Tavole [tav];
			document.writeln('<h1>'+cur[0][Lingua]+'</h1>');
			document.writeln('<table border="1" cellpadding="0" cellspacing="0" width="300">');
			dim = cur[1];
			TableRow (cur[2][Lingua], dim);
			cur = cur[3];
			row = 0;
			while (row < cur.length)
				{
				TableRow (cur[row], dim);
				row ++;
				}
			document.writeln('</table>');
			tav ++;
			}
		document.writeln('</div>');
		}
}   

