// Copyright (c) 2008-2010 by Kavanagh Consultancy Limited. All rights reserved.

function writeLastModified() {
    var date = new Date(document.lastModified);
    var months = new Array("January", "February", "March", "April", "May", "June",
                           "July", "August", "September", "October", "November", "December");
    document.write("Last Modified: " + date.getDate() + " " + months[date.getMonth()] + " " + date.getFullYear());
}

function writeContactUsMailTo(name) {
    document.write("<code><a href=\"mailto:" + name + "@ooatool.com\">" + name + "@ooatool.com</a></code>");
}

function isValidEmailAddress(emailAddress) {
    // See: http://blogs.sun.com/paulj/entry/email_regex_address_validation_aka
    var pattern = new RegExp("^(\")?[\\w!#$%&'*+/=?^_`{|}~-]+"
                             + "(\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*\\1"
                             + "@((?=[^_])[\\w-])+(\\.((?=[^_])[\\w-])+)*\\.?$");
    return pattern.test(emailAddress);
}

function changeNotation() {
    var selectElement = document.Notation.Notation;
    var options = selectElement.options;
    var selectedIndex = selectElement.selectedIndex;
    if (selectedIndex < 0) {
        selectedIndex = 0;
    }
    for (var i = 0; i < options.length; i++) {
        if (document.getElementsByClassName) {
            var elements = document.getElementsByClassName(options[i].value);
            for (var j = 0; j < elements.length; j++) {
                elements[j].style.display = (i == selectedIndex) ? "" : "none";
            }
        } else {
            var elements = document.getElementsByTagName("*");
            for (var j = 0; j < elements.length; j++) {
                if (elements[j].className == options[i].value) {
                    elements[j].style.display = (i == selectedIndex) ? "" : "none";
                }
            }
        }

    }
    setCookie("notation", options[selectedIndex].value, 90);
    selectElement.style.fontWeight = "bold";
}

function selectNotation() {
    var selectElement = document.Notation.Notation;
    var options = selectElement.options;
    var selectedIndex = 0;
    var value = getCookie("notation");
    for (var i = 0; i < options.length; i++) {
        if (value == options[i].value) {
            selectedIndex = i;
            break;
        }
    }
    selectElement.selectedIndex = selectedIndex;
    changeNotation();
}

function getCookie(name) {
    if (document.cookie.length > 0) {
        var startIndex = document.cookie.indexOf(name + "=");
        if (startIndex != -1) {
            startIndex += name.length + 1;
            var endIndex = document.cookie.indexOf(";", startIndex);
            if (endIndex == -1) {
                endIndex = document.cookie.length;
            }
            return unescape(document.cookie.substring(startIndex, endIndex));
        }
    }
    return "";
}

function setCookie(name, value, expiresInDays) {
    var expires = new Date();
    expires.setDate(expires.getDate() + expiresInDays);
    document.cookie = name + "=" + escape(value) + ";expires=" + expires.toUTCString();
}

// End of File

