function queryString(ji) {
    hu = window.location.search.substring(1).toLowerCase();
    gy = hu.split("&");
    for (i = 0; i < gy.length; i++) {
        ft = gy[i].split("=");
        if (ft[0] == ji.toLowerCase()) {
            return ft[1];
        }
    }
}

function getQuerystring(key, default_) {
    if (default_ == null) default_ = "";
    key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
    var qs = regex.exec(window.location.href);
    if (qs == null)
        return default_;
    else
        return qs[1];
}

function getParam(queryString, paramName) {
    paramArray = queryString.toLowerCase().split("&");
    for (i = 0; i < paramArray.length; i++) {
        nameValuePair = paramArray[i].split("=");
        if (nameValuePair[0] == paramName.toLowerCase()) {
            return decodeURIComponent(nameValuePair[1]);
        }
    }
}

function getHashParams() {
    var hashParams = {};
    var e,
        a = /\+/g,  // Regex for replacing addition symbol with a space
        r = /([^&;=]+)=?([^&;]*)/g,
        d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
        q = window.location.hash.substring(1);

    while (e = r.exec(q))
        hashParams[d(e[1])] = d(e[2]);

    //if (hashParams === undefined || hashParams === 'undefined')

    return hashParams;
}

function addHashParam(n) {
    var o = eval('getHashParams().' + n);
    if (GRegEx(o, ptnNumberComma)) {
        eval(n += 'getHashParams().'+n);
    }
    //if (GRegEx(getHashParams().sb1, ptnNumberComma)) sb1 += getHashParams().sb1;
}
