// JavaScript Document
var adres_oneri = 'site/script/ajax/arama_icin_posta_kodu_oner.php';

var oneriSayisi = 0;
var oneriSeciliIndex = 0;
var oneriIdler = new Array();
var oneriDegerler = new Array();

function oneriKutusuTus(e)
{
	var u = e.keyCode ? e.keyCode : e.charCode;
    
	//enter veya tab tuşuna basıldıysa
	if (u == 13 || u == 9)
	{
		if (u == 9)
		{
			oneriyiSec();
		}
		if (document.getElementById('oneriler').style.display == "block")
		{
			return false;
		}
	}
	
	switch (u)
	{
		case 38: //üst ok
			if (oneriSayisi > 0 && oneriSeciliIndex > 0)
			{
				oneriSeciliIndex = (oneriSeciliIndex - 1);
				document.getElementById('oner_satir_' + oneriSeciliIndex).className = "oneriler_secili_satir";
				document.getElementById('oner_satir_' + (parseInt(oneriSeciliIndex) + 1)).className = "";
			}
			else if (oneriSayisi > 0)
			{
				document.getElementById('oner_satir_' + (oneriSeciliIndex)).className = "";
				document.getElementById('oner_satir_' + (oneriSayisi - 1)).className = "oneriler_secili_satir";
				oneriSeciliIndex = (oneriSayisi - 1);
			}
			return true;
			break;
		case 40: //alt ok
			if (oneriSayisi > 0 && oneriSeciliIndex < oneriSayisi - 1)
			{
				oneriSeciliIndex = (parseInt(oneriSeciliIndex) + 1);
				document.getElementById('oner_satir_' + oneriSeciliIndex).className = "oneriler_secili_satir";
				if (oneriSeciliIndex > 0)
				{
					document.getElementById('oner_satir_' + (oneriSeciliIndex - 1)).className = "";
				}
			}
			else if (oneriSayisi > 0)
			{
				if (oneriSeciliIndex > -1)
				{
					document.getElementById('oner_satir_' + (oneriSeciliIndex)).className = "";
				}
				document.getElementById('oner_satir_' + (0)).className = "oneriler_secili_satir";
				oneriSeciliIndex = 0;
			}
			return true;
	}
	return true;
}

function oneriListesiMouseOverSatirSec (satir_index)
{
	//alert(oneriSayisi + " " + satir_index);
	try
	{
		if (satir_index == oneriSeciliIndex) { return false; }
		document.getElementById('oner_satir_' + satir_index).className = "oneriler_secili_satir";
		if (oneriSeciliIndex > -1)
		{
			document.getElementById('oner_satir_' + (oneriSeciliIndex)).className = "";
		}
		oneriSeciliIndex = satir_index;
		document.getElementById('oneriInput').focus();
	}
	catch (error)
	{
		alert(error.message);
	}
}

function onerileriGizle()
{
	document.getElementById('oneriler').style.display = "none";	
}

function onerileriGoster()
{
	document.getElementById('oneriler').style.display = "block";
}

function oneriSec (secilecekIndex)
{
	oneriSeciliIndex = secilecekIndex;
	oneriyiSec();
}

function oneriyiSec()
{
	if (document.getElementById('oneriler').style.display == "block" && oneriSeciliIndex > -1)
	{
		document.getElementById('oneriInput').value = oneriDegerler[oneriSeciliIndex];
		document.getElementById('zid').value = oneriIdler[oneriSeciliIndex];
		onerileriGizle();
		document.getElementById('oneriInput').focus();
		
		var b = document.getElementById('oneriInput').value.length;
		var a = document.getElementById('oneriInput').createTextRange();
		a.move("character", b);
		a.select();
		return false;
	}
}

//XMLHttp Object Oluşturma Fonksiyonu
function XMLHttpObject()
{
    var xmlHttp;
    //1. Seçeneği Dene //Internet Explorer 6 dışındaki tarayıcılar için Çalışır
    try
    {
        xmlHttp = new XMLHttpRequest();
    }
    //1. Seçenek Başarısız Oldu, Diğer Seçenekleri Dene;
    catch (e)
    {
        //Internet Explorer İçin Dene;
            //xmlHttp versiyonları
            xmlHttpVersiyonlar = new Array("MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP");
            var i;
            for (i=0; i<xmlHttpVersiyonlar.length && !xmlHttp; i++)
            {
                try
                {
                xmlHttp = new ActiveXObject(xmlHttpVersiyonlar[i]);
                }
                catch (e){}
            }
    }
    ////////////////////////////////////
    //xmlHttp Oluşturulmuş mu Kontrol Et
    if (!xmlHttp)
    {
        alert("xmlHttpObject nesnesi oluşturulamadı!");
    }
    else
    {
        return xmlHttp;
    }
}

var ajax = XMLHttpObject();

//Sorguyu Yolla
function postaKoduOner(e, kelime)
{
	var u = e.keyCode ? e.keyCode : e.charCode;
    
	if (u == 9 || u == 16 || u == 17 || u == 20 || u == 35 || u == 36 || u == 37 || u == 39 || u == 38 || u == 40) { return false; }
	
	//enter tuşuna basıldıysa
	if (u == 13)
	{
		return oneriyiSec();
	}
    
    if (ajax)
    {
		oneriSayisi = 0;
		oneriSeciliIndex = -1;
		oneriIdler.length = 0;
		oneriDegerler.length = 0;
		onerileriGizle();
		document.getElementById('zid').value = "";
		
        ajax.onreadystatechange = function ()
        {
            //readyState açıklamaları
            /*
            0 = oluşturulmadı
            1 = yükleniyor
            2 = yüklendi
            3 = interaktif
            4 = tamamlandı
            */
            
            //ajax hazır
            if (ajax.readyState == 4)
            {
                if (ajax.status == 200)
                {
                    try
                    {
                        //Bilgiler Geldi
                        //Yapılacak İşler
						var xml_cevap = ajax.responseXML.documentElement;
						oneriIdler = xml_cevap.getElementsByTagName("oneriIdler")[0].childNodes[0].nodeValue.split('|');
						oneriDegerler = xml_cevap.getElementsByTagName("oneriDegerler")[0].childNodes[0].nodeValue.split('|');
						
						var oneriTablosu = '<table width="100%" cellpadding="0" cellspacing="0" id="oneri_tablosu" class="oneri_tablosu">';
						for (i=0; i<oneriDegerler.length; i++)
						{
							oneriTablosu += '<tr id="oner_satir_' + (i) + '" onmouseover="javascript:oneriListesiMouseOverSatirSec(\'' + (i) + '\');" onclick="javascript:oneriSec(\'' + (i) + '\');">';
							oneriTablosu += '<td>';
							oneriTablosu += oneriDegerler[i];
							oneriTablosu += '</td>';
							oneriTablosu += '</tr>';
						}
						oneriTablosu += '</table>';
						
						document.getElementById('oneriler').innerHTML = oneriTablosu;
						oneriSayisi = oneriIdler.length;
						oneriSeciliIndex = -1;
						onerileriGoster();
						
						if (oneriSayisi > 0)
						{
							document.getElementById('zid').value = oneriIdler[0];
						}
                    }
                    catch (e)
                    {
						//alert(e.message);
                        document.getElementById('oneriler').innerHTML = '';
                    }
                }
                else
                {
                    //alert("Veriyi alırken hata oluştu: " + ajax.statusText);
                }
            }
        }
		ajax.open("GET", adres_oneri + "?k=" + kelime, true);
		ajax.send(null);
    }
}
