﻿//Yazan; Ufuk YAYLA: http://www.ufukyayla.com
//Teşekkürler; Can HANHAN: http://blog.aspindir.com
//Bebeğim benim, hayal et sevgilim. (reise, reise)

var ajax_url;

//ajax_temizle() fonksiyonundan etkilenmezler
var ajax_param_p = "";
var ajax_param_g = "";

var ajax_istek;
var ajax_tur;

var ajax_params_p = new Array();
var ajax_params_g = new Array();

function ajax_islec() {
	var istek;
	
	ajax_tur = "XMLHttpRequest";
	
	try { istek = new XMLHttpRequest(); return istek; } catch(e) { ajax_tur = "MSXML2.XMLHttp.6.0" }
	
	try { istek = new ActiveXObject("MSXML2.XMLHttp.6.0"); return istek } catch(e) { ajax_tur = "MSXML2.XMLHttp.3.0" }
	try { istek = new ActiveXObject("MSXML2.XMLHttp.3.0"); return istek } catch(e) { ajax_tur = "MSXML2.XMLHttp.5.0" }
	
	try { istek = new ActiveXObject("MSXML2.XMLHttp.5.0"); return istek } catch(e) { ajax_tur = "MSXML2.XMLHttp.4.0" }
	try { istek = new ActiveXObject("MSXML2.XMLHttp.4.0"); return istek } catch(e) { ajax_tur = "MSXML2.XMLHttp" }
	try { istek = new ActiveXObject("MSXML2.XMLHttp"); return istek } catch(e) { ajax_tur = "Microsoft.XMLHttp" }
	try { istek = new ActiveXObject("Microsoft.XMLHttp"); return istek } catch(e) { ajax_tur = "oluşturulamadı" }
}

function ajax_temizle() {
	ajax_params_p = new Array();
	ajax_params_g = new Array();
}

function ajax_ekle(metod, ad, deger) {
	if ( metod == "post" || metod == "p" ) {
		ajax_params_p.push( encodeURIComponent(ad) + "=" + encodeURIComponent(deger) );
	}
	else {
		ajax_params_g.push( encodeURIComponent(ad) + "=" + encodeURIComponent(deger) );
	}
}

function ajax_yap() {
	ajax_istek = ajax_islec();
	
	ajax_ekle("p", "ube", ube());
	ajax_ekle("g", "ube", ube());
	
	var url = domain + ajax_url.replace("../", "/") + "?" + ajax_params_g.join("&");
	
	if ( ajax_istek ) {
		durumgoster("Başlıyor");
		
		ajax_istek.onreadystatechange = ajax_takipet;
	    ajax_istek.open("post", url, true);
		
		ajax_istek.setRequestHeader("content-type", "application/x-www-form-urlencoded");
	    ajax_istek.send( ajax_params_p.join("&") );
	}
}

function ajax_takipet() {
	var x;
	var xmlDoc;
	var cevapXML;
	var nesne;
	var kimlik;
	var ozellik;
	var deger;
	var degerler;
	
	if ( ajax_istek.readyState == 0 ) { durumgoster("Hata oluştu") }
	if ( ajax_istek.readyState == 1 ) { durumgoster("Yükleniyor") }
	if ( ajax_istek.readyState == 2 ) { durumgoster("Yükleniyor") }
	if ( ajax_istek.readyState == 3 ) { durumgoster("Yükleniyor") }
	if ( ajax_istek.readyState == 4 ) {
		if ( ajax_istek.status == 200 || ajax_istek.status == 304 ) {
			durumgoster("Yüklendi");
			durumgoster("-");
			
			xmlDoc = ajax_istek.responseXML;
			if ( !tarayici_ie ) { xmlDoc.normalize() }
			cevapXML = xmlDoc.documentElement;
			
			for ( x = 0; x < cevapXML.childNodes.length; x++ ) {
		    	kimlik = cevapXML.getElementsByTagName("kimlik")[x].firstChild.data;
				deger = cevapXML.getElementsByTagName("deger")[x].firstChild.data;
				ozellik = cevapXML.getElementsByTagName("ozellik")[x].firstChild.data;
				
				nesne = $(kimlik);
				
				if ( ozellik == "-" ) { ozellik = "html" };
				
				switch ( ozellik ) {
					case "value": { nesne.value = deger }
						break;
					case "text": { nesne.innerText = deger }
						break;
					case "html": { nesne.innerHTML = deger }
						break;
					case "width": { nesne.style.width = deger }
						break;
					case "height": { nesne.style.height = deger }
						break;
					case "display": { nesne.style.display = deger }
						break;
					case "imgsrc": { nesne.src = deger }
						break;
					case "check": { if ( deger == "he" ) { nesne.checked = true } else { nesne.checked = false } }
						break;
					case "optionadd": {
							degerler = deger.split(",");
							nesne.options[nesne.options.length] = new Option(degerler[1], degerler[0]);
						}
						break;
					case "optionremove": { if ( deger == "all" ) { nesne.options.length = 0 } else { nesne.options[deger] = null } }
						break;
					case "optionselect": { nesne.options.selectedIndex = deger }
						break;
				}
			}
		}
		else {
			durumgoster("Hata oluştu");
		}
	}
}