
	var s_hataAyikla = false;

	function is_array( mixed_var ) {
	    if (!mixed_var) {
	        return false;
	    }
	 
	    if (typeof mixed_var === 'object') {
	          if (mixed_var.propertyIsEnumerable('length') || typeof mixed_var.length !== 'number') {
	              return false;
	          }
	         return true;
	    }
	 
	    return false;
	}

	function Degisenler(onEk, diziSonek, tip, OnayIslevi)
	{
		//önek  = idAna, idAlt veya idG
		//tip	= html veya value
		var degiskenler		= diziSonek;//Array("Ana", "Y", "E", "F", "Ek", "Kar", "Kargo") gibi
		var nesneler		= Nesneler(onEk, degiskenler, tip, OnayIslevi);
		if(s_hataAyikla)	NesneleriYaz(nesneler);
		//NesneleriYaz(nesneler);
		return nesneler;
	}
	
	function Gonder(adres, nesne)
	{
		var gonderilenBilgi = "b=" + encodeURIComponent(JSON.encode(nesne));
		if(s_hataAyikla) alert(gonderilenBilgi);
		
		var myHTMLRequest = new Request(
				{	
					method: 'post',
					url: adres,
					data: gonderilenBilgi,
					onSuccess: function (responseText) {
						//alert(this.response.text);
						if(s_hataAyikla) {
							myJSON = JSON.encode(this.response);
							alert(myJSON);
						}
					}
				}
			)
		myHTMLRequest.send();
	};

	function Gonder2(adres, nesne, islev)
	{
		var gonderilenBilgi = "b=" + encodeURIComponent(JSON.encode(nesne));
		// alert(gonderilenBilgi);

		var myHTMLRequest = new Request(
				{
					method: 'post',
					url: adres,
					data: gonderilenBilgi,
					onSuccess: islev
				}
			)
		myHTMLRequest.send();
	};

	function GonderEtiket(adres, nesne, etiket)
	{
		// İstenilen sayfaya nesne gönderir sonucu verilen etikete koyar
		var gonderilenBilgi = "";
		if(nesne) gonderilenBilgi = "b=" + encodeURIComponent(JSON.encode(nesne));
		if(s_hataAyikla) alert(gonderilenBilgi);

		var myHTMLRequest = new Request.HTML(
				{
					url: adres,
					method: "get",
					encoding: "iso-8859-9",
					data: gonderilenBilgi,
					urlEncoded : true,
					update: etiket,
					headers: {"Content-Type":	"application/x-www-form-urlencoded;charset=iso-8859-9", 'charset':'iso-8859-9'},
					//headers: {'charset':'iso-8859-9'},
					evalResponse: true,
					evalScripts: true,
					

					onFailure: function(xhr)
					{
						NesneYaz(xhr);
						alert("hata");
					},

					//onRequest: function() { alert('Request made. Please wait...'); },
					onException: function() { alert('Exeption'); },

					onComplete: function (html) {
						//etiket.set("html", html);
						//alert(html);
					},

					onSuccess: (function (html) {
						//etiket.set("html", html);
						//NesneYaz(html);
						//etiket.set("html", html[0].data);
						//alert(html);

						//NesneYaz(this.response);
						//alert("başarı");
					})
				}
			)
		myHTMLRequest.send();
	};

	function ajaxFunction()
	{
		alert("eben");
		var xmlhttp;
		if (window.XMLHttpRequest)
		  {
		  // code for IE7+, Firefox, Chrome, Opera, Safari
		  xmlhttp=new XMLHttpRequest();
		  }
		else if (window.ActiveXObject)
		  {
		  // code for IE6, IE5
		  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		  }
		else
		  {
		  alert("Your browser does not support XMLHTTP!");
		  }

		alert("adım 2")
		xmlhttp.onreadystatechange  = function()
		{
			 if(xmlhttp.readyState  == 4)
			 {
				  if(xmlhttp.status  == 200) alert(xmlhttp.responseText);
				  else						 document.ajax.dyn="Error code " + xmlhttp.status;
			 }
		};

		xmlhttp.open("POST", "http://localhost/deneme/",  true);
		xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=ISO-8859-9");
		xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;language=tr");

		if (xmlhttp.overrideMimeType) xmlhttp.overrideMimeType('text/xml; charset=iso-8859-9');

		xmlhttp.send("null");

		alert("bitti");
	}




	function Nesneler(idOnEk, degiskenler, etiketAlan, OnayIslevi)
	{
		//--------- Verilen idye sahip nesnelerin dizisini döndürür
		//------- DİKKAT: maks nesne adedi 5000
		// idOnEk + degiskenler + sırano dan id hesaplar ve sayfada varsa nesne[degiskenler] = value der ve nesneyide sonuç dizisi nesnelere ekler
		/*
			ÖRNEK:
			var degiskenler = Array("Firma", "AnaBolum", "Bolum", "Marka", "UrunAdedi", "EkleCikart");
			var nesneler = Nesneler("id", degiskenler, "html", Onayla);
			NesneYaz(nesneler[0]);
		*/

		var nesneler = new Array();
		var nesneAdedi = 0;
		var degiskenAdedi = degiskenler.length;
		
		for(var i=0; i<5000; i++) {
			var nesne = new Object();
			for(var j=0; j<degiskenler.length; j++) {
				var etiket = $(idOnEk + degiskenler[j] + i);
				if(!etiket) break;
				nesne[degiskenler[j]] = etiket.get(etiketAlan);
			}
			if(j != degiskenAdedi) break; // değişken bulunamadı nesne yok demek çık
			if(OnayIslevi && OnayIslevi(nesne)) nesneler[nesneAdedi++] = nesne;//nesne onaylandı.listeye eklenebilir.
		}
		if(nesneAdedi == 0) return null;
		else				return nesneler;// dizi yarattığımız için boş bir object oluyor
	}

	function NesneBul(idOnEk, degiskenler)
	{
		//--------- Verilen idye sahip nesneyi döndürür
		// 
		
		// idOnEk + degiskenler + sırano dan id hesaplar ve sayfada varsa nesne[degiskenler] = value der ve nesneyide sonuç dizisi nesnelere ekler
		/*
			ÖRNEK:
			var degiskenler = Array("Firma", "AnaBolum", "Bolum", "Marka", "UrunAdedi", "EkleCikart");
			var nesne = NesneBul("id", degiskenler, "html");
			NesneYaz(nesne);
		*/
		var nesne = new Object();
		var bulunan = 0;
		var deger;
		for(var j=0; j<degiskenler.length; j++) {
			var etiket = $(idOnEk + degiskenler[j]);
			if(!etiket) continue;
			deger = null;
			if(etiket.get("html")) deger = etiket.get("html");
			if(etiket.get("value")) deger = etiket.get("value");
			if(!deger) continue; // boş
			nesne[degiskenler[j]] = deger;
			bulunan++;
		}
		if(!bulunan) return null; // değişken bulunamadı nesne yok demek çık
		return nesne;
	}

	function NesneBirlestir(nAna, nYavru)
	{
		for(var degisken in nYavru)        nAna[degisken] = nYavru[degisken];
		return nAna;
	}
	
	function NesneMetni(nesne)
	{
		if(!nesne) return "nesne yok";
		
		var nesneMetni = "";
		for(var i in nesne) {
			nesneMetni += i + ":" + nesne[i] + "\n";
		}
		nesneMetni += "\n";
		return nesneMetni;
	}
	
	function NesneYaz(nesne)
	{
		nesneMetni = NesneMetni(nesne);
		alert(nesneMetni);
	}
	
	function NesneleriYaz(nesneler)
	{
		if(!is_array(nesneler)) return;
		
		var metin = "";
		for(var i=0; i<nesneler.length; i++) metin += NesneMetni(nesneler[i]);
		alert(metin);
	}

	function TamEncode(metin)
	{
		if(!metin) return null;
		var yeni = encodeURIComponent(metin);
		yeni = yeni.replace("'", "%27");
		return yeni;
	}

	function TamDecode(metin)
	{
		if(!metin) return null;
		var yeni = metin.replace("%27", "'");
		yeni = decodeURIComponent(yeni);
		// alert(yeni);
		return yeni;
	}

	function Deger(isim)
	{
		return $(isim).get("value");
	}

	function Html(isim)
	{
		return $(isim).get("html");
	}


	function Kopyala(obj)
	{
		if(obj == null || typeof(obj) != 'object')	return obj;
		var temp = obj.constructor(); // changed
		for(var key in obj)	temp[key] = Kopyala(obj[key]);
		return temp;
	}

	function TipDizi(input)
	{
		return typeof(input)=='object'&&(input instanceof Array);
	}


	

