$(function(){
    $('#search-form input, #search-results input').live('change',function(){
        $('#page').val('1');
        $('#search-form').submit();
    })
    $('#search-form').bind('beforeSubmit', function() {
        var $selected = [];
        $('#type-list .in').each(function(){
            $selected.push($(this).attr('rev'));
        })
        $('.input-type').val($selected.join('+'));
    });
})

$('li.search li a').click(function(){
    $('#search-form').submit();
    return false;
})

$$search_function = function(){
    $$slider = function(e,ui) {
        a = (ui.value==$(this).slider('option','max') || ui.value==$(this).slider('option','min') ) ? '' : ui.value; 
        $(ui.handle).find('span').text(a);
    };
    $$small_step=250;
    $rentalrates = $('#price');

    $('#destination').autocomplete('/locations')
    .result(function(e, item) {
        $('#location').val(item);
        $('#search-form').submit();
    });

    
    $$update_input = function(e,ui){
        var $target = e.target.id;
        var $value = $('#'+$target).slider('values') +'';
        $('.input-'+$target).attr('value', $value.replace(/,/g,'-') ).trigger('change');
    };

    $('.criteria a').click(function(){
        $(this).toggleClass('in');
        $(this).parents('form').trigger('submit');
        return false;
    });

    
    $('#bedrooms').slider({min:1,max:6,range:true,step:1, values: $('.input-bedrooms').val().split('-'), slide: $$slider})
    .bind('slidechange', $$update_input);
   
    $('#bathrooms').slider({min:1,max:6,range:true,step:1, values: $('.input-bathrooms').val().split('-'), slide: $$slider})
    .bind('slidechange', $$update_input);

    $rentalrates.slider({min:50000,max:5000000,range:true,step:25000, values: $('.input-price').val().split('-')})
                .bind('slide',function(e,ui) {
                    if(ui) {
                        if(ui.value>400000) {$(this).slider('option','step',100000);}
                        else {$(this).slider('option','step',$$small_step);}
                        a = (ui.value>=$(this).slider('option','max') || ui.value<=$(this).slider('option','min') ) ? '' : Math.round(ui.value)+'';
                        if(a) {
                            num=a
                            for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) {
                                num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
                            }
                            num = '$'+num
                        } else {
                            num=''
                        }
                        $(ui.handle).find('span').text(num);
                    } else {
                        $(this).find('a span').text('');
                    }
    }).bind('slidechange', $$update_input);
    
    $('.ui-slider-handle').append('<span/>');
};

$($$search_function);
