function displayOverlay(h) {
        
        if(objOverlay == undefined) {
            
            var objBody = document.getElementsByTagName("body").item(0);
            
            var objOverlay = document.createElement("div");
            objOverlay.setAttribute('id','overlay');
            objOverlay.onclick = function() { removePopup(); }
            objBody.appendChild(objOverlay);    
            
            var arrayPageSize = getPageSize();
            objOverlay.style.height = arrayPageSize[1]+"px";
            objOverlay.style.height = h+'px';
            
        } else {
            
            objOverlay.style.display = 'block';
            
        }
        
}

function popUp(w, h, image ) {
        var objBody = document.getElementsByTagName("body").item(0);
            
        var objPopup = document.getElementById('popup');
        objPopup.style.width = w+'px';
        objPopup.style.display = 'block';
        objPopup.onclick = function() { return false; }
        
        var objShot = document.getElementById("shot");
        objShot.src = image;
        objShot.style.width = w+"px";
        objShot.style.height = h+"px";
        
        var arrayPageSize = getPageSize();
        objPopup.style.top = (arrayPageSize[3]/2) - (h/2)+scrollingDetector()+"px";
        objPopup.style.left = (arrayPageSize[2]/2)-(w/2)+"px";
        
        displayOverlay();
}

function removePopup() {
        
        var overlay = document.getElementById('overlay');
        overlay.parentNode.removeChild( overlay );
        
        var objShot = document.getElementById("shot");
        objShot.src = 'http://www.thpg.it/images/trasp.gif';
        
        var objPopup = document.getElementById('popup');
        objPopup.style.display = 'none';
        
}

function scrollingDetector(){
    if (navigator.appName == "Microsoft Internet Explorer") {
        return document.body.scrollTop;
    } else {
        return window.pageYOffset;
    }
}

function getPageSize(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
    
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}

	arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight) 
	return arrayPageSize;
}
