function getDefaultTheme() {
    var linkElements = document.getElementsByTagName("link");
    var i;
    for (i=0; i < linkElements.length; i++) {
        var linkElement = linkElements[i];
        if ((linkElement.getAttribute("rel").indexOf("style") != -1) &&
            (linkElement.getAttribute("rel").indexOf("alt") == -1) &&
            linkElement.getAttribute("title")) {
            return linkElement.getAttribute("title");
        }
    }
    return null;
}

function setTheme(themeName) {
    var linkElements = document.getElementsByTagName("link");
    var i;
    for (i=0; i < linkElements.length; i++) {
        var linkElement = linkElements[i];
        if ((linkElement.getAttribute("rel").indexOf("style") != -1) &&
            linkElement.getAttribute("title")) {
            linkElement.disabled = true;
            if (linkElement.getAttribute("title") == themeName) {
                linkElement.disabled = false;
            }
        }
    }

    var date = new Date();

    date.setTime(date.getTime() + (365*24*60*60*1000));
    var expires = "; expires=" + date.toGMTString();

    document.cookie = ".Theme" + "=" + themeName + expires +"; path=/";
}

function onThemeButtonClick(themeName) {
    setTheme(themeName);
}

function onWindowLoad() {
    var themeName = null;
    var cookies = document.cookie.split(';');
    for (var i = 0; i < cookies.length; i++) {
        var cookie = cookies[i];
        var cookieParts = cookie.split('=');
        if (cookieParts[0].indexOf('.Theme') != -1) {
            themeName = cookieParts[1];
            break;
        }
    }
    if (themeName == null) {
        themeName = getDefaultTheme();
    }
    if (themeName != null) {
        setTheme(themeName);
    }
}

window.onload = onWindowLoad;

