﻿String.prototype.QueryStringToObject = 
function()
{
    return convertToObject(this, "&", "=");
}

String.prototype.ParamsToObject = 
function()
{
    return convertToObject(this, ";", "=");
}

function convertToObject(str, strPairDelim, strNameValDelim)
{
    var rePairDelimHead = new RegExp("^" + strPairDelim);
    var rePairDelim = new RegExp(strPairDelim, "g");
    var reNameValDelim = new RegExp(strNameValDelim, "g");
    
    return eval("({" + str.replace(rePairDelimHead, "").replace(reNameValDelim, ":").replace(rePairDelim, ", ") + "})");
}