// JavaScript Document
    function yukle() { // load indexfile
    //*******************************
    //xml talep komutu
      try //Internet Explorer
      {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
      }
      catch(e)
      {
        try //Firefox, Mozilla, Opera, etc.
        {
          xmlDoc=document.implementation.createDocument("","",null);
        }
        catch(e)
        {
          alert(e.message);
          return;
        }
      }
    
        xmlDoc.async=false;
        xmlDoc.load("sss.xml");
        this.kok = xmlDoc.documentElement;
		
    //*******************************
    //bulurlara ait kelimelerin sagindaki ve solundaki boşlukları temizler
        this.trim = function(deger) {
            return deger.replace(/^\s+|\s+$/g,"");
        }
        
    //******************************* 
    //xml nodlarının  adedini ölçer
        this.nodeBoyuts = function(nName){
            this.nodeBoyut=0;
            for (var i=0;i<nName.childNodes.length;i++){
                if(nName.childNodes[i].nodeType==1){
                    this.nodeBoyut ++;
                }	
            }
            return this.nodeBoyut;	
        }
    
    //******************************* 
    //İngilizce to Türkçe
	 this.tr = function(text){
			var tr = new Array("ı","ş","ç","ü","ö","ğ","İ","Ş","Ç","Ü","Ö","Ğ");
			var en = new Array("i","s","c","u","o","g","I","S","C","U","O","G");
			
			for (var i=0,reg ;i<tr.length;i++){
				reg = new RegExp(tr[i],"g");
				text = text.replace(reg, en[i]);
			}
			
			text = text.toLowerCase();
			return text;
	}		
		   
    //*******************************
    //xml nodları içerisindeki verileri gösterir
        this.getNode = function(x){
            var id = x[0];
            var rs = x[1];
            for (var i=0;i<this.kok.childNodes[id].childNodes.length;i++){
                if(this.kok.childNodes[id].childNodes[i].nodeType==1){
                    switch (this.kok.childNodes[id].childNodes[i].nodeName){
                        case "baslik":
                            this.html += "<h1 class='sss-baslik-ust'>"
                            this.html += this.kok.childNodes[id].childNodes[i].childNodes[0].nodeValue + "</h1>";
                            break;
						/*
                        case "tarih":
                            this.html += "<div class='sss-tarih'>"
                            this.html += this.kok.childNodes[id].childNodes[i].childNodes[0].nodeValue+"</div>";
                            break;
						*/
                        case "cevap":
                            this.html += "<div class='sss-cevap-ust'>"
                            this.html += this.kok.childNodes[id].childNodes[i].childNodes[0].nodeValue+"</div>";
                            break;
                        case "bulut":
                            this.html += "<div class='sss-bulut-ust'>"
                            this.html += this.kok.childNodes[id].childNodes[i].childNodes[0].nodeValue+"</div>";
                            break;
                    }
                }
            }
        }
    
    //*******************************
    //kayitlar arasında arama yapar ve sonucu diziye aktarır
        this.kayit = function (){
            this.kayitDizi =new Array();
            this.k = 0;
            for (var i=0;i < this.kok.childNodes.length; i++){      
                for(var m=0;m<this.kok.childNodes[i].childNodes.length;m++){
                    var soruIc = this.kok.childNodes[i].childNodes[m];
                    if (soruIc.nodeType==1 && soruIc.nodeName=="bulut"){
                        if (soruIc.childNodes[0].nodeType==3){//firstChild						
                            this.bulutDizi = new Array();
                            this.bulutDizi = this.tr(soruIc.childNodes[0].nodeValue).split(",");
                            this.say = 0;
                            for (var n=0; n<this.keys.length;n++){
                                for(var c=0;c<this.bulutDizi.length;c++){
									this.bulut = this.trim(this.bulutDizi[c]);
                                    var araPattern = new RegExp(this.bulut,"gi");
                                    if(araPattern.test(this.keys[n])){
                                        this.say ++;
                                    };
                                }
                            }
                            for (var n=0; n<this.bulutDizi.length;n++){
                                this.bulut = this.trim(this.bulutDizi[n]);
                                for(var c=0;c<this.keys.length;c++){
                                    var araPattern = new RegExp(this.keys[c],"gi");
                                    if(araPattern.test(this.bulut)){
                                        this.say ++;
                                    };
                                }
                            }
                            if(this.say>0){
                                // 1. degisken id yi 2. degisken bulutta bulunan kelime adedini verir
                                this.kayitDizi[this.k] = new Array(2);
                                this.kayitDizi[this.k][0] = i;
                                this.kayitDizi[this.k][1] = this.say;
                                this.k ++;
                            }
                            else{
                                //this.kayitDizi[i][0]=0;
                            }	
                        }
                        
                    }
                }
            }
            this.kayitDizi.sort(diz);
            function diz(a,b){
                na = a[1];
                nb = b[1];
                return nb-na;
            }
            return this.kayitDizi;
        };
    
    //*******************************
    //arama sonuçlarını lisleler
        this.liste = function liste(){
            this.searchWord = this.tr(document.getElementById("search").value);
			if (this.searchWord.length>1){
				this.html="";
				this.keys = this.searchWord.split(" ");
				if(this.kayit().length>0){
					this.html  = this.kayit().length + " adet kayıt bulunmuştur. Listeye geri dönmek için <a href='#' onclick='xml.tree()'>tıklayınız</a>.";
				}
				else {
					this.html = "Kayıt bulunamadı lütfen başka bir arama yapınız";
				}
				
				for (var x=0;x<this.kayit().length;x++){
				//for (x in this.kayit()){
					this.getNode(this.kayitDizi[x]);
				}
				document.getElementById('sonuc').innerHTML = (this.html);
			}
			else {
				//alert("Lütfen en 3 harflik bir arama kriteri giriniz");
				return false;
			}            
        }

    //*******************************
    //Dizi Tree	
		this.tree = function(){
			this.dizin = new Array();
			this.kategori = this.kok.getElementsByTagName("kname");
			
			for (var i = 0; i<this.kategori.length;i++){
				this.dizin[i]=new Array(3);
				for( var x = 0; x < this.kategori[i].attributes.length; x++ ) {
					this.dizin[i][x]=this.kategori[i].attributes[x].nodeValue;
					this.dizin[i][x+1] = this.kategori[i].childNodes[0].nodeValue;
				}
			}
			
			this.ol_1 =0;
			this.ol_2 =0;
			this.html='<ol class="sss-ol">';
			var say1=1,say2=1,say4=1;
			for (var a=0;a<this.dizin.length;a++){
				if(this.dizin[a][1]==0){
					this.html += '<li><h1 class="sss">'+say1+"."+this.dizin[a][2]+'</h1>'; 
					this.dizinSirala(this.dizin[a][0]);
					// 1.kademe
					for(var b=0;b<this.dizin.length;b++){
						if(this.dizin[a][0]==this.dizin[b][1]){
							this.ol_1 ++
						}
					}
					if (this.ol_1>0){
						this.html+='<ol class="sss-ol">';
						for(var b=0;b<this.dizin.length;b++){
							if(this.dizin[a][0]==this.dizin[b][1]){
								this.html += "<li><h2 class='sss'>" +say1+"."+say2 + " "+this.dizin[b][2]+'</h2>';
								this.dizinSirala(this.dizin[b][0]);
								//2.kademe
								for(var c=0;c<this.dizin.length;c++){
									if(this.dizin[b][0]==this.dizin[c][1]){
										this.ol_2++;
									}
								}
								if (this.ol_2>0){
									this.html += '<ol class="sss-ol">';say3=1;
									for(var c=0;c<this.dizin.length;c++){
										if(this.dizin[b][0]==this.dizin[c][1]){
											this.html +="<li><h3 class='sss'>"+say1+"."+say2+"."+say3+"."+this.dizin[c][2]+'</h3>';say3++;
											this.dizinSirala(this.dizin[c][0]);
											this.html += "</li>";
											//3.kademe
										}
									}
									this.ol_2=0;
									this.html +="</ol>";
								}
								this.html += "</li>";
								say2++;
							}
							this.ol_1 = 0;
						}						
						this.html += "</ol>"
					}
					this.html += '</li>';
					say1++;
				}
			}
			this.html+="</ol>";	
			document.getElementById('sonuc').innerHTML = (this.html);
		}

		this.dizinSirala = function(kname){										
			//************************
			/*
			for (var d=0;d<this.kok.childNodes.length;d++){
				if(this.kok.childNodes[d].nodeName=="soru"){
					document.write (this.kok.childNodes[d].attributes[0].nodeValue+"<br />");
				}
			}
			*/
			
			for (var d=0;d<this.kok.childNodes.length;d++){
				if(this.kok.childNodes[d].nodeName=="soru" && this.kok.childNodes[d].attributes[0].nodeValue==kname){
					for (var e=0;e<this.kok.childNodes[d].childNodes.length;e++){
						switch (this.kok.childNodes[d].childNodes[e].nodeName){
							case "baslik":
								this.html +="<div style='padding-left:25px;'>";
								this.html += "<h1 class='sss-baslik'><img src='_+sss.jpg' id='a"+d+"' onclick=acKapa("+d+") /><a href='#"+d+"' onclick=acKapa("+d+")>";
								for(var f=0;f<this.kok.childNodes[d].childNodes[e].childNodes.length;f++){
									if(this.kok.childNodes[d].childNodes[e].childNodes[f].nodeType==3){
										this.html +=this.kok.childNodes[d].childNodes[e].childNodes[f].nodeValue;
									}
								}
								this.html +="</a></h1>";
								this.html +="<div id='sss-"+d+"' class='sss-icerik' style='display:none'>";
								break;
							/*
							case "tarih":
								this.html += "<div class='sss-tarih'>"
								for(var f=0;f<this.kok.childNodes[d].childNodes[e].childNodes.length;f++){
									if(this.kok.childNodes[d].childNodes[e].childNodes[f].nodeType==3){
										this.html +=this.kok.childNodes[d].childNodes[e].childNodes[f].nodeValue;
									}
								}
								this.html +="</div>";
								break;
							*/
							case "cevap":
								//this.html += "<div class='sss-c'>"
								for(var f=0;f<this.kok.childNodes[d].childNodes[e].childNodes.length;f++){
									if(this.kok.childNodes[d].childNodes[e].childNodes[f].nodeType==3){
										this.html +=this.kok.childNodes[d].childNodes[e].childNodes[f].nodeValue;
									}
								}
								//this.html +="</div>";
								break;
							case "bulut":
								this.html += "<div class='sss-bulut'>"
								for(var f=0;f<this.kok.childNodes[d].childNodes[e].childNodes.length;f++){
									if(this.kok.childNodes[d].childNodes[e].childNodes[f].nodeType==3){
										this.html +=this.kok.childNodes[d].childNodes[e].childNodes[f].nodeValue;
									}
								}
								this.html +="</div>";
								this.html +="</div>";
								this.html +="</div>";
								break;
						}
					}
				}
			}
			//this.html +="<hr />";
		}
		
    }
	
	function acKapa(id){
		var obj = document.getElementById("sss-"+id);
		var img = document.getElementById("a"+id);
		if(obj.style.display=="none"){
			obj.style.display="block";
			img.src="_-sss.jpg";
		}else{
			obj.style.display="none";
			img.src="_+sss.jpg";
		}
	}
    var xml = new yukle();
	xml.tree();
