var ajax_istek=false;
var ajax_durum;
var debug=0;
var surec=false;

    function  ajax_link(dgr,Fl,Dr,tip) {
           surec=true;
           var  getb=dgr+".php?Fl="+Fl+"&Dr="+Dr+"&"+tip;
     
		 
             if( Dr=='bos'|| debug==true){ 	 window.open(getb); 	 }
			   ajax_getir(getb,Dr);	

            }





function ajax_form(url,Dr,formid){


    var form    = document.getElementById(formid);
    var veri=createQuery(form);
    gett= url+'.php?'+veri;
if(debug==true)     window.open(gett);

ajax_getir(gett,Dr);

}




function ajax_getir(url,Dr){




	if(Dr==''||Dr=='bos')
		{      var AjaxDr='ajax_durum';
	    }else{ var AjaxDr=Dr;
	
	}
	ajax_durum=document.getElementById(AjaxDr);
	
	if (ajax_istek){ajax_istek.abort();}
	else{
		if (typeof XMLHttpRequest != "undefined")
			{
			ajax_istek=new XMLHttpRequest();
			/*
			if (	ajax_istek.overrideMimeType) {
            	ajax_istek.overrideMimeType('text/xml;  charset=utf-8'); 
         }

*/
			}
		else if ( typeof ActiveXObject != "undefined")
			{
		
				  try
					{
						ajax_istek=new ActiveXObject("Msxml2.XMLHTTP");
				
					}
					catch (e)
					{
						try
						{
							ajax_istek=new ActiveXObject("Microsoft.XMLHTTP");
			
						}
						catch (e2)
						{
							try {
								ajax_istek=new ActiveXObject("Msxml2.XMLHTTP.4.0");
			
							}
							catch (e3)
							{
								ajax_istek=null;
							}
						}
					}

		    }
			   if (	ajax_istek.overrideMimeType) {
          // 	ajax_istek.overrideMimeType('text/xml; charset=ISO-8859-9');
         }

		}
	if (ajax_istek){
		ajax_durum.innerHTML='Başlıyor';
        ajax_istek.onreadystatechange=ajax_takipet;
	    ajax_istek.open('POST',url,true);
        ajax_istek.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
   	    ajax_istek.setRequestHeader("Connection", "close");
        ajax_istek.send(url);
   
        //ajax_istek.send(null);
     
     

	}

}



function createQuery(form)
{
    var elements = form.elements;
    var pairs = new Array();

    for (var i = 0; i < elements.length; i++) {

        if ((name = elements[i].name) && (value = elements[i].value))
            pairs.push(name + "=" + encodeURIComponent(value));
    }
    //pairs.push("param1=1");
    return pairs.join("&");
}


function ajax_takipet(){
	var cevapXML;

 	

	switch (ajax_istek.readyState){
		case 0:{ ajax_durum.innerHTML='Hata oluştu'; debug=true;          } break;
		case 1:{ ajax_durum.innerHTML="<div align='center'><img name='yukleniyor' scr=\"http://www.dunyaticaret.org/Images/Icons/loading.gif\"> <b>Yükleniyor</b></div>";  
						document.images.yukleniyor.src="http://www.dunyaticaret.org/Images/Icons/loading.gif";
		}                  break;
		case 2:{                                                     }   	break;
		case 3:{			/*ajax_durum.innerHTML='Devam ediyor'*/   }		break;
		case 4:{
			document.body.style.cursor = 'default';

			    if (ajax_istek.status==200){
			    	ajax_durum.innerHTML='';

					
			try{
								cevapXML=ajax_istek.responseXML.documentElement;
							
			}

			catch(e){
					// tumText=ajax_istek.responseText; 
			}

			Devam(cevapXML);

		}

	} 
	break;
 }

}
/*
			catch(e){
					
					cevapText=ajax_istek.responseTEXT;
					ajax_durum.innerHTML=cevapText;
					return false;
					}
*/
function  Devam(cevapXML){
	var I;
	var nesne;
	var kimlik;
	var ozellik;
	var deger;
	var degerler;
	var referansArray;

					for (I=0; I<cevapXML.childNodes.length; I++){
			    	kimlik=cevapXML.getElementsByTagName('kimlik')[I].firstChild.data;
					ozellik=cevapXML.getElementsByTagName('ozellik')[I].firstChild.data;
					deger=cevapXML.getElementsByTagName('deger')[I].firstChild.data;
					
						if(deger=='null') deger='';
						nesne=document.getElementById(kimlik);
						
						if (ozellik=='-'){ozellik='html'};
						switch (ozellik){
								case 'value':{ nesne.value=deger}
								break;
								case 'valueremove':{nesne.value="";}
								break;
								case 'text':{nesne.innerText=deger;}
								break;
								case 'html':{nesne.innerHTML=deger;    }
								break;
								case 'EkHtml':{nesne.innerHTML=nesne.innerHTML+deger}
								break;
								case 'Uzhtml':{
								     if(deger=='ILK'){  		var Longs= new String(""); 	                 }
								else if(deger=='BAS'){   nesne.innerHTML=Longs;  	Longs=null;				 }
								else                 {        		Longs=Longs+deger; 
								Longs.visibility="hidden";}
													}
								break;
								/*----dom------*/
								case 'createElement':{
									degerler=deger.split(','); 									
									yeninesne=degerler[0];
									referansId=degerler[1];
									//bagla=degerler[2];

								var newEleman= document.createElement(yeninesne);
								newEleman.setAttribute('id',referansId);
								nesne.appendChild(newEleman);

				/*			
								newInput.setAttribute('id','response-' + iID);
								newInput.setAttribute('id','response-' + iID);
newInput.setAttribute('type','radio');
newInput.setAttribute('onclick','responseClick(event)');
myDiv.appendChild(newInput);
*/

								//	referans.applyElement(nesne);
							//	referans.setAttribute('className',referansId);
							

								//nesne.SetAttribute('id',"denem");
								//ne=document.getElementById("veriHdort1");
							//	ne.style.width='100px';
								//	referans.setAttribute('className','denemclass');
/*
									if(bagla!=false){
										
										if(bagla=='apply')      referans.applyElement(nesne);
										else if(bagla=='append') nesne.appendChild(referans);
										else if(bagla=='before') nesne.insertBefore(referans);
								
									}
*/
										//referans.SetAttribute();	
								//			alert(gId('veri').childNodes[0]);
										//alert(gId('veri').nextSibling.nodeType);
									//alert(gId('veri').nextSibling[innerText]);
									//alert(dump(gId('veri').childNodes[0].id));
							

									 }
								break;
								case 'createTextNode':{
									degerler=deger.split(','); 								
									referansId=degerler[0];
									yeniText=degerler[1];
									bagla=degerler[2];

								var	referansId= document.createTextNode(yeniText);							
									if(bagla!=false){
										
										if(bagla=='apply')       referansId.applyElement(nesne);
										else if(bagla=='append') nesne.appendChild(referansId);
										else if(bagla=='before') nesne.insertBefore(referansId);
								
									}
									
								
								}
								break;	
								case 'createText':{
									degerler=deger.split(','); 								
							
									yeniText=degerler[0];
									//referansId=degerler[1];

									var newText= document.createTextNode(yeniText);	
								//	nesne.innerText=  yeniText;
									// yeniText.applyElement(nesne);
									  nesne.appendChild(newText);
									
									/*
									if(bagla!=false){
										
										if(bagla=='apply')       newText.applyElement(nesne);
										else if(bagla=='append') nesne.appendChild(newText);
										else if(bagla=='before') nesne.insertBefore(newText);
								
									}
									*/

								
								}
								break;		
								case 'applyElement':{
									nesne.applyElement(deger);							

								}
								break;
								case 'insertBefore':{						
									if(deger.indexOf(',')>-1){
											degerler=deger.split(',');					
											nesne.insertBefore(degerler[0],degerler[1]);
									}else{
											nesne.insertBefore(deger);
									}							
							
								}
								break;
								case 'appendChild':{
										nesne.appendChild(deger);
									
										}
								break;
							
								case 'cloneNode':{
									deger = nesne.cloneNode(false);
								
						
								}
								break;								
								case 'replaceChild':{
								
									degerler=deger.split(',');	
									
									newChild=	degerler[0];
									oldChild=	degerler[1];									
									stringId=	degerler[2];
									
									stringId = nesne.replaceChild(newChild, oldChild);
					
								}
								break;
								case 'setAttribute':{
								
										degerler=deger.split(',');	
										
									name=	degerler[0];
									value=degerler[1];
								
									nesne.setAttribute(name,value);

					
								}
								break;
								case 'setFunction':{
									degerler=deger.split(',');
								//for(i=0;i<degerler.length;i++){

									fncName=	degerler[0];
									fncDegerler=	degerler[1];
								    functionBody=  degerler[2];
						
									//degerler=deger.split(',');	

								//	varName=new Function([param1Name, param2Name,...paramNName], functionBody);
							fncName=new Function([fncDegerler], functionBody);
										
															
										
									
								}
								break;
								
				

					//	newInput.onclick = function(event) { responseClick(event) };
		/*
		Bir HTML dokümanında düğümlerin birçok tipi vardır, ama kendisiyle senin en çok çoğunlukla, çalışmaya ihtiyaç duyduğun üçü, öğe düğümleridir, düğümler, ve metin düğümlerini atfeder.(nodes, attribute nodes, and text nodes. )


		Öğe düğümleri, onların etiket ismi, ile erişilebilirin olduğu id, veya HTML doküman hiyerarşisinin içinde konum.

Hiyerarşik bir şekilde öğe ve metin düğümlerine erişmek diğer düğümlere erişimi sağlayan birkaç düğüm metodu ve mallar, onların hiyerarşik ilişkisinde temel al vardır. En ortak ve en iyi, destekledi, bunlardan, tabloda aşağıda gösterilir.





	Properties for Accessing Element Nodes Property Description 

childNodes[]	:	Bir düğümün çocuk düğümünün hepsini içeren   bir nodeListesi.
firstChild		:	 bir düğümün ilk çocuk düğümüne referanstır.
lastChild		:	bir düğümün son çocuk düğümüne referanstır.

parentNode		:	Bir düğümün ebeveyn düğümüne bir referans.

nextSibling		:	NextSibling, doküman ağacında aynı düzeyde sonraki düğüme bir referanstır.

previousSibling	:	NextSibling, doküman ağacında aynı düzeyde önceki düğüme bir referanstır.




Her düğümün, özel bir tipe uyuyor olan bir tam sayıyı içeren bir nodeType malı var. Örneğin, 1, bir öğe düğümüdür, 2, bir nitelik düğümüdür, 3, bir metin düğümüdür, W3C DOM'in, bu tam sayılara uyan sabitlerin bir takımını belirttiği vb.. Bu sabitler, her düğümün mallarıdır. Maalesef, Internet kaşifinin DOMi, bu sabitleri desteklemez, bundan dolayı senin DOM kütüphanene onları eklemesi için iyi bir fikirdir. Sabitler, aşağıda listelenir:


		Constant Integer 
ELEMENT_NODE  1 
ATTRIBUTE_NODE  2 
TEXT_NODE  3 
CDATA_SECTION_NODE  4 
ENTITY_REFERENCE_NODE  5 
ENTITY_NODE  6 
PROCESSING_INSTRUCTION_NODE  7 
COMMENT_NODE  8 
DOCUMENT_NODE  9 
DOCUMENT_TYPE_NODE  10 
DOCUMENT_FRAGMENT_NODE  11 
NOTATION_NODE  12 


appendChild()  Takes a single parameter: the node to insert, and inserts that node after the last child node. 
insertBefore()  Takes two parameters: the node to insert and the child node that it should precede. The new child node is inserted before the referenced child node.  
replaceChild()  Takes two parameters: the new node and the node to be replaced. It replaces the old node with the new node and returns the old node. 
setAttribute()  Takes two parameters: the attribute name and value. If the attribute already exists, it replaces it with the new value. If it doesn't exist, it creates it. 

The sample below illustrates how these methods work.



		*/
							
								case 'elamanlarioku':{

								
								try{
									// var elems =document.getElementById(kimlik);
									 var msg="";
								
										 for (var i=0; i < kimlik.length; i++){
										  msg +=  kimlik[i].innerHTML + "\n";
										 }
									
								
								
									 // alert(elems.length);
									   alert(msg);
									}
									catch(e){ }
									}
								break;
								case 'elamanlaoku':{

									function getElements(kimlik,deger){
									 var elems =deger.getElementsByTagName(deger);
									 var msg="";
									/*
										 for (var i=0; i < elems.length; i++){
										  msg += elems[i].innerHTML + "\n";
										 }
									 alert(msg);
									*/
									  alert(elems.length);
									}
								}
								break;
						/*----@dom------*/
								case 'width':{nesne.style.width=deger}
								break;
								case 'height':{nesne.style.height=deger}
								break;
								case 'stil':{
											degerler=deger.split(',');                                     
                                            if(degerler[0]=='color') { nesne.style.color=degerler[1];   }
                                     else if(degerler[0]=='bgcolor')  {nesne.style.bgcolor=degerler[1];  }
									 else if(degerler[0]=='margin')  {nesne.style.margin=degerler[1];  }
									 else if(degerler[0]=='padding')  {nesne.style.padding=degerler[1];  }
                                     else if(degerler[0]=='enable')  {nesne.disabled=degerler[1];  }
									 else if(degerler[0]=='display')  {nesne.disabled=degerler[1];  }
                        
                                         }
								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;                                
                                case 'alert' :{   alert(deger);                    }
                                break;								
								case 'yonlen':{eval(document.location.href=deger);}
								break;
								case 'debug':{
										deb= window.open('','');
										deb.write(cevapXML);
								}
								break;
                                case 'yenipencere':{var nesne=window.open(deger);}
                                break;
								case 'focus':{ nesne.focus();}
								break;
								case 'sakla':{ nesne.visibility=deger;}
								break;
								case 'disable':{ nesne.disabled=eval(deger); }
							
								break;
								case 'display':{ nesne.style.display=deger;}
								break;							
								case 'oms' :{
								
										degerler=deger.split('|');									
										id=degerler[0];
										kisino=degerler[1];
										isim=degerler[2];
										msg=degerler[3];
										nmsg='<br /><span id='+ozellik+'>'+kisino+'.'+isim+':'+msg+'</span>';									
										nesne.innerHTML=nesne.innerHTML+nmsg;	
										
										uza= nesne.scrollHeight;
										nesne.style.top=-(uza-160)+'px';		
								
								}
								break;	
								case 'scriptdeger':{ nesne=deger;}
								break;
								case 'maps':{
												 if(deger=='load') {
													 
													document.getElementById('map').style.width="750px";
													document.getElementById('map').style.height="460px";
													 mapsload();}
												  if(deger=='unload'){ GUnload();}
									 									
										}
								break;
								case 'okulement':{
												var 	alerji=	getElements(kimlik,deger);
												alert(alerji);
								}	
								break;
						
                                /*
								case 'debug':{ (deger==false) ? debug=false :  debug=false;}
								break;
                              */
                              
						}
					
				}
				
					
				
 }
			  

/**http://www.dunyaticaret.org/sf-kurumsal_kayit.srt
* Function : dump()
* Arguments: The data - array,hash(associative array),object
*    The level - OPTIONAL
* Returns  : The textual representation of the array.
* This function was inspired by the print_r function of PHP.
* This will accept some data as the argument and return a
* text that will be a more readable version of the
* array/hash/object that is given.
*/


function dump(arr,level,txt) {
var dumped_text = "";
if(!level) level = 0;


//if(level>25) return false;

//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding =level_padding+ "    ";

if(typeof(arr) == 'object') { //Array/Hashes/Objects
for(var i=0;i<arr.length;i++) {


  var value = arr[i];

 
  if(typeof(value) == 'object') { //If it is an array,
   dumped_text =dumped_text+ level_padding + "'" + i + "' ...\n";
   dumped_text =dumped_text+ dump(value,level+1);
  } else {
   dumped_text =dumped_text+ level_padding + "'" + i + "' => \"" + value + "\"\n";
  }
 }
} else { //Stings/Chars/Numbers etc.
 dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;


}   


function responseClick(evt) {
  if (window.event) {
    alert(window.event.srcElement.id);
  } else {
    alert(evt.target.id);
  }
  return true;
}

