var currentFilterMethod = undefined;
var sortBoxState = 'closed';

function closeSortBox() {
    if ( sortBoxState == 'open' ) {
        toggleSortBox();
    }
}
function openSortBox() {
    if ( sortBoxState == 'closed' ) {
        toggleSortBox();
    }
}

function toggleSortBox() {
    if ( $('.zoeken-sorteer').is(':visible') ) {
        $('.zoeken-sorteer').slideUp(300);
        sortBoxState = 'closed';
    } else {
        $('.zoeken-sorteer').slideDown(300);
        sortBoxState = 'open';
    }
}

function camHashChanged(info, onLoad) {
    currentFilterMethod = 'by_sort_'+info['value'];
    if ( onLoad ) {
        setTimeout("filterCams('"+currentFilterMethod+"');", 0);
    } else {
        filterCams(currentFilterMethod);
    }
}

$(document).ready(function(){
    $('a.sort_box').live('click', function(event){
        event.preventDefault();
        toggleSortBox();
    });
    $('#sort-nav a.sort_button').live('click', function(){
        $(".cam_list_view").removeClass('active');
        $("a.sort_button").removeClass('active');
        $(".favorites_view").removeClass('active');
        $(this).addClass('active');
        $('a.sort_box').addClass('active');
        var sortBy = $(this).attr('rel');
        sortBy = sortBy.toLowerCase();
        
        $('#camspage').val(1);
        $('#fld_page').val(1);
        initForms(true);
        $.hasher.setHash('cams',sortBy);
        setTimeout("toggleSortBox();",300);
    });
    $('.cam_list_view').live('click', function(){
        $('.sort_box').removeClass('active');
        closeSortBox();
    });
    $.hasher.registerCallback('cams', camHashChanged);
    $.hasher.catchEvents();
});
