// Détection si IE6
var ie6 = (navigator.userAgent.indexOf("MSIE 6") > -1);

var mf = null;

// ------------------------------------
// 				Fonctions
// ------------------------------------
function fermerDetails() {
	$('fenDetails').fade('out');
}
function ajoutePanier(id) {
	new Request({url: 'index.php?action=addart', method: 'post', onSuccess: function(retour) {
		if (retour) affAlerte(retour, '45%', '40%');
		affPanier();
	}}).send('id_art=' + id + ($('opt1')&&$('opt1').checked?'&opt1=1':'') + ($('opt2')&&$('opt2').checked?'&opt2=1':'') + ($('opt3')&&$('opt3').checked?'&opt3=1':''));
}
function supprPanier(id) {
	new Request({url: 'index.php?action=supart', method: 'post', onSuccess: function(retour) {
		affPanier();
	}}).send('id_lig=' + id);
}
function viderPanier() {
	if (confirm('Vider le contenu du panier ?')) 
		new Request({url: 'index.php?action=suppan', method: 'post', onSuccess: function(retour) {
			affPanier();
		}}).send();
}
function modQuantite(id, valeur) {
	new Request({url: 'index.php?action=majqte', method: 'post', onSuccess: function(retour) {
		affPanier();
	}}).send('id_lig=' + id.toString() + '&valeur=' + valeur.toString());
}
function modCouleur(id, valeur) {
	new Request({url: 'index.php?action=majcol', method: 'post', onSuccess: function(retour) {
		affPanier();
	}}).send('id_lig=' + id.toString() + '&valeur=' + valeur.toString());
}
function affPanier() {
	$('overlay').get('tween').start('opacity', 0.8).chain(function() {
		new Request({url: 'index.php?action=affpan', method: 'post', onSuccess: function(retour) {
			$('fenPanier').set('html', retour); 
			new MooTableau($('tablePanier'), {width: 560, height: 262, highlightColor: '#F7F'});
			initTips();
			$('fenPanier').fade('in');
			$$('.btnAffdet').addEvent('click', function(e) {
				e.stop();
				affArticle(this.get('id').substr(7));
			});
		}}).send(); 
	});
}
function fermerPanier() {
	$('fenPanier').get('tween').start('opacity', 0).chain(function() { $('overlay').fade('out'); });
}
function initZoom() {
	$$('img.imgZoom').setStyle('cursor', 'pointer');
	$$('img.imgZoom').slimbox({counterText: "Image {x} sur {y}"}, function(el) { return [el.src, el.alt]; });
}
function affAlerte(texte, x, y) {
	$('txtMessage').set('html', texte);
	$('divMessage').setStyle('left', x);
	$('divMessage').setStyle('top', y);
	$('divMessage').tween('opacity', 0, 1);
	(function() { $('divMessage').tween('opacity', 0); }).delay(3000);
}
function affArticle(id) {			// Affichage détail article
	if (!$('fenDetails'))	document.location.href = 'index.php?menu=2&id_art=' + id; 	
	else {
		new Request({url: 'index.php?action=affart', method: 'post', 
			onSuccess: function(responseText) {
				if (responseText) {
					$('fenDetails_contenu').set('html', responseText);
					var wait = !(($('menu').getElement('.lien.actif').get('id') == 'sscpromo' && $('ind_promo')) || 
							($('menu').getElement('.lien.actif').get('id') != 'sscpromo' && 
								$('menu').getElement('.lien.actif').get('id') == 'ssc' + $('detart_ssc').get('html')));
					if (wait) {
						$('cat' + $('detart_cat').get('html')).fireEvent('click');
						(function() { $('ssc' + $('detart_ssc').get('html')).fireEvent('click'); }).delay(1000);
					}
					$('fenDetails').setStyle('opacity', 0);
					fermerPanier();
					(function() { 
						mf.master.images.each(function(img, key) {
							if (img.src.substring(img.src.lastIndexOf('/')+1, img.src.lastIndexOf('.')) == id)
								mf.glideTo(key);
						});
						$('det_numart').set('html', mf.index + 1);
						$('det_totart').set('html', mf.iL + 1);
						$('btnArtprec').setStyle('visibility', (mf.index>0?'visible':'hidden'));
						$('btnArtsuiv').setStyle('visibility', (mf.index<mf.iL?'visible':'hidden'));
						$('btnArtprec').addEvent('click', function(e) {
							e.stop();
							mf.prev();
							affArticle(mf.getCurrent().src.substring(mf.getCurrent().src.lastIndexOf('/')+1, mf.getCurrent().src.lastIndexOf('.'))); 
						});
						$('btnArtsuiv').addEvent('click', function(e) {
							e.stop();
							mf.next();
							affArticle(mf.getCurrent().src.substring(mf.getCurrent().src.lastIndexOf('/')+1, mf.getCurrent().src.lastIndexOf('.'))); 
						});
						initZoom();
						$('fenDetails_contenu').getElements('.imgZoom').each(function(obj, key) {
							obj.addreflect({height: ((50 / obj.getSize().y))});
						});
						$('fenDetails').fade('in'); 
					}).delay((wait?3000:10));
				}
			}
		}).send('id_art=' + id);
	}
}

function affFacture(id) {			// Affichage d'une facture
	new Request({url: 'index.php?action=afffac', method: 'post', onSuccess: function(responseText) {
		if (responseText) {
			$('txtFacture').set('html', responseText);
			$('divFacture').tween('opacity', 0, 1);
		}
	} }).send('id=' + id);
}

function imprFacture() {	 		// Impression de la facture affichée à l'écran
	var hndImpress = window.open(null, 'impression', 'height=500, width=850, location=no, status=no, directories=no');
	var contenu = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">' +
					'<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">' +
					'<head>' +
					'<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />' +
					'<meta name="title" content="Emilien Coralie Votre Fleuriste à Lyon" />' +
					'<meta name="description" content="Site marchand de la boutique Emilien Coralie Votre boutique fleurs et décoration" />' +
					'<meta name="keywords" content="fleuriste,marchand,decoration,vente,emilien,coralie,lyon,69001,boutique,e-commerce,creation,original" />' +
					'<meta name="owner" content="Mighty Productions" />' +
					'<meta name="author" content="Mighty Productions" />' +
					'<meta name="robots" content="index,follow" />' +
					'<meta name="revisit_after" content="14" />' +
					'<meta name="robots" content="ALL" />' +
					'<title>Emilien Coralie - Votre boutique fleurs et décoration en ligne - Impression Facture</title>' + 
					'<link rel="stylesheet" type="text/css" href="styles.css" /></head>' +
					'<body style="background: #FFF; color: #000;">' + 
					'<div style="padding: 10px 20px;">' + $('txtFacture').get('html') + '</div>' + '</body></html>';
	hndImpress.document.write(contenu);
	hndImpress.print();
	hndImpress.close();
}

// Initialisation tooltips
function initTips() {
	var fxTips = new Tips('.infobulle');
	fxTips.addEvent('show', function(tip, el){
		if (tip.getElement('.tip-title')) {
			tip.setStyle('z-index', 100000000);
			tip.tween('opacity', 0.9);
		} else tip.fade('out');
	});
	fxTips.addEvent('hide', function(tip, el){
		tip.fade('out');
	});
}

// ------------------------------------
// 				mooTools
// ------------------------------------
window.addEvent('domready', function() {
	
	// ========================================================================
	// Actualités
	var scrollActu = new Fx.Scroll('actu', {transition: 'quad:in:out', duration: 500});
	$('btnNewsAvant').setStyle('opacity', 0.25);
	$('btnNewsApres').setStyle('opacity', ($('actu').getScroll().x==$('actu').getScrollSize().x?0.25:1));
	$$('.btnNews').addEvent('mouseenter', function(e) {
		this.setStyle('border', '1px dotted #666');
		var position = $('actu').getScroll().x + (272 * (this.get('id')=='btnNewsApres'?1:-1));
		scrollActu.start(position, 0).chain(function() {
			$('btnNewsAvant').setStyle('opacity', ($('actu').getScroll().x==0?0.25:1));
			$('btnNewsApres').setStyle('opacity', (($('actu').getScroll().x>=$('actu').getScrollSize().x-548)?0.25:1));
		});
	});
	$$('.btnNews').addEvent('mouseleave', function(e) { this.setStyle('border', '0px'); });
	$$('.btnNews').addEvent('click', function(e) { this.fireEvent('mouseenter'); });
	$$('.actu_news').addEvent('mouseenter', function(e) {
		this.setStyle('background-color', '#FFF');
		if (this.get('id')) this.setStyle('cursor', 'pointer');
	});
	$$('.actu_news').addEvent('mouseleave', function(e) { this.setStyle('background-color', 'transparent'); });
	$$('.actu_news').addEvent('click', function(e) {
		e.stop();
		if (this.get('id')) {
			affArticle(this.get('id'));
		}
	});
	
	// ========================================================================
	// Accueil
	if ($('imgAccueil')) {
		var valCouleur = '#000';							// Changement de couleur de fond
/*		(function(){
			if (valCouleur == '#000') 		valCouleur = '#F8F';
			else if (valCouleur == '#F8F') 	valCouleur = '#F33';
			else if (valCouleur == '#F33') 	valCouleur = '#9F3';
			else if (valCouleur == '#9F3') 	valCouleur = '#FD7';
			else if (valCouleur == '#FD7') 	valCouleur = '#5FF';
			else if (valCouleur == '#5FF') 	valCouleur = '#DDD';
			else if (valCouleur == '#DDD') 	valCouleur = '#000';
			$('contenu').get('tween', {duration: 1500}).start('background-color', valCouleur); 
		}).periodical(1500); */
	}
	
	// ========================================================================
	// Gestion du catalogue
	if ($('menu')) {

		// Menu catégories
		var myAccordion = new Accordion($("accordion"), "div.men_titre", "div.men_contenu", {
			opacity: false,
			onActive: function(toggler, element) { toggler.setStyle("color", "#FFF"); toggler.setStyle("font-weight", "bold"); },
			onBackground: function(toggler, element){ toggler.setStyle("color", "#999"); toggler.setStyle("font-weight", "normal"); }
		});
		$('menu').getElements('.men_titre').addEvent('click', function(e) {
			if (e) e.stop();
			var lienActif = $('menu').getElement('.lien.actif'); 
			if (lienActif) lienActif.removeClass('actif');
			if (this.get('id').substr(3) == 'accueil') {
				this.getParent().getElement('.lien').addClass('actif');
			}
			if ($('fenDetails').getStyle('opacity')>0) (function() { fermerDetails(); }).delay(450);
			$('catalogue').set('html', ''); 
			$('catalogue').setStyle('opacity', 0); 
			$$('.mf').setStyle('opacity', 0); 
			new Request({url: 'index.php?action=affcat&cat=' + this.get('id').substr(3), method: 'post', 
				onSuccess: function(reponse) { 
					$('catalogue').set('html', reponse); 
					if ($('imgcat')) $('imgcat').addreflect({height: ((50 / $('imgcat').getSize().y))});
					$$('.mf').setStyle('opacity', 1); 
					$('catalogue').tween('opacity', 1);
				}
			}).send();
		});
		$('menu').getElements('.lien').addEvent('click', function(e){
			if (e) e.stop();
			if (!this.hasClass('actif')) {
				var lienActif = $('menu').getElement('.lien.actif'); 
				if (lienActif) lienActif.removeClass('actif');
				this.addClass('actif');
				$('catalogue').set('html', '');
				if (this.get('id').substr(3) == 'accueil') {
					new Request({url: 'index.php?action=affcat&ssc=accueil', method: 'post', 
						onSuccess: function(reponse) { $('catalogue').set('html', reponse); }}).send();
				} else { mf.loadHTML('index.php?action=affcat&ssc=' + this.get('id').substr(3), 'div'); }
				if ($('fenDetails').getStyle('opacity')>0) (function() { fermerDetails(); }).delay(450);
			} else fermerDetails();
		});
		if (!ie6) {	// ça tue IE6
			(function() {
				var lienActif = $('menu').getElement('.lien.actif'); 
				if (lienActif) lienActif.tween('background-position', (parseInt(lienActif.getStyle('background-position'))==2?8:2)); 
			}).periodical(500);
		}
		$('menu').getElement('.men_contenu').getElement('.lien').addClass('actif');
				
		// Catalogue
		$('fenDetails').setStyle('opacity', 0);
		$('menu').setStyle('visibility', 'visible');
		mf = new MooFlow($('catalogue'), {
			startIndex: 0,
			bgColor: 'transparent',
			heightRatio: 0.627,
			offsetY: 82,
			reflection: 0.3,
			factor: 120,
			useSlider: true,
			useAutoPlay: false,
			useCaption: true,
			useResize: false,
			useWindowResize: false,
			useMouseWheel: true,
			useKeyInput: true,
			onClickView: function() { 
				affArticle(this.getCurrent().src.substring(this.getCurrent().src.lastIndexOf('/')+1,this.getCurrent().src.lastIndexOf('.'))); 
			},
			onStart: function() {
								
				// Affichage infobulle article
				$('fenInfos').setStyle('opacity', 0);
				$$('.mf img').addEvent('mouseenter', function(e) {
					var image = null;
					if (mf.getCurrent().src == this.get('src')) image = mf.getCurrent();
					else {
						var cpt = 0;
						while (el = mf.getCurrent(cpt)) {
							if (el.get && el.get('src').toLowerCase() == this.get('src').toLowerCase()) { image = el; break; }
							cpt++;
						}
					}
					if (image) {
						$('fenInfos').set('html', image.alt);
						$('fenInfos').setStyle('left', e.page.x - 250);
						$('fenInfos').setStyle('top', e.page.y - ($('fenInfos').getSize().y - 20));
						$('fenInfos').tween('opacity', 0.9);
					}
				});
				$$('.mf img').addEvent('mousemove', function(e) {
					$('fenInfos').setStyle('left', e.page.x - 250);
					$('fenInfos').setStyle('top', e.page.y - ($('fenInfos').getSize().y - 20));
				});
				$$('.mf img').addEvent('mouseleave', function(e) {
					$('fenInfos').fade('out');
				});
			}
		});
		
		// Présélection d'une catégorie / d'un article
		$('catalogue').set('html', '');
		if (idArt) affArticle(idArt);
		else {
			if ($('menu').getElement('.lien').get('id').substr(3) == 'accueil')
				new Request({url: 'index.php?action=affcat&ssc=accueil', method: 'post', 
							onSuccess: function(reponse) { $('catalogue').set('html', reponse); }}).send();
			else
				mf.loadHTML('index.php?action=affcat&ssc=' + $('menu').getElement('.lien').get('id').substr(3), 'div');
		}
	}
	
	// ========================================================================
	// Espace client

	// Inscription nouveau client
	if ($('frmInscr')) {
		$('frmInscr').set('send', {
			url: 'index.php?action=addcli', method: 'post', 
			onSuccess: function(reponse) {
				//$('fenMessage').set('html', reponse);
				//$('fenMessage').setStyle('visibility', 'visible');
				affAlerte(reponse, '45%', '45%');
				(function() { document.location.href = 'index.php?menu=3&rand=' + (Math.floor(Math.random()*100)+1); }).delay(3000);
			}
		});
		$('frmInscr').addEvent('submit', function(e) {
			if (!$('email').value.contains('@') || !$('email').value.contains('.')) {
				e.stop();
				affAlerte('Entrer un email valide...', $('email').getPosition().x, $('email').getPosition().y - 44);
				$('email').highlight('#F8F');
				$('email').focus();
			} else if ($('mdpass1').value.length < 5) {
				e.stop();
				affAlerte('Le mot de passe doit faire 5 caractères minimum...', $('mdpass1').getPosition().x, $('mdpass1').getPosition().y - 58);
				$('mdpass1').highlight('#F8F');
				$('mdpass1').focus();
			} else if ($('mdpass1').value != $('mdpass2').value) {
				e.stop();
				affAlerte('Les mots de passe sont différents...', $('mdpass1').getPosition().x, $('mdpass1').getPosition().y - 58);
				$('mdpass1').highlight('#F8F');
				$('mdpass1').focus();
			} else {
				$('overlay').tween('opacity', 0.8);
				$('frmInscr').send();
			}
		});

		// Login client
		$('frmLogin').set('send', {
			url: 'index.php?action=login', method: 'post', 
			onSuccess: function(reponse) {
				if (reponse) {
					//$('fenMessage').set('html', reponse);
					//$('fenMessage').setStyle('visibility', 'visible');
					affAlerte(reponse, '45%', '45%');
					(function() { document.location.href = 'index.php?menu=3&rand=' + (Math.floor(Math.random()*100)+1); }).delay(3000);
				} else 
					document.location.href = 'index.php?menu=3&rand=' + (Math.floor(Math.random()*100)+1);
			}
		});
		$('frmLogin').addEvent('submit', function(e) {
			if (!$('melcli').value.contains('@') || !$('melcli').value.contains('.')) {
				e.stop();
				affAlerte('Entrer un email valide...', $('melcli').getPosition().x, $('melcli').getPosition().y - 44);
				$('melcli').highlight('#F8F');
				$('melcli').focus();
			} else {
				$('overlay').tween('opacity', 0.8);
				$('frmLogin').send();
			}
		});
		
		// Identifiants perdus...
		$('frmPerdu').set('send', {
			url: 'index.php?action=perdu', method: 'post', 
			onSuccess: function(reponse) {
				//$('fenMessage').set('html', reponse);
				//$('fenMessage').setStyle('visibility', 'visible');
				affAlerte(reponse, '45%', '45%');
				(function() { document.location.href = 'index.php?menu=3&rand=' + (Math.floor(Math.random()*100)+1); }).delay(3000);
			}
		});
		$('frmPerdu').addEvent('submit', function(e) {
			if (!$('melper').value.contains('@') || !$('melper').value.contains('.')) {
				e.stop();
				affAlerte('Entrer un email valide...', $('melper').getPosition().x, $('melper').getPosition().y - 44);
				$('melper').highlight('#F8F');
				$('melper').focus();
			} else {
				$('overlay').tween('opacity', 0.8);
				$('frmPerdu').send();
			}
		});

		// Affichage des CGV
		if ($('btnCGV')) {
			$('btnCGV').addEvent('click', function(e) {
				e.stop();
				$('overlay').get('tween').start('opacity', 0, 0.8).chain(function() {
					$('divCGV').tween('opacity', 0, 1);
				});
			});
			$('overlay').addEvent('click', function(e) {
				$('divCGV').get('tween').start('opacity', 0).chain(function() {
					$('overlay').tween('opacity', 0);
				});
			});
			$('divCGV').addEvent('click', function(e) {
				$('overlay').fireEvent('click', e)
			});
		}
	}

	// Infos personnelles client
	if ($('frmUser')) {
		$('frmUser').set('send', {
			url: 'index.php?action=modusr', method: 'post', 
			onSuccess: function(reponse) {
/*				$('fenMessage').set('html', reponse);
				$('fenMessage').setStyle('visibility', 'visible');
				(function() { document.location.href = 'index.php?menu=3&rand=' + (Math.floor(Math.random()*100)+1); }).delay(3000); */
				affAlerte("Modifications enregistrées.", '45%', '45%');
				(function() { document.location.href = 'index.php?menu=3' }).delay(2000);
			}
		});
		$('frmUser').addEvent('submit', function(e) {
			if (!$('melusr').value.contains('@') || !$('melusr').value.contains('.')) {
				e.stop();
				affAlerte('Entrer un email valide...', $('melusr').getPosition().x, $('melusr').getPosition().y - 44);
				$('melusr').highlight('#F8F');
				$('melusr').focus();
			} else if ($('pw1usr').value.length < 5) {
				e.stop();
				affAlerte('Le mot de passe doit faire 5 caractères minimum...', $('pw1usr').getPosition().x, $('pw1usr').getPosition().y - 44);
				$('pw1usr').highlight('#F8F');
				$('pw1usr').focus();
			} else if ($('pw1usr').value != $('pw2usr').value) {
				e.stop();
				affAlerte('Les mots de passe sont différents...', $('pw1usr').getPosition().x, $('pw1usr').getPosition().y - 44);
				$('pw1usr').highlight('#F8F');
				$('pw1usr').focus();
			} else {
				$('overlay').tween('opacity', 0.8);
				$('frmUser').send();
			}
		});
	}

	// Liste des commandes
	if ($('commandes')) {
		new MooTableau($('commandes'), {width: 480, height: 262, highlightColor: '#F7F'});
	}
		
	// ========================================================================
	// Outils

	// Gestion du panier
	$('overlay').setStyle('opacity', 0);
	$('fenPanier').setStyle('opacity', 0);
	$('btnPanier').addEvent('click', function(e) {
		e.stop();
		affPanier();
	});
	$('overlay').addEvent('click', function(e) {
		e.stop();
		fermerPanier();
	});
		
	// Synchro des options entre php/js
	var reqSession = new Request({url: 'index.php?action=setses', method: 'post'});
	setCouleur(true);

	// Couleur de fond
	$('contenu').setStyle('background-color', '#000');
	if ($('fenDetails')) $('fenDetails').setStyle('background-color', '#000');
	$('btnFond').addEvent('click', function(e) {
		e.stop();
		optCouleur++;
		if (optCouleur > 6) optCouleur = 0;
		setCouleur();
	});
	function setCouleur(nosend) {
		if (optCouleur == 0) 		couleur = '#000';
		else if (optCouleur == 1) 	couleur = '#F8F';
		else if (optCouleur == 2) 	couleur = '#F33';
		else if (optCouleur == 3) 	couleur = '#9F3';
		else if (optCouleur == 4) 	couleur = '#FD7';
		else if (optCouleur == 5) 	couleur = '#5FF';
		else if (optCouleur == 6) 	couleur = '#DDD';
		$('contenu').tween('background-color', couleur);
		if ($('fenDetails')) $('fenDetails').tween('background-color', couleur);
		if (!nosend) reqSession.send('couleur=' + optCouleur);
	}
	
	// ========================================================================
	// Divers

	// Boutons génériques
	$$('.btnConfirm').addEvent('click', function(e) {		// Confirmation sur un lien
		if (!confirm('Confirmer ?')) e.stop();
	});
	$$('.btnValform').addEvent('click', function(e) {		// Validation de forms
		var objForm = this.getParent('form');
		var retourOk = true;
		objForm.getElements('.obligatoire').each(function(obj, key) {
			if (retourOk && (!obj.value || (obj.type == "checkbox" && !obj.checked))) { 
				affAlerte("Ce champ est obligatoire", obj.getPosition().x, obj.getPosition().y - 44);
				retourOk = false; obj.focus(); obj.highlight('#F8F'); 
			}
		});
		if (retourOk) 	objForm.fireEvent('submit', e);
	});

	// Infobulles menu
	initTips();
		
	// Slimbox, zoom des images
	initZoom();

	// Lien actif menu principal	
	var lienActif = $('pied').getElement('a.actif'); 
	if (lienActif) {
		lienActif.setStyle('padding-left', '18px');
		lienActif.setStyle('background', 'url(images/icones/puce.png) no-repeat -3px');
		if (!ie6) {
			(function() {
				lienActif.tween('background-position', (parseInt(lienActif.getStyle('background-position'))==-3?3:-3)); 
			}).periodical(500);
		}
	}
});
