
var MONTHS = ["January", "February", "March", "April", "May", "June", "July",
              "August", "September", "October", "November", "December"];

var regretful_text = ("We regret that our current price list is not " +
                      "available online.  Please contact us for pricing " + 
                      "and availability information.");

function get_divs(class_name, container) {
    var result = [];
    var divs = container.getElementsByTagName("div");
    for (var i = 0; i < divs.length; i++) {
        var div = divs[i];
        if (div.className == class_name) {
            result.push(div.id);
        }
    }
    return result;
}

function english_list_join(items) {
    if (items.length == 1) {
        return items[0];
    } else {
        return (items.slice(0, -1).join(", ") + 
                " and " + 
                items[items.length - 1]);
    }
}

window.onload = function() {
    var quick_links = document.getElementById("quick_links");
    var today = new Date();
//     today.setFullYear(2005);
//     today.setMonth(0);
    var this_year = ["year", today.getFullYear()].join("-");
    var this_month = ["year", today.getFullYear(),
                      "month", MONTHS[today.getMonth()]].join("-");
    var years = get_divs("year", document);
    var historical_year = true;
    var future_year = false;
    var produced_output = false;
    var good_years = [];
    for (var i = 0; i < years.length; i++) {
        var year = years[i];
        var year_name = year.split("-")[1];
        var year_div = document.getElementById(year);
        if (year == this_year) {
            historical_year = false;
        }
        var short_break = document.getElementById("short_break_price-" + 
                                                  year_name);
        if (historical_year) {
            year_div.style.display = "none";
            short_break.style.display = "none";
        } else {
            short_break.style.display = "inline";
            year_div.style.display = "block";
            good_years.push(year_name);
            var year_quick_links = document.createElement("p");
            var year_anchor = document.createElement("a");
            year_anchor.href = "#" + year;
            year_anchor.appendChild(document.createTextNode(year_name));
            year_quick_links.appendChild(year_anchor);
            quick_links.appendChild(year_quick_links);
            var historical_month = true;
            var months = get_divs("month", year_div);
            var sep_char = "[";
            for (var j = 0; j < months.length; j++) {
                var month = months[j];
                if (month == this_month) {
                    historical_month = false;
                }
                var month_div = document.getElementById(month);
                if (historical_month && !future_year) {
                    month_div.style.display = "none";
                } else {
                    month_div.style.display = "block";
                    var sep = document.createTextNode(" " + sep_char + " ");
                    year_quick_links.appendChild(sep);
                    produced_output = true;
                    var month_name = month.split("-")[3];
                    var month_anchor = document.createElement("a");
                    var month_text = document.createTextNode(month_name);
                    month_anchor.appendChild(month_text);
                    month_anchor.href = "#" + month;
                    year_quick_links.appendChild(month_anchor);
                    sep_char = "|";
                }
            }
            year_quick_links.appendChild(document.createTextNode(" ]"));
            future_year = true;
        }
    }
    if (!produced_output) {
        var sorry = document.createElement("p");
        sorry.appendChild(document.createTextNode(regretful_text));
        quick_links.appendChild(sorry);
    } else {
        var weekly_heading = document.getElementById("weekly_heading");
        var list = english_list_join(good_years);
        weekly_heading.appendChild(document.createTextNode(" for " + list));
    }
};


