
function filterState() {
    
    var state = {};

    if ($("#priceSlider").parent().find(".min").length) {
        $('#pricemin').val($("#priceSlider").parent().find(".min").html());
        $('#pricemax').val($("#priceSlider").parent().find(".max").html());
    }
    if ($("#bedSlider").parent().find(".min").length) {
        $('#bedmin').val($("#bedSlider").parent().find(".min").html());
        $('#bedmax').val($("#bedSlider").parent().find(".max").html());
    }
    if ($("#bathSlider").parent().find(".min").length) {
        $('#bathmin').val($("#bathSlider").parent().find(".min").html());
        $('#bathmax').val($("#bathSlider").parent().find(".max").html());
    }

    if ($("#propertyType div").length != $(".on").length) {
        var proptypes = [];
        $(".on").each(function(){
            proptypes.push($(this).attr('id'));
        });
        $('#types').val(proptypes.join(' '));
    }
}

$(document).ready(function() {
    $("body").append('<img src="/styles/images/loading.gif" alt="loading" style="display: none;" />');

    $("#bedSlider").slider({
        range: true,
        min: 0,
        max: 20,
        values: [0, 20],
        slide: function(event, ui) {
            $("#bedFilter").empty().html('<span class="min">' + ui.values[0] + '</span> - <span class="max">' + ui.values[1] + '</span>');
            if (ui.values[0]==0 && ui.values[1]==20) {
                $("#bedFilter").html('Any');
            }
        },
        stop:function(){
            filterState();
        }
    });
    $("#bathSlider").slider({
        range: true,
        min: 0,
        max: 20,
        values: [0, 20],
        slide: function(event, ui) {
            $("#bathFilter").html('<span class="min">' + ui.values[0] + '</span> - <span class="max">' + ui.values[1] + '</span>');
            if (ui.values[0]==0 && ui.values[1]==20) {
                $("#bathFilter").html('Any');
            }
        },
        stop:function(){
            filterState();
        }
    });
    $("#priceSlider").slider({
        range: true,
        min: 0,
        max: 500000,
        values: [0, 500000],
        slide: function(event, ui) {
            $("#priceFilter").html('&euro; <span class="min">' + ui.values[0] + '</span> - &euro; <span class="max">' + ui.values[1] + '</span>');
            if (ui.values[0]==0 && ui.values[1]==500000) {
                $("#priceFilter").html('Any');
            } else if (ui.values[1]==500000) {
                $("#priceFilter").html('&euro; <span class="min">' + ui.values[0] + '</span> - <span class="max">500000</span>');
            }
        },
        stop:function(){
            filterState();
        }
    });

    $("#propertyType div").bind('click', function() {
        if($(this).is('.on') && 1 == $(".on").length) { 
            $("#propertyType div").addClass('on');
        } else if($("#propertyType div").length == $(".on").length) {
            $("#propertyType div").removeClass('on');
            $(this).addClass('on');
        } else {
            $(this).toggleClass('on');
        }
        filterState();
    });

    if($('#pricemin').val() && $('#pricemax').val()) {
        $("#priceSlider").slider("values", 0, $('#pricemin').val());
        $("#priceSlider").slider("values", 1, $('#pricemax').val());
        $("#priceFilter").html('<div class="no-break">&euro;&nbsp;<span class="min">' + $('#pricemin').val() + '</span>&nbsp;-&nbsp;&euro;&nbsp;<span class="max">' + $('#pricemax').val() + '</span>');
        if ($('#pricemin').val() == 0 && $('#pricemax').val() == 5000000) {
            $("#priceFilter").html('Any');
        }
    }

    if($('#bedmin').val() && $('#bedmax').val()) {
        $("#bedSlider").slider("values", 0, $('#bedmin').val());
        $("#bedSlider").slider("values", 1, $('#bedmax').val());
        $("#bedFilter").html('<span class="min">' + $('#bedmin').val() + '</span>&nbsp;&mdash;&nbsp;<span class="max">' + $('#bedmax').val() + '</span>');
        if ($('#bedmin').val() ==0 && $('#bedmax').val() ==10) {
            $("#bedFilter").html('Any');
        }
    }

    if($('#bathmin').val() && $('#bathmax').val()) {
        $("#bathSlider").slider("values", 0, $('#bathmin').val());
        $("#bathSlider").slider("values", 1, $('#bathmax').val());
        $("#bathFilter").html('<span class="min">' + $('#bathmin').val() + '</span> - <span class="max">' + $('#bathmax').val() + '</span>');
        if ($('#bathmin').val()==0 && $('#bathmax').val()==10) {
            $("#bathFilter").html('Any');
        }
    }
})
