/**
 * Fonctions reatives à l'autocomplétion
 */
str_length = 26;
suggestion = true;

function lookup(inputString) {
	if(inputString.length == 0 || inputString.length == 1 && suggestion) {
		$('#suggestions').hide();
	} else {
		if(inputString.length <= str_length) {suggestion = true;}
		if(str_length > 0 && suggestion) {
		$.get(fw_url_site+"/index.php?lng="+fw_lng+"&p=search&a=autocompletion", {queryString: ""+inputString+""}, function(data){
			if(data.length == 0) {
				$('#suggestions').hide();
				suggestion = false;
				str_length = inputString.length;
			}
			if(data.length >1) {
				n = -1;
				suggestion = true;
				$('#suggestions').show();
				$('#autoSuggestionsList').html(data);
			}
		});
		}	
	}
} 

function fill(thisValue) {
	$('#keywords').val(thisValue);
	setTimeout("$('#suggestions').hide();", 200);
}

$(document).ready(function(){
	/**
	 * Actions reatives à l'autocomplétion
	 */
	$('#keywords').attr('autocomplete','off');
	n = -1;
	$('#keywords').live('keyup', function(event) {
		if(event.keyCode == 40) {
 			if(n+1 < $("#autoSuggestionsList > ul > li").length) {
				n = n + 1;
				$("#autoSuggestionsList > ul > li").eq(n).attr('class','hover').focus();
				if(n > 0 && n < $("#autoSuggestionsList > ul > li").length) {
					$("#autoSuggestionsList > ul > li").eq(n-1).removeClass('hover');
				}
			}
		} else if(event.keyCode == 38) {
			if(n > 0) {
				n = n - 1;
				if(0 <= n <= $("#autoSuggestionsList > ul > li").length) {
					$("#autoSuggestionsList > ul > li").eq(n).attr('class','hover').focus();
				}
				if(n >= 0) {
					$("#autoSuggestionsList > ul > li").eq(n+1).removeClass('hover');
				}
			} 
		}
		else {
			if(event.keyCode != 13) {
				lookup($(this).attr('value'));
			}

		}
	});

	$('body').keydown(function(event) {
		if(event.keyCode == 13) {
			$('#form_search').submit(function() {
				if($('#autoSuggestionsList > ul > li.hover').length > 0){
					fill($('#autoSuggestionsList > ul > li.hover').eq(0).html());
					$('#autoSuggestionsList > ul > li.hover').removeClass('hover');
					return false;
				} else {
					return true;
				}
			});
		}
	});
	

	$('#keywords').blur(function() {
		fill();
	});
	$('.suggestionList > ul > li').live('click',function() {
		fill($(this).html());
	});

	/**
	 * Actions reatives aux langues
	 */

	// Changement de langue
	$('#langue').change(function() {
		window.location.href	= $('#langue').val();
	});

	/**
	 * Actions reatives aux devises
	 */

	// Changement de devise
	$('#devise').change(function() {
		$('#form_devise').submit();
		return false;
	});

	/**
	 * Actions reatives aux favoris
	 */

	// Ajouter à mes favoris
	$('#cartouche_favoris').click(function() {
		var nav = navigator.appName.substring(0,3);
		var ver = navigator.appVersion.substring(0,1)
		if (nav == "Mic" && ver >= 4) {
			window.external.AddFavorite(fw_url_site+"/"+fw_lng+"/", fw_favoris_site);
		} else {
			$('#favoris').css('display','block');
			window.setTimeout(function() {$('#favoris').fadeOut('fast')},5000);
		}
		return false;
	});

	/**
	 * Actions reatives aux services
	 */

	// Click sur logo sofinco
	$('#service_fianet').click(function() {
		var win=window.open('https://www.fia-net.com/certif/certificat.php?key=8337&lang=fr', 'certificat', 'width=650, height=510', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, dependent=yes');
		return false;
	});

	/**
	 * Actions reatives au Menu
	 */

	// Initialisation du menu
	init_menu();
	$('#menu').find('ul').parent().each(function(){
		var submenu = $(this).find('ul:eq(0)');
		var alink = $(this).find('a:eq(0)');
		$(this).hover(
			function(){
				alink.addClass('menu_selected');
//				submenu.fadeIn('fast');
				submenu.show();
			},
			function(){
//				submenu.fadeOut('fast');
				submenu.hide();
				alink.removeClass('menu_selected');
			}
		);
	});

	// Tracking des promotions du menu
	$('.clic_menu_promo').click(function() {
		var nom_promo = $(this).children('span').text();
		pageTracker._trackEvent('Publicite', 'clic', nom_promo);
	});

	/**
	 * Actions reatives au SlideShow
	 */

	// Placement de chaque miniature 
	$('#slide').find('.produit').each(function(i) {
		SlideNbLi = i+1;
	});
	$('#slide').find('.produit').each(function(i) {
		var left = SlideTaille - 321;
		if(SlideNbLi == 4) {
			var left = SlideTaille;
			SlideTaille = SlideTaille + 321;
			$(this).css('left',left+'px');
		} else if(SlideNbLi <= 3) {
			var left = SlideTaille;
			SlideTaille = SlideTaille + 321;
			$(this).css('left',left+'px');
		} else {
			SlideTaille = SlideTaille + 321;
			$(this).css('left',left+'px');
		}
	});

	// Placement et clonage du 4eme élément en 5ème position si on ne compte que 4 éléments
	if(SlideNbLi == 4) {
		$('#slide>.produit:last').clone().insertBefore('#slide>.produit:first').css('left',-321+'px');
	}

	// Affichage des flèches de direction si plus de 3 éléments
	if(SlideNbLi > 3) {
		$('#slide_prev').show();
		$('#slide_next').show();
	}

	// Clic sur la fleche de gauche
	$('#slide_prev').click(function SlideClickG(){
		if(!window.SlideDone) { 
			window.setTimeout(function() {SlideClickG()},10);
		} else {  
			SlideDefilG();
		}
	});

	// Clic sur la fleche de droite
	$('#slide_next').click(function SlideClickD(){
		if(!window.SlideDone) {
			window.setTimeout(function() {SlideClickD()},10);
		} else {
			SlideDefilD();
		}
	});

	/**
	 * Actions reatives à l'Animation
	 */

	// Placement de chaque miniature 
	$('#anim').find('.produit').each(function(i) {
		AnimNbLi = i+1;
	});
	$('#anim').find('.produit').each(function(i) {
		var left = AnimTaille - 321;
		if(AnimNbLi == 4) {
			var left = AnimTaille;
			AnimTaille = AnimTaille + 321;
			$(this).css('left',left+'px');
		} else if(AnimNbLi <= 3) {
			var left = AnimTaille;
			AnimTaille = AnimTaille + 321;
			$(this).css('left',left+'px');
		} else {
			AnimTaille = AnimTaille + 321;
			$(this).css('left',left+'px');
		}
	});

	// Placement et clonage du 4eme élément en 5ème position si on ne compte que 4 éléments
	if(AnimNbLi == 4) {
		$('#anim>.produit:last').clone().insertBefore('#anim>.produit:first').css('left',-321+'px');
	}

	// Affichage des flèches de direction si plus de 3 éléments
	if(AnimNbLi > 3) {
		$('#anim_prev').show();
		$('#anim_next').show();

		// Déclenchemen automatique du défilement
		window.setTimeout(function() {AnimDefilD()},1800);
	}


	// Clic sur la fleche de gauche
	$('#anim_prev').click(function AnimClickG(){
		if(!window.AnimDone) { 
			window.setTimeout(function() {AnimClickG()},10);
		} else {
			window.clearTimeout(AnimTimeout);
			AnimStop();
			AnimDefilG();
		}
	});
	$('#anim_prev').hover(
		function(){},
		function(){
			if (window.AnimDefilStop) { AnimTimeout = window.setTimeout(function() {AnimDefilD()},4800) };
			AnimDefilStop = false;
		}
	);

	// Clic sur la fleche de droite
	$('#anim_next').click(function AnimClickD(){
		if(!window.AnimDone) {
			window.setTimeout(function() {AnimClickD()},10);
		} else {
			window.clearTimeout(AnimTimeout);
			AnimStop();
			AnimDefilD();
		}
	});
	$('#anim_next').hover(
		function(){},
		function(){
			if (window.AnimDefilStop) { AnimTimeout = window.setTimeout(function() {AnimDefilD()},4800) };
			AnimDefilStop = false;
		}
	);

	/**
	 * Actions reatives liens sur les noms de domaine
	 */

	// Click sur le lien
//	$('.link_ndd').click(function() {
//		pageTracker._link(this.href);
//		return false;
//	});
});

/**
 * Fonctions reatives au Menu
 */

// Fonction d'initialisation du menu
function init_menu() {
	var menu_position = $('.menu_last1').position();
 	var menu_longueur = menu_position.left + $('.menu_last1').width();
 	var menu_nbitems = $('#menu').children('li').size();
 	var menu_padding = Math.floor(((956 - menu_longueur) / menu_nbitems) / 2);
 	var menu_padding_last = 956 - (menu_longueur + (menu_padding * menu_nbitems * 2)) + menu_padding;

	$('#menu').find('.menu_lien1').each(function(i) {
		if (i==(menu_nbitems-1)) {
			var val = eval($(this).width()+(menu_padding+menu_padding_last));
			$(this).css('width',val);
			$(this).parent('li').css('width',val);
		} else {
			var val = eval($(this).width()+(menu_padding*2));
			$(this).css('width',val);
			$(this).parent('li').css('width',val);
		}
	});

	$('#menu').find('.menu_niveau1').each(function(i) {
		var menu_position = $(this).position();
 		if (menu_position.left==0) {
			$(this).children('ul').addClass('menu_zone1');
		} else if (menu_position.left<400) {
			$(this).children('ul').removeClass('menu_zone1');
			$(this).children('ul').addClass('menu_zone2');
		} else {
			$(this).children('ul').removeClass('menu_zone1');
			$(this).children('ul').addClass('menu_zone3');
			if (eval($(this).css('width').replace('px', ''))<192) {
				$(this).children('ul').css('left','-'+eval(192-$(this).css('width').replace('px', ''))+'px');
			} else {
				$(this).children('ul').css('left',eval($(this).css('width').replace('px', '')-192)+'px');
			}
		}
	});
	$('.menu_last1').children('ul').removeClass('menu_zone1');
	$('.menu_last1').children('ul').addClass('menu_zone4');
	if (eval($('.menu_last1').css('width').replace('px', ''))<191) {
		$('.menu_last1').children('ul').css('left','-'+eval(191-$('.menu_last1').css('width').replace('px', ''))+'px');
	} else {
		$('.menu_last1').children('ul').css('left',eval($('.menu_last1').css('width').replace('px', '')-191)+'px');
	}
}

/**
 * Fontions reatives au SlideShow
 * Défilement horizontal droite/gauche uniquement sur clic de l'internaute
 */

// SlideShow : Initialisation des variables
SlideDone = true;
SlideTaille = 0;
SlideNbLi = 0;

function Slide() {SlideDone = true;}

// SlideShow : Fontion de défilement en cliquant sur le bouton de gauche
function SlideDefilG() {
	SlideDone= false;
	$('#slide>.produit').each(function() {
		if(SlideNbLi == 4) {
			if(parseInt($(this).css('left')) == 963) {
				$(this).remove();
			}
			if(parseInt($(this).css('left')) == 642) {
				$(this).clone().insertBefore('#slide>.produit:first').css('left','-321px');
			}
		} else {
			if(parseInt($(this).css('left')) >= SlideTaille - 642) {
				$(this).clone().insertBefore('#slide>.produit:first').css('left','-321px');
				$(this).remove();
			}
		}
		var left = parseInt($(this).css('left'));
		$(this).animate({
			left: 321+left+'px'
		}, 500);
	});
	window.setTimeout(function() {Slide()},1200);
}

// SlideShow : Fonction de défilement en cliquant sur le bouton de droite
function SlideDefilD() {
	SlideDone = false;
	$('#slide>.produit').each(function() {
		if(SlideNbLi == 4) {
			if(parseInt($(this).css('left')) == -321) {
				$(this).remove();
			}
			if(parseInt($(this).css('left')) == 0) {
				$(this).clone().insertAfter('#slide>.produit:last').css('left','963px');
			}
		} else {
			if(parseInt($(this).css('left')) <= -321) {
				$(this).clone().insertAfter('#slide>.produit:last').css('left', SlideTaille - 642+'px');
				$(this).remove();
			}
		}
		var left = parseInt($(this).css('left'));
		$(this).animate({
			left: left-321+'px'
		}, 500 );
	});
	window.setTimeout(function() {Slide()},1200);
}

/**
 * Fontions reatives à l'animation
 * Défilement horizontal droite/gauche automatique
 * puis prise en main par l'internaute sur clic
 */

// Animation : Initialisation des variables
AnimDone = true;
AnimDefilStop = false;
AnimTaille = 0;
AnimNbLi = 0;

function Anim() {AnimDone = true;}
function AnimStop() {AnimDefilStop = true;}

// AnimShow : Fontion de défilement en cliquant sur le bouton de gauche
function AnimDefilG() {
	AnimDone= false;
	$('#anim>.produit').each(function() {
		if(AnimNbLi == 4) {
			if(parseInt($(this).css('left')) == 963) {
				$(this).remove();
			}
			if(parseInt($(this).css('left')) == 642) {
				$(this).clone().insertBefore('#anim>.produit:first').css('left','-321px');
			}
		} else {
			if(parseInt($(this).css('left')) >= AnimTaille - 642) {
				$(this).clone().insertBefore('#anim>.produit:first').css('left','-321px');
				$(this).remove();
			}
		}
		var left = parseInt($(this).css('left'));
		$(this).animate({
			left: 321+left+'px'
		}, 500);
	});
	window.setTimeout(function() {Anim()},1200);
}

// AnimShow : Fonction de défilement en cliquant sur le bouton de droite
function AnimDefilD() {
	AnimDone = false;
	$('#anim>.produit').each(function() {
		if(AnimNbLi == 4) {
			if(parseInt($(this).css('left')) == -321) {
				$(this).remove();
			}
			if(parseInt($(this).css('left')) == 0) {
				$(this).clone().insertAfter('#anim>.produit:last').css('left','963px');
			}
		} else {
			if(parseInt($(this).css('left')) <= -321) {
				$(this).clone().insertAfter('#anim>.produit:last').css('left', AnimTaille - 642+'px');
				$(this).remove();
			}
		}
		var left = parseInt($(this).css('left'));
		$(this).animate({
			left: left-321+'px'
		}, 500 );
	});
	window.setTimeout(function() {Anim()},1200);
	if (!window.AnimDefilStop) { AnimTimeout = window.setTimeout(function() {AnimDefilD()},2400) };
}
