var oXMLYazar = null;
// sabah kullanici ID
var YazarUser = parseInt(getCookie("SabahUserID"));
var SabahUserID = YazarUser;
if (isNaN(YazarUser)) YazarUser = 0;

/**
 * Anasayfadaki yazarlar bir liste seklinde siralanmasi isteniyor.
 * Bunu da $arrAnasayfaYazarlar Arrayinde topluyoruz.
 * Yazar listesi sirasiyla söyle..
 * Mehmet Barlas(9), Hıncal Uluç(2), Yavuz Donat(27), Fatih Altaylı(1437), Yılmaz Özdil(1365), Erdal Şafak(8), Ergun Babahan (41)
 * Yazar listesi sirasiyla söyle.. Yenisi
 * Mehmet Barlas(9), Hıncal Uluç(2), Yavuz Donat(27), Ergun Babahan (41), Yılmaz Özdil(1365), Erdal Şafak(8), Umur Talu(4), Balçiçek Pamir(78), Abdurrahman Yıldırım(7)
 */
var arrYazarSecimDefault = [9, 2, 27, 41, 1365, 8, 4, 78, 7];
// kullanicinin kendi sectigi yazarlar
var arrYazarSecim = new Array();
var strYazarSecimLast = "";

var arrAllYazar = new Array();
var arrAllYazarIDs = new Array();

var yazarTimer = null;

function fillYazarList2() {
	// secili yazarlarin listesini doldur
	var lst2 = document.getElementById("lstYazarSecim2");

	// clear list2
	for (var i = lst2.options.length - 1; i >= 0; i--)
		lst2.options[i] = null;

	// fill with current selection
	for (var index in arrYazarSecim) {
		var yazar_id = arrYazarSecim[index];
		var yazar = arrAllYazar[yazar_id]
		var opt = document.createElement("OPTION");
		if (arrYazarSpot[yazar_id] == null)
			opt.text = "* " + yazar.yazar_name;
		else
			opt.text = yazar.yazar_name;
		opt.value = yazar_id;
		lst2.options.add(opt);
	}
}

function initYazarSecim() {
	var strYazarSecim = getCookie("SabahYazarSecim");
	if (strYazarSecim != "") {
		var arrYazarSecimTmp = strYazarSecim.split(",");
		for (var i = 0; i < arrYazarSecimTmp.length; i++) {
			var val = parseInt(arrYazarSecimTmp[i]);
			if (!isNaN(val) &&
				arrAllYazar[val] != null) {
				arrYazarSecim.push(val);
			}
		}
	}
	strYazarSecimLast = arrYazarSecim.join(",");

	var lst1 = document.getElementById("lstYazarSecim1");

	// clear list1
	for (var i = lst1.options.length - 1; i >= 0; i--)
		lst1.options[i] = null;

	// tum yazarlarin listesini doldur
	for (var index in arrAllYazarIDs) {
		var yazar_id = arrAllYazarIDs[index];
		var yazar = arrAllYazar[yazar_id]
		var opt = document.createElement("OPTION");
		if (arrYazarSpot[yazar_id] == null)
			opt.text = "* " + yazar.yazar_name;
		else
			opt.text = yazar.yazar_name;
		opt.value = yazar_id;
		lst1.options.add(opt);
	}

	// secili yazarlarin listesini doldur
	fillYazarList2();
}

// tum yazarlar listesine ekle
function defAllYazar(yazar_id, yazar_name, yazar_img, email) {
	var obj = new Object();
	obj.yazar_id=yazar_id;
	obj.yazar_name=yazar_name;
	obj.yazar_img=yazar_img;
	obj.email=email;
	arrAllYazar[yazar_id]=obj;
	arrAllYazarIDs.push(yazar_id);
}

var arrYazarSpot = new Array();
var arrYazarIDs = new Array();

function defYazarSpot(yazar_id, yazar_name, yazar_link, baslik, spot) {
	if (arrYazarSpot[yazar_id]!=null) 
		return;
		
	var obj = new Object();
	obj.yazar_id=yazar_id;
	obj.yazar_name=yazar_name;
	obj.yazar_link=yazar_link;
	obj.baslik=baslik;
	obj.spot=spot;
	arrYazarSpot[yazar_id]=obj;
	arrYazarIDs.push(yazar_id);
}

function tableInsertRow(tbl) {
	return tbl.insertRow(tbl.rows.length);
}

function trInsertCell(tr) {
	return tr.insertCell(tr.cells.length);
}

function generateSpacer(width, height) {
	var oImg = document.createElement("IMG");
	oImg.src = I_URL + "sp.gif";
	oImg.width = width;
	oImg.height = height;
	oImg.alt = "";
	return oImg;
}

// generate the seperator between "YAZAR" blocks
function generateYazarSeperator() {
	var oDiv = document.createElement("DIV");
	oDiv.className = "yazar_widget_seperator";
	oDiv.appendChild(generateSpacer(1, 1));
	return oDiv;
}

// generate "YAZAR" by DHTML
function generateYazarSpot(yazar,isAlternate) {
	var oDiv = document.createElement("DIV");
	oDiv.className = isAlternate ? "yazar_widget_block_alternate" : "yazar_widget_block";

	// sol yazar resimli linki
	var divImg = document.createElement("DIV");
	divImg.className = "yazar_widget_img";
	var divImgb = document.createElement("DIV");
	divImgb.className = "yazar_widget_imgbrd";	
	var lnkImg = document.createElement("A");
	lnkImg.href = yazar.yazar_link;
	var imgImg = document.createElement("IMG");
	imgImg.src = arrAllYazar[yazar.yazar_id].yazar_img;
	imgImg.width = 60;
	imgImg.height = 60;
	imgImg.border = 0;
	imgImg.alt = yazar.yazar_name;
	imgImg.title = yazar.yazar_name;
	lnkImg.appendChild(imgImg);
	divImgb.appendChild(lnkImg);
	divImg.appendChild(divImgb);
	oDiv.appendChild(divImg);

	var divYazi = document.createElement("DIV");
	divYazi.className = "yazar_widget_block_inner";

	// sag yazar adı linki
	var lnkYazar = document.createElement("A");
	lnkYazar.href = yazar.yazar_link;
	lnkYazar.className = "yazar_widget_baslik";
	lnkYazar.appendChild(document.createTextNode(yazar.yazar_name));
	divYazi.appendChild(lnkYazar);
	divYazi.appendChild(document.createElement("BR"));

	var lnkYazar2 = document.createElement("A");
	lnkYazar2.href = yazar.yazar_link;
	lnkYazar2.className = "yazar_widget_spot";
	var bBaslik = document.createElement("B");
	bBaslik.appendChild(document.createTextNode(yazar.baslik));
	lnkYazar2.appendChild(bBaslik);
	lnkYazar2.appendChild(document.createElement("BR"));
	lnkYazar2.appendChild(document.createTextNode(yazar.spot));
	divYazi.appendChild(lnkYazar2);
	oDiv.appendChild(divYazi);

	return oDiv;
}

// secili yazarlarin spotlarini olusturur
function generateSelectedYazarBlock() {
	var containerDivId = "divAnaYazar";
	var containerDiv = document.getElementById(containerDivId);
	var countDisplayed = 0;
	var maxToDisplay = 4;
	var arrDisplayedIDs = new Array();
	var arrYazarToDisplay = new Array();
	var isAlternate;

	// clear
	while (containerDiv.firstChild != null) {
		containerDiv.removeChild(containerDiv.firstChild);
	}
	
	// once kullanicini kendi sectigi yazarlar ile basla
	for (var i = 0, count = arrYazarSecim.length; i < count && countDisplayed < maxToDisplay; i++) {
		var yazar_id = arrYazarSecim[i];
		if (arrYazarSpot[yazar_id] != null) {
			arrYazarToDisplay[countDisplayed] = yazar_id;
			arrDisplayedIDs[yazar_id] = true;
			countDisplayed++;
		}
	}

	// bosluklari varsayilan yazarlarla doldur
	for (var i = 0, count = arrYazarSecimDefault.length; i < count && countDisplayed < maxToDisplay; i++) {
		var yazar_id = arrYazarSecimDefault[i];
		if (arrYazarSpot[yazar_id] != null &&
			arrDisplayedIDs[yazar_id] == null) {
			arrYazarToDisplay[countDisplayed] = yazar_id;
			arrDisplayedIDs[yazar_id] = true;
			countDisplayed++;
		}
	}

	// secilmis ve doldurulmus yazarlarin bloklarini yarat
	for (var i = 0, count = arrYazarToDisplay.length; i < count; i++) {
		var yazar_id = arrYazarToDisplay[i];
		isAlternate = (i & 1) == 1;
		if (i > 0) {
			containerDiv.appendChild(generateYazarSeperator());
		}
		containerDiv.appendChild(generateYazarSpot(arrYazarSpot[yazar_id], isAlternate));
	}

	// eger maksimum sayiya ulasilamazsa blogu boyutlandir
	var oAnaYazarOuter = document.getElementById("divAnaYazarOuter");
	var oAnaYazarMid = document.getElementById("divAnaYazarMid");
	var oAnaYazarMidBack = document.getElementById("divAnaYazarMidBack");
	var outerHeight = 81 * countDisplayed + 44;
	oAnaYazarOuter.style.height = outerHeight + "px";
	oAnaYazarMid.style.height = (outerHeight - 23) + "px";
	oAnaYazarMidBack.style.height = (outerHeight - 58) + "px";
}

function showYazarPanel(visible) {
	if (visible) {
		// hizli erisimi gizle
		var pnlErisim = document.getElementById("divYazarErisim");
		pnlErisim.style.display = "none";

		// clear list2 and fill with current selection
		fillYazarList2();
	}

	var pnl = document.getElementById("divYazarSecim");
	if (pnl != null)
		pnl.style.display = visible ? "block" : "none";
}

function toggleYazarPanel() {
	var pnl = document.getElementById("divYazarSecim");
	var visible = pnl.style.display == "none";

	if (visible)
		showYazarPanel(true);
	else
		cancelYazarChange();
}

function toggleYazarErisimPanel() {
	var pnl = document.getElementById("divYazarErisim");
	var visible = pnl.style.display == "none";

	if (visible)
		showYazarErisimPanel();
	else
		hideYazarErisimPanel();
}

function hideYazarErisimPanel() {
	var pnl = document.getElementById("divYazarErisim");
	pnl.style.display = "none";
}

function hideYazarErisimPanelDelayed() {
	setYazarTimeout('hideYazarErisimPanel()', 1000);
}

function showYazarErisimPanel() {
	// yazar secimini gizle
	cancelYazarChange();

	var pnl = document.getElementById("divYazarErisim");
	pnl.style.display = "block";
}

function swapOptions(obj,i,j) {
	var o = obj.options;
	var i_selected = o[i].selected;
	var j_selected = o[j].selected;
	var temp = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
	var temp2= new Option(o[j].text, o[j].value, o[j].defaultSelected, o[j].selected);
	o[i] = temp2;
	o[j] = temp;
	o[i].selected = j_selected;
	o[j].selected = i_selected;
}

function yazarSecimiEkle() {
	var lst1 = document.getElementById("lstYazarSecim1");
	var lst2 = document.getElementById("lstYazarSecim2");

	if (lst1.selectedIndex < 0) {
		alert("Bir yazarı seçime eklemek için öncelikle onu 'Tüm Yazarlar' listesinden seçin!");
		return;
	}

	var op = lst1.options[lst1.selectedIndex];
	var yazar_id = op.value;
	// check target list for existing item
	for (var i = 0, count = lst2.options.length; i < count; i++) {
		if (lst2.options[i].value == yazar_id) {
			alert("Eklemek istediğiniz yazar zaten listenizde var!");
			return;
		}
	}

	var op2 = document.createElement("OPTION");
	op2.text = op.text;
	op2.value = op.value;
	lst2.options.add(op2);
}

function yazarSecimiCikar() {
	var lst2 = document.getElementById("lstYazarSecim2");
	if (lst2.selectedIndex < 0) {
		alert("Bir yazarı seçimden çıkarmak için öncelikle onu 'Seçtiğiniz Yazarlar' listesinden seçin!");
		return;
	}

	lst2.options[lst2.selectedIndex] = null;
}

function yazarSecimiYukari() {
	var lst2 = document.getElementById("lstYazarSecim2");
	if (lst2.selectedIndex < 0) {
		alert("Bir yazarı yukarı taşımak için öncelikle onu 'Seçtiğiniz Yazarlar' listesinden seçin!");
		return;
	}
	if (lst2.selectedIndex > 0) {
		swapOptions(lst2,lst2.selectedIndex-1,lst2.selectedIndex);
	}
}

function yazarSecimiAsagi() {
	var lst2 = document.getElementById("lstYazarSecim2");
	if (lst2.selectedIndex < 0) {
		alert("Bir yazarı aşağı taşımak için öncelikle onu 'Seçtiğiniz Yazarlar' listesinden seçin!");
		return;
	}
	if (0 < lst2.options.length &&
		lst2.selectedIndex + 1 < lst2.options.length) {
		swapOptions(lst2,lst2.selectedIndex,lst2.selectedIndex+1);
	}
}

function clearYazarTimeout() {
	if (yazarTimer != null) {
		clearTimeout(yazarTimer);
		yazarTimer = null;
	}
}

function setYazarTimeout(code, duration) {
	clearYazarTimeout();
	yazarTimer = setTimeout(code, duration);
}

function YazarXMLProcessChange( responseText ) {
	user_id = parseInt(responseText);
	if (!isNaN(user_id)) {
		SabahUserID = YazarUser = user_id;
		strYazarSecimLast = arrYazarSecim.join(",");
		var date = new Date(2050,0,1);
		setCookie("SabahUserID", user_id, date.toGMTString());
	}
}

function reportYazarChange(strYazarSecim) {
	// report city if not reported yet or forced to report
	if (strYazarSecimLast != strYazarSecim) {
		var url = "/tools/ana_yazar_change.php" +
				   "?user_id=" + SabahUserID +
				   "&yazarlar=" + strYazarSecim +
				   "&scrw=" + screen.width +
				   "&scrh=" + screen.height;
		MBGAjax(url, YazarXMLProcessChange);
	}
}

function confirmYazarChange() {
	var lst2 = document.getElementById("lstYazarSecim2");

	// yeni secimi kaydet
	arrYazarSecim = new Array();
	for (var i = 0, count = lst2.options.length; i < count; i++) {
		arrYazarSecim.push(lst2.options[i].value);
	}

	// secimi cookie ile kaydet
	var strYazarSecim = "";
	if (arrYazarSecim.length > 0)
		strYazarSecim = arrYazarSecim.join(",");
	var date = new Date(2050,0,1);
	setCookie("SabahYazarSecim", strYazarSecim, date.toGMTString());

	// paneli gizle
	showYazarPanel(false);

	// yazar blokunu tekrar olustur
	generateSelectedYazarBlock();

	// secimi sunucuya gonder
	reportYazarChange(strYazarSecim);
}

function cancelYazarChange() {
	showYazarPanel(false);
}
