﻿// JScript File

//
//	Configuration
//
var overlayOpacity = 0.9;
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()
{
    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);