// on stocke le numéro de l'offre affichée actuellement
var indice_offre_courante=1;
// on stocke le timeout de l'animation des offres
var timeout_offres;
var duree_timeout_offres = 8000;
var anim_offre_in_progress = false;
// on stocke le numéro du style affiché actuellement
var indice_style_courante=1;
// on stocke le timeout de l'animation des styles
var timeout_styles;
var duree_timeout_styles = 8000;
// on stocke le numéro du style affiché actuellement
var indice_classement_courante=1;
// on stocke le numéro de la page des marques affichée
var indice_page_marque_courante=1;
var largeur_page_marque_home = 258;
// on stocke le numéro de la page des commentaires affichée
var indice_page_commentaire_courante=1;
var largeur_page_commentaire_home = 250;
// on stocke le numéro de la page des favoris affichée
var indice_page_favoris_courante=1;
var largeur_page_favoris_home = 250;
// on stocke le nom de l'info produit affichée 
var nom_info_produit_courante='carac';


var change_offres = function(num_new_offre) {
	if(!anim_offre_in_progress) {
		anim_offre_in_progress = true;
		// on retire l'execution du timeout
		if(typeof(timeout_offres)!="undefined") {
			window.clearTimeout(timeout_offres);
		}
		
		var next_offre = num_new_offre+1;
		if($("#offre_"+next_offre).length==0) {
			next_offre = 1;
		}
		$("#lien_offre_"+indice_offre_courante).fadeOut(1000);
		$("#offre_"+indice_offre_courante).fadeOut(1000,function(){
															$("#folio_offre_"+indice_offre_courante).removeClass('folio_pages_on');
															$("#folio_offre_"+num_new_offre).addClass('folio_pages_on');
															$("#lien_offre_"+num_new_offre).fadeIn(1000);
															$("#offre_"+num_new_offre).fadeIn(1000,function(){
																										indice_offre_courante=num_new_offre;
																										anim_offre_in_progress=false;})});
		
		timeout_offres = window.setTimeout("change_offres("+next_offre+");",duree_timeout_offres);
	}
}


var change_styles = function(num_new_style) {
	// on retire l'execution du timeout
	/*if(typeof(timeout_styles)!="undefined") {
		window.clearTimeout(timeout_styles);
	}*/
	
	var next_style = num_new_style+1;
	if($("#style_"+next_style).length==0) {
		next_style = 1;
	}
	$("#style_"+indice_style_courante).fadeOut(10,function(){
														$("#folio_style_"+indice_style_courante).removeClass('section_onglet_on');
														$("#folio_style_"+num_new_style).addClass('section_onglet_on');
														$("#style_"+num_new_style).fadeIn(10,function(){indice_style_courante=num_new_style})});
	
	//timeout_styles = window.setTimeout("change_styles("+next_style+");",duree_timeout_styles);
}


var change_classements = function(num_new_classement) {
	$("#lien_tout_classement_"+indice_classement_courante).hide();
	$("#lien_tout_classement_"+num_new_classement).show();
	$("#classement_"+indice_classement_courante).fadeOut(10,function(){
														$("#folio_classement_"+indice_classement_courante).removeClass('section_onglet_big_on');
														$("#folio_classement_"+num_new_classement).addClass('section_onglet_big_on');
														$("#classement_"+num_new_classement).fadeIn(10,function(){indice_classement_courante=num_new_classement})});
}

var display_page_marque = function(new_page_marque) {
	// on vérifie que la page demandée existe en fonction de la largeur
	if(parseInt($("#table_scroll_manufacturer_home").width())<(new_page_marque*largeur_page_marque_home)) {
		new_page_marque = 1;
	}
	else if(new_page_marque<1) {
		new_page_marque = Math.floor(parseInt($("#table_scroll_manufacturer_home").width())/largeur_page_marque_home);
	}
	var new_scroll_left = (new_page_marque-1)*258;
	
	$("#div_scroll_manufacturer_home").animate({scrollLeft:new_scroll_left+"px"}, 1000); 
	indice_page_marque_courante = new_page_marque;
}

var display_next_page_marque = function() {
	display_page_marque(indice_page_marque_courante+1);
}

var display_previous_page_marque = function() {
	display_page_marque(indice_page_marque_courante-1);
}




var display_page_commentaire = function(new_page_commentaire) {
	// on vérifie que la page demandée existe en fonction de la largeur
	if(parseInt($("#table_scroll_comments_home").width())<(new_page_commentaire*largeur_page_commentaire_home)) {
		new_page_commentaire = 1;
	}
	else if(new_page_commentaire<1) {
		new_page_commentaire = Math.floor(parseInt($("#table_scroll_comments_home").width())/largeur_page_commentaire_home);
	}
	var new_scroll_left = (new_page_commentaire-1)*largeur_page_commentaire_home;
	
	$("#div_scroll_comments_home").animate({scrollLeft:new_scroll_left+"px"}, 1000); 
	indice_page_commentaire_courante = new_page_commentaire;
}

var display_next_page_commentaire = function() {
	display_page_commentaire(indice_page_commentaire_courante+1);
}

var display_previous_page_commentaire = function() {
	display_page_commentaire(indice_page_commentaire_courante-1);
}


var display_page_favoris = function(new_page_favoris) {
	// on vérifie que la page demandée existe en fonction de la largeur
	if(parseInt($("#table_scroll_favorites_home").width())<(new_page_favoris*largeur_page_favoris_home)) {
		new_page_favoris = 1;
	}
	else if(new_page_favoris<1) {
		new_page_favoris = Math.floor(parseInt($("#table_scroll_favorites_home").width())/largeur_page_favoris_home);
	}
	var new_scroll_left = (new_page_favoris-1)*largeur_page_favoris_home;
	
	$("#div_scroll_favorites_home").animate({scrollLeft:new_scroll_left+"px"}, 1000); 
	indice_page_favoris_courante = new_page_favoris;
}

var display_next_page_favoris = function() {
	display_page_favoris(indice_page_favoris_courante+1);
}

var display_previous_page_favoris = function() {
	display_page_favoris(indice_page_favoris_courante-1);
}



var change_display_feature = function(nom_feature) {
	var div_feature = $("#div_"+nom_feature);
	if(div_feature.css('display')=='none') {
		display_feature(nom_feature);
	}
	else {
		hide_feature(nom_feature);
	}
}

var display_feature = function(nom_feature) {
	$("#div_"+nom_feature).show(500,function(){$("#puce_right_"+nom_feature).css('display','none');
												$("#puce_down_"+nom_feature).css('display','inline');});
}

var hide_feature = function(nom_feature) {
	$("#div_"+nom_feature).hide(500,function(){$("#puce_right_"+nom_feature).css('display','inline');
												$("#puce_down_"+nom_feature).css('display','none');});
}


jQuery.fn.check = function(mode) {
   // if mode is undefined, use 'on' as default
   var mode = mode || 'on';
   
   return this.each(function() {
     switch(mode) {
       case 'on':
         this.checked = true;
         break;
       case 'off':
         this.checked = false;
         break;
       case 'toggle':
         this.checked = !this.checked;
         break;
     }
   });
};

var apply_check_state = function(new_state_on, checkbox_name) {
	if(new_state_on) {
		$("input[name*="+checkbox_name+"]").check('on');
	}
	else {
		$("input[name*="+checkbox_name+"]").check('off');
	}
}


var change_product_infos = function(nom_new_info) {
	$("#div_product_"+nom_info_produit_courante).fadeOut(10,function(){
															$("#onglet_product_"+nom_info_produit_courante).removeClass('onglet_descr_produit_on');
															$("#onglet_product_"+nom_new_info).addClass('onglet_descr_produit_on');
															$("#div_product_"+nom_new_info).fadeIn(10,function(){nom_info_produit_courante=nom_new_info})});
}


function stopEventPropagation(e) {
	if (!e) var e = window.event;
	e.cancelBubble = true;
	if (e.stopPropagation) {
		e.stopPropagation();
	}
}

var submit_favorites_action = function(form,alert_no_checked_message,email_subject,product_link) {
	// on récupère toutes les checkcboxs de la page
	var t_checks = $("input[name*=check_favorites]");
	var i;
	var nb_checked = 0;
	var email_body = "";
	
	for(i=0;i<t_checks.length;i++) {
		if(t_checks[i].checked) {
			nb_checked++;
			
			var input = document.createElement('input');
			input.type = 'hidden';
			input.name = 'check_favorites[]';
			input.value = t_checks[i].value;
			form.appendChild(input);
			
			var t_id = input.value.split('_');
			
			email_body += escape(product_link.replace(/##id_product##/gi,t_id[0]))+"%0D%0A";
		}
	}
	
	if(nb_checked==0) {
		alert(alert_no_checked_message);
		form.favorites_action.value = '';
		return false;
	}
	else {
		if(form.favorites_action.value=='email') {
			location.href='mailto:?subject='+email_subject+'&body='+email_body;
			form.favorites_action.value = '';
		}
		else {
			form.submit();	
		}
	}
}


var favorite_hover_product_list = function(element) {
	var action = document.getElementById(element.id+'_action').innerHTML;
	if(action=='add') {
		element.src = element.src.replace(/-off/g,'-on');
	}
	else {
		element.src = element.src.replace(/-on/g,'-off');
	}
}

var favorite_out_product_list = function(element) {
	var action = document.getElementById(element.id+'_action').innerHTML;
	if(action!='add') {
		element.src = element.src.replace(/-off/g,'-on');
	}
	else {
		element.src = element.src.replace(/-on/g,'-off');
	}
}

var favorite_click_product_list = function(element_id, id_product, id_product_attribute) {
	var new_src, action;
	var element = document.getElementById(element_id);
	var action = document.getElementById(element_id+'_action').innerHTML;
	if(action=='add') {
		new_src = element.src.replace(/-off/g,'-on');
	}
	else {
		new_src = element.src.replace(/-on/g,'-off');
	}
	FavoriteslistCart(element_id, new_src, action, id_product, id_product_attribute,1);
}


$(document).ready(function() {
	// on lance l'animation des offres 
	var next_offre = indice_offre_courante+1;
	if($("#offre_"+next_offre).length==0) {
		next_offre = 1;
	}
	timeout_offres = window.setTimeout("change_offres("+next_offre+");",duree_timeout_offres);
	
	// on lance l'animation des styles
	/*var next_style = indice_style_courante+1;
	if($("#style_"+next_style).length==0) {
		next_style = 1;
	}
	timeout_styles = window.setTimeout("change_styles("+next_style+");",duree_timeout_styles);*/
});