(function(){var API_SERVER_URL=location.origin;var API_BASE_URL=API_SERVER_URL+"/o/rest-api";if(!$("#contact_form").length)return false;$("#contact_form .form-control").on("change",function(){if(!$(this).hasClass("check"))$(this).addClass("check")});$('#contact_form [type\x3d"submit"]').on("click",function(){$("#contact_form .form-control").addClass("check")});$(window).on("load",function(){var recaptcha=$("#g-recaptcha-response");if(recaptcha.length){recaptcha.attr("required","required");recaptcha.attr("aria-hidden",
"true");recaptcha.attr("aria-label","do not use");recaptcha.attr("aria-readonly","true")}});contactFormSuccessBuild();$("#contact_form form").off().on("submit",function(e){e.preventDefault();var action=$(this).attr("action");var data=$(this).serialize();contactFormSender(action,data).then(function(resolve){if(typeof resolve.status==="boolean"&&resolve.status===true)contactFormResult("Your message has been sent successfully. We will contact with as soon as possible.");else contactFormResult("Failed to sent your message. Please verify that your message does not look like a spam message and please try again later.")},
function(reject){console.error("Contact form rejected: ",reject)});var formData=$(this).serializeArray();var categoryId=formData[3].value;var category=$(".form-control option[value\x3d"+categoryId+"]").text();if(formData[0].value==="true")fetchCurrentUser().then(function(currentUser){ga("send","event","Internal messaging","message sent to operator",category,{"dimension4":currentUser.country,"dimension5":currentUser.interests.toString(),"dimension6":currentUser.organizationType,transport:"beacon"})});
else{var companyName=$(".article .button--contact-us").data("company-name");fetchCurrentUser().then(function(currentUser){ga("send","event","Internal messaging","message sent to organization",category,{"dimension3":companyName,"dimension4":currentUser.country,"dimension5":currentUser.interests.toString(),"dimension6":currentUser.organizationType,transport:"beacon"})})}grecaptcha.reset()});if($(".article .button--contact-us").length){var button=$(".article .button--contact-us");button.on("click",function(){var companyName=
'"'+button.data("company-name")+'" ';var companyId=button.data("company-id");$('#contact_form input[label\x3d"contactOperator"]').val("false");$('#contact_form input[label\x3d"organizationId"]').val(companyId);$("#contact_form span.contact_form__company_name").text(companyName);var targetPosition=$("#contact_form").offset().top;$("html, body").stop(true,true).animate({scrollTop:targetPosition},1E3,"swing");return false})}function contactFormSender(action,data){var requestUrl=action;return $.ajax({method:"POST",
url:requestUrl,data:data,dataType:"json"})}function contactFormSuccessBuild(){if(!$(".contact-form__modal").length){var buttonCloseIcon='\x3ci class\x3d"eo-icon-cross"\x3e\x3c/i\x3e';var headerMsg="Thank You!";var contentMsg="Your message has been sent successfully. We will contact with as soon as possible.";var buttonTxtOk="Ok";var html="";html+='\x3cdiv class\x3d"contact-form__modal"\x3e';html+='\x3cdiv class\x3d"contact-form__modal-content"\x3e';html+='\x3cdiv class\x3d"contact-form__modal-header"\x3e';
html+="\x3cspan\x3e"+headerMsg+"\x3c/span\x3e";html+='\x3cbutton class\x3d"contact-form__modal_close_btn close_modal" aria-label\x3d"close"\x3e'+buttonCloseIcon+"\x3c/button\x3e ";html+="\x3c/div\x3e";html+="\x3cp\x3e"+contentMsg+"\x3c/p\x3e";html+='\x3cdiv class\x3d"text-right"\x3e\x3cbutton class\x3d"btn btn-primary button--force-color close_modal"\x3e'+buttonTxtOk+"\x3c/button\x3e";html+="\x3c/div\x3e";html+="\x3c/div\x3e";$("body").append(html);$(".contact-form__modal .close_modal").on("click",
function(){$(".contact-form__modal").removeClass("active");$("#contact_form .check").removeClass("check");$("#contact_form form input, #contact_form form select, #contact_form form textarea").not("input[name$\x3d'contactOperator']").not("input[name$\x3d'organizationId']").not("input[name$\x3d'senderName']").not("input[name$\x3d'senderEmail']").val("");$("#contact_form iframe").attr("src",$("#contact_form iframe").attr("src"))})}}function contactFormResult(message){$(".contact-form__modal-content p").text(message);
$(".contact-form__modal").addClass("active");setTimeout(function(){$(".contact-form__modal .close_modal").click()},4E3)}function fetchCurrentUser(){return $.ajax({method:"GET",url:API_BASE_URL+"/portal/currentUser"})}})();
$(document).ready(function(){let apiPath="/o/rest-api";function mainpageSearchInputHandler(){let $mainpageSearch=$("#header_search");let $mainpageSearchInput=$mainpageSearch.find(".autocomplete input");let searchCallDelay=300;let searchTimeoutId;let $suggestionsList=buildSuggestionsList();$mainpageSearchInput.on("input",function(event){if(event.target.value.length<2){removeChildren($suggestionsList);return}if(searchTimeoutId)clearTimeout(searchTimeoutId);searchTimeoutId=setTimeout(function(){getSuggestions(event.target.value,
"companies",0,5).then(function(resolve){let suggestions=resolve.items;removeChildren($suggestionsList);let $suggestionsItems=$(suggestions.map(function(item){return buildSuggestionsListItem(item)[0]}));$suggestionsList.append($suggestionsItems);$mainpageSearch.find(".autocomplete").append($suggestionsList);$suggestionsItems.click(function(event){let suggestion=$(this).data();$mainpageSearchInput.val(suggestion.title);$suggestionsList.empty()});$mainpageSearchInput.focus()},function(reject){console.error("Cannot fetch suggestions",
reject.responseText)})},searchCallDelay)}).on("blur",function(){setTimeout(function(){$(".list--suggestions").empty()},250)})}function buildSuggestionsList(){let $suggestionsList=$("\x3cul\x3e\x3c/ul\x3e");$suggestionsList.addClass("list list--suggestions suggestions");return $suggestionsList}function mapSuggestionType(rawType){rawType=rawType.toLowerCase();switch(rawType){case "companies":return"Company";default:console.error("Unknown type of article:",rawType);return""}}function buildSuggestionsListItem(suggestion){let $suggestionItem=
$("\x3cli\x3e\x3c/li\x3e");let $suggestionType=$("\x3cspan\x3e\x3c/span\x3e").addClass("suggestion_type").text(mapSuggestionType(suggestion.type)+": ");$suggestionItem.append($suggestionType,suggestion.title);$suggestionItem.addClass("list__item list__item--suggestion text-truncate");$suggestionItem.data(suggestion);return $suggestionItem}function removeChildren(list){list.empty()}function getSuggestions(phrase,type,from,limit){if(!phrase||!type||!Number.isInteger(from)||!Number.isInteger(limit)){console.log("Missing parameter(s) in getSuggetsions().");
return}let queryString="/africa/suggestions?like\x3d"+encodeURIComponent(phrase)+"\x26type\x3d"+encodeURIComponent(type)+"\x26from\x3d"+from+"\x26limit\x3d"+limit;return $.ajax({method:"GET",url:location.origin+apiPath+queryString})}$(".header__search_form_trigger").on("click touch",function(){let $navigationHeaderContainer=$("#portlet_com_eversis_esa_eomall_africa_search_headersearchbar_HeaderSearchBar");$navigationHeaderContainer.slideToggle()});mainpageSearchInputHandler()});
$(document).ready(function(){if(window.location.href.indexOf("liferay_login_web_portlet_LoginPortlet_mvcRenderCommandName")<0){var maps=[];var fixedZoom=6,mapOptions={dragging:false,zoomControl:false,attributionControl:false};var $mapcolumn=$(".map-trigger");var $letterButton=$(".toggle-letter");var $buttonLetter=$(".button-letter");var $closeButton=$(".close-btn");var $panel=$(".tab-buttons");var isPanelOpen=false;var $selectLetterClick=$(".letter");var selectedLetter="a";var $template=$(".row.company-info").first().clone();
var $noRowsTemplate=$(".row.no-rows").first().clone();$(".row.company-info").first().remove();$(".row.no-rows").first().remove();init();$selectLetterClick.on("click touch",function(e){e.preventDefault();var thisletter=$(this).data("value");if(thisletter!==selectedLetter){$('.nav.nav-tabs a[data-value\x3d"'+selectedLetter+'"]').parent().removeClass("active");selectedLetter=thisletter;$buttonLetter.text(thisletter.toString().toUpperCase());$(this).parent().addClass("active");toggleLetterPanel();getCompanies(thisletter)}});
$closeButton.on("click touch",function(){$letterButton.removeClass("toggled");$panel.removeClass("toggled");$buttonLetter.removeClass("toggled")});$letterButton.on("click touch",function(){toggleLetterPanel()});function toggleLetterPanel(){let $trigger=$letterButton;if(!$trigger.hasClass("toggled")){$trigger.addClass("toggled");$panel.addClass("toggled");$buttonLetter.addClass("toggled");isPanelOpen=true;closeAllMaps()}else{$trigger.removeClass("toggled");$panel.removeClass("toggled");$buttonLetter.removeClass("toggled");
isPanelOpen=false}}$(document).on("click touch",".map-trigger",function(e){if(isPanelOpen)toggleLetterPanel();if(!$(this).hasClass("toggled")){$(this).addClass("toggled");$(this).find(".arrow-i").addClass("toggled");$(this).next().addClass("visible");$(this).next().next().find(".company-description p").css({opacity:0})}else{$(this).removeClass("toggled");$(this).find(".arrow-i").removeClass("toggled");var $map=$(this).next();$map.css({opacity:0});setTimeout(function(){$map.css({opacity:""});$map.removeClass("visible");
$map.next().find(".company-description p").css({opacity:1})},700)}});function closeAllMaps(){$(".map-trigger").each(function(index){$(this).removeClass("toggled");$(this).find(".arrow-i").removeClass("toggled");var $map=$(this).next();$map.css({opacity:0});setTimeout(function(){$map.css({opacity:""});$map.removeClass("visible");$map.next().find(".company-description p").css({opacity:1})},700)})}function getCompanies(letter){var url=$("#loadCompaniesURL").val();var namespace=$("#portletCompaniesAddressBookNamespace").val();
var data={};data[namespace+"nameLike"]=letter;var queryend=false;hideResultSpinner();setTimeout(function(){if(!queryend)showResultSpinner()},1E3);$.ajax({url:url,data:data,success:function(data){try{parsedData=JSON.parse(data)}catch(e){window.location.reload(false)}populateCompanyList(parsedData);queryend=true;hideResultSpinner()},error:function(request,status,error){queryend=true;hideResultSpinner()}})}function populateCompanyList(data){$(".box").empty();if(data.length>0){resetMaps();$.each(data,
function(i,obj){var $item=$template;$item.find(".company-name").html(obj.name).attr("href",obj.articleUrl);$item.find(".company-txt").html(obj.description);$item.find(".company-txt").html($item.find(".company-txt").text());$item.find(".updated-date").html(obj.modifiedDate);if($(".africa_eopages")[0])if(obj.region!==""){if(obj.country!==""){$item.find(".company-region").html(obj.region+", ");$item.find(".company-country").html(obj.country)}}else $item.find(".company-country").html(obj.country);if(obj.companyLogoSrc===
""||obj.companyLogoSrc===null)$item.find(".company-logo").hide();else $item.find(".company-logo").attr("src",obj.companyLogoSrc).attr("alt",obj.name).show();if(obj.countryFlagImageUrl===""||obj.countryFlagImageUrl===null)$item.find(".company-flag").hide();else $item.find(".company-flag").attr("src",obj.countryFlagImageUrl).show();if(!obj.location)obj.location={latitude:0,longitude:0};$item.data("lat",obj.location.latitude);$item.data("lng",obj.location.longitude);$item.find(".map-column div").attr("id",
"company-map"+i);$item.removeClass("d-none");$(".box").append($item.clone());let newMap=L.map("company-map"+i,mapOptions);L.tileLayer("https://a.tile.openstreetmap.org/{z}/{x}/{y}.png").addTo(newMap);var yellowIcon=L.icon({iconUrl:themeDisplay.getPathThemeImages()+"/marker_active.png",iconSize:[49,59],iconAnchor:[24,51],popupAnchor:[-1,-49]});if(obj.location.latitude&&obj.location.longitude){var marker=[];if($(".africa_eopages")[0])marker.push(L.marker([obj.location.latitude,obj.location.longitude],
{icon:yellowIcon}));else marker.push(L.marker([obj.location.latitude,obj.location.longitude]));var group=(new L.featureGroup(marker)).addTo(newMap);newMap.fitBounds(group.getBounds());newMap.setZoom(fixedZoom);newMap.setMaxZoom(fixedZoom);newMap.setMinZoom(fixedZoom)}else newMap.setView([0,0],0);maps.push(newMap)})}else{var $norowsitem=$noRowsTemplate;$norowsitem.removeClass("d-none");$norowsitem.appendTo(".box")}}function showResultSpinner(){$(".loading_spinner__wrapper").show();$(".search__main_spinner").show()}
function hideResultSpinner(){$(".loading_spinner__wrapper").hide();$(".search__main_spinner").hide()}function resetMaps(){$.each(maps,function(i,map){map.off();map.remove()});maps.length=0}function init(){getCompanies(selectedLetter)}}});
