/* Minification failed. Returning unminified contents.
(854,16-17): run-time error JS1195: Expected expression: .
(854,27-28): run-time error JS1003: Expected ':': )
(855,9-15): run-time error JS1009: Expected '}': return
(855,9-15): run-time error JS1006: Expected ')': return
(864,1-2): run-time error JS1002: Syntax error: }
(859,5,863,7): run-time error JS1018: 'return' statement outside of function: return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
        const r = Math.random() * 16 | 0;
        const v = c === 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    })
 */
var isTop = true;

function SliderShowImage(elem, type) {
    var elemsList, childElems, a;
    if (type === 1) {
        elemsList = $(elem + ' > .owl-stage-outer > .owl-stage').children().not(".cloned").not(".active");
        for (a = 0; a < elemsList.length; a++) {
            childElems = $(elemsList[a]).children(".manset-kolon").children();
            for (var b = 0; b < childElems.length; b++) {
                var childElemsInChild = $(childElems[b]).children(".onizleme");
                if (childElemsInChild.attr("data-src") !== undefined) {
                    childElemsInChild.css("background-image", "url(" + childElemsInChild.attr("data-src") + ")").removeAttr("data-src");
                }
            }
        }
    }
    else {
        elemsList = $(elem + ' > .owl-stage-outer > .owl-stage').children().not(".cloned").not(".active");
        for (a = 0; a < elemsList.length; a++) {
            childElems = $($(elemsList[a]).children("a").children(".onizleme"));
            if (childElems.attr("data-src") !== undefined) {
                childElems.css("background-image", "url(" + childElems.attr("data-src") + ")").removeAttr("data-src");
            }
        }
    }
}

//#region Cookie İşlemleri
function setCookie(cname, cvalue, exdays) {
    var expires;

    if (exdays !== null) {
        var d = new Date();
        d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);
        expires = "expires=" + d.toGMTString();
    }

    document.cookie = cname + "=" + cvalue + "; " + expires + ";domain=.donanimhaber.com;";
}

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) === ' ') c = c.substring(1);
        if (c.indexOf(name) === 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}
//#endregion

//#region uyarılar
var warningType = {
    "yesil": 1,
    "sari": 2,
    "kirmizi": 3,
    "seffaf": 4
};

function showWarning(type, text) {
    var warning = document.createElement('span');
    warning.id = 'dev_warning_' + Date.now();
    warning.className = 'uyari';
    //warning.innerText = text;
    warning.innerHTML = text;

    if (type === warningType.yesil)
        warning.className += ' yesil';

    else if (type === warningType.sari)
        warning.className += ' sari';

    else if (type === warningType.kirmizi)
        warning.className += ' kirmizi';

    else if (type === warningType.seffaf)
        warning.className += ' seffaf';

    $('.yuzen-uyarilar').append(warning);

    warning = $(warning);

    warning.animate({ opacity: 1 }, 10000, function () {
        warning.hide('slow');
        warning.animate(2000, function () { warning.remove('slow'); });
    });
}

function showError(message) {
    if (!message)
        message = 'Hata oluştu!';

    showWarning(3, message);
}

function showSuccess(message) {
    if (!message)
        message = 'İşleminiz gerçekleştirildi.';

    showWarning(1, message);
}
//#endregion

function handleAjaxError(response) {
    if (response.HasError) {
        showError(response.Message);

        if (response.DeveloperMessage)
            console.error('developer message : ', response.DeveloperMessage);
    }

    return !response.HasError;
}

// #region historyAPI
function replaceHistory(title, url) {
    console.log('replace history ', title, url);
    if (typeof window.history.replaceState !== 'undefined') {
        window.history.replaceState({ title: title }, title, url);
        document.title = title;
    } else if (url) {
        window.location.href = url;
    } else {
        console.log('Browser doesnt support history API');
    }
}

function pushHistory(title, url) {
    const currentUrl = window.location.pathname + window.location.search + window.location.hash;
    if (url === currentUrl) {
        return;
    }
    
    if (typeof window.history.pushState !== 'undefined') {
        window.history.pushState({ title: title }, title, url);
        document.title = title;
    } else if (url) {
        window.location.href = url;
    } else {
        console.log('Browser doesnt support history API');
    }
}
// #endregion

// #region querystring işlemleri
function QueryString(key, customUrl) {
    key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + key + "=([^&#]*)"),
        results = regex.exec(customUrl === null || customUrl === undefined ? location.search : customUrl);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

function UpdateQueryStringParameter(key, value) {
    var uri = window.location.href;
    var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
    var separator = uri.indexOf('?') !== -1 ? "&" : "?";
    var replaceString = value.trim() === '' ? '' : key + "=" + value;

    if (uri.match(re)) {
        return uri.replace(re, '$1' + replaceString + '$2');
    }
    else {
        return uri + separator + replaceString;
    }
}
// #endregion

//#region string format c# style
if (!String.prototype.format) {
    String.prototype.format = function () {
        var args = arguments;
        return this.replace(/{(\d+)}/g, function (match, number) {
            return typeof args[number] !== 'undefined'
                ? args[number]
                : match;
        });
    };
}
//#endregion

//#region site tercihleri
function UpdateSetting(name, value) {
    $.post("/Api/Members/UpdateSetting", { name: name, value: value }, SettingResult);
}

function SetDefaultSettings() {
    if (confirm("Ayarları sıfırlamak istiyor musunuz?")) {
        $.post("/Api/Members/SetSettingsDefault", null, SettingResult);
    }
}

function ToogleNightModeResult(open) {
    $('body').toggleClass('gecemodu', open);
    $('#NewsDefaultGif').attr('src', open ? '/Content/img/detay-gecis-gece.gif' : '/Content/img/detay-gecis.gif');
}

function SettingResult(response) {
    if (!response.HasError) {
        showSuccess('Ayarlar başarıyla değiştirildi.');
        window.location.reload();
    }
    else {
        if (response.Message)
            showError(response.Message);

        if (response.DeveloperMessage)
            console.log('developer message : ', response.DeveloperMessage);
    }
}
//#endregion

//#region email validasyonu
function validateEmail(email) {
    var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
}
//#endregion

//#region elemente scroll yapar
function scrollToElement(that, time, callback, margin) {
    if (!time) time = 1000;
    if (!margin) margin = 250;

    if ($(that).length > 0) {
        $('html, body').animate({ scrollTop: $(that).offset().top - margin }, time, callback);
    }
}
//#endregion

// #region açılır menü işlemleri
$(document).ready(function () {
    var isOpen = false;
    $(document).on('click', '.acici', function (e) {
        e.stopPropagation();
        if (isOpen === false) {
            $('*').removeClass("acilsin");
            $(this).parent().toggleClass("acilsin");
            isOpen = true;
        }
        else {
            $('*').removeClass("acilsin");
            isOpen = false;
        }
    });
    $('.acilan').on('click', function (e) {
        e.stopPropagation();
    });
    $(document).on('click', function () {
        $('*').removeClass("acilsin");
        isOpen = false;
    });
});
// #endregion

//#region işlem yapan elementin textine animasyonla ... ekler
function toggleInputSending(that) {
    if (that.attr('data-old-value') !== '' && that.attr('data-old-value') !== undefined) {
        that.val(that.attr('data-old-value'));
        that.removeAttr('data-old-value');
    } else {
        that = $(that);
        var oldValue = $(that).val();
        that.attr('data-old-value', oldValue);
        that.val(oldValue + '   ');

        var textInterval = setInterval(function () {
            if (that.attr('data-old-value') === undefined)
                clearInterval(textInterval);
            else {
                if (that.val() === oldValue || that.val() === oldValue + '   ')
                    that.val(oldValue + '.  ');

                else if (that.val() === oldValue + '.  ')
                    that.val(oldValue + '.. ');

                else if (that.val() === oldValue + '.. ')
                    that.val(oldValue + '...');

                else if (that.val() === oldValue + '...')
                    that.val(oldValue + '   ');
            }
        }, 500);
    }
}
//#endregion

//#region Sosyal Paylaşım
function OpenMailShare(type, title) {
    RefreshMailShare();
    $("#MailSharePencereTitle").text(title);
    $("#MailShareType").text(type);
    $("#postala").show();
    scrollToElement($('#postala .diyalog'), 500, null, 150);
}
function CloseMailShare() {
    $("#postala").hide();
    RefreshMailShare();
}
function RefreshMailShare() {
    $("#MailSharePencereTitle").text("");
    $("#MailShareName").val("");
    $("#MailShareNote").val("");
    $("#MailShareEmail").val("");
}
var isShareSend = false;
function OpenMailShareBtnSend() {
    if (!isShareSend) {
        isShareSend = true;
        if ($("#MailShareName").val().trim().length < 2) {
            showWarning(3, "Lütfen isminizi girin.");
        }
        else if ($("#MailShareEmail").val().trim().length < 4) {
            showWarning(3, "Lütfen arkadaşınızın email adresini giriniz..");
        }
        else {
            var adsoyad = $("#MailShareName").val().trim();
            var note = $("#MailShareNote").val().trim();
            var email = $("#MailShareEmail").val().trim();
            var type = $("#MailShareType").text().trim();
            $("#btnSendMailShare").text("Gönderiliyor...");
            $.post("/Data/ShareNewsMail", { name: adsoyad, note: note, email: email, link: window.location.href, title: $("#MailSharePencereTitle").text(), type: type }, function (data) {
                showWarning(1, "Paylaşımınız başarıyla arkadaşınıza gönderilmiştir.");
            });
            isShareSend = false;
            $("#btnSendMailShare").text("Gönder");
            RefreshMailShare();
            CloseMailShare();
        }
    }
}
//#endregion Sosyal Paylaşım

// #region tarayıcı sekmesi aktif/pasif
$(window).on("blur focus", function (e) {
    var prevType = $(this).data("prevType");

    if (prevType !== e.type) {   //  reduce double fire issues
        switch (e.type) {
            case "blur":
                $('body').toggleClass("tab-passive");
                break;
            case "focus":
                $('body').toggleClass("tab-passive");
                break;
        }
    }

    $(this).data("prevType", e.type);
});

function isActiveTab() {
    return !$('body').hasClass('tab-passive');
}
// #endregion

//#region 99+ şeklinde sayı gösterme
function relativeCount(count) {
    if (count > 0 && count < 100) {
        return count;
    } else if (count > 0) {
        return "99+";
    }
    return '';
}
//#endregion

//#region yorumları takip etme/bırakma
function toggleFollow(that, threadId) {
    $.post("/Api/Comments/ToggleFollow/" + threadId, function (response) {
        var followed = $(that).hasClass('pasif');
        if (response.HasError) {
            showError(response.Message);
        } else {
            $(that).toggleClass('pasif');
            var countElement = $(that).find('.sayi');
            var count = parseInt(countElement.text()) || 0;

            if (followed) {
                countElement.text(count - 1 || "");
                showSuccess("Yorum takibi bırakıldı.");
            } else {
                countElement.text(count + 1);
                showSuccess("Yorumlar takip edilmeye başlandı.");
            }
        }
    });
}
//#endregion

//bestMessage notification toggle
function toggleFollowBestMessages(that, threadId) {
    $.post("/Api/Comments/ToggleFollowBestMessages/" + threadId, function (response) {
        var followed = $(that).hasClass('pasif');
        if (response.HasError) {
            showError(response.Message);
        } else {
            $(that).toggleClass('pasif');
            $(that).find(".simge").text(followed ? "+" : "-");
            $(that).find(".eylem").text(followed ? "Bildirim Al" : "Bildirim Alma");
            showSuccess(followed ? "En İyi Yorumlar takibi bırakıldı." : "En İyi Yorumlar takip edilmeye başlandı.");
        }
    });
}

//#region lazyload
function lazyLoad() {
    new Blazy({
        offset: 500 // Loads images 500px before they're visible
    });
}
//#endregion

//#region bildirimler için favicon değiştirme
function setFavicon(hasNotification) {
    if (hasNotification)
        $('#favicon').attr('href', '/Content/img/favicon-bildirimvar.png');
    else
        $('#favicon').attr('href', '/Content/img/favicon.png');
}
//#endregion

//#region haberi daha sonrası için kaydet
var saveNews = function (that, id) {
    bookmarkRequest(id, function () {
        $(that).toggleClass('aktif');
        $(that).find('span').toggleClass('icon-bookmark').toggleClass('icon-bookmark-o');
        $(that).attr('data-title', response.Data.Added ? 'Daha Sonrası için Kaydettiniz' : 'Daha Sonra Bakarım');
    });
};

var bookmarkBkzNews = function (id, obj, e) {
    e.preventDefault();
    e.stopPropagation();
    bookmarkRequest(id, function () {
        $(obj).toggleClass('active');
        $(obj).find('i').toggleClass('icon-bookmark').toggleClass('icon-bookmark-o');
    });
}

var bookmarkRequest = function (id, successHandler) {
    $.get('/Api/News/Save', { id: id }, function (response) {
        if (handleAjaxError(response)) {
            successHandler(response);
        }
    });
}
//#endregion

var tokenRequiredError = "Bu özelliği kullanabilmek için <strong>üye girişi</strong> yapmanız veya <strong>bildirimlere</strong> izin vermeniz gerekmektedir.";

//#region etiketlere abone ol
var toggleFollowAvailable = true;

var ToggleTagFollow = function (that, id, withToken, successCallBack) {
    if (toggleFollowAvailable) {
        toggleFollowAvailable = false;

        if (withToken) {
            ToggleTagFollowByToken(that, id, successCallBack);
        } else {
            $.post("/Api/Tags/ToggleFollow/" + id, function (response) {
                if (handleAjaxError(response)) {
                    successCallBack(that, response.Data);
                }
            })
                .always(function () { toggleFollowAvailable = true; });
        }
    }
};

var ToggleTagFollowByToken = function (that, tagId, successCallBack) {
    getToken()
        .then(function (token) {
            if (token) {
                $.post('/Api/Tags/ToggleFollowByToken', { token: token, tagId: tagId }, function (response) {
                    if (handleAjaxError(response)) {
                        successCallBack(that, response.Data);
                    }
                })
                    .always(function () { toggleFollowAvailable = true; });
            } else {
                showError(tokenRequiredError);
                toggleFollowAvailable = true;
            }
        })
        .catch(function (err) {
            showError(tokenRequiredError);
            toggleFollowAvailable = true;
        });
};
//#endregion

//#region etiket bildirimleri aç/kapa
var toggleNotifyAvailable = true;

var ToggleTagNotify = function (that, id, withToken, successCallBack) {
    if (toggleNotifyAvailable) {
        toggleNotifyAvailable = false;

        if (withToken) {
            ToggleTagNotifyByToken(that, id, successCallBack);
        } else {
            $.post("/Api/Tags/ToggleNotify/" + id, function (response) {
                if (handleAjaxError(response)) {
                    successCallBack(that, response.Data);
                }
            })
                .always(function () { toggleNotifyAvailable = true; });
        }
    }
};

var ToggleTagNotifyByToken = function (that, tagId, successCallBack) {
    getToken()
        .then(function (token) {
            if (token) {
                $.post('/Api/Tags/ToggleNotifyByToken', { token: token, tagId: tagId }, function (response) {
                    if (handleAjaxError(response)) {
                        successCallBack(that, response.Data);
                    }
                })
                    .always(function () { toggleNotifyAvailable = true; });
            } else {
                showError(tokenRequiredError);
                toggleNotifyAvailable = true;
            }
        })
        .catch(function (err) {
            showError(tokenRequiredError);
            toggleNotifyAvailable = true;
        });
};
//#endregion

//#region token ile etiket abonelik bilgisi
var followInfoAvailable = true;
var FollowInfoByToken = function (that, id, successCallBack) {
    if (followInfoAvailable) {
        followInfoAvailable = true;
        getToken()
            .then(function (token) {
                if (token) {
                    $.post('/Api/Tags/FollowInfoByToken', { token: token, tagId: id }, function (response) {
                        if (!response.HasError) {
                            if (handleAjaxError(response)) {
                                successCallBack(that, response.Data);
                            }
                        }
                    })
                        .always(function () { followInfoAvailable = true; });
                }
            })
            .catch(function (err) {
                followInfoAvailable = true;
            });
    }
};
//#endregion

//#region email ile bülten aboneliği
function subscribeEmail(that) {
    var wrapper = $(that).parent().parent();
    var email = wrapper.find('.eposta').val().trim();

    if (validateEmail(email))
        $.post("/Data/SetNewsletter", { email: email }, function (data) { wrapper.find('.sonuc').text(data); }).always(function () { wrapper.find('form')[0].reset(); });
    else
        wrapper.find('.sonuc').text("Lütfen geçerli bir eposta adresi giriniz.");

    return false;
}
//#endregion

//#region anket
function SurveyResult(type, id) {
    $("#AnketSonucEkran-" + id).hide();
    $("#AnketGoruntuEkran-" + id).hide();
    $("#AnketAnaEkran-" + id).hide();
    if (type === 1) {
        $("#AnketSonucEkran-" + id).show();
    }
    else if (type === 2) {
        if ($("#AnketAnaEkran-" + id).children().length > 0) {
            $("#AnketAnaEkran-" + id).show();
        }
        else {
            $("#AnketGoruntuEkran-" + id).show();
        }
    }
    else if (type === 3) {
        $("#AnketAnaEkran-" + id).html("");
        $("#AnketSonucEkran-" + id).show();
    }
}
function SetSurveyData(a, b) {
    $("#anketsikkiData-" + b).val(a);
}
function SurveyOk(id, newsId) {
    var answers = [];

    for (var i = 0; i < $(".InputsSurveyResult").length; i++) {
        if ($(".InputsSurveyResult")[i].value !== "") {
            var datas = { AnswerId: $(".InputsSurveyResult")[i].value, QuestionId: parseInt($(".InputsSurveyResult2")[i].value) };
            answers.push(datas);
        }
    }
    if (answers.length === $("#AnketAnaEkran-" + id + " .InputsSurveyResult").length) {
        $.post("/Data/SetSurvey", { answers: answers, surveyId: id, newsId: newsId }, function (data) {
            SurveyResult(3, id);
        });
    }
    else {
        showWarning(3, "Tüm sorulara cevap vermeden oy kullanamazsınız.");
    }
}
//#endregion anket

//#region session arttırma
var sessionKind = {
    news: 0,
    video: 2,
    gallery: 4
};
var updateSession = function (id, kind, newsId) { $.post("/Api/Session/Update?id=" + id + "&kind=" + kind + "&newsId=" + newsId); };
//#endregion

//#region guid
function guid() {
    function s4() {
        return Math.floor((1 + Math.random()) * 0x10000)
            .toString(16)
            .substring(1);
    }
    return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();
}
//#endregion

function copyToClipBoard(text) {
    var tempInput = document.createElement('input');
    tempInput.value = text;
    document.body.appendChild(tempInput);

    tempInput.select();
    document.execCommand("copy");
    document.body.removeChild(tempInput);
}

function isNumeric(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}

function LikeMessage(id, liked, callback) {
    if (typeof userIsGuest != "undefined" && userIsGuest === true) {
        showError("Bu işlemi yapmak için giriş yapmanız gerekiyor.");
    }
    else {
        var point = liked ? 1 : 0;

        $.get("/Api/Comments/ToggleLike", { id: id, point: point }, function (response) {
            if (response.HasError)
                showWarning(3, "Hata Oluştu");
            else if (callback) {
                callback(response.Data.TotalPoints);
            }
        });
    }
}

/*member card start*/

window.MemberCard = {
    timeOut: 0,
    xhr: null,
    Register: function (element) {
        let memberId = $(element).attr("data-memberId");
        if (memberId && memberId > 0) {
            $(element).on("mouseenter", function () {
                if (window.MemberCard.timeOut === 0) {
                    window.MemberCard.timeOut = setTimeout(function () {
                        window.MemberCard.Load(memberId, element);
                    }, 1000);
                }
            });
            $(element).on("mouseleave", function () {
                //bekleyen işlem varsa durdur
                if (window.MemberCard.timeOut > 0) {
                    clearTimeout(window.MemberCard.timeOut);
                    window.MemberCard.timeOut = 0;
                }

                if (window.MemberCard.xhr && window.MemberCard.xhr.readyState != 4) {
                    window.MemberCard.xhr.abort();
                }
            });
            $(element).removeAttr("data-memberId");
        }
    },

    Load: function (memberId, element) {
        this.xhr = $.get("/Api/Members/MemberCard", { memberId: memberId })
            .done(function (response) {
                if (!response.HasError) {
                    $("#member-card-container").remove();
                    $("body").append(response.Data);
                    let windowHeight = $(window).height();
                    let panelHeight = $("#member-card-container").height();
                    let rect = $(element).offset();
                    let elementClientPosition = $(element)[0].getBoundingClientRect();
                    let bottomAreaAvailable = (windowHeight - elementClientPosition.top) >= panelHeight + elementClientPosition.height;
                    if (bottomAreaAvailable) {
                        $("#member-card-container").css("top", rect.top);
                        $("#member-card").addClass("top");
                        $("#member-card-container").addClass("top");
                        $("#member-card-container").css("padding-top", $(element).outerHeight(true));
                    }
                    else {
                        
                        let indicatorHeight = 8;
                        let topPosition = rect.top - panelHeight - indicatorHeight;
                        $("#member-card-container").css("top", Math.max(0, topPosition));
                        $("#member-card").addClass("bottom");
                        $("#member-card-container").addClass("bottom");
                        $("#member-card-container").css("padding-bottom", $(element).outerHeight(true));
                    }

                    $("#member-card-container").css("left", rect.left);
                    $("#member-card-container").show();
                    $("#member-card-container").on("mouseleave", function () {
                        $(this).remove();
                    });
                } else {
                    console.log(response);
                }
                window.MemberCard.timeOut = 0;
            })
            .fail(function (err) {
                console.log(err);
                window.MemberCard.timeOut = 0;
            });
    },

    Follow: function (memberId, obj) {
        $.post("/Api/Members/Follow", { memberId: memberId })
            .done(function (response) {
                if (!response.HasError) {
                    window.MemberCard.ProcessFollowResult(response.Data, obj);
                } else {
                    alert(response.Message);
                }
            })
            .fail(function (err) {
                console.log(err);
                alert('İşlem başarısırz. Yeniden deneyin.')
            });
    },

    UnFollow: function (memberId, obj) {
        $.post("/Api/Members/UnFollow", { memberId: memberId })
            .done(function (response) {
                if (!response.HasError) {
                    window.MemberCard.ProcessFollowResult(response.Data, obj);
                } else {
                    alert(response.Message);
                }
            })
            .fail(function (err) {
                console.log(err);
                alert('İşlem başarısırz. Yeniden deneyin.')
            });
    },

    ProcessFollowResult: function (followResult, obj) {
        if (followResult.ResultStatus) {
            //istek sonucu
            if (followResult.FollowStatus === 2) {
                $(obj).parent().addClass("following");
                $(obj).parent().removeClass("follow");
            } else if (followResult.FollowStatus === 1) {
                $(obj).parent().addClass("waiting");
                $(obj).parent().removeClass("follow");
            } else if (followResult.FollowStatus === 0) {
                $(obj).parent().removeClass("following");
                $(obj).parent().removeClass("waiting");
                $(obj).parent().addClass("follow");
            }

            //takipçi sayısı güncelleme
            $(".follow-button .follow-count").each(function (idx, el) {
                if (followResult.FollowerCount > 0)
                    $(el).html("(" + followResult.FollowerCount + " Takipçi)");
                else
                    $(el).html("");
            })
        } else {
            console.log(response);
            alert('İşlem başarısırz. Yeniden deneyin.')
        }
    },

    DetectMembers: function () {
        $(".member-info[data-memberid]").each(function (idx, element) {
            window.MemberCard.Register(element);
        });
    }
}
$(document).ready(function () {
    window.MemberCard.DetectMembers();
})
/*member card end*/


function addEventForChild(parent, eventName, childSelector, cb) {
    parent.addEventListener(eventName, function (event) {
        var clickedElement = event.target, matchingChild = clickedElement.closest(childSelector);
        if (matchingChild)
            cb(matchingChild);
    });
}

function urlClickLog(url) {
    $.post("/Api/Members/UrlClickLog", { Url: url })
    .done(function (response) {
        if (response.HasError)
            console.log(response);
    })
    .fail(function (err) {
        console.log(err);
    });
}

function loadPlayer(videoId, obj, e) {
    e.preventDefault();
    $.get("/Api/News/GetVideoPlayerWithoutControls", { Id: videoId })
        .done(function (response) {
            if (response.HasError) {
                console.log(response);
                alert('Video oynatma başarısız. Birazdan tekrar deneyin');
            } else {
                $(obj).parent().parent().find(".imle.tooltip").after(response.Data);
                $(obj).parent().html('');
                jwplayer("playerInstance" + videoId).play();
            }
        })
        .fail(function (err) {
            console.log(err);
            alert('Video yüklenemedi. Birazdan tekrar deneyin.');
        })
}

function generateUUID() {
    if (crypto?.randomUUID) {
        return crypto.randomUUID();
    }

    // fallback (RFC4122 v4)
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
        const r = Math.random() * 16 | 0;
        const v = c === 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    });
}

function formatDate(dateStr) {
    const date = new Date(dateStr);
    return date.toLocaleString("tr-TR", {
        day: "2-digit",
        month: "2-digit",
        year: "numeric",
        hour: "2-digit",
        minute: "2-digit",
        second: "2-digit"
    });
}

function encodeHTML(str) {
    const map = {
        '&': '&amp;',
        '<': '&lt;',
        '>': '&gt;',
        '"': '&quot;',
        "'": '&#39;'
    };
    return str.replace(/[&<>"]/g, function (m) { return map[m]; });
};
/*!
  hey, [be]Lazy.js - v1.8.2 - 2016.10.25
  A fast, small and dependency free lazy load script (https://github.com/dinbror/blazy)
  (c) Bjoern Klinggaard - @bklinggaard - http://dinbror.dk/blazy
*/
(function (q, m) { "function" === typeof define && define.amd ? define(m) : "object" === typeof exports ? module.exports = m() : q.Blazy = m() })(this, function () { function q(b) { var c = b._util; c.elements = E(b.options); c.count = c.elements.length; c.destroyed && (c.destroyed = !1, b.options.container && l(b.options.container, function (a) { n(a, "scroll", c.validateT) }), n(window, "resize", c.saveViewportOffsetT), n(window, "resize", c.validateT), n(window, "scroll", c.validateT)); m(b) } function m(b) { for (var c = b._util, a = 0; a < c.count; a++) { var d = c.elements[a], e; a: { var g = d; e = b.options; var p = g.getBoundingClientRect(); if (e.container && y && (g = g.closest(e.containerClass))) { g = g.getBoundingClientRect(); e = r(g, f) ? r(p, { top: g.top - e.offset, right: g.right + e.offset, bottom: g.bottom + e.offset, left: g.left - e.offset }) : !1; break a } e = r(p, f) } if (e || t(d, b.options.successClass)) b.load(d), c.elements.splice(a, 1), c.count--, a-- } 0 === c.count && b.destroy() } function r(b, c) { return b.right >= c.left && b.bottom >= c.top && b.left <= c.right && b.top <= c.bottom } function z(b, c, a) { if (!t(b, a.successClass) && (c || a.loadInvisible || 0 < b.offsetWidth && 0 < b.offsetHeight)) if (c = b.getAttribute(u) || b.getAttribute(a.src)) { c = c.split(a.separator); var d = c[A && 1 < c.length ? 1 : 0], e = b.getAttribute(a.srcset), g = "img" === b.nodeName.toLowerCase(), p = (c = b.parentNode) && "picture" === c.nodeName.toLowerCase(); if (g || void 0 === b.src) { var h = new Image, w = function () { a.error && a.error(b, "invalid"); v(b, a.errorClass); k(h, "error", w); k(h, "load", f) }, f = function () { g ? p || B(b, d, e) : b.style.backgroundImage = 'url("' + d + '")'; x(b, a); k(h, "load", f); k(h, "error", w) }; p && (h = b, l(c.getElementsByTagName("source"), function (b) { var c = a.srcset, e = b.getAttribute(c); e && (b.setAttribute("srcset", e), b.removeAttribute(c)) })); n(h, "error", w); n(h, "load", f); B(h, d, e) } else b.src = d, x(b, a) } else "video" === b.nodeName.toLowerCase() ? (l(b.getElementsByTagName("source"), function (b) { var c = a.src, e = b.getAttribute(c); e && (b.setAttribute("src", e), b.removeAttribute(c)) }), b.load(), x(b, a)) : (a.error && a.error(b, "missing"), v(b, a.errorClass)) } function x(b, c) { v(b, c.successClass); c.success && c.success(b); b.removeAttribute(c.src); b.removeAttribute(c.srcset); l(c.breakpoints, function (a) { b.removeAttribute(a.src) }) } function B(b, c, a) { a && b.setAttribute("srcset", a); b.src = c } function t(b, c) { return -1 !== (" " + b.className + " ").indexOf(" " + c + " ") } function v(b, c) { t(b, c) || (b.className += " " + c) } function E(b) { var c = []; b = b.root.querySelectorAll(b.selector); for (var a = b.length; a--; c.unshift(b[a])); return c } function C(b) { f.bottom = (window.innerHeight || document.documentElement.clientHeight) + b; f.right = (window.innerWidth || document.documentElement.clientWidth) + b } function n(b, c, a) { b.attachEvent ? b.attachEvent && b.attachEvent("on" + c, a) : b.addEventListener(c, a, { capture: !1, passive: !0 }) } function k(b, c, a) { b.detachEvent ? b.detachEvent && b.detachEvent("on" + c, a) : b.removeEventListener(c, a, { capture: !1, passive: !0 }) } function l(b, c) { if (b && c) for (var a = b.length, d = 0; d < a && !1 !== c(b[d], d) ; d++); } function D(b, c, a) { var d = 0; return function () { var e = +new Date; e - d < c || (d = e, b.apply(a, arguments)) } } var u, f, A, y; return function (b) { if (!document.querySelectorAll) { var c = document.createStyleSheet(); document.querySelectorAll = function (a, b, d, h, f) { f = document.all; b = []; a = a.replace(/\[for\b/gi, "[htmlFor").split(","); for (d = a.length; d--;) { c.addRule(a[d], "k:v"); for (h = f.length; h--;) f[h].currentStyle.k && b.push(f[h]); c.removeRule(0) } return b } } var a = this, d = a._util = {}; d.elements = []; d.destroyed = !0; a.options = b || {}; a.options.error = a.options.error || !1; a.options.offset = a.options.offset || 100; a.options.root = a.options.root || document; a.options.success = a.options.success || !1; a.options.selector = a.options.selector || ".b-lazy"; a.options.separator = a.options.separator || "|"; a.options.containerClass = a.options.container; a.options.container = a.options.containerClass ? document.querySelectorAll(a.options.containerClass) : !1; a.options.errorClass = a.options.errorClass || "b-error"; a.options.breakpoints = a.options.breakpoints || !1; a.options.loadInvisible = a.options.loadInvisible || !1; a.options.successClass = a.options.successClass || "b-loaded"; a.options.validateDelay = a.options.validateDelay || 25; a.options.saveViewportOffsetDelay = a.options.saveViewportOffsetDelay || 50; a.options.srcset = a.options.srcset || "data-srcset"; a.options.src = u = a.options.src || "data-src"; y = Element.prototype.closest; A = 1 < window.devicePixelRatio; f = {}; f.top = 0 - a.options.offset; f.left = 0 - a.options.offset; a.revalidate = function () { q(a) }; a.load = function (a, b) { var c = this.options; void 0 === a.length ? z(a, b, c) : l(a, function (a) { z(a, b, c) }) }; a.destroy = function () { var a = this._util; this.options.container && l(this.options.container, function (b) { k(b, "scroll", a.validateT) }); k(window, "scroll", a.validateT); k(window, "resize", a.validateT); k(window, "resize", a.saveViewportOffsetT); a.count = 0; a.elements.length = 0; a.destroyed = !0 }; d.validateT = D(function () { m(a) }, a.options.validateDelay, a); d.saveViewportOffsetT = D(function () { C(a.options.offset) }, a.options.saveViewportOffsetDelay, a); C(a.options.offset); l(a.options.breakpoints, function (a) { if (a.width >= window.screen.width) return u = a.src, !1 }); setTimeout(function () { q(a) }) } });;
var persistentPreviewPositions = [3 /* Slider */, 6 /* Blog big */];
var videoPreviewRequestQueue = [];
var videoPreviewBussy = false;
var VideoPreview = {

    StartVideoPreview: (container, videoContainer, videoId, position, callback) => {
        //istek bitmemisse kuyruga ekle
        if (videoPreviewBussy) {
            videoPreviewRequestQueue.push({ container, videoContainer, videoId, position, callback });
            return;
        }

        //onizleme onceden yuklenmisse tekrar yukleme
        if ($(videoContainer).html().indexOf("video-preview") > -1) {
            VideoPreview.NextVideoPreview();
            return;
        }

        videoPreviewBussy = true;
        //mouse uzerinden cekildiginde onizleme kaybolmayacak pozisyonlardan birinde mi
        let persistentPreview = persistentPreviewPositions.some((pos) => { return pos === position; });

        var req = $.get('/Api/Videos/VideoPreview?id=' + videoId + '&position=' + position)
            .done(function (response) {

                if (!response.HasError) {
                    if ($(videoContainer).html().indexOf("video-preview") > -1) 
                        return;

                    $(videoContainer).append(response.Data);
                    if(callback)
                        callback();
                }
                VideoPreview.NextVideoPreview();
            })
            .fail(function () {
                VideoPreview.NextVideoPreview();
            });

        $(container).mouseleave(function () {
            req.abort();
            var preview = $(videoContainer).find(".video-preview");
            if (preview && !persistentPreview)
                $(preview).remove();
        });
    },

    //varsa kuyrukta bekleyen son on izlemeyi yukler
    NextVideoPreview: () => {
        videoPreviewBussy = false;
        if (videoPreviewRequestQueue.length > 0) {
            let newRequest = videoPreviewRequestQueue.pop();
            VideoPreview.StartVideoPreview(newRequest.container, newRequest.videoContainer, newRequest.videoId, newRequest.position, newRequest.callback);
        }
    },

    //ekranda video varsa onizleme goster (sadece blog buyuk blog kart gorunumunde)
    CheckBlogNewsVideoPreviewInView: () => {
        $(".medya-blog.blogItem").not(".previewAdded").each(function (idx, element) {
                var top = element.offsetTop;
                var height = element.offsetHeight;
                if (top + height < (window.pageYOffset + window.innerHeight)) {
                    let position = 6; /* Blog Big */
                    let container = $(element).find("a.onizleme");
                    let videoId = $(container).attr("data-videoId");
                    $(element).addClass("previewAdded");
                    if (videoId && videoId > 0)
                        VideoPreview.StartVideoPreview(container, container, videoId, position);
                }
        });
    },

    PlayVideoWithTimeout: (id, timeout) => {
        setTimeout(function () {
            const previewElement = document.getElementById(id);
            if (previewElement) {
                previewElement.style.display = "inherit";
                previewElement.querySelector("video")
                    .play();
            }
        }, timeout);
    },

    PlayVideoWithoutTimeout: (id) => {
        const previewElement = document.getElementById(id);
        if (previewElement) {
            previewElement.style.display = "inherit";
            previewElement.querySelector("video")
                .play();
        }
    }
}

//sayfa yuklendiginde ekranda video varsa onizleme goster (sadece blog buyuk blog kart gorunumunde)
$(document).ready(function () {
    VideoPreview.CheckBlogNewsVideoPreviewInView();
});

//sayfa scrolledildiginde ekranda video varsa onizleme goster (sadece blog buyuk blog kart gorunumunde)
$(document).scroll(function () {
    VideoPreview.CheckBlogNewsVideoPreviewInView();
});

;
