// Namespace tanımlanıyor
if (typeof ZEYTIN == "undefined" || !ZEYTIN) var ZEYTIN = {};

ZEYTIN.otomatikSayfaYukle = function(ayarlar) {
	var siradakiSayfaNo = 2;
	var siradakiSayfaYukleniyor = false;
	var yuklenecekSayfaKalmadi = false;

	window.onscroll = function (e) {
		if (!window.onscroll) window.onscroll();
		sayfaSonuKontrolEt();
	};

	var sayfaSonuKontrolEt = function() {
		// Sayfa sonuna yaklaşılmışsa ve sıradaki sayfanın yüklenme işlemi devam etmiyorsa ve yüklenecek sayfa varsa
		if (pencereYuksekligiBul() - scrollUstKonumBul() - sayfaYuksekligiBul() < 50 && !siradakiSayfaYukleniyor && !yuklenecekSayfaKalmadi) {
			// Sonraki sayfayı yükle
			sonrakiSayfayiYukle();
		}
	}

	var sayfaYuksekligiBul = function() {
		return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
	};

	var scrollUstKonumBul = function() {
		return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
	};

	var pencereYuksekligiBul = function() {
		return Math.max(
			Math.max(document.body.scrollHeight, document.documentElement.scrollHeight),
			Math.max(document.body.offsetHeight, document.documentElement.offsetHeight),
			Math.max(document.body.clientHeight, document.documentElement.clientHeight)
		);
	};

	var beklemeDivGoster = function() {
		var beklemeDiv = document.createElement('div');
		beklemeDiv.id = 'zeytinBeklemeDiv';
		beklemeDiv.style.textAlign = 'center';
		if (ayarlar.yukleniyorMesaji) beklemeDiv.innerHTML += '<p style="font-weight: bold; margin-bottom: 5px;">' + ayarlar.yukleniyorMesaji + '</p>';
		if (ayarlar.yukleniyorResimURL) beklemeDiv.innerHTML += '<img src="' + ayarlar.yukleniyorResimURL + '">';
		document.getElementById(ayarlar.icerikEklenecekElemanId).appendChild(beklemeDiv);
	}

	var beklemeDivGizle = function() {
		var beklemeDiv = document.getElementById('zeytinBeklemeDiv');
		document.getElementById(ayarlar.icerikEklenecekElemanId).removeChild(beklemeDiv);
	}

	var sonrakiSayfayiYukle = function() {
		siradakiSayfaYukleniyor = true;
		beklemeDivGoster();

		ZEYTIN.ajaxGonder(ayarlar.url, ayarlar.digerPostParametreleri + '&' + ayarlar.postDegiskeni + '=' + siradakiSayfaNo, sonrakiSayfaOkundu);
	};

	var sonrakiSayfaOkundu = function(sayfaIcerigi) {
		beklemeDivGizle();

		// Yüklenecek sayfa kalmamışsa
		if (!sayfaIcerigi) {
			yuklenecekSayfaKalmadi = true;
			return;
		}

		document.getElementById(ayarlar.icerikEklenecekElemanId).innerHTML += sayfaIcerigi;

		siradakiSayfaYukleniyor = false;
		siradakiSayfaNo++;
	};
}

