// initialise plugins
jQuery(function(){
	$('ul.sf-menu').superfish({ 
		hoverClass:    'sfHover',          // the class applied to hovered list items 
	    pathClass:     'selected', // the class you have applied to list items that lead to the current page 
	    pathLevels:    0,                  // the number of levels of submenus that remain open or are restored using pathClass 
        delay:       1000,                            // one second delay on mouseout 
        animation:   {opacity:'show',height:'show'},  // fade-in and slide-down animation 
        speed:       'fast',                          // faster animation speed 
        autoArrows:  false,                           // disable generation of arrow mark-up 
        dropShadows: false                            // disable drop shadows 
    }); 
});
	
function capitaliseFirstLetter(string)
{
    return string.charAt(0).toUpperCase() + string.slice(1);
}

function createSlide(selectId, min, max, step) {
	if($("#" + selectId).size() > 0) {
		selectedValue = $("#" + selectId).val().split(':');
		selectedMin = min;
		selectedMax = max;
		if(selectedValue.length == 2) {
			selectedMin = selectedValue[0];
			selectedMax = selectedValue[1];
		}
		
		$( ".layout_" + selectId + "" ).append("<div></div>");
		$( ".layout_" + selectId + " div" ).slider({
			range: true,
			min: min,
			max: max,
			step: step,
			values: [selectedMin,selectedMax],
			create: function(event, ui) { 
				
				$(".layout_" + selectId + " a.ui-slider-handle").each(function(index, value) { 
					valeurDef = selectedMin;  
					if(index == 1) {
						valeurDef = selectedMax;
					}
					$(value).append("<span>"+valeurDef+"</span>");
				});
				$("#" + selectId).remove();
				$( ".layout_" + selectId + "" ).append("<input id='"+selectId+"' name='"+selectId+"' type='hidden' value='"+selectedMin+":"+selectedMax+"'/>");
	
			},
			slide: function( event, ui ) {
				if($(ui.handle).children("span").size() > 0) {
					$(ui.handle).children("span").html(ui.value);
				} else {
					$(ui.handle).append("<span>"+ui.value+"</span>");
				}
				$("#" + selectId).val(ui.values[0]+":"+ui.values[1]);
			}
		});
	}
}

function initOccasion() {
	
	createSlide("annee", 0, 20, 5);
	createSlide("prix", 0, 150000, 5000);
	createSlide("heure", 0, 10000, 2000);
	createSlide("puissance", 0, 300, 50);

	  $("#type").change(function() {
	  		var jTypeMateriel = $(this).val();
			var jPuissance = $("#puissance").parent();
			var jHeure = $("#heure").parent();

		  	if(jTypeMateriel == '11'){
				jPuissance.removeClass('hide');
				jHeure.removeClass('hide');
			} else if(jTypeMateriel == '21' || jTypeMateriel == '81'){
				jPuissance.addClass('hide');
				jHeure.removeClass('hide');
			} else {
				jPuissance.addClass('hide');
				jHeure.addClass('hide');
			}
	});
	$("#type").change();

	$("#filtre-occas").change(function() {
		$("#chercher").click();
	});

	$(".pagination-occas a").click(function() {
		$pageId = $(this).attr('href').replace('?pageId=','');
		$("#pageId").val($pageId);
		$("#form-occasions").submit();
		return false;
	});
	
	$("#chercher").click(function() {
		$("#pageId").val(1);
		return true;
	});
	
	$("a.bouton-detail-occas").click(function(event) {
		event.preventDefault();
		$("#form-occasions").attr("action", $(this).attr("href"));
		$("#form-occasions").submit();
	});
	
	$("#retourLienOccasion").click(function(event) {
		event.preventDefault();
		$("#form-occasions").submit();
	});
}

function initDetailOccasion() {
	
	// We only want these styles applied when javascript is enabled
	$('div.content').css('display', 'block');

	// Initially set opacity on thumbs and add
	// additional styling for hover effect on thumbs
	var onMouseOutOpacity = 0.67;
	$('#thumbs ul.thumbs li, div.navigation a.pageLink').opacityrollover({
		mouseOutOpacity:   onMouseOutOpacity,
		mouseOverOpacity:  1.0,
		fadeSpeed:         'fast',
		exemptionSelector: '.selected'
	});
	
	// Initialize Advanced Galleriffic Gallery
	var gallery = $('#thumbs').galleriffic({
		delay:                     2500,
		numThumbs:                 4,
		preloadAhead:              4,
		enableTopPager:            false,
		enableBottomPager:         false,
		imageContainerSel:         '#slideshow',
		controlsContainerSel:      '#controls',
		captionContainerSel:       '#caption',
		loadingContainerSel:       '#loading',
		renderSSControls:          false,
		renderNavControls:         false,
		playLinkText:              'Diaporama',
		pauseLinkText:             'Pause',
		prevLinkText:              '&lsaquo; Pr&eacute;c&eacute;dent',
		nextLinkText:              'Suivant &rsaquo;',
		nextPageLinkText:          'Suivant &rsaquo;',
		prevPageLinkText:          '&lsaquo; Pr&eacute;c&eacute;dent',
		enableHistory:             false,
		autoStart:                 false,
		syncTransitions:           true,
		defaultTransitionDuration: 900,
		onSlideChange:             function(prevIndex, nextIndex) {
			// 'this' refers to the gallery, which is an extension of $('#thumbs')
			this.find('ul.thumbs').children()
				.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
				.eq(nextIndex).fadeTo('fast', 1.0);

			// Update the photo index display
			this.$captionContainer.find('div.photo-index')
				.html('Photo '+ (nextIndex+1) +' of '+ this.data.length);
		},
		onPageTransitionOut:       function(callback) {
			this.fadeTo('fast', 0.0, callback);
		},
		onPageTransitionIn:        function() {
			var prevPageLink = this.find('a.prev').css('visibility', 'hidden');
			var nextPageLink = this.find('a.next').css('visibility', 'hidden');
			
			// Show appropriate next / prev page links
			if (this.displayedPage > 0)
				prevPageLink.css('visibility', 'visible');

			var lastPage = this.getNumPages() - 1;
			if (this.displayedPage < lastPage)
				nextPageLink.css('visibility', 'visible');
			
			this.fadeTo('fast', 1.0);
		}
	});

	/**************** Event handlers for custom next / prev page links **********************/

	gallery.find('a.prev').click(function(e) {
		gallery.previousPage();
		e.preventDefault();
	});

	gallery.find('a.next').click(function(e) {
		gallery.nextPage();
		e.preventDefault();
	});
}

function initUne() {
	$('ul.materiel-neuf-carroussel').roundabout({
 		duration: 400 // in milliseconds, of course
		});

		var interval = setInterval(function() {
			$('ul.materiel-neuf-carroussel').roundabout_animateToNextChild();
		}, 6000);
		
		$('ul.materiel-neuf-carroussel li').click(function(){
		if(!$(this).is(".roundabout-in-focus")){
			clearInterval(interval);
		}
	});
}

$(document).ready(function() {
	if($(".occasion").size() > 0) {
		initOccasion();
	}
	if($(".occasion .thumbs").size() > 0) {
		initDetailOccasion();
	}
	
});

