// 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 fare lo zoom delle mappe sula pagina contatti
function zoomhome(obj, azione) 
{
	// definizione array immagini cartine ed indicatori
	cartine = new Array(); 
	cartine[0]= "zoom_01.jpg";
	cartine[1]= "zoom_02.jpg"; 
	cartine[2]= "zoom_03.jpg";
	cartine[3]= "zoom_04.jpg";
	
	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 = '/i/home/' + zoomi;
		document.images['zoom'].src= preload_image_object.src
		// metto l'immagine con il preload
		preload_image_object = new Image();
		preload_image_object.src = '/i/home/loader.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('/i/' + img);

	  objpreload1.initPreload();    
	}  
}
