function searchMangoReserves(){ var reservesBaseURLInput,reservesBaseURL, searchInput, searchString, reservesIndex; var reservesIndexSelect, locationHref, charRegExString, base64Regex, reservesInstGroup; /* base64_encoding_map includes special characters that need to be encoded using base64 - these chars are "=","/", "\", "?" character : base64 encoded */ var base64_encoding_map = {"=":"PQ==", "/": "Lw==", "\\":"XA==", "?":"Pw=="};
var escapeRegExp = function(string) { return string.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1"); } reservesBaseURLInput = document.getElementById("reservesBase"); reservesInstGroupInput = document.getElementById("reservesInstGroup"); reservesIndexParamInput = document.getElementById("reservesIndexParam"); reservesSearchParamInput = document.getElementById("reservesSearchParam"); searchInput = document.getElementById("searchInput"); reservesIndexSelect = document.getElementById("reservesIndex"); if (reservesIndexSelect) { reservesIndex = reservesIndexSelect[reservesIndexSelect.selectedIndex].value; }
if (reservesBaseURLInput && reservesInstGroupInput && reservesIndexParamInput && reservesSearchParamInput && reservesIndex) { reservesBaseURL = reservesBaseURLInput.value; reservesInstGroup = reservesInstGroupInput.value; reservesIndexParam = reservesIndexParamInput.value; reservesSearchParam = reservesSearchParamInput.value; searchString = searchInput.value; for(var specialChar in base64_encoding_map) { charRegExString = escapeRegExp(specialChar); base64Regex = new RegExp(charRegExString, "g"); searchString = searchString.replace(base64Regex, base64_encoding_map[specialChar]) } searchString = encodeURIComponent(searchString);
locationHref = reservesBaseURL + "&" + reservesIndexParam + "=" + reservesIndex + "&" + reservesSearchParam + "=" + searchString;
window.open(locationHref, '_blank'); } return false; }