var queryly = {}; (function (window) { queryly = { QuerylyKey: '', pageurl: '', urlOverwrite: '', timer: null, unseenads: [], searchbox: null, suggestbox: null, resultcontainer: null, basecontainer: null, innercontainer: null, initialized: 0, isdraft: 0, extendedDataFields: '', currentItemIndex: 0, visitorid: '', waitForReturn: false, searchredirect: '', endIndex: 0, total: 0, batchSize: 10, currentQuery: '', previousQuery: '', guess: '', currentGuess: '', splash: [], enableSplash: false, enableRelatedSearch: false, relatedCount: 6, protocol: ('https:' == document.location.protocol ? 'https://' : 'http://'), groups: [], partners: '', searchAPIServer: '//api.queryly.com', preload: false, init: function (querylykey, searchbutton, endpoint) { if (typeof endpoint != "undefined" && typeof endpoint.searchAPIServer != "undefined" && endpoint.searchAPIServer != "") { queryly.searchAPIServer = endpoint.searchAPIServer; } queryly.QuerylyKey = querylykey; queryly.pageurl = document.URL.toLowerCase(); queryly.layout.init(); if (searchbutton != null) { for (var i = 0; i < searchbutton.length; i++) { searchbutton[i].addEventListener("click", function () { if (queryly.initialized == 0) { queryly.initCall(); } else { queryly.opensearch(); } }); } } document.getElementById('queryly_closebutton').addEventListener("click", function () { queryly.closesearch(); }); queryly.searchbox.addEventListener("keyup", function (event) { switch (event.keyCode) { case 37: return; case 38: return; case 39: return; case 40: return; } clearTimeout(queryly.timer); queryly.waitForReturn = false; if (queryly.searchbox.value == '') { queryly.reset(); return; } else { var fsuggest = queryly.util.getFullSuggestion().toLowerCase(); if (fsuggest == '' || fsuggest.indexOf(queryly.currentQuery.toLowerCase()) != 0) { queryly.currentItemIndex = 0; queryly.timer = setTimeout("queryly.dosearch(0);", 300); } } }); queryly.searchbox.addEventListener("keydown", function (e) { var keyCode = e.keyCode || e.which; if (keyCode == 9) { e.preventDefault(); queryly.util.autoFillSuggestion(); } else if (keyCode == 32) { queryly.guess = ""; } else if (keyCode == 13) { if (queryly.searchredirect != '') { window.location = queryly.searchredirect; } } }); try { if (queryly.urlOverwrite != '' && queryly.urlOverwrite != null) { queryly.pageurl = queryly.urlOverwrite.toLowerCase(); } } catch (e) { } if (queryly.preload) { queryly.initCall(); } }, initCall: function () { queryly.visitorid = queryly.util.getVisitorID(); var apiurl = queryly.searchAPIServer + '/search3.aspx?&queryly_key=' + queryly.QuerylyKey + '&initialized=0&isdraft=' + queryly.isdraft + '&pageurl=' + encodeURIComponent(queryly.pageurl.replace(/&/g, "&")) + '&random=' + Math.random() + '&timezoneoffset=' + (new Date(0)).getTimezoneOffset() + '&visitorid=' + queryly.visitorid; var querylydemo = queryly.util.getUrlParameter('querylydemo'); if (querylydemo != null && querylydemo != '' & querylydemo != 'null') { apiurl = apiurl + '&querylydemo=' + querylydemo; } queryly.util.loadScript(apiurl, function (data, textStatus, jqxhr) { }); }, track: function () { if ((queryly.guess != '' && queryly.guess != queryly.currentGuess) || queryly.total == 0) { try { var trackurl = "//data.queryly.com/track.aspx?queryly_key=" + queryly.QuerylyKey + "&visitorid=" + queryly.visitorid + "&query=" + encodeURIComponent(queryly.currentQuery) + "&suggest=" + encodeURIComponent(queryly.guess) + "&total=" + queryly.total + "&target=&source="; new Image().src = trackurl; } catch (e) { } queryly.currentGuess = queryly.guess; } }, trackad: function (off, containerheight) { try { for (var i = 0; i < queryly.unseenads.length; i++) { if (!queryly.unseenads[i].isseen) { var range = queryly.unseenads[i].top + off; if (range > -20 && range < containerheight) { queryly.unseenads[i].isseen = true; new Image().src = "//data.queryly.com/track.aspx?queryly_key=" + queryly.QuerylyKey + "&tracktype=campaign&visitorid=" + queryly.util.getVisitorID() + "&allocationid=" + queryly.unseenads[i].id + "&pageurl="; } } } } catch (e) { } }, dosearch: function (scrollSearch) { queryly.currentQuery = queryly.searchbox.value; if (scrollSearch == 0) { queryly.endIndex = 0; } var apiurl = queryly.searchAPIServer + '/search3.aspx?query=' + encodeURIComponent(queryly.searchbox.value) + '&queryly_key=' + queryly.QuerylyKey + '&initialized=' + queryly.initialized + '&scrollsearch=' + scrollSearch + '&isdraft=' + queryly.isdraft + '&batchsize=' + queryly.batchSize + '&endindex=' + queryly.endIndex + '&url=' + encodeURIComponent(queryly.pageurl.replace(/&/g, "&")) + '&extendeddatafields=' + queryly.extendedDataFields + '&random=' + Math.random() + '&timezoneoffset=' + (new Date(0)).getTimezoneOffset(); if (queryly.enableRelatedSearch) { apiurl = apiurl + '&relatedcount=' + queryly.relatedCount; } if (queryly.groups.length > 0) { apiurl = apiurl + '&groups=' + queryly.groups.toString(); } if (queryly.partners != '') { apiurl = apiurl + '&partners=' + queryly.partners; } queryly.util.loadScript(apiurl, function () { queryly.waitForReturn = false; }); }, opensearch: function () { if (queryly.initialized == 0) { queryly.initCall(); return; } document.getElementById('queryly_innercontainer').style.display = "none"; document.getElementById('queryly_basecontainer').style.display = ""; document.getElementById('queryly_innercontainer').style.display = ""; //queryly.util.slideToggle(document.getElementById('queryly_innercontainer')); queryly.searchbox.focus(); if (document.body.classList) { document.body.classList.add('queryly_searchplus_visible') } else { document.body.className += ' queryly_searchplus_visible'; } if (document.getElementsByTagName('html')[0].classList) { document.getElementsByTagName('html')[0].classList.add('queryly_searchplus_visible') } else { document.getElementsByTagName('html')[0].className += ' queryly_searchplus_visible'; } if (navigator.userAgent.match(/iphone|ipad/i)) { if (document.body.classList) { document.body.classList.add('queryly_searchplus_visible_iosfix') } else { document.body.className += ' queryly_searchplus_visible_iosfix'; } if (document.getElementsByTagName('html')[0].classList) { document.getElementsByTagName('html')[0].classList.add('queryly_searchplus_visible_iosfix') } else { document.getElementsByTagName('html')[0].className += ' queryly_searchplus_visible_iosfix'; } } queryly.showsplash(); }, showsplash: function () { try { if (queryly.enableSplash && typeof queryly.splash.items != 'undefined' && queryly.splash.items.length > 0) { var splashhtml = ''; if (document.querySelectorAll('#queryly_splash_template').length == 1) { for (var querylyitemcount = 0; querylyitemcount < queryly.splash.items.length; querylyitemcount++) { queryly.data = queryly.splash.items[querylyitemcount]; splashhtml = splashhtml + queryly.render.tmpl('queryly_splash_template', new Object()); } } if (splashhtml != '') { var itemhtml = queryly.render.tmpl('queryly_splashheader_template', new Object()); splashhtml = itemhtml + splashhtml; var elem = document.createElement("div"); elem.innerHTML = splashhtml; document.getElementById('queryly_resultcontainer').appendChild(elem); } } } catch (e) { } }, dorelated: function (related) { var keyword = related.innerText + " "; queryly.reset(); queryly.searchbox.value = keyword; queryly.dosearch(0); }, reset: function () { queryly.searchbox.value = ''; queryly.suggestbox.value = ''; document.getElementById('queryly_resultcontainer').innerHTML = ''; queryly.endIndex = 0; queryly.total = 0; queryly.currentItemIndex = 0; queryly.currentQuery = ''; queryly.previousQuery = ''; queryly.guess = ''; queryly.currentGuess = ''; queryly.unseenads = []; }, closesearch: function () { setTimeout(function () { document.getElementById('queryly_basecontainer').style.display = 'none'; }, 300); if (document.body.classList) { document.body.classList.remove('queryly_searchplus_visible'); } else { document.body.className = document.body.className.replace(new RegExp('(^|\\b)' + 'queryly_searchplus_visible'.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); } if (document.getElementsByTagName('html')[0].classList) { document.getElementsByTagName('html')[0].classList.remove('queryly_searchplus_visible'); } else { document.getElementsByTagName('html')[0].className = document.getElementsByTagName('html')[0].className.replace(new RegExp('(^|\\b)' + 'queryly_searchplus_visible'.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); } if (navigator.userAgent.match(/iphone|ipad/i)) { if (document.body.classList.classList) { document.body.classList.remove('queryly_searchplus_visible_iosfix'); } else { document.body.className = document.body.className.replace(new RegExp('(^|\\b)' + 'queryly_searchplus_visible_iosfix'.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); } if (document.getElementsByTagName('html')[0].classList) { document.getElementsByTagName('html')[0].classList.remove('queryly_searchplus_visible_iosfix'); } else { document.getElementsByTagName('html')[0].className = document.getElementsByTagName('html')[0].className.replace(new RegExp('(^|\\b)' + 'queryly_searchplus_visible_iosfix'.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); } } queryly.reset(); } }; queryly.layout = { basecontainer: '
', init: function () { var elem = document.createElement("div"); elem.innerHTML = queryly.layout.basecontainer; document.body.prepend(elem); queryly.searchbox = document.getElementsByClassName('queryly')[0]; queryly.suggestbox = document.getElementsByClassName('queryly_suggest')[0]; queryly.resultcontainer = document.getElementById('queryly_resultcontainer'); queryly.basecontainer = document.getElementById('queryly_basecontainer'); queryly.innercontainer = document.getElementById('queryly_innercontainer'); ("mousewheel DOMMouseScroll touchmove".split(" ")).forEach(function (e) { queryly.resultcontainer.addEventListener(e, function (event) { if (queryly.currentQuery == '') { return; } if (event.wheelDelta > 0 || event.detail < 0) { } else { if (queryly.endIndex >= queryly.total) { if (document.getElementById('queryly_endofresults').length == 0) { queryly.resultcontainer.appendChild('