// mixte(2) : solaire (Gr0wl.Bezel) et cliquer ici (Gr0wl.Smoke)

// function solair() {vprog('revenu-solaire/producteur_d-electricite.htm','*** >>> Revenus défiscalisés des panneaux solaires photovoltaïques'); return false}

var Gr0wl = {};

Gr0wl.Base = new Class({
	
	options: {
//		image: 'images/message02canime.gif',
		image: 'images/message_lmnp2010.gif',
		title: '',
//		text: '<img style="cursor:pointer;" alt="Cliquer ici pour Orelle : notre OPPORTUNITE n°1 en LMNP Bouvard" onclick="orelle()" border="0" src="images/transparentpixel.gif" width="100%" height="100%">',
		text: '<img style="cursor:default;" alt="LMNP Bouvard -25% dernière année" border="0" src="images/transparentpixel.gif" width="100%" height="100%">',
		zindex: 11003, // 1003
		lumi: 0.95,
		margintopa: -45,
		margintopb: -165,
		hidur: 800,
		duration: 10 // 5 //10
	},
	
	initialize: function(image) {
		this.image = new Asset.image(image, { onload: this.create.bind(this)});
		return this.show.bind(this);
	},
	
	create: function(styles) {
		this.image.setStyles(
			{
				'position':'absolute',
				'display':'none',
				'z-index':'1002'
			}
			).setOpacity(0).injectInside(document.body);
		this.block = new Element('div').setStyles(
			$extend(
			{
				'position': 'absolute',
				'display': 'none',
				'z-index':this.options.zindex,
				'color':'#fff',
				'font': '12px/14px "Lucida Grande", Arial, Helvetica, Verdana, sans-serif'
			},

			styles.div)
			).setOpacity(0).injectInside(document.body);
		new Element('img').setStyles(styles.img).injectInside(this.block);
		new Element('h3').setStyles(styles.h3).injectInside(this.block);
		new Element('p').setStyles(styles.p).injectInside(this.block);
	},
	
	show: function(options) {
		options = $merge(this.options, options);
		var elements = [this.image.clone(), this.block.clone()];
		elements.each(function(e, i) {
			e.injectInside(document.body);
			e.setStyles(options.position);
			if(i) e.getFirst().setProperty('src', options.image).getNext().setHTML(options.title).getNext().setHTML(options.text);
		});

		new Fx.Elements(elements, {duration:700}).start({
			'0': { 'opacity': [0, this.options.lumi] , 'margin-top': [this.options.margintopa, 0] }, '1': { 'opacity': 1 , 'margin-top': [this.options.margintopb, 0]}
		});
		this.hide.delay(options.duration*1000, this, [elements]);
	},

	hide: function(elements, effect) {
		var effects = new Fx.Elements(elements, {duration:this.options.hidur, onComplete: function() {
			this.elements[0].remove();
			this.elements[1].empty().remove();
		}}).start({'0': effect, '1': effect });
	}
	
});


Gr0wl.Smoke = Gr0wl.Base.extend({
	options: {
		image: 'images/anim/clic/clic23.gif',
		title: 'C l i q u e r &nbsp;&nbsp;  i c i<br><br>pour voir ce<br>programme',
		text: '<img style="cursor:pointer;" alt="Cliquer ici pour voir ce programme" title="Cliquer ici pour voir ce programme" onclick="dirig()" border="0" src="images/transparentpixel.gif" width="100%" height="100%">',
		zindex: 1002,
		lumi: 0.5,
		margintopa: -25,
		margintopb: -85,
		hidur: 1200,
		duration: 2.5
	},

	create: function() {
		this.i=0;
		this.parent({
			div:
			{
				'width': '150px',
				'height':'104px',
				'text-align':'center',
				'padding': 0
			},
			img:
			{
				'margin-top':'0px'
			},
			h3:
			{
				'margin': '0',
				'padding':'0px',
				'padding-top': '2px',
				'font-size': '16px',
				'text-align':'center'
			},
			p:
			{
				'margin': '0px',
				'padding': '0px',
				'width': '150px',
				'height': '104px',
				'display': 'block',
				'position': 'absolute',
				'z-index': '1003',
				'top': '0px',
				'left': '0px'
			}
		});
	},
	
	show: function(options) { if(this.i<1){
		var top = window.getScrollTop()+(window.getHeight()/2)+75,
		left = window.getScrollLeft()+(window.getWidth()/2)-215;
		options.position = {'opacity':0,'top':top+'px', 'left':left+'px', 'display':'block'};
		this.i++;		
		this.chain(this.parent.pass(options,this));
//		if(this.i==1) this.callChain();
	this.callChain.delay(1400,this);
}
	},

	
	hide: function(elements) {
		this.queue.delay(400,this);
		this.parent(elements, { 'opacity': 0, 'margin-top': [0,50] });
	},
	
	queue: function() {
		this.i--;
		this.callChain();
	}
	
});

Gr0wl.Bezel = Gr0wl.Base.extend({
	
	create: function() {
		this.i=0;
		this.parent({
			div:
			{
				'width': '563px',
				'height':'478px',
				'text-align':'center'
			},
			img:
			{
				'margin-top':'9px'
			},
			h3:
			{
				'margin': '0',
				'padding':'0px',
				'padding-top': '22px',
				'font-size': '14px'
			},
			p:
			{
				'margin': '0px',
				'padding': '0px',
				'width': '563px',
				'height': '478px',
				'display': 'block',
				'position': 'absolute',
//				'z-index': '1003',
				'z-index': '11003',
				'top': '0px',
				'left': '0px'
			}
		});
	},
	
	show: function(options) { if(this.i<1){
		var top = window.getScrollTop()+(window.getHeight()/2)-239,
		left = window.getScrollLeft()+(window.getWidth()/2)-277;
		options.position = {'top':top+'px', 'left':left+'px', 'display':'block'};
		this.i++;
		this.chain(this.parent.pass(options,this));
		if(this.i==1) this.callChain();
}
	},
	
	hide: function(elements) {
		this.queue.delay(600,this);
		this.parent(elements, { 'opacity': 0, 'margin-top': [0,50] });
	},
	
	queue: function() {
		this.i--;
		this.callChain();
	}
	
});

Gr0wl.Bezel.implement(new Chain);
Gr0wl.Smoke.implement(new Chain);

var Growl = function(options) {
	if(Growl[options.type]) Growl[options.type].call(options);
	else Growl.Smoke(options);
};

window.addEvent('domready',function() {
//	Growl.Bezel = new Gr0wl.Bezel('images/orelle.gif');
//	Growl.Bezel = new Gr0wl.Bezel('images/morillon.gif');
	Growl.Bezel = new Gr0wl.Bezel('images/lmnp2010.gif');
	Growl.Smoke = new Gr0wl.Smoke('img/bezel_150x104.gif');
});