var HataDurum = false
var isStarted
var logs = ['Loglar']
var log = ''

var kontrol

var isRefreshed = false
var SekmeKapatildi = false
var PcName = ''

var AmazonUrl = ''
var AbeUrl = ''
var UrunID = ''
var MagazaAdi = ''
var kayitEdilsinDurumu = true // Varsayılan olarak aktif

chrome.runtime.onMessage.addListener(function (message, sender, sendResponse) {
    if (message.Link) {
        window.location.reload()
        setTimeout(function () {
            window.location.reload()
        }, 1000)
    }
    if (message.UygulamaBaslatildi) {
        SekmeBilgileriGonder()
    }
    if (message.PageReload) {
        window.location.reload()
        setTimeout(function () {
            window.location.reload()
        }, 1000)
    }
    if (message.SekmeBulunamadi) {
        var text = "Extension'un çalıştığı sekme açık sekmeler arasında bulunamadı!"
        HataKontrolYap(1, text)
        console.log('Hata var:' + text)
    }
    if (message.action === 'setKayitDurumu') {
        kayitEdilsinDurumu = message.kayitEdilsin
        console.log('Kayıt durumu güncellendi: ' + kayitEdilsinDurumu)
        sendResponse({status: "Kayıt durumu başarıyla güncellendi"})
    }
    return true
})

var linkKontrolCount = 0
var urunKontrolCount = 0

chrome.storage.onChanged.addListener(function (changes, namespace) {
    var storageChange

    for (key in changes) {
        if (key == 'KontrolUrl1' || key == 'KontrolUrl2') {
            storageChange = changes[key]
            if (storageChange.newValue.length > 0) {
                linkKontrolCount++
                //alert(linkKontrolCount);
                if (linkKontrolCount == 2) {
                    setTimeout(function () {
                        SiparisTamamla()
                    }, 2000)
                }
            }
        }
    }
})

$(document).ready(function () {
    var host = window.location.host
    var href = window.location.href
    chrome.storage.sync.get(
        [
            'isStarted',
            'UrunGetirildi',
            'Durum',
            'KontrolUrl1',
            'KontrolUrl1Hata',
            'KontrolUrl2Hata',
            'KontrolUrl2',
            'UrunFiyat',
            'AmzPageCount',
            'AbePageCount',
            'AmazonUrl',
            'AbeUrl',
            'UrunFiyat',
            'MagazaAdi',
            'RequestTime',
        ],
        function (item) {
            setTimeout(function () {
                if (item.isStarted == true) {
                    MagazaAdi = item.MagazaAdi
                    AmazonUrl = item.AmazonUrl
                    console.log(item.Durum)
                    AbeUrl = item.AbeUrl
                    var urll = window.location.href
                    if (urll == 'https://www.amazon.com/gp/errors/404.html') {
                        UrunZararYaz()
                    }
                    console.log(href)
                    if (href == 'https://www.amazon.com/?ref_=abn_logo') {
                        if (item.UrunGetirildi == false) {
                            //KartBilgisiGetir(item.MagazaAdi);
                            UrunGetir()
                            SekmeBilgileriGonder()
                        } else if (item.KontrolUrl1.length > 0 && item.KontrolUrl2.length > 0) {
                            //UrlKontrolYap();
                            console.log('Ürün bilgisi alınmış. Şuan yapılan işlem: ' + item.Durum)
                        } else if (item.Durum == 'FiyatKontrol') {
                            console.log('Şuan yapılan işlem: ' + item.Durum)
                        } else {
                            console.log('düşün')
                            //UrunGetir();
                        }
                    } else {
                        console.log('TypeKontrol')
                        //HataKontrolYap(250);
                        if (item.Durum == 'TypeKontrol') {
                            console.log('TypeKontrol')

                            var KontrolUrl2 = item.KontrolUrl2
                            var KontrolUrl1Hata = parseInt(item.KontrolUrl1Hata)

                            BirinciLinkKontrol(KontrolUrl2, KontrolUrl1Hata)
                        }
                    }
                }
            }, parseInt(item.RequestTime) * 1000)
        }
    )
})

// At the beginning of the file, after variable declarations
chrome.storage.sync.get(['kayitEdilsin'], function (result) {
    if (result.kayitEdilsin !== undefined) {
        kayitEdilsinDurumu = result.kayitEdilsin;
        console.log('Kayıt durumu yüklendi: ' + kayitEdilsinDurumu);
    }
});

function dialogModal(message, background = 'limegreen') {
    let loader = document.createElement('div')
    $(loader).addClass('extDialog')
    $(loader).css('position', 'fixed')
    $(loader).css('min-height', '200px')
    $(loader).css('height', 'auto')
    $(loader).css('width', '200px')
    $(loader).css('background', background)
    $(loader).css('color', '#fff')
    $(loader).css('overflow-wrap', 'anywhere')
    $(loader).css('border-radius', '50%')
    $(loader).css('font-weight', 'bold')
    $(loader).css('bottom', '10px')
    $(loader).css('right', '0')
    $(loader).css('z-index', '9999')
    $(loader).css('display', 'flex')
    $(loader).css('justify-content', 'center')
    $(loader).css('align-items', 'center')

    $(loader).html(message)
    document.body.append(loader)
    return loader
}

function SiparisTamamla(dataArray) {
    if (!kayitEdilsinDurumu) {
        console.log('Siparişler kaydedilmiyor - ayarlarda devre dışı bırakıldı')
        $('.extDialog').remove()
        dialogModal('Sipariş kaydedilmedi (Ayarlarda devre dışı). Yeni siparişe geçiliyor.')
        return // Fonksiyondan çık
    }

    chrome.storage.sync.get(['MagazaAdi', 'UrunID', 'tracking', 'kargoFirma', 'ApiUrl'], function (item) {
        //MTip: Mağaza Tip (Amazon (0), Abe (1))

        var datam = {
            magazaDeger: item.MagazaAdi,
            TrackingArray: dataArray,
            tip: 'newOrderTrackEndToplu',
        }
        console.log(datam)
        $.ajax({
            type: 'post',
            url: item.ApiUrl + 'ExtensionWebServis/ajaxCall',
            beforeSend: function (xhr) {
                xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest')
            },
            cache: false,
            dataType: 'json',
            data: datam,
            success: function (cevap) {
                console.log(cevap)
                if (cevap.hata == '0') {
                    console.log('Hata: Tracking Bilgileri Gönderilemedi!')

                    //Hata alındı bilgilendirilme yapılacak
                } else {
                    if (cevap.result) {
                        console.log(cevap.result)
                        console.log('Tracking bilgileri gönderildi')
                        setTimeout(function () {
                            SekmeKapat()
                            chrome.storage.local.set({ isStarted: false }, function () {
                                chrome.storage.sync.remove(['isStarted'], function () {})
                            })
                        }, 2000)
                    } else {
                        console.log('else girdi')
                        SekmeKapat()
                    }
                }
            },
            error: function (req, textStatus, errorThrown) {
                console.log('Ooops, something happened: ' + textStatus + ' ' + errorThrown)
                //SiparisTamamla()
            },
        })
    })
}

var RunCount = 0
function UrunGetir() {
    chrome.storage.sync.set({
        KontrolUrl1: '',
        KontrolUrl2: '',
        Titles: '',
        tracking: '',
        kargoFirma: '',
    })
    var host = window.location.host
    setTimeout(function () {
        chrome.storage.sync.get(['MagazaAdi', 'PcName', 'ApiUrl'], function (item) {
            clearTimeout(HataKontrol)
            //HataKontrolYap(75);
            console.log('Ürün Getirilecek!')
            localStorage.clear()
            localStorage.removeItem('LSAmazonUrunList')
            var datam = {
                magazaDeger: item.MagazaAdi,
                pcAd: item.PcName,
                tip: 'newOrderTrackStartToplu',
            }
            console.log(datam)
            console.log('Ürün getirilecek!')
            $.ajax({
                type: 'post',
                url: item.ApiUrl + 'ExtensionWebServis/ajaxCall',
                beforeSend: function (xhr) {
                    xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest')
                },
                cache: false,
                dataType: 'json',
                data: datam,
                timeout: 5000,
                success: function (cevap) {
                    console.log(cevap)
                    // if (cevap.hata == 0 || cevap.data==null) {
                    // chrome.storage.sync.set({
                    // "UrunGetirildi": false,
                    // "Durum": "AppStarted"
                    // }, function () {
                    // console.log("Hata: Ürün getirilemedi!");
                    // var d1 = new Date(),
                    // d2 = new Date(d1);
                    // d2.setMinutes(d1.getMinutes() + 30);
                    // var sure = d2.toLocaleString().substring(11, 19);
                    // var text = " Kontrol edilecek sipariş kalmadı! Uygulama 30 dk bekletiliyor." + sure + " itibariyle tekrar başlatılacak.";
                    // HataKontrolYap(1, text);

                    // chrome.runtime.sendMessage({
                    // YenidenBaslat: true,
                    // });
                    // if (host == "www.amazon.com" || host == "www.abebooks.com") {
                    // SekmeKapat(2);
                    // }
                    // });
                    // } else {
                    if (cevap) {
                        if (cevap.hata) {
                            chrome.storage.local.set({ isStarted: false }, function () {
                                chrome.storage.sync.remove(['isStarted'], function () {})
                            })
                        }
                        console.log(cevap.result)
                        //console.table(cevap.result);
                        var data = cevap.data
                        if (Array.isArray(cevap.result)) {
                            localStorage.setItem('DataArray', JSON.stringify(cevap.result))

                            chrome.storage.sync.set(
                                {
                                    UrunID: cevap.result.ID,
                                    UrunGetirildi: true,
                                    Durum: 'TypeKontrol',
                                    KontrolUrl1: '',
                                    KontrolUrl2: '',
                                },
                                function () {
                                    linkKontrolCount = 0
                                    urunKontrolCount = 0
                                    var link1 = cevap.result.Url
                                    SekmeAc('https://www.amazon.com/gp/your-account/order-history?ref_=ya_d_c_yo')
                                    // if(data.KontrolUrl1 == data.KontrolUrl2)
                                    // {
                                    // chrome.storage.sync.set({
                                    // "Durum": "FiyatKontrol"
                                    // },function () {
                                    // SiparisLinkleriGetir(data.ID, data.AmazonUrl, data.AbeUrl);
                                    // });

                                    // }else{

                                    //SekmeAc(link1);

                                    //AmazonUrl = link1;
                                    //AbeUrl = data.AbeUrl;
                                    console.log('Sekmeler Açılacak!')
                                    if (host == 'www.amazon.com' || host == 'www.abebooks.com') {
                                        SekmeKapat(2)
                                    }
                                    //}
                                }
                            )
                        } else {
                            chrome.storage.local.set({ isStarted: false }, function () {
                                chrome.storage.sync.remove(['isStarted'], function () {})
                            })
                            dialogModal('Tracking bulunamadı!', 'red')
                        }
                    }
                    //}
                },
                error: function (req, textStatus, errorThrown) {
                    console.log('Ooops, something happened: ' + textStatus + ' ' + errorThrown)
                    UrunGetir()
                },
            })
        })
    }, 2000)
}

var count = 0
function BirinciLinkKontrol(KontrolUrl2, Sorgu) {
    var host = window.location.host
    let istek = []
    let istek2 = []
    var dataArray = JSON.parse(localStorage.getItem('DataArray'))
    console.table(dataArray)
    let loader = dialogModal(`Loading...`)
    let counter = 1
    $(loader).html(`Lütfen bekleyin!`)
    dataArray.map((data, index) => {
        console.log('https://www.amazon.com/gp/your-account/order-details?ie=UTF8&orderID=' + data.OrderNumber)

        istek.push(
            new Promise((resolve, reject) => {
                axios
                    .get(
                        'https://www.amazon.com/gp/your-account/order-details?ie=UTF8&orderID=' + data.OrderNumber,
                        {},
                        {
                            headers: {
                                cookie: document.cookie,
                            },
                        }
                    )
                    .then((response) => {
                        const dataHtml = response.data
                        html = $.parseHTML(dataHtml)

                        trackingId = ''
                        let div = $('#orderDetails div.od-shipments', html)

                        if (div.length > 0) div = div.find('div.shipment')
                        if (div.length == 0) div = $('#orderDetails div.shipment .a-spacing-top-medium .a-fixed-left-grid', html)

                        if (div.length == 0)
                            div = $(div).find('.a-fixed-left-grid.a-spacing-none, .a-fixed-left-grid')

                        if (div.length == 0)
                            div = $('#orderDetails div[data-component="purchasedItems"] .a-fixed-left-grid', html)

                        console.log(div, div.length)
                        let products = []
                        div.each(function (index, item) {
                            let trackingLink = ''
                            let magazaAd = ''
                            let asin = ''
                            var $item = $(item)
                            var imgElements = $item.find('img:eq(0)')
                            //imgElements.each(function(index) {
                            // Img etiketinin src özelliğini alın
                            var src = imgElements.parent().attr('href')

                            if (src) asin = src.split('/')[3]
                            console.log(imgElements)

                            var closestAnchor = imgElements
                                .parent()
                                .parent()
                                .parent()
                                .parent()
                                .parent()
                                .parent()
                                .parent()
                                .parent()
                                .parent()
                                .prev()
                                .find('.track-package-button')
                                .find('a')

                            if (closestAnchor.length > 0) {
                                trackingLink = closestAnchor.attr('href')
                                console.log('En yakın takip bağlantısı: ' + trackingLink)
                            }

                            if (trackingLink == '') {
                                trackingLink = $('div[data-component="shipmentConnections"] a:nth-child(1)', html).attr(
                                    'href'
                                )
                            }

                            if ($item.find('div.yohtmlc-item.a-col-right > div:nth-child(3) > span > a')) {
                                magazaAd = $item
                                    .find('div.yohtmlc-item.a-col-right > div:nth-child(3) > span > a')
                                    .text()
                                    .trim()
                                    .split('\n')[0]
                            }

                            if (
                                magazaAd == '' &&
                                $item.find('div.yohtmlc-item.a-col-right > div:nth-child(2) > span > a')
                            ) {
                                magazaAd = $item
                                    .find('div.yohtmlc-item.a-col-right > div:nth-child(2) > span > a')
                                    .text()
                                    .trim()
                                    .split('\n')[0]
                            }

                            if (magazaAd == '') {
                                magazaAd = $item
                                    .find(
                                        'div[data-component="purchasedItemsRightGrid"] div[data-component="orderedMerchant"] a'
                                    )
                                    .text()
                                    .trim()
                            }

                            if (
                                magazaAd == '' &&
                                $item.find(
                                    'div.a-fixed-left-grid-col.yohtmlc-item.a-col-right > div:nth-child(2) > span'
                                )
                            ) {
                                magazaAd = $item
                                    .find(
                                        'div.a-fixed-left-grid-col.yohtmlc-item.a-col-right > div:nth-child(2) > span'
                                    )
                                    .text()
                                    .trim()
                                    .split('Sold by: ')[1]
                                    .trim()
                            }

                            if (asin == undefined) {
                                asin = $item.find("div[data-component='itemImage'] a").attr('href').split('/')
                                if (asin.length > 2) {
                                    asin = asin[2].split('?')[0]
                                } else if (asin.length > 3) {
                                    asin = asin[3].trim()
                                }
                            }

                            // Her bir img'in src'sini konsola yazdırın
                            console.log(
                                'OrderNumber:' +
                                    data.OrderNumber +
                                    ' için trackin url: ' +
                                    trackingLink +
                                    'magaza: ' +
                                    magazaAd
                            )
                            products.push({ url: trackingLink, asin: asin, magazaAd: magazaAd })
                        })
                        resolve({
                            products: products,
                            orderNumber: data.OrderNumber,
                        })
                        //});

                        // console.log('tracking:' + tracks[1] + ' kargoFirma:' + firm[1])
                    })
                    .catch((e) => {
                        reject(e)
                    })
            })
        )
    })
    Promise.all(istek)
        .then((values) => {
            console.log(values)
            $(loader).html('Kayıt ediliyor!')
            dataArray = values
            console.log(dataArray);
        
            dataArray.map((data, index) => {
                data['products'].map((data2, index) => {
                    if (data2.url !== undefined) {
                        istek2.push(
                            new Promise((resolve, reject) => {
                                axios
                                    .get(
                                        'https://www.amazon.com' + data2.url,
                                        {},
                                        {
                                            headers: {
                                                cookie: document.cookie,
                                            },
                                        }
                                    )
                                    .then((response) => {
                                        const dataHtml = response.data
                                        html = $.parseHTML(dataHtml)
                                        trackingId = ''
                                        tracks = []
                                        if ($('.pt-delivery-card-trackingId', html)) {
                                            trackingId = $('.pt-delivery-card-trackingId', html).text()
                                        }
                                        if (trackingId == '') {
                                            trackingId = $('.carrierRelatedInfo-trackingId-text', html).text()
                                        }

                                        tracks = trackingId.split('Tracking ID:')
                                        if (!tracks) {
                                            tracks = trackingId.split('Tracking ID')
                                        }
                                        var firm = ''
                                        if ($(' div.pt-delivery-card-wrapper div:nth-child(1) h3', html)) {
                                            var shipfirm = $(
                                                'div.pt-delivery-card-wrapper  div:nth-child(1)  h3',
                                                html
                                            ).text()
                                            firm = shipfirm.split('Shipped with')
                                        }
                                        if ($('.carrierRelatedInfo-mfn-carrierNameTitle', html) && firm == '') {
                                            var shipfirm = $('.carrierRelatedInfo-mfn-carrierNameTitle', html).text()
                                            firm = shipfirm.split('Shipped with')
                                        }
                                        if ($('#carrierRelatedInfo-container', html).find('.widgetHeader').length > 0) {
                                            var shipfirm = $('#carrierRelatedInfo-container .widgetHeader', html).text()
                                            firm = shipfirm.split('Shipped with')
                                        }

                                        var h3 = $('h3').text()
                                        if (tracks[1] == null) {
                                            tracks[1] = '-1'
                                            firm[1] = ''
                                        }

                                        if (firm[1] == null) {
                                            console.log('kargo boş')
                                            var sonuc = tracks[1].indexOf('TBA')
                                            if (sonuc > -1) {
                                                firm[1] = 'Amazon'
                                            }
                                        }
                                        if (tracks[1] === undefined || tracks[1] === '') {
                                            tracks[1] = '-1'
                                        }
                                        $(loader).html(`İşleniyor : ${counter + '/' + dataArray.length}`)
                                        counter++
                                        console.log('kargoFirm:' + firm[1].trim(), 'trackingNumber:' + tracks[1].trim())
                                        resolve({
                                            kargoFirm: firm[1].trim(),
                                            trackingNumber: tracks[1].trim(),
                                            asin: data2.asin,
                                            magazaAd: data2.magazaAd,
                                            orderNumber: data.orderNumber,
                                        })
                                        // console.log('tracking:' + tracks[1] + ' kargoFirma:' + firm[1])
                                    })
                                    .catch((e) => {
                                        reject(e)
                                    })
                            })
                        )
                    }
                })
            })

            Promise.all(istek2)
                .then((values) => {
                    console.log(values)
                    $(loader).html('Kayıt ediliyor!')
                    SiparisTamamla(values)
                })
                .catch((e) => {
                    console.log(e, 'Hata!')
                    $(loader).remove()
                })
        })
        .catch((e) => {
            console.log(e, 'Hata!')
            $(loader).remove()
        })

    // if (host == 'www.amazon.com') {
    //     var rank = ''
    //     var aramaTextBox = $('#twotabsearchtextbox')
    //     var myElem = document.querySelector('head > title')
    //     if (myElem != null) {
    //         if (myElem.textContent.trim() == 'Page Not Found') {
    //             // chrome.storage.sync.set({
    //             // 'KontrolUrl1': 'Hardcover',
    //             // 'KontrolUrl2': 'Hardcover',
    //             // 'Titles' : 'deneme' ,
    //             // 'Price' : "",
    //             // 'Review' : "",
    //             // 'Rating' : "",
    //             // 'brokenlink':"1"
    //             // }, function () {
    //             // //console.log("Birinci url kontrol edildi: " + deger);
    //             // console.log("Fiyat:"+fiyat+" Review:"+review+" Rating:"+rating);
    //             // SekmeKapat(1);
    //             // });
    //         } else if (aramaTextBox.length) {
    //             trackingId = ''
    //             if ($('#carrierRelatedInfo-container .pt-delivery-card-trackingId')) {
    //                 var trackingId = $('#carrierRelatedInfo-container .pt-delivery-card-trackingId').text()
    //             }
    //             if (trackingId == '') {
    //                 var trackingId = $('#carrierRelatedInfo-container .carrierRelatedInfo-trackingId-text').text()
    //             }

    //             var tracks = trackingId.split('Tracking ID:')
    //             if (!tracks) {
    //                 var tracks = trackingId.split('Tracking ID')
    //             } else {
    //                 ;('#carrierRelatedInfo-container .carrierRelatedInfo-trackingId-text')
    //             }
    //             var firm = ''
    //             if (
    //                 $(
    //                     '#carrierRelatedInfo-container > div > section > div.pt-delivery-card-wrapper > div:nth-child(1) > h3',
    //                 )
    //             ) {
    //                 var shipfirm = $(
    //                     '#carrierRelatedInfo-container > div > section > div.pt-delivery-card-wrapper > div:nth-child(1) > h3',
    //                 ).text()
    //                 firm = shipfirm.split('Shipped with')
    //             }
    //             if ($('#carrierRelatedInfo-container .carrierRelatedInfo-mfn-carrierNameTitle') && firm == '') {
    //                 var shipfirm = $('#carrierRelatedInfo-container .carrierRelatedInfo-mfn-carrierNameTitle').text()
    //                 firm = shipfirm.split('Shipped with')
    //             }
    //             if ($('#carrierRelatedInfo-container').find('.widgetHeader').length > 0) {
    //                 var shipfirm = $('#carrierRelatedInfo-container .widgetHeader').text()
    //                 firm = shipfirm.split('Shipped with')
    //             }
    //             // if(tracks[1]==null && firm[1]==null)
    //             // {
    //             // tracks[1]="Bulunamadı";
    //             // }
    //             var h3 = $('h3').text()
    //             if (tracks[1] == null) {
    //                 tracks[1] = '-1'
    //                 firm[1] = ''
    //             }

    //             if (firm[1] == null) {
    //                 console.log('kargo boş')
    //                 var sonuc = tracks[1].indexOf('TBA')
    //                 if (sonuc > -1) {
    //                     firm[1] = 'Amazon'
    //                 }
    //             }
    //             if (tracks[1] === undefined || tracks[1] === '') {
    //                 tracks[1] = '-1'
    //             }

    //             // var shipfirm=$(".carrierRelatedInfo-mfn-carrierNameTitle").text();
    //             // firm=shipfirm.split("Shipped with");

    //             chrome.storage.sync.set(
    //                 {
    //                     KontrolUrl1: 'Hardcover',
    //                     KontrolUrl2: 'Hardcover',
    //                     Titles: 'deneme',
    //                     tracking: tracks[1],
    //                     kargoFirma: firm[1],
    //                 },
    //                 function () {
    //                     console.log('tracking:' + tracks[1] + ' kargoFirma:' + firm[1])
    //                     SekmeKapat(1)
    //                 },
    //             )
    //         } else {
    //             console.log('Yenile')
    //             //window.location.reload();
    //         }
    //     } else {
    //         console.log('Yenile')
    //         //window.location.reload();
    //     }
    // } else {
    //     if (document.querySelector('.additionalShippingInfoBtn'))
    //         document.querySelector('.additionalShippingInfoBtn').click()

    //     setTimeout(function () {
    //         if (document.querySelector('#tracking-details > div > div.tracking-controls.system-font > button'))
    //             document.querySelector('#tracking-details > div > div.tracking-controls.system-font > button').click()
    //         console.log('1')

    //         $('.iframeTrackingPlaceholder iframe').attr('id', 'myiframe')
    //         //find iframe
    //         let iframe = $('#myiframe')

    //         //find button inside iframe
    //         let button = iframe.contents().find('button')
    //         console.log(button)
    //         //trigger button click
    //         button.trigger('click')

    //         setTimeout(function () {
    //             //document.querySelector("#tracking-details > div > div.tracking-controls.system-font > button").click();
    //             var tracking = iframe.contents().find('div.tracking-details--carrier').text().split('tracking #')[1]
    //             var shippingCarrier = iframe
    //                 .contents()
    //                 .find('div.tracking-details--carrier')
    //                 .text()
    //                 .split('tracking #')[0]
    //                 .trim()
    //             chrome.storage.sync.set(
    //                 {
    //                     KontrolUrl1: 'Hardcover',
    //                     KontrolUrl2: 'Hardcover',
    //                     Titles: 'deneme',
    //                     tracking: tracking,
    //                     kargoFirma: shippingCarrier,
    //                 },
    //                 function () {
    //                     console.log('tracking:' + tracking + ' kargoFirma:' + shippingCarrier)
    //                     SekmeKapat(1)
    //                 },
    //             )
    //         }, 2000)
    //     }, 5000)
    // }

    // HataKontrolYap(75);
    // chrome.storage.local.get(["SekmeCount"], function (item) {

    // count = item.SekmeCount + 1;
    // chrome.storage.local.set({
    // 'SekmeCount': count
    // }, function () {
    // });

    // if(count == 7){
    // chrome.storage.sync.set({
    // 'KontrolUrl1': 'Hardcover',
    // 'KontrolUrl2': 'Hardcover',
    // 'Titles' : 'deneme'
    // }, function () {
    // //console.log("Birinci url kontrol edildi: " + deger);
    // SekmeKapat(1);
    // });
    // }else{
    // SekmeKapat(1);
    // }
    // });
}

function getSayfa(adres) {
    var strText = null
    $.ajax({
        url: adres,
        async: false,
        dataType: 'text',
        success: function (text) {
            strText = text
        },
        error: function (http, message, exc) {
            strText = null
        },
    })

    return strText
}

function QueryStringOku(name, url) {
    if (!url) url = window.location.href
    name = name.replace(/[\[\]]/g, '\\$&')
    var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
        results = regex.exec(url)
    if (!results) return null
    if (!results[2]) return ''
    return decodeURIComponent(results[2].replace(/\+/g, ' '))
}

function SekmeKapat(sure) {
    setTimeout(function () {
        chrome.runtime.sendMessage({
            SekmeKapat: true,
        })
    }, sure * 1000)
}

function SekmeBilgileriGonder() {
    chrome.runtime.sendMessage({
        AktifSekmeBilgileri: true,
    })
}

function waitForElement(elementPath, callBack) {
    window.setTimeout(function () {
        if ($(elementPath).text().length > 0) {
            callBack(elementPath, $(elementPath))
        } else {
            waitForElement(elementPath, callBack)
        }
    }, 100)
}

function ClearData() {
    AppLog(log)
    AppLogGonder()
    sessionStorage.clear()
    chrome.runtime.sendMessage({
        LinkHata: 'LinkteError',
        YeniSekme: true,
    })
    clearTimeout(HataKontrol)
}

function AppLogGonder() {
    chrome.runtime.sendMessage({
        HataDurum: HataDurum,
        isStarted: isStarted,
        AppLog: logs,
    })
}

function AppLog(log) {
    var time = new Date().toLocaleString()
    var test = log + ' - ' + time
    var loglar = logs
    if (loglar.length < 6) {
        loglar.push(test)
    } else {
        loglar.splice(0, 1)
        loglar.push(test)
    }
    logs = loglar
    localStorage.setItem('LocalStorageAppLog', JSON.stringify(logs))
    chrome.storage.sync.set(
        {
            AppLog: test,
        },
        function () {}
    )
}

function SayfaGit(adres, time) {
    setTimeout(function () {
        window.location.href = adres
    }, parseInt(time) * 1000)
}

function BellekSil() {
    chrome.storage.sync.remove(['isStarted', 'Durum'], function () {})
}

var HataKontrol

function HataKontrolYap(time, msj2) {
    HataKontrol = setTimeout(function () {
        //location.reload();
        chrome.storage.sync.get(
            ['isStarted', 'PcName', 'UygulamaAdi', 'Durum', 'UrunID', 'MagazaAdi'],
            function (item) {
                var aciklama = ''
                if (msj2 == undefined) {
                    aciklama = ''
                } else {
                    aciklama = msj2
                }
                var msj = `Bilgisayar: ${item.PcName} Mağaza Adı: ${item.MagazaAdi}  Durum: ${item.Durum} iken extension çalışmayı durdurdu! ${aciklama}`
                var datam = {
                    ID: item.UrunID,
                    tip: 'newOrderBreak',
                    mesaj: msj,
                }
                console.log(msj)

                $.ajax({
                    type: 'post',
                    url: 'https://www.andromedaworkspace.com/Extension/ajaxCall',
                    beforeSend: function (xhr) {
                        xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest')
                    },
                    cache: false,
                    dataType: 'json',
                    data: datam,
                    success: function (cevap) {
                        if (cevap.hata == 0) {
                            console.log('Hata: Hata Bilgisi Gönderilemedi!')
                        } else {
                            if (cevap.result) {
                                console.log(cevap.result)
                                setTimeout(function () {}, 3000)
                            }
                        }
                        console.log('Hata Bilgisi  Gönder Response!')
                    },
                    error: function (req, textStatus, errorThrown) {
                        console.log('Ooops, something happened: ' + textStatus + ' ' + errorThrown)
                    },
                })
            }
        )
    }, parseInt(time) * 1000)
}

function getRandomInt(max) {
    return Math.floor(Math.random() * (max - 0 + 1)) + 0
}

function SekmeAc(link) {
    setTimeout(function () {
        console.log('Sekme Açılıyor: ' + link)
        chrome.runtime.sendMessage({
            YeniSekme: true,
            Url: link,
        })
    }, 1000)
}
