var pop = new Array();  // array of grid pop-ups
var kw = new Array();  // array of keywords
var w  = new Array();  // array of searched words
var MAXSECTORS = 0;    // sectors found 

// Process request from Navigation Panel
function go(form)
{
   var req = document.navForm.r.value;
   var sector = document.navForm.sector.value;
   var search = document.navForm.s.value;

   if (sector == '' && search != "")
   {
     req = 'search';
   }

   if (req=='jump')
   {
      if (sector.length != 3)
      {
        document.navForm.sector.focus();
        alert('Please enter a valid Address (e.g. 4BX)');
        return false;
      }
      document.navForm.action = '../cgi/dbs.pl';
      return true;
   }
   else
   {
      if (search == '')
      {
        document.navForm.s.focus();
        alert('Please enter search text');
        return false;
      }
      document.navForm.action = '../cgi/dbsearch.pl';
      return true;
   }
}


// Determine cursor position and move the zObj next to it
var zObj;

function zMove(event){
if(!event) var event=window.event;
var zx,zy;
if (document.all){ zx=event.clientX+zGetPos()[0]; zy=event.clientY+zGetPos()[1]; }
else { zx=event.pageX,zy=event.pageY; }
if (!zObj){ return; }
zObj.style.left=(zx+5)+'px';
zObj.style.top=(zy+5)+'px';
}

function zGetPos(){
var zsx,zsy;
if (!document.body.scrollTop){ zsx=document.documentElement.scrollLeft; zsy=document.documentElement.scrollTop; }
else { zsx=document.body.scrollLeft; zsy=document.body.scrollTop; }
return [zsx,zsy];
}

// Show the grid pop-up 
function show(e,what) {
   var layer = document.getElementById("popup");
   if (layer)
   {
      layer.innerHTML = pop[what];
	zObj = layer;
	zMove(e);
      layer.style.visibility = "";
      return;
   }
}

// Hide the grid pop-up

function hide(e,what) {
   var layer = document.getElementById("popup");
   if (layer)
   {
      layer.style.visibility = "hidden";
   }
   return;
}

// Find keywords on the grid and highlight the cells

function showkw() {
//   var act = document.searchform.actionbutton;
//   // process HIDE request
//  if (act.value == 'Hide')
//   {
//      act.value = 'Find';
//      for (var i=0;i<MAXSECTORS;i++)
//      {
//         id = "a" + i;
//         link = document.getElementById(id);
// //         link.style.backgroundColor = "";
//	 link.style.backgroundImage="";
//      }
//      return;
//   }

   // process SHOW request

   var kws = document.searchform.txt.value.toUpperCase();

   if (kws)
   {
//      act.value = 'Hide';
      // parse the keywords
      var kn = 0; // number of keywords entered
      w[kn]  = '';
      var ln = kws.length; 
      for (var i=0;i<ln;i++)
      {
         s = kws.substr(i,1);
         if (s != ' ') {w[kn] += s;}
         else {if (w[kn].length>1) {kn++; w[kn]='';} else {w[kn]='';}}
      }
      if (w[kn].length==1) {w[kn]='';}

      // scan sectors for keywords
      for (var i=0;i<MAXSECTORS;i++)
      {
         id = "a" + i;
         link = document.getElementById(id);
//         link.style.backgroundColor = "";
	 if (link.style.backgroundImage != "")
	 {
	   link.style.backgroundImage="";
         }
         var match=0;
         for (j=0;j<=kn;j++)
         {
            if (w[j]=='') {break;}
            match = 0;
            var wrd = ' ' + w[j];
	    //var wrd = w[j];
	    var popwrd = pop[i].toUpperCase();
            if (popwrd.indexOf(wrd)==-1) {break;}
            match=1;
         }
         if (match) {link.style.backgroundImage="url('../images/red.gif')";}
//         if (match) {link.style.backgroundColor="#FF0000";}
      }
      return;
   }
}
