var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };
if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }
{
let window = _____WB$wombat$assign$function_____("window");
let self = _____WB$wombat$assign$function_____("self");
let document = _____WB$wombat$assign$function_____("document");
let location = _____WB$wombat$assign$function_____("location");
let top = _____WB$wombat$assign$function_____("top");
let parent = _____WB$wombat$assign$function_____("parent");
let frames = _____WB$wombat$assign$function_____("frames");
let opener = _____WB$wombat$assign$function_____("opener");
var apiLocation = "https://www.webharvest.gov/congress116th/20210116015215/https://api.stateentityprofile.ca.gov/";
//var imageUrlPrefix = "https://www.webharvest.gov/congress116th/20210116015215/https://california.azureedge.net/cdt/CAgovPortal/images/Uploads";
var imageUrlPrefix = "https://www.webharvest.gov/congress116th/20210116015215/https://stateentityprofile.ca.gov/Uploads";
// Holders of API Data - Home page
//var homepageImageResults = [];
var homepageServiceResults = [];
// Holders of API Data - Service Details page
var serviceDetailsResults = [];
var relatedServicesResults = [];
var serviceLocationsResults = [];
var serviceFaqResults = [];
// Holders of API Data - Agency Details page
var agencyDetailsResults = [];
var agencyServicesResults = [];
var agencyFaqResults = [];
// Holders of API Data - Google Embed on Service and Agency Detail Pages
var serviceRelatedLinks = [];
// Holders of API Data - Agency Alphabetic Listing Page
var alphaListingResults = [];
// Holders of API Data - Service Search Page
var serviceSearchResults = [];
// Holders of API Data - Agency Search Page
var agencySearchResults = [];
// Holders for Agencies Ids to Process Services - Sitemap Page
var sitemapAgencyListForServices = [];
var processJsonData = {
//####################################################################################################
// General Functions
//####################################################################################################
//--- Change Title On Service Or Agency Page ---------------------------------------------------------
setTitleOfPageForItem: function (textToAddToTitle) {
var newTitle = textToAddToTitle + " " + document.title;
document.title = newTitle;
},
//--- Create SEO Friendly Name To Pass To Details Page -----------------------------------------------
processPassedItem: function (linkOutgoingOrIncomming, nameAgencyOrService) {
var passedName = nameAgencyOrService.toLowerCase();
if (linkOutgoingOrIncomming === 'Out') {
passedName = passedName.replace(/^[ ]+|[ ]+$/g, '');
passedName = passedName.replace("-", "dashline");
passedName = encodeURIComponent(passedName);
var i = 0, strPassedNameLengthOut = passedName.length;
for (i; i < strPassedNameLengthOut; i++) {
passedName = passedName.replace("%20", "-");
}
if (passedName.indexOf("'") !== -1) {
passedName = passedName.replace("'", "%27");
}
//--- BEGIN --- Code Mod to support stange proccesing of job training links ----
passedName = passedName.replace("get-job-training-in-", "job-training-in-");
//--- END --- Code Mod to support stange proccesing of job training links ----
}
else {
passedName = decodeURIComponent(passedName);
var j = 0, strPassedNameLength = passedName.length;
for (j; j < strPassedNameLength; j++) {
passedName = passedName.replace("-", " ");
}
passedName = passedName.replace("dashline", "-");
}
return passedName;
},
//--- Get Location And Time Variables For Homepage Image ---------------------------------------------
provideImageNameDetails: function (userLong, userLat, userTime) {
var builtApiUrl = apiLocation + "api/Geospatial/GetTemporalContext?longitude=" + userLong + "&latitude=" + userLat + "&dateTime=" + userTime;
var loadFlag = false;
var loadCount = 0;
var homepageImageResult = "";
function loadResults() {
if (loadCount === 0) {
var putApiRequest = new XMLHttpRequest();
putApiRequest.open("POST", builtApiUrl, true);
putApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
homepageImageResults = this.responseText;
}
if (this.readyState === 4 && this.status === 404) {
homepageImageResults = "NONEXISTS";
}
};
putApiRequest.setRequestHeader('Content-Type', 'application/json');
putApiRequest.withCredentials = false;
putApiRequest.send();
}
loadCount += 1;
if (loadFlag === false) {
if (typeof homepageImageResults !== "undefined") {
if (homepageImageResults.length > 9) {
loadFlag = true;
loadcount = 500;
}
}
if (loadCount >= 500) {
loadFlag = true;
}
window.setTimeout(loadResults, 100); /* this checks the flag every 100 milliseconds*/
}
else {
if (loadCount < 500) {
var locationDetails = "";
var dataToProcess = JSON.parse(homepageImageResults);
homepageImageResults = 0;
var getTimeOfDay = "";
var getSeason = "";
switch (dataToProcess.Sun) {
case 1:
getTimeOfDay = "DAY";
break;
default:
getTimeOfDay = "NIGHT";
}
switch (dataToProcess.Season) {
case 0:
getSeason = "SPRING";
break;
case 1:
getSeason = "SUMMER";
break;
case 2:
getSeason = "FALL";
break;
case 3:
getSeason = "WINTER";
break;
default:
getSeason = "SUMMER";
}
locationDetails = dataToProcess.Region.toUpperCase() + "|" + getSeason + "|" + getTimeOfDay;
console.log(locationDetails);
computedBackgroundLocationValues = locationDetails;
}
}
}
loadResults();
},
//####################################################################################################
// Display Service Functions
//####################################################################################################
showHomePageServices: function (howManyDivHolders, theTilesParent, selectedService1, selectedService2, selectedService3, selectedService4, lang, serviceLandingPage, agencyLandingPage) {
if (lang === "") { lang = "en"; }
var selectedHomepageServices = [selectedService1, selectedService2, selectedService3, selectedService4];
for (var i = 0; i < selectedHomepageServices.length; i++) {
processJsonData.populateHomepageServicesArray(selectedHomepageServices.length - 1, i, 'serviceDataHolder', selectedHomepageServices[i], lang);
}
var loadFlag = false;
var loadCount = 0;
function loadList() {
if (loadFlag === false) {
var serviceText = document.getElementById("serviceDataHolder").innerHTML;
var count = (serviceText.match(//g) || []).length;
if (count > selectedHomepageServices.length - 1) {
loadFlag = true;
}
loadCount += 1;
if (loadCount >= 1000) {
loadFlag = true;
}
window.setTimeout(loadList, 100); /* this checks the flag every 100 milliseconds*/
}
else {
if (loadCount < 1000) {
var str = document.getElementById("serviceDataHolder").innerHTML;
document.getElementById("serviceDataHolder").innerHTML = "";
var dataElement = document.getElementById("serviceDataHolder");
dataElement.parentNode.removeChild(dataElement);
var serviceItem = str.split('');
if (serviceItem.length > 0) {
var textToDisplayTiles = "";
var tabbackground = "";
var panelTextToPass = "";
var serviceCounter = 0;
for (var j = 0; j < serviceItem.length - 1; j++) {
textToDisplayTiles = "";
tabbackground = "";
if (serviceItem[j] !== "0") {
var serviceItemParts = serviceItem[j].split('[|]');
serviceCounter = serviceCounter + 1;
var agencyNameToPass = processJsonData.processPassedItem('Out', serviceItemParts[4]);
var serviceNameToPass = processJsonData.processPassedItem('Out', serviceItemParts[2]);
if (serviceItemParts[1]) {
tabbackground += serviceItemParts[1];
}
else {
tabbackground += "service-general.jpg";
}
textToDisplayTiles += "
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
" + dataToProcess[0].ServiceName + " ";
var agencyNameToPass = processJsonData.processPassedItem('Out', dataToProcess[0].FriendlyName);
var serviceNameToPass = processJsonData.processPassedItem('Out', dataToProcess[0].ServiceName);
textToDisplay += "
";
textToDisplay += dataToProcess[0].FriendlyName + " (" + dataToProcess[0].Acronym + ")";
textToDisplay += "
";
textToDisplay += "
" + dataToProcess[0].Description + "
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
General Information: " + dataToProcess[0].ContactPhone + " ";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
document.getElementById(idOfDivToFill).innerHTML = textToDisplay + "";
processJsonData.showRelatedServicesButtons('relatedServices', dataToProcess[0].ServiceName, dataToProcess[0].AgencyId, lang, serviceLandingPage);
pageServiceId = dataToProcess[0].ServiceId;
pageAgencyId = dataToProcess[0].AgencyId;
pageServiceSearchTerms = dataToProcess[0].Keywords;
}
}
}
loadResults();
},
showRelatedServicesButtons: function (idOfDivToFill, currentService, searchvalue, lang, serviceLandingPage) {
var data = JSON.stringify([
searchvalue
]);
if (lang === "") { lang = "en"; }
var builtApiUrl = apiLocation + "api/Services/GetServicesByAgencyIds?lang=" + lang;
var loadFlag = false;
var loadCount = 0;
function loadResults() {
if (loadCount === 0) {
var putApiRequest = new XMLHttpRequest();
putApiRequest.open("POST", builtApiUrl, true);
putApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
relatedServicesResults.push(this.responseText);
}
if (this.readyState === 4 && this.status === 404) {
relatedServicesResults.push("NONEXISTS");
}
};
putApiRequest.setRequestHeader('Content-Type', 'application/json');
putApiRequest.withCredentials = false;
putApiRequest.send(data);
}
loadCount += 1;
if (loadFlag === false) {
if (typeof relatedServicesResults[0] !== "undefined") {
if (relatedServicesResults[0].length > 10) {
loadFlag = true;
}
}
if (loadCount >= 5000) {
loadFlag = true;
}
window.setTimeout(loadResults, 100); /* this checks the flag every 100 milliseconds*/
}
else {
if (loadCount < 5000) {
var result = JSON.parse(relatedServicesResults[0]);
this.apiData = result;
var arrayLength = this.apiData.length;
var texttopass = "";
if (arrayLength > 1) {
for (var i = 0; i < arrayLength; i++) {
if (!(this.apiData[i].ServiceName === currentService)) {
var serviceNameToPass = processJsonData.processPassedItem('Out', this.apiData[i].ServiceName);
texttopass += "
" + this.apiData[i].ServiceName + " ";
}
}
}
if (texttopass.length > 0) {
texttopass = "
Related Services: " + texttopass;
}
document.getElementById(idOfDivToFill).innerHTML = texttopass;
}
}
}
loadResults();
},
showFilteredServiceMap: function (idOfTextDivFill, idOfMapDivFill, containingSection, thisLong, thisLat, thisAgencyId, thisServiceId, returnCount, lang) {
if (lang === "") { lang = "en"; }
var builtApiUrl = apiLocation + "GetNearestLocations?lang=" + lang + "&agencyId=" + thisAgencyId + "&longitude=" + thisLong + "&latitude=" + thisLat + "&maxReturn=" + returnCount;
var loadFlag = false;
var loadCount = 0;
serviceLocationsResults = [];
var element = document.getElementById(containingSection);
var closestLocationFlag = true;
function loadResults() {
if (loadCount === 0) {
var putApiRequest = new XMLHttpRequest();
putApiRequest.open("POST", builtApiUrl, true);
putApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
serviceLocationsResults.push(this.responseText);
}
if (this.readyState === 4 && this.status === 404) {
serviceLocationsResults.push("NONEXISTS");
}
};
putApiRequest.setRequestHeader('Content-Type', 'application/json');
putApiRequest.withCredentials = false;
putApiRequest.send(null);
}
loadCount += 1;
if (loadFlag === false) {
if (typeof serviceLocationsResults[0] !== "undefined") {
if (serviceLocationsResults[0].length > 10 || serviceLocationsResults[0] === "[]") {
loadFlag = true;
}
}
if (loadCount >= 500) {
loadFlag = true;
}
window.setTimeout(loadResults, 100); /* this checks the flag every 100 milliseconds*/
}
else {
if (loadCount < 500) {
var dataToProcess = JSON.parse(serviceLocationsResults[0]);
var arrayLength = dataToProcess.QueryResults.length;
var textToDisplay = "";
var mapDataToDisplay = "";
if (arrayLength > 1) {
for (var i = 0; i < arrayLength; i++) {
var latlng = dataToProcess.QueryResults[i].PointLocation.Geography.WellKnownText;
var isCurrentServiceFlag = false;
for (var j = 0; j < dataToProcess.QueryResults[i].AgencyServiceIds.length; j++) {
if (dataToProcess.QueryResults[i].AgencyServiceIds[j] === thisServiceId) {
isCurrentServiceFlag = true;
}
}
if (isCurrentServiceFlag === true) {
latlng = latlng.replace("POINT (", "");
latlng = latlng.replace(")", "");
var latlngArray = latlng.split(" ");
var latValue = latlngArray[0];
var lngValue = latlngArray[1];
if (closestLocationFlag === true) {
closestLocationLat = latValue;
closestLocationLong = lngValue;
closestLocationFlag = false;
}
mapDataToDisplay += "^" + latValue;
mapDataToDisplay += "|" + lngValue;
mapDataToDisplay += "|" + dataToProcess.QueryResults[i].LocationName;
mapDataToDisplay += "|" + dataToProcess.QueryResults[i].Id;
mapDataToDisplay += "|" + dataToProcess.QueryResults[i].StreetAddress;
mapDataToDisplay += "|" + dataToProcess.QueryResults[i].City;
mapDataToDisplay += "|" + dataToProcess.QueryResults[i].State;
mapDataToDisplay += "|" + dataToProcess.QueryResults[i].ZipCode;
textToDisplay += "
";
}
}
if (mapDataToDisplay.length > 0) {
document.getElementById(idOfTextDivFill).innerHTML = textToDisplay + "";
document.getElementById(idOfMapDivFill).innerHTML = mapDataToDisplay;
}
else {
element.parentNode.removeChild(element);
}
}
else {
element.parentNode.removeChild(element);
}
}
}
}
loadResults();
},
showServiceFaq: function (idOfDivToFill, containingSection, searchvalue, lang) {
var data = JSON.stringify([
searchvalue
]);
if (lang === "") { lang = "en"; }
var builtApiUrl = apiLocation + "GetFaqsByServiceIds?lang=" + lang;
var loadFlag = false;
var loadCount = 0;
function loadResults() {
if (loadCount === 0) {
var putApiRequest = new XMLHttpRequest();
putApiRequest.open("POST", builtApiUrl, true);
putApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
serviceFaqResults.push(this.responseText);
}
if (this.readyState === 4 && this.status === 404) {
serviceFaqResults.push("NONEXISTS");
}
};
putApiRequest.setRequestHeader('Content-Type', 'application/json');
putApiRequest.withCredentials = false;
putApiRequest.send(data);
}
loadCount += 1;
if (loadFlag === false) {
if (typeof serviceFaqResults[0] !== "undefined") {
if (serviceFaqResults[0].length > 10 || serviceFaqResults[0] === "[]") {
loadFlag = true;
}
}
if (loadCount >= 50) {
loadFlag = true;
}
window.setTimeout(loadResults, 100); /* this checks the flag every 100 milliseconds*/
}
else {
if (loadCount < 50) {
var dataToProcess = JSON.parse(serviceFaqResults[0]);
var arrayLength = dataToProcess.length;
var textToDisplay = "";
if (arrayLength > 1) {
textToDisplay += "
";
for (var i = 0; i < arrayLength; i++) {
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += dataToProcess[i].Answer;
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
}
textToDisplay += "
";
document.getElementById(idOfDivToFill).innerHTML = textToDisplay + "";
}
else {
var element = document.getElementById(containingSection);
element.parentNode.removeChild(element);
}
}
}
}
loadResults();
},
showServiceRelatedLinks: function (agencyid, lang) {
if (lang === "") { lang = "en"; }
var builtApiUrl = apiLocation + "api/Agencies/GetAgencyById/" + agencyid + "/" + lang;
var loadFlag = false;
var loadCount = 0;
function loadResults() {
if (loadCount === 0) {
var getApiRequest = new XMLHttpRequest();
getApiRequest.open("GET", builtApiUrl, true);
getApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
serviceRelatedLinks.push(this.responseText);
}
if (this.readyState === 4 && this.status === 404) {
serviceRelatedLinks.push("NONEXISTS");
}
};
getApiRequest.setRequestHeader('Content-Type', 'application/json');
getApiRequest.withCredentials = false;
getApiRequest.send();
}
loadCount += 1;
if (loadFlag === false) {
if (typeof serviceRelatedLinks[0] !== "undefined") {
if (serviceRelatedLinks[0].length > 10) {
loadFlag = true;
}
}
if (loadCount >= 5000) {
loadFlag = true;
}
window.setTimeout(loadResults, 100); /* this checks the flag every 100 milliseconds*/
}
else {
if (loadCount < 5000) {
var dataToProcess = JSON.parse(serviceRelatedLinks[0]);
pageServiceSearchCollection = dataToProcess.GssSearchEngineID;
}
}
}
loadResults();
},
buildServiceCard: function (serviceId, serviceImage, serviceAgencyFriendlyName, serviceAgencyAcronym, serviceName, serviceUrl, serviceDescription, serviceContactPhone, lang, serviceLandingPage, agencyLandingPage) {
var descriptionHolder = "";
descriptionHolder = serviceDescription;
descriptionHolder = descriptionHolder.slice(0, 95) + "...";
var agencyNameToPass = processJsonData.processPassedItem('Out', serviceAgencyFriendlyName);
var serviceNameToPass = processJsonData.processPassedItem('Out', serviceName);
var cardToBuild = "";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
" + serviceName + " ";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
" + serviceAgencyFriendlyName + "
";
cardToBuild += "
";
cardToBuild += "
" + descriptionHolder + "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "General Information: " + serviceContactPhone + " ";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
Service Detail ";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
return cardToBuild;
},
showFeaturedServices: function (selectedService1, selectedService2, selectedService3, selectedService4, lang, serviceLandingPage, agencyLandingPage) {
if (lang === "") { lang = "en"; }
var selectedServices = [selectedService1, selectedService2, selectedService3, selectedService4];
var idBuilder = "";
var itemNumber = 0;
for (var i = 0; i < selectedServices.length; i++) {
var currentServiceId = selectedServices[i];
if (currentServiceId > 0) {
itemNumber = itemNumber + 1;
idBuilder = "serviceTile" + itemNumber;
processJsonData.populateFeaturedService(selectedServices[i], itemNumber, idBuilder, lang, serviceLandingPage, agencyLandingPage);
}
}
},
populateFeaturedService: function (selectedService, currentCountItem, selectedServiceLocation, lang, serviceLandingPage, agencyLandingPage) {
var builtApiUrl = "";
switch (currentCountItem) {
case 1:
builtApiUrl = apiLocation + "api/Services/GetServiceById/" + selectedService + "/" + lang;
var getApiRequest = new XMLHttpRequest();
getApiRequest.open("GET", builtApiUrl, true);
getApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
var result1 = JSON.parse(this.responseText);
document.getElementById(selectedServiceLocation).innerHTML = processJsonData.buildServiceCard(result1.ServiceId, result1.ImageUrl, result1.FriendlyName, result1.Acronym, result1.ServiceName, result1.ServiceUrl, result1.Description, result1.ContactPhone, lang, serviceLandingPage, agencyLandingPage);
}
};
getApiRequest.setRequestHeader('Content-Type', 'application/json');
getApiRequest.withCredentials = false;
getApiRequest.send();
break;
case 2:
builtApiUrl = apiLocation + "api/Services/GetServiceById/" + selectedService + "/" + lang;
var getApiRequest2 = new XMLHttpRequest();
getApiRequest2.open("GET", builtApiUrl, true);
getApiRequest2.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
var result2 = JSON.parse(this.responseText);
document.getElementById(selectedServiceLocation).innerHTML = processJsonData.buildServiceCard(result2.ServiceId, result2.ImageUrl, result2.FriendlyName, result2.Acronym, result2.ServiceName, result2.ServiceUrl, result2.Description, result2.ContactPhone, lang, serviceLandingPage, agencyLandingPage);
}
};
getApiRequest2.setRequestHeader('Content-Type', 'application/json');
getApiRequest2.withCredentials = false;
getApiRequest2.send();
break;
case 3:
builtApiUrl = apiLocation + "api/Services/GetServiceById/" + selectedService + "/" + lang;
var getApiRequest3 = new XMLHttpRequest();
getApiRequest3.open("GET", builtApiUrl, true);
getApiRequest3.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
var result3 = JSON.parse(this.responseText);
document.getElementById(selectedServiceLocation).innerHTML = processJsonData.buildServiceCard(result3.ServiceId, result3.ImageUrl, result3.FriendlyName, result3.Acronym, result3.ServiceName, result3.ServiceUrl, result3.Description, result3.ContactPhone, lang, serviceLandingPage, agencyLandingPage);
}
};
getApiRequest3.setRequestHeader('Content-Type', 'application/json');
getApiRequest3.withCredentials = false;
getApiRequest3.send();
break;
default:
builtApiUrl = apiLocation + "api/Services/GetServiceById/" + selectedService + "/" + lang;
var getApiRequestd = new XMLHttpRequest();
getApiRequestd.open("GET", builtApiUrl, true);
getApiRequestd.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
var resultd = JSON.parse(this.responseText);
document.getElementById(selectedServiceLocation).innerHTML = processJsonData.buildServiceCard(resultd.ServiceId, resultd.ImageUrl, resultd.FriendlyName, resultd.Acronym, resultd.ServiceName, resultd.ServiceUrl, resultd.Description, resultd.ContactPhone, lang, serviceLandingPage, agencyLandingPage);
}
};
getApiRequestd.setRequestHeader('Content-Type', 'application/json');
getApiRequestd.withCredentials = false;
getApiRequestd.send();
}
},
//####################################################################################################
// Display Agency Functions
//####################################################################################################
showAgencyDetails: function (idOfDivToFill, searchvalue, lang) {
var agencyNamePassed = processJsonData.processPassedItem('In', searchvalue);
if (lang === "") { lang = "en"; }
var builtApiUrl = apiLocation + "api/Agencies/FindAgenciesByName/" + agencyNamePassed + "/" + lang;
var loadFlag = false;
var loadCount = 0;
function loadResults() {
if (loadCount === 0) {
var getApiRequest = new XMLHttpRequest();
getApiRequest.open("GET", builtApiUrl, true);
getApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
agencyDetailsResults.push(this.responseText);
}
if (this.readyState === 4 && this.status === 404) {
agencyDetailsResults.push("NONEXISTS");
}
};
getApiRequest.setRequestHeader('Content-Type', 'application/json');
getApiRequest.withCredentials = false;
getApiRequest.send();
}
loadCount += 1;
if (loadFlag === false) {
if (typeof agencyDetailsResults[0] !== "undefined") {
if (agencyDetailsResults[0].length > 10) {
loadFlag = true;
}
}
if (loadCount >= 1000) {
loadFlag = true;
}
window.setTimeout(loadResults, 100); /* this checks the flag every 100 milliseconds*/
}
else {
if (loadCount < 1000) {
var result = JSON.parse(agencyDetailsResults[0]);
this.apiData = result;
var r = 0;
var agencyArrayLength = this.apiData.length;
if (agencyArrayLength > 0) {
var t = 0;
var fromAPI = "";
for (t = 0; t < agencyArrayLength; t++) {
fromAPI = this.apiData[t].FriendlyName.toLowerCase();
if (agencyNamePassed === fromAPI) {
r = t;
}
}
}
pageAgencyId = this.apiData[r].AgencyId;
pageServiceSearchTerms = this.apiData[r].FriendlyName;
pageServiceSearchCollection = this.apiData[r].GssSearchEngineID;
pageMobileAppsText = this.apiData[r].MobileApps;
processJsonData.setTitleOfPageForItem(this.apiData[r].FriendlyName);
var textToDisplay = "";
var friendlyNameId = processJsonData.processPassedItem('Out', this.apiData[r].FriendlyName);
friendlyNameId = friendlyNameId.replace( '%27', '');
textToDisplay += "";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
" +
this.apiData[r].FriendlyName +
" (" +
this.apiData[r].Acronym +
") ";
textToDisplay += "
" + this.apiData[r].Description + "
";
textToDisplay += "
";
textToDisplay += "
Website ";
textToDisplay += "
Contact ";
textToDisplay += "
";
textToDisplay +=
"
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
if (this.apiData[r].TwitterAccount) {
var twitterItem = this.apiData[r].TwitterAccount;
twitterItem = twitterItem.replace("https://", "");
twitterItem = twitterItem.replace("http://", "");
twitterItem = twitterItem.replace("www.twitter.com/", "");
textToDisplay += "";
textToDisplay += "";
textToDisplay += " ";
}
if (this.apiData[r].Facebook) {
var facebookItem = this.apiData[r].Facebook;
facebookItem = facebookItem.replace("https://", "");
facebookItem = facebookItem.replace("http://", "");
facebookItem = facebookItem.replace("www.facebook.com/", "");
textToDisplay += "";
textToDisplay += "Facebook for " + this.apiData[r].FriendlyName + " ";
textToDisplay += " ";
}
if (this.apiData[r].YouTube) {
var youTubeItem = this.apiData[r].YouTube;
youTubeItem = youTubeItem.replace("https://", "");
youTubeItem = youTubeItem.replace("http://", "");
youTubeItem = youTubeItem.replace("www.youtube.com/", "");
textToDisplay += "";
textToDisplay += "YouTube for " + this.apiData[r].FriendlyName + " ";
textToDisplay += " ";
}
textToDisplay += " ";
textToDisplay += "
";
document.getElementById(idOfDivToFill).innerHTML = textToDisplay + "";
}
}
}
loadResults();
},
showAgencyServicesTilesAndPanels: function (howManyDivHolders, parentContainer, currentSection, currentAgency, searchvalue, lang, serviceLandingPage, agencyLandingPage) {
var data = JSON.stringify([
currentAgency
]);
if (lang === "") { lang = "en"; }
var builtApiUrl = apiLocation + "api/Services/GetServicesByAgencyIds?lang=" + lang;
var loadFlag = false;
var loadCount = 0;
var textToDisplayTiles = "";
var tabbackground = "";
var panelTextToPass = "";
var serviceCounter = 0;
var holderDescription = "";
function loadResults() {
if (loadCount === 0) {
var putApiRequest = new XMLHttpRequest();
putApiRequest.open("POST", builtApiUrl, true);
putApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
agencyServicesResults.push(this.responseText);
}
if (this.readyState === 4 && this.status === 404) {
agencyServicesResults.push("NONEXISTS");
}
};
putApiRequest.setRequestHeader('Content-Type', 'application/json');
putApiRequest.withCredentials = false;
putApiRequest.send(data);
}
loadCount += 1;
if (loadFlag === false) {
if (typeof agencyServicesResults[0] !== "undefined") {
if (agencyServicesResults[0].length > 10) {
loadFlag = true;
}
}
if (loadCount >= 50) {
loadFlag = true;
}
window.setTimeout(loadResults, 10); /* this checks the flag every 100 milliseconds*/
}
else {
if (loadCount < 50) {
var result = JSON.parse(agencyServicesResults[0]);
this.apiData = result;
var arrayLength = this.apiData.length;
if (arrayLength > 0) {
for (var i = 0; i < arrayLength; i++) {
serviceCounter = serviceCounter + 1;
var agencyNameToPass = processJsonData.processPassedItem('Out', this.apiData[i].FriendlyName);
var serviceNameToPass = processJsonData.processPassedItem('Out', this.apiData[i].ServiceName);
if (this.apiData[i].ImageUrl) {
tabbackground = this.apiData[i].ImageUrl;
}
else {
tabbackground = "service-general.jpg";
}
textToDisplayTiles += "
";
textToDisplayTiles += "
" + this.apiData[i].ServiceName + " ";
textToDisplayTiles += "";
idbuilder = "featured-service-tab-" + serviceCounter;
document.getElementById(idbuilder).innerHTML = textToDisplayTiles;
document.getElementById(idbuilder).setAttribute("aria-label", this.apiData[i].ServiceName + " Service Tile. Hit Enter to toggle between displaying and hiding details about this service.");
textToDisplayTiles = "";
document.getElementById(idbuilder).style.backgroundImage = "url('" + imageUrlPrefix + "/" + tabbackground + "')";
holderDescription = this.apiData[i].Description;
holderDescription = holderDescription.slice(0, 200) + "...";
panelTextToPass = "";
panelTextToPass += "
";
panelTextToPass += "
";
panelTextToPass += "
";
panelTextToPass += "
X ";
panelTextToPass += "
";
panelTextToPass += "
";
panelTextToPass += "
" + this.apiData[i].ServiceName + " ";
panelTextToPass += "
" + this.apiData[i].FriendlyName + "
";
panelTextToPass += "
" + holderDescription + "
";
panelTextToPass += "
";
panelTextToPass += "
";
panelTextToPass += "
";
panelTextToPass += "
";
panelTextToPass += "
";
panelTextToPass += "
";
panelTextToPass += "
";
panelTextToPass += "
";
panelTextToPass += "
";
panelTextToPass += "
";
panelTextToPass += "
";
panelTextToPass += "
";
panelTextToPass += "
";
idbuilder = "featured-service-panel-" + serviceCounter;
document.getElementById(idbuilder).innerHTML = panelTextToPass;
}
var elt = document.getElementById(parentContainer);
elt.style.cssText = "background-color: #161616";
if (!(serviceCounter === howManyDivHolders)) {
var element = "";
setTimeout(function () {
for (var i = serviceCounter; i < howManyDivHolders; i++) {
var num = i + 1;
element = "featured-service-tab-" + num;
element = document.getElementById(element);
element.parentNode.removeChild(element);
element = "featured-service-panel-" + num;
element = document.getElementById(element);
element.parentNode.removeChild(element);
}
}, 100);
}
}
else {
var elementToRemove = document.getElementById(currentSection);
elementToRemove.parentNode.removeChild(elementToRemove);
}
}
else {
var elementToRemoveAfterTimeout = document.getElementById(currentSection);
elementToRemoveAfterTimeout.parentNode.removeChild(elementToRemoveAfterTimeout);
}
}
}
loadResults();
},
showFilteredAgencyMap: function (idOfTextDivFill, idOfMapDivFill, containingSection, thisLong, thisLat, thisAgencyId, returnCount, lang) {
if (lang === "") { lang = "en"; }
var builtApiUrl = apiLocation + "GetNearestLocations?lang=" + lang + "&agencyId=" + thisAgencyId + "&longitude=" + thisLong + "&latitude=" + thisLat + "&maxReturn=" + returnCount;
var loadFlag = false;
var loadCount = 0;
serviceLocationsResults = [];
var element = document.getElementById(containingSection);
var closestLocationFlag = true;
function loadResults() {
if (loadCount === 0) {
var putApiRequest = new XMLHttpRequest();
putApiRequest.open("POST", builtApiUrl, true);
putApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
serviceLocationsResults.push(this.responseText);
}
if (this.readyState === 4 && this.status === 404) {
serviceLocationsResults.push("NONEXISTS");
}
};
putApiRequest.setRequestHeader('Content-Type', 'application/json');
putApiRequest.withCredentials = false;
putApiRequest.send(null);
}
loadCount += 1;
if (loadFlag === false) {
if (typeof serviceLocationsResults[0] !== "undefined") {
if (serviceLocationsResults[0].length > 10 || serviceLocationsResults[0] === "[]") {
loadFlag = true;
}
}
if (loadCount >= 500) {
loadFlag = true;
}
window.setTimeout(loadResults, 100); /* this checks the flag every 100 milliseconds*/
}
else {
if (loadCount < 500) {
var dataToProcess = JSON.parse(serviceLocationsResults[0]);
var arrayLength = dataToProcess.QueryResults.length;
var textToDisplay = "";
var mapDataToDisplay = "";
if (arrayLength > 1) {
for (var i = 0; i < arrayLength; i++) {
var latlng = dataToProcess.QueryResults[i].PointLocation.Geography.WellKnownText;
latlng = latlng.replace("POINT (", "");
latlng = latlng.replace(")", "");
var latlngArray = latlng.split(" ");
var latValue = latlngArray[0];
var lngValue = latlngArray[1];
if (closestLocationFlag === true) {
closestLocationLat = latValue;
closestLocationLong = lngValue;
closestLocationFlag = false;
}
mapDataToDisplay += "^" + latValue;
mapDataToDisplay += "|" + lngValue;
mapDataToDisplay += "|" + dataToProcess.QueryResults[i].LocationName;
mapDataToDisplay += "|" + dataToProcess.QueryResults[i].Id;
mapDataToDisplay += "|" + dataToProcess.QueryResults[i].StreetAddress;
mapDataToDisplay += "|" + dataToProcess.QueryResults[i].City;
mapDataToDisplay += "|" + dataToProcess.QueryResults[i].State;
mapDataToDisplay += "|" + dataToProcess.QueryResults[i].ZipCode;
textToDisplay += "
";
}
if (mapDataToDisplay.length > 0) {
document.getElementById(idOfTextDivFill).innerHTML = textToDisplay + "";
document.getElementById(idOfMapDivFill).innerHTML = mapDataToDisplay;
}
else {
element.parentNode.removeChild(element);
}
}
else {
element.parentNode.removeChild(element);
}
}
}
}
loadResults();
},
showAgencyFeaturedFaq: function (idOfDivToFill, containingSection, searchvalue, lang) {
var data = JSON.stringify([
searchvalue
]);
if (lang === "") { lang = "en"; }
var builtApiUrl = apiLocation + "GetFaqsByAgencyProfileIds?lang=" + lang;
var loadFlag = false;
var loadCount = 0;
function loadResults() {
if (loadCount === 0) {
var putApiRequest = new XMLHttpRequest();
putApiRequest.open("POST", builtApiUrl, true);
putApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
agencyFaqResults.push(this.responseText);
}
if (this.readyState === 4 && this.status === 404) {
agencyFaqResults.push("NONEXISTS");
}
};
putApiRequest.setRequestHeader('Content-Type', 'application/json');
putApiRequest.withCredentials = false;
putApiRequest.send(data);
}
loadCount += 1;
if (loadFlag === false) {
if (typeof agencyFaqResults[0] !== "undefined") {
if (agencyFaqResults[0].length > 10 || agencyFaqResults[0] === "[]") {
loadFlag = true;
}
}
if (loadCount >= 50) {
loadFlag = true;
}
window.setTimeout(loadResults, 100); /* this checks the flag every 100 milliseconds*/
}
else {
if (loadCount < 50) {
var dataToProcess = JSON.parse(agencyFaqResults[0]);
var arrayLength = dataToProcess.length;
var featuredcount = 0;
var textToDisplay = "";
console.log(arrayLength);
if (arrayLength > 1) {
textToDisplay += "
";
for (var i = 0; i < arrayLength; i++) {
featuredcount += 1;
if (featuredcount < 5) {
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += dataToProcess[i].Answer;
textToDisplay += "
";
textToDisplay += "
";
textToDisplay += "
";
}
}
textToDisplay += "
";
document.getElementById(idOfDivToFill).innerHTML = textToDisplay + "";
if (featuredcount === 0) {
var noFeaturedElements = document.getElementById(containingSection);
noFeaturedElements.parentNode.removeChild(noFeaturedElements);
}
}
else {
var noFaqElement = document.getElementById(containingSection);
noFaqElement.parentNode.removeChild(noFaqElement);
}
}
}
}
loadResults();
},
buildAgencyCard: function (agencyId, agencyLogo, agencyFriendlyName, agencyName, agencyAcronym, agencyUrl, agencyDescription, agencyContactPhone, agencyHearingImpairedPhone, agencyFaxNumber, PhoneHours, agencyContactUrl, agencyTwitterAccount, agencyFacebook, agencyYouTube, agencyContactEmail, agencyLiveChat, lang, agencyLandingPage) {
var descriptionHolder = "";
descriptionHolder = agencyDescription;
descriptionHolder = descriptionHolder.slice(0, 95) + "...";
var agencyNameToPass = processJsonData.processPassedItem('Out', agencyFriendlyName);
var cardToBuild = "";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
" + agencyFriendlyName + " ";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
" + descriptionHolder + "
";
cardToBuild += "
";
cardToBuild += "
";
if (agencyContactPhone) {
cardToBuild += "General Information: " +
agencyContactPhone +
" ";
}
if (agencyHearingImpairedPhone) {
cardToBuild += "Hearing Impaired: " +
agencyHearingImpairedPhone +
" ";
}
if (agencyFaxNumber) {
cardToBuild += "Fax Number: " +
agencyFaxNumber +
" ";
}
if (PhoneHours) {
cardToBuild += "Phone Hours of Availability: " +
PhoneHours +
" ";
}
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
Agency Profile ";
cardToBuild += "
";
cardToBuild += "
Contact Agency ";
if (agencyLiveChat) {
cardToBuild += "
Live Chat ";
}
cardToBuild += "
";
if (agencyTwitterAccount) {
var thisitem1 = agencyTwitterAccount;
thisitem1 = thisitem1.replace("https://", "");
thisitem1 = thisitem1.replace("http://", "");
thisitem1 = thisitem1.replace("www.twitter.com/", "");
cardToBuild += "";
cardToBuild += "";
cardToBuild += " ";
}
if (agencyFacebook) {
var thisitem2 = agencyFacebook;
thisitem2 = thisitem2.replace("https://", "");
thisitem2 = thisitem2.replace("http://", "");
thisitem2 = thisitem2.replace("www.facebook.com/", "");
cardToBuild += "";
cardToBuild += "Facebook for " + agencyFriendlyName + " ";
cardToBuild += " ";
}
if (agencyYouTube) {
var thisitem3 = agencyYouTube;
thisitem3 = thisitem3.replace("https://", "");
thisitem3 = thisitem3.replace("http://", "");
thisitem3 = thisitem3.replace("www.youtube.com/", "");
cardToBuild += "";
cardToBuild += "YouTube for " + agencyFriendlyName + " ";
cardToBuild += " ";
}
if (agencyContactEmail) {
cardToBuild += "";
cardToBuild += "Email ";
cardToBuild += " ";
}
cardToBuild += " ";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
cardToBuild += "
";
return cardToBuild;
},
buildAlphaUlList: function (idOfDivToFill, lang, agencyLandingPage) {
if (lang === "") { lang = "en"; }
var builtApiUrl = apiLocation + "api/Agencies/Get?page=0&pageSize=0&lang=" + lang;
var loadFlag = false;
var loadCount = 0;
function loadResults() {
if (loadCount === 0) {
var putApiRequest = new XMLHttpRequest();
putApiRequest.open("POST", builtApiUrl, true);
putApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
alphaListingResults.push(this.responseText);
}
if (this.readyState === 4 && this.status === 404) {
alphaListingResults.push("NONEXISTS");
}
};
putApiRequest.setRequestHeader('Content-Type', 'application/json');
putApiRequest.withCredentials = false;
putApiRequest.send(null);
}
loadCount += 1;
if (loadFlag === false) {
if (typeof alphaListingResults[0] !== "undefined") {
if (alphaListingResults[0].length > 10) {
loadFlag = true;
}
}
if (loadCount >= 50) {
loadFlag = true;
}
window.setTimeout(loadResults, 100); /* this checks the flag every 100 milliseconds*/
}
else {
if (loadCount < 50) {
var result = JSON.parse(alphaListingResults[0]).Data;
var arrayLength = result.length;
var displayText = "";
for (var i = 0; i < arrayLength; i++) {
var thisitem1 = "";
var thisitem2 = "";
var thisitem3 = "";
var thisitem4 = "";
if (result[i].TwitterAccount) {
thisitem1 = result[i].TwitterAccount;
thisitem1 = thisitem1.replace("https://", "");
thisitem1 = thisitem1.replace("http://", "");
thisitem1 = thisitem1.replace("www.", "");
thisitem1 = thisitem1.replace("twitter.com/", "");
}
if (result[i].Facebook) {
thisitem2 = result[i].Facebook;
thisitem2 = thisitem2.replace("https://", "");
thisitem2 = thisitem2.replace("http://", "");
thisitem2 = thisitem2.replace("www.", "");
thisitem2 = thisitem2.replace("facebook.com/", "");
}
if (result[i].YouTube) {
thisitem3 = result[i].YouTube;
thisitem3 = thisitem3.replace("https://", "");
thisitem3 = thisitem3.replace("http://", "");
thisitem3 = thisitem3.replace("www", "");
thisitem3 = thisitem3.replace("youtube.com/", "");
}
if (result[i].ContactEmail) {
thisitem4 = result[i].ContactEmail;
}
var agencyNameToPass = processJsonData.processPassedItem('Out', result[i].FriendlyName);
displayText += "
" + result[i].AgencyName + "|" + agencyLandingPage + "?item=" + agencyNameToPass + "|" + result[i].FriendlyName + "|" + thisitem1 + "|" + thisitem2 + "|" + thisitem3 + "|" + thisitem4 + " ";
}
displayText += "";
document.getElementById(idOfDivToFill).innerHTML = displayText;
}
}
}
loadResults();
},
showFeaturedAgencies: function (selectedAgency1, selectedAgency2, selectedAgency3, selectedAgency4, lang, agencyLandingPage) {
if (lang === "") { lang = "en"; }
var selectedAgencies = [selectedAgency1, selectedAgency2, selectedAgency3, selectedAgency4];
var idBuilder = "";
var itemNumber = 0;
for (var i = 0; i < selectedAgencies.length; i++) {
var currentAgencyId = selectedAgencies[i];
if (currentAgencyId > 0) {
itemNumber = itemNumber + 1;
idBuilder = "agencyTile" + itemNumber;
processJsonData.populateFeaturedAgency(selectedAgencies[i], itemNumber, idBuilder, lang, agencyLandingPage);
}
}
},
populateFeaturedAgency: function (selectedAgency, currentCountItem, selectedServiceLocation, lang, agencyLandingPage) {
var builtApiUrl = "";
switch (currentCountItem) {
case 1:
builtApiUrl = apiLocation + "api/Agencies/GetAgencyById/" + selectedAgency + "/" + lang;
var getApiRequest = new XMLHttpRequest();
getApiRequest.open("GET", builtApiUrl, true);
getApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
var result1 = JSON.parse(this.responseText);
document.getElementById(selectedServiceLocation).innerHTML = processJsonData.buildAgencyCard(result1.AgencyId, result1.LogoUrl, result1.FriendlyName, result1.AgencyName, result1.Acronym, result1.WebsiteURL, result1.Description, result1.ContactPhone, result1.HearingImpairedPhone, result1.FaxNumber, result1.PhoneHours, result1.ContactURL, result1.TwitterAccount, result1.Facebook, result1.YouTube, result1.ContactEmail, result1.LivechatLink, lang, agencyLandingPage);
}
};
getApiRequest.setRequestHeader('Content-Type', 'application/json');
getApiRequest.withCredentials = false;
getApiRequest.send();
break;
case 2:
builtApiUrl = apiLocation + "api/Agencies/GetAgencyById/" + selectedAgency + "/" + lang;
var getApiRequest2 = new XMLHttpRequest();
getApiRequest2.open("GET", builtApiUrl, true);
getApiRequest2.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
var result2 = JSON.parse(this.responseText);
document.getElementById(selectedServiceLocation).innerHTML = processJsonData.buildAgencyCard(result2.AgencyId, result2.LogoUrl, result2.FriendlyName, result2.AgencyName, result2.Acronym, result2.WebsiteURL, result2.Description, result2.ContactPhone, result2.HearingImpairedPhone, result2.FaxNumber, result2.PhoneHours, result2.ContactURL, result2.TwitterAccount, result2.Facebook, result2.YouTube, result2.ContactEmail, result2.LivechatLink, lang, agencyLandingPage);
}
};
getApiRequest2.setRequestHeader('Content-Type', 'application/json');
getApiRequest2.withCredentials = false;
getApiRequest2.send();
break;
case 3:
builtApiUrl = apiLocation + "api/Agencies/GetAgencyById/" + selectedAgency + "/" + lang;
var getApiRequest3 = new XMLHttpRequest();
getApiRequest3.open("GET", builtApiUrl, true);
getApiRequest3.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
var result3 = JSON.parse(this.responseText);
document.getElementById(selectedServiceLocation).innerHTML = processJsonData.buildAgencyCard(result3.AgencyId, result3.LogoUrl, result3.FriendlyName, result3.AgencyName, result3.Acronym, result3.WebsiteURL, result3.Description, result3.ContactPhone, result3.HearingImpairedPhone, result3.FaxNumber, result3.PhoneHours, result3.ContactURL, result3.TwitterAccount, result3.Facebook, result3.YouTube, result3.ContactEmail, result3.LivechatLink, lang, agencyLandingPage);
}
};
getApiRequest3.setRequestHeader('Content-Type', 'application/json');
getApiRequest3.withCredentials = false;
getApiRequest3.send();
break;
default:
builtApiUrl = apiLocation + "api/Agencies/GetAgencyById/" + selectedAgency + "/" + lang;
var getApiRequestd = new XMLHttpRequest();
getApiRequestd.open("GET", builtApiUrl, true);
getApiRequestd.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
var resultd = JSON.parse(this.responseText);
document.getElementById(selectedServiceLocation).innerHTML = processJsonData.buildAgencyCard(resultd.AgencyId, resultd.LogoUrl, resultd.FriendlyName, resultd.AgencyName, resultd.Acronym, resultd.WebsiteURL, resultd.Description, resultd.ContactPhone, resultd.HearingImpairedPhone, resultd.FaxNumber, resultd.PhoneHours, resultd.ContactURL, resultd.TwitterAccount, resultd.Facebook, resultd.YouTube, resultd.ContactEmail, resultd.LivechatLink, lang, agencyLandingPage);
}
};
getApiRequestd.setRequestHeader('Content-Type', 'application/json');
getApiRequestd.withCredentials = false;
getApiRequestd.send();
}
},
//####################################################################################################
// Search Functions
//####################################################################################################
//--- Show Service Cards Based On Search Term, Sort Order, Number Of Cards Per Page, & Page Selected -
showServicesList: function (searchTerm, previousSearchTermHolder, pageOfData, pageSize, sortDirection, idOfDivToFill, idOfResultDivToFill, idofTopPageDivToFill, idofBottomPageDivToFill, lang, serviceLandingPage, agencyLandingPage) {
var currentResults = document.getElementById(idOfResultDivToFill).innerHTML;
if (lang === "") { lang = "en"; }
var data = JSON.stringify({
"lang": lang,
"name": searchTerm,
"agencyTypeIds": [
null
],
"agencyTagIds": [
null
],
"page": pageOfData,
"pageSize": pageSize,
"sortDirection": sortDirection
});
var builtApiUrl = apiLocation + "api/Services/Query";
var loadFlag = false;
var loadCount = 0;
var halfOfTheCards = "";
var otherHalfOfTheCards = "";
var displayText = "";
var displayablePaginationBar = "";
var resultInfoText = "No service results returned for \"" + searchTerm + "\"";
document.getElementById(idOfDivToFill).innerHTML = displayText;
function loadResults() {
if (loadCount === 0) {
serviceSearchResults = [];
var putApiRequest = new XMLHttpRequest();
putApiRequest.open("POST", builtApiUrl, true);
putApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
serviceSearchResults.push(this.responseText);
document.getElementById(previousSearchTermHolder).innerHTML = searchTerm;
}
if (this.readyState === 4 && this.status === 404) {
serviceSearchResults.push("NONEXISTS");
}
};
putApiRequest.setRequestHeader('Content-Type', 'application/json');
putApiRequest.withCredentials = false;
putApiRequest.send(data);
}
loadCount += 1;
if (loadFlag === false) {
if (typeof serviceSearchResults[0] !== "undefined") {
if (serviceSearchResults[0].length > 10) {
loadFlag = true;
}
}
if (loadCount >= 50) {
loadFlag = true;
}
window.setTimeout(loadResults, 100); /* this checks the flag every 100 milliseconds*/
}
else {
if (loadCount < 50) {
if (typeof serviceSearchResults[0] !== "undefined") {
theResults = JSON.parse(serviceSearchResults[0]);
this.apiData = theResults.Results;
var totalCount = theResults.TotalCount;
var currentPage = theResults.Page;
var pageSize = theResults.PageSize;
var arrayLength = this.apiData.length;
if (totalCount > 0) {
if (totalCount < 2) {
resultInfoText = "
Displaying only service result for \"" + searchTerm + "\" ";
}
else {
if (totalCount < pageSize) {
currentPage = 0;
}
var lowerNumber = currentPage * pageSize + 1;
var upperNumber = currentPage * pageSize + pageSize;
displayablePaginationBar += "
";
displayablePaginationBar += "
";
displayablePaginationBar += "";
if (currentPage > 0) {
displayablePaginationBar += "
<< Previous
";
}
for (var p = 0; p < totalCount / pageSize; p++) {
if (p === currentPage) {
displayablePaginationBar += "
" + (p + 1) + "
";
}
else {
displayablePaginationBar += "
" + (p + 1) + "
";
}
}
if (upperNumber < totalCount) {
displayablePaginationBar += "
Next >>
";
}
displayablePaginationBar += "
";
displayablePaginationBar += "
";
if (upperNumber > totalCount) {
upperNumber = totalCount;
}
resultInfoText = "
Displaying results " + lowerNumber + " - " + upperNumber + " of " + totalCount + " total results ";
if (searchTerm.length !== 0) {
resultInfoText += " for \"" + searchTerm + "\"";
}
}
for (var i = 0; i < arrayLength; i++) {
if (i & 1) {
halfOfTheCards += processJsonData.buildServiceCard(this.apiData[i].ServiceId, this.apiData[i].ImageUrl, this.apiData[i].FriendlyName, this.apiData[i].Acronym, this.apiData[i].ServiceName, this.apiData[i].ServiceUrl, this.apiData[i].Description, this.apiData[i].ContactPhone, lang, serviceLandingPage, agencyLandingPage);
}
else {
otherHalfOfTheCards += processJsonData.buildServiceCard(this.apiData[i].ServiceId, this.apiData[i].ImageUrl, this.apiData[i].FriendlyName, this.apiData[i].Acronym, this.apiData[i].ServiceName, this.apiData[i].ServiceUrl, this.apiData[i].Description, this.apiData[i].ContactPhone, lang, serviceLandingPage, agencyLandingPage);
}
}
displayText += "
";
displayText += "
";
displayText += otherHalfOfTheCards;
displayText += "
";
displayText += "
";
displayText += halfOfTheCards;
displayText += "
";
displayText += "
";
}
else {
resultInfoText = "
No service results found for \"" + searchTerm + "\" ";
displayablePaginationBar = "";
}
if (currentResults !== displayText) {
document.getElementById(idOfDivToFill).innerHTML = displayText;
document.getElementById(idOfResultDivToFill).innerHTML = resultInfoText;
document.getElementById(idofTopPageDivToFill).innerHTML = displayablePaginationBar;
document.getElementById(idofBottomPageDivToFill).innerHTML = displayablePaginationBar;
}
}
else {
resultInfoText = "
No service results found for \"" + searchTerm + "\" ";
document.getElementById(idOfDivToFill).innerHTML = displayText;
document.getElementById(idOfResultDivToFill).innerHTML = resultInfoText;
document.getElementById(idofTopPageDivToFill).innerHTML = displayablePaginationBar;
document.getElementById(idofBottomPageDivToFill).innerHTML = displayablePaginationBar;
}
}
else {
resultInfoText = "
No service results found for \"" + searchTerm + "\" ";
document.getElementById(idOfDivToFill).innerHTML = displayText;
document.getElementById(idOfResultDivToFill).innerHTML = resultInfoText;
document.getElementById(idofTopPageDivToFill).innerHTML = displayablePaginationBar;
document.getElementById(idofBottomPageDivToFill).innerHTML = displayablePaginationBar;
}
}
}
loadResults();
},
//--- Show Agency Cards Based On Search Term, Sort Order, Number Of Cards Per Page, & Page Selected --
showAgenciesList: function (searchTerm, previousSearchTermHolder, pageOfData, pageSize, sortDirection, idOfDivToFill, idOfResultDivToFill, idofTopPageDivToFill, idofBottomPageDivToFill, lang, agencyLandingPage) {
var currentResults = document.getElementById(idOfResultDivToFill).innerHTML;
if (lang === "") { lang = "en"; }
var data = JSON.stringify({
"lang": lang,
"name": searchTerm,
"agencyTypeIds": [
null
],
"agencyTagIds": [
null
],
"page": pageOfData,
"pageSize": pageSize,
"sortDirection": sortDirection
});
var builtApiUrl = apiLocation + "api/Agencies/Query";
var loadFlag = false;
var loadCount = 0;
var halfOfTheCards = "";
var otherHalfOfTheCards = "";
var displayText = "";
var resultInfoText = "";
var displayablePaginationBar = "";
function loadResults() {
if (loadCount === 0) {
agencySearchResults = [];
var putApiRequest = new XMLHttpRequest();
putApiRequest.open("POST", builtApiUrl, true);
putApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
agencySearchResults.push(this.responseText);
document.getElementById(previousSearchTermHolder).innerHTML = searchTerm;
}
if (this.readyState === 4 && this.status === 404) {
agencySearchResults.push("NONEXISTS");
}
};
putApiRequest.setRequestHeader('Content-Type', 'application/json');
putApiRequest.withCredentials = false;
putApiRequest.send(data);
}
loadCount += 1;
if (loadFlag === false) {
if (typeof agencySearchResults[0] !== "undefined") {
if (agencySearchResults[0].length > 10) {
loadFlag = true;
}
}
if (loadCount >= 50) {
loadFlag = true;
}
window.setTimeout(loadResults, 100); /* this checks the flag every 100 milliseconds*/
}
else {
if (loadCount < 50) {
if (typeof agencySearchResults[0] !== "undefined") {
theResults = JSON.parse(agencySearchResults[0]);
this.apiData = theResults.Results;
var totalCount = theResults.TotalCount;
var currentPage = theResults.Page;
var pageSize = theResults.PageSize;
var arrayLength = this.apiData.length;
if (totalCount > 0) {
if (totalCount < 2) {
resultInfoText = "
Displaying only agency result for \"" + searchTerm + "\" ";
resultInfoText = "";
}
else {
if (totalCount < pageSize) {
currentPage = 0;
}
var lowerNumber = currentPage * pageSize + 1;
var upperNumber = currentPage * pageSize + pageSize;
displayablePaginationBar += "
";
displayablePaginationBar += "
";
displayablePaginationBar += "";
if (currentPage > 0) {
displayablePaginationBar += "
<< Previous
";
}
for (var p = 0; p < totalCount / pageSize; p++) {
if (p === currentPage) {
displayablePaginationBar += "
" + (p + 1) + "
";
}
else {
displayablePaginationBar += "
" + (p + 1) + "
";
}
}
if (upperNumber < totalCount) {
displayablePaginationBar += "
Next >>
";
}
displayablePaginationBar += "
";
displayablePaginationBar += "
";
if (upperNumber > totalCount) {
upperNumber = totalCount;
}
resultInfoText = "
Displaying results " + lowerNumber + " - " + upperNumber + " of " + totalCount + " total results ";
if (searchTerm.length !== 0) {
resultInfoText += " for \"" + searchTerm + "\"";
}
}
for (var i = 0; i < arrayLength; i++) {
if (i & 1) {
halfOfTheCards += processJsonData.buildAgencyCard(apiData[i].AgencyId, apiData[i].LogoUrl, apiData[i].FriendlyName, apiData[i].AgencyName, apiData[i].Acronym, apiData[i].WebsiteURL, apiData[i].Description, apiData[i].ContactPhone, apiData[i].HearingImpairedPhone, apiData[i].FaxNumber, apiData[i].PhoneHours, apiData[i].ContactURL, apiData[i].TwitterAccount, apiData[i].Facebook, apiData[i].YouTube, apiData[i].ContactEmail, apiData[i].LivechatLink, lang, agencyLandingPage);
}
else {
otherHalfOfTheCards += processJsonData.buildAgencyCard(apiData[i].AgencyId, apiData[i].LogoUrl, apiData[i].FriendlyName, apiData[i].AgencyName, apiData[i].Acronym, apiData[i].WebsiteURL, apiData[i].Description, apiData[i].ContactPhone, apiData[i].HearingImpairedPhone, apiData[i].FaxNumber, apiData[i].PhoneHours, apiData[i].ContactURL, apiData[i].TwitterAccount, apiData[i].Facebook, apiData[i].YouTube, apiData[i].ContactEmail, apiData[i].LivechatLink, lang, agencyLandingPage);
}
}
displayText += "
";
displayText += "
";
displayText += otherHalfOfTheCards;
displayText += "
";
displayText += "
";
displayText += halfOfTheCards;
displayText += "
";
displayText += "
";
}
else {
resultInfoText = "
No agency results found for \"" + searchTerm + "\" ";
displayablePaginationBar = "";
}
if (currentResults !== displayText) {
document.getElementById(idOfDivToFill).innerHTML = displayText;
document.getElementById(idOfResultDivToFill).innerHTML = resultInfoText;
document.getElementById(idofTopPageDivToFill).innerHTML = displayablePaginationBar;
document.getElementById(idofBottomPageDivToFill).innerHTML = displayablePaginationBar;
}
}
else {
resultInfoText = "
No agency results found for \"" + searchTerm + "\" ";
document.getElementById(idOfDivToFill).innerHTML = displayText;
document.getElementById(idOfResultDivToFill).innerHTML = resultInfoText;
document.getElementById(idofTopPageDivToFill).innerHTML = displayablePaginationBar;
document.getElementById(idofBottomPageDivToFill).innerHTML = displayablePaginationBar;
}
}
else {
resultInfoText = "
No agency results found for \"" + searchTerm + "\" ";
document.getElementById(idOfDivToFill).innerHTML = displayText;
document.getElementById(idOfResultDivToFill).innerHTML = resultInfoText;
document.getElementById(idofTopPageDivToFill).innerHTML = displayablePaginationBar;
document.getElementById(idofBottomPageDivToFill).innerHTML = displayablePaginationBar;
}
}
}
loadResults();
},
//####################################################################################################
// Sitemap Functions
//####################################################################################################
//--- Populate Sitemap Agencies ----------------------------------------------------------------------
showSiteMap: function (idOfDivToFill, lang, serviceLandingPage, agencyLandingPage) {
if (lang === "") { lang = "en"; }
var builtApiUrl = apiLocation + "api/Agencies/Get?page=0&pageSize=0&lang=" + lang;
var loadFlag = false;
var loadCount = 0;
function loadResults() {
if (loadCount === 0) {
var putApiRequest = new XMLHttpRequest();
putApiRequest.open("POST", builtApiUrl, true);
putApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
alphaListingResults.push(this.responseText);
}
if (this.readyState === 4 && this.status === 404) {
alphaListingResults.push("NONEXISTS");
}
};
putApiRequest.setRequestHeader('Content-Type', 'application/json');
putApiRequest.withCredentials = false;
putApiRequest.send(null);
}
loadCount += 1;
if (loadFlag === false) {
if (typeof alphaListingResults[0] !== "undefined") {
if (alphaListingResults[0].length > 10) {
loadFlag = true;
}
}
if (loadCount >= 50) {
loadFlag = true;
}
window.setTimeout(loadResults, 100); /* this checks the flag every 100 milliseconds*/
}
else {
if (loadCount < 50) {
var result = JSON.parse(alphaListingResults[0]).Data;
var arrayLength = result.length;
var columnOneEnd = Math.floor(arrayLength / 3);
var columnTwoEnd = columnOneEnd + columnOneEnd;
var displayText = "";
displayText += "
";
displayText += "
";
for (var i = 0; i < arrayLength; i++) {
var agencyNameToPass = processJsonData.processPassedItem('Out', result[i].FriendlyName);
displayText += "" + result[i].FriendlyName + " ";
sitemapAgencyListForServices.push(result[i].AgencyId);
if (i === columnOneEnd || i === columnTwoEnd) {
displayText += " ";
displayText += "
";
displayText += "
";
displayText += "
";
displayText += "
";
document.getElementById(idOfDivToFill).innerHTML = displayText;
for (var l = 0; l < sitemapAgencyListForServices.length; l++) {
var currentServiceId = sitemapAgencyListForServices[l];
processJsonData.showSiteMapServices(currentServiceId, serviceLandingPage, lang);
}
}
}
}
loadResults();
},
//--- Populate Sitemap Services For Each Sitemap Agency ----------------------------------------------
showSiteMapServices: function (searchvalue, serviceLandingPage, lang) {
var data = JSON.stringify([
searchvalue
]);
if (lang === "") { lang = "en"; }
var builtApiUrl = apiLocation + "api/Services/GetServicesByAgencyIds?lang=" + lang;
var putApiRequest = new XMLHttpRequest();
putApiRequest.open("POST", builtApiUrl, true);
putApiRequest.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
if (this.responseText.length > 10) {
var dataToProcess = JSON.parse(this.responseText);
var arrayLength = dataToProcess.length;
displayText = "
";
for (var i = 0; i < arrayLength; i++) {
var serviceNameToPass = processJsonData.processPassedItem('Out', dataToProcess[i].ServiceName);
displayText += "" + dataToProcess[i].ServiceName + " ";
}
displayText += " ";
var divIdBuilder = "serviceHolder" + searchvalue;
document.getElementById(divIdBuilder).innerHTML = displayText;
}
}
if (this.readyState === 4 && this.status === 404) {
agencyServices = "NONEXISTS";
}
};
putApiRequest.setRequestHeader('Content-Type', 'application/json');
putApiRequest.withCredentials = false;
putApiRequest.send(data);
}
};
}
/*
FILE ARCHIVED ON 01:52:15 Jan 16, 2021 AND RETRIEVED FROM THE
INTERNET ARCHIVE ON 21:56:19 Jun 15, 2024.
JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
SECTION 108(a)(3)).
*/
/*
playback timings (ms):
RulesEngine.query: 32.986
PetaboxLoader3.resolve: 51.27
PetaboxLoader3.datanode: 18.645
*/