// Server per caricare un file ed assegnarlo solo dopo averlo caricato
// http://www.fabriziocalderan.it/code/javascript/ajaxpreload/index.html
function AJAXPreload() {
        var id = '';
        var uri = '';
        var attr = '';
        var clss = '';
        var XMLHttpReqObj = null;    
        
        this.setUri = function(this_uri) {
            uri = this_uri;
        }
        this.setElementOnLoad = function(this_id, this_attr) {
            id = this_id;
            attr = this_attr;
        }
        this.setClassOnLoad = function(this_class) {
            clss = this_class;
        }
        this.initPreload = function() {
            if (typeof XMLHttpRequest != "undefined") {
                XMLHttpReqObj = new XMLHttpRequest();
            }
            else {
                try {
                    XMLHttpReqObj = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {
                        XMLHttpReqObj = new ActiveXObject("Microsoft.XMLHTTP");
                    } 
                    catch (e) {
                        XMLHttpReqObj = null;
                    }
                }
            }
            if (!XMLHttpReqObj) {
                return false;
            }
            else {
                XMLHttpReqObj.open("GET", uri, true);
                XMLHttpReqObj.onreadystatechange = function() {
                    switch (XMLHttpReqObj.readyState) {
                    case 0: // Uninitialized
                    case 1: // Loading
                    case 2: // Loaded
                    case 3: // Ready
                        break;
                    case 4:
                        switch(XMLHttpReqObj.status) {
                            case 200:
                            case 304:
                                document.getElementById(id).setAttribute(attr, uri); 
                                if (!(clss == '')) {
                                    document.getElementById(id).className = clss;
                                }
                                break;
                            case 0: // wrong protocol
                            default:
                                // Catch exception for IE
                        }
                        break;
                    }
                } // function onreadystatechange   
                XMLHttpReqObj.send(null);
                delete XMLHttpReqObj;
            }
        }        
}

// Funzione per richiamare le immagini nella pagina azienda
// l'id dell'immagine da cambiare viene passato come parametro mentre l'id dell'immagine filtro deve chiamarsi: img_[id]_filter

function img_loader(id, obj, load, img) 
{
	// metto l'immagine con il preload
	preload_image_object = new Image();
	preload_image_object.src = load;
	document.images[obj].src= preload_image_object.src
	// cambio il filtro
	i= 1;
	while (document.images['img_0'+ i +'_filter'])
	{
  	document.images['img_0'+ i +'_filter'].style.visibility = 'visible';
  	i++;
	}
	document.images['img_'+ id +'_filter'].style.visibility = 'hidden';
	// carico in cache la nuova immagine e quando è caricata la sostituisco
	objpreload1 = new AJAXPreload();
  objpreload1.setElementOnLoad(obj, 'src');
  objpreload1.setUri(img);
  objpreload1.initPreload();    
}


// Funzione per fare lo zoom delle mappe sula pagina contatti
function zoomContatti(obj, azione, root) 
{
	// definizione array immagini cartine ed indicatori
	cartine = new Array(); 
	cartine[0]= "mondo.gif";
	cartine[1]= "europa.gif"; 
	cartine[2]= "veneto.gif";
	cartine[3]= "dettaglio.gif";
	
	indicatori = new Array(); 
	indicatori[0]= "zoom01.gif";
	indicatori[1]= "zoom02.gif"; 
	indicatori[2]= "zoom03.gif";
	indicatori[3]= "zoom04.gif";
	
	// trovo l'immagine caricata in questo momento
	img= document.images[obj].src;
	confronto = img.split("/");
	confronto= confronto[img.split("/").length -1];
	
	// trovo l'immagine da caricare	
	img= confronto;
	i= 0;
	while (cartine[i])
	{
  	if (confronto == cartine[i]) {
     if (azione == '+') {
     	if (cartine[i+1]) {
     		img= cartine[i+1];
     		zoomi= indicatori[i+1];
     	}
     } else {
     	if (cartine[i-1]) {
     		img= cartine[i-1];
     		zoomi= indicatori[i-1];
     	}
     }	
    }
  	i++;
	}
  
  // carico le immagini
	if (img != confronto) {
		// cambio l'indicatore di livello di zoom
		preload_image_object = new Image();
		preload_image_object.src = root +'/i/' + zoomi;
		document.images['zoom'].src= preload_image_object.src
		// metto l'immagine con il preload
		preload_image_object = new Image();
		preload_image_object.src = root + '/i/indicator_big.gif';
		document.images[obj].src= preload_image_object.src
		// carico in cache la nuova immagine e quando è caricata la sostituisco
		objpreload1 = new AJAXPreload();
	  objpreload1.setElementOnLoad(obj, 'src');
	  objpreload1.setUri(root + '/i/' + img);

	  objpreload1.initPreload();    
	}  
}

// funzione per caricare l'immagine grande nella pagina prodotti
function img_loader_prodotti(obj, img) 
{
  // carico in cache la nuova immagine e quando è caricata la sostituisco
  objpreload1 = new AJAXPreload();
  objpreload1.setElementOnLoad(obj, 'src');
  objpreload1.setUri(img);
  objpreload1.initPreload();    
}

function img_loader_pubblicita(obj, img, src)
{
	preload_image_object = new Image();
	preload_image_object.src = src + '/i/indicator_big.gif';
	document.images[obj].src= preload_image_object.src
  // carico in cache la nuova immagine e quando è caricata la sostituisco
  objpreload1 = new AJAXPreload();
  objpreload1.setElementOnLoad(obj, 'src');
  objpreload1.setUri(img);
  objpreload1.initPreload();    
}

// Funzione per aprire la popUp NoteLegali in HomePage
function PopUp(File) {
//	setDestroyOnClose();
	Dialog.alert({url: File, options: {method: 'get'}}, {windowParameters: {className: "alphacube", draggable: false, width:550, height:377}, okLabel: "Chiudi"});
}	

/* Funzione che rende la riga di una tabella selezionabile come link */
function Righello(IDtabella){
trs=document.getElementById(IDtabella).tBodies[0].rows;
for(i=0;i<trs.length;i++){
      tds=trs[i].cells;
      trs[i].link=tds[0].getElementsByTagName("a")[0].href;
	  str = tds[0].getElementsByTagName("a")[0].id;
      trs[i].title= "Visita " + tds[0].getElementsByTagName("a")[0].id;
      trs[i].style.cursor="pointer";
      trs[i].onclick=function(){document.location.href=this.link};
      trs[i].onmouseover = function(){ this.className="corrente"; img_loader_pubblicita('pubblicita_img', str); }
	  //img_loader_pubblicita('pubblicita_img', str);
	 //	  trs[i].onmouseover = function(){img_loader_pubblicita('pubblicita_img', tds[0].getElementsByTagName("a")[0].id); }
      trs[i].onmouseout = function(){this.className="";}

      }
} 


function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

/*
// Funzione che memorizza i cookies 
function setCookie(sNome, sValore, iGiorni) {
  var dtOggi = new Date()
  var dtExpires = new Date()
  dtExpires.setTime
    (dtOggi.getTime() + 24 * iGiorni * 3600000)
  document.cookie = sNome + "=" + escape(sValore) +
    "; expires=" + dtExpires.toGMTString() + "; path=/";
}

function getCookie(sNome) {
  // genera un array di coppie "Nome = Valore"
  // NOTA: i cookies sono separati da ';'
  var asCookies = document.cookie.split("; ");
  // ciclo su tutti i cookies
  for (var iCnt = 0; iCnt < asCookies.length; iCnt++)
  {
    // leggo singolo cookie "Nome = Valore"
    var asCookie = asCookies[iCnt].split("=");
    if (sNome == asCookie[0]) { 
      return (unescape(asCookie[1]));
    }
  }

  // SE non esiste il cookie richiesto
  return("");
}
*/
/* Funzione di visualizzazione del menu' */		
function showhidemenu(src, lang) {
	$('div#mprod').slideToggle('slow');
	$('ul.menu_prodotti').slideToggle('slow');
	if (readCookie('Menu') != 123) {
		document.getElementById("rowp").src = '/i/row_down.gif';
		//document.getElementById("rowp").src = src + '/i/row_down.gif';
		createCookie('Menu','123',1);
	} else {
		document.getElementById("rowp").src = '/i/row_up.gif';
		createCookie('Menu','012',1);
	}
}

function showhidemenuover(src, lang) {
	$('div#mprod').slideToggle('slow');
	$('ul.menu_prodotti').slideToggle('slow');
	if (readCookie('Menu') != 123) {
		document.getElementById("rowp").src = '/i/row_o_down.gif';
		createCookie('Menu','123',1);
	} else {
		document.getElementById("rowp").src = '/i/row_o_up.gif';
		createCookie('Menu','012',1);
	}
}

/* modifiche 15-07-2008 */
function showhidescheda(src, id) {
	$('div.schedatecnica').slideToggle('slow');
	$('div.schedadetail').slideToggle('slow');
	if (document.getElementById(id).src.indexOf('row_o_up.gif') != -1) {
		createCookie('scheda', 'up', 1);
		document.getElementById(id).src = src + '/i/row_o_down.gif';
	} else {
		createCookie('scheda', 'down', 1);
		document.getElementById(id).src = src + '/i/row_o_up.gif';
	}
}

function hidescheda(src, id) {
	if (document.getElementById(id).src.indexOf('row_o_up.gif') != -1) {
		createCookie('scheda', 'up', 1);
		$('div.schedatecnica').slideToggle('slow');
		$('div.schedadetail').slideToggle('slow');
		document.getElementById(id).src = src + '/i/row_o_down.gif';
	}
}

function setscheda (src, id, product) {
	if(readCookie('product') == product) {
		if (readCookie('scheda') == 'up') {
			$('div.schedatecnica').hide();
			$('div.schedadetail').hide();
			document.getElementById(id).src = src + '/i/row_o_down.gif';
		}
	} else {
		createCookie('product', product, 1);
		createCookie('scheda', '', -1);
	}
}

function setMenu(src, lang) {
	if (readCookie('Menu') == 123) {
		$('div#mprod').hide();
		$('ul.menu_prodotti').hide();
		document.getElementById("rowp").src = src + '/i/row_down.gif';
	} else {
		document.getElementById("rowp").src = src + '/i/row_up.gif';
	}
}

function setMenuOver(src, lang) {
	if (readCookie('Menu') == 123) {
		$('div#mprod').hide();
		$('ul.menu_prodotti').hide();
		document.getElementById("rowp").src = src + '/i/row_o_down.gif';
	} else {
		document.getElementById("rowp").src = src + '/i/row_o_up.gif';
	}

// products show hide finiture on mouseover/mouseout events	
// kept in page for the moment - not working from here
//function ShowThumb(obj, show) 
//        { 
//            if(show)
//            {
//                // show container div
//                $(obj).children("div").css('display', 'block');
//                // get title from div
//                var title = $(obj).children("div").attr("title");
//                // set span content with title
//                $(obj).children("div").children("span").text(title);
//            }
//            else
//            {
//                // hide container div
//                $(obj).children("div").css('display', 'none');
//            }
//        }
//        
// $(document).ready(
//            function()
//            {
//            }
//       );	
}