﻿/*
    vacature: vacature waarop het filter toegepast moet worden
    data: array met regios om tegen te toetsen

    return: true als een van de regios in data ook in vacature voorkoment, anders false
*/
function vacatureFilterRegios(vacature, data) {
    for (var i = 0; i < data.length; i++) {
        if (vacature.regio == data[i])
            return true;
    }
    return false;
}

/*
    vacature: vacature waarop het filter toegepast moet worden
    data: object met van en tot attributen voor het aantal uren

    return: true als het aantal uren binnen de specificatie valt
*/
function vacatureFilterUren(vacature, data) {
    if (vacature.urenperweek >= data.van &&
        vacature.urenperweek <= data.tot) {
        return true;
    }
    return false;
}

/*
vacature: vacature waarop het cilter toegepast moet worden
data: array met strings van soorten werk die goedgekeurd moeten worden

return: true als de vacature een van de geslecteerde soorten werk bevat
*/
function vacatureSoortWerk(vacature, data) {
    for (var i = 0; i < data.length; i++) {
        for (var j = 0; j <vacature.soortwerk.length; j++)
            if (vacature.soortwerk[j] == data[i])
                return true;
    }
    return false;
}

/*
vacature: vacature waarop het filter toegepast moet worden
data: object met van en tot attributen voor het aantal uren

return: true als het aantal uren binnen de specificatie valt
*/
function vacatureFilterPlaatsingsDatum(vacature, data) {
    // minage en maxaage in dagen
    var dateArr = vacature.plaatsingsdatum.split('-');

    var plaatsingsDate = new Date(dateArr[2], dateArr[1] - 1, dateArr[0]);
    var maxDate = new Date().setDate(new Date().getDate() + data.maxAge);
    var minDate = new Date().setDate(new Date().getDate() + data.minAge);  // minaeg is negatief

    // Of de vacature valt binnen de sortering, of de sortering is gelijk aan of meer dan 90 dagen, dan negeren we de maximale leeftijd en pakken we alles
    // effectief dus als de maximale leeftijd 90 is pakken we ALLE vacatures, en vanaf de 89 gaat de voorwaarde pas in

    if ((plaatsingsDate >= minDate || data.minAge <= -90) &&
        plaatsingsDate <= maxDate
    ) {
        return true;
    }

    return false;
}

