// Class d'envoie à un ami(e)
var SendEmailClass = new Class({
		Implements: [Options, Events],
		options: {
			btnClass: 'btnSendEmail'
		},
		initialize: function(options){
				this.setOptions(options);
				// On cherche tout les a avec la classe 'btnSendEmail'
				$$('.'+this.options.btnClass).each(function(btn) {
					// Ajout du click sur les liens Envoyez à un ami(e)
					btn.addEvent('click', function(e) {
						e.preventDefault();
						rId = btn.getProperty("href").split("=")[1];
						this.buildEnvoyezAmi();
					}.bind(this));
				},this);
		},
		buildEnvoyezAmi: function() {
			
			// Creation du div sendEmailWrap et injection dans le tag body
			var sendEmailWrap = new Element('div', {
				'id': 'sendEmailWrap',
				'styles': {
					'position': 'absolute',
					'top': 0,
					'left': 0,
					'width': '100%',
					'height': document.body.clientHeight, 
					'display': 'block',
					'text-align': 'center',
					'z-index': 99999,
					'opacity': 0
				}
			}).inject(document.body, 'top');
			
			// Création du div envoyerAmi et injection dans le div sendEmailWrap
			var envoyerAmi = new Element('div', {
				'id': 'envoyerAmi',
				'class': 'envoyerAmi'
			}).inject(sendEmailWrap, 'top');
			
			// Création du div envoyerAmiLoadDiv et injection dans le div envoyerAmi
			var envoyerAmiInner = new Element('div', {
				'class': 'envoyerAmiInner',
				'id': 'envoyerAmiInner'
			}).inject(envoyerAmi, 'top');
			
			// Création du div envoyerAmiLoadDiv et injection dans le div envoyerAmi
			var envoyerAmiLoadDiv = new Element('div', {
				'class': 'envoyerAmiLoadDiv',
				'id': 'envoyerAmiLoadDiv'
			}).inject(envoyerAmiInner, 'top');
			
			// Création du div envoyerAmiBtnClose et injection dans le div envoyerAmi
			var envoyerAmiBtnClose = new Element('img', {
				'id': 'envoyerAmiBtnClose',
				'src': '/lib/images/icones/btn-fermer.png',
				'events': {
					'click': function(){
						sendEmailWrap.fade('out');
					}
				}
			}).inject(envoyerAmi, 'top');
			
			// Création du div envoyerAmiFooter et injection dans le div envoyerAmi
			var envoyerAmiFooter = new Element('div', {
				'class': 'envoyerAmiFooter'
			}).inject(envoyerAmi);
			
			// Ajax call pour le contenu d'envoyez à un ami(e)
			var req = new Request({
				url: '/membre/envoi/form.inc.php',
				encoding: 'iso-8859-1',
				// evalScripts: true, // Fucking bug in IE all version
				// evalResponse: true, // Fucking bug in IE all version
				method: 'get',
				data: {
					'rId': rId,
					'ajaxCall': true
				},
				onRequest: function() {
					envoyerAmiLoadDiv.set('html', '<div style="padding:240px 0; text-align:center;"><img src="/lib/images/ajax-loader.gif" height="24" width="24"></div>');
					$('bigbox001').setStyle('visibility','hidden');
					$('superbanner001').setStyle('visibility','hidden');
					sendEmailWrap.fade('in');
					new Fx.Scroll(window).toElement('sendEmailWrap');
				},
				onComplete: function(response) {
					
					envoyerAmiLoadDiv.set('html', response);
					$$('.envoyerAmiLoadDiv form input').each(function(el,index) {
						(index==0)?el.focus():'';
					});
					
					new ValidateFormV2({
						autoSendForm: false
					}).addEvent('sendForm', function() {
						var sendEl = $('sendEmail').set('send', {
							url: '/membre/envoi/sendValidationAjax.inc.php',
							method: 'post',
							encoding: 'iso-8859-1',
							data: {'ajaxCall': true},
							onComplete: function(response) {
								envoyerAmiLoadDiv.set('html', response);
								(function() {sendEmailWrap.fade('out');}).delay(1000,this);
								$('bigbox001').setStyle('visibility','visible');
								$('superbanner001').setStyle('visibility','visible');
							}
						}).send();
						
					});
					
				},
				onFailure: function() {
					envoyerAmiLoadDiv.set('html', '<div style="padding:240px 0; text-align:center;"><p>Une erreur est survenu! Désolé.</p></div>');
				}
			});
			req.send();
			
		}
});