Разбейте на несколько функций, примеры
function getUrlVars() {
var vars = {};
location.search.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(_,key,value) {vars[key] = value});
return vars;
}
и
function encodeData(data) {
var pairs = [], value = '';
for (var name in data) {
if (data.hasOwnProperty(name)) {
pairs.push(name + '=' + data[name]);
}
}
return pairs.join('&');
}
и
function insertIntoGet(key, value) {
var obj = getUrlVars();
obj[key] = value;
return '?' + encodeData(obj);
}