?
Path : /home/admin/public_html/old/happy2/plugins/system/japopup/multibox/js/ |
Current File : /home/admin/public_html/old/happy2/plugins/system/japopup/multibox/js/overlay.js |
/************************************************************** Script : Overlay Version : 2.0.4 Authors : Samuel Birch Desc : Covers the window with a semi-transparent layer. Licence : Open Source MIT Licence Modified : Liam Smart (liam_smart@hotmail.com) - MooTools 1.2 upgrade **************************************************************/ //start overlay class var Overlay = new Class({ //implements Implements: Options, //options options:{ colour: '#000',//background color of overlay opacity: 0.7,//opacity of overlay zIndex: 100,//the z-index of the overlay (needs to lower than multiBox pop-up) onClick: new Class()//make sure new class is loaded }, //initialization initialize: function(options){ //set options this.setOptions(options); //start building overlay this.container = new Element('div', { 'id': 'OverlayContainer', 'styles': { position: 'absolute', left: 0, top: 0, width: '100%', visibility: 'hidden', overflow: 'hidden', zIndex: this.options.zIndex, opacity: 0 } }).inject(this.options.container,'inside'); this.iframe = new Element('iframe', { 'id': 'OverlayIframe', 'name': 'OverlayIframe', 'src': 'javascript:void(0);', 'frameborder': 0, 'scrolling': 'no', 'styles': { position: 'absolute', top: 0, left: 0, width: '100%', height: '100%', filter: 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)', opacity: 0, zIndex: 101 } }).inject(this.container,'inside'); this.overlay = new Element('div', { 'id': 'Overlay', 'styles': { position: 'absolute', left: 0, top: 0, width: '100%', height: '100%', zIndex: 102, backgroundColor: this.options.colour } }).inject(this.container,'inside'); this.container.addEvent('click', function(){ this.options.onClick(); }.bind(this)); this.fade = new Fx.Morph(this.container); this.position(); //make sure overlay is resized when browser is window.addEvent('resize',this.position.bind(this)); }, position: function(){ if(this.options.container == document.body){ this.container.setStyles({ height: window.getScrollSize().y, width: window.getScrollSize().x }); }else{ var myCoords = this.options.container.getCoordinates(); this.container.setStyles({ top: myCoords.top, height: myCoords.height, left: myCoords.left, width: myCoords.width }); }; }, show: function(){ this.fade.start({ visibility: 'visible', opacity: this.options.opacity }).chain(function() { visibility: 'hidden' }); }, hide: function(){ this.fade.start({ opacity: 0 }).chain(function() { this.container.setStyle('visibility','hidden'); visibility: 'hidden' }.bind(this)); } });