﻿var tags = {};
var outcomes = [];
var types = [];

function evalTags(data, textStatus) {
    tags = eval('(' + data + ')');
    if (!override) {
        loadTags();
    };
};

function evalOutcomes(data, textStatus) {
    outcomes = eval('(' + data + ')');
    if (!override) {
        loadOutcomes();
    };
};

function evalTypes(data, textStatus) {
    types = eval('(' + data + ')');
    if (!override) {
        loadTypes();
    };
};

function loadOutcomes() {
    var subcat = $("#Outcome");
    subcat.empty();
    if (outcome.length == 0) {
        subcat.append('<option selected="selected">All</option>');
    }
    else {
        subcat.append('<option>All</option>');
    };
    
    for (entry in outcomes) {
        if (outcomes[entry] == outcome) {
            subcat.append('<option selected="selected">' + outcomes[entry] + '</option>');
        } else {
        subcat.append("<option>" + outcomes[entry] + "</option>");
        };
    };
};

function loadTags(event) {
    var outcome = $("#Outcome").val();
    var subcat = $("#Topics");
    subcat.empty();
    if (topic.length == 0) {
        subcat.append('<option selected="selected">All</option>');
    }
    else {
        subcat.append('<option>All</option>');
    };

    for (entry in tags[outcome]) {
        if (tags[outcome][entry] == topic) {
            subcat.append('<option selected="selected">' + tags[outcome][entry] + '</option>');
        } else {
            subcat.append("<option>" + tags[outcome][entry] + "</option>");
        };
    };
};

function loadTypes(event) {
    var subcat = $("#Type");
    subcat.empty();
    subcat.append("<option>All</option>");
    for (entry in types) {
        subcat.append("<option>" + types[entry] + "</option>");
    };
};

$(document).ready(function() {
    $("#Topics").click(function(ev) {
        var limit = 3;
        var selectedTags = $("#Topics :selected");
        var count = selectedTags.length;

        if (count > limit) {
            alert('You may not select more than three Topics');
            $("#Topics :selected").filter("option:last").attr("selected", false);
        };
    });
});
