function searchMangoKeyword(){ var mangoBaseURLInput,mangoBaseURL, searchInput, searchString, keywordIndex; var keywordIndexSelect, locationHref, charRegExString, base64Regex, mangoInstGroup; var keywordFilterInput, keywordFilter, keywordCampusSelect, keywordCampus; /* 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"); } mangoBaseURLInput = document.getElementById("mangoBase"); mangoInstGroupInput = document.getElementById("mangoInstGroup"); searchInput = document.getElementById("searchInput"); keywordFilterInput = document.getElementById("searchFilter"); if (keywordFilterInput) { keywordFilter = keywordFilterInput.value; } else { keywordFilter = "bo"; } keywordIndexSelect = document.getElementById("catsearchkeyword"); if (keywordIndexSelect) { keywordIndex = keywordIndexSelect[keywordIndexSelect.selectedIndex].value; } else { keywordIndex = "kw"; } keywordCampusSelect = document.getElementById("catsearchcampus"); if (keywordCampusSelect) { keywordCampus = keywordCampusSelect[keywordCampusSelect.selectedIndex].value; } else { keywordCampus = ""; }
if (mangoBaseURLInput && mangoInstGroupInput) { mangoBaseURL = mangoBaseURLInput.value; mangoInstGroup = mangoInstGroupInput.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 = mangoBaseURL + mangoInstGroup + ".jsp?ix=" + keywordIndex + "&st=" + searchString + "&fl=" + keywordFilter;
if (keywordCampus) { locationHref = locationHref + "&avli=" + keywordCampus; }
window.open(locationHref, '_blank'); } return false; }