function urlToDict(url)
{
    var ret = new Array();
    var tokens1 = url.split('&');
    for (var i = 0; i < tokens1.length; i++)
    {
        var t1 = tokens1[i];
        if (t1.length > 0)
        {
            var tokens2 = t1.split('=');
            ret[decodeURIComponent(tokens2[0])] = decodeURIComponent(tokens2[1]);
        }
    }
    return ret;
}

function dictToUrl(dict)
{
    var ret = "ajax=1";
    for (key in dict)
    {
        if ((key.indexOf('#') < 0) && (key != 'ajax'))
        {
            ret += "&" + encodeURIComponent(key) + "=" + encodeURIComponent(dict[key]);
        }
    }
    return ret;
}

function updateDict(d1, d2)
{
    var ret = d1;
    for (var key in d2)
    {
        ret[key] = d2[key];
    }
    return ret;
}

