function filterNum(str) {
	re = str.replace(/"/g,"");
	re = re.replace(/'/g,"");
	re = re.replace(/</g,"");
	re = re.replace(/>/g,"");
	return re
}


// extract front part of string prior to searchString
function getFront(mainStr, searchStr) {
	foundOffset = mainStr.indexOf(searchStr);
	if (foundOffset == -1) {
		return null;
	}
	return mainStr.substring(0, foundOffset);
}

// extract back end of string after searchString
function getEnd(mainStr, searchStr) {
	foundOffset = mainStr.indexOf(searchStr);
	if (foundOffset == -1) {
		return null;
	}
	return mainStr.substring(foundOffset+searchStr.length, mainStr.length);
}

// insert insertString immediately before searchString
function insertString(mainStr, searchStr, insertStr) {
	var front = getFront(mainStr, searchStr);
	var end = getEnd(mainStr, searchStr);
	if (front != null && end != null) {
		return front + insertStr + searchStr + end;
	}
	return null;
}

// remove deleteString
function deleteString(mainStr, deleteStr) {
	return replaceString(mainStr, deleteStr, "");
}

// replace searchString with replaceString
function replaceString(mainStr, searchStr, replaceStr) {
	var front = getFront(mainStr, searchStr);
	var end = getEnd(mainStr, searchStr);
	if (front != null && end != null) {
		return front + replaceStr + end;
	}
	return null;
}

// formats inputString as a URL-encoded string
function urlEncodedFormat(inputStr) {
	// Note: I change the percent sign to the cross character
	// and then from the cross character to the code "%25" so
	// that an endless loop is avoided. Otherwise it would keep
	// finding "%" and checkNull would never be set to null.
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "%", "†");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "†", "%25");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, " ", "%20");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "!", "%21");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, '"', "%22");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "#", "%23");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "$", "%24");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "&", "%26");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "'", "%27");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "(", "%28");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, ")", "%29");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "*", "%2A");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "+", "%2B");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, ",", "%2C");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "-", "%2D");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, ".", "%2E");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "/", "%2F");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, ":", "%3A");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, ";", "%3B");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "<", "%3C");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "=", "%3D");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, ">", "%3E");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "?", "%3F");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "@", "%40");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "[", "%5B");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "\\", "%5C");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "]", "%5D");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "^", "%5E");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "_", "%5F");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "`", "%60");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "{", "%7B");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "|", "%7C");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "}", "%7D");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	var checkNull = "";
	while (checkNull != null) {
		checkNull = replaceString(inputStr, "~", "%7E");
		if (checkNull != null) {
			inputStr = checkNull;
		}
	}
	return inputStr;
}