
window.addEvent('domready', init);

var lckCart = false;

function init() {
	
	var stringVar = window.location.href.split('?');
	if(stringVar.length > 1) stringVar = stringVar[1].parseQueryString();
	
	if($('couponcode')) {
		
		var target_coupon = $('couponcode');
		
		target_coupon.getElement('a').addEvent('click', function() {
		
			new Request({
				method: 'post', 
				url: '_includes/getcoupon.php',
				data: 'code=' + target_coupon.getElement('input').get('value'),
				link: 'cancel',
				onSuccess: function(responseText, responseXML) {
					
					(function() { 
					
						window.location.href = 'cart.php'; 
					
					}).delay(200);
													
				},
				onFailure: function(xhr) {
					
				}
			}).send();
						
		});

		
	}
	
	//promos
	
	$$('li.sexplorateur, li.reduction').each(function(elm, i) {
																	
		var linkPromo = elm.getElement('.linkjava').get('href');
		elm.getElement('.linkjava').destroy();
		
		elm.addEvent('click', function(evt) {
									   
			window.location.href = linkPromo; 
									   
		});
						 
	});
	
	$$('.menu li.menuItem, .menu li.mon_compte, .menu li.mon_panier').each(function(elm, i) {
		
		if(elm.get('class') == 'menuItem') {
		
			var thisSelected = false;
			
			if(elm.getElement('a').get('class') == 'selected') {
				
				thisSelected = true;
				elm.getElement('a .menuSel').setStyle('display', 'block');
				
			} else {
				
				elm.getElement('a .menuOff').setStyle('display', 'block');
				
			}
		
			elm.addEvents({
				'mouseenter' : function(evt) {
					
					if(elm.getElement('.submenu')) {
						
						elm.getElement('.submenu').setStyle('display', 'block');
						//console.log(elm.getElement('.submenu').getCoordinates());
						
					}
					
					this.getElement('a .menuOff').setStyle('display', 'none');
					this.getElement('a .menuOn').setStyle('display', 'block');
					this.getElement('a .menuSel').setStyle('display', 'none');
					
				},			  
				'mouseleave' : function(evt) {
					
					if(elm.getElement('.submenu')) elm.getElement('.submenu').setStyle('display', 'none');

					if(!thisSelected) {
						
						this.getElement('a .menuOff').setStyle('display', 'block');
						
					} else {
						
						this.getElement('a .menuSel').setStyle('display', 'block');
						
					}
					
					this.getElement('a .menuOn').setStyle('display', 'none');
					
				}			  
			});
		
		} else {
			
			elm.addEvents({
				'mouseenter' : function(evt) {
					
					if((elm.getElements('.submenu tr').length > 0 || elm.get('class') == 'mon_compte') && elm.getElement('.submenu')) elm.getElement('.submenu').setStyle('display', 'block');
					
					this.getElement('a').addClass('hover');
					
				},			  
				'mouseleave' : function(evt) {
					
					if(elm.getElement('.submenu')) elm.getElement('.submenu').setStyle('display', 'none');
					this.getElement('a').removeClass('hover');
					
				}			  
			});
			
		}
		
	
	});
	
	// slideshow
	
	$$('.slideshow, .liste-vignettes').each(function(elm, i) {
		
		var currentPos = 0;
		
		if(elm.get('class') == 'slideshow') {
			
			var startX = 15;
			var item_width = 216;
			var item_perpage = 4;
		
		} else {
			
			var startX = 0;
			var item_width = 92;
			var item_perpage = 10;
			
		}
		
		var disableHover = false;
	
		var tweenSlider = new Fx.Tween(elm.getElement('ul'), {
			duration: 1000, 
			transition: Fx.Transitions.Quart.easeOut,
			link: 'cancel',
			onStart: function(el) {
				
				disableHover = true;
				
			},
			onComplete: function(el) {
				
				disableHover = false;
				
			}
		});
		
		elm.getElement('.prev').addEvent('click', function(evt) {
			
			tweenMe('prev');
														   
		});
		
		elm.getElement('.next').addEvent('click', function(evt) {
														   
			tweenMe('next');
		
		});
		
		if(elm.get('class') == 'slideshow') {
			
			elm.getElements('a.panier').each(function(elm_i) {
												 
				var target = elm_i;
				var cartId = target.get('href');
				target.set('href', 'javascript:;');
					
				var stringCart = cartId.split('?');
				if(stringCart) stringCart = stringCart[1].parseQueryString();
			
				elm_i.addEvent('click', function(evt) {
												 
					if(!lckCart) {
						
						generateCart('insert', stringCart.id, false, false, 'cart.php', this);
						
					}
					
					lckCart = true;
					
				});
				
			});
		
		}
		
		var numberItems = elm.getElements('li').length - 1;
		
		elm.getElements('li').each(function(elm_item, i_item) {
											
			if(elm.get('class') == 'slideshow') {
				
				elm_item.addEvents({
					'mouseenter': function(evt) {
						
						if(!disableHover) this.getElement('div').removeClass('hide');
						
					},		  
					'mouseleave': function(evt) {
						
						this.getElement('div').addClass('hide');
						
					}
				});
			
			} else {
				
				var getPordId = elm_item.getElement('a').get('href').split('?');
				getPordId = getPordId[1].parseQueryString().id;
				var targetHide = $('hover_' + getPordId);
			
				targetHide.getElement('a.panier').addEvent('click', function(evt) {
																			 
					var cartId = this.get('href');
					this.set('href', 'javascript:;');
					
					var stringCart = cartId.split('?');
					if(stringCart) stringCart = stringCart[1].parseQueryString();
																												
					generateCart('insert', stringCart.id, false, false, 'cart.php', this);
				
				});
			
				targetHide.addEvents({
					'mouseenter': function(evt) {
						
						targetHide.removeClass('hide');
						
					},		  
					'mouseleave': function(evt) {
						
						targetHide.addClass('hide');
						
					}
				});
												
				elm_item.addEvents({
					'mouseenter': function(evt) {
						
						targetHide.removeClass('hide');
						var ipos = elm_item.getPosition(elm.getElement('.slideshowhide'));
						
						targetHide.setStyles({
							'left':ipos.x,
							'top':ipos.y - 100
						});
						
						if(!disableHover) targetHide.removeClass('hide');
						
					},		  
					'mouseleave': function(evt) {
						
						targetHide.addClass('hide');
						
					}
				});
			
				var idProd = elm_item.getElement('a').get('href').split('?');
				if(idProd) idProd = idProd[1].parseQueryString().id;
				
				if(idProd == stringVar.id) {
					
					elm_item.addClass('over');
					
					if(numberItems >= 10) {
						
						currentPos = i_item / -1;	
						if(currentPos < ((numberItems - (item_perpage-1)) / -1)) currentPos = ((numberItems - (item_perpage-1)) / -1);
						elm.getElement('ul').setStyle('left', (currentPos * item_width));
						
					}
					
				}
				
			}
		
		});
		
		elm.getElement('ul').setStyle('width', item_width * ((numberItems + 1) + i));
		
		function tweenMe(etat) {

			if(etat == 'prev') {
				
				currentPos++;
				if(currentPos > 0) currentPos = 0;
				
			} else {
				
				currentPos--;
				if(currentPos < ((numberItems - (item_perpage-1)) / -1)) currentPos = ((numberItems - (item_perpage-1)) / -1);
				
			}
			
			tweenSlider.start('left', (currentPos * item_width) + startX);
		
		}
		
		//if(numberItems < 10) tweenSlider.start('left', 0);
	
	});
		
	//tabs
	
	$$('.tabs').each(function(elm, i) {
			
		elm.getElements('ul li').each(function(elm_hover, i_hover) {
											   
			var targetHide = 	elm_hover.getElement('.hover');				  
			
			if(targetHide) {
				
				if(targetHide.getElement('a.panier')) {
						
					targetHide.getElement('a.panier').addEvent('click', function(evt) {
																				 
						var cartId = this.get('href');
						this.set('href', 'javascript:;');
						
						var stringCart = cartId.split('?');
						if(stringCart) stringCart = stringCart[1].parseQueryString();
																													
						generateCart('insert', stringCart.id, false, false, 'cart.php', this);
					
					});
				
				}
			
				elm_hover.addEvents({
					'mouseenter': function(evt) {
						
						var ipos = elm_hover.getPosition();
						
						targetHide.setStyles({
							'left':-28,
							'top':-40
						});
						
						targetHide.removeClass('hide');
						
					},		  
					'mouseleave': function(evt) {
						
						targetHide.addClass('hide');
						
					}
				});
				
			}
		
		});
							  							  
		if(elm.getElement('.tabs_nav li')) {
			
			elm.getElements('.tabs_nav li').each(function(elm_item, i_item) {
													   
				elm_item.getElement('a').addEvent('click', function(evt) {
					
					elm.getElements('.tabs_item').setStyle('display', 'none');
					if($('tab_' + i + '_' + i_item)) $('tab_' + i + '_' + i_item).setStyle('display', 'block');
					
					elm.getElements('.tabs_nav a').removeClass('active');
					this.addClass('active');
				
				});
													   
			});
			
			elm.getElements('.tabs_item').each(function(elm_item, i_item) {
				
				elm_item.set('id', 'tab_' + i + '_' + i_item);
				
			});
			
			(function() { elm.getElement('.tabs_nav a').fireEvent('click'); }).delay(100);
		
		}
							  
	});
	
	// promo
	
	$$('.promo').each(function(elm, i) {
		
		var timeline;
		var item_height = 77;
		var progress_width = 76;
		var total_items = 3;
		var timelinepos = 1;
		var myI = i;
		
		elm.getElements('ol li').each(function(elm_item, i_item) {
			
			elm_item.set('id', 'img_promo_' + i + '_' + i_item);
													   
		});
		
		elm.getElements('.nav_promo li').each(function(elm_item, i_item) {
			
			elm_item.set('id', 'promo_' + i + '_' + i_item);
			elm_item.setStyle('top', i_item * item_height);
			elm_item.addEvent('click', function(evt) {
				
				if(evt) {
					
					timelinepos = i_item;
					$clear(timeline);
					
				}
				
				elm.getElements('ol li').setStyle('display', 'none');
				$('img_promo_' + i + '_' + i_item).setStyle('display', 'block');

				elm.getElements('.nav_promo li').removeClass('focus');
				this.addClass('focus');
				
				elm.getElement('.progress').setStyle('width', Math.round((i_item + 1) * progress_width / total_items));
			
			});
													  
		})
		
		elm.getElement('.nav_promo li').fireEvent('click');
		
		elm.getElement('.play').addEvent('click', function(evt) {
			
			if(this.get('class') == 'play pause') {
				
				$clear(timeline);
				this.removeClass('pause');
				
			} else {
				
				timeline = (function() { 
										 
					$('promo_' + i + '_' + timelinepos).fireEvent('click');
					
					if(timelinepos < (total_items - 1)) {
						
						timelinepos++;
						
					} else {
						
						timelinepos = 0;
						
					}
			
				}).periodical(5000);
				
				this.addClass('pause');
				
			}
			
		});
		
		elm.getElement('.play').fireEvent('click');
							   
	});
	
	//col-photo
	
	var currentPhoto = 0;
	
	$$('.col-photo').each(function(elm, i) {
								   
		elm.getElement('.lien-agrandir').addEvent('click', function(evt) {
																	
			openPopup('zoom');
			
		});
								   
		elm.getElements('.liste-vignettes-produit a').each(function(elm_item, i_item) {
		
			var medImage = elm_item.get('href');
			elm_item.set('href', 'javascript:;');
			
			elm_item.addEvent('click', function(evt) {
				
				currentPhoto = i_item;
				elm.getElement('img').set('src', medImage);
																					
			});
			
		});
		
		elm.getElement('.liste-vignettes-produit a').fireEvent('click');
								   
	});
	
	//#img-popup-container
	
	if($('img-popup-container')) {
		
		var zoom_target = $('img-popup-container');
		
		zoom_target.getElements('.fermer, .bg').addEvent('click', function(evt) {
																				  
			zoom_target.setStyle('display', 'none');	
																				  
		});
		
		if(zoom_target.getElement('.vignettes ul a')) {
			
			zoom_target.getElements('.vignettes ul a').each(function(elm, i) {
																	  
				var bigImage = elm.get('href');
				
				elm.set({
					'href': 'javascript:;',
					'id': 'photo_' + i
				});
				
				var mImg = new Element('img', {
					'src': 'img/vide.gif'	,
					'width': 450,
					'height': 330
				});
				
				zoom_target.getElement('.photoContenaire').grab(mImg);
				
				elm.addEvent('click', function(evt) {
					
					/*
					var myImages = new Asset.images([bigImage], {
						onComplete: function(){
							
							zoom_target.getElement('.photo-nav .photoContenaire').grab(this);
							
						}
					})		
					*/
					
					zoom_target.getElement('.photoContenaire img').set('src', bigImage);
																						
				});
																	  
			});
			
			zoom_target.getElement('.prev').addEvent('click', function(evt) {
			
				if($('photo_' + (currentPhoto - 1))) {
					
					currentPhoto--;
					$('photo_' + currentPhoto).fireEvent('click');
					
				}
			
			});
			
			zoom_target.getElement('.next').addEvent('click', function(evt) {
			
				if($('photo_' + (currentPhoto + 1))) {
					
					currentPhoto++;
					$('photo_' + currentPhoto).fireEvent('click');
					
				}
			
			});
			
		}
		
	}
	
	//bloc-boutons
	
	$$('.bloc-boutons').each(function(elm, i) {
									  
		elm.getElements('.craintes li a, .bordure3 li a').addEvent('click', function(evt) {
		
			openPopup(this.get('class'));
		
		});
		
	});
	
	$$('.lien-video').addEvent('click', function(evt) {
												 
		openPopup('video');
	
	});
	
	if($('linkvidactive')) {
		
		if(videoOn) openPopup('video');
	
	}
	
	function openPopup(target) {
		
		$('img-popup-container').getElements('.inner').setStyle('display','none');
		
		if(Browser.Engine.trident && Browser.Engine.version == 4) {
			
		} else {
			
			$('img-popup-container').setStyle('display', 'block');
			
		}
		
		switch (target) {
			case 'zoom' :
			
				if(Browser.Engine.trident && Browser.Engine.version == 4) {
					
				} else {
						
					var innerHeight = $('inner-galerie').getElement('.box').measure(function(){
						return this.getHeight();
					});
					
					$('inner-galerie').setStyles({
						'left':Math.round((window.getWidth() - 781) / 2),
						'top': Math.round((window.getHeight() - innerHeight - 60) / 2),
						'display': 'block'
					});
						
				}
						
				$('photo_' + currentPhoto).fireEvent('click');
		
				break;
				
			case 'video' :
			
				if(Browser.Engine.trident && Browser.Engine.version == 4) {
					
				} else {
					
					var innerHeight = $('inner-video').getElement('.body').measure(function(){
						return this.getHeight();
					});
					
					$('inner-video').setStyles({
						'left':Math.round((window.getWidth() - 617) / 2),
						'top': Math.round((window.getHeight() - innerHeight - 430) / 2),
						'display': 'block'
					});
						
				}
							
				break;
				
			case 'bt-confidentialite' :
				
				if(Browser.Engine.trident && Browser.Engine.version == 4) {
					
					alert($('inner-confidentialite').getElement('.body').get('text'));
					
				} else {
					
					var innerHeight = $('inner-confidentialite').getElement('.body').measure(function(){
						return this.getHeight();
					});
					
					$('inner-confidentialite').setStyles({
						'left':Math.round((window.getWidth() - 617) / 2),
						'top': Math.round((window.getHeight() - innerHeight - 430) / 2),
						'display': 'block'
					});
					
				}
				
				break;
				
			case 'bt-retour' :
			
				if(Browser.Engine.trident && Browser.Engine.version == 4) {
					
					alert($('inner-retour').getElement('.body').get('text'));
					
				} else {
					
					var innerHeight = $('inner-retour').getElement('.body').measure(function(){
						return this.getHeight();
					});
					
					$('inner-retour').setStyles({
						'left':Math.round((window.getWidth() - 617) / 2),
						'top': Math.round((window.getHeight() - innerHeight - 430) / 2),
						'display': 'block'
					});
					
				}
						
				break;
				
			case 'bt-expedition' :
			
				if(Browser.Engine.trident && Browser.Engine.version == 4) {
					
					alert($('inner-expedition').getElement('.body').get('text'));
					
				} else {
					
					var innerHeight = $('inner-expedition').getElement('.body').measure(function(){
						return this.getHeight();
					});
					
					$('inner-expedition').setStyles({
						'left':Math.round((window.getWidth() - 617) / 2),
						'top': Math.round((window.getHeight() - innerHeight - 430) / 2),
						'display': 'block'
					});
						
				}
				
		
				break;
		}
	
	}
	
	//filtres
	
	function buildFilter(filter, page, showall) {
		
		if(!showall) showall = 0;
		if(!page) page = 1;
		
		var currentid = stringVar.id;
		var currentfiltre = stringVar.filtre;
		if(!stringVar.filtre) currentfiltre = '';
		
		var labelnext = 'Suivante &raquo;';
		var labelprev = '&laquo; Pr&eacute;c&eacute;dente';
		var labelvoirtout = 'Voir tous les r&eacute;sultats';
		if(lang == 'en') labelnext = 'Next &raquo;';
		if(lang == 'en') labelprev = '&laquo; Previous';
		if(lang == 'en') labelvoirtout = 'See All Results';
		
		if($('section_filtre').get('value') !== 0) currentid = $('section_filtre').get('value');
		
		new Request.HTML({
			url: '_includes/inc.filtre.php',
			data: 'lang=' + lang + '&filtre=' + currentfiltre + '&id=' + currentid + '&sexe=' + $('sexe_filtre').get('value') + '&homo=' + $('homo_filtre').get('value') + '&prix=' + $('prix_filtre').get('value') + '&page=' + page + '&showall=' + showall + '&filter=' + filter,
			update: $('update_filtre'),
			onComplete: function() {
				
				$('update_filtre').getElements('a.panier').each(function(elm, i) {
																		 
					var target = elm;
					var cartId = target.get('href');
					target.set('href', 'javascript:;');
					
					var stringCart = cartId.split('?');
					if(stringCart) stringCart = stringCart[1].parseQueryString();
					
					elm.addEvent('click', function(evt) {
																						  
						if(!lckCart) {
							
							generateCart('insert', stringCart.id, false, false, 'cart.php', this);
							
						}
						
						lckCart = true;
																						  
					});
				
				});
				
				$('update_filtre').getElements('ul.produits li').addEvents({
					'mouseenter' : function(evt) {
						
						this.getElement('.hover').removeClass('hide');
						
					},
					'mouseleave' : function(evt) {
						
						this.getElement('.hover').addClass('hide');
						
					}
				});
				
				$('pager').empty();
				
				var displayed = paginateperpage * page;
				if(displayed > paginatetotal) displayed = paginatetotal;
				
				var labelde = ' de ';
				if(lang == 'en') labelde = ' of ';
				
				if(paginate > 1) {
					
					new Element('li', {'class':'label', 'html': displayed + labelde + paginatetotal + ' items'}).inject($('pager'));
					
					new Element('li', {
						'class':'prev'
					}).adopt(
						new Element('a', {
							'href':'javascript:;',
							'html': labelprev,
							'events': {
								'click': function(evt) {
									
									var prevPage = page - 1;
									if(prevPage < 1) prevPage = 1;
									buildFilter(filter, prevPage);
									
								}	
							}
							
						})
					).inject($('pager'));
					
					for(i = 1; i <= paginate; i++) {
						
						var selected = '';
						if(i == page) selected = 'selected';
						
						new Element('li', {
							'class':'number'
						}).adopt(
							new Element('a', {
								'href':'javascript:;',
								'class': selected,
								'html': i,
								'events': {
									'click': function(evt) {
										
										buildFilter(filter, this.get('text').toInt());
										
									}	
								}
								
							})
						).inject($('pager'));
						
					}
					
					new Element('li', {
						'class':'next'
					}).adopt(
						new Element('a', {
							'href':'javascript:;',
							'html': labelnext,
							'events': {
								'click': function(evt) {
									
									var nextPage = page + 1;
									if(nextPage > paginate) nextPage = paginate;
									buildFilter(filter, nextPage);
									
								}	
							}
							
						})
					).inject($('pager'));
					
					new Element('li', {
						'class':'all' 
					}).adopt(
						new Element('a', {
							'href':'javascript:;',
							'html': labelvoirtout,
							'events': {
								'click': function(evt) {
									
									buildFilter(filter, 1, 'showall');
									
								}	
							}
							
						})
					).inject($('pager'));
					
					$('prv_bas').setStyle('display', 'block');
					$('nxt_bas').setStyle('display', 'block');
				
				} else {
					
					$('prv_bas').setStyle('display', 'none');
					$('nxt_bas').setStyle('display', 'none');
				
				}
				
				/**/
				
				$$('.colonne_2').each(function(elm, i) {
											   
					elm.getElements('li').each(function(elm_hover, i_hover) {
									   
						var targetHide = 	elm_hover.getElement('.hover');				  
						
						if(targetHide) {
							
							targetHide.getElement('a.panier').addEvent('click', function(evt) {
																						 
								var cartId = this.get('href');
								this.set('href', 'javascript:;');
								
								var stringCart = cartId.split('?');
								if(stringCart) stringCart = stringCart[1].parseQueryString();
																															
								generateCart('insert', stringCart.id, false, false, 'cart.php', this);
							
							});
						
							elm_hover.addEvents({
								'mouseenter': function(evt) {
									
									var ipos = elm_hover.getPosition();
									
									targetHide.setStyles({
										'left':-28,
										'top':-22
									});
									
									targetHide.removeClass('hide');
									
								},		  
								'mouseleave': function(evt) {
									
									targetHide.addClass('hide');
									
								}
							});
							
						}
					
					});
											   
				});
							
				/**/
				
			},
			onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
				
			}
		}).post();
		
	}
	
	if($('filtres')) {
	
		$$('#ventes, #prixlow, #prixhigh').addEvent('click', function(evt) {
			
			$('filtrerparlist').getElements('li a').removeClass('selected');
			this.addClass('selected');
			
			buildFilter(this.get('id'));
			
		});
			
		$('formfiltre').getElements('select').addEvent('change', buildFilter);
		$('prixhigh').fireEvent('click');
		
		
		$$('.pager_2 .precedent').addEvent('click', function(evt) {
			
			$('pager').getElement('.prev a').fireEvent('click');
		
		});
		
		$$('.pager_2 .next').addEvent('click', function(evt) {
			
			$('pager').getElement('.next a').fireEvent('click');
		
		});
		
		$$('.desactiver_filtre').addEvent('click', function(evt) {
															
			window.location.reload();	
			
		});
	
	}
	
	//
	
	/**/
	
	$$('.bloc-boutons').each(function(elm, i) {
								   
		elm.getElements('li').each(function(elm_hover, i_hover) {
						   
			var targetHide = 	elm_hover.getElement('.hover');				  
			
			if(targetHide) {
				
				targetHide.getElement('a.panier').addEvent('click', function(evt) {
																			 
					var cartId = this.get('href');
					this.set('href', 'javascript:;');
					
					var stringCart = cartId.split('?');
					if(stringCart) stringCart = stringCart[1].parseQueryString();
																												
					generateCart('insert', stringCart.id, false, false, 'cart.php', this);
				
				});
			
				elm_hover.addEvents({
					'mouseenter': function(evt) {
						
						var ipos = elm_hover.getPosition();
						
						targetHide.setStyles({
							'left':-28,
							'top':-22
						});
						
						targetHide.removeClass('hide');
						
					},		  
					'mouseleave': function(evt) {
						
						targetHide.addClass('hide');
						
					}
				});
				
			}
		
		});
								   
	});
				
	/**/
	
	//cart
	
	$$('.sauvegarder_mon_panier').each(function(elm, i) {
		
		var target = elm;
		var align = target.getCoordinates();		
		
		var setLeft = align.left - 25;
		var setTop = align.top - 45;
						
		elm.addEvent('click', function(evt) {
									   
			if(this.get('href') == 'javascript:;') {
										   
				var popupadd = new Element('div', {
					'class': 'popupadd',
					'html': 'Votre panier a &eacute;t&eacute; sauvegard&eacute;',
					'styles': {
						
						'left': setLeft,
						'top': setTop
						
					}
				});
				
				popupadd.inject(document.getElement('body'), 'top');
				
				var tweenPopup = new Fx.Tween(popupadd, {
					duration: 500, 
					transition: Fx.Transitions.Quart.easeOut,
					link: 'cancel',
					onComplete: function(e) {
						
						e.destroy();
						
					}
				}).set('opacity', 1);
									   				
				new Request({
					method: 'post', 
					url: '_includes/script.savecart.php',
					link: 'cancel',
					onSuccess: function(responseText, responseXML) {
						
						tweenPopup.start('opacity', 100, 0);
									
					},
					onFailure: function(xhr) {
						
					}
				}).send();
			
			}
			
		});
		
	});
	
	$$('.addtocart').each(function(elm, i) {
		
		var target = elm.getElement('a');
		var cartId = target.get('href');
		target.set('href', 'javascript:;');
		
		if(elm.getParent().get('id') !== 'btoff') {
						
			var stringCart = cartId.split('?');
			if(stringCart) stringCart = stringCart[1].parseQueryString();
					
			target.addEvent('click', function(evt) {
						
				if(!lckCart) {
					
					generateCart('insert', stringCart.id, false, false, stringCart.redirect, this);
					
				}
				
				lckCart = true;
				
			});
		
		} 
		
	});
	
	
	generateCart('nothing', false);
		
	$$('.content .cart .cartprod').each(function(elm, i) {
												 
		var myPos = elm.getElement('.prodkey').get('value');

		elm.getElement('.quantite select').addEvent('change', function(evt) {
																	   													   
				elm.getElement('.total').set('text', number_format((elm.getElement('.prix input').get('value') * elm.getElement('.quantite select').get('value')), 2, '.', '') + '$');
				
				generateCart('update', elm.get('id').split('_').pop(), elm.getElement('.quantite select').get('value'), myPos);
				
				var total = 0;
				var totalshipping = 0;
				
				$$('.content .cart .cartprod').each(function(elm_total, i_total) {
															 
					total += elm_total.getElement('.prix input').get('value') * elm_total.getElement('.quantite select').get('value');
					totalshipping += elm_total.getElement('.quantite input').get('value') * elm_total.getElement('.quantite select').get('value');		
					
				});
			
				total = total;
				totalshipping = totalshipping;
				totalshipping = totalshipping + 7.95;
				if(total >= 59.95) totalshipping = 0;
				
				var grandsubtotal = total + totalshipping;
				
				$('total_soustotal').set('text', number_format(total, 2, '.', '') + '$');  
				$('total_shipping').set('text', number_format(totalshipping, 2, '.', '') + '$');  
				$('total_tps').set('text', number_format((grandsubtotal * 0.05), 2, '.', '') + '$');  
				$('total_tvq').set('text', number_format(((grandsubtotal + (grandsubtotal * 0.05)) * 0.075), 2, '.', '') + '$');  
				$('total_total').set('text', number_format((grandsubtotal + (grandsubtotal * 0.05) + ((grandsubtotal + (grandsubtotal * 0.05)) * 0.075)), 2, '.', '') + '$');  
													   
		});
		
		elm.getElement('.tools a').addEvent('click', function(evt) {
				
			generateCart('delete', false, false, myPos, false, this);
			elm.destroy();
						
		});
		
	});
	
	if($('cartcalcul') && $('cartcalcul').getElement('.quantite select')) $('cartcalcul').getElement('.quantite select').fireEvent('change');
			
	//login
	
	$$('.ouvrir_session').addEvent('click', function(evt) {
												
		
		//(function() { this.getParent().submit(); }).delay(100);
		
		var target = this.getParent();
		 
		(function() { target.submit(); }).delay(100);

	
	});
	
	if($('logmeform') || $('logmeform_b')) {
		
		$$('.logmeenter input').addEvent('keypress', function(evt) {
			
			if(evt.key == 'enter') {
				
				if(this.getParent().getParent().getParent().get('tag') == 'form') {
					
					$('logmeform').submit();
				
				} else {
					
					$('logmeform_b').submit();
					
				}
				
			}
												  
		});
		
	}
	
	$$('#creatacount, #editacount').addEvent('click', function(evt) {
															   
		if(this.get('id') == 'creatacount') {
			
			var listChk = new Array(
				'f_prenom',
				'f_nom',
				'f_telephone',
				'f_courriel',
				'f_adresse',
				'f_ville',
				'f_province',
				'f_pays',
				'f_codepostal',
				'n_pass',
				'passrepete',
				'question',
				'reponse',
				'n_user'
			);
			
			var error = false;
					
			new Request({
				method: 'post', 
				url: '_includes/script.userexist.php',
				data: 'user=' + $('n_user').get('value'),
				link: 'cancel',
				onSuccess: function(responseText, responseXML) {
					
					listChk.each(function(elm, i) {
								
						var target = $(elm);
						
						if(!target.get('value')) {
							
							target.getParent().getParent().getElement('label').addClass('error');
							error = true;
							
						} else {
							
							target.getParent().getParent().getElement('label').removeClass('error');
							
						}
								  
					});
					
					if(!$('accept').get('checked')) {
						
						$('accept').getParent().getParent().getElement('label').addClass('error');
						error = true;
						
					} else {
						
						$('accept').getParent().getParent().getElement('label').removeClass('error');
						
					}
					
					if($('n_pass').get('value') !== $('passrepete').get('value')) {
						
						$('n_pass').getParent().getParent().getElement('label').addClass('error');
						$('passrepete').getParent().getParent().getElement('label').addClass('error');
						 
						error = true;
						
					}
					
					if(responseText == 'true') {
						
						$('n_user').getParent().getParent().getElement('label').addClass('error');
	
						error = true;
						
					}
					
					if(!error) (function() { $('creer_mon_compte_stp2').submit(); }).delay(100);
					
				}
				
			}).send();
			
		} else {
			
			var listChk = new Array(
				'f_prenom',
				'f_nom',
				'f_telephone',
				'f_courriel',
				'f_adresse',
				'f_ville',
				'f_province',
				'f_pays',
				'f_codepostal',
				'n_pass',
				'passrepete',
				'question',
				'reponse'
			);
			
			listChk.each(function(elm, i) {
						
				var target = $(elm);
				
				if(!target.get('value')) {
					
					target.getParent().getParent().getElement('label').addClass('error');
					error = true;
					
				} else {
					
					target.getParent().getParent().getElement('label').removeClass('error');
					
				}
						  
			});
						
			if($('n_pass').get('value') !== $('passrepete').get('value')) {
				
				$('n_pass').getParent().getParent().getElement('label').addClass('error');
				 $('passrepete').getParent().getParent().getElement('label').addClass('error');
				 
				error = true;
				
			}
			
			if(!error) (function() { $('creer_mon_compte_stp2').submit(); }).delay(100);
			
		}
		
	});	
	
	//transaction_stp1 
	
	if($('transaction_stp1')) {
		
		var listSync = new Array(
			'f_prenom',
			'f_nom',
			'f_telephone',
			'f_courriel',
			'f_adresse',
			'f_ville',
			'f_province',
			'f_pays',
			'f_codepostal'
		);
	
		$('syncrocompte').addEvent('click', function(evt) {
			
			var imChecked = this.get('checked');
			
			listSync.each(function(elm, i) {
				
				var value = '';
				if(imChecked) value = $(elm).get('value');
				
				$('l_' + elm.split('_').pop()).set('value', value);
								   
			});
									   
		});
		
		$('transaction_stp1').getElement('.btvert').addEvent('click', function(evt) {
																					
			var error = false
											 
			listSync.each(function(elm, i) {
				
				if(!$(elm).get('value')) {
					
					error = true;
					$(elm).getParent().getParent().getElement('label').addClass('error');
					
				} else {
					
					$(elm).getParent().getParent().getElement('label').removeClass('error');
					
				}
				
				if(!$('l_' + elm.split('_').pop()).get('value')) {
						
					error = true;
					$('l_' + elm.split('_').pop()).getParent().getParent().getElement('label').addClass('error');
						
				} else {
						
					$('l_' + elm.split('_').pop()).getParent().getParent().getElement('label').removeClass('error');
						
				}
								   
			});
			
			if(!error) (function() { $('transaction_stp1').submit(); }).delay(100);
		
		});
		
	}
	
	if($('transaction_stp2')) {
		
		var listChkstp2 = new Array(
			'c_prenom',
			'c_nom',
			'creditCardNumber',
			'expDateMonth',
			'expDateYear',
			'cvv2Number'
		);
		
		var popupsecure = new Element('div', {
			'class': 'popupsecure'
		}).adopt(
			new Element('div', {
				'class': 	'popupsecure_align'	,
				'html': 'Pour les cartes MasterCard ou Visa, il s\'agit des trois derniers chiffres figurant dans la zone de la signature, au dos de votre carte. Pour les cartes American Express, il s\'agit du num&eacute;ro &agrave; quatre chiffres figurant au recto de la carte.'
			})
		);
		
		popupsecure.inject($('transaction_stp2').getElement('.popsecure'));
		
		$('transaction_stp2').getElement('.popsecure').addEvents({
			'mouseenter' : function(evt) {
				this.getElement('.popupsecure').setStyle('display', 'block');
			},
			'mouseleave' : function(evt) {
				this.getElement('.popupsecure').setStyle('display', 'none');
			}
		});
		
		$('transaction_stp2').getElement('.btvert').addEvent('click', function(evt) {
																					
			var error = false
			
			var cardtype = $$('input[name=creditCardType]').filter(function(elm, i) {
															 
				return elm.checked;
				
			}); 
			
			if(cardtype.length == 0) {
				
				error = true;
				$$('input[name=creditCardType]').getParent().setStyle('border', '1px solid #FF0000');
				
			} else {
				
				$$('input[name=creditCardType]').getParent().setStyle('border', '1px solid #FFF');
				
			}
											 
			listChkstp2.each(function(elm, i) {
				
				if(!$(elm).get('value')) {
					
					error = true;
					$(elm).getParent().getParent().getElement('label').addClass('error');
					
				} else {
					
					$(elm).getParent().getParent().getElement('label').removeClass('error');
					
				}
											   
			});
			
			if(!error) (function() { $('transaction_stp2').submit(); }).delay(100);
		
		});
		
	}
	
	if($('searchform')) {
		
		var haveResult = false;
		var inputBg = $('searchform').getElement('.input-gris-recherche').getStyle('background-image');
		var inputBgOn = 'url(../img/searchActive.png)';
		
		$('searchform').addEvents({
			'mouseenter': function(evt) {
				
				if(haveResult) {
					
					$('searchform').getElement('.searchResult').setStyle('display', 'block');
					$('searchform').getElement('.input-gris-recherche').setStyle('background-image', inputBgOn);
				
				}
				
			},
			'mouseleave': function(evt) {
				
				$('searchform').getElement('.searchResult').setStyle('display', 'none');
				$('searchform').getElement('.input-gris-recherche').setStyle('background-image', inputBg);
				
			}
		});
		
		$('searchform').getElement('input').addEvent('keyup', function(evt) {
																	   
				new Request.HTML({
					url: '_includes/script.search.php',
					data: 'search=' + this.get('value') + '&lang=' + lang,
					update: $('searchform').getElement('.searchResult_content'),
					onComplete: function() {
						
						
					},
					onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
						
						if($('searchform').getElement('input').get('value') && responseElements) {
							
							$('searchform').getElement('.searchResult').setStyle('display', 'block');
							$('searchform').getElement('.input-gris-recherche').setStyle('background-image', inputBgOn);
							haveResult = true;
							
						} else {
							
							haveResult = false;
							
						}
						
					}
				}).post();
				
				if(!$('searchform').getElement('input').get('value') || !haveResult) {
					
						$('searchform').getElement('.searchResult').setStyle('display', 'none');
						$('searchform').getElement('.input-gris-recherche').setStyle('background-image', inputBg);
						
				}
		
		});
		
	}
	
	// cmonitor 
	if($('cmonitor')) {
		
		var defaultVal = 'Inscrivez votre courriel!';
		if(lang !== 'fr') defaultVal = 'Enter your email!';
		
		
		$('cmonitor').getElement('input').addEvents({
			'focus': function(evt) {
				
				$('cmonitor').getElement('input').set('value', '');
				
			},										
			'blur': function(evt) {
				
				if($('cmonitor').getElement('input').get('value') == '') $('cmonitor').getElement('input').set('value', defaultVal);
				
			}
		});
		
		$('cmonitor').getElement('a').addEvent('click', function(evt) {
																 
			$('cmonitor').submit();
																 
		});
		
		$('cmonitor').getElement('input').fireEvent('blur');
		
	}
	
}

var blockAdd = false;
var blockAddTimer;

function generateCart(todo, stringCart, newval, tomod, redirect, target) {
	
	/*
	
	$userid = $_POST['userid'];
	$prodid = $_POST['prodid'];
	$qte = $_POST['qte'];
	$todo = $_POST['todo'];
	$tomod = $_POST['tomod'];
	$newval = $_POST['newval'];
	
	*/
	
	//if(!blockAdd) {
		
		var qte = 1;
		
		if(!newval) {
			
			if($('field-qty')) qte = $('field-qty').get('value');
		
		} else {
			
			qte = newval;
			
		}
		
		if(target && todo == 'insert') {
										
			var align = target.getCoordinates('body');
			var setLeft = align.left - ((align.width - 251) / -2);
			var setTop = align.top - 35;
			
			if(target.getParent().getParent().get('tag') == 'li') {
				
				setLeft = align.left - ((align.width - 251) / -2) - 35;
				setTop = align.top - 7;
			
			}
			
			if(target.get('class') == 'lien-ajouter') {
				
				setLeft = align.left - ((align.width - 251) / -2);
				setTop = align.top - 50;
				
			}
			
			var labelAdd = 'Le produit est ajout&eacute; &agrave; votre panier.';
			if(lang == 'en') labelAdd = 'The product have been added to your cart.';
			
			var popupadd = new Element('div', {
				'class': 'popupadd',
				'html': labelAdd,
				'styles': {
					
					'left': setLeft,
					'top': setTop
					
				}
			});
			
			popupadd.inject(document.getElement('body'), 'top');
			
			var tweenPopup = new Fx.Tween(popupadd, {
				duration: 300, 
				transition: Fx.Transitions.Quart.easeOut,
				link: 'cancel',
				onComplete: function(e) {
					
					e.destroy();
					
				}
			}).set('opacity', 1);
			
			var flashAdd = new Fx.Tween($('flashadd'), {
				duration: 300, 
				transition: Fx.Transitions.Quart.easeOut,
				link: 'chain',
				onStart: function(e) {
					
					e.setStyle('display', 'block');
					
				},
				onChainComplete: function(e) {
					
					e.setStyle('display', 'none');
					
				}
			}).set('opacity', 0).start('opacity', .7).start('opacity', 0);
			
			//
			
			
		
		}
		
		new Request.HTML({
			url: '_includes/addtocart.php',
			data: 'todo=' + todo + '&prodid=' + stringCart + '&qte=' + qte + '&lang=' + lang + '&tomod=' + tomod,
			update: $('cartlist'),
			onComplete: function() {
				
				lckCart = false;
				
				$$('.mon_panier').getElement('a').set('text', totalCart + '$');
				
				if(totalCart.toInt() > 0) {
					
					$$('.mon_panier').addClass('on');
					
				} else {
					
					$$('.mon_panier').removeClass('on');
					
				}
				
				if(todo == 'delete') {
					
					if($('cartcalcul').getElement('.quantite select')) {
						
						$('cartcalcul').getElement('.quantite select').fireEvent('change');
						
					} else {
						
						$('total_soustotal').set('text', '0.00$');  
						$('total_shipping').set('text',  '0.00$');  
						$('total_tps').set('text', '0.00$');  
						$('total_tvq').set('text', '0.00$');  
						$('total_total').set('text', '0.00$'); 
						
					}
					
				}
				/*
				if(todo == 'insert' && tweenPopup) {
										
					(function(){
							  
						tweenPopup.start('opacity', 0);
						
					}).delay(500);
					
				}
				*/
				if(redirect) window.location.href = redirect;
				
				////if($('cartcalcul') && $('cartcalcul').getElement('.quantite select')) 
				//$('cartcalcul').getElement('.quantite select').fireEvent('change');
				
			},
			onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
				
					
			}
		}).post();
	/*	
		$clear(blockAddTimer);
		
		blockAddTimer = (function(){ 
									  
			blockAdd = false;	
				
		}).delay(500);
		
		blockAdd = true;
	
	}
	*/
	
}

function number_format (number, decimals, dec_point, thousands_sep) {

	var n = number, prec = decimals;

    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);
        return (Math.round(n*k)/k).toString();
    };

    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;

    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;

    var abs = toFixedFix(Math.abs(n), prec);
    var _, i;

    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;

        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }

    var decPos = s.indexOf(dec);
    if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1) {
        s += dec+new Array(prec).join(0)+'0';
    }
    return s;
	
}