$(function() {

    $('div.col1 input[type="radio"]').click(function() {
        var id = $(this).attr('id');
        $.ECHO.selectFilterGroup(id);
    });
    
    $('div.submit img').click(function() {
        $.ECHO.submit();
    });
    
    $.ECHO.setQuery = function(q) {
        $('form#formadvsearch div.searchfield input.formfield#q').val(q);
        $.ECHO.setFilter();
    };
    
    $.ECHO.disableSelected = function(container) {
        /** Disable click on current tab */
	    container.each(function(key, value) {
	        value = $(value);
	        if (value.find('img').attr('src').indexOf('.on.png') != -1) {
	            value.removeAttr('href');
	        }
	    });
    };
    
    $.ECHO.setFilter = function() {
	    var value = '';
        $.ECHO.setHidden('filters', '');
        var filters = $('div.checkbox input[type="checkbox"]');
        
        filters.each(function(k, v){
            v = $(v);
            if (!v.parent().parent().hasClass('hidden') && v.attr('checked')) {
                value += value != '' ? ' ' : '';
                value += v.val();
            }
        });
	    
	    $.ECHO.setHidden('filters', value);
    };
    
    $.ECHO.selectFilterGroup = function(id) {
        var group = $('div.filter_container div.' + id + '_filters');
        $('div.filter_container div.checkboxes').addClass('hidden');
        
	    var filters = $('div.filters');
        var wasHidden = $.ECHO.isHidden(filters);
        $.ECHO.hideFilters(filters);
        
        var link = $('a#filter_results');
        link.addClass('hidden');
        
        if (group != null && group.length > 0) {
            group.removeClass('hidden');
            link.removeClass('hidden');
            $.ECHO.showFilters(filters);
        }
    };
    
    $.ECHO.showFilters = function(filters) {
        filters.show();
        $('div.submit a#filter_results').html('Hide Advanced Search >');
    };
    
    $.ECHO.hideFilters = function(filters) {
        filters.hide();
        $('div.submit a#filter_results').html('Advanced Search >');
    };
    
    $.ECHO.isHidden = function(filters) {
        return filters.css('display') == 'none';
    };
    
    $.ECHO.toggleFilters = function() {
	    var filters = $('div.filters');
	    
	    if ($.ECHO.isHidden(filters)) {
	        $.ECHO.showFilters(filters);
	    } else {
	        $.ECHO.hideFilters(filters);
	    }
    };
    
    $.ECHO.selectAllFilters = function() {
        $('div.checkbox input[type="checkbox"]').each(function(i, n) {
            $(n).attr('checked', 'checked');
        });
    };
    
    $.ECHO.selectNoFilters = function() {
        $('div.checkbox input[type="checkbox"]').each(function(i, n) {
            $(n).removeAttr('checked');
        });
    };
    
    $.ECHO.nextPage = function() {
        var pageNum = $.ECHO.search.page;
	    if (pageNum < $.ECHO.search.numPages) {
	        $.ECHO.page(pageNum + 1);
	    }
    };
    
    $.ECHO.prevPage = function() {
        var pageNum = $.ECHO.search.page;
	    if (pageNum > 1) {
	        $.ECHO.page(pageNum - 1);
	    }
    };
    
    $.ECHO.page = function(num) {
        $.ECHO.setHidden('page', num);
        $.ECHO.submit();
    };
    
    $.ECHO.view = function(type) {
        $.ECHO.setHidden('view', type);
        $.ECHO.submit();
    };
    
    $.ECHO.setHidden = function(name, value) {
        $('input[type=hidden]#' + name).val(value);
    };
    
    $.ECHO.getHidden = function(name) {
        return $('input[type=hidden]#' + name).val();
    };
    
    $.ECHO.submit = function() {
        $.ECHO.setFilter();
        $('form#formadvsearch').submit();
    };
    
    
    //run the following code on page load
    var somethingSelected = false;
    $('div.col1 input[type="radio"]').each(function(i, n) {
        if (n.checked) {
            $(n).click();
            somethingSelected = true;
        }
    });
    
    if ($.ECHO.getHidden('request_filters') != '' && somethingSelected) {
        $.ECHO.showFilters($('div.filters'));
    }
    
});