var intText = { FILTER: "Filtering Results ", FILTERBY: "Filtering results by ", LOADING: "Loading", NOHTTP: "Browser does not support HTTP Request", TOOSHORT: "Your search term must consist of 3 or more characters", OPENDIVNULL: "openDiv is null", FOLDERDIVNULL: "???folderDivNull???", MAPREGISTRYNULL: "No map registry defined." }; var resourceUUIDArray = new Array(); var locationUUIDArray = new Array(); var sbaUUIDArray = new Array(); var keywordUUIDArray = new Array(); var filterNameArray = new Array(); var filterNames; var intText; var useSession = 'false'; var emptySearch = 'false'; var xmlHttpSearch = GetXmlHttpObject(); var xmlHttpSearchRequest = GetXmlHttpObject(); var xmlHttpInitialSearchRequest = GetXmlHttpObject(); var xmlHttpIntro = GetXmlHttpObject(); function getxmlHttpSearch() { xmlHttpSearch.abort(); return xmlHttpSearch; } function getxmlHttpSearchRequest() { xmlHttpSearchRequest.abort(); return xmlHttpSearchRequest; } function getxmlHttpInitialSearchRequest() { xmlHttpInitialSearchRequest.abort(); return xmlHttpInitialSearchRequest; } function getxmlHttpIntro() { xmlHttpIntro.abort(); return xmlHttpIntro; } function checkOff( inp, uuidList) { if(inp.id=="classUUID") { var i = 0; for(i =0; i< uuidList.length; i++) { if(inp.value==uuidList[i]) { inp.checked=true; var name = getAssociatedNodeName(inp); if(name){ addFilterNameToList(name); } } } } } function checkOffAll( inp) { checkOff(inp,resourceUUIDArray ); checkOff(inp,locationUUIDArray ); checkOff(inp, sbaUUIDArray) checkOff(inp,keywordUUIDArray ); } function initialLoad(){ var text = window.location.search.substring(1); var params = text.split('&'); var textSearchString = null; for(i = 0; i < params.length; i++){ var temp = params[i].split('='); if(temp.length > 1){ if(temp[0] == ('keywords') ){ textSearchString = temp[1]; } else if(temp[0] == ('useSession') ){ useSession = temp[1]; } else if(temp[0] == ('locationClassifications')) { locationUUIDArray[locationUUIDArray.length] = temp[1]; //alert("locationUUIDArray = "+locationUUIDArray.length); } else if(temp[0] == ('resourceTypeClassifications')) { resourceUUIDArray[resourceUUIDArray.length] = temp[1]; //alert("resourceUUIDArray = "+resourceUUIDArray.length); } else if(temp[0] == ('sbaClassifications')) { sbaUUIDArray[sbaUUIDArray.length] = temp[1]; //alert("sbaUUIDArray = "+sbaUUIDArray.length); } else if(temp[0] == ('keywordClassifications')) { keywordUUIDArray[keywordUUIDArray.length] = temp[1]; //alert("keywordUUIDArray = "+keywordUUIDArray.length); } else if(temp[0] == ('emptySearch')){ emptySearch = temp[1]; } } } if(textSearchString == null || textSearchString.length <= 0){ useSession = 'false'; } else{ textSearchString = unescape(textSearchString); textSearchString = trim(textSearchString); } //if there are some recognizable parameters in the //query string , do a search if((textSearchString!=null && textSearchString.length > 0) || (text.indexOf('locationClassifications=') > -1) || (text.indexOf('resourceTypeClassifications=') > -1) || (text.indexOf('sbaClassifications=') > -1) || (text.indexOf('keywordClassifications=') > -1) || (emptySearch == 'true') ){ doInitialSearch(text); } else{ loadSearchClient(); loadIntro(); } } function doBasicXMLHttpRequest(url, callback, caller) { if (caller ==null) { alert (intText.NOHTTP); return; } caller.onreadystatechange=callback; caller.open("GET",url,true); caller.send(null); } function loadSearchClient(){ var url= "/wes/CSWSearchClient/simpleSearch.jsp?wes_portal_language_id="+getLocale()+"&useSession="+useSession; var now = new Date(); url += "&cachekiller=" + now.getTime(); doBasicXMLHttpRequest(url, searchCriteriaStateChanged, getxmlHttpSearch()); } function searchCriteriaStateChanged() { if (xmlHttpSearch.readyState==4 || xmlHttpSearch.readyState=="complete") { fillSearchClient(xmlHttpSearch.responseText); var text = window.location.search.substring(1); var params = text.split('&'); var textSearchString = null; for(i = 0; i < params.length; i++){ var temp = params[i].split('='); if(temp.length > 1){ if(temp[0] == ('keywords') ){ textSearchString = temp[1]; } } } if(textSearchString!=null && textSearchString.length > 0 && textSearchString!='null'){ var textSearch = document.getElementById("textSearch"); textSearch.value = unescape(textSearchString); } var allChecks = document.getElementsByTagName("input"); //Array.forEach(allChecks,checkOffAll); if(allChecks.length > 0){ for(i = 0; i < allChecks.length; i++){ checkOffAll(allChecks[i]) } } } else { fillSearchClient("





   "+intText.LOADING+"

"); } } function loadIntro(){ var url="/wes/CSWSearchClient/intro.jsp?wes_portal_language_id="+getLocale(); doBasicXMLHttpRequest(url, introStateChanged, getxmlHttpIntro()); } function introStateChanged() { if (xmlHttpIntro.readyState==4 || xmlHttpIntro.readyState=="complete") { fillSearchResults(xmlHttpIntro.responseText); } } // This is a helper function to support multiple browsers. function GetXmlHttpObject() { var objXMLHttp=null if (window.XMLHttpRequest) { objXMLHttp=new XMLHttpRequest() } else if (window.ActiveXObject) { objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP") } return objXMLHttp } function searchFormKeyPressListener(keyPress) { var key if (keyPress && keyPress.which) { key = keyPress.which } else if (keyPress && keyPress.keyCode) { key = keyPress.keyCode } if (key == 13) { doTextSearch() } } function doTextSearch(){ var url = getBaseURL()+"?wes_portal_language_id="+getLocale()+"&emptySearch=true"; var textSearch = document.getElementById("textSearch"); var textSearchValue = trim(textSearch.value); var encodedSearchValue = ""; if(textSearchValue){ if(textSearchValue.length > 2){ encodedSearchValue = escape(textSearchValue); url+= "&keywords="+encodedSearchValue+"&useSession=true"; } else{ alert(intText.TOOSHORT); return; } } if(locationUUIDArray!=null && locationUUIDArray.length > 0){ for(i = 0; i < locationUUIDArray.length; i++){ url += "&locationClassifications="+trim(locationUUIDArray[i]); } } if(keywordUUIDArray!=null && keywordUUIDArray.length > 0){ for(i = 0; i < keywordUUIDArray.length; i++){ url += "&keywordClassifications="+trim(keywordUUIDArray[i]); } } if(sbaUUIDArray!=null && sbaUUIDArray.length > 0){ for(i = 0; i < sbaUUIDArray.length; i++){ url += "&sbaClassifications="+trim(sbaUUIDArray[i]); } } if(resourceUUIDArray!=null && resourceUUIDArray.length > 0){ for(i = 0; i < resourceUUIDArray.length; i++){ url += "&resourceTypeClassifications="+trim(resourceUUIDArray[i]); } } //alert(url); location.replace(url); } function doSearch(){ var now = new Date(); var url="/wes/doCSWSearch.do?"; var textSearch = document.getElementById("textSearch"); var textSearchValue = trim(textSearch.value); var textFlag = false; var locationFlag = false; var keywordFlag = false; var sbaFlag = false; var resourceFlag = false; if(textSearchValue!=null && textSearchValue.length > 0){ url += "&keywords="+escape(textSearchValue); } else{ textFlag = true; } if(locationUUIDArray!=null){ if(locationUUIDArray.length > 0){ for(i = 0; i < locationUUIDArray.length; i++){ url += "&locationClassifications="+trim(locationUUIDArray[i]); } } else{ locationFlag = true; } } else{ locationFlag = true; } if(keywordUUIDArray!=null){ if(keywordUUIDArray.length > 0){ for(i = 0; i < keywordUUIDArray.length; i++){ url += "&keywordClassifications="+trim(keywordUUIDArray[i]); } } else{ keywordFlag = true; } } else{ keywordFlag = true; } if(sbaUUIDArray!=null){ if(sbaUUIDArray.length > 0){ for(i = 0; i < sbaUUIDArray.length; i++){ url += "&sbaClassifications="+trim(sbaUUIDArray[i]); } } else{ sbaFlag = true; } } else{ sbaFlag = true; } if(resourceUUIDArray!=null){ if(resourceUUIDArray.length > 0){ for(i = 0; i < resourceUUIDArray.length; i++){ url += "&resourceTypeClassifications="+trim(resourceUUIDArray[i]); } } else{ resourceFlag = true; } } filterNames = ""; if(filterNameArray!=null && filterNameArray.length > 0){ filterNames =""; for(i = 0; i < filterNameArray.length; i++){ if (i > 0) filterNames += ","; filterNames += filterNameArray[i]; } } url += "&cachekiller=" + now.getTime(); url += "&standAlone=false"; url += "&startPosition=1"; url += "&noSession=true"; url += "&wes_portal_language_id="+getLocale(); // if(textFlag&&locationFlag&&keywordFlag&&sbaFlag&&resourceFlag){ // if there are no criteria, just set the results to intro text. // var newUrl = "/wes/CSWSearchClient/intro.jsp?wes_portal_language_id="+getLocale(); // populateResults(newUrl); // } // else{ // populateResults(url); // } populateResults(url); } function doInitialSearch(textSearchString){ var now = new Date(); var url="/wes/doCSWSearch.do?"; url += textSearchString; url += "&cachekiller=" + now.getTime(); url += "&standAlone=false"; url += "&startPosition=1"; url += "&noSession=false"; url += "&wes_portal_language_id="+getLocale(); populateInitialResults(url); } function populateResults(url) { doBasicXMLHttpRequest(url, simpleSearchRequestStateChanged, getxmlHttpSearchRequest()); } function populateInitialResults(url){ doBasicXMLHttpRequest(url,initialSimpleSearchRequestStateChanged, getxmlHttpInitialSearchRequest()); } function simpleSearchRequestStateChanged() { if (xmlHttpSearchRequest.readyState==4 || xmlHttpSearchRequest.readyState=="complete") { xmlHttpSearchRequest.onreadystatechange = null; fillSearchResults(xmlHttpSearchRequest.responseText); drawAllFootPrints(); //add new footprints } else { if(filterNames != null && filterNames != "") { fillSearchResults("





   "+intText.FILTERBY+filterNames+"

"); } else { fillSearchResults("





   "+ intText.LOADING + "

"); } } } function initialSimpleSearchRequestStateChanged() { if (xmlHttpInitialSearchRequest.readyState==4 || xmlHttpInitialSearchRequest.readyState=="complete") { fillSearchResults(xmlHttpInitialSearchRequest.responseText); loadSearchClient(); } else { fillSearchResults("





   "+intText.FILTER+"

"); } } function updateSearchUUIDList(group, checkBoxObj){ if (checkBoxObj) { var filterName = getAssociatedNodeName(checkBoxObj); if(group!=null){ if( group == "keywords"){ var keywordIndx = getIdListIndex(keywordUUIDArray, checkBoxObj.value); if (checkBoxObj.checked) { // add id to list... if (keywordIndx < 0) { keywordUUIDArray[keywordUUIDArray.length] = checkBoxObj.value; //add name to filter names list addFilterNameToList(filterName); } } else { // remove id from list... if (keywordIndx > -1) { keywordUUIDArray.splice(keywordIndx, 1); //remove name from filter names list removeFilterNameFromList(filterName); } } } else if( group == "location" ){ var locationIndx = getIdListIndex(locationUUIDArray, checkBoxObj.value); if (checkBoxObj.checked) { // add id to list... if (locationIndx < 0) { locationUUIDArray[locationUUIDArray.length] = checkBoxObj.value; //add name to filter names list addFilterNameToList(filterName); } } else { // remove id from list... if (locationIndx > -1) { locationUUIDArray.splice(locationIndx, 1); //remove name from filter names list removeFilterNameFromList(filterName); } } } else if( group == "sba" ){ var sbaIndx = getIdListIndex(sbaUUIDArray, checkBoxObj.value); if (checkBoxObj.checked) { // add id to list... if (sbaIndx < 0) { sbaUUIDArray[sbaUUIDArray.length] = checkBoxObj.value; //add name to filter names list addFilterNameToList(filterName); } } else { // remove id from list... if (sbaIndx > -1) { sbaUUIDArray.splice(sbaIndx, 1); //remove name from filter names list removeFilterNameFromList(filterName); } } } else if( group == "resource" ){ var resourceIndx = getIdListIndex(resourceUUIDArray, checkBoxObj.value); if (checkBoxObj.checked) { // add id to list... if (resourceIndx < 0) { resourceUUIDArray[resourceUUIDArray.length] = checkBoxObj.value; //add name to filter names list addFilterNameToList(filterName); } } else { // remove id from list... if (resourceIndx > -1) { resourceUUIDArray.splice(resourceIndx, 1); //remove name from filter names list removeFilterNameFromList(filterName); } } } } } doSearch(); } function addFilterNameToList(filterName){ if(filterName!=null || filterName!=""){ var nameIndx = getIdListIndex(filterNameArray, filterName); if (nameIndx < 0) { filterNameArray[filterNameArray.length] = filterName; } } } function removeFilterNameFromList(filterName){ if(filterName!=null || filterName!=""){ var nameIndx = getIdListIndex(filterNameArray, filterName); // remove id from list... if (nameIndx > -1) { filterNameArray.splice(nameIndx, 1); } } } function updateFilterNameList(filterName){ if(filterName!=null || filterName!=""){ var nameIndx = getIdListIndex(filterNameArray, filterName); if (nameIndx < 0) { filterNameArray[filterNameArray.length] = filterName; } else { // remove id from list... if (nameIndx > -1) { filterNameArray.splice(nameIndx, 1); } } } } function getIdListIndex(uuidArray, uuid){ for (var i=0; i < uuidArray.length; i++) { if (uuidArray[i] == uuid) { return i; } } return -1; } function getBaseURL() { var q = location.href.indexOf("?"); if(q > -1) { return location.href.substring(0,q); } else { return location.href; } } function clearAll(){ // if we have done a keyword search to get here, // reload to the base url if(location.href.indexOf("keywords") > -1) { location.replace(getBaseURL()); return; } else { //otherwise, clear out the checkBoxes and textSearch Field //and do an empty search which resets the results var checkBoxes = document.getElementsByName("classUUID"); for (i=0; i < checkBoxes.length; i++) { checkBoxes[i].checked = false; } resourceUUIDArray = new Array(); locationUUIDArray = new Array(); sbaUUIDArray = new Array(); keywordUUIDArray = new Array(); filterNameArray = new Array(); var textSearch = document.getElementById("textSearch"); if(textSearch != null) { textSearch.value = ""; } doSearch(); } } function trim(str) { var trimmedStr = ""; if(str != null) { trimmedStr= str.replace(/^\s*/, '').replace(/\s*$/, ''); } return trimmedStr; } function showHideDisplay(text1, text2, text3){ var display = document.getElementById('show_hide_criteria'); var display_name = document.getElementById('show_hide'); var filters = document.getElementById('filters'); if(display.style.display=="none"){ display.style.display="block"; display_name.innerHTML = text1; filters.innerHTML = text3; } else{ display.style.display="none"; display_name.innerHTML = text2; filters.innerHTML = ""; } } function showHideSearchInput(){ var display = document.getElementById('searchInput'); if(display.style.display=="none"){ display.style.display="block"; } else{ display.style.display="none"; } } function showhidefield(treeUUID, imagePath, elem) { if(treeUUID == null || imagePath == null) { return; } //open node if (document.getElementById(treeUUID).style.display == "none") { document.getElementById(treeUUID).style.display = "block"; } else { document.getElementById(treeUUID).style.display = "none"; } //change image to show opened or closed var nodeId = 'treenode' + treeUUID; //alert(nodeId); var branchNode = document.getElementById(nodeId); if(branchNode == null) { //alert('branchNode is null'); return; } var img = elem.getElementsByTagName('img')[0]; if(img == null) { // alert('img is null'); return; } if (img.src.indexOf('closed.gif') > -1) { img.src = imagePath + 'open.gif'; // alert(imagePath); } else if (img.src.indexOf('open.gif') > -1) { img.src = imagePath + 'closed.gif'; //alert(imagePath); } else if (img.src.indexOf('plusonly.gif') > -1) { img.src = imagePath + 'minusonly.gif'; //alert(imagePath); } else if (img.src.indexOf('minusonly.gif') > -1) { img.src = imagePath + 'plusonly.gif'; //alert(imagePath); } } function changeOpenCloseImg(uuid, imagePath, flag){ var folderDiv = 'folder' + uuid; var openDiv = 'open' + uuid; if(openDiv == null) { alert(intText.OPENDIVNULL); return; } if(folderDiv == null) { alert(intText.FOLDERDIVNULL); return; } if(flag == 'true'){ alert(openDiv.innerHTML); openDiv.innerHTML = ""; folderDiv.innerHTML = ""; } else{ openDiv.innerHTML = ""; folderDiv.innerHTML = ""; } } function getAssociatedNodeName(checkBoxObj){ if (checkBoxObj) { if (checkBoxObj.nextSibling && checkBoxObj.nextSibling.data) { return checkBoxObj.nextSibling.data; } } } var mapWindow = null; function popupMap(stem, id) { if(mapWindow != null) { setUpMap(id); mapWindow.focus(); } else { mapWindow = popupWindow(stem + "?identifier=" + id, "WESMAP", "menubar=0,resizable=1,width=1000,height=1000"); } } function getStandAlone() { var tmpStandAlone = false; if(typeof(standAlone) != "undefined") { tmpStandAlone = standAlone; } return tmpStandAlone; } function popupMap(stem, id) { if(mapWindow != null) { setUpMap(id); mapWindow.focus(); } else { mapWindow = popupWindow(stem + "?identifier=" + id, "WESMAP", "menubar=0,resizable=1,width=1000,height=1000"); } } function continueSearch(sortColumn, sortOrder, newSort, startPosition, baseURL, reqID, onlyFree, cswURL){ removeAllFootPrints(); //remove old footprints var url = baseURL; url += "&rp=1"; url += "&startPosition="; url += startPosition; url += "&sortColumn="; url += sortColumn; url += "&sortOrder="; url += sortOrder; url += "&newSort="; url += newSort; url += "&onlyFree="; url += onlyFree; url += "&requestId="; url += reqID; if(cswURL != '') { url += "&cswUrl="; url += cswURL; } url += "&cachekiller=" url += new Date().getTime(); url += "&standAlone=" + getStandAlone(); if (baseURL.indexOf("displayContents")!=-1 || baseURL.indexOf("z3950GetResults")!=-1 || getStandAlone() == "true") { window.location = url; } else if (baseURL.indexOf("CSWSearch")!=-1) { populateResults(url); } } function drawFootPrint(temp){ var feature = temp.value; feature = feature.replace(/StrokeColor:#....../, "StrokeColor:#853D01"); feature = feature.replace(/id:/, "id:selected"); if (temp.checked) { if(typeof wesMapRegistry != 'undefined'){ wesMapRegistry.getJSMapController(wesMapRegistry.getMapId(0)).addFeature(feature); } else { alert(intText.MAPREGISTRYNULL); } } else { if(typeof wesMapRegistry != 'undefined'){ wesMapRegistry.getJSMapController(wesMapRegistry.getMapId(0)).removeFeature(feature); } else { alert(intText.MAPREGISTRYNULL); } } } function drawAllFootPrints(){ if(typeof wesMapRegistry != 'undefined'){ var jsMapController = wesMapRegistry.getJSMapController(wesMapRegistry.getMapId(0)); var jsMapModel = wesMapRegistry.getJSMapModel(wesMapRegistry.getMapId(0)); if(typeof jsMapController != 'undefined'){ var x = document.getElementsByName("footPrintCheckBox"); if(x != null && x.length > 0){ var features = ""; for (i = 0; i < x.length; i = i + 1) { features += x[i].value + "|"; } features = features.slice(0, features.lastIndexOf("|")); jsMapController.addFeatures(features); } var refreshFootPrints = function() { jsMapModel.updateSelectedFeatures(); } var selectedFeatureIdsResultFunction = function(featureIdsString) { if(featureIdsString != null && featureIdsString != "" && x != null && x.length > 0){ var featureIds = featureIdsString.split(","); for (k = 0; k < x.length; k = k + 1) { var identifier = (x[k].value).match(/id:[0-9a-zA-Z\-]*/); identifier = identifier[0].slice(3); x[k].checked = false; for(j = 0; j < featureIds.length; j = j + 1) { if(identifier == featureIds[j]){ x[k].checked = true; } } } } else{ for (m = 0; m < x.length; m = m + 1) { x[m].checked = false; } } } jsMapController.setRefreshMap(refreshFootPrints); jsMapController.setSelectedFeatureIdsResultFunction(selectedFeatureIdsResultFunction); } } } function removeAllFootPrints(){ if(typeof wesMapRegistry != 'undefined'){ var y = document.getElementsByName("footPrintCheckBox"); var oldfeatures =""; if(y){ for (i=0; i< y.length; i= i + 1) { var feature = y[i].value; oldfeatures += feature + "|"; if(y[i].checked){ feature = feature.replace(/StrokeColor:#....../, "StrokeColor:#853D01"); feature = feature.replace(/id:/, "id:selected"); oldfeatures += feature + "|"; } } oldfeatures = oldfeatures.slice(0, oldfeatures.lastIndexOf("|")); var jsMapController = wesMapRegistry.getJSMapController(wesMapRegistry.getMapId(0)); if(typeof jsMapController != 'undefined'){ jsMapController.removeFeatures(oldfeatures); } } } }