﻿/*
    full: alle vacatures in jSon
    filtered: de vacatures die nu zichtbaar zijn
    container: de container waar de checkboxes in geplaatst moeten worden
*/
function flllRegioCheckBoxes(full, filtered, container) {
    // we willen alleen uneke regios, niets dubbel
    var uniqueRegios = [];

    for (var i = 0; i < full.vacatures.length; i++) {
        var found = false;
        for (var j = 0; j < uniqueRegios.length; j++) {
            if (uniqueRegios[j] == full.vacatures[i].regio) {
                found = true;
                break;
            }
        }

        if (found == false)
            uniqueRegios.push(full.vacatures[i].regio);
    }

    for (var i = 0; i < uniqueRegios.length; i++) {
        $('<input />', {
            type: 'checkbox',
            value: uniqueRegios[i],
            name: uniqueRegios[i],
            id: "regio_cb_" + uniqueRegios[i],
            'class': 'filterCheckBox'
        }).click(function () {
            buildAndApplyfilter();
        }).appendTo(container);

        $('<label />', {
            'class' : "vacatureFilter",
            'for': "regio_cb_"+uniqueRegios[i]
        }).html(uniqueRegios[i]).appendTo(container);
        
        $('<br/>').appendTo(container);
    }
}


/*
    full: alle vacatures in jSon
    filtered: de vacatures die nu zichtbaar zijn
    container: de container waar de checkboxes in geplaatst moeten worden
*/
function flllSoortWerkCheckBoxes(full, filtered, container) {
    // we willen alleen unieke soorten werk, niets dubbel
    var uniqueWork = [];

    // lus door alle vacatures
    for (var i = 0; i < full.vacatures.length; i++) {
        var vac = full.vacatures[i];

        // elke vacature kan max. 3 soorten werk bevatten, controlleer ze allemaal, en elke nog niet toegevoegde soort werk toevoegen.
        // lus door alle soorten werk van deze vacature
        for (var j = 0; j < vac.soortwerk.length; j++) {
            var found = false;

            // controlleer elk gevonden soort werk of deze al in de unieke array zit, zonee moeten we hem toevoegen, zoja niet
            for (var k = 0; k < uniqueWork.length; k++) {
                if (uniqueWork[k] == vac.soortwerk[j]) {
                    found = true;
                    break;
                }
            }
            if (found == false)
                 uniqueWork.push(vac.soortwerk[j]);
        }
    }

    for (var i = 0; i < uniqueWork.length; i++) {
        $('<input />', {
            type: 'checkbox',
            value: uniqueWork[i],
            name: uniqueWork[i],
            id: "uniquework_cb_" + uniqueWork[i].replace(/(\s|\/)+/g, ''),
            'class': 'filterCheckBox'
        }).click(function () {
            buildAndApplyfilter();
        }).appendTo(container);

        $('<label />', {
            'class' : "vacatureFilter",
            'id': "uniquework_label_cb_" + uniqueWork[i].replace(/(\s|\/)+/g, ''),
            'for': "uniquework_cb_" + uniqueWork[i].replace(/(\s|\/)+/g, '')
        }).html(uniqueWork[i]).appendTo(container);
        
        $('<br/>').appendTo(container);
    }
    filterOptions.work = uniqueWork;
}

function flllSoortWerksetDisabled(filtered) {
    // we willen alleen unieke soorten werk, niets dubbel
    var uniqueWork = [];

    // lus door alle vacatures
    for (var i = 0; i < filtered.vacatures.length; i++) {
        var vac = filtered.vacatures[i];

        // elke vacature kan max. 3 soorten werk bevatten, controlleer ze allemaal, en elke nog niet toegevoegde soort werk toevoegen.
        // lus door alle soorten werk van deze vacature
        for (var j = 0; j < vac.soortwerk.length; j++) {
            var found = false;

            // controlleer elk gevonden soort werk of deze al in de unieke array zit, zonee moeten we hem toevoegen, zoja niet
            for (var k = 0; k < uniqueWork.length; k++) {
                if (uniqueWork[k] == vac.soortwerk[j]) {
                    found = true;
                    break;
                }
            }
            if (found == false)
                 uniqueWork.push(vac.soortwerk[j]);
        }
    }
    for (var i = 0; i < filterOptions.work.length; i++) {
        log(filterOptions.work);
        log(uniqueWork);
        if(jQuery.inArray(filterOptions.work[i], uniqueWork) >-1){
            $("#uniquework_label_cb_"+filterOptions.work[i].replace(/(\s|\/)+/g,'')).removeClass("disabled");
            $("#uniquework_cb_"+filterOptions.work[i].replace(/(\s|\/)+/g,'')).removeAttr ( "disabled" );
        }
        else {

            // debug voor 2e item met spaties in de naam

            $("#uniquework_label_cb_" + filterOptions.work[i].replace(/(\s|\/)+/g, '')).addClass("disabled");
            $("#uniquework_cb_" + filterOptions.work[i].replace(/(\s|\/)+/g, '')).attr("disabled", true);
            $("#uniquework_cb_" + filterOptions.work[i].replace(/(\s|\/)+/g, '')).attr('checked', false);
        }
        
    }
    
}
