var HataDurum = false
var isStarted
var logs = ['Loglar']
var log = ''
var isRefreshed = false
var SekmeKapatildi = false
var PcName = ''
var AmazonUrl = ''
var AbeUrl = ''
var UrunID = ''
var MagazaAdi = ''

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)
    }
})

$(document).ready(function () {
    chrome.storage.sync.get(
            ['isStarted', 'UrunGetirildi', 'Durum', 'KontrolUrl1', 'KontrolUrl1Hata',
                'KontrolUrl2Hata', 'KontrolUrl2', 'UrunFiyat', 'AmzPageCount', 'AbePageCount',
                'AmazonUrl', 'AbeUrl', 'MagazaAdi', 'RequestTime'],
            function (item) {
                setTimeout(async function () {
                    if (item.isStarted == true) {
                        MagazaAdi = item.MagazaAdi
                        AmazonUrl = item.AmazonUrl
                        AbeUrl = item.AbeUrl
                        if (item.UrunGetirildi == false) {
                            chrome.storage.sync.set(
                                    {UrunGetirildi: true, Durum: 'TypeKontrol', KontrolUrl1: '', KontrolUrl2: ''},
                                    function () {
                                        BirinciLinkKontrol()
                                    }
                            )
                            SekmeBilgileriGonder()
                        } else {
                            if (item.Durum == 'TypeKontrol') {
                                BirinciLinkKontrol()
                            }
                        }
                    }
                }, parseInt(item.RequestTime) * 1000)
            }
    )
})

// ─── Fiyat Aralıkları ─────────────────────────────────────────────────────────
// $1-$2, $2-$3, ..., $29-$30 (cent cinsinden)
var PRICE_RANGES = []
for (var p = 1; p < 30; p++) {
    PRICE_RANGES.push({min: p * 100, max: (p + 1) * 100, label: '$' + p + '-$' + (p + 1)})
}
// PRICE_RANGES[0] = {min:100, max:200, label:'$1-$2'}
// PRICE_RANGES[28] = {min:2900, max:3000, label:'$29-$30'}

// ─── Format Listesi ───────────────────────────────────────────────────────────
var FORMAT_LIST = ['Paperback', 'Hardcover']

// ─── UI ──────────────────────────────────────────────────────────────────────

function dialogModal(message, background) {
    background = background || 'limegreen'
    $('.extDialog').remove()
    var loader = document.createElement('div')
    $(loader).addClass('extDialog')
    $(loader).css({
        position: 'fixed', width: '220px', height: 'auto', minHeight: '120px',
        background: background, color: '#fff', overflowWrap: 'anywhere',
        fontWeight: 'bold', bottom: '10px', right: '10px', zIndex: '9999',
        display: 'flex', justifyContent: 'center', alignItems: 'center',
        textAlign: 'center', borderRadius: '12px', padding: '10px',
        fontSize: '13px', lineHeight: '1.5', boxShadow: '0 4px 12px rgba(0,0,0,0.3)'
    })
    $(loader).html(message)
    document.body.append(loader)
    return loader
}

var loader2 = ''

// ─── Scroll ───────────────────────────────────────────────────────────────────

async function scrollSayfayiYukle() {
    return new Promise(function (resolve) {
        var distance = 400
        var scrolled = 0
        var maxScroll = Math.max(document.body.scrollHeight, 3000)
        var done = false

        function finish() {
            if (done)
                return
            done = true
            clearInterval(timer)
            clearTimeout(safety)
            window.scrollTo(0, 0)
            setTimeout(function () {
                resolve()
            }, 6000)
        }

        var timer = setInterval(function () {
            window.scrollBy(0, distance)
            scrolled += distance
            if (scrolled >= maxScroll) {
                finish()
            }
        }, 200)

        var safety = setTimeout(function () {
            finish()
        }, 15000)
    })
}

// ─── Kategori Listesi ─────────────────────────────────────────────────────────

async function kategoriListesiniCek() {
    var categoriesContainer = null
    document.querySelectorAll('p').forEach(function (p) {
        if (p.textContent.trim() === 'Categories') {
            categoriesContainer = p.nextElementSibling
        }
    })

    if (!categoriesContainer) {
        console.log('[PangoBooks] Categories bölümü bulunamadı!')
        return []
    }

    var kategoriler = []
    categoriesContainer.querySelectorAll('label').forEach(function (label) {
        // FIX: 'div p' yerine daha geniş fallback zinciri
        var nameEl = label.querySelector('div p') ||
                     label.querySelector('p') ||
                     label
        if (nameEl) {
            var name = nameEl.textContent.trim()
            // Sayı parantezini temizle: "Romance (88796)" → "Romance"
            name = name.replace(/\s*\(\d[\d,]*\)\s*$/, '').trim()
            if (name)
                kategoriler.push(name)
        }
    })

    console.log('[PangoBooks] ' + kategoriler.length + ' kategori bulundu')
    return kategoriler
}

// ─── URL Yardımcıları ─────────────────────────────────────────────────────────

function buildUrl(baseUrl, priceMin, priceMax, categoryName, pageNum, formatName) {
    var url = baseUrl

    // page temizle
    url = url.replace(/[?&]page=\d+/g, '')

    // Mevcut amount, genre ve format parametrelerini temizle (filter_by içinden)
    url = url.replace(/\+%26%26\+amount%3A%5B[^\]]*%5D/gi, '')
    url = url.replace(/\+%26%26\+genre\.display[^&]*/gi, '')
    url = url.replace(/\+%26%26\+format\.display[^&]*/gi, '')
    url = url.replace(/%26%26\+amount%3A%5B[^\]]*%5D/gi, '')
    url = url.replace(/%26%26\+genre\.display[^&]*/gi, '')
    url = url.replace(/%26%26\+format\.display[^&]*/gi, '')

    // Sondaki & veya + temizle
    url = url.replace(/[+&]+$/, '')

    // Fiyat, kategori ve format parametreleri
    var amountParam = '+%26%26+amount%3A%5B' + priceMin + '..' + priceMax + '%5D'
    // Title Case: "historical fiction" → "Historical Fiction"
    var titleCased = categoryName.replace(/\b\w/g, function (c) {
        return c.toUpperCase()
    })
    var encodedCat = encodeURIComponent(titleCased).replace(/%20/g, '+')
    var genreParam = '+%26%26+genre.display%3A%5B%22' + encodedCat + '%22%5D'
    var encodedFormat = encodeURIComponent(formatName).replace(/%20/g, '+')
    var formatParam = '+%26%26+format.display%3A%5B%22' + encodedFormat + '%22%5D'
    var extraParams = amountParam + genreParam + formatParam

    // filter_by değerinin sonuna, &sort_by'dan önce ekle
    var qIdx = url.indexOf('?')
    if (qIdx === -1) {
        return url + '?filter_by=' + extraParams.substring(1) + '&page=' + pageNum
    }

    var base = url.substring(0, qIdx)
    var query = url.substring(qIdx + 1)

    // query parametrelerini böl, filter_by'ın sonuna ekle
    var parts = query.split('&')
    var newParts = []
    parts.forEach(function (part) {
        if (part.startsWith('filter_by=')) {
            newParts.push(part + extraParams)
        } else {
            newParts.push(part)
        }
    })

    return base + '?' + newParts.join('&') + '&page=' + pageNum
}

function getCurrentPageFromUrl(url) {
    var m = url.match(/[?&]page=(\d+)/)
    return m ? parseInt(m[1]) : 1
}

function hasNextPage() {
    // rel="next" linki — en güvenilir yöntem
    if (document.querySelector('a[rel="next"]')) return true

    // Tüm a ve button elementlerini tara
    var allEls = document.querySelectorAll('a, button')
    for (var i = 0; i < allEls.length; i++) {
        var el = allEls[i]
        // Disabled kontrolü
        if (el.disabled || el.classList.contains('disabled') ||
            el.getAttribute('aria-disabled') === 'true') continue

        var txt = el.textContent.trim().toLowerCase()
        var aria = (el.getAttribute('aria-label') || '').toLowerCase()

        if (txt === 'next' || txt === 'next page' ||
            txt === '›' || txt === '»' || txt === '>' ||
            aria.includes('next page') || aria === 'next') {
            return true
        }
    }
    return false
}

function noBooksFound() {
    var found = false
    document.querySelectorAll('p').forEach(function (p) {
        if (p.textContent.includes('No books found'))
            found = true
    })
    return found
}

// ─── ISBN Parse ───────────────────────────────────────────────────────────────

function extractIsbnsFromDOM() {
    var results = []
    var seen = {}

    document.querySelectorAll('script').forEach(function (script) {
        var text = script.textContent || ''
        if (text.indexOf('isbn') === -1)
            return

        var docRegex = /\\"document\\":\s*\{/g
        var m
        while ((m = docRegex.exec(text)) !== null) {
            var start = m.index + m[0].length - 1
            var depth = 0
            var end = start
            for (var i = start; i < text.length; i++) {
                if (text[i] === '{')
                    depth++
                else if (text[i] === '}') {
                    depth--
                    if (depth === 0) {
                        end = i + 1;
                        break
                    }
                }
            }
            var block = text.substring(start, end)

            var isbnM = block.match(/\\"isbn\\":\\"([0-9X]{10,13})\\"/) ||
                    block.match(/"isbn"\s*:\s*"([0-9X]{10,13})"/)
            if (!isbnM)
                continue

            var isbn = isbnM[1]
            if (seen[isbn])
                continue
            seen[isbn] = true

            var amM = block.match(/\\"amount\\":\s*([0-9]+)/) || block.match(/"amount"\s*:\s*([0-9]+)/)
            var price = amM ? parseFloat((parseInt(amM[1]) / 100).toFixed(2)) : null
            var coM = block.match(/\\"condition\\":\\"([^"\\]+)\\"/) || block.match(/"condition"\s*:\s*"([^"]+)"/)
            var cond = coM ? coM[1] : ''

            results.push({asin: isbn, price: price, condition: cond})
        }
    })

    console.log('[PangoBooks] ' + results.length + ' ISBN bulundu')
    return results
}

// ─── Servise Gönder ───────────────────────────────────────────────────────────

async function SiparisTamamla(dataArray) {
    if (dataArray.length === 0) {
        console.log('[PangoBooks] Bu sayfada ISBN yok, devam...')
        return
    }
    // FIX: Promise wrap — await gerçekten beklesin, AJAX bitmeden sonraki sayfaya gitmesin
    return new Promise(function (resolve) {
        chrome.storage.sync.get(["MagazaAdi", "UrunID", "ApiUrl"], function (item) {
            var datam = {
                AsinArray: dataArray.map(function (x) {
                    return x.asin
                }),
                FiyatArray: dataArray.map(function (x) {
                    return x.price
                }),
                ConditionArray: dataArray.map(function (x) {
                    return x.condition
                }),
                magazaDeger: item.MagazaAdi,
                tip: "newAsinEnd"
            }
            $.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) {
                    if (cevap.hata == 0 || cevap.hata === "0") {
                        console.log(cevap.hatatext)
                    } else {
                        if (cevap.result) {
                            console.log('[PangoBooks] Servis: ' + cevap.result.length + ' kayıt')
                        } else {
                            console.log("else girdi")
                        }
                    }
                    resolve()
                },
                error: function (req, textStatus, errorThrown) {
                    console.log("textStatus:", textStatus, "errorThrown:", errorThrown)
                    resolve() // Hata olsa da takılıp kalmasın
                },
            })
        })
    })
}

// ─── Ana Döngü ────────────────────────────────────────────────────────────────

async function BirinciLinkKontrol() {
    chrome.storage.sync.get(
            ['LastIndex', 'SearchUrl', 'CategoryList', 'CurrentCategoryIndex', 'CurrentPriceIndex', 'CurrentFormatIndex'],
            async function (item) {

                // FIX: SearchUrl yoksa mevcut URL'yi temizleyerek base olarak kaydet
                var baseUrl = item.SearchUrl
                if (!baseUrl) {
                    var cleanUrl = window.location.href
                        .replace(/[?&]page=\d+/g, '')
                        .replace(/\+%26%26\+amount%3A%5B[^\]]*%5D/gi, '')
                        .replace(/\+%26%26\+genre\.display[^&]*/gi, '')
                        .replace(/%26%26\+amount%3A%5B[^\]]*%5D/gi, '')
                        .replace(/%26%26\+genre\.display[^&]*/gi, '')
                        .replace(/[+&]+$/, '')
                    baseUrl = cleanUrl
                    chrome.storage.sync.set({SearchUrl: cleanUrl})
                    console.log('[PangoBooks] SearchUrl kaydedildi:', cleanUrl)
                }
                var categoryList = item.CategoryList || []
                var categoryIndex = parseInt(item.CurrentCategoryIndex) || 0
                var priceIndex = parseInt(item.CurrentPriceIndex) || 0
                var formatIndex = parseInt(item.CurrentFormatIndex) || 0

                var loader = dialogModal('Başlatılıyor...')

                // ── 1. Kategori listesini ilk çalıştırmada yükle ─────────────────────
                // FIX: 50den az kategori varsa eskidir, yeniden cek
                if (categoryList.length < 50) {
                    $(loader).html('Kategori listesi<br>yükleniyor...')

                    await scrollSayfayiYukle()

                    // Categories Show more butonunu bul ve tıkla
                    var showMoreBtn = null
                    document.querySelectorAll('p').forEach(function (p) {
                        if (p.textContent.trim() === 'Categories') {
                            var parentDiv = p.parentElement
                            if (parentDiv) {
                                parentDiv.querySelectorAll('button').forEach(function (btn) {
                                    if (btn.textContent.includes('Show') && btn.textContent.includes('more')) {
                                        showMoreBtn = btn
                                    }
                                })
                            }
                        }
                    })

                    if (showMoreBtn) {
                        console.log('[PangoBooks] Show more tıklanıyor...')
                        var beforeCount = 0
                        document.querySelectorAll('p').forEach(function (p) {
                            if (p.textContent.trim() === 'Categories') {
                                beforeCount = p.nextElementSibling
                                    ? p.nextElementSibling.querySelectorAll('label').length
                                    : 0
                            }
                        })
                        showMoreBtn.click()
                        // DOM guncellenene kadar bekle (max 6 saniye)
                        await new Promise(function (r) {
                            var waited = 0
                            var check = setInterval(function () {
                                waited += 300
                                var afterCount = 0
                                document.querySelectorAll('p').forEach(function (p) {
                                    if (p.textContent.trim() === 'Categories') {
                                        afterCount = p.nextElementSibling
                                            ? p.nextElementSibling.querySelectorAll('label').length
                                            : 0
                                    }
                                })
                                if (afterCount > beforeCount || waited >= 6000) {
                                    clearInterval(check)
                                    setTimeout(r, 500)
                                }
                            }, 300)
                        })
                    }

                    categoryList = await kategoriListesiniCek()

                    if (categoryList.length === 0) {
                        $(loader).html('Kategori bulunamadı!')
                        return
                    }

                    console.log('[PangoBooks] ' + categoryList.length + ' kategori kaydedildi')
                    await new Promise(function (r) {
                        chrome.storage.sync.set({
                            CategoryList: categoryList,
                            CurrentCategoryIndex: 0,
                            CurrentPriceIndex: 0,
                            CurrentFormatIndex: 0
                        }, r)
                    })
                    categoryIndex = 0
                    priceIndex = 0
                    formatIndex = 0
                }

                var currentCategory = categoryList[categoryIndex]
                var currentPrice = PRICE_RANGES[priceIndex]
                var currentFormat = FORMAT_LIST[formatIndex]
                var currentPage = parseInt(item.LastIndex) || 1
                var urlPage = getCurrentPageFromUrl(window.location.href)
                if (urlPage > 1)
                    currentPage = urlPage

                console.log('[PangoBooks] Format: ' + currentFormat + ' | Fiyat: ' + currentPrice.label + ' | Kategori: ' + currentCategory + ' (' + (categoryIndex + 1) + '/' + categoryList.length + ') | Sayfa: ' + currentPage)

                $(loader).html(
                        '💰 ' + currentPrice.label + '<br>' +
                        '📂 ' + currentCategory + '<br>' +
                        '📋 ' + currentFormat + '<br>' +
                        'Kat: ' + (categoryIndex + 1) + '/' + categoryList.length + '<br>' +
                        'Sayfa: ' + currentPage + '<br>' +
                        'Scroll yapılıyor...'
                        )

                // ── 2. No books found kontrolü ────────────────────────────────────────
                if (noBooksFound()) {
                    console.log('[PangoBooks] Kitap yok, sonraki kategoriye geçiliyor...')
                    var reqTime = Math.floor(Math.random() * 9) + 6
                    var next = hesaplaGecis(categoryIndex, priceIndex, formatIndex, categoryList.length)

                    $(loader).html(
                            '⚠️ Kitap yok!<br>' +
                            currentCategory + '<br>' +
                            'Sonraki: ' + categoryList[next.catIdx] + '<br>' +
                            reqTime + 's beklenıyor...'
                            )

                    chrome.storage.sync.set({
                        LastIndex: 1,
                        CurrentCategoryIndex: next.catIdx,
                        CurrentPriceIndex: next.priceIdx,
                        CurrentFormatIndex: next.formatIdx
                    })
                    await new Promise(function (r) {
                        setTimeout(r, reqTime * 1000)
                    })
                    window.location.href = buildUrl(baseUrl, PRICE_RANGES[next.priceIdx].min, PRICE_RANGES[next.priceIdx].max, categoryList[next.catIdx], 1, FORMAT_LIST[next.formatIdx])
                    return
                }

                // ── 3. Scroll et ──────────────────────────────────────────────────────
                await scrollSayfayiYukle()

                $(loader).html(
                        '💰 ' + currentPrice.label + '<br>' +
                        '📂 ' + currentCategory + '<br>' +
                        '📋 ' + currentFormat + '<br>' +
                        'Kat: ' + (categoryIndex + 1) + '/' + categoryList.length + '<br>' +
                        'Sayfa: ' + currentPage + '<br>' +
                        'ISBN çekiliyor...'
                        )

                // ── 4. ISBN çek ───────────────────────────────────────────────────────
                var results = extractIsbnsFromDOM()

                $(loader).html(
                        '💰 ' + currentPrice.label + '<br>' +
                        '📂 ' + currentCategory + '<br>' +
                        '📋 ' + currentFormat + '<br>' +
                        'Kat: ' + (categoryIndex + 1) + '/' + categoryList.length + '<br>' +
                        'Sayfa: ' + currentPage + ' | ' + results.length + ' ISBN'
                        )

                // ── 5. Servise gönder ─────────────────────────────────────────────────
                await SiparisTamamla(results)

                // ── 6. Sonraki adımı hesapla ──────────────────────────────────────────
                var reqTime = Math.floor(Math.random() * 9) + 6
                var nextUrl = ''
                var nextPage = currentPage
                var nextCatIdx = categoryIndex
                var nextPriceIdx = priceIndex
                var nextFormatIdx = formatIndex

                if (hasNextPage()) {
                    // Aynı kategori/fiyat/formatta sonraki sayfa
                    nextPage = currentPage + 1
                    nextUrl = buildUrl(baseUrl, currentPrice.min, currentPrice.max, currentCategory, nextPage, currentFormat)
                    $(loader).html(
                            '💰 ' + currentPrice.label + '<br>' +
                            '📂 ' + currentCategory + '<br>' +
                            '📋 ' + currentFormat + '<br>' +
                            'Kat: ' + (categoryIndex + 1) + '/' + categoryList.length + '<br>' +
                            'Sayfa ' + currentPage + ' bitti | ' + reqTime + 's → Sayfa ' + nextPage
                            )
                } else {
                    // Son sayfa — sonraki kategoriye/fiyata/formata geç
                    var next = hesaplaGecis(categoryIndex, priceIndex, formatIndex, categoryList.length)
                    nextCatIdx = next.catIdx
                    nextPriceIdx = next.priceIdx
                    nextFormatIdx = next.formatIdx
                    nextPage = 1
                    nextUrl = buildUrl(baseUrl, PRICE_RANGES[nextPriceIdx].min, PRICE_RANGES[nextPriceIdx].max, categoryList[nextCatIdx], 1, FORMAT_LIST[nextFormatIdx])

                    $(loader).html(
                            '✅ ' + currentCategory + ' bitti!<br>' +
                            '💰 ' + PRICE_RANGES[nextPriceIdx].label + '<br>' +
                            '📂 ' + categoryList[nextCatIdx] + '<br>' +
                            '📋 ' + FORMAT_LIST[nextFormatIdx] + '<br>' +
                            reqTime + 's sonra başlıyor...'
                            )
                }

                // ── 7. Hafızayı güncelle ──────────────────────────────────────────────
                chrome.storage.sync.set({
                    LastIndex: nextPage,
                    CurrentCategoryIndex: nextCatIdx,
                    CurrentPriceIndex: nextPriceIdx,
                    CurrentFormatIndex: nextFormatIdx
                })

                // ── 8. Bekle ve git ───────────────────────────────────────────────────
                console.log('[PangoBooks] ' + reqTime + 's bekle → ' + nextUrl)
                await new Promise(function (r) {
                    setTimeout(r, reqTime * 1000)
                })
                window.location.href = nextUrl
            })
}

// Sonraki kategori ve fiyat indexini hesapla
function hesaplaGecis(catIdx, priceIdx, formatIdx, totalCats) {
    var nextCat = catIdx + 1
    var nextPrice = priceIdx
    var nextFormat = formatIdx

    if (nextCat >= totalCats) {
        // Tüm kategoriler bitti → sonraki fiyat aralığına geç
        nextCat = 0
        nextPrice = priceIdx + 1
        if (nextPrice >= PRICE_RANGES.length) {
            // Tüm fiyatlar bitti → sonraki formata geç
            nextPrice = 0
            nextFormat = formatIdx + 1
            if (nextFormat >= FORMAT_LIST.length) {
                // Tüm formatlar bitti → başa dön
                nextFormat = 0
                console.log('[PangoBooks] Tüm format/fiyat/kategoriler tamamlandı, başa dönülüyor...')
            } else {
                console.log('[PangoBooks] Format değişiyor: ' + FORMAT_LIST[nextFormat])
            }
        }
    }

    return {catIdx: nextCat, priceIdx: nextPrice, formatIdx: nextFormat}
}

// ─── Yardımcı Fonksiyonlar ────────────────────────────────────────────────────

function delay(ms) {
    return new Promise(function (r) {
        setTimeout(r, ms)
    })
}
function SekmeBilgileriGonder() {
    chrome.runtime.sendMessage({AktifSekmeBilgileri: true})
}
function SekmeKapat(sure) {
    setTimeout(function () {
        chrome.runtime.sendMessage({SekmeKapat: true})
    }, sure * 1000)
}
function AppLogGonder() {
    chrome.runtime.sendMessage({HataDurum: HataDurum, isStarted: isStarted, AppLog: logs})
}
function AppLog(log) {
    var time = new Date().toLocaleString()
    var test = log + ' - ' + time
    if (logs.length < 6) {
        logs.push(test)
    } else {
        logs.splice(0, 1);
        logs.push(test)
    }
    localStorage.setItem('LocalStorageAppLog', JSON.stringify(logs))
    chrome.storage.sync.set({AppLog: test}, function () {})
}
function ClearData() {
    AppLog(log);
    AppLogGonder();
    sessionStorage.clear()
    chrome.runtime.sendMessage({LinkHata: 'LinkteError', YeniSekme: true})
    clearTimeout(HataKontrol)
}
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 () {
        chrome.storage.sync.get(['isStarted', 'PcName', 'UygulamaAdi', 'Durum', 'UrunID', 'MagazaAdi'], function (item) {
            var msj = 'Bilgisayar: ' + item.PcName + ' Mağaza: ' + item.MagazaAdi + ' Durum: ' + item.Durum + ' iken durdu! ' + (msj2 || '')
            $.ajax({
                type: 'post', url: 'https://www.andromedaworkspace.com/Extension/ajaxCall',
                beforeSend: function (xhr) {
                    xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest')
                },
                cache: false, dataType: 'json', data: {ID: item.UrunID, tip: 'newOrderBreak', mesaj: msj},
                success: function () {
                    console.log('Hata bilgisi gönderildi')
                },
                error: function (r, s, e) {
                    console.log('Ooops: ' + s + ' ' + e)
                }
            })
        })
    }, parseInt(time) * 1000)
}
function getRandomInt(max) {
    return Math.floor(Math.random() * (max + 1))
}
function SekmeAc(link) {
    setTimeout(function () {
        chrome.runtime.sendMessage({YeniSekme: true, Url: link})
    }, 1000)
}