var advancedMode = false;
var locationsArray = [];
var hobbyNamesArray = [];
var hobbyMapArray = [];
function callPreloadedLists()
{
var httpRequest = new XMLHttpRequest();
var responseObject = {};
httpRequest.onreadystatechange = function()
{
if (httpRequest.readyState === 4 && httpRequest.status === 200 && httpRequest.responseText !== null && httpRequest.responseText.length > 0)
{
responseObject = JSON.parse(httpRequest.responseText);
handlePreloadedListsSearch(responseObject);
locationsArray = responseObject.locations;
hobbyNamesArray = responseObject.hobbyNames;
hobbyMapArray = responseObject.hobbyMapping;
callHobbyUpdate();
}
else if (httpRequest.readyState === 4)
{
alert("Error requesting search items.");
}
};
httpRequest.open("GET", "http://165.227.61.68:3000/api/database/lists", true);
httpRequest.send();
}
function callSearch(sType, sInputObject)
{
var searchURL = "http://165.227.61.68:3000/api/database/supportworkers/search/" + sType;
var searchHttpRequest = new XMLHttpRequest();
var searchResponse = {};
searchHttpRequest.onreadystatechange = function()
{
if (searchHttpRequest.readyState === 4 && searchHttpRequest.status === 200 && searchHttpRequest.responseText !== null && searchHttpRequest.responseText.length > 0)
{
searchResponse = JSON.parse(searchHttpRequest.responseText);
displaySupportWorkerSearchResults(searchResponse);
}
else if (searchHttpRequest.readyState === 4)
{
alert("Error performing search");
}
};
searchHttpRequest.open("POST", searchURL, true);
searchHttpRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
searchHttpRequest.send(sInputObject);
}
function runSearch()
{
var searchFormInput = {};
var searchModeText = "";
if (advancedMode === true)
{
searchFormInput = callAdvancedInputRead();
searchModeText = "advanced";
}
else
{
searchFormInput = callSimpleInputRead();
searchModeText = "simple";
}
if (searchFormInput !== null)
{
callSearch(searchModeText, searchFormInput);
}
else
{
alert("Error reading search input");
}
}
function callSimpleInputRead()
{
var simpleReadObject = getSimpleSearchInputObject();
var simpleFormattedString = null;
if (simpleReadObject !== null)
{
simpleFormattedString = prepareInputObject(simpleReadObject);
}
return simpleFormattedString;
}
function callAdvancedInputRead()
{
var advancedReadObject = getAdvancedSearchInputObject();
var availabilityReadObject = readAvailabilityGrid("gAvailabilitySearch");
var advancedFormattedString = null;
if (advancedReadObject !== null && availabilityReadObject !== null && availabilityReadObject.successful === true)
{
advancedReadObject.timeItems = availabilityReadObject.items;
advancedFormattedString = prepareInputObject(advancedReadObject);
}
return advancedFormattedString;
}
function callHobbyUpdate()
{
updateHobbyList(hobbyMapArray, hobbyNamesArray);
}
function defineAvailabilitySearchGrid()
{
var pItems = [];
var gCreated = createAvailabilyGrid("sAvalability", "gAvailabilitySearch", pItems, false);
if (gCreated !== true)
{
alert("Error creating availability search grid.");
}
}
function openTab(tabButtonID, tabSectionID, tabAdvanced)
{
try
{
hideTabSections();
resetTabLinks();
highlightCurrentTab(tabButtonID, tabSectionID);
advancedMode = tabAdvanced;
}
catch(e)
{
alert("Error opening form tab.");
}
}