////////////////////////////////
//       Globals             //
//////////////////////////////

var gSTxt = ''; // global placeholder for hitcount on tree...
var gIndex = 0; 
var gTgtId = 0;
var gSC = ''; // SearchCode
var gPortal = 0;

////////////////////////////////
//     Mouse positions       //
//////////////////////////////

document.onmousemove = mouseMove;
var mousePos = '';

function mouseMove(ev){
  ev = ev || window.event;
  mousePos = mouseCoords(ev);
}

function mouseCoords(ev){
  if(ev.pageX || ev.pageY) {
    return {x:ev.pageX, y:ev.pageY};
  }
  return {x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,y:ev.clientY + document.body.scrollTop  - document.body.clientTop};
}

////////////////////////////////
//        Navigation          //
//////////////////////////////

function cFocus(lId,lLeaf,lLanguage) { 
  var n = t1.getNode(lId), flag = false; //get node from tree 
  // for (var x in ua) {
  	// alert(x);
  //  alert(x+':'+ua[x]);
  // }	
  if (n && n.type) 
    flag = n.state;
  // if (ua.moz || ua.ie7) { // var ie7 added in codethatsdk.js
  if (!ua.nn7up && ua.ie7) { // var ie7 added in codethatsdk.js
    flag = !flag; //reverse state, because action called before state changes
  } 
  // if (n && n.type && n.state){ //if node defined and it is opened type=1=folder 
  if (gIDoc) { // includeDoc ; but uses DOM..
    // alert('IncludeDoc : '+gIDoc);	
    // t1.addNode(null,1,{text:'My child', style:{color:'red'}}); 
    // return true;
    t1.nodes[t1.getNodeIdx(lId)].action = ''; // set action blank so is just run once.
    ASyncTree('cbDOMTerms','DOMTerms',gthesId,"1",lId,gIDoc,"");
    // alert(lId.substr(2));
  }  
  else if (gAlfLevelOne && lId.substr(0,2) == 'a1') {
  	t1.nodes[t1.getNodeIdx(lId)].action = ''; // set action blank so is just run once.
    ASyncTree('cbDOMTerms','DOMTerms',gthesId,"1",lId,gIDoc,lLanguage);
  }	
  else if (gPortal) {
  	t1.nodes[t1.getNodeIdx(lId)].action = ''; // set action blank so is just run once.
    ASyncTree('cbDOMTerms','DOMTerms',gthesId,"1",lId,gIDoc,lLanguage);
  }	  
  else { 
  	
    if (n && n.type && flag){ //if node defined and it is opened type=1=folder 
      document.fLeaf.Leaf.value = lLeaf; // js-style array handled by Thesaurus::mtGetCurrentLeaf
      document.fLeaf.Lang.value = lLanguage;
      try {
       document.fLeaf.submit();
      }
      catch(e){
        alert(e);
      }
    }
  } // else    
}

function tOpenURI(lLink) {
  // alert(lLink);
  MakeFullWindow(lLink,'Link',0,0,1,'center');
}	

function cbDOMTerms(lJSON) {
  var a = eval("("+lJSON+")");
  // alert(a['TermId']);
  var n = t1.getNode(a['TermId']);
  for (var x in a) {
    // z = x.toString();
    // alert(t1.getNode('l2'+a[x]['rTermId']));
    // if (a[x]['rText'] != undefined && t1.getNode('l2'+a[x]['rTermId']) == null) {
    if (a[x]['rText'] != undefined) {
      // alert(a[x]['rText']);
      // alert('l2'+a[x]['rTermId']);
      // setTimeout("t1.addNode('"+a['TermId']+"',1,{text:'"+a[x]['rText']+"',id:'l2"+a[x]['rTermId']+"', style:{color:'red'}})",iurl);
      if (a[x]['rLink']) {
        a[x]['rText'] = '<a href="javascript:tOpenURI('+a[x]['rLink']+')">'+a[x]['rText']+'</a>';
        t1.addNode(a['TermId'],1,{text:a[x]['rText'],id:'l'+a[x]['rLevel']+a[x]['rTermId'],action:{url:"javascript:tOpenURI('"+a[x]['rLink']+"')"}, style:{color:'red'}});
      }
      else if (a[x]['rCount'] == 0) {
      	// cClasSearch(".$this->thDef['thBiblTgt'].",\'".$this->thDef['thSearchCode']."\',\'".$lTerm."\')
        t1.addNode(a['TermId'],1,{text:a[x]['rText'],id:'l'+a[x]['rLevel']+a[x]['rTermId'],action:{url:"javascript:cClasSearch(gBiblTgt,gSC,'"+a[x]['rST']+"')"}});
      }	
      else {
      	if (a['rLastAct'] == 3) {
      	  if (a[x]['rCount'] == 1) { // no children..
      	  	t1.addNode(a['TermId'],1,{text:a[x]['rText'],id:'l'+a[x]['rLevel']+a[x]['rTermId'],action:{url:"javascript:cTooltip("+a[x]['rTermId']+",'"+a[x]['rText']+"')"}});
      	  }	
      	  else {
      	  	t1.addNode(a['TermId'],1,{text:a[x]['rText'],id:'l'+a[x]['rLevel']+a[x]['rTermId'],action:{url:"javascript:cFocus('l"+a[x]['rLevel']+a[x]['rTermId']+"','[l"+a[x]['rLevel']+a[x]['rTermId']+"]',gLanguage)"}});
      	    var m = t1.getNode('l'+a[x]['rLevel']+a[x]['rTermId']);
      	    m.type = 1;
      	    t1.paint();
      	  }	 	
        }
        
        else  {	
      	  t1.addNode(a['TermId'],1,{text:a[x]['rText'],id:'l'+a[x]['rLevel']+a[x]['rTermId'],action:{url:"javascript:cFocus('l"+a[x]['rLevel']+a[x]['rTermId']+"','[l"+a[x]['rLevel']+a[x]['rTermId']+"]',gLanguage)"}});
      	  if (a[x]['rCount'] > 0) { // children..
      	    var m = t1.getNode('l'+a[x]['rLevel']+a[x]['rTermId']);
      	    m.type = 1;
      	    t1.paint();
      	  }  
        }  
      }	
      	// cFocus('l".$lLevel.$x['Id']."',".$this->mtMakeJSParents($seq).",'".$Lang."')
    }   
  }   
}

function tAlf(lLetter,lThesId,lIncludeDoc,lLastLevelAct) {
  ASyncTree('cbDOMAlf','DOMAlf',lThesId,"1",lLetter,lIncludeDoc,lLastLevelAct);
}	  

function OBScbDOMAlf(lJSON) {
  // var a = eval("("+lJSON+")");
  // removeElement('dALink','dMesCont');	
  var Ebody = document.getElementById('dALink');
  // EDiv = createElm('div','dMesCont','');
  EDiv = document.createElement('div');
  EDiv.setAttribute('id','dMesCont');
  Etable = document.createElement('table');
  Etablebody = document.createElement("tbody");
 
   
        Erow = document.createElement('tr');
      // Ecell = createElm('td','','pTD');
      var Ecell = document.createElement('td');
      // createTextLink(0,0,Ecell,a[x]['rLink'],a[x]['rText'],a['viewtopic']+' '+a[x]['rText'],'axPortal','',''); 	
     var EText = document.createTextNode('hebheb');
  Ecell.appendChild(EText);	
      // Ecell.className = '';
      // alert(a[x]['rLink']);
      Erow.appendChild(Ecell);
      Etablebody.appendChild(Erow); 
  Etable.appendChild(Etablebody);
  EDiv.appendChild(Etable);  
  Ebody.appendChild(EDiv);
  
} 

function cbDOMAlf(lJSON) {
  var a = eval("("+lJSON+")");
  removeElement('dALink','dMesCont');	
  var Ebody = document.getElementById('dALink');
  EDiv = createElm('div','dMesCont','');
  Etable = createElm('table','x','pTB');
  Etablebody = document.createElement("tbody");
  for (var x in a) {
  	if (isInteger(x)) {
      if (x % 2 == 0) 
        Erow = createElm('tr','','pTR0');
      else  
        Erow = createElm('tr','','pTR1');
      Ecell = createElm('td','','pTD');
      createTextLink(0,0,Ecell,a[x]['rLink'],a[x]['rText'],a['viewtopic']+' '+a[x]['rText'],'axPortal','',''); 	
      Erow.appendChild(Ecell);
      Etablebody.appendChild(Erow); 
    }  
  }
  Etable.appendChild(Etablebody);  
  EDiv.appendChild(Etable);  
  Ebody.appendChild(EDiv);
  
}      

function cNode(lId,lLanguage) {
  document.fOpenNode.Node.value = lId;	
  document.fOpenNode.Lang.value = lLanguage;
  document.fOpenNode.submit();
}	

function cLanguage(lLanguage) {
  document.fLeaf.Lang.value = lLanguage;
  document.fLeaf.submit();
}	

function cAction(lAction) {
  document.fLeaf.Act.value = lAction;
  document.fLeaf.submit();
}  	

function cEdit(lLevel,lId) {
  document.fEdit.Id.value = lId;
  document.fEdit.Level.value = lLevel;
  document.fEdit.submit();
}	
function cThesaurus(lFocus) {	
  document.fFocus.Focus.value = lFocus;
  document.fFocus.submit();
} 

function cXML(tgtId,lThesId,lId) {	
  makeHiddenIFRAME('../background/bgFunctions.php?FuncName=thGetZThes&tgtId='+tgtId+'&ThesId='+lThesId+'&Id='+lId);
}	

function bgZThes(lXML) { // callback from bgFunctions...	
  document.getElementById('pPanel').innerHTML = decodeURIComponent(lXML);
}	

function tNewWindow(lLink) {
  MakeUserWindow(lLink,'pHitList',750,400,'yes','default');
}	
function fNewWindow(lLink) {
  MakeFullWindow(lLink,'pHitList',750,800,'yes','default');
}

function cClasSearch(tgtId,lSearchCode,lClas) {
  lLink = '../main/Hits.php?tgtId='+tgtId+'&qe='+lSearchCode+'='+lClas;
  MakeFullWindow(lLink,'pHitList',750,800,'yes','default');
}

function ModalUnfoldNode(lMode,lFocus,lNodeId,lLang) {
  var lLink ='../main/ThTree.php?Modal=1&Mode='+lMode+'&Focus='+lFocus+'&Node='+lNodeId+'&Lang='+lLang;
  document.fAddTerm.ReplaceTerm.value = lNodeId;
  var lHeight = 800;
  var lWidth = 600;
  var dialogWindow = window.open(lLink,'Tree',"height="+lHeight+",width="+lWidth+",scrollbars=yes,resizable=yes,dialog=yes,modal=yes");
}	

function cModal(thId,lLevel,lFieldName,lId,lMode,lNode) {
	// alert(opener.window.location);
  opener.window.TreeModalReturn(thId,lLevel,lFieldName,lId,lMode,lNode);
  window.close(); 
}	
function pModal(thId,lLevel,lFieldName,lId,lMode,lNode) {
  opener.window.TreeModalReturnPortal(thId,lLevel,lFieldName,lId,lMode,lNode);
  window.close(); 
}			

function SaveRelationRow(lStage,lId,lRelationType) {	 
    document.fEditRelation.Stage.value = lStage;
    document.fEditRelation.RelId.value = lId;
    document.fEditRelation.RelationType.value = lRelationType;
    document.fEditRelation.submit();	  
}	

function RelGotoTop(lLevel,lId) {
  document.fTop.Level.value = lLevel;	
  document.fTop.Id.value = lId;
  document.fTop.submit();	

}	

function getModalThes(lMode,lFocus) {
  var lLink ='../main/ThTree.php?Modal=1&Mode='+lMode+'&Focus='+lFocus;
  var lHeight = 800;
  var lWidth = 600;
  var dialogWindow = window.open(lLink,'Tree',"height="+lHeight+",width="+lWidth+",scrollbars=yes,resizable=yes,dialog=yes,modal=yes");
} 

function TreeModalReturn(thId,lLevel,lType,lTermId,lMode,lNode) { // 194 :: Sister in Portal.php return from ThTree.php as modal
  // alert('Mode : '+lMode+' :: '+lTermId+' Type : '+lType+' Replace : '+document.fAddTerm.ReplaceTerm.value);	
  if (lMode == 1) { // add term
    document.fAddTerm.Term.value = lNode;
    document.fAddTerm.TermId.value = lTermId;
    setTimeout("ASyncTree('cbPreInsertTerm','PreInsertTerm',"+thId+","+lLevel+","+lTermId+",'"+lType+"',"+document.fAddTerm.MtaId.value+")",500);	
  }
  if (lMode == 2) { // update term.
    document.fAddTerm.Term.value = lNode;
    document.fAddTerm.TermId.value = lTermId;
    setTimeout("ASyncTree('cbPreInsertTerm','UpdateTerm',"+thId+","+lLevel+","+lTermId+",'"+document.fAddTerm.ReplaceTerm.value+"',"+document.fAddTerm.MtaId.value+")",500);	
  }  	  
}  
   
function cbPreInsertTerm(lJSON) {
  var a = eval("("+lJSON+")");	
  // alert(a['ReplaceTerm']);
  document.fReload.thId.value = a['thId'];
  document.fReload.Reload.value = document.fReload.Reload.value+1; // must have different value to reload.	
  document.fReload.submit();
}
   
function MtaTermDelete(TermId,MtaId,lType) {
  // alert(lId);
  ASyncTree('cbMtaTermDelete','MtaTermDelete',0,0,TermId,lType,MtaId);
}	

function cbMtaTermDelete(lJSON) {
  // var a = eval("("+lJSON+")");		
  document.fReload.Reload.value = document.fReload.Reload.value+1; // must have different value to reload.	
  document.fReload.submit();  
}	

function MtaTermZebra(MtaId) {
  ASyncTree('cbMtaTermSave','MtaTermSave',0,0,0,'',MtaId);	
}	

function cbMtaTermSave(lJSON) {
  var a = eval("("+lJSON+")");	
  // alert(a['ID']+' :: '+a['MtaId']+' :: '+a['ESaction']+' :: '+a['err']);
  if (a['err'] == '00000') {
    var aDiv = document.getElementsByTagName('div');
    for (var i=0; i<aDiv.length; i++) {
      if (aDiv[i].id.substring(0,1) == 'i')
        aDiv[i].innerHTML = a['Message'];
    }	
    
  }	
}	

////////////////////////////////
//           AJAX            //
//////////////////////////////


function runDOMSearch(TermId,Level) {
  // 	alert(document.fVar.Id.value+' :: '+TermId+' :: '+Level);
  ASyncTree('cbTreeSearch','TreeSearch',document.fVar.Id.value,Level,TermId,'',0);
}

function cbTreeSearch(lJSON) { 
	// alert('hebheb');
  var a = eval("("+lJSON+")");
  /*
  document.getElementById('pPanel').style.position = 'absolute';
  document.getElementById('pPanel').style.left='800px'; 
  document.getElementById('pPanel').style.top=mousePos.y+'px';
  document.getElementById('pPanel').style.width='350px';
  */
  document.getElementById('pPanel').style.position = 'relative';
  document.getElementById('pPanel').style.left='5%'; 
  document.getElementById('pPanel').style.top=(mousePos.y-200)+'px';
  document.getElementById('pPanel').style.width='350px';  
  removeElement('pPanel','pTable');
  // alert(a['hits']);
  if (a['hits']) { 
    makeHitGrid2(a['list'],a['tgtId'],a['hits'],a['SearchCode']+'='+a['term'],document.fVar.view_all_items.value);  	
  }  
}


function BgSearchDBResponse(tgtId,lHits,lqe) { // RPC from bgSearch.php - in IFRAME... 	

  // if (lHits && t1.nodes[gIndex].text.slice(-8) != 'en..</a>') {	
  if (lHits) { // make research possible..	
    // t1.nodes[gIndex].text = gSTxt+'.&nbsp;&nbsp;<a href="../main/Hits.php?qe='+lqe+'" target="_blank">Se '+lHits+' Hits i basen..</a>';
    if (t1.nodes[gIndex].text.slice(-8) != 'en..</a>') {
      // var gSTxt set in ThTree.yOver		
      t1.nodes[gIndex].text = gSTxt+'.&nbsp;&nbsp;<a href="../main/Hits.php?qe='+lqe+'" target="_blank"><img src="\/pics\/SSearch.gif" /> '+lHits+' Hits i basen..</a>';
      // 175 :: hebheb t1.nodes[gIndex].text = gSTxt+'.&nbsp;&nbsp;<div><a href="javascript:alert('+lHits+')"><img src="/pics/SSearch.gif"/> '+lHits+' Hits i basen..</a></div>';
      t1.paint();	
    }  
    var lLink = '../background/bgSearch.php?Mode=HitList&tgtId='+tgtId+'&qe='+encodeURI(lqe);
    setTimeout('makeHiddenIFRAME("'+lLink+'")',500);  
    // not this version :: t1.nodes[i].paint(); 
  }  
}

function BgHitListResponse(tgtId,lHits,laHit,lqe,lFooter) {
  var  aHit = new Array();
  aHit = eval(laHit);
  // alert(aHit);
  // document.getElementById('pPanel').style.backgroundColor = '#AAAAAA';
  document.getElementById('pPanel').style.position = 'absolute';
  document.getElementById('pPanel').style.left='700px'; 
  document.getElementById('pPanel').style.top=mousePos.y+'px';
  document.getElementById('pPanel').style.width='350px';
  // var lHitList = lqe+' = '+lHits+' hits<br />';
  removeElement('pPanel','pTable');
  makeHitGrid(aHit,tgtId,lHits,lqe,lFooter);
}


function RunbgSearchHint(lThTgt,lBiblTgt,lqe) {
  makeHiddenIFRAME('../background/bgSearch.php?Mode=Tree&tgtId='+lBiblTgt+'&qe='+encodeURI(lqe));
}

function CartAction(tgtId,tgtPos,lqe,lId,lState) { // Mark selected records.
  // if (!browser.isIE)	
  setTimeout("document.getElementById('"+lId+"').checked = "+lState,500);	
  // document.getElementById(lId).checked = lState
  ASyncAjax('cbTreeCartResponse','TreeCart',tgtId,tgtPos,lqe,lState); 
}

function cbTreeCartResponse(lJSON) {
  var a = eval("("+lJSON+")");
  swapCart(a['rCart']); // mox.js   
} 

function JSONScan (lJSON) { // dynamic scan when a node opens :: used on classification-systems..
  var a = eval("("+lJSON+")");
  var n = ''; 
  var z = '';
  // var tgtId = 999;
  for (var x in a) {
    z = x.toString();
    z = z.replace(/[ ]/,".");
    var lElm = eval("document.getElementById('t"+z+"')");
    if (lElm != null) {
       var dElm = eval("document.getElementById('d"+z+"')");	
       if (dElm != null)
         dElm.style.visibility = 'visible';
       var nodeLinkText = document.createTextNode(' Hits : '+a[x]);
       lElm.appendChild(nodeLinkText);
    }   
  }   
}



function org_JSONScan (lJSON) { // dynamic scan when a node opens :: used on classification-systems..
 var a = eval("("+lJSON+")");
 var n = ''; 
 var z = '';
 // var tgtId = 999;
 for (var x in a) {
    z = x.toString();
    z = z.replace(/[ ]/,".");
    var lElm = eval("document.getElementById('d"+z+"')");
    if (lElm != null) {
      var oImg = document.createElement('img');
      var oAttr = document.createAttribute('border')
      oAttr.nodeValue = '0';
      oImg.setAttributeNode(oAttr);
      var oAttr = document.createAttribute('src');
      oAttr.nodeValue = "\/pics\/SSearch.gif";
      oImg.setAttributeNode(oAttr);
      lElm.appendChild(oImg);
      var lNode = '../main/Hits.php?tgtId='+gTgtId+'&qe='+gSC+'='+x;
      setEvent(oImg, "onclick", 'fNewWindow("'+lNode+'");return false'); 
      // var lQuery = gSC+'='+x;
      // setEvent(oImg, "onmouseover", 'clickSearch("'+lQuery+'")');
      var oA = document.createElement('a');
      var oAttr = document.createAttribute('href');
      var nodeLinkText = document.createTextNode(' Hits : '+a[x]);
      lElm.appendChild(oA);
      // oAttr.nodeValue = lNode;
      oAttr.nodeValue = '#';
      oA.appendChild(nodeLinkText);
      oA.setAttributeNode(oAttr);
      lElm.appendChild(oA);
      setEvent(oA, "onclick", 'fNewWindow("'+lNode+'")');
      // setEvent(oA, "onmouseover", 'clickSearch("'+lQuery+'")');
      
    }  
 }   
}



////////////////////////////////
//           DOM            //
//////////////////////////////
function makeHitGrid2(a,tgtId,lHits,lqe,lFooter) {  	
  // get the reference for the body
  var mybody = document.getElementById('pPanel');
     
  // creates <table> and <tbody> elements
  mytable     = document.createElement("table");
  mytable.setAttribute('id','pTable');

  
  mytablebody = document.createElement("tbody");

  // header
  mycurrent_row = document.createElement("tr");	
  mycurrent_cell = document.createElement("td");
  currenttext = document.createTextNode('');
  mycurrent_cell.appendChild(currenttext);	  
  mycurrent_row.appendChild(mycurrent_cell);
  mycurrent_cell = document.createElement("td");
  currenttext = document.createTextNode(lqe+' : '+lHits+' hits');
  mycurrent_cell.appendChild(currenttext);
  mycurrent_cell.style.textAlign="center";
  mycurrent_cell.style.fontSize="12px";
  mycurrent_cell.style.color="#404040";
  mycurrent_cell.style.fontWeight="bold";
  mycurrent_row.appendChild(mycurrent_cell);
  mytablebody.appendChild(mycurrent_row);  

  // creating all cells
  var gi = 1; // tgtPos counter..
  for (var x in a) {
    if (a[x]) {
    	
      // creates a <tr> element
      mycurrent_row = document.createElement("tr");	
      for(var i = 0; i < 2; i++) {
        // creates a <td> element
        mycurrent_cell = document.createElement("td");
        // creates a Text Node
      
        if (i % 2 == 0) { 
          // checkbox..	
          var IPT = document.createElement('input');	
          var attrIPT = document.createAttribute('type');
          attrIPT.nodeValue = "checkbox";
          IPT.setAttributeNode(attrIPT);
          IPT.checked = IPT.defaultChecked = false; 

          var attrId = document.createAttribute('id');
          attrId.nodeValue = "i"+x;
          IPT.setAttributeNode(attrId);          
          mycurrent_cell.appendChild(IPT);
          setEvent(IPT, "onclick", 'CartAction('+tgtId+',"'+gi+'","'+encodeURI(lqe)+'",this.id,this.checked)');  
        }  
        else {
          var tagA = document.createElement('a');
          var attrHREF = document.createAttribute('href');
          var nodeLinkText = document.createTextNode(a[x]);
          mycurrent_cell.appendChild(tagA);
          attrHREF.nodeValue = "#";
          tagA.appendChild(nodeLinkText);
          tagA.setAttributeNode(attrHREF);
          mycurrent_cell.appendChild(tagA);
          var lNode = '../main/Hits.php?tgtId='+tgtId+'&tgtPos='+gi+'&full=1&qe='+encodeURI(lqe);
          setEvent( tagA, "onclick", 'tNewWindow("'+lNode+'")');  
        }  
        // appends the Text Node we created into the cell <td>
        // mycurrent_cell.appendChild(currenttext);
        // appends the cell <td> into the row <tr>
        if (gi % 2 == 0)
          mycurrent_cell.bgColor="#bbc2a9";
        mycurrent_cell.style.border = "1px solid #95A8C4";
        mycurrent_row.appendChild(mycurrent_cell);
      }
      // appends the row <tr> into <tbody>
      mytablebody.appendChild(mycurrent_row);
    }
    gi++;
  }  
  
  // footer
  mycurrent_row = document.createElement("tr");	
  mycurrent_cell = document.createElement("td");
  var oImg = document.createElement('img');
  var oAttr = document.createAttribute('src');
  oAttr.nodeValue = "\/pics\/SSearch.gif";
  oImg.setAttributeNode(oAttr);
  mycurrent_cell.appendChild(oImg);
  var lNode = '../main/Hits.php?tgtId='+tgtId+'&qe='+encodeURI(lqe);
  setEvent(oImg, "onclick", 'fNewWindow("'+lNode+'")');    
  mycurrent_cell.style.textAlign="center";
  mycurrent_row.appendChild(mycurrent_cell);
  mycurrent_cell = document.createElement("td");
  var oA = document.createElement('a');
  var oAttr = document.createAttribute('href');
  var nodeLinkText = document.createTextNode(lFooter);
  mycurrent_cell.appendChild(oA);
  oAttr.nodeValue = "#";
  oA.appendChild(nodeLinkText);
  oA.setAttributeNode(oAttr);
  mycurrent_cell.appendChild(oA);
  var lNode = '../main/Hits.php?tgtId='+tgtId+'&qe='+encodeURI(lqe);
  setEvent(oA, "onclick", 'fNewWindow("'+lNode+'")');    
  // mycurrent_cell.style.textAlign="center";
  mycurrent_cell.style.fontSize="12px";
  mycurrent_cell.style.color="#404040";
  mycurrent_cell.style.textDecoration="underline";
  mycurrent_row.appendChild(mycurrent_cell);
  mytablebody.appendChild(mycurrent_row);  


   // appends <tbody> into <table>
   mytable.appendChild(mytablebody);
   // appends <table> into <body>
   mybody.appendChild(mytable);
   // sets the border attribute of mytable to 1;
   mytable.setAttribute("border","0");
}

function makeHitGrid(aHit,tgtId,lHits,lqe,lFooter) {  	
  // get the reference for the body
  var mybody = document.getElementById('pPanel');
     
  // creates <table> and <tbody> elements
  mytable     = document.createElement("table");
  mytable.setAttribute('id','pTable');

  
  mytablebody = document.createElement("tbody");

  // header
  mycurrent_row = document.createElement("tr");	
  mycurrent_cell = document.createElement("td");
  currenttext = document.createTextNode('');
  mycurrent_cell.appendChild(currenttext);	  
  mycurrent_row.appendChild(mycurrent_cell);
  mycurrent_cell = document.createElement("td");
  currenttext = document.createTextNode(lqe+' : '+lHits+' hits');
  mycurrent_cell.appendChild(currenttext);
  mycurrent_cell.style.textAlign="center";
  mycurrent_cell.style.fontSize="12px";
  mycurrent_cell.style.color="#404040";
  mycurrent_cell.style.fontWeight="bold";
  mycurrent_row.appendChild(mycurrent_cell);
  mytablebody.appendChild(mycurrent_row);  

  // creating all cells
  var gi = 1; // tgtPos counter..
  for (var x=0; x < aHit.length; x++) {
    if (aHit[x]) {
      // creates a <tr> element
      mycurrent_row = document.createElement("tr");	
      for(var i = 0; i < 2; i++) {
        // creates a <td> element
        mycurrent_cell = document.createElement("td");
        // creates a Text Node
      
        if (i % 2 == 0) { 
          // checkbox..	
          var IPT = document.createElement('input');	
          var attrIPT = document.createAttribute('type');
          attrIPT.nodeValue = "checkbox";
          IPT.setAttributeNode(attrIPT);
          IPT.checked = IPT.defaultChecked = false; 

          var attrId = document.createAttribute('id');
          attrId.nodeValue = "i"+x;
          IPT.setAttributeNode(attrId);          
          mycurrent_cell.appendChild(IPT);
          setEvent(IPT, "onclick", 'CartAction('+tgtId+',"'+gi+'","'+encodeURI(lqe)+'",this.id,this.checked)');  
        }  
        else {
          var tagA = document.createElement('a');
          var attrHREF = document.createAttribute('href');
          var nodeLinkText = document.createTextNode(aHit[x]);
          mycurrent_cell.appendChild(tagA);
          attrHREF.nodeValue = "#";
          tagA.appendChild(nodeLinkText);
          tagA.setAttributeNode(attrHREF);
          mycurrent_cell.appendChild(tagA);
          var lNode = '../main/Hits.php?tgtId='+tgtId+'&tgtPos='+gi+'&full=1&qe='+encodeURI(lqe);
          setEvent( tagA, "onclick", 'tNewWindow("'+lNode+'")');  
        }  
        // appends the Text Node we created into the cell <td>
        // mycurrent_cell.appendChild(currenttext);
        // appends the cell <td> into the row <tr>
        if (gi % 2 == 0)
          mycurrent_cell.bgColor="#bbc2a9";
        mycurrent_cell.style.border = "1px solid #95A8C4";
        mycurrent_row.appendChild(mycurrent_cell);
      }
      // appends the row <tr> into <tbody>
      mytablebody.appendChild(mycurrent_row);
    }
    gi++;
  }  
  
  // footer
  mycurrent_row = document.createElement("tr");	
  mycurrent_cell = document.createElement("td");
  var oImg = document.createElement('img');
  var oAttr = document.createAttribute('src');
  oAttr.nodeValue = "\/pics\/SSearch.gif";
  oImg.setAttributeNode(oAttr);
  mycurrent_cell.appendChild(oImg);
  var lNode = '../main/Hits.php?tgtId='+tgtId+'&qe='+encodeURI(lqe);
  setEvent(oImg, "onclick", 'fNewWindow("'+lNode+'")');    
  mycurrent_cell.style.textAlign="center";
  mycurrent_row.appendChild(mycurrent_cell);
  mycurrent_cell = document.createElement("td");
  var oA = document.createElement('a');
  var oAttr = document.createAttribute('href');
  var nodeLinkText = document.createTextNode(lFooter);
  mycurrent_cell.appendChild(oA);
  oAttr.nodeValue = "#";
  oA.appendChild(nodeLinkText);
  oA.setAttributeNode(oAttr);
  mycurrent_cell.appendChild(oA);
  var lNode = '../main/Hits.php?tgtId='+tgtId+'&qe='+encodeURI(lqe);
  setEvent(oA, "onclick", 'fNewWindow("'+lNode+'")');    
  // mycurrent_cell.style.textAlign="center";
  mycurrent_cell.style.fontSize="12px";
  mycurrent_cell.style.color="#404040";
  mycurrent_cell.style.textDecoration="underline";
  mycurrent_row.appendChild(mycurrent_cell);
  mytablebody.appendChild(mycurrent_row);  


   // appends <tbody> into <table>
   mytable.appendChild(mytablebody);
   // appends <table> into <body>
   mybody.appendChild(mytable);
   // sets the border attribute of mytable to 1;
   mytable.setAttribute("border","0");
}	

////////////////////////////////
//         JQUERY            //
//////////////////////////////	
function thLink(lThesId,lNode) {
  // alert(lNode);
  if (lNode == 87) // BUF reference list
    MakeUserWindow('../rss/Portal.php?Template=portaldocPanel&Id=4','wRef',750,400,'yes','default');
  else
    ASyncTree('cbThesLink','ThesLink',lThesId,0,lNode,'','');  
}	

function cbThesLink(lJSON) {
  var a = eval("("+lJSON+")");
  var lLink = '../background/AjaxSearch.php?Mode=ThesLink&thId='+a['thId']+'&Tree=1&TermId='+a['NodeId'];
  // prompt('Debug',lLink);
  // t1.nodes[t1.getNodeIdx(lId)].action = ''; // set action blank so is just run once.
  JT_Tree(lLink,a['Term'],700,220); 
  var gIDoc = 0;
  var lAlf = a['Term'].substr(0,1);
  var lId = a['ParentId']; 
  // var n = t1.getNode('l2'+a['Id']);
  // eval('var lParentId = t1.l1'+a['Id']+'.parent');
  // alert(lId);
  // alert(n.parent);
  var m = t1.getNode(lId);
   m.state = 1;
   // t1.paint();
  ASyncTree('cbDOMTerms','DOMTerms',a['thId'],"1",lId,gIDoc,lAlf); 
  setTimeout('cbbThesLink('+a['Id']+')',1000); 
}  

function cbbThesLink(lTermId) {
   var m = t1.getNode('l2'+lTermId);
   // t1.setCurr(m);
   // m.style.color ='red';	
   // m.text = '#';
   var lBuf = t1.style.color;
   // var lText = m.text;
   // m.style.imgitem = "/pics/Tree/item.gif";
   // m.text = '  #'+lText;
   m.style.color = '#CC0000';
   m.paint();
   t1.style.color = lBuf;
   // var m = document.getElementById('l2'+lTermId);
   // m.style.color ='red';	

}	

function cTooltip(lTermId,lHeader) { 
  JT_Tree('../background/AjaxSearch.php?Mode=TreeTip&TermId='+lTermId,lHeader,0,220); 
}	


