

    var url = "widget-dobedan-exclusive.asisia.com",
        temp = 'Temp4';



    var getSearchIFrame = function (roomTypeId) {
        return '<div class="asisia-room-search-iframe-container1 container-fluid px-xxl-md"><div class="asisia-room-search-iframe-container2 col-12 py-md-5 px-xxl-md"><iframe id="search-frame"></iframe></div></div>';
    }

    $("#booking-content").append(getSearchIFrame);




    document.getElementById('search-frame').src = '//' + url + '/' + 'tr-TR' + '/Hotel/Widget?HotelId=01002249-fa3c-40fd-a83c-55be3669bd3f&ProjectDetailId=ff5c4df3-74d5-4eeb-a8fa-884d4205899b&ProjectId=ab0c841c-32a8-451b-9cbc-9ec7bbe54047' + (window.location.search || '').replace('?', '&')  + '&OnlyBody=true&ParentUrl=/tr/basket?Id=&PostParent=true&TempName=' + temp + '&ShowPageTitleContainer=true&class=container&container=container area';


    $(function () {

        var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
        var eventer = window[eventMethod];
        var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message";

        var cumulativeOffset = function (element) {
            var top = 0, left = 0;
            do {
                top += element.offsetTop || 0;
                left += element.offsetLeft || 0;
                element = element.offsetParent;
            } while (element);

            return {
                top: top,
                left: left
            };
        };

        eventer(messageEvent, function (e) {

            if (event.data.type === "resize" && event.data.height && !isNaN(event.data.height)) {

                $(".asisia-wait").hide();
                var iframe = $('#search-frame');
                iframe.height(event.data.height + "px");
                 
            }
            /*
            if (e.data.bodyHeight && !isNaN(e.data.bodyHeight)) {

			 
                var sf = $('#search-frame');
                $(".asisia-wait").hide();


                if (!e.data.noscroll)
                    $("html, body").animate({
                        scrollTop: (e.data.scrollPos || 0) + (e.data.withIFrameTop ? sf.offset().top : 0)
                    }, 400);


            }
            */
            else if (e.data.getScrollPos) {

                var framePos = cumulativeOffset($("#search-frame").get(0));

                e.source.postMessage({ scrollPos: { otop: document.scrollingElement.scrollTop, frametop: framePos.top, top: document.scrollingElement.scrollTop - $("#search-frame").position().top } }, '*');
            }
            else if (e.data.setScrollPos) {

                $("html, body").animate({
                    scrollTop: (e.data.setScrollPos || 0) + (e.data.withIFrameTop ? sf.offset().top : 0)
                }, 400);

            }
            else if (e.data.event == "roomTypeMouseEnter") {

                if (window.asisia_roomtype_mouseover)
                    asisia_roomtype_mouseover(e.data.data);
            }
            else if (e.data.event == "roomAddToBasket") {

                if (window.asisia_roomtype_addtobasket)
                    asisia_roomtype_addtobasket(e.data.data, e.data.item);
            }

            else if (e.data.url) {
                window.location.href = e.data.url;
            }
        }, false);
    });


 
// Measure a view of product details. This example assumes the detail view occurs on pageload,
// and also tracks a standard pageview of the details page.
function asisia_roomtype_mouseover(data) {
     
    dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.

    var products = [];

    data.LIST.forEach(room => {

        products.push({
            'name': data.ROOMTYPE + ' - ' + data.search.Adult + ' yet. ' + data.search.Child + ' cck.',
            'id': data.ROOMTYPEID,
            'price': room.FINALPRICE,
            'brand': room.HOTELID,
            'category': data.HOTELNAME,
            'variant': 'Room'
        });
    })
    

    dataLayer.push({
        'ecommerce': {
            'detail': {
                'actionField': { 'list': data.HOTELNAME }, // 'detail' actions have an optional list property.
                'products': products
            }
        }
    });
}

function asisia_roomtype_addtobasket(data, item) {

    // Measure adding a product to a shopping cart by using an 'add' actionFieldObject
    // and a list of productFieldObjects.

    var products = [];

    products.push({
        'name': data.ROOMTYPE + ' - ' + data.search.Adult + ' yet. ' + data.search.Child + ' cck.',
        'id': data.ROOMTYPEID,
        'price': item.FINALPRICE,
        'brand': item.HOTELID,
        'category': data.HOTELNAME,
        'variant': 'Room',
        'quantity': 1
    });

    dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
        dataLayer.push({
            'event': 'addToCart',
            'ecommerce': {
                'currencyCode': item.CURCODE.trimEnd(),
                'add': { // 'add' actionFieldObject measures.
                    'products': products
                }
            }
        });

}


function asisia_basketcompleted(data) {
    window.dataLayer = window.dataLayer || [];

    data.forEach(d => {
        window.dataLayer.push({
            'event': 'gaEvent',
            'category': 'Ecommerce',
            'action': 'Purchase',
            'label': 'Purchase',
            'ecommerce': {
                'currencyCode': d.currencyCode, // Seçilen Döviz Kuru (USD,TRY,EUR)
                'purchase': {
                    'actionField': {
                        'id': d.voucher,// Voucher Numarası
                        'affiliation': 'Gloria',
                        'revenue': d.price, // Ürünün Satış Fiyatı
                        'tax': d.price * (0.08 + 0.02),// Ürünün Vergisi
                        'shipping': '0'
                    },
                    'products': [{
                        'name': d.name, // Oda Tipi – Konaklayan sayısı ve gün sayısı
                        'price': d.price, // Ürün fiyatı
                        'brand': d.brand, // Otel İsmi
                        'category': d.category, // Ürün Kategorisi
                        'quantity': d.quantity // Satın Alınan ürün adedi
                    }]
                }
            }
        });
    });
}
