/**
 * vBox class : semblable Ã  slimbox en plus basique et surtout pas de CLONAGE d'Ã©lÃ©ment
 *
 * @copyright Copyright ? Virtua web solutions
**/

var vBox = {
	
	layerId : '',
	
	overlay : null,
	
    init: function(options){

		if (!$(this.layerId)) {
			return ;
		}
		
		// replacement de la popup en cas de scroll et resize
        this.eventPosition = this.position.bind(this);
        window.addEvent('scroll', this.eventPosition)
        window.addEvent('resize', this.eventPosition);
		
		// creation du div opaque
        vBox.overlay = new Element('div').setProperty('id', 'lbOverlay').injectInside(document.body);
        this.overlay.setStyle('opacity', '0.3');
        this.overlay.setStyle('visibility', 'hidden');
        
        // pas possible de fermer la popup en cliquant sur le div opaque
        //this.overlay.onclick = this.closeOverlay.pass(this.overlay, this);
    },
	
	// affichage des layers
    open: function() {   
    
        this.position();
        $(this.overlay).setStyle('visibility', 'visible');
        $(this.layerId).setStyle('visibility', 'visible');
    },
	
	// positionnement des layers
    position: function(){

        this.overlay.setStyles({
            top: window.getScrollTop()+'px', 
            height: window.getHeight()+'px'
        });

        $(this.layerId).setStyles({
            //left: parseInt((window.getScrollWidth()-$(this.layerId).clientWidth)/2)+'px' , 
            left: parseInt( (window.getScrollWidth()/2) - 490) + 'px' ,
            top: this.get_position_from_top(150) + 'px',
            position: 'absolute',
            'z-index': 1000
        });
    },
	
	// fermeture des layers
    closeOverlay: function(){
        $(this.layerId).setStyle('visibility', 'hidden');
        $(this.overlay).setStyle('visibility', 'hidden'); 
    },
    
	/**
	* On incompatible browsers (IE) the div popup goes
	* above the select input boxes so we are hiding them.
	*/
	hideSelectBox : function() {
	
	    $$("select").each(function (e) {
	        e.setStyle('visibility', 'hidden') ;
	    }) ;
	},
	
	showSelectBox : function() {
	
	    $$("select").each(function (e) {
	        e.setStyle('visibility', 'visible') ;
	    }) ;
	},
	
	/**
	 * Retourne une position en pixel à partir du haut de la fentre en fonction de la distance souhaitée
	**/
	get_position_from_top : function(offset) {
	    
	    // IE
	    if (document.all) {
	        y = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
	    // Good Browsers
	    } else { 
	        y = window.pageYOffset;
	    }
	
	    return y + offset ;
	}

};