function filter_providers(obj) {

    var id, providers;

    if (!obj.name) return;

    id = obj.name.substr(obj.name.indexOf('['));
    id = id.replace(/\[/g,'');
    id = parseInt(id);

    if (!id) return;

    providers = getCookie('providers');
    eval('providers = ' + providers + ';');
    if (!providers) providers = Array();

    if (!obj.checked) {
        providers[id] = 0;
    } else {
        providers[id] = 1;
    }

    setCookie('providers',serialize(providers));
}

function filter_providers_clean() {

    var providers;

    providers = Array();
    setCookie('providers',serialize(providers));
    progress_update();
}

function filter_categories(obj) {

    var id, categories;

    if (!obj.name) return;

    id = obj.name.substr(obj.name.indexOf('['));
    id = id.replace(/\[/g,'');
    id = parseInt(id);

    if (!id) return;

    categories = getCookie('categories');
    eval('categories = ' + categories + ';');
    if (!categories) categories = Array();

    if (!obj.checked) {
        categories[id] = 0;
    } else {
        categories[id] = 1;
    }

    setCookie('categories',serialize(categories));
}

function filter_categories_clean() {

    var categories;

    categories = Array();
    setCookie('categories',serialize(categories));
}

function providers_select_all(obj) {

    var i=0;
    var obj0;
    var checked = obj.checked;

    obj0 = document.getElementById('providerSelect'+i);
    while (obj0) {

        obj0.checked = checked;

        filter_providers(obj0);

        i++;
        obj0 = document.getElementById('providerSelect'+i);
    }    
}

function categories_select_all(obj) {

    var i=0;
    var obj0;
    var checked = obj.checked;

    obj0 = document.getElementById('categorySelect'+i);
    while (obj0) {

        obj0.checked = checked;

        filter_categories(obj0);

        i++;
        obj0 = document.getElementById('categorySelect'+i);
    }    
}
