
/**************************************************************

	Script		: Overlay
	Version		: 1.2
	Authors		: Samuel birch
	Desc		: Covers the window with a semi-transparent layer.
	Licence		: Open Source MIT Licence

**************************************************************/

var Overlay = new Class({
	
	getOptions: function(){
		return {
			colour: '#000',
			opacity: 0.7,
			zIndex: 1,
			container: document.body,
			onClick: Class.empty
		};
	},

	initialize: function(options){
		this.setOptions(this.getOptions(), options);
		
		this.options.container = $(this.options.container);
		
		this.container = new Element('div').setProperty('id', 'OverlayContainer').setStyles({
			position: 'absolute',
			left: '0px',
			top: '0px',
			width: '100%',
			zIndex: this.options.zIndex
		}).injectInside(this.options.container);
		
		this.iframe = new Element('iframe').setProperties({
			'id': 'OverlayIframe',
			'name': 'OverlayIframe',
			'src': 'javascript:void(0);',
			'frameborder': 1,
			'scrolling': 'no'
		}).setStyles({
			'position': 'absolute',
			'top': 0,
			'left': 0,
			'width': '100%',
			'height': '100%',
			'filter': 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)',
			'opacity': 0,
			'zIndex': 1
		}).injectInside(this.container);
		
		this.overlay = new Element('div').setProperty('id', 'Overlay').setStyles({
			position: 'absolute',
			left: '0px',
			top: '0px',
			width: '100%',
			height: '100%',
			zIndex: 2,
			backgroundColor: this.options.colour
		}).injectInside(this.container);
		
		this.container.addEvent('click', function(){
			this.options.onClick();
		}.bind(this));
		
		this.fade = new Fx.Style(this.container, 'opacity').set(0);
		this.position();
		
		window.addEvent('resize', this.position.bind(this));
	},
	
	position: function(){ 
		if(this.options.container == document.body){ 
			var h = window.getScrollHeight()+'px'; 
			this.container.setStyles({top: '0px', height: h}); 
		}else{ 
			var myCoords = this.options.container.getCoordinates(); 
			this.container.setStyles({
				top: myCoords.top+'px', 
				height: myCoords.height+'px', 
				left: myCoords.left+'px', 
				width: myCoords.width+'px'
			}); 
		} 
	},
	
	show: function(){
		this.fade.start(0,this.options.opacity);
	},
	
	hide: function(){
		this.fade.start(this.options.opacity,0);
	}
	
});
Overlay.implement(new Options);

/*************************************************************/
	function fLoader(number) {
		
		$(".loading_"+number).show();
		$(".bg_white").css({
			"left"				:	"50%",
			"margin-left"		:	"-"+(parseInt( $(".loading_"+number+".bg_white").width()/2 )+"px"),
			"top"				:	"50%",
			"margin-top" 		: 	"-"+(parseInt( $(".loading_"+number+".bg_white").height() / 2 )+"px")
		});

		$(".loading_"+number+".bg_white").css("margin-top", ( parseInt($(".loading_"+number+".bg_white").css("margin-top")) + ($(window).scrollTop()) )+"px");
				
		$(".loading_"+number+".bg_white").show();
		
	}
	
	function fCloseLoader(number) {
		$(".loading_"+number+".bg_white").hide();
		$(".loading_"+number).hide();
	}
	
	function closeFlyover(number) {
		$(".flyover_"+number).hide();
	}

// Permet d'afficher les flyovers
	function screenFlyover( popup, number , param ) {
		
		/* On récupére en ajax les données et on les affiches dans la div contenuAjoutePopup */
		//$.scrollTo( "contenuPopup", {duration:10} );
		$("#background_Flyover_"+number).show();
		
		fLoader(number);

		$.ajax({
			type: "post",
			async: true,
			url: "/squelettes/"+popup+".php",
			data:  param,
			success: function(res) {
					
				var res = $.trim(res);
									
				fCloseLoader(number);

				$("#content_Flyover_"+number).html(res);

				$("#content_Flyover_"+number).css({
					"left"				:	"50%",
					"margin-left"		:	"-"+(parseInt( $("#content_Flyover_"+number).width()/2 )+"px"),
					"top"				:	"50%",
					"margin-top" 		: 	"-"+(parseInt( $("#content_Flyover_"+number).height() / 2 )+"px")
				});

				/* Permet de mettre la popup au coin supèrieure si cette dernière est plus grande que la taille de l'écran */
				if ( $(window).height() <= $("#content_Flyover_"+number).height() ) {
					var diffSize = ( parseInt($("#content_Flyover_"+number).height() / 2) - parseInt($(window).height() / 2 ) );
					$("#content_Flyover_"+number).css("margin-top",parseInt($("#content_Flyover_"+number).css("margin-top")) + diffSize + 20);
					$("#content_Flyover_"+number).css("padding-bottom","20px");
				} 
				
				/* Permet de le centrer par rapport au scrool */
				$("#content_Flyover_"+number).css("margin-top", ( parseInt($("#content_Flyover_"+number).css("margin-top")) + ($(window).scrollTop()) )+"px");
				
				/* Permet d'agrandir le background_Flyover */
					if ( $("body").height() > $(window).height() ) {
						sizeBackgroundFlyover = $("body").height();
					} else {
						sizeBackgroundFlyover = $(window).height();
					}
					
					$("#background_Flyover_"+number).height( sizeBackgroundFlyover );
				
				fCloseLoader(number);
				$(".flyover_"+number).show();

			}
		});
		
		
		 $("#background_Flyover_"+number).click( function () {
			 closeFlyover(number);
		});
		
	}

// Permet de fermer un flyover

