$(document).ready(function(){

    // Contrat
    $( ".contrat-element" ).buttonset();

	$.widget( "custom.catcomplete", $.ui.autocomplete, {
		_renderMenu: function( ul, items ) {
			var self = this,
				currentCategory = "";
			$.each( items, function( index, item ) {
				if ( item.category != currentCategory ) {
					ul.append( "<li class='ui-autocomplete-category'>" + item.category + "</li>" );
					currentCategory = item.category;
				}
				self._renderItem( ul, item );
			});
		}
	});

    $( "#localisation" ).catcomplete({
        source: '/search/commune',
        minLength: 2,
        select: function( event, ui ) {
            $('#ville').val(ui.item.id);
        }
    });

    // Nb Pieces
    $('#slider-piece').slider({
        range: "min",
            min: 0, max: 10, value: $('#piece').val(),
            slide: function( event, ui ) {
                $('#piece').val( ui.value );
                $('#piece-result').html( ui.value );
            }
    });
    $('#piece-result').html( $('#slider-piece').slider( "value" ) );

    // Surface habitable
    $('#slider-habitable').slider({
        range: "min",
            min: 0, max: 300, step:10, value: $('#habitable').val(),
            slide: function( event, ui ) {
                $('#habitable').val( ui.value );
                $('#habitable-result').html( ui.value + ' m²' );
            }
    });
    $('#habitable-result').html( $('#slider-habitable').slider( "value" ) + ' m²' );

    // Surface terrain
    $('#slider-terrain').slider({
        range: "min",
            min: 0, max: 2000, step:10, value: $('#terrain').val(),
            slide: function( event, ui ) {
                $('#terrain').val( ui.value );
                $('#terrain-result').html( ui.value + ' m²' );
            }
    });
    $('#terrain-result').html( $('#slider-terrain').slider( "value" ) + ' m²' );

    // Budget
    $budget = $('#slider-budget').slider({
        range: true,
        min: 0, max: 800000, step:10000, values: [$('#prix_min').val(),$('#prix_max').val()],
        slide: function( event, ui ) {
            $('#prix_min').val( ui.values[0] );
            $('#prix_max').val( ui.values[1] );
            var min = ui.values[0];
            var max = ( ui.values[1] == 800000 ) ? '800000+' : ui.values[1];
            $('#budget-result').html( min + ' € - ' + max + ' €');
        }
    });
    var maxi = $('#slider-budget').slider( "values", 1 );
    $('#budget-result').html(
        $('#slider-budget').slider( "values", 0 ) + ' € - ' +
        ( (maxi == 800000) ? '800000+' : maxi ) + ' €'
    );

    $('#acheter').click( function(){
        
        $budget.slider('option', 'max', 800000);
        $budget.slider('option', 'step',  10000);
        $budget.slider('values', 0,  0);
        $budget.slider('values', 1, 800000);
        $('#budget-result').html('0€ - 800000+€');
    });

    $('#louer').click( function(){

        $budget.slider('option', 'max', 3000);
        $budget.slider('option', 'step', 100);
        $budget.slider('values', 0, 0);
        $budget.slider('values', 1, 3000);
        $('#budget-result').html('0€ - 3000+€');
    });
    if( $('#acheter').is(":checked") ) {
        $('#acheter').click();
    }
    else {
        $('#louer').click();
    }

    $('#elem_3').click( function() {
        $('.piece-element').hide();
        $('.habitable-element').hide();
        $('.terrain-element').show();
    });
    if( $('#elem_3').is(":checked") ) {
        $('#elem_3').click();
    }
    $('#elem_2').click( function() {
        $('.terrain-element').hide();
        $('.piece-element').show();
        $('.habitable-element').show();
    });
    if( $('#elem_2').is(":checked") ) {
        $('#elem_2').click();
    }
    $('#elem_5').click( function() {
        $('.terrain-element').hide();
        $('.piece-element').hide();
        $('.habitable-element').show();
    });
    if( $('#elem_5').is(":checked") ) {
        $('#elem_5').click();
    }
    $('#elem_4').click( function() {
        $('.terrain-element').hide();
        $('.piece-element').hide();
        $('.habitable-element').hide();
    });
    if( $('#elem_4').is(":checked") ) {
        $('#elem_4').click();
    }
    $('#elem_1').click( function() {
        $('.terrain-element').show();
        $('.piece-element').show();
        $('.habitable-element').show();
    });
    if( $('#elem_1').is(":checked") ) {
        $('#elem_1').click();
    }
});

