<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">$(document).ready(function(){

    var TIMER = "";
    $(".showBusinessCard").mouseenter(function(event){
        var xCordinate = event.clientX;
        var currentBusiness = $(this);
        TIMER = setTimeout(function(){
            showBusinessCard(currentBusiness, xCordinate);
        }, 250);
    });

    $(".showBusinessCard").mouseout(function(){
        window.clearTimeout(TIMER);
    });

    $(document).on('click', ".showBusinessCard", function(){
        window.clearTimeout(TIMER);
    });
});

function showBusinessCard(businessAnchor, xCordinate){

    var parentRow = $(businessAnchor).parent();
    var parentLeft = $(parentRow)[0].offsetLeft;
    var currentLeft = xCordinate - parentLeft;
    // hide all business cards
    $(".business-card-container").hide();

    //get business Id &amp; business slug from business anchor
    var businessId = $(businessAnchor).attr("data-businessId");
    var businessSlug = $(businessAnchor).attr("data-businessSlug");
    if($(parentRow).find(".business-card-container").length &gt;0)
    {
        $(parentRow).find(".business-card-container").css("left", currentLeft);
        $(parentRow).find(".business-card-container").show();
    }
    else{
        //call api and get basic information to display
        var businessCardInfo = getBusinessCard(businessId, businessSlug);
        businessCardInfo = JSON.parse(businessCardInfo);
        if(businessCardInfo['status'] == "success")
        {
            //arrange received data in card
            displayBusinessCard(businessAnchor, businessCardInfo['content'][0], currentLeft);
        }
        else{
            console.log(businessCardInfo['content']);
        }
    }
}

function displayBusinessCard(businessAnchor, businessCardInfo, currentLeft){
    
    var busienssName = businessCardInfo['businessName'];
    var categoryName = businessCardInfo['category'];
    var location = businessCardInfo['location'];
    var phone = businessCardInfo['phoneNumber'];
    var email = businessCardInfo['emailAddress'];
    var website = businessCardInfo['website'];
    var rating = businessCardInfo['rating'];
    var reviews = businessCardInfo['numReviews'];
    var num = Math.trunc(rating);
    var decimal = rating - num;
    var stars = "";
    var slug = businessCardInfo['businessSlug'];
    var img = businessCardInfo['icon'];

    var phoneSpan = "";
    var mailSpan = "";
    var webSpan = "";

    if(rating == 0)
    {
        stars = '&lt;span class="material-icons"&gt;star_outline&lt;/span&gt;&lt;span class="material-icons"&gt;star_outline&lt;/span&gt;&lt;span class="material-icons"&gt;star_outline&lt;/span&gt;&lt;span class="material-icons"&gt;star_outline&lt;/span&gt;&lt;span class="material-icons"&gt;star_outline&lt;/span&gt;';
    }


    for(var i = 0; i&lt;num; i++)
    {
        stars += '&lt;span class="material-icons"&gt;star&lt;/span&gt;';
    }
    if(decimal&gt;0.25 &amp;&amp; decimal &lt; 0.75)
    {
        stars += '&lt;span class="material-icons"&gt;star_half&lt;/span&gt;';
    }
    else if(decimal&gt;0.75)
    {
        stars += '&lt;span class="material-icons"&gt;star&lt;/span&gt;';
    }

    //create phone div if phone number present
    if(phone != "" &amp;&amp; phone !== null)
    {   
        phoneSpan = '&lt;a href="tel:'+phone+'"&gt;&lt;div class="business-card-phone"&gt;&lt;span class="icon material-icons"&gt;call&lt;/span&gt;'+phone+'&lt;/div&gt;&lt;/a&gt;';
    }

    //create email div if email present
    if(email != "" &amp;&amp; email !== null)
    {
        mailSpan = '&lt;div class="business-card-email"&gt;&lt;span class="icon material-icons"&gt;email&lt;/span&gt;'+email+'&lt;/div&gt;';
    }

    //create website div if website present
    if(website != "" &amp;&amp; website !== null)
    {
        webSpan = '&lt;div class="business-card-web"&gt;&lt;span class="icon material-icons"&gt;language&lt;/span&gt;'+website+'&lt;/div&gt;';
    }

    var card = '&lt;div class="business-card-container" style="left:'+currentLeft+'px"&gt;&lt;div class="business-intro"&gt;&lt;div class="business-name"&gt;'+busienssName+'&lt;/div&gt;&lt;div class="business-subheading"&gt; '+categoryName+' in '+location+'&lt;/div&gt;&lt;/div&gt;&lt;div class="business-card-icon"&gt; &lt;img src="/assets/img/icons/'+img+'" alt=""&gt;&lt;/div&gt;&lt;div class="business-card-info"&gt;'+phoneSpan+mailSpan+webSpan+'&lt;div class="business-rating"&gt;&lt;div class="rating-stars"&gt;'+stars+'&lt;/div&gt;&lt;div class="rating-desc"&gt; '+rating+' based on '+reviews+' reviews&lt;/div&gt;&lt;/div&gt;&lt;div class="business-card-cta"&gt;&lt;a href="/places/'+slug+'"&gt;Know more&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;';
    $(businessAnchor).parent().append(card);
}

function getBusinessCard(businessId, businessSlug){
    var res = false;
    $.ajax({
        url: "/apis/get-business-card-info",
        type: "POST",
        async: false,
        data: {"businessId":businessId, "businessSlug":businessSlug},
        success: function(response){
            res =  response;
        }
    });
    return res;
}

// basic card functionality
$(document).on("mouseleave", ".business-card-container", function(){
    $(this).hide();
});</pre></body></html>