function chKategori()
{
	var chKategori = {
		nesneadi : '',
		nesneler : new Array(),

		Listele : function(seviye) {
			if(seviye >= this.nesneler.length - 1) return false;
			var secilen = document.getElementById(this.nesneler[seviye]).selectedIndex;
			if(secilen != 0) {
				this.AltSatirlariKapa(seviye + 2);
				var deger = document.getElementById(this.nesneler[seviye]).options[secilen].value;
				var xhr = new chK_Xhr(this.nesneadi + '_istek.php' );
				xhr.send('islem=listele&id=' + deger);
				xhr.onreadystatechange = function() {
					if(xhr.readyState == 4)	{
						if(xhr.status == 200) {
							chK_OptionTemizle(chKategori.nesneler[seviye + 1]);
							var xml = xhr.responseXML;
							if(xml.getElementsByTagName('root').item(0)){
								var kok = xml.getElementsByTagName('root').item(0);
								for(var i = 0; i < kok.childNodes.length; i++) {
									var data = kok.getElementsByTagName('data').item(i);
									var id = data.getElementsByTagName('alan1').item(0).firstChild.data;
									var ad = data.getElementsByTagName('alan2').item(0).firstChild.data;
									chK_OptionYarat(ad, id, i + 1, chKategori.nesneler[seviye + 1]);
								}
							}
							chK_AltSatiriAc(chKategori.nesneler[seviye + 1]);
						}
					}
				}
			} else {
				this.AltSatirlariKapa(seviye + 1);
			}
		},

		Kaydet : function(seviye) {
			var ad = chK_AdSor('');
			if(ad == ''){
				return false;
			} else {
				var anaID = 0;
				if(seviye != 0) {
					var secilen = document.getElementById(this.nesneler[seviye - 1]).selectedIndex;
					anaID = document.getElementById(this.nesneler[seviye - 1]).options[secilen].value;
				}
				ad = escape(ad).replace(/\+/g,"%2B");
				var xhr = new chK_Xhr(this.nesneadi + '_istek.php' );
				xhr.send('islem=kaydet&ad=' + ad + '&anaID=' + anaID);
				xhr.onreadystatechange = function() {
					if(xhr.readyState == 4)	{
						if(xhr.status == 200) {
							var xml = xhr.responseXML;			
							if(xml.getElementsByTagName('root').item(0)){
								var kok = xml.getElementsByTagName('root').item(0);		
								var data = kok.getElementsByTagName('data').item(0);
								var sira = document.getElementById(chKategori.nesneler[seviye]).length;
								var id = data.getElementsByTagName('alan1').item(0).firstChild.data;
								var ad = data.getElementsByTagName('alan2').item(0).firstChild.data;
								chK_OptionYarat(ad, id, sira, chKategori.nesneler[seviye]);
								chK_IndexiGoster(chKategori.nesneler[seviye], sira);
								if(seviye != chKategori.nesneler.length - 1) {
									chK_OptionTemizle(chKategori.nesneler[seviye + 1]);
									chK_AltSatiriAc(chKategori.nesneler[seviye + 1]);
									chKategori.AltSatirlariKapa(seviye + 2);
								}
							}
						}
					}
				}
			}
		},

		Sil : function (seviye) {
			var secilen = document.getElementById(this.nesneler[seviye]).selectedIndex;
			if(secilen == 0) return false;
			if(confirm("Silmek İstediğinizden Emin Misiniz?") == false) return false;
			var id = document.getElementById(this.nesneler[seviye]).options[secilen].value;
			var xhr = new chK_Xhr(this.nesneadi + '_istek.php' );
			xhr.send('islem=sil&id=' + id);
			xhr.onreadystatechange = function() {
				if(xhr.readyState == 4)	{
					if(xhr.status == 200) {
						var id = xhr.responseText;
						if(id == '-1'){
							alert("Uyarı: Seçtiğiniz Değere Ait Alt Değerler Bulunmakta!!\n\nÖncelikle Seçtiğiniz Değere Ait Alt Değerleri Silin!");
							return false;
						} else if(id == '0'){
							alert("Silme İşlemi Başarısız!");
							return false;
						}
						else {
							var select = document.getElementById(chKategori.nesneler[seviye]);
							for(i = select.length - 1; i>0; i--){
								if(select.options[i].value == id){
									select.options[i] = null;
									break;
								}
							}
							chK_IndexiGoster(chKategori.nesneler[seviye], 0);
							chKategori.AltSatirlariKapa(seviye + 1);
						}
					}
				}
			}
		},

		Duzenle : function(seviye) {
			var secilen = document.getElementById(this.nesneler[seviye]).selectedIndex;
			if(secilen != 0){
				var ad = document.getElementById(this.nesneler[seviye]).options[secilen].text;
				var id = document.getElementById(this.nesneler[seviye]).options[secilen].value;
				ad = chK_AdSor(ad);
				if(ad == '') return false;
				ad = escape(ad).replace(/\+/g,"%2B");
				var xhr = new chK_Xhr(this.nesneadi + '_istek.php' );
				xhr.send('islem=duzenle&id=' + id + '&ad=' + ad);
				xhr.onreadystatechange = function() {
					if(xhr.readyState == 4)	{
						if(xhr.status == 200) {
							var xml = xhr.responseXML;
							if(xml.getElementsByTagName('root').item(0)){
								var root = xml.getElementsByTagName('root').item(0);
								var data = root.getElementsByTagName('data').item(0);
								var id = data.getElementsByTagName('alan1').item(0).firstChild.data;
								var ad = data.getElementsByTagName('alan2').item(0).firstChild.data;
								var select = document.getElementById(chKategori.nesneler[seviye]);
								for(var i = select.length - 1; i > 0; i--){
									if(select.options[i].value == id){
										select.options[i].text = ad;
										break;
									}
								}
								chK_IndexiGoster(chKategori.nesneler[seviye], i);
							}
						}
					}
				}
			}
		},

		AltSatirlariKapa : function(index){
			for(var i = index; i < this.nesneler.length; i++){
				chK_IndexiGoster(this.nesneler[i], 0);
				chK_Disable(this.nesneler[i]);
				chK_Disable(this.nesneler[i] + "_ekle");
				chK_Disable(this.nesneler[i] + "_sil");
				chK_Disable(this.nesneler[i] + "_duzenle");
			}
		}
	}

	return chKategori;
}

//Fonksiyonlar
function chK_Xhr(sayfa)
{
	var xhr = null;
	try{
		xhr = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e){
		try{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(oc){
			xhr = null;
		}
	}
	if(!xhr && typeof XMLHttpRequest != "undefined") {
		xhr = new XMLHttpRequest(); 
	}
    xhr.open('POST', sayfa, true);
    xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=iso-8859-9');
    return xhr;
}

function chK_OptionYarat(ad, deger, sira, id){
	var yeni = new Option(ad, deger, false, false);
	document.getElementById(id).options[sira] = yeni;
}

function chK_OptionTemizle(id){
  while (document.getElementById(id).length > 1) 
    document.getElementById(id).remove(1);
}

function chK_Enable(id){
	if(document.getElementById(id))
		document.getElementById(id).disabled = false;
}

function chK_Disable(id){
	if(document.getElementById(id))
		document.getElementById(id).disabled = true;
}

function chK_Trim(s) {
	return s.replace(/^\s*/,'').replace(/\s*$/, '');
}

function chK_DegerSor(kat_adi){
	var yanit = prompt("Kategori Adını Giriniz", kat_adi);
	if (yanit == null)
		return kat_adi;
	return Ucwords(yanit);
}

function chK_IndexiGoster(id, index){
	if(document.getElementById(id))
		document.getElementById(id).selectedIndex = index;
}

function chK_AltSatiriAc(id){
	chK_IndexiGoster(id, 0);
	chK_Enable(id);
	chK_Enable(id + "_ekle");
	chK_Enable(id + "_sil");
	chK_Enable(id + "_duzenle");
}

function chK_Over(id)
{
	document.getElementById(id).className = 'chK_over_buton';
}

function chK_Out(id)
{
	document.getElementById(id).className = 'chK_buton';
}

function chK_AdSor(ad)
{
	var yanit = prompt("Yeni Değeri Giriniz...", ad);
	if (yanit == null || yanit == '')
		return '';
	return chK_Ucwords(yanit);
}

function chK_Upper(s)
{
	return (s.replace("ı","I").replace("i","İ")).toUpperCase();
}

function chK_Lower(s)
{
	return (s.replace("I","ı").replace("İ","i")).toLowerCase();
}

function chK_Ucfirst(s)
{
	return chK_Upper(s.substr(0, 1)) + chK_Lower(s.substr(1, s.length-1));
}

function chK_Ucwords(deger)
{
	var deger = chK_Trim(deger);
	var kelimeler = deger.split(" ");
	if(kelimeler.length > 0)
	{
		var adlar = new Array();
		for(var i=0; i<kelimeler.length; i++)
			if(kelimeler[i] != "")
				adlar[adlar.length] = kelimeler[i];

		var ad = "";
		for(var i=0; i < adlar.length; i++)
			ad += chK_Ucfirst(adlar[i]) + " ";
		return chK_Trim(ad);
	}
}