function getPageSize(){
    var xScroll, yScroll;
    if (window.innerHeight && window.scrollMaxY) {
        xScroll = window.innerWidth + window.scrollMaxX;
        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
        if(document.documentElement.clientWidth){
            windowWidth = document.documentElement.clientWidth;
        } else {
            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;
    }

    if(yScroll < windowHeight){
        pageHeight = windowHeight;
    } else {
        pageHeight = yScroll;
    }
    if(xScroll < windowWidth){
        pageWidth = xScroll;
    } else {
        pageWidth = windowWidth;
    }
    arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
    return arrayPageSize;
}
function getPageScroll(){

    var xScroll, yScroll;

    if (self.pageYOffset) {
        yScroll = self.pageYOffset;
        xScroll = self.pageXOffset;
    } else if (document.documentElement && document.documentElement.scrollTop){  // Explorer 6 Strict
        yScroll = document.documentElement.scrollTop;
        xScroll = document.documentElement.scrollLeft;
    } else if (document.body) {// all other Explorers
        yScroll = document.body.scrollTop;
        xScroll = document.body.scrollLeft;
    }

    arrayPageScroll = new Array(xScroll,yScroll)
    return arrayPageScroll;
}



function init_fadeAlert(){
        
        var objOverlay = "<div id='overlay' style='display: none;'></div>";
        var objLightbox = "<div id='fadeAlert' style='display: none;'><div id='fadeAlertCont' style='width: 1px; height: 1px;'></div></div>";
        /*document.getElementById('fadeAlertController').innerHTML = objOverlay + objLightbox;*/
        if (document.getElementById('fadeAlertController')){
            document.getElementById('fadeAlertController').innerHTML = objOverlay + objLightbox;
        }
}

function showFadeAlert( testo ){
    var overlayDuration = 0.2;
    var overlayOpacity = 0.5;

    hideSelectBoxes();
    hideFlash();

    var arrayPageSize = getPageSize();
    Element.setWidth('overlay', arrayPageSize[0]);
    Element.setHeight('overlay', arrayPageSize[1]);

    new Effect.Appear('overlay', { duration: overlayDuration, from: 0.0, to: overlayOpacity });

    /*overlayDuration = 0.2;overlayOpacity = 0.5;*/
    testo = "<div id='fadeAlertCont'>"+ testo +"</div>";
    document.getElementById('fadeAlert').innerHTML = testo;
    var arrayPageScroll = getPageScroll();
    var fadeAlertTop = arrayPageScroll[1] + (arrayPageSize[3] / 10);
    var fadeAlertLeft = arrayPageScroll[0];
    Element.setTop('fadeAlert', fadeAlertTop);
    Element.setLeft('fadeAlert', fadeAlertLeft);

    //alert("top="+fadeAlertTop+" - left="+fadeAlertLeft)
    new Effect.Appear('fadeAlert');
    /*Element.show('fadeAlert');*/
    
}

function closeFadeAlert(){
    new Effect.Fade('fadeAlert');
    new Effect.Fade('overlay');
        showSelectBoxes();
        showFlash();
    
}

Object.extend(Element, {
    getWidth: function(element) {
        element = $(element);
        return element.offsetWidth;
    },
    setWidth: function(element,w) {
        element = $(element);
        element.style.width = w +"px";
    },
    setHeight: function(element,h) {
        element = $(element);
        element.style.height = h +"px";
    },
    setTop: function(element,t) {
        element = $(element);
        element.style.top = t +"px";
    },
    setLeft: function(element,l) {
        element = $(element);
        element.style.left = l +"px";
    },
    setSrc: function(element,src) {
        element = $(element);
        element.src = src;
    },
    setHref: function(element,href) {
        element = $(element);
        element.href = href;
    },
    setInnerHTML: function(element,content) {
        element = $(element);
        element.innerHTML = content;
    }
});

function showFlash(){
    var flashObjects = document.getElementsByTagName("object");
    for (i = 0; i < flashObjects.length; i++) {
        flashObjects[i].style.visibility = "visible";
    }

    var flashEmbeds = document.getElementsByTagName("embed");
    for (i = 0; i < flashEmbeds.length; i++) {
        flashEmbeds[i].style.visibility = "visible";
    }
}

// ---------------------------------------------------

function hideFlash(){
    var flashObjects = document.getElementsByTagName("object");
    for (i = 0; i < flashObjects.length; i++) {
        flashObjects[i].style.visibility = "hidden";
    }

    var flashEmbeds = document.getElementsByTagName("embed");
    for (i = 0; i < flashEmbeds.length; i++) {
        flashEmbeds[i].style.visibility = "hidden";
    }

}


function showSelectBoxes(){
    var selects = document.getElementsByTagName("select");
    for (i = 0; i != selects.length; i++) {
        selects[i].style.visibility = "visible";
    }
}

// ---------------------------------------------------

function hideSelectBoxes(){
    var selects = document.getElementsByTagName("select");
    for (i = 0; i != selects.length; i++) {
        selects[i].style.visibility = "hidden";
    }
} 


