
var ypos
var elink
var plink
var start
var c
var bg
var rootdlev
var root
var dsize
var Page_height

currentX = currentY = 0;
whichEl = null;

var end = '</a></td><td width="7"></td></tr></table></td></tr></table>';
elink = '</a></td><td width="7"></td></tr><tr><td width="141">';

//Subdepartments
var sd = "')" + '"' + ' class="d">';

//document.getElementById("theMenu").style.color="black".

ns4=(document.layers)?true:false;
ie4=(document.all)?true:false;
ver4 = (ns4 || ie4) ? true : false;

if (ns4)
   {
   start = '<table border="1" width="149" bordercolorlight="#000000" cellpadding="0" cellspacing="0" bordercolordark="FFFFFF" bgcolor="#d0d0d0"><tr><td width="149"><table width="149"><tr><td width="142">';
   elink = '</a></td><td width="7"></td></tr><tr><td width="142">';
   doc="document.getElementById";
   styl=".style";
   showit="visible";
   hideit="hidden";
   }
else if (ie4)
   {
   bg = "white";
 
   start = '<table border="1" width="200" bordercolorlight="#000000" cellpadding="1" cellspacing="1" bordercolordark="#FFFFFF" bgcolor='+bg+'><tr><td width="148"><table width="148"><tr><td width="400">';
   elink = '</a></td><td width="7"></td></tr><tr><td width="141">';
   //doc="document.all.";
   doc="document.getElementById";
   styl=".style";
   showit="visible";
   hideit="hidden";
}else
{
	ns4 = true;
   start = '<table border="1" width="149" bordercolorlight="#000000" cellpadding="0" cellspacing="0" bordercolordark="FFFFFF" bgcolor="#d0d0d0"><tr><td width="149"><table width="149"><tr><td width="142">';
   elink = '</a></td><td width="7"></td></tr><tr><td width="142">';
   doc="document.getElementById";
   styl=".style";
   showit="visible";
   hideit="hidden";
   }

if(ns4)
{
 document.captureEvents(Event.MOUSEMOVE | Event.CLICK | Event.KEYPRESS | Event.MOUSEDOWN | Event.MOUSEUP) 
}

document.onmousemove = mouseMove;
document.onmouseover = cursEl;
document.onselectstart = checkEl;
document.onclick = Click;
document.onkeypress = KeyPress;
document.onmousedown = grabEl;
document.onmouseup = dropEl;


function KeyPress(e)
//==================
{
  if (ns4){ var key = e.which }
  else if(ie4) var key = event.keyCode;
  
  

  if (key == 13) return false;
}

function hide()
//=======================
{
  eval(doc + "('DEPTS')" + styl + '.visibility="' + hideit + '"');
}


function clear()
//===================
{
  rootdlev = "undefined";
  root = "undefined";
}

function load()
// =========================
//Load the product page
{
  var s = root;
//  s += '.htm'
  if (root == "undefined")
	 hide();
  else
	 window.location='catalogueList.do?deptid='+s;
}

function DoClick()
//==================
{
  if (root=="undefined"){ hide(); clear();	}
}


function Click(e)
//================
//executed by the CLICK capturing event
{ 
	
DoClick();}

function mouseMove(e)
//================
//executed by the onmouseMove capturing event, sets a global var to the current Y position.
{
  if(ns4){ ypos = e.pageY; }
  else if(ie4) ypos = (window.event.clientY + document.body.scrollTop);

  moveEl(e);

//  window.status = ypos;
}


function height() 
//===============
{
  if (ie4){
    Page_height = eval(document.body.offsetHeight + document.body.scrollTop);}
  else if (ns4){
    Page_height = eval(window.innerHeight + window.pageYOffset);}
}

function setdisplay()
//========================
{

  //hide the menus we dont want   

  if (sdept == "DEPTS")
  {
    if (eval(doc + "('DEPTS')" + styl + '.visibility') == showit)
    {   
      rootdlev="n";     
    } 
   eval(doc + "('DEPTS')" + styl + '.visibility="' + hideit + '"');
   eval(doc + "('NDEPT')" + styl + '.visibility="' + hideit + '"');
 
  }

  if (rootdlev=="r") 
  { 
  
    //write the menu string to the div
    if (ns4) { 
    	eval('document.getElementById("' + sdept + '").innerHTML = sOut');
//        eval('document.layers["' + sdept + '"].document.write(sOut)');
//        eval('document.layers["' + sdept + '"].document.close()');
    } else if (ie4) {
        //eval(doc + sdept + '.innerHTML = sOut');		
        eval('document.getElementById("' + sdept + '").innerHTML = sOut');
    }
  

    //get the divs height with the data inside, so that we can position the div ON the
    //page, except for the FIXED div, its fixed.

      if (ns4){
      	dsize = eval('document.getElementById("' + sdept + '").offsetHeight');
      }
          //dsize = eval('document.layers["' + sdept + '"].document.height');
      else if (ie4){
          //dsize = eval('document.all["' + sdept + '"].offsetHeight');
          dsize = eval('document.getElementById("' + sdept + '").offsetHeight');
	 }
	

      ypos = ypos + 10;

      //get the bottom of the div
      Div_bottom = ypos + dsize;      

      //get the page height
      height();

    if (Div_bottom > Page_height) {ypos = ypos - (Div_bottom - Page_height);} 
	
	eval('document.getElementById("' + sdept + '").top = (ypos)'); 
	 
	//eval(doc + sdept + styl + '.top = (ypos)');  
   //activeEl = eval(doc + sdept + styl + '.visibility="' + showit + '"');    
    activeEl = eval('document.getElementById("' + sdept + '")' + styl + '.visibility="' + showit + '"');
  
  //alert (activeEl);
  }

  return;
}

function grabEl(e) {
    if (ie4) {
    	if(window.event)
    	{
        whichEl = event.srcElement;
        while (whichEl.id.indexOf("DEPT") == -1) {
            whichEl = whichEl.parentElement;
            if (whichEl == null) { return }
        }
      }
    }
    else {
      mouseX = e.pageX;
      mouseY = e.pageY;
		if(document.layers)
		{
        for ( i=0; i<document.layers.length; i++ ) {
	    tempLayer = document.layers[i];
            if ( tempLayer.id.indexOf("DEPT") == -1 ) { continue }
            if ( (mouseX > tempLayer.left) && (mouseX < (tempLayer.left + tempLayer.clip.width)) && (mouseY > tempLayer.top) && (mouseY < (tempLayer.top + tempLayer.clip.height)) ) {
                whichEl = tempLayer;
            }
        } 
      }

        if (whichEl == null) { return}
    }

    if (ie4) {
        whichEl.style.pixelLeft = whichEl.offsetLeft;
        whichEl.style.pixelTop = whichEl.offsetTop;

        currentX = (event.clientX + document.body.scrollLeft);
        currentY = (event.clientY + document.body.scrollTop); 

    }
    else {
	currentX = e.pageX;
	currentY = e.pageY;

	document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = moveEl;
    }
}

function moveEl(e) {
	
    if (whichEl == null) { return };

    if (ie4) {
        newX = (event.clientX + document.body.scrollLeft);
        newY = (event.clientY + document.body.scrollTop);
    }
    else {
        newX = e.pageX;
        newY = e.pageY;
    }
    distanceX = (newX - currentX);
    distanceY = (newY - currentY);
    currentX = newX;
    currentY = newY;

    if (ie4) {
        whichEl.style.pixelLeft += distanceX;
        whichEl.style.pixelTop += distanceY;
        event.returnValue = false;
    }
    else { whichEl.moveBy(distanceX,distanceY) }
}

function checkEl() {
    if (whichEl!=null) { return false }
}

function dropEl() {
    if (ns4) { document.releaseEvents(Event.MOUSEMOVE) }
    whichEl = null;
}

function cursEl() {
	 if(window.event)
    {
    	if (event.srcElement.id.indexOf("DEPT") != -1) {
        event.srcElement.style.cursor = "move"
    	}
   }
}

function dept(DivID)
// =================
// Mouse moves over menu item: Display the next level menu if the menu item leads to a new menu level.
{
 
  plink = '<a href="javascript:load()" onmouseover="dept' + "('";

  //find out which div to fill
  rootdlev = DivID.substr(0,1);
  root = DivID.substr(1,7);
  var x = 1;
  if (root>x) 
    sdept = "NDEPT"; 
  else 
	sdept = "DEPTS";

  if (rootdlev=="r") getdept(DivID);

  setdisplay();

}

  function setColor(el)
// ========================
{
	var bg = "white";
//	alert (el);
//	var c = eval('document.all["' + el + '"].style');
//	alert (c.top);
//	if (elink.style){ bg = elink.style.backgroundColor; }
//	alert (bg);
	return bg;
}

function getdept(DivID)
{

	var bg = setColor()
   var start = '<table border="1" width="200" bordercolorlight="#000000" cellpadding="1" cellspacing="1" bordercolordark="#FFFFFF" bgcolor="'+bg+'"><tr><td width="148"><table width="148"><tr><td width="400">';

  //generate the menu string  
switch (DivID)
{


	case "r100":
	sOut=
	start+plink+
	'd80'+sd+'CONDIMENTS'+elink+plink+
	'd69'+sd+'TEA/COFFEE & SUGAR'+elink+plink+
	'd70'+sd+'TINNED FRUIT & JELLY'+elink+plink+
	'd71'+sd+'JAM & PRESERVES'+elink+plink+
	'd72'+sd+'TINNED FOODS'+elink+plink+
	'd73'+sd+'SOUPS'+elink+plink+
	'd74'+sd+'BAKING/CEREALS & MILK POWDERS'+elink+plink+
	'd75'+sd+'PASTA/RICE & MEALIE MEAL'+elink+plink+
	'd76'+sd+'SAUCES & SALAD DRESSING'+elink+plink+
	'd77'+sd+'OIL & VINEGARS'+elink+plink+
	'd78'+sd+'TINNED PATE & SPREADS'+elink+plink+
	'd79'+sd+'BABY FOODS & CHIPS'+
	
	end;
	break;

	case "r200":
	sOut=
	start+plink+
	'd86'+sd+'BEEF/VEAL'+elink+plink+
	'd87'+sd+'LAMB/MUTTON'+elink+plink+
	'd84'+sd+'PORK'+elink+plink+
	'd85'+sd+'GAME'+
	
	end;
	break;

	case "r400":
	sOut=
	start+plink+
	'd43'+sd+'CIGARETTES'+
	
	end;
	break;

	case "r500":
	sOut=
	start+plink+
	'd60'+sd+'FRUIT'+elink+plink+
	'd61'+sd+'VEGETABLES'+elink+plink+
	'd62'+sd+'ORGANIC FRUIT & VEG'+
	
	end;
	break;

	case "r600":
	sOut=
	start+plink+
	'd51'+sd+'CANDLES & MATCHES'+elink+plink+
	'd52'+sd+'CLEANING EQUIPMENT'+elink+plink+
	'd53'+sd+'CLEANING MATERIALS'+elink+plink+
	'd54'+sd+'HOUSEHOLD ACCESSORIES'+elink+plink+
	'd55'+sd+'TISSUES & TOILET PAPER'+elink+plink+
	'd56'+sd+'PLASTIC BAGS & FOILS'+elink+plink+
	'd57'+sd+'POLISHES'+elink+plink+
	'd58'+sd+'WASHING SUPPLIES'+
	
	end;
	break;

	case "r700":
	sOut=
	start+plink+
	'd36'+sd+'STATIONERY'+elink+plink+
	'd37'+sd+'SERVIETTES'+elink+plink+
	'd38'+sd+'MAGAZINES & NEWSPAPERS'+
	
	end;
	break;

	case "r800":
	sOut=
	start+plink+
	'd28'+sd+'DOG PRODUCTS'+elink+plink+
	'd29'+sd+'CAT PRODUCTS'+elink+plink+
	'd30'+sd+'OTHER PET PRODUCTS'+
	
	end;
	break;

	case "r900":
	sOut=
	start+plink+
	'd23'+sd+'CHEESE'+elink+plink+
	'd24'+sd+'MILK/YOGHURT'+elink+plink+
	'd25'+sd+'ICE CREAM'+elink+plink+
	'd26'+sd+'BUTTER & MARGARINE'+elink+plink+
	'd22'+sd+'FRESH FRUIT JUICES'+
	
	end;
	break;

	case "r1000":
	sOut=
	start+plink+
	'd45'+sd+'WINES & CHAMPAGNE'+
	
	end;
	break;

	case "r1100":
	sOut=
	start+plink+
	'd19'+sd+'CHOCOLATES'+elink+plink+
	'd18'+sd+'SWEETS'+elink+plink+
	'd20'+sd+'IMPORTED SWEETS & CHOCOLATES'+
	
	end;
	break;

	case "r1200":
	sOut=
	start+plink+
	'd47'+sd+'COLD MEATS'+elink+plink+
	'd48'+sd+'FROZEN FOODS'+elink+plink+
	'd49'+sd+'PATE/DIPS & SALADS'+
	
	end;
	break;

	case "r1300":
	sOut=
	start+plink+
	'd3'+sd+'BATH TOILETRIES'+elink+plink+
	'd4'+sd+'BEDROOM TOILETRIES'+elink+plink+
	'd5'+sd+'BABY CARE'+
	
	end;
	break;

	case "r1400":
	sOut=
	start+plink+
	'd10'+sd+'SWEET BISCUITS'+elink+plink+
	'd11'+sd+'SAVOURY BISCUITS'+
	
	end;
	break;

	case "r1500":
	sOut=
	start+plink+
	'd40'+sd+'BREADS'+elink+plink+
	'd41'+sd+'CONFECTIONERY'+
	
	end;
	break;

	case "r1600":
	sOut=
	start+plink+
	'd65'+sd+'FRESH FISH'+elink+plink+
	'd64'+sd+'FROZEN FISH'+
	
	end;
	break;

	case "r1700":
	sOut=
	start+plink+
	'd7'+sd+'CHICKEN'+elink+plink+
	'd8'+sd+'TURKEYS/WILD BIRDS'+
	
	end;
	break;

	case "r1800":
	sOut=
	start+plink+
	'd33'+sd+'MINERAL WATERS'+elink+plink+
	'd34'+sd+'FRUIT JUICE & ENERGY DRINKS'+elink+plink+
	'd32'+sd+'SOFT DRINKS'+
	
	end;
	break;

	case "r1900":
	sOut=
	start+plink+
	'd15'+sd+'DRIED FRUIT & HEALTH FOODS'+elink+plink+
	'd16'+sd+'ORGANIC FOODS'+elink+plink+
	'd13'+sd+'GARDENING SEEDS'+elink+plink+
	'd14'+sd+'NUTS'+
	
	end;
	break;

	case "r2000":
	sOut=
	start+plink+
	'd15'+sd+'DRIED FRUIT & HEALTH FOODS'+elink+plink+
	'd16'+sd+'ORGANIC FOODS'+elink+plink+
	'd13'+sd+'GARDENING SEEDS'+elink+plink+
	'd14'+sd+'NUTS'+
	
	end;
	break;
	
	case "r2100":
	sOut=
	start+plink+
	'd67'+sd+'GIFT HAMPERS'+
	
	end;
	break;


default : sOut=start+plink+'d00000'+sd+'Currently Unavailable'+end;

  }

return;

}


