﻿// JScript File

//
//	Configuration
//
var overlayOpacity = 0.8;
var overlayDuration = 1;

// -----------------------------------------------------------------------------------

//
//	Additional methods for Element added by SU, Couloir
//	- further additions by Lokesh Dhakar (huddletogether.com)
//

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";
    },
    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;
    }
});

//
//  Functions
//

//
//  init_blur()
//  crea l'oggetto overlay
//
function init_blur() {
    var objBody = document.getElementsByTagName("body").item(0);

    var objOverlay = document.createElement("div");
    objOverlay.setAttribute('id', 'overlay');
    objOverlay.style.display = 'none';
    objBody.appendChild(objOverlay);
}
// -----------------------------------------------------------------------------------

//
//  do_blur()
//  visualizza l'overlay con gli effetti impostati
//
function do_blur() {
    var arrayPageSize = getPageSize();
    Element.setHeight('overlay', arrayPageSize[1]);
    Element.setWidth('overlay', arrayPageSize[0]);

    new Effect.Appear('overlay', { duration: overlayDuration, from: 0.0, to: overlayOpacity });
}
// -----------------------------------------------------------------------------------

//
//  hide_blur()
//  nasconde l'overlay
//
function hide_blur() {
    //    try {
    //        document.getElementById("Promo").style.display = "none";
    //    } catch (e) { }
    el = document.getElementById('overlay');
    el.style.display = 'none';
}
// -----------------------------------------------------------------------------------

//
//  resize_blur()
//  ridimensiona l'overlay se la pagina viene ridimensionata
//
function resize_blur() {
    var arrayPageSize = getPageSize();
    Element.setHeight('overlay', arrayPageSize[1]);
    Element.setWidth('overlay', arrayPageSize[0]);
    return;

    el.style.width = document.body.scrollWidth;
    el.style.height = document.body.clientHeight;
}
// -----------------------------------------------------------------------------------

// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
// Edit for Firefox by pHaez
//
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;
        try {
            xScroll = document.body.scrollWidth;
        } catch (e) { }
        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;
}
// -----------------------------------------------------------------------------------
Event.observe(window, 'load', init_blur, false);
Event.observe(window, 'resize', resize_blur, false);
