addNamespace("KY.Web.Basket");

KY.Web.Basket = Class.create();

Object.extend(KY.Web.Basket.prototype, {
	array: null,
	arrayName: null,
	searchResult: Array(),
	searchPos: -1,
	searchLastDiv: null,	
	orderlist1: "",
	orderlist2: "",
	orderlist3: "",
	orderlist4: "",
	orderlist5: "",
	div: null,
	objXML: null,
	count: 0,
	selectedCount:0,
	selectedTotal:0,
	selectedPuan:0,
	basketTotal: 0,
	basketPuan: 0,
	mainCurrency: "",
	minChars: 2,
	timer: null,
	waitAfterInput: 230,
	state: 0,
	lastMouseOver: null,
	hoverobj:null,
	show: function() {
		this.div.style.display = "";
		this.div.style.visibility = "visible";
		this.filldiv();
		ShowDiv(this.div);
	},
	hide: function() {
		HideDiv(this.div);
		this.div.style.display = "none";
		this.div.style.visibility = "hidden";
	},
	postBasket: function(t) {
		if (t == 0) {
			this.getBasket("t=lastlist&id=" + t);
			return;
		} else {
			var postdata = "";
			var bCorrect = false;
			var i = 0;
			for (i = 0; i < this.array.length; i++)
			{
				var obj = $("cbBasketItem_" + this.array[i].BasketId);
				if (obj.checked)
				{
					bCorrect = true;
					if (postdata != "") { postdata += "&"; }
					postdata += "Sepet=" + this.array[i].BasketId;
				}
			}

			if (!bCorrect) {
				alert("Lütfen satın almak istediğiniz ürünleri seçiniz.");
				return;
			}
			this.objXML = null;

			if (window.XMLHttpRequest) {
				this.objXML = new XMLHttpRequest();
			}
			else if (window.ActiveXObject) {
				this.objXML = new ActiveXObject("Microsoft.XMLHTTP");
			}	
			if (this.objXML) {
				this.objXML.onreadystatechange = this.onpostBasketDone.bind(this);
			}
			var url = window.location.protocol + "//" + window.location.hostname + "/servLet/BasketFunction.asp?t=post&id=1"; 
			this.objXML.open("POST", url, true);
			this.objXML.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			this.objXML.setRequestHeader("Accept-Charset", "iso-8859-9");
			this.objXML.setRequestHeader("Accept-Language", "tr");
			if(!MS.Browser.isIE) {
				this.objXML.setRequestHeader("Connection", "close");
			}
			this.objXML.send(postdata);

		}
	},
	onpostBasket: function(t) {
		if (window.location.hostname == "www.kitapyurdu.eu") {
			window.location.href = "https://www.kitapyurdu.eu/siparis/default.asp?sepette_secildi=1";
		}
		else {
			window.location.href = window.location.protocol + "//" + window.location.hostname + "/siparis/default.asp?sepette_secildi=1"; 
		}
	},
	onpostBasketDone: function() {

		if(this.objXML.readyState == 4)
		{
			if(this.objXML.status != 200) { return; }
		}
		else 
		{
			return;
		}

		if (this.objXML.responseXML.documentElement == null) { return; }

		this.onpostBasket(1);
	},
	getBasket: function(query) {
			this.objXML = null;

			if (window.XMLHttpRequest) {
				this.objXML = new XMLHttpRequest();
			}
			else if (window.ActiveXObject) {
				this.objXML = new ActiveXObject("Microsoft.XMLHTTP");
			}	
			
			if (this.objXML) {
				this.objXML.onreadystatechange = this.ongetBasket.bind(this);
			}
			var url = window.location.protocol + "//" + window.location.hostname + "/servLet/BasketFunction.asp" + (query != "" ? "?" + query : ""); 
			this.objXML.open("GET", url, true);
			this.objXML.setRequestHeader("Accept-Charset", "iso-8859-9");
			this.objXML.setRequestHeader("Accept-Language", "tr");
			if(!MS.Browser.isIE) {
				this.objXML.setRequestHeader("Connection", "close");
			}
			this.objXML.send(null);
	},
	ongetBasket: function() {
		if(this.objXML.readyState == 4)
		{
			if(this.objXML.status != 200) { return; }
		}
		else 
		{
			return;
		}

		if (this.objXML.responseXML.documentElement == null) { return; }

		a = new Array();
		var doc = this.objXML.responseXML.documentElement;
		var nodes = null;
		var iTemp = 0;
		if (doc.getAttribute("command") == "remove") {  
			nodes = doc.getElementsByTagName("BasketItem");
			for (i = 0; i < nodes.length ; i++) 
			{
				if (nodes[i] == null) { continue; }
				this.onclickDeleteComplete(nodes[i].getElementsByTagName("BasketId")[0].firstChild.nodeValue);
			}
		}
		else if (doc.getAttribute("command") == "basketinsert") { 
			iTemp = doc.getAttribute("commandargument");
		}
		else if (doc.getAttribute("command") == "lastlist") { 
			iTemp = doc.getAttribute("commandargument");
		}

		if (doc.getAttribute("fulllist") == "false") { return; }

		this.orderlist1 = this.insertSortArray(doc.getAttribute("orderlist1"));
		this.orderlist2 = this.insertSortArray(doc.getAttribute("orderlist2"));
		this.orderlist3 = this.insertSortArray(doc.getAttribute("orderlist3"));
		this.orderlist4 = this.insertSortArray(doc.getAttribute("orderlist4"));
		this.orderlist5 = this.insertSortArray(doc.getAttribute("orderlist5"));
		nodes = doc.getElementsByTagName("BasketItem");

		this.selectedCount = 0;
		this.selectedTotal = 0;
		this.selectedPuan = 0;
		this.basketTotal = 0;
		this.basketPuan = 0;

		if (nodes.length == 0) { 
			this.array = Array();
			this.clearSearchResult();
			this.arrayName = "";
			this.count = 0;
			$("SelectedBasketCount").innerHTML = "";
			$("BasketTotalCount").innerHTML = "";
			$("SelectedBasketTotalTL").innerHTML = "0" + this.mainCurrency;
			$("BasketTotalTL").innerHTML = "0" + this.mainCurrency;
		} 
		else {
			var i = 0;
			this.clearSearchResult();
			this.arrayName = "";
			this.count = 0;
			for (i = 0; i < nodes.length ; i++) 
			{
				if (nodes[i] == null) { continue; }
				var objProduct = this.fillProduct(nodes[i]);
				a.push(objProduct);
			}
			this.array = a;
			var nf = new NumberFormat(this.basketTotal);
			nf.setPlaces(2);
			nf.setSeparators(true);

			$("SelectedBasketCount").innerHTML = "";
			$("BasketTotalCount").innerHTML = "(" + this.count + " adet ürün) ";
			$("SelectedBasketTotalTL").innerHTML = "0" + this.mainCurrency;
			$("BasketTotalTL").innerHTML = nf.toFormatted() + this.mainCurrency;

			if (this.basketTotal > 0 && this.basketPuan > 0) {
				nf = new NumberFormat(this.basketPuan);
				nf.setPlaces(0);
				nf.setSeparators(true);
				$("BasketTotalTL").innerHTML += " + " + nf.toFormatted() + " Puan";
			}
			else if (this.basketTotal == 0 && this.basketPuan > 0) {
				nf = new NumberFormat(this.basketPuan);
				nf.setPlaces(0);
				nf.setSeparators(true);
				$("BasketTotalTL").innerHTML = nf.toFormatted() + " Puan";
			}
		}
		this.state = 2;
		if (doc.getAttribute("command") != "lastlist") { this.filldiv();}
		if (doc.getAttribute("command") == "basketinsert") {
			this.onclickInsertComplete(iTemp);
		}
		else if (doc.getAttribute("command") == "lastlist") {
			this.onpostBasket(iTemp);
		}
	},
	insertSortArray: function(order) {
		var a = order.split(",");
		var a1 = a.sort();
		var s = "";
		var i = 0;
		for (i = 0; i < a1.length; i++)
		{
			if (s != "") { s += "," }
			s += a1[i].substring(4);
		}
		return s;
	},
	fillProduct: function(node) {

		var objProduct = new KY.Web.BasketItem();
		objProduct.Sort1 = node.getAttribute("order1");
		objProduct.Sort2 = node.getAttribute("order2");
		objProduct.Sort3 = node.getAttribute("order3");
		objProduct.Sort4 = node.getAttribute("order4");
		objProduct.Sort5 = node.getAttribute("order5");
		objProduct.BasketId = node.getElementsByTagName("BasketId")[0].firstChild.nodeValue;
		objProduct.ProductId = node.getElementsByTagName("ProductId")[0].firstChild.nodeValue;
		objProduct.Name = node.getElementsByTagName("Name")[0].firstChild.nodeValue;
		this.count++;
		var j = 0;
		if (node.getElementsByTagName("Writers")[0].getAttribute("count") != "0") {
			for (j = 0; j <node.getElementsByTagName("Writers").length ; j++ )
			{
				if (node.getElementsByTagName("Writers")[j].getAttribute("count") == "0") {
					continue;
				}
				var objWriter = new KY.Web.Writer();
				objWriter.WriterId = node.getElementsByTagName("Writers")[j].getElementsByTagName("WriterId")[0].firstChild.nodeValue;
				objWriter.WriterName = node.getElementsByTagName("Writers")[j].getElementsByTagName("WriterName")[0].firstChild.nodeValue;
				objWriter.Url = node.getElementsByTagName("Writers")[j].getElementsByTagName("Url")[0].firstChild.nodeValue;
				objProduct.Writers.push(objWriter);
			}
		}

		objProduct.PublisherId = node.getElementsByTagName("PublisherId")[0].firstChild.nodeValue;
		objProduct.PublisherText = node.getElementsByTagName("PublisherText")[0].firstChild.nodeValue;
		objProduct.Amount = node.getElementsByTagName("Amount")[0].firstChild.nodeValue;
		objProduct.KYAmount = node.getElementsByTagName("KYAmount")[0].firstChild.nodeValue;
		objProduct.SOAmount = node.getElementsByTagName("SOAmount")[0].firstChild.nodeValue;
		objProduct.BTGAmount = node.getElementsByTagName("BTGAmount")[0].firstChild.nodeValue;
		objProduct.Discount = node.getElementsByTagName("Discount")[0].firstChild.nodeValue;
		objProduct.Currency = node.getElementsByTagName("Currency")[0].firstChild.nodeValue;
		try
		{
			objProduct.Catalog = node.getElementsByTagName("Catalog")[0].firstChild.nodeValue;
		}
		catch (err)
		{
			objProduct.Catalog = 0;
		}
		
		if (objProduct.Catalog == 1) {
			this.basketPuan += eval(objProduct.KYAmount);
			objProduct.Currency = " Puan";
		}
		else {
			this.basketTotal += eval(objProduct.SOAmount);
			this.mainCurrency = objProduct.Currency;
		}
		try
		{
			if (node.getElementsByTagName("BTGProduct")[0].getAttribute("count") != "0")
			{
				objProduct.BTGProduct = this.fillProduct(node.getElementsByTagName("BTGProduct")[0]);
			}
		}
		catch (ex)
		{
		}
		objProduct.ImageId = node.getElementsByTagName("ImageId")[0].firstChild.nodeValue;
		objProduct.OptainTime = node.getElementsByTagName("OptainTime")[0].firstChild.nodeValue;


		return objProduct;
	},
	filldiv: function() {
		this.clearSearchResult();
		while ( $("BasketBooksDIV").firstChild ) $("BasketBooksDIV").removeChild( $("BasketBooksDIV").firstChild );
		$("BasketSearch").value = "";
		var aOrder = null;
		switch ($("BasketSortCombo").value) {
			case "1":
				aOrder = this.orderlist1.split(",");
				break;
			case"2":
				aOrder = this.orderlist2.split(",");
				break;
			case "3":
				aOrder = this.orderlist3.split(",");
				break;
			case "4":
				aOrder = this.orderlist4.split(",");
				break;
			case "5":
				aOrder = this.orderlist5.split(",");
				break;
		}
		var i = 0;
		this.arrayName = "";

		for (i = 0; i < aOrder.length; i++ ) {
			var obj = this.findProduct(aOrder[i]);
			if (obj == null) { continue; }
			var sHTML = "";
			var nf = null;
			var subDiv = document.createElement("div");
			var iOrder = 0;
			
			subDiv.id = "BasketBooksItemDIV_" + obj.BasketId;
			subDiv.idx = i;
			subDiv.BasketId = obj.BasketId;
			subDiv.BTGBasketId = 0;
			subDiv.ProductId = obj.ProductId;
			var j = 0;
			for (j = 0; j < obj.Writers.length; j++ )
			{
				if (j > 0) { sHTML += " , "; }
				sHTML += obj.Writers[j].WriterName; 
			}
			if (this.arrayName != "") { this.arrayName += "|"; }
			this.arrayName += obj.Name;
			if (obj.BTGProduct) { this.arrayName += "##" + obj.BTGProduct.Name; }
			subDiv.ProName = obj.Name;
			subDiv.BTGProName = "";
			subDiv.Writers = sHTML;
			subDiv.PublisherText = obj.PublisherText;
			subDiv.OptainTime = obj.OptainTime;
			subDiv.Catalog = (obj.Catalog == "" ? 0 : obj.Catalog);
			subDiv.ImageId = obj.ImageId;
			if (MS.Browser.isIE) { subDiv.style.width = "97%"; } 
			else { subDiv.style.width = "98%";}
			subDiv.style.height = "30px";
			if (obj.BTGProduct)	{
				subDiv.BTGBasketId = obj.BTGProduct.BasketId;
				subDiv.BTGProName = obj.BTGProduct.Name;
				subDiv.style.height = "60px";
				nf = new NumberFormat(eval(obj.SOAmount) + eval(obj.BTGProduct.BTGAmount));
				if (obj.Catalog == 1) {
					nf.setPlaces(0);
				}
				else {
					nf.setPlaces(2);
				}
				nf.setSeparators(true);
				subDiv.Amount = eval(obj.Amount)
				subDiv.KYAmount = eval(obj.KYAmount) + eval(obj.BTGProduct.BTGAmount);
				subDiv.SOAmount = eval(obj.SOAmount) + eval(obj.BTGProduct.BTGAmount);
				sHTML = "" +
					"<table border='0' style='height:60px' cellspacing='1' cellpadding='1' >" +
						"<tr>" +
							"<td width='30px' id='tdBasketItem_" + obj.BasketId + "'><input type='checkbox' id='cbBasketItem_" + obj.BasketId + "' value='" + obj.BasketId + "'></td>" +
							"<td width='540px' id='tdBasketItemName_1_" + obj.BasketId + "' style='cursor:pointer;' onclick='window.open(\"/kitap/default.asp?id=" + obj.ProductId + "\",\"KitapPage_" + obj.BasketId + "\")'><b>" + obj.Name + "</b></td>" +
							"<td align='right' width='100px'>" + nf.toFormatted() + (obj.Catalog == 1 ? "<font color=\"#0000FF\">" : "") + obj.Currency + (obj.Catalog == 1 ? "</font>" : "") + "</td>" +
							"<td align='right' width='65px'><input id='btnBasketItem_" + obj.BasketId + "' type='image' src='/resim/sepet_sil.png' ></td>" +
						"</tr>"
				sHTML += "<tr>" +
							"<td width='30px' id='tdBasketItem_" + obj.BTGProduct.BasketId + "' align='center' ><img src='/resim/asagi_ok.gif' border='0' width='16px' height='16px' /></td>" +
							"<td width='540px' id='tdBasketItemName_2_" + obj.BasketId + "' style='cursor:pointer;' onclick='window.open(\"/kitap/default.asp?id=" + obj.BTGProduct.ProductId + "\",\"KitapPage_" + obj.BTGProduct.BasketId + "\")'><b>" + obj.BTGProduct.Name + "</b></td>" +
							"<td align='right' width='100px'></td>" +
							"<td align='right' ></td>" +
						"</tr>"
				sHTML += "</table>";
			}
			else {
				nf = new NumberFormat(obj.SOAmount);
				if (obj.Catalog == 1) {
					nf.setPlaces(0);
				}
				else {
					nf.setPlaces(2);
				}
				nf.setSeparators(true);
				subDiv.Amount = eval(obj.Amount);
				subDiv.KYAmount = eval(obj.KYAmount);
				subDiv.SOAmount = eval(obj.SOAmount);

				sHTML = "" +
					"<table border='0' style='height:30px' cellspacing='1' cellpadding='1'>" +
						"<tr>" +
							"<td width='30px' id='tdBasketItem_" + obj.BasketId + "'><input type='checkbox' id='cbBasketItem_" + obj.BasketId + "' value='" + obj.BasketId + "'></td>" +
							"<td width='540px' id='tdBasketItemName_1_" + obj.BasketId + "' style='cursor:pointer;' onclick='window.open(\"/kitap/default.asp?id=" + obj.ProductId + "\",\"KitapPage_" + obj.BasketId + "\")'><b>" + obj.Name + "</b></td>" +
							"<td align='right' width='100px'>" + nf.toFormatted() + (obj.Catalog == 1 ? "<font color=\"#0000FF\">" : "") + obj.Currency + (obj.Catalog == 1 ? "</font>" : "") + "</td>" +
							"<td align='right' width='65px'><input id='btnBasketItem_" + obj.BasketId + "' type='image' src='/resim/sepet_sil.png' ></td>" +
						"</tr>" +
					"</table>";
			}

			subDiv.innerHTML = sHTML;
			$("BasketBooksDIV").appendChild(subDiv);
			addEvent($("cbBasketItem_" + obj.BasketId), "click", this.onclickCheckBox.bind(this));
			addEvent($("btnBasketItem_" + obj.BasketId), "click", this.onclickDeleteBtn.bind(this));
			addEvent(subDiv, "mouseover", this.onchangebackcolor.bind(this));
			addEvent(subDiv, "mouseout", this.onchangebackcolor.bind(this));
		}
		this.selectedCount = 0;
		this.selectedTotal = 0;
		this.selectedPuan = 0;
		$("SelectedBasketCount").innerHTML = (this.selectedCount > 0 ? this.selectedCount + " adet " : "");
		$("SelectedBasketTotalTL").innerHTML = "0" + this.mainCurrency;
		if (this.count > 0 && this.div.style.display == "") {
			try
			{
				$("cbBasketItem_" + $("BasketBooksDIV").childNodes[0].BasketId).focus()
			}
			catch (err)
			{
			}
		}
	},
	fillminidiv: function() {
		var sHTML = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"1\" width=\"100%\">" +
						"<tr>" +
							"<td class=\"normalbold\">Sepetinizde " + this.count + " ürün var.</td>" +
						"</tr>"

		var aOrder = null;
		aOrder = this.orderlist4.split(",");

		var i = 0;
		this.hoverobj.clear();

		for (i = 0; i < aOrder.length; i++ ) {
			var obj = this.findProduct(aOrder[i]);
			if (obj == null) { continue; }
			var sName = obj.Name + (obj.BTGProduct ? " / " + obj.BTGProduct.Name : "");
			sName = sName.replace("'", "&#39;");
			if (i < 5) {
				sHTML += "<tr><td align=\"left\" class=\"normalkucuk\" style=\"cursor:pointer\" onmouseover='KY.Web.Validation.ShowMsg(this,\"" + sName + "\",0,10,5)' onmouseout=\"KY.Web.Validation.Hide()\"><img id=\"tdMiniBasket_" + obj.BasketId + "\" src=\"/resim/external_link.png\" border=\"0\" />" + (sName.length > 18 ? sName.substring(0,18) + "..." : sName);
				if (obj.Catalog == 1) {
					sHTML += "<font color=#0000FF> <b>P</b> </font>";
				}
				if (obj.Catalog == 2) {
					sHTML += "<font color=#0000FF> <b>T</b> </font>";
				}
				sHTML += "</td></tr>";
				this.hoverobj.addItem("tdMiniBasket_" + obj.BasketId, obj.ProductId);
			}
		}
		
		if (this.count != 0) {
			var nf = new NumberFormat(this.basketTotal);
			nf.setPlaces(2);
			nf.setSeparators(true);
			var nf2 = new NumberFormat(this.basketPuan);
			nf2.setPlaces(0);
			nf2.setSeparators(true);

			if (this.basketTotal > 0) {
				sHTML += "<tr><td width=\"5px\" style=\"width:5px\"></td></tr>" +
						"<tr>" + 
						  "<td class=\"normalkucuk\"><b>Toplam Tutar: " + nf.toFormatted() + obj.Currency + "</b></td>" +
						"</tr>"
			}
			if (this.basketPuan > 0) {
				sHTML += "<tr><td width=\"5px\" style=\"width:5px\"></td></tr>" +
						"<tr>" + 
						  "<td class=\"normalkucuk\"><b>Toplam Tutar: " + nf2.toFormatted() + " Puan</b></td>" +
						"</tr>"
			}

			if ($("tdBasketUyari")) {
				$("tdBasketUyari").innerHTML = "<img src=\"/resim/uyelik_sepet_r23_c4.gif\" alt=\"\" border=\"0\" />"
			}	
		}
		else {
			if ($("tdBasketUyari")) {
				$("tdBasketUyari").innerHTML = ""
			}	
		}

		$("tdBasket").innerHTML = sHTML + "</table>";
		this.hoverobj.create();
	},
	findProduct: function(id) {
		var i = 0;
		for (i = 0; i < this.array.length; i++ )
		{
			if (this.array[i])
			{
				if (this.array[i].BasketId == id)
				{
					return this.array[i];
				}
			}
		}
		return null;
	},
	onsearchkeydown: function(e) {
		var key = MS.Keys.getCode(e);
		switch(key) {
			case MS.Keys.TAB:
			case MS.Keys.ENTER:
				MS.cancelEvent(e);
				break;
			case MS.Keys.ESC:
				break;
			case MS.Keys.KEYUP:
				break;
			case MS.Keys.KEYDOWN:
				break;
		}
	},
	onsearchkeyup: function(e) {
		switch(MS.Keys.getCode(e)) {
			case MS.Keys.TAB:
			case MS.Keys.ENTER:
				this.selectedSearchItem();
				break;
			case MS.Keys.ESC:
				this.clearSearchResult(); 
				$("BasketSearch").value = "";
				return false;
				break;
			case MS.Keys.KEYUP:
				break;
			case MS.Keys.KEYDOWN:
				break;
			case MS.Keys.KEYLEFT:
				break;
			case MS.Keys.KEYRIGHT:
				break;
			case MS.Keys.ALT:
				break;
			case MS.Keys.SHIFT:
				break;
			case MS.Keys.CTRL:
				break;
			default:
				if($("BasketSearch").value.length < this.minChars) { this.clearSearchResult(); return false; }
				if(this.timer != null) clearTimeout(this.timer);
				this.timer = setTimeout(this.searchInProductList.bind(this), this.waitAfterInput);
				break;
		}
	},
	searchInProductList: function() {
		this.clearSearchResult();
		if($("BasketSearch").value.length < this.minChars) { return; }
		var searchText = $("BasketSearch").value;
		if ($("BasketSearch").value.indexOf("i") >= 0 || $("BasketSearch").value.indexOf("İ") >= 0) {
			searchText += ($("BasketSearch").value.indexOf("i") >= 0 ?  "|" + $("BasketSearch").value.replace("i", "İ") : "|" + $("BasketSearch").value.replace("İ", "i"));
		}
		if ($("BasketSearch").value.indexOf("ı") >= 0 || $("BasketSearch").value.indexOf("I") >= 0) {
			searchText += ($("BasketSearch").value.indexOf("ı") >= 0 ? "|" + $("BasketSearch").value.replace("ı", "I") : "|" + $("BasketSearch").value.replace("I", "ı"));
		}
		var reg = new RegExp(searchText, "gi");
        var m = null;
		this.searchResult = Array();
		var i = 0;
		while ((m = reg.exec(this.arrayName)) != null && i < 1000)
		{
			this.searchResult.push(m.index);
			i++;
		}
		this.selectedSearchItem();
	},
	selectedSearchItem: function() {
		if (!this.searchResult) { return; }
		if (this.searchResult.length <= 0) { return; }
		
		var currentPos = this.searchLastPos + 1;
		if (currentPos >= this.searchResult.length)
		{
			currentPos = 0;
			this.searchLastPos = -1;
		}
		var currentIndex = this.searchResult[currentPos];
		var a = this.arrayName.split("|");
		var i = 0;
		var len = 0;
		var index = 0;
		for (i = 0; i < a.length; i++)
		{
			len += a[i].length;
			if (len + (i * 1) > currentIndex)
			{
				if (this.searchLastDiv) {
					$("tdBasketItemName_1_" + this.searchLastDiv.BasketId).innerHTML = "<b>" + this.searchLastDiv.ProName + "</br>";
					if (this.searchLastDiv.BTGBasketId != 0)
					{
						$("tdBasketItemName_2_" + this.searchLastDiv.BasketId).innerHTML = "<b>" + this.searchLastDiv.BTGProName + "</br>";
					}
				}

				index = (currentIndex - (len - a[i].length + (i * 1)) < 0 ? 0 : currentIndex - (len - a[i].length + (i * 1)) ) ;
				this.searchLastDiv = $("BasketBooksDIV").childNodes[i];
				this.searchLastPos++;
				var objTD = null;
				var s = "";
				var iLen = 0;
				if (a[i].substring(0,index).indexOf("##") < 0) {
					objTD = $("tdBasketItemName_1_" + $("BasketBooksDIV").childNodes[i].BasketId);
					s = $("BasketBooksDIV").childNodes[i].ProName;
					iLen = $("BasketBooksDIV").childNodes[i].ProName.length;
				}
				else {
					objTD = $("tdBasketItemName_2_" + $("BasketBooksDIV").childNodes[i].BasketId);
					s = $("BasketBooksDIV").childNodes[i].BTGProName;
					index = index - ($("BasketBooksDIV").childNodes[i].ProName.length + 2);
					iLen = $("BasketBooksDIV").childNodes[i].BTGProName.length;
				}
				if (index == 0) {
					objTD.innerHTML = "<b>" + "<span id='spSearchResultSpan' style='background-Color:yellow'>" + s.substring(0, $("BasketSearch").value.length)  + "</span>" +  s.substring(index + $("BasketSearch").value.length) + "</b>";
				}
				else if (index + $("BasketSearch").value.length == iLen) {
					objTD.innerHTML = "<b>" + s.substring(0, index) + "<span id='spSearchResultSpan' style='background-Color:yellow'>" + s.substring(index, index + $("BasketSearch").value.length) + "</span>" + "</b>";
				}
				else {
					objTD.innerHTML = "<b>" + s.substring(0, index) + "<span id='spSearchResultSpan' style='background-Color:yellow'>" + s.substring(index, index + $("BasketSearch").value.length) + "</span>" + s.substring(index + $("BasketSearch").value.length) + "</b>";
				}
				$("cbBasketItem_" + $("BasketBooksDIV").childNodes[i].BasketId).focus();
				$("BasketSearch").focus();
				return;
			}
		}
	},
	clearSearchResult: function() {

		if (this.searchLastDiv) {
			if ($("tdBasketItemName_1_" + this.searchLastDiv.BasketId)) { $("tdBasketItemName_1_" + this.searchLastDiv.BasketId).innerHTML = "<b>" + this.searchLastDiv.ProName + "</br>"; }
			if (this.searchLastDiv.BTGBasketId != 0) { $("tdBasketItemName_2_" + this.searchLastDiv.BasketId).innerHTML = "<b>" + this.searchLastDiv.BTGProName + "</br>"; }
		}

		this.searchResult = Array();
		this.searchLastIndex = -1;
		this.searchLastPos = -1;
		this.searchLastDiv = null;
	},
	onclickCheckBox: function(e) {
		var objCB = MS.getTarget(e);
		var iFactor = 1;

		if (objCB.checked) { iFactor = 1; }
		else { iFactor = -1; }
		if (objCB.id == "BasketSelectAll") {
			for (i = 0; i < this.array.length; i++)
			{
				var obj = $("cbBasketItem_" + this.array[i].BasketId);
				if (obj.checked != objCB.checked)
				{
					if ($("BasketBooksItemDIV_" + this.array[i].BasketId).Catalog == 1) {
						this.selectedPuan += (iFactor * eval($("BasketBooksItemDIV_" + this.array[i].BasketId).SOAmount));
					}
					else {
						this.selectedTotal += (iFactor * eval($("BasketBooksItemDIV_" + this.array[i].BasketId).SOAmount));
					}
					obj.checked = objCB.checked;
				}
			}
			this.selectedCount = (iFactor == 1 ? this.count : 0); 
		}
		else 
		{
			var obj = $("BasketBooksItemDIV_" + objCB.value);
			if (obj.BTGBasketId) {
				this.selectedCount = (iFactor == 1 ? this.selectedCount + 2 : this.selectedCount - 2); 
			}
			else {
				this.selectedCount = (iFactor == 1 ? this.selectedCount + 1 : this.selectedCount - 1); 
			}

			if (obj.Catalog == 1) {
				this.selectedPuan += (iFactor * eval(obj.SOAmount));
			}
			else {
				this.selectedTotal += (iFactor * eval(obj.SOAmount));
			}
		}

		var nf = new NumberFormat(this.selectedTotal);
		nf.setPlaces(2);
		nf.setSeparators(true);

		$("SelectedBasketCount").innerHTML = (this.selectedCount > 0 ? this.selectedCount + " adet " : "");
		$("BasketTotalCount").innerHTML = "(" + this.count + " adet ürün) ";
		$("SelectedBasketTotalTL").innerHTML = nf.toFormatted() + this.mainCurrency;
		if (this.selectedTotal > 0 && this.selectedPuan > 0) {
			nf = new NumberFormat(this.selectedPuan);
			nf.setPlaces(2);
			nf.setSeparators(true);
			$("SelectedBasketTotalTL").innerHTML += " + " + nf.toFormatted() + " Puan";
		}
		else if (this.selectedTotal == 0 && this.selectedPuan > 0) {
			nf = new NumberFormat(this.selectedPuan);
			nf.setPlaces(2);
			nf.setSeparators(true);
			$("SelectedBasketTotalTL").innerHTML = nf.toFormatted() + " Puan";
		}
	},
	onclickInsertBtn: function(id) {
		if ($("sepetEkle_" + id)) {
			if ($("sepetEkle_" + id).tagName == "IMG") {
				$("sepetEkle_" + id).src = "http://" + window.location.hostname + "/resim/dugme/" + (($("sepetEkle_" + id).src.indexOf("kb_sepeteekle_1.gif") > -1) ? "kb_sepeteekle_1l.gif" : "kb_sepeteekle_2l.gif");
			};
		}

		this.getBasket("t=basketinsert&id=" + id);
	},
	onclickInsertComplete: function(id) {
		if ($("sepetEkle_" + id)) {
			if ($("sepetEkle_" + id).tagName == "IMG") {
				$("sepetEkle_" + id).src = "http://" + window.location.hostname + "/resim/dugme/" + (($("sepetEkle_" + id).src.indexOf("kb_sepeteekle_1l.gif") > -1) ? "kb_sepeteekle_1h.gif" : "kb_sepeteekle_2h.gif");
			};
		}
		
		if ($("tdBasket")) {
			this.fillminidiv();
		}
	},
	onclickDeleteBtn: function(e) {
		var ele = MS.getTarget(e);
		var id = ele.id.substring(14);
		this.getBasket("t=remove&id=" + id);
	},
	onclickPostBtn: function(e) {
		this.postBasket(1);
	},
	onclickDeleteComplete: function(id) {
		$("BasketSelectedBookDIV").style.display = "none";
		$("BasketSelectedBookImg").src = "/resim/bosresim.gif";
		var nf = null;
		this.count--;

		if ($("BasketBooksItemDIV_" + id).BTGBasketId) {
			this.count--;
		}

		if (this.count == 0) {
			this.clearSearchResult();
			this.array = Array();
			this.basketPuan = 0;
			this.basketTotal = 0;
			this.selectedCount = 0;
			this.selectedPuan = 0;
			this.selectedTotal = 0;
			$("SelectedBasketCount").innerHTML = "";
			$("BasketTotalTL").innerHTML = "0" + this.mainCurrency;
			$("BasketTotalCount").innerHTML = "";

			this.orderlist1 = "";
			this.orderlist2 = "";
			this.orderlist3 = "";
			this.orderlist4 = "";
			this.orderlist5 = "";

			if ($("sepetEkle_" + id)) {
				if ($("sepetEkle_" + id).tagName == "IMG") {
					$("sepetEkle_" + id).src = "http://" + window.location.hostname + "/resim/dugme/" + (($("sepetEkle_" + id).src.indexOf("kb_sepeteekle_1") > -1) ? "kb_sepeteekle_1.gif" : "kb_sepeteekle_2.gif");
				};
			}


			this.filldiv();
			if ($("tdBasket")) {
				this.fillminidiv();
			}

			return;
		}


		if ($("BasketBooksItemDIV_" + id).Catalog == 1) {
			this.basketPuan += eval(-1 * eval($("BasketBooksItemDIV_" + id).SOAmount));
		}
		else {
			this.basketTotal += eval(-1 * eval($("BasketBooksItemDIV_" + id).SOAmount));
		}
		nf = new NumberFormat(this.basketTotal); // Secili Toplam
		nf.setPlaces(2);
		nf.setSeparators(true);
		$("BasketTotalTL").innerHTML = nf.toFormatted() + this.mainCurrency;

		if (this.basketTotal > 0 && this.basketPuan > 0) {
			nf = new NumberFormat(this.basketPuan);
			nf.setPlaces(0);
			nf.setSeparators(true);
			$("BasketTotalTL").innerHTML += " + " + nf.toFormatted() + " Puan";
		}
		else if (this.basketTotal == 0 && this.basketPuan > 0) {
			nf = new NumberFormat(this.basketPuan);
			nf.setPlaces(0);
			nf.setSeparators(true);
			$("BasketTotalTL").innerHTML = nf.toFormatted() + " Puan";
		}

		if ($("cbBasketItem_" + id).checked) {
			this.selectedCount--;
			if ($("BasketBooksItemDIV_" + id).BTGBasketId) {
				this.selectedCount--;
			}
			if ($("BasketBooksItemDIV_" + id).Catalog == 1) {
				this.selectedPuan += eval(-1 * eval($("BasketBooksItemDIV_" + id).SOAmount));
			}
			else {
				this.selectedTotal += eval(-1 * eval($("BasketBooksItemDIV_" + id).SOAmount));
			}

			var nf = new NumberFormat(this.selectedTotal); // Secili Toplam
			nf.setPlaces(2);
			nf.setSeparators(true);
			$("SelectedBasketTotalTL").innerHTML = nf.toFormatted() + this.mainCurrency;
			if (this.selectedTotal > 0 && this.selectedPuan > 0) {
				nf = new NumberFormat(this.selectedPuan);
				nf.setPlaces(0);
				nf.setSeparators(true);
				$("SelectedBasketTotalTL").innerHTML += " + " + nf.toFormatted() + " Puan";
			}
			else if (this.selectedTotal == 0 && this.selectedPuan > 0) {
				nf = new NumberFormat(this.selectedPuan);
				nf.setPlaces(0);
				nf.setSeparators(true);
				$("SelectedBasketTotalTL").innerHTML = nf.toFormatted() + " Puan";
			}
		}
		this.orderlist1 = "," + this.orderlist1 + ","
		this.orderlist2 = "," + this.orderlist2 + ","
		this.orderlist3 = "," + this.orderlist3 + ","
		this.orderlist4 = "," + this.orderlist4 + ","
		this.orderlist5 = "," + this.orderlist5 + ","
		this.orderlist1 = this.orderlist1.replace("," + id + ",", ",");
		this.orderlist2 = this.orderlist2.replace("," + id + ",", ",");
		this.orderlist3 = this.orderlist3.replace("," + id + ",", ",");
		this.orderlist4 = this.orderlist4.replace("," + id + ",", ",");
		this.orderlist5 = this.orderlist5.replace("," + id + ",", ",");

		this.orderlist1 = this.orderlist1.substring(1, this.orderlist1.length - 1);
		this.orderlist2 = this.orderlist2.substring(1, this.orderlist2.length - 1);
		this.orderlist3 = this.orderlist3.substring(1, this.orderlist3.length - 1);
		this.orderlist4 = this.orderlist4.substring(1, this.orderlist4.length - 1);
		this.orderlist5 = this.orderlist5.substring(1, this.orderlist5.length - 1);

		var i = 0;
		var arrayTemp = Array();
		// Array'den obj leri temizle
		for (i = 0; i < this.array.length; i++ ) {
			if (this.array[i]) {
				if (this.array[i].BasketId != id)
				{
					arrayTemp.push(this.array[i]);
				}
			}
		}
		this.array = arrayTemp;

		// sort array i temizle
		arrayTemp = this.arrayName.split("|");
		this.arrayName = "";
		for (i = 0; i < arrayTemp.length; i++) {
			if (i != $("BasketBooksItemDIV_" + id).idx) {
				if (this.arrayName != "") { this.arrayName += "|"; }
				this.arrayName += arrayTemp[i];
			}
		}

		// indexleri tekrardan duzenle
		switch ($("BasketSortCombo").value) {
			case "1":
				arrayTemp = this.orderlist1.split(",");
				break;
			case"2":
				arrayTemp = this.orderlist2.split(",");
				break;
			case "3":
				arrayTemp = this.orderlist3.split(",");
				break;
			case "4":
				arrayTemp = this.orderlist4.split(",");
				break;
			case "5":
				arrayTemp = this.orderlist5.split(",");
				break;
		}
		for (i = 0; i< arrayTemp.length; i++) {
			$("BasketBooksItemDIV_" + arrayTemp[i]).idx = i;
		}

		$("SelectedBasketCount").innerHTML = (this.selectedCount > 0 ? this.selectedCount + " adet " : "");
		$("BasketTotalCount").innerHTML = (this.count > 0 ? "(" + this.count + " adet ürün) " : "");
		$("BasketBooksDIV").removeChild($("BasketBooksItemDIV_" + id));

		if ($("tdBasket")) {
			this.fillminidiv();
		}

		this.clearSearchResult();
	},
	onchangebackcolor: function(e) {
		var obj = MS.getTarget(e);
		var nf = null;
		if (obj.tagName != "DIV") {
			while (obj.tagName != "DIV")
			{
				obj = obj.parentElement;
			}
		}
		if (e.type == "mouseover") {
			//if(this.timer != null) clearTimeout(this.timer);
			obj.style.backgroundColor = "#91D1F0";
			$("BasketSelectedBookImg").src = "/getimage.asp?resimkod=" + obj.ImageId + "&boyut=60";
			$("BasketSelectedBookDIV").style.display = "inline";
			var s = "";
			s = "<b>" + obj.ProName + "</b><br>";
			s += "<i>";
			s += obj.Writers;
			s += "<br>";
			s += obj.PublisherText;
			s += "</i>";
			s += "<br>";
			s += "Temin Süresi : " + obj.OptainTime + " gün";
			s += "<br><font size='1'>";
			if (obj.Catalog == 1) {
				nf = new NumberFormat(obj.Amount);
				nf.setPlaces(2);
				nf.setSeparators(true);
				s += "Fiyatı : " + nf.toFormatted() + " Puan";
			} 
			else {
				nf = new NumberFormat(obj.Amount);
				nf.setPlaces(2);
				nf.setSeparators(true);
				//s += "Liste Fiyatı : " + nf.toFormatted() + this.mainCurrency;
				//s += "<br>";
				nf = new NumberFormat(obj.KYAmount);
				nf.setPlaces(2);
				nf.setSeparators(true);
				s += "Kitapyurdu Fiyatı : " + nf.toFormatted() + this.mainCurrency;
				if (obj.KYAmount != obj.SOAmount)
				{
					s += "<br>";
					nf = new NumberFormat(obj.SOAmount);
					nf.setPlaces(2);
					nf.setSeparators(true);
					s += "Size Özel Fiyat : <font color='red'>" + nf.toFormatted() + this.mainCurrency + "</font>";
				}
			}
			s += "</font>"
			
			$("BasketSelectedBookDIV").innerHTML = s;
		}
		else //mouseout
		{
			obj.style.backgroundColor = "#FFFFFF";
			$("BasketSelectedBookDIV").style.display = "none";
			$("BasketSelectedBookImg").src = "/resim/bosresim.gif";
			$("BasketSelectedBookImg").height = 95;
		}
	},
	onchangeImageUrl: function(e) {
		if (eval($("BasketSelectedBookImg").height) > 95) {
			$("BasketSelectedBookImg").height = 95;
		}
	},
	initializeDone: function() {
		if(this.objXML.readyState == 4)
		{
			if(this.objXML.status != 200) 
			{ 
				alert( "Lütfen daha sonra tekrar deneyiniz."); 
				return; 
			}
		}
		else 
		{
			return;
		}
		
		this.div.innerHTML = this.objXML.responseText;
		document.body.appendChild(this.div);
		$("BasketSelectedBookDIV").style.display = "none";
		addEvent($("btnBasketOrder"), "click", this.onclickPostBtn.bind(this));
		addEvent($("btnBasketClose"), "click", this.hide.bind(this));
		addEvent($("BasketSelectedBookImg"), "load", this.onchangeImageUrl.bind(this));
		addEvent($("BasketSelectAll"), "click", this.onclickCheckBox.bind(this));
		addEvent($("BasketSortCombo"), "change", this.filldiv.bind(this));
		addEvent($("BasketSearch"), "keydown", this.onsearchkeydown.bind(this));
		addEvent($("BasketSearch"), "keyup", this.onsearchkeyup.bind(this));

		this.state = 1;
		this.getBasket("");
	},
	initialize: function() {
		this.div = document.createElement("div");
		this.div.id = "BasketMainDIV";
		this.div.style.visibility = "hidden";
		this.div.style.display = "none";
		this.div.style.border = "thin solid #990000";
		this.div.style.width = "828px" ;
		this.div.style.height = "557px";
		this.objXML = null;
		this.state = 0;
		this.hoverobj = new KY.Web.HoverMenuArray(188,100);

		if (window.XMLHttpRequest) {
			this.objXML = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			try 
			{ 
				this.objXML = new ActiveXObject("Microsoft.XMLHTTP"); 
			}
			catch (err) 
			{ 
				return; 
			}
		}

		if (this.objXML) {
			this.objXML.onreadystatechange = this.initializeDone.bind(this);
		}

		this.objXML.open("GET", window.location.protocol + "//" + window.location.hostname + "/servlet/Templates/basketempty.asp", true);
		this.objXML.setRequestHeader("Accept-Charset", "iso-8859-9");
		this.objXML.setRequestHeader("Accept-Language", "tr");
		this.objXML.send(null);	
	}
}, false);

Object.extend(KY.Web.Basket, {
	tempXML: null,
	ShowBasket: function(ele) {
		if (ele) {
			if (ele.state != 2) {
				alert("Lütfen sayfanın yüklenmesini bekleyiniz.");
				return;
			}
			ele.show();
			return;
		}
		else {
			alert("Lütfen sayfanın yüklenmesini bekleyiniz.");
		}
	},
	OrderNow: function(ele) {
		if (ele) {
			if (ele.state != 2) {
				alert("Lütfen sayfanın yüklenmesini bekleyiniz.");
				return;
			}
		}
		else {
			alert("Lütfen sayfanın yüklenmesini bekleyiniz.");
			return;
		}
		ele.postBasket(0);
	},
	Add: function(id) {
		var ele = objBasket;
		if (ele) {
			if (ele.state != 2) {
				alert("Lütfen sayfanın yüklenmesini bekleyiniz.");
				return;
			}
			ele.onclickInsertBtn(id);
			return;
		}
		else {
			alert("Lütfen sayfanın yüklenmesini bekleyiniz.");
		}
	},
	Create: function() {
		try
		{
			objBasket = new KY.Web.Basket();
		}
		catch (ex)
		{
			setTimeout(KY.Web.Basket.Create(), 2000);
		}
	},
	Favori: function(obj, id) {
		KY.Web.Basket.tempXML = null;
		if (window.XMLHttpRequest) {
			KY.Web.Basket.tempXML = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			try 
			{ 
				KY.Web.Basket.tempXML = new ActiveXObject("Microsoft.XMLHTTP"); 
			}
			catch (err) 
			{ 
				return; 
			}
		}

		if (KY.Web.Basket.tempXML) {
			KY.Web.Basket.tempXML.onreadystatechange = function() {
				if(KY.Web.Basket.tempXML.readyState == 4) {
					if(KY.Web.Basket.tempXML.status != 200) { 
						alert( KY.Web.Basket.tempXML.status + "Lütfen daha sonra tekrar deneyiniz."); 
						return; 
					}
				}
				else {
					return;
				}

				if (KY.Web.Basket.tempXML.responseText.length != 0 ) {
					if (obj.tagName == "IMG") {
						if (obj.src.indexOf("/kb_favorilerine_ekleniyor.gif") >= 0) {
							obj.src = "http://" + window.location.hostname + "/resim/dugme/kb_favori_listenizde.gif";
						} else {
							obj.src = "http://" + window.location.hostname + "/resim/dugme/kb_favorimeekle_yesil.gif";
							obj.onmouseover = function() {
								KY.Web.Validation.ShowMsg(this,'Favorilerinizde ekli', 0, 10, 10);
							}
							obj.onmouseout = function() {
								KY.Web.Validation.Hide();
							}
						}
						obj.onclick = function() {
							window.location = "https://" + window.location.hostname + "/uye/favori/";
						}
					}
				}
			};
		}

		if (obj) {
			if (obj.tagName == "IMG") {
				if (obj.src.indexOf("kb_favorilerime_ekle.gif") >= 0) {
					obj.src = "http://" + window.location.hostname + "/resim/dugme/kb_favorilerine_ekleniyor.gif";
				} else {
					obj.src = "http://" + window.location.hostname + "/resim/dugme/kb_favorimeekle_sari.gif";
				}
			}
		}

		var url = window.location.protocol + "//" + window.location.hostname + "/servLet/BasketFunction.asp?t=favoriinsert&id=" + id; 
		KY.Web.Basket.tempXML.open("GET", url, true);
		KY.Web.Basket.tempXML.setRequestHeader("Accept-Charset", "iso-8859-9");
		KY.Web.Basket.tempXML.setRequestHeader("Accept-Language", "tr");
		if(!MS.Browser.isIE) {
			KY.Web.Basket.tempXML.setRequestHeader("Connection", "close");
		}
		KY.Web.Basket.tempXML.send(null);
	}
}, false);

addNamespace("KY.Web.BasketItem");

KY.Web.BasketItem = Class.create();

Object.extend(KY.Web.BasketItem.prototype, {
	Sort1: 0,
	Sort2: 0,
	Sort3: 0,
	Sort4: 0,
	Sort5: 0,
	BasketId: 0,
	ProductId: 0,
	Name: "",
	Writers: null,
	PublisherId: 0,
	PublisherText: "",
	Amount: 0,
	KYAmount: 0,
	SOAmount: 0,
	Discount: 0,
	Currency: 0,
	BTGProduct: null,
	BTGAmount: 0,
	Catalog: "",
	OptainTime: 0,
	ImageId: 0,
	initialize: function() {
		this.Writers = new Array();
	}
}, false);

addNamespace("KY.Web.Writer");

KY.Web.Writer = Class.create();

Object.extend(KY.Web.Writer.prototype, {
	WriterId: 0,
	WriterName: "",
	Url: "",
	initialize: function() {
		this.WriterId = 0;
		this.WriterName = "";
		this.Url = "";
	}
}, false);



