﻿window.onload = loadIndex;

function loadIndex() {
	if (searchQuery()!=undefined)
	{
		document.getElementById("searchme").value = searchQuery();
	}
	else{
		document.getElementById("aramaSonucu").innerHTML = "Aranacak sorgu giriniz.";
	}
	ky.ajax.loadXml("xml/searchdata.xml", xmlLoaded);
}

function searchQuery()
{
	var query = location.hash;
	if(query !=""){
		query = query.substr(1);
		return query;
	}
	else{
		return undefined;	
	}
}

function xmlLoaded(o)
{
	xmlDoc = o;
	if (searchQuery()!=undefined)
	{
		searchIndex();
	}
}

function toLowerCaseTr(str)
{
	str = str.replace(/I/, "ı");
	return str.toLowerCase();
}

function searchIndex() { 
	
	if (!xmlDoc) {
		loadIndex();
	}

	var allitems = xmlDoc.getElementsByTagName("page");

	searchterm = document.getElementById("searchme").value;
	//searchterm = "kart";

	if (searchterm.length < 3) {
		alert("Aranacak kelime minimum 3 karakter olmalıdır.");
	}
	else 
	{

		var aramaSonucu = document.getElementById("aramaSonucu");
		var site = "http://" + location.host;
		aramaSonucu.innerHTML = "";
		var header = document.createElement("h5");
		var list = document.createElement("ul");
		var searchedfor = document.createTextNode("\u0022" + searchterm+ "\u0022 için arama sonuçları");
		aramaSonucu.appendChild(header);
		header.appendChild(searchedfor);
		aramaSonucu.appendChild(list);
		
		var bulundu = false;

		for (var i=0;i<allitems.length;i++) {
			if (allitems[i].firstChild)
			{
				var c_name = allitems[i].getAttribute('url');
				var gelenVeri = allitems[i].firstChild.nodeValue;
				var ai = toLowerCaseTr(gelenVeri).indexOf(toLowerCaseTr(searchterm));
				//alert(gelenVeri);				
				//break;
				if (ai>0)
				{
					var p0 = gelenVeri.substring(Math.max(0, ai-100), ai);
					var p1 = gelenVeri.substring (ai+searchterm.length, Math.min(gelenVeri.length, ai+100+searchterm.length));
					var gosterilecekVeri = p0.substr(p0.indexOf(" ")+1) + 
						"<strong>"+gelenVeri.substring(ai, ai+searchterm.length) + "</strong>" +
						p1+"...<br />";
					var listitem = document.createElement("li");
					listitem.innerHTML = gosterilecekVeri;
					
					var pageLink = document.createElement("a");
					pageLink.setAttribute('href', site + "/" + c_name);
					pageLink.appendChild(document.createTextNode(site + "/" + c_name));
		
					listitem.appendChild(pageLink);
					list.appendChild(listitem);
					
					bulundu = true;
				}
			}
		}
		
		if (!bulundu)
		{
			var para = document.createElement("p");
			var notfound = document.createTextNode("Üzgünüz, "+searchterm +" için bir karşılık bulunamadı!");
			aramaSonucu.appendChild(para);
			para.appendChild(notfound);
		}
	}
}
