/**
 * @author hcollongues
 */
$(document).ready(function(){
	
	// $("#scroller").liScroll({travelocity:0.05});
	
	var nblk = 1;
	$('#scroller1 a').each(function(){nblk++;});
	$('#scroller').css('width', nblk*40*2);
	$('#scroller').css('margin-left', '0');
	var scroller = setInterval(
		function(){
			var i = 1;
			$('#scroller').css('margin-left', parseInt($('#scroller').css('margin-left')) - 1);
			if(Math.floor(parseInt($('#scroller').css('margin-left'))%(nblk*40)) == 0){
				var html = $('#scroller'+i).html();
				html = '<div id="scroller'+i+'" style="float: left; height: 32px;">'+html+'</div>';
				//$('#scroller'+i).remove();
				$('#scroller .clear').remove();
				$('#scroller').css('width', parseInt($('#scroller').css('width'))+nblk*40);
				$('#scroller').append(html);
				$('#scroller').append('<div class="clear"></div>');
				i = (i == 1) ? 2 : 1;
			}
		},
		10
	);
	$('#scroller').mouseenter(function(){
		clearInterval(scroller);
	})
	.mouseleave(function(){
		scroller = setInterval(
			function(){
				var i = 1;
				$('#scroller').css('margin-left', parseInt($('#scroller').css('margin-left')) - 1);
				if(Math.floor(parseInt($('#scroller').css('margin-left'))%(nblk*40)) == 0){
					var html = $('#scroller'+i).html();
					html = '<div id="scroller'+i+'" style="float: left; height: 32px;">'+html+'</div>';
					//$('#scroller'+i).remove();
					$('#scroller .clear').remove();
					$('#scroller').css('width', parseInt($('#scroller').css('width'))+nblk*40);
					$('#scroller').append(html);
					$('#scroller').append('<div class="clear"></div>');
					i = (i == 1) ? 2 : 1;
				}
			},
			10
		);
	});
	
	$('#slider').slider({
		range: true,
		min: 0,
		max: 50000,
		step: 1000,
		values: [1000,50000],
		slide: function(event, ui){
			var values=$('#slider').slider('option','values');
			$('#prixMin').html(formatNumber(values[0])+' &euro;');
			if(values[1]===50000)
				$('#prixMax').html('+ de '+formatNumber(values[1])+ ' &euro;');
			else
				$('#prixMax').html(formatNumber(values[1])+ ' &euro;');
		},
		change: function(event, ui){
			var values=$('#slider').slider('option','values');
			$('#prix_min').attr('value',values[0]);
			$('#prix_max').attr('value',values[1]);
		}
	});
	
	$('#sliderKm').slider({
		range: true,
		min: 0,
		max: 100000,
		step: 5000,
		values: [0,100000],
		slide: function(event, ui){
			var values=$('#sliderKm').slider('option','values');
			$('#kmMin').html(formatNumber(values[0])+' km');
			if(values[1]===50000)
				$('#kmMax').html('+ de '+formatNumber(values[1])+ ' km');
			else
				$('#kmMax').html(formatNumber(values[1])+ ' km');
		},
		change: function(event, ui){
			var values=$('#sliderKm').slider('option','values');
			$('#km_min').attr('value',values[0]);
			$('#km_max').attr('value',values[1]);
		}
	});
	
	$('#sliderAn').slider({
		range: true,
		min: 1998,
		max: (new Date()).getFullYear(),
		step: 1,
		values: [1998,(new Date()).getFullYear()],
		slide: function(event, ui){
			var values=$('#sliderAn').slider('option','values');
			if(values[0] == 1998){
				$('#anMin').html('avant '+values[0]);
			}else{
				$('#anMin').html(values[0]);
			}
			$('#anMax').html(values[1]);
		},
		change: function(event, ui){
			var values=$('#sliderAn').slider('option','values');
			if(values[0] != 1998)
				$('#an_min').attr('value',values[0]);
			else
				$('#an_min').attr('value','0');
			$('#an_max').attr('value',values[1]);
		}
	});
	
	function mycarousel_itemVisibleInCallback(carousel, item, i, state, evt)
	{
	    // The index() method calculates the index from a
	    // given index who is out of the actual item range.
	    var idx = carousel.index(i, mycarousel_itemList.length);
	    carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[idx - 1]));
	};
	
	function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
	{
		carousel.remove(i);
	};
	
	/**
	 * Item html creation helper.
	 */
	function mycarousel_getItemHTML(item1)
	{
		var html='';
		if(item1.url1!=undefined){
			html+='<div class="index_img_marque"><a href="'+item1.href1+'"><img src="' + item1.url1 + '" alt="mandataire ' + item1.title1 + '" /></a><br /><span class="index_marque">'+item1.title1.toUpperCase()+'</span></div>';
		}
		if(item1.url2!=undefined){
			html+='<div class="index_img_marque"><a href="'+item1.href2+'"><img src="' + item1.url2 + '" alt="' + item1.title2 + '" /></a><br /><span class="index_marque">'+item1.title2.toUpperCase()+'</span></div>';
		}else{
			html+='<div class="index_img_marque"><a href="'+item1.href1+'"><img src="' + item1.url1 + '" alt="' + item1.title1 + '" /></a><br /><span class="index_marque">'+item1.title1.toUpperCase()+'</span></div>';
		}
		if(item1.url3!=undefined){
			html+='<div class="index_img_marque"><a href="'+item1.href3+'"><img src="' + item1.url3 + '" alt="' + item1.title3 + '" /></a><br /><span class="index_marque">'+item1.title3.toUpperCase()+'</span></div>';
		}else{
			html+='<div class="index_img_marque"><a href="'+item1.href1+'"><img src="' + item1.url1 + '" alt="' + item1.title1 + '" /></a><br /><span class="index_marque">'+item1.title1.toUpperCase()+'</span></div>';
		}
		html+='<div class="clear"></div>';
	    return html;
	};
	
	$('#mycarousel').html('');
	
	$('#mycarousel').jcarousel({
		vertical:true,
		scroll:1,
		auto:2,
		buttonNextHTML:null,
		buttonPrevHTML:null,
		wrap:'cricular',
		itemVisibleInCallback: {onBeforeAnimation: mycarousel_itemVisibleInCallback},
        itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback},
		animation:1000
	});
	
	function mycarousel_itemVisibleInCallback2(carousel, item, i, state, evt)
	{
	    // The index() method calculates the index from a
	    // given index who is out of the actual item range.
	    var idx = carousel.index(i, mycarousel_itemList.length);
	    carousel.add(i, mycarousel_getItemHTML2(mycarousel_itemList[idx - 1]));
	};
	
	function mycarousel_itemVisibleOutCallback2(carousel, item, i, state, evt)
	{
		carousel.remove(i);
	};
	
	function mycarousel_getItemHTML2(item1)
	{
		var html='';
		if(item1.url1!=undefined){
			html+='<div class="index_img_marque"><a href="'+item1.href1+'"><img src="' + item1.url1 + '" alt="mandataire ' + item1.title1 + '" /></a><br /><span class="index_marque">'+item1.title1.toUpperCase()+'</span></div>';
		}
		if(item1.url2!=undefined){
			html+='<div class="index_img_marque"><a href="'+item1.href2+'"><img src="' + item1.url2 + '" alt="' + item1.title2 + '" /></a><br /><span class="index_marque">'+item1.title2.toUpperCase()+'</span></div>';
		}else{
			html+='<div class="index_img_marque"><a href="'+item1.href1+'"><img src="' + item1.url1 + '" alt="' + item1.title1 + '" /></a><br /><span class="index_marque">'+item1.title1.toUpperCase()+'</span></div>';
		}
		if(item1.url3!=undefined){
			html+='<div class="index_img_marque"><a href="'+item1.href3+'"><img src="' + item1.url3 + '" alt="' + item1.title3 + '" /></a><br /><span class="index_marque">'+item1.title3.toUpperCase()+'</span></div>';
		}else{
			html+='<div class="index_img_marque"><a href="'+item1.href1+'"><img src="' + item1.url1 + '" alt="' + item1.title1 + '" /></a><br /><span class="index_marque">'+item1.title1.toUpperCase()+'</span></div>';
		}
		html+='<div class="clear"></div>';
	    return html;
	};
	
	$('#horinaja1').Horinaja({
		capture:'horinaja1',
		delai:1,
		duree:4,
		pagination:false
	});
	
	$('#horinaja2').Horinaja({
		capture:'horinaja2',
		delai:1,
		duree:4,
		pagination:false
	});
});

function setNeuve(value){
	$('#neuve').attr('value',value);
}

function formatNumberMoteur(valeur,decimal,separateur) {
// formate un chiffre avec 'decimal' chiffres après la virgule et un separateur
	var deci=Math.round( Math.pow(10,decimal)*(Math.abs(valeur)-Math.floor(Math.abs(valeur)))) ; 
	var val=Math.floor(Math.abs(valeur));
	if ((decimal==0)||(deci==Math.pow(10,decimal))) {val=Math.floor(Math.abs(valeur)); deci=0;}
	var val_format=val+"";
	var nb=val_format.length;
	for (var i=1;i<4;i++) {
		if (val>=Math.pow(10,(3*i))) {
			val_format=val_format.substring(0,nb-(3*i))+separateur+val_format.substring(nb-(3*i));
		}
	}
	if (decimal>0) {
		var decim=""; 
		for (var j=0;j<(decimal-deci.toString().length);j++) {decim+="0";}
		deci=decim+deci.toString();
		val_format=val_format+"."+deci;
	}
	if (parseFloat(valeur)<0) {val_format="-"+val_format;}
	return val_format;
}

function formatNumber(number){
	return formatNumberMoteur(number, 0, ' ');
}

function allSlidersMax(){
	var values;
	$('#slider').slider('values',0,1000);
	$('#slider').slider('values',1,50000);
	values=$('#slider').slider('option','values');
	$('#prix_min').attr('value',values[0]);
	$('#prix_max').attr('value',values[1]);
	$('#prixMin').html(formatNumber(values[0])+' &euro;');
	if(values[1]===50000)
		$('#prixMax').html('+ de '+formatNumber(values[1])+ ' &euro;');
	else
		$('#prixMax').html(formatNumber(values[1])+ ' &euro;');
	$('#sliderKm').slider('values',0,0);
	$('#sliderKm').slider('values',1,100000);
	values=$('#sliderKm').slider('option','values');
	$('#kmMin').html(formatNumber(values[0])+' km');
	if(values[1]===100000)
		$('#kmMax').html('+ de '+formatNumber(values[1])+ ' km');
	else
		$('#kmMax').html(formatNumber(values[1])+ ' km');
	$('#km_min').attr('value',values[0]);
	$('#km_max').attr('value',values[1]);
	$('#sliderAn').slider('values',0,1998);
	$('#sliderAn').slider('values',1,new Date().getFullYear());
	values=$('#sliderAn').slider('option','values');
	$('#an_min').attr('value',values[0]);
	$('#an_max').attr('value',values[1]);
	$('#anMin').html(values[0]);
	$('#anMax').html(values[1]);
}

function enableSlider(type,enabled){
	if(enabled==1){
		$('#slider'+type).show();
		$('#sliderKmLabel').show();
		$('#km_min').removeAttr('disabled');
		$('#km_max').removeAttr('disabled');
	}
	else{
		$('#slider'+type).hide();
		$('#sliderKmLabel').hide();
		$('#km_min').attr('disabled','disabled');
		$('#km_max').attr('disabled','disabled');
	}
}

function setUrl(type){
	if(type=='all'){
		document.getElementById('formSearch').action='/voiture-occasion/auto-discount.html';
	}else if(type=='neuves'){
		document.getElementById('formSearch').action='/mandataire-auto/voiture-neuve.html';
	}else if(type='occas'){
		document.getElementById('formSearch').action='/voiture-occasion/auto-discount.html';
	}
}
