/*swiftype search */
var apiUrlTitle = "https://search-api.swiftype.com/api/v1/public/engines/search.json";
var engineKey = "pMxAEbPhCoGx5F_NENWd";
var maxPageSize = 10;
var currentPageNum = 1;
var strkeyWord = "";
var resultQuery = "";
var resultTotalResultCnt = 0;
var resultPageNum = 0;
$(document).ready(function()
{
/* input string checking */
showWaiting();
var qu = "qu";
strkeyWord = getQueryVariable(qu);
$("#searchinput").val(strkeyWord);
if (strkeyWord==null || strkeyWord=="") {
stopWaiting()
var description = "Enter keyword(s) to search for information on the ANZ website."
$("#site-searchresultsum").html(description);
} else {
var o = "o";
var recordCountFind = getQueryVariable(o);
if (recordCountFind==null || recordCountFind=="") {
currentPageNum = 1;
} else {
var recordCnt = parseInt(recordCountFind, 10);
currentPageNum = (recordCnt + 10)/10;
}
swiftypeSearch();
};
});
function swiftypeSearch()
{
/* extract one page from swiftype engine API */
var parameters = {
q: strkeyWord,
engine_key: engineKey,
per_page: maxPageSize,
page: currentPageNum,
filters: {"page": {"site-section": "unitedarabemirates"}}
};
$.get(apiUrlTitle, parameters, function(data){onSearchCallback(data)})
.fail(function (error) {
stopWaiting()
var description = "Error: Sorry, We're currently having problems with our site search. Please try again later."
$("#site-searchresultsum").html(description);
})
};
function onSearchCallback (data)
{
resultPageNum = data.info.page.num_pages;
resultTotalResultCnt = data.info.page.total_result_count;
resultQuery = data.info.page.query;
currentPageNum = data.info.page.current_page;
var resultEachPageSize = data.record_count;
/* remove loading image */
stopWaiting()
if (resultTotalResultCnt == 0 || currentPageNum > resultPageNum) {
var description = "Sorry! No results matching '" + resultQuery + "' were found." + "
" + "Please refine your search, by reviewing/changing keywords and ensuring that you have not made any spelling errors.";
$("#site-searchresultsum").html(description);
} else {
searchResultPageSum();
searchResultPage(resultEachPageSize, data);
searchResultNav();
}
}
function searchResultPageSum()
{
if (resultTotalResultCnt == 1) {
var resultSummary = resultTotalResultCnt + " result";
$("#site-searchresultsum").html(resultSummary);
} else {
var resultSummary = resultTotalResultCnt + " results";
$("#site-searchresultsum").html(resultSummary);
}
}
function searchResultPage(pageSize, data)
{
if($("#searchresult").length>0) {
$("#searchresult").remove();
}
var sr = document.createElement("div");
sr.setAttribute("id", "searchresult");
sr.className = "site-search_result";
$("#searchcontent").append(sr);
for(i=0; i$&");
}
title.innerHTML = titleString;
$(header).append(title)
var description = document.createElement("p");
description.className = "site-search_resultdescription";
description.setAttribute("id", "description");
var bodyString = data.records.page[i].body;
if (bodyString == null || bodyString == "") {
bodyString = "";
} else {
var reBodyString = new RegExp(resultQuery, 'gi');
var bodyString = bodyString.replace(reBodyString, "$&");
}
description.innerHTML = bodyString;
$(srd).append(description);
var url = document.createElement("cite");
url.className = "site-search_resulturl";
var urlDtl = document.createTextNode(data.records.page[i].url);
url.appendChild(urlDtl);
$(srd).append(url);
}
wordlimit("site-search_resulttitle", 100);
wordlimit("site-search_resultdescription", 250);
}
function searchResultNav()
{
var nav = document.createElement("nav");
nav.setAttribute("id", "navigation");
nav.setAttribute("role", "navigation");
nav.className = "site-search_resultnav";
$("#searchresult").append(nav);
var navUl = document.createElement("ul");
navUl.className = "nav_ul";
navUl.setAttribute("id", "navul");
$(nav).append(navUl);
var navButtonPre = document.createElement("li");
navButtonPre.setAttribute("id", "navbuttonp");
navButtonPre.className = "nav_li";
if (currentPageNum == 1) {
var previousButton = "";
} else {
var previousButton = "";
}
$(navUl).append(navButtonPre);
$("#navbuttonp").html(previousButton);
var navMain = document.createElement("li");
navMain.setAttribute("id", "navmain");
navMain.className = "site-search_resultnav_main nav_li";
var navMainDtl = "Page " + currentPageNum + " of " + resultPageNum;
$(navUl).append(navMain);
$("#navmain").html(navMainDtl);
var navButtonNext = document.createElement("li");
navButtonNext.setAttribute("id", "navbuttonn");
navButtonNext.className = "nav_li";
if (currentPageNum == resultPageNum) {
var nextButton = "";
} else {
var nextButton = "";
}
$(navUl).append(navButtonNext);
$("#navbuttonn").html(nextButton);
}
function onSearchContent()
{
var resultSummary = " ";
$("#site-searchresultsum").html(resultSummary);
if($("#searchresult").length>0) {
$("#searchresult").remove();
}
showWaiting();
searchNewWord();
}
function onKeywordEnter(event)
{
var x = event.which || event.keyCode;
if (x == 13) {
var resultSummary = " ";
$("#site-searchresultsum").html(resultSummary);
if($("#searchresult").length>0) {
$("#searchresult").remove();
}
showWaiting();
searchNewWord();
}
}
function previousPage()
{
var resultSummary = " ";
$("#site-searchresultsum").html(resultSummary);
if($("#searchresult").length>0) {
$("#searchresult").remove();
}
currentPageNum = currentPageNum - 1;
showWaiting();
updateUrlCount();
swiftypeSearch();
}
function nextPage()
{
var resultSummary = " ";
$("#site-searchresultsum").html(resultSummary);
if($("#searchresult").length>0) {
$("#searchresult").remove();
}
currentPageNum = currentPageNum + 1;
showWaiting();
updateUrlCount();
swiftypeSearch();
}
function searchNewWord()
{
strkeyWord = $("#searchinput").val();
var url = decodeURI(document.location.href);
var qu = "qu";
var o = "o";
var recordCountFind = 0;
var newUrlKeyword = resetUrl(url, qu, strkeyWord);
var newUrlCount = resetUrl(newUrlKeyword, o, recordCountFind);
var newUrl = encodeURI(newUrlCount);
var stateObject = {};
var title = "update url";
history.pushState(stateObject, title, newUrl);
if (strkeyWord==null || strkeyWord=="") {
stopWaiting();
var description = "Enter keyword(s) to search for information on the ANZ website.";
$("#site-searchresultsum").html(description);
} else {
currentPageNum = 1;
swiftypeSearch();
}
};
function updateUrlCount()
{
url = decodeURI(document.location.href);
var recordCntStart = (currentPageNum - 1) * 10;
var o = "o";
var newUrl = resetUrl(url, o, recordCntStart);
var newUrl = encodeURI(newUrl);
var stateObject = {};
var title = "update url";
history.pushState(stateObject, title, newUrl);
};
function getQueryVariable(variable)
{
var query = decodeURI(window.location.search.substring(1));
var vars = query.split("&");
var checkResult = "";
for (var i=0;i wordlength) {
cname[i].innerHTML = cname[i].innerHTML.substr(0, wordlength) + '...';
}
}
}
function showWaiting()
{
var loading = document.createElement("div");
loading.setAttribute("id", "loading");
loading.className = "loading";
$("#searchcontent").append(loading);
var img = document.createElement("div");
img.setAttribute("id", "loadingimg");
img.className = "loading_wait";
$(loading).append(img);
}
function stopWaiting()
{
/* remove loading image*/
if($("#loading").length>0) {
$("#loading").remove();
};
}