debounce(func, delay) {
let timeoutId;
return function () {
clearTimeout(timeoutId);
timeoutId = setTimeout(func, delay);
};
}
docReady(function () {
jQuery(".m31-search--dm_close").on("click", onFocusout);
jQuery(".m31-search--button").on("click", function () { if (inputBox.value.length > 2) { location.href = resultsUrl + '?term=' + inputBox.value + '&page=1&category=4'; } });
jQuery(searchWrapper).on("blur", onFocusout);
jQuery(".m31-search--dm_close-word").on("click", onFocusout);
jQuery(".m31-search--back").on("click", onFocusout);
if (typeof highlight == 'undefined') {
$.getScript("/scripts/External/jquery.highlight.min.js", function (data, textStatus, jqxhr) {
// console.log(data); // Data returned
// console.log(textStatus); // Success
// console.log(jqxhr.status); // 200
//console.log("Load was performed.");
});
}
setTimeout(function () { ReinitailizeMenuActiveState(); }, 1000);
try {
FnHighLightInitiate();
var recognition = new webkitSpeechRecognition();
recognition.continuous = true,
recognition.interimResults = true,
recognition.lang = 'en-US',
$mic = jQuery('.m31-search--mic');
recognition.onresult = function (event) {
var interim_transcript = '';
for (var i = event.resultIndex; i < event.results.length; ++i) {
var transcriptionPiece = event.results[i][0].transcript;
if (event.results[i].isFinal) {
final_transcript += transcriptionPiece;
onFinalised(final_transcript);
} else if (recognition.continuous) {
interim_transcript += transcriptionPiece;
onAnythingSaid(interim_transcript);
}
}
};
recognition.onend = function () { onEndEvent(); };
$mic.on('click', function () { startButton(); });
} catch (error) {
// console.log(error);
}
function onEndEvent() {
resetSearchWrapper();
jQuery(wrapper_loader).show();
showSuggestion();
//console.log('end')
}
function onFinalised(text) {
if (text != null && text.toLowerCase().indexOf('diva') > -1)
text = 'Dewa';
jQuery('.m31-search--input').val(text);
jQuery('.m31-search--input').blur()
recognition.stop()
}
function onAnythingSaid(text) {
if (text != null && text.toLowerCase().indexOf('diva') > -1)
text = 'Dewa';
jQuery('.m31-search--input').val(text);
jQuery('.m31-search--input').focus();
}
function startButton() {
final_transcript = '';
if (location.pathname.toLowerCase().indexOf('ar-ae') > 0) {
recognition.lang = 'ar-AE';
} else {
recognition.lang = 'en-US';
}
recognition.start();
jQuery('.m31-search--input').val('')
}
jQuery(window).resize(function () {
ReinitailizeMenuActiveState();
})
if (window.location.href.indexOf('term') > -1) {
if (jQuery(window).width() <= 1024)
{
jQuery('.m31-search--button').trigger('touchstart')
}
else {
jQuery('.m31-search--expand').click();
}
}
});
// if user press any key and release
//inputBox.onkeyup = (e) => {
// launchSearch();
//}
function launchSearch()
{
$('.m31-search--input').val(inputBox.value.replaceAll(/\u200f/g, '').replaceAll('@', '').replaceAll('*', '').replaceAll('{', '').replaceAll('}', '').replaceAll('[', '').replaceAll(']', '').replaceAll('=', '').replaceAll('_', '').replaceAll('+', '').replaceAll('-', '').replaceAll('/', '').replaceAll("\\",'').replaceAll("!",'').replaceAll("`",'').replaceAll("~",'').replaceAll("#",'').replaceAll("$",'').replaceAll("%",'').replaceAll("^",'').replaceAll("(",'').replaceAll(")",'').replaceAll("=",'').replaceAll("|",'').replaceAll(">",'').replaceAll("<",'').replaceAll("?",''));
var inVal = inputBox.value;
startTime = new Date();
if (inVal.value == "") {
requesting = true;
jQuery(wrapper_loader).hide();
jQuery(searchWrapper + "--doormat").removeClass('active');
jQuery(".m31-search--dm_arrow").removeClass("active");
jQuery(".m31-search--dm_close-word").hide(); jQuery(".m31-search--button").show();
jQuery(".m31-search--dm_close").hide();
}
else {
resetSearchWrapper();
requesting = false;
jQuery(wrapper_loader).show();
jQuery(".m31-search--dm_close-word").show();
jQuery(".m31-search--button").hide();
//setTimeout(function(){
showSuggestion();
//},300);
}
return true;
}
inputBox.addEventListener("keypress", function (event) {
if (event.key === "Enter") {
$('.m31-search--input').val(inputBox.value.replaceAll(/\u200f/g, '').replaceAll('@', '').replaceAll('*', '').replaceAll('{', '').replaceAll('}', '').replaceAll('[', '').replaceAll(']', '').replaceAll('=', '').replaceAll('_', '').replaceAll('+', '').replaceAll('-', '').replaceAll('/', '').replaceAll("\\",'').replaceAll("!",'').replaceAll("`",'').replaceAll("~",'').replaceAll("#",'').replaceAll("$",'').replaceAll("%",'').replaceAll("^",'').replaceAll("(",'').replaceAll(")",'').replaceAll("=",'').replaceAll("|",'').replaceAll(">",'').replaceAll("<",'').replaceAll("?",''));
event.preventDefault();
enterKey = true;
var langCheck = 'en-US';
if (langCheck == 'en-US')
window.location.href = '/en/search-results?page=1&category=0&term=' + inputBox.value;
else
window.location.href = '/ar-AE/search-results?page=1&category=0&term=' + inputBox.value;
enterKey = false;
}
});
const debounceSearch = debounce(launchSearch, 300); // 300ms delay, adjust as needed
inputBox.addEventListener('input', debounceSearch);
function onFocusout() {
try {
//console.log(e.target);
inputBox.value = "";
typeStarted = false;
//clearInterval(searchInterval);
searchTerm = '';
jQuery(wrapper_loader).hide();
jQuery(searchWrapper + "--doormat").removeClass('active');
jQuery(".m31-search--dm_arrow").removeClass("active");
jQuery(".m31-search--dm_close-word").hide();
jQuery(".m31-search--button").show();
} catch (error) {
jQuery(wrapper_loader).hide();
//console.log(error);
}
}
function resetSearchWrapper() {
jQuery(".m31-search--dm_close").hide();
$('ul#ulS li:first').css('display', 'none');
$('ul#ulC li:first').css('display', 'none');
$('ul#ulN li:first').css('display', 'none');
jQuery(ulS).find("li:gt(0)").each(function () {
jQuery(this).html("");
});
jQuery(ulC).find("li:gt(0)").each(function () {
jQuery(this).html("");
});
jQuery(ulN).find("li:gt(0)").each(function () {
jQuery(this).html("");
});
}
function setWrapperHideShow(data, isrecord) {
if (data <= 0) {
jQuery(dv_services).hide();
jQuery(NoRecordFound).show();
} else {
jQuery(dv_services).show();
jQuery(NoRecordFound).hide();
}
}
function showSuggestion() {
try {
resetSearchWrapper();
let userData = inputBox.value;
if (inputBox.value != '') {
jQuery(".m31-search--dm_close-word").show();
jQuery(".m31-search--button").hide();
}
else {
jQuery(".m31-search--dm_close-word").hide();
jQuery(".m31-search--button").show();
}
let timeNow = new Date(); //let diff = Math.abs((timeNow - startTime) / 1000);
if ((userData.length > 2 && requesting === false) || enterKey) {
jQuery(NoRecordFound).hide();
jQuery(searchWrapper + "--doormat").addClass('active');
jQuery(".m31-search--dm_arrow").addClass("active");
resetSearchWrapper();
if (!enterKey)
startTime = timeNow;
searchTerm = userData.replace(/\u200f/g, '');
jQuery.ajax({
url: '/api/sitecore/Search/SearchSuggestion', data: { "__RequestVerificationToken": GetAFToken(), term: searchTerm, item: '{3F54BA2C-90E3-4553-AC31-A0C2B6F3ECDE}' },
beforeSend: function () {
requesting = true;
},
complete: function () {
jQuery(wrapper_loader).hide(); requesting = false;
},
dataType: "json",
type: 'POST',
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
success: function (res) {
setWrapperHideShow(res.RecordsFound);
if (res && res.RecordsFound > 0) {
jQuery(".m31-search--dm_close").show();
$('ul#ulS li:first').css('display', 'block');
$('ul#ulC li:first').css('display', 'block');
$('ul#ulN li:first').css('display', 'block');
PopulateColumn(ulS, res.Services, res.MoreServices, 1);
PopulateColumn(ulN, res.News, res.MoreNews, 2);
PopulateColumn(ulC, res.Content, res.MoreContent, 3);
if ($("#site_search").length > 0 && $("#site_search").val() != "") {
jQuery(".m31-search--dm_linkTitle,.m31-search--dm_linkDesc").highlight($("#site_search").val(), {})
}
} else {
}
startTime = new Date();
},
fail: function (error) {
//console.log(error);
jQuery(wrapper_loader).hide();
}
});
}
else {
jQuery(dv_services).hide();
jQuery(NoRecordFound).show();
jQuery(wrapper_loader).hide();
setTimeout(() => {
if ((userData.length <= 2)) {
jQuery(searchWrapper + "--doormat").removeClass('active');
jQuery(".m31-search--dm_arrow").removeClass("active");
}
}, 100);
}
} catch (error) {
//console.log(error);
jQuery(wrapper_loader).hide();
}
}
function toUnicode(str) {
return str.split('').map(function (value, index, array) {
var temp = value.charCodeAt(0).toString(16).padStart(4, '0');
if (temp.length > 2) {
return '\\u' + temp;
}
return value;
}).join('');
}
function convertUni(str) {
return decodeURIComponent(JSON.parse('"' + str.replace(/\"/g, '\\"') + '"'));
}
function ReinitailizeMenuActiveState() {
try {
if (jQuery(window).width() > 1024) {
var SelectedMenu = jQuery(".m12-menuover").find(".m12-menuover-main_itemactive");
if (SelectedMenu != null && SelectedMenu.length > 0) {
jQuery(".m12-menuover").find(".m12-menuover-main_itemactive").each(function () {
jQuery(this).click();
if (!jQuery(this).hasClass("m12-menuover-main_itemactive")) {
jQuery(this).addClass("m12-menuover-main_itemactive");
}
})
if (jQuery(".m12-menuover").find(".force-nav2-active").length > 0) {
jQuery(".m12-menuover").find(".force-nav2-active").each(function () {
jQuery(this).click();
if (!jQuery(this).hasClass("m2-menuover-primary_itemactive")) {
jQuery(this).addClass("m2-menuover-primary_itemactive");
}
});
}
} else {
if (jQuery(".m12-menuover").find(".m12-menuover-main").find("button").length > 0) {
jQuery(".m12-menuover").find(".m12-menuover-main").each(function () {
jQuery(jQuery(this).find("button")[0]).click();
});
}
}
} else {
if (!jQuery('.mobile-menu-navs').find('.force-nav2-active').hasClass('m12-menuover-primary_itemactive-mobile')) {
jQuery(jQuery('.mobile-menu-navs').find('.force-nav2-active').find('.m12-menuover-primary_item--label')[0]).click();
}
}
///Initialize
setTimeout(function () {
jQuery(window).trigger('initMobile');
}, 100)
} catch (e) {
//console.log(e);
}
}
function GetAFToken() {
return jQuery('input[name="__RequestVerificationToken"]').val()
}
function PopulateColumn(ul, arr, ismore, category) {
var li = '
{1}
{2}
';
var showMore = '
Show More
';
var resultsPage = resultsUrl + '?term=' + searchTerm + '&page=1&category='+category;
jQuery(ul + " li").not(":first").remove();
if (arr.length === 0) {
jQuery(ul).hide();
return;
}
jQuery(ul).show();
var __count1 = 0;
jQuery.each(arr, function (i, v) {
if(__count1 < 3)
jQuery(ul).append(li.replace('{0}', v.Url).replace('{1}', v.Title.replace('$name', '')).replace('{2}', v.Description.replace('$name', '')));
__count1++;
});
if (ismore === true) { jQuery(ul).append(showMore.replace('{0}', resultsPage)); }
}
function FnHighLightInitiate() {
if (jQuery("#site_search").length > 0 && jQuery("#site_search").val() != "") {
jQuery(".m31-search--dm_linkTitle,.m31-search--dm_linkDesc").highlight(jQuery("#site_search").val(), {})
}
}
Expo 2020 Dubai – Innovation Week
Your privacy is important to us. We will only interact with the DEWA webpage you will share with us.
Are you sure you want to reinitiate the Hayak chat?