		function replaceFilter(time,extraParams){
			
			//Params specials IE
			if ($.browser.msie && $.browser.version == "7.0" || $.browser.msie && $.browser.version == "6.0"){
				var offsetEdisense = 22;
				var offsetFilter = 25;
			}
			else{
				var offsetEdisense = 20;
				var offsetFilter = 10;
			}
			
			//Hauteur du bloc de contenu ctRes
			var ctResHeight = $('#ctRes').height();
			//Hauteur de la fenetre du naviguateur
			var windowHeight = $(window).height();
			//Position du scroll
			var windowScrollTop = $(window).scrollTop();
			//Hauteur edisense
			var edisenseHeight = $('#ediSense').height() - parseInt(offsetEdisense);
			//Hauteur des filtres
			var filterHeight = $('#filtre').height() + parseInt(offsetFilter);
			
			//Hauteur de la map
			if($('#map').html() != '' && $('#map').html() != undefined && $('#map').html() != null){
				filterHeight = parseInt(filterHeight)+ parseInt($('#map').height()) + 15;
			}
			
			var limitHeight = (filterHeight < edisenseHeight)?edisenseHeight:filterHeight;
			
			if(windowScrollTop < limitHeight){
				$("#filtre").animate(	{top:"0px"}, {duration:time, queue:false}); 
				$("#ediSense").animate(	{top:"0px"}, {duration:time, queue:false}); 
				$("#map").animate(		{top:"0px"}, {duration:time, queue:false}); 
			}
			else if (windowScrollTop > (parseInt(ctResHeight)-parseInt(limitHeight))){
				$("#filtre").animate(	{top:(parseInt(ctResHeight) - parseInt(limitHeight))+"px"}, {duration:time, queue:false}); 
				$("#ediSense").animate(	{top:(parseInt(ctResHeight) - parseInt(limitHeight))+"px"}, {duration:time, queue:false}); 
				$("#map").animate(		{top:(parseInt(ctResHeight) - parseInt(limitHeight))+"px"}, {duration:time, queue:false}); 
			}
			else {
				if(extraParams){
					$("#filtre").animate(	{top:(parseInt(windowScrollTop)-233)+"px"}, {duration:time, queue:false}); 
					$("#ediSense").animate(	{top:(parseInt(windowScrollTop)-228)+"px"}, {duration:time, queue:false}); 
					$("#map").animate(		{top:(parseInt(windowScrollTop)-234)+"px"}, {duration:time, queue:false}); 
				}
			}
		}
		
		//Cas dune petite resolution decran
		function resizeFilter(){
			if(($('#map').html() == null && $(window).height() < 600) 
					|| ($('#map').html() != null && $(window).height() < 800)){
				$('#filtre').children('div').find('ul.subCtR').each(function(){
					if($(this).find('.deleteFilter').html() == '' || $(this).find('.deleteFilter').html() == undefined){
						var id = $(this).attr('id');	
						$(this).hide();
						$(this).prev().mouseenter(function(){
							$("#"+id).show();
							replaceFilter(100,false);
						}).mouseleave(function(){
							$("#"+id).hide();
							replaceFilter(100,false);
						});		
						$(this).mouseenter(function(){
							$(this).show();
							replaceFilter(100,false);
						}).mouseleave(function(){
							$(this).hide();
							replaceFilter(100,false);
						});
					}
				});
			}
		}

		function ShowLoader() {
			$('#listRes').fadeTo('slow', 0.2);
			$('#zoneMap').fadeTo('slow', 0.2);
			$('#menuMap').fadeTo('slow', 0.2);
			$('#locFiltre').fadeTo('slow', 0.2);
			$('#actFiltre').fadeTo('slow', 0.2);
			$('#proFiltre').fadeTo('slow', 0.2);
			$('#topRes em').fadeTo('slow', 0.2);
			$('#footRes em').fadeTo('slow', 0.2);
            $('#paginRes').fadeTo('slow', 0.2);
            //pas de fadeTo pour le loading car il set l'opacité a 0
            //$('#loading-ico').fadeTo('slow', 1).css("margin-top",parseInt($(window).height())/2);
			$("#loading-ico").ajaxStart(function(){ $(this).fadeIn().css("margin-top",parseInt($(window).height())/2); });
		}
			
		function HideLoader() {
			smoothScroll('top');
			$("#loading-ico").ajaxStop(function(){ $(this).fadeOut()});
		}
		
		function PageLocally(language,numPage,input,inputWhere,radius,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
				ShowLoader();
				$.post(
						"/ed/geoSearchList.do", 
						{
						language:language,
						input:encodeURIComponent(input),
						inputWhere:encodeURIComponent(inputWhere),
						radius:encodeURIComponent(radius),
						numPage:numPage,
						idRubrique:idRubrique,
						idProduitService:idProduit,
						idLocalite:idLocalite,
						prive:prive,
						orderName:orderName,
						orderDirection:orderDirection
						},
						function(data) {
							$("#ctRes").remove();
							$("#rmap").prepend(data);
							HideLoader();
						}
					);
		}

		function MapDisplayResults(language,input,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
			ShowLoader();
			$.post(
				"/ed/searchListMap.do", 
				{ 
				language:language,
				input:encodeURIComponent(input),
				idRubrique:idRubrique,
				idProduit:idProduit,
				idLocalite:idLocalite,
				prive:prive,
				orderName:orderName,
				orderDirection:orderDirection,
				explain:(explain == false)?0:1
				},
				function(data) {
					$("#ctRes").remove();
					$("#results").prepend(data);
					HideLoader();
					replaceFilter(500,true);
					resizeFilter();
				}
			);
	}
		
		function ActivityMapDisplayResults(language,libRewrite,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection){
			ShowLoader();
			$.post(
				"/ed/"+language+"/activitySearchListMap/"+libRewrite+".do",
				{ 
				language:language,
				idRubrique:idRubrique,
				idProduit:idProduit,
				idLocalite:idLocalite,
				prive:prive,
				orderName:orderName,
				orderDirection:orderDirection,
				explain:(explain == false)?0:1
				},
				function(data) {
					$("#ctRes").remove();
					$("#results").prepend(data);
					HideLoader();
					replaceFilter(500,true);
					resizeFilter();
				}
			);
	}
		
		function activityPage(language,libRewrite,numPage,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
					ShowLoader();
			
					$.post(
						"/ed/"+language+"/activitySearchList/"+libRewrite+".do",
						{
						language:language,
						idRubrique:idRubrique,
						idProduit:idProduit,
						idLocalite:idLocalite,
						prive:prive,
						orderName:orderName,
						orderDirection:orderDirection,
						numPage:numPage
						},
						function(data) {
							$("#ctRes").remove();
							$("#results").prepend(data);
							HideLoader();
							replaceFilter(500,true);
							resizeFilter();
						}
					);
			}
		
		function activityPageMap(language,libRewrite,numPage,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
			ShowLoader();
	
			$.post(
				"/ed/"+language+"/activitySearchListMap/"+libRewrite+".do",
				{
				language:language,
				idRubrique:idRubrique,
				idProduit:idProduit,
				idLocalite:idLocalite,
				prive:prive,
				orderName:orderName,
				orderDirection:orderDirection,
				numPage:numPage
				},
				function(data) {
					$("#ctRes").remove();
					$("#results").prepend(data);
					HideLoader();
					replaceFilter(500,true);
					resizeFilter();
				}
			);
		}
		
		function Page(language,numPage,input,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
					ShowLoader();
					
					$.post(
						"/ed/searchList.do", 
						{ 
						language:language,
						input:encodeURIComponent(input),
						idRubrique:idRubrique,
						idProduit:idProduit,
						idLocalite:idLocalite,
						prive:prive,
						orderName:orderName,
						orderDirection:orderDirection,
						numPage:numPage,
						explain:(explain == false)?0:1
						},
						function(data) {
							$("#ctRes").remove();
							$("#results").prepend(data);
							HideLoader();
							replaceFilter(500,true);
							resizeFilter();
						}
					);
			}
		
		function pageMap(language,numPage,input,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
			ShowLoader();
			
			$.post(
				"/ed/searchListMap.do", 
				{ 
				language:language,
				input:encodeURIComponent(input),
				idRubrique:idRubrique,
				idProduit:idProduit,
				idLocalite:idLocalite,
				prive:prive,
				orderName:orderName,
				orderDirection:orderDirection,
				numPage:numPage,
				explain:(explain == false)?0:1
				},
				function(data) {
					$("#ctRes").remove();
					$("#results").prepend(data);
					HideLoader();
					replaceFilter(500,true);
					resizeFilter();
				}
			);
		}
		

		function activityFilterResults(language,libRewrite,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
					ShowLoader();
					$.post(
						"/ed/"+language+"/activitySearchList/"+libRewrite+".do",
						{
						language:language,
						idRubrique:idRubrique,
						idProduit:idProduit,
						idLocalite:idLocalite,
						prive:prive,
						orderName:orderName,
						orderDirection:orderDirection,
						explain:(explain == false)?0:1
						},
						function(data) {
							$("#ctRes").remove();
							$("#results").prepend(data);
							HideLoader();
							replaceFilter(500,true);
							resizeFilter();
						}
					);
			}
		
		function filterResults(language,input,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
					//ShowLoader();
					$.post(
						"/ed/searchList.do", 
						{ 
						language:language,
						input:encodeURIComponent(input),
						idRubrique:idRubrique,
						idProduit:idProduit,
						idLocalite:idLocalite,
						prive:prive,
						orderName:orderName,
						orderDirection:orderDirection,
						explain:(explain == false)?0:1
						},
						function(data) {
							$("#ctRes").remove();
							$("#results").prepend(data);
							HideLoader();
							replaceFilter(500,true);
							resizeFilter();
						}
					);
			}
			
		function activityOrderResultsMap(language,libRewrite,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection,currentOrderId) {
					ShowLoader();
					$.post(
						"/ed/"+language+"/activitySearchListMap/"+libRewrite+".do",
						{
						language:language,
						idRubrique:idRubrique,
						idProduit:idProduit,
						idLocalite:idLocalite,
						prive:prive,
						orderName:orderName,
						orderDirection:orderDirection
						},
						function(data) {
							$("#ctRes").remove();
							$("#results").prepend(data);
							HideLoader();
							replaceFilter(500,true);
							resizeFilter();
						}
					);
			}
		
		function activityOrderResults(language,libRewrite,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection,currentOrderId) {
			ShowLoader();
			$.post(
				"/ed/"+language+"/activitySearchList/"+libRewrite+".do",
				{
				language:language,
				idRubrique:idRubrique,
				idProduit:idProduit,
				idLocalite:idLocalite,
				prive:prive,
				orderName:orderName,
				orderDirection:orderDirection
				},
				function(data) {
					$("#ctRes").remove();
					$("#results").prepend(data);
					HideLoader();
					replaceFilter(500,true);
					resizeFilter();
				}
			);
		}
		
		function orderResults(language,input,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection,currentOrderId) {
					ShowLoader();
					$.post(
						"/ed/searchList.do", 
						{ 
						language:language,
						input:encodeURIComponent(input),
						idRubrique:idRubrique,
						idProduit:idProduit,
						idLocalite:idLocalite,
						prive:prive,
						orderName:orderName,
						orderDirection:orderDirection,
						explain:(explain == false)?0:1
						},
						function(data) {
							$("#ctRes").remove();
							$("#results").prepend(data);
							HideLoader();
							replaceFilter(500,true);
							resizeFilter();
						}
					);
			}
		
		function orderResultsMap(language,libRewrite,input,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection,currentOrderId) {
			ShowLoader();
			$.post(
				"/ed/"+language+"/activitySearchListMap/"+libRewrite+".do",
				{ 
				language:language,
				input:encodeURIComponent(input),
				idRubrique:idRubrique,
				idProduit:idProduit,
				idLocalite:idLocalite,
				prive:prive,
				orderName:orderName,
				orderDirection:orderDirection,
				explain:(explain == false)?0:1
				},
				function(data) {
					$("#ctRes").remove();
					$("#results").prepend(data);
					HideLoader();
					replaceFilter(500,true);
					resizeFilter();
				}
			);
		}

		function activityPrivate(language,libRewrite,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
					ShowLoader();
					$.post(
						"/ed/"+language+"/activitySearchList/"+libRewrite+".do",
						{
						language:language,
						idRubrique:idRubrique,
						idProduit:idProduit,
						idLocalite:idLocalite,
						prive:1,
						orderName:orderName,
						orderDirection:orderDirection
						},
						function(data) {
							$("#ctRes").remove();
							$("#results").prepend(data);
							HideLoader();
							replaceFilter(500,true);
							resizeFilter();
						}
					);
			}
		
		function Private(language,input,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
					ShowLoader();
					$.post(
						"/ed/searchList.do", 
						{ 
						language:language,
						input:encodeURIComponent(input),
						idRubrique:idRubrique,
						idProduit:idProduit,
						idLocalite:idLocalite,
						prive:1,
						orderName:orderName,
						orderDirection:orderDirection,
						explain:(explain == false)?0:1
						},
						function(data) {
							$("#ctRes").remove();
							$("#results").prepend(data);
							HideLoader();
							replaceFilter(500,true);
							resizeFilter();
						}
					);
			}
			
		function activityProfessional(language,libRewrite,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
					ShowLoader();
					$.post(
						"/ed/"+language+"/activitySearchList/"+libRewrite+".do",
						{
						language:language,
						idRubrique:idRubrique,
						idProduit:idProduit,
						idLocalite:idLocalite,
						prive:0,
						orderName:orderName,
						orderDirection:orderDirection
						},
						function(data) {
							$("#ctRes").remove();
							$("#results").prepend(data);
							HideLoader();
							replaceFilter(500,true);
							resizeFilter();
						}
					);
			}
		
		function Professional(language,input,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
					ShowLoader();
					$.post(
						"/ed/searchList.do", 
						{ 
						language:language,
						input:encodeURIComponent(input),
						idRubrique:idRubrique,
						idProduit:idProduit,
						idLocalite:idLocalite,
						prive:0,
						orderName:orderName,
						orderDirection:orderDirection,
						explain:(explain == false)?0:1
						},
						function(data) {
							$("#ctRes").remove();
							$("#results").prepend(data);
							HideLoader();
							replaceFilter(500,true);
							resizeFilter();
						}
					);
			}
			
		function activityProfessionalPrivate(language,libRewrite,idRubrique,idProduit,idLocalite,orderName,orderDirection) {
					ShowLoader();
					$.post(
						"/ed/"+language+"/activitySearchList/"+libRewrite+".do",
						{
						language:language,
						idRubrique:idRubrique,
						idProduit:idProduit,
						idLocalite:idLocalite,
						orderName:orderName,
						orderDirection:orderDirection
						},
						function(data) {
							$("#ctRes").remove();
							$("#results").prepend(data);
							HideLoader();
							replaceFilter(500,true);
							resizeFilter();
						}
					);
			}
		
		function ProfessionalPrivate(language,input,idRubrique,idProduit,idLocalite,orderName,orderDirection) {
					ShowLoader();
					$.post(
						"/ed/searchList.do", 
						{ 
						language:language,
						input:encodeURIComponent(input),
						idRubrique:idRubrique,
						idProduit:idProduit,
						idLocalite:idLocalite,
						orderName:orderName,
						orderDirection:orderDirection,
						explain:(explain == false)?0:1
						},
						function(data) {
							$("#ctRes").remove();
							$("#results").prepend(data);
							HideLoader();
							replaceFilter(500,true);
							resizeFilter();
						}
					);
			}
			
		// SmoothScrol
		function currentYPosition() {
			if (self.pageYOffset)
				 return self.pageYOffset;
			if (document.documentElement && document.documentElement.scrollTop)
				return document.documentElement.scrollTop;
			if (document.body.scrollTop)
				 return document.body.scrollTop;
			return 0;
		}
		
		
		function elmYPosition(eID) {
			var elm  = document.getElementById(eID);
			var y    = elm.offsetTop;
			var node = elm;
			while (node.offsetParent && node.offsetParent != document.body) {
				node = node.offsetParent;
				y   += node.offsetTop;
			} return y;
		}
		
		
		function smoothScroll(eID) {
			var startY   = currentYPosition();
			var stopY    = elmYPosition(eID);
			var distance = stopY > startY ? stopY - startY : startY - stopY;
			if (distance < 100) {
				scrollTo(0, stopY); return;
			}
			var speed = Math.round(distance / 100);
			if (speed >= 20) speed = 20;
			var step  = Math.round(distance / 25);
			var leapY = stopY > startY ? startY + step : startY - step;
			var timer = 0;
			if (stopY > startY) {
				for ( var i=startY; i<stopY; i+=step ) {
					setTimeout("window.scrollTo(0, "+leapY+")", timer * speed);
					leapY += step; if (leapY > stopY) leapY = stopY; timer++;
				} return;
			}
			for ( var i=startY; i>stopY; i-=step ) {
				setTimeout("window.scrollTo(0, "+leapY+")", timer * speed);
				leapY -= step; if (leapY < stopY) leapY = stopY; timer++;
			}
		}
		
		$(document).ready(function() { 
			//Defilement des filtres en fonction du scroll
			$(window).scroll(function(){
				replaceFilter(500,true);
			});
			
			resizeFilter();
		});
