var dt;
var terms;
var e_x=true;
var cwin='';
window.onload=MakeTree

function SendRequest(a,id){
  var q=new iRequest(request_complete)
  q.send(a,id)
}

function fopen(id){
  if ((cwin)&&(!cwin.closed)) cwin.close();
  var l=screen.width * 0.4;
  var w=screen.width-l-40; if (w<300) w=300;
  var t=30;
  var h=screen.height-t-200; if (h<200) h=200;
  cwin=self.open( "/"+id,"source", "menubar=yes,resizable=yes,scrollbars=yes,left="+l+",top=30,width="+w+",height="+h);
  cwin.focus();
}

function request_complete(xmlhttp,id) {
  var e=xmlhttp.responseText;
  bar(0)
  switch (id){
  case 3: //help
    eval('var obj='+e);
    var q='';
    for (x in obj){
	q+= "\n<a style='font-size:"+obj[x]+"px' href='/?search="+x+"'>"+x+"</a>";
    }
    document.getElementById("v").innerHTML=q.toLowerCase(); break;
  case 2: //terms
    dt.closeAll()
    eval('var obj='+e);
    for (i=0;i<obj.length;i++) dt.openTo(obj[i],true,false);
    break;
  case 1: //tree
    document.getElementById("t").innerHTML="";
    dt = new dTree("dt", "http://caxapa.ru/images/dtree" );
    dt.add(0,-1, 'Sources', 'javascript:zum()','Expand/Collapse Tree');
    eval('var obj='+e);
    for (i=0;i<obj.length;i++){
	c=obj[i];
	if (c.comments=='') c.comments=c.title;
	switch(c.file){
	case "": var j=["",dt.icon.folder];break;
	case ".zip":case ".rar":
		var j=["javascript:fopen("+c.id+")","images/zip.gif"];	break;
	case ".pdf":
		var j=["javascript:fopen("+c.id+")","images/pdf.gif"];	break;
	case ".gif":case ".jpg":case ".png":
		var j=["javascript:fopen("+c.id+")","images/gif.gif"];	break;
	default: var j=["javascript:fopen("+c.id+")",""] ;
	}
	dt.add(c.id, c.pid, c.title, j[0], c.comments, '', j[1]);
    }
    document.getElementById("t").innerHTML=dt;

    if (cur[0]) dt.openTo(cur[0],true,false);
    else if (cur[1]) SendRequest('y.htm?x='+cur[1],2);

    break;
  default:alert(e); window.location.reload();
  }
}

function zum(){e_x=(!e_x);dt.oAll(e_x);}

function trms(f){
   if (!dt) return;
   var m=f.value.match(/[^\s,;]{2,}/g);
   if (m==null) dt.closeAll()
   f.title= (m!=null)? m.join(","):"";
   if (f.title==terms) return;
   terms=f.title;
   if (terms!="") SendRequest('y.htm?x='+terms,2);
}

function bar(i){
  if (i) {
    document.getElementById("f").value=""
    terms=""
  }
  document.getElementById("sbar").style.visibility=(i)? "visible":"hidden";
}

function MakeTree() {
  bar(1); 
  SendRequest('y.htm?compact=1', 1); 
  SendRequest('y.htm?t=26', 3);
  var b=document.getElementById("box")
  var t=document.getElementById("t")
  b.style.height='auto' //t.scrollHeight+'px'
}

