function ShowLoader() {
	$('#ctRes').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 Page(language,numPage,input,idRubrique,idProduit,idLocalite,prive) {
	ShowLoader();
	$.post(
		"/mobile/searchList.do", 
		{ 
		language:language,
		input:encodeURIComponent(input),
		idRubrique:idRubrique,
		idProduit:idProduit,
		idLocalite:idLocalite,
		prive:prive,
		numPage:numPage,
		ajax:1
		},
		function(data) {
			$("#ctRes").remove();
			$("#result").prepend(data);
			HideLoader();
		}
	);
}

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++;
	}
}

// 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 activityPage(language,numPage,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
	ShowLoader();

	$.post(
		"/mobile/activitySearchList.do", 
		{
		language:language,
		idRubrique:idRubrique,
		idProduit:idProduit,
		idLocalite:idLocalite,
		prive:prive,
		orderName:orderName,
		orderDirection:orderDirection,
		numPage:numPage,
		ajax:1
		},
		function(data) {
			$("#ctRes").remove();
			$("#result").prepend(data);
			HideLoader();
		}
	);
}

function activityPageMap(language,numPage,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
	ShowLoader();
	
	$.post(
	"/mobile/activitySearchListMap.do", 
	{
	language:language,
	idRubrique:idRubrique,
	idProduit:idProduit,
	idLocalite:idLocalite,
	prive:prive,
	orderName:orderName,
	orderDirection:orderDirection,
	numPage:numPage,
	ajax:1
	},
	function(data) {
		$("#ctRes").remove();
		$("#result").prepend(data);
		HideLoader();
	}
	);
}

function PageLocally(language,numPage,input,inputWhere,radius,idRubrique,idProduit,idLocalite,prive,orderName,orderDirection) {
	ShowLoader();
	$.post(
			"/mobile/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,
			ajax:1
			},
			function(data) {
				$("#ctRes").remove();
				$("#result").prepend(data);
				HideLoader();
			}
		);
}
//Stat click Client
function saveClientStat(idCli, numPage, position, userInput, idProduit, idRubrique, indicator, situationIndicator, type, pageCode, siteCode, appCode) {
	var_dump(idRubrique);
	var_dump(idProduit);
	$.post(
		"/mobile/saveClientStat.do", 
		{ 
			idCli:idCli,
			numPage:numPage,
			position:position,
			userInput:userInput,
			idProduit:idProduit,
			idRubrique:idRubrique,
			indicator:indicator,
			situationIndicator:situationIndicator,
			type:type,
			pageCode:pageCode,
			siteCode:siteCode,
			appCode:appCode
		}
	);
	var now = new Date();
	var exitTime = now.getTime()+25;
    while (true) {
        now = new Date();
        if (now.getTime() > exitTime) return;
    }
	
  	return true;
}

// Stat click Produit
function saveProduitStat(idPro, idCli, numPage, position, userInput, idProduit, idRubrique, indicator, situationIndicator, type, pageCode, siteCode, appCode) {
	$.post(
		"/mobile/saveProduitStat.do", 
		{ 
			idPro:idPro,
			idCli:idCli,
			numPage:numPage,
			position:position,
			userInput:userInput,
			idProduit:idProduit,
			idRubrique:idRubrique,
			indicator:indicator,
			situationIndicator:situationIndicator,
			type:type,
			pageCode:pageCode,
			siteCode:siteCode,
			appCode:appCode
		}
	);
	var now = new Date();
	var exitTime = now.getTime()+25;
    while (true) {
        now = new Date();
        if (now.getTime() > exitTime) return;
    }
	
  	return true;
}
function var_dump(obj) {
	   if(typeof obj == "object") {
	      return "Type: "+typeof(obj)+((obj.constructor) ? "\nConstructor: "+obj.constructor : "")+"\nValue: " + obj;
	   } else {
	      return "Type: "+typeof(obj)+"\nValue: "+obj;
	   }
}
