function setStylesheet(name) {
    setStylesheetWithParams(name, new Array());
}

function setStylesheetWithParams(name, params) {
    // location
    var i, n;
    var queryStr = "";
    var qParams;
    var tokens;
    var postParams = new Object();
    var formElement;
    var property;
    var actionParam = location.pathname;

    for (i = 0, n = params.length; i < n; i++) {
        tokens = params[i].split("=");
        if (!containsKey(postParams, tokens[0])) {
            postParams[tokens[0]] = tokens[1];
        }
    }

    if (location.search) {
        queryStr = location.search.substr(1, location.search.length);
    }

    if (queryStr) {
        qParams = queryStr.split("&");
        for (i = 0, n = qParams.length; i < n; i++) {
            tokens = qParams[i].split("=");
            if (tokens[0] === 'thisId') {
                actionParam = actionParam + "?" + tokens[0] + "=" + tokens[1];
            } else if (tokens[0] != 'size') {
                if (!containsKey(postParams, tokens[0])) {
                    postParams[tokens[0]] = tokens[1];
                }
            }
        }
    }

    setCookie("fontsize", name);

    formElement = document.createElement("form");
    formElement.setAttribute("action", actionParam);
    formElement.setAttribute("method", "post");
    document.getElementById("fontresizer").appendChild(formElement);
    for (property in postParams) {
        formElement.appendChild(createHiddenInput(property, postParams[property]));
    }
    formElement.submit();
}

function createHiddenInput(name, value) {
    var inputElement = document.createElement("input");
    inputElement.setAttribute("type", "hidden");
    inputElement.setAttribute("name", name);
    inputElement.setAttribute("value", value);
    return inputElement;
}

function containsKey(obj, needle) {
    var i, n;
    for (var key in obj) {
        if (key == needle) {
            return true;
        }
    }
    return false;
}

function setCookie(name, value) {
    var date = new Date();
    date.setTime(date.getTime()+(100*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
    document.cookie = name+"="+escape(value)+expires+"; path=/";
}

