// JavaScript Document

var priceTimeout, mileageTimeout;
function Filter()
{

    this.init = init;
    this.setupSlider = setupSlider;


    function init(nPriceMinStart, nPriceMaxStart, nMileageMinStart, nMileageMaxStart)
    {
        setupSlider(nPriceMinStart, nPriceMaxStart, nMileageMinStart, nMileageMaxStart); 
    }

    function setupSlider(nPriceMinStart, nPriceMaxStart, nMileageMinStart, nMileageMaxStart)
    {
        $('.ui-slider').each(function() {
            $('.ui-slider-handle:first', this).addClass('rangeslider-handle-left')
            $('.ui-slider-handle:last', this).addClass('rangeslider-handle-right')
        }); 
  
        $('select#priceValsMin,select#priceValsMax').hide();


        if ( $('#priceValsMax').length > 0 )
        { 

            var priceStepsCount = $('select#priceValsMax').children().length-1; 
            var priceMinMinVal = $('select#priceValsMin').children(':first').val();
            var priceMinMaxVal = $('select#priceValsMin').children(':last').val();
            var priceMaxMinVal = $('select#priceValsMax').children(':first').val();
            var priceMaxMaxVal = $('select#priceValsMax').children(':last').val();
            var priceMinStart = nPriceMinStart != "" && nPriceMinStart != null ? nPriceMinStart : $('select#priceValsMin').children(':first').val();
            var priceMaxStart = nPriceMaxStart != "" && nPriceMaxStart != null ? nPriceMaxStart : $('select#priceValsMax').children(':last').val();
            priceMinStart = parseInt(priceMinStart);
            priceMaxStart = parseInt(priceMaxStart);

            $("#rangeslider").slider({
                range: true,
                min: 0,
                max: priceMaxMaxVal,
                step:2000,
                values: [priceMinStart, priceMaxStart],
                slide: function(event, ui) {
                    $("#minPrice").val('$' + ui.values[0]);
                    $("#maxPrice").val('$' + ui.values[1]);
                    $("#minPrice").text(ui.values[0]);
                    $("#maxPrice").text(ui.values[1]);
                    //$("#minPrice").text($("#rangeslider").slider("values", 0));
                    //$("#maxPrice").text($("#rangeslider").slider("values", 1));
                    clearTimeout(priceTimeout);
                    priceTimeout = setTimeout("SetFilter()", 500);
                    //SetFilter();
                }
            });

            //var minPriceString = CurrencyFormatted($("#rangeslider").slider("values", 0));
            //$("#minPrice").text(minPriceString);
            $("#minPrice").text($("#rangeslider").slider("values", 0));
            $("#maxPrice").text($("#rangeslider").slider("values", 1));

        }
        // mileage


        if ( $('#mileageValsMax').length > 0 )
        { 

            $('select#mileageValsMin,select#mileageValsMax').hide();

            var mileageStepsCount = $('select#mileageValsMax').children().length-1; 
            var mileageMinMinVal = $('select#mileageValsMin').children(':first').val();
            var mileageMinMaxVal = $('select#mileageValsMin').children(':last').val();
            var mileageMaxMinVal = $('select#mileageValsMax').children(':first').val();
            var mileageMaxMaxVal = $('select#mileageValsMax').children(':last').val();
            //var mileageMinStart = $('select#mileageValsMin').children(':nth-child(9)').val();
            //var mileageMaxStart = $('select#mileageValsMax').children(':nth-child(27)').val();
            var mileageMinStart = nMileageMinStart != "" && nMileageMinStart != null ? nMileageMinStart : $('select#mileageValsMin').children(':first').val();
            var mileageMaxStart = nMileageMaxStart != "" && nMileageMaxStart != null ? nMileageMaxStart : $('select#mileageValsMax').children(':last').val();
            mileageMinStart = parseInt(mileageMinStart);
            mileageMaxStart = parseInt(mileageMaxStart); 


            $("#rangeslider2").slider({
                range: true,
                min: 0,
                max: mileageMaxMaxVal,
                step:5000,
                values: [mileageMinStart, mileageMaxStart],
                slide: function(event, ui) {

                    $("#minMileage").val('$' + ui.values[0]);
                    $("#maxMileage").val('$' + ui.values[1]);
                    $("#minMileage").text(ui.values[0]);
                    $("#maxMileage").text(ui.values[1]);
                    //$("#minMileage").text($("#rangeslider2").slider("values", 0));
                    //$("#maxMileage").text($("#rangeslider2").slider("values", 1));
                    clearTimeout(mileageTimeout);
                    mileageTimeout = setTimeout("SetFilter()", 500);
                    //SetFilter();
                }
            });

             
            $("#minMileage").text($("#rangeslider2").slider("values", 0));
            $("#maxMileage").text($("#rangeslider2").slider("values", 1));

        } // end if
    
    } 
}
