
/*******************************************************************************
* Highly modified attempt at object orientating Dynamic Menu System (no frames)
* Simon Mann 08/07/2002
* Original script (c) Ger Versluis 2000 version 5.41 24 December 2001
# http://www.dynamicdrive.com
*******************************************************************************/
// universal page variables
var AgntUsr=navigator.userAgent.toLowerCase();
var DomYes=document.getElementById?1:0;
var NavYes=AgntUsr.indexOf('mozilla')!=-1&&AgntUsr.indexOf('compatible')==-1?1:0;
var ExpYes=AgntUsr.indexOf('msie')!=-1?1:0;
var Opr=AgntUsr.indexOf('opera')!=-1?1:0;
var DomNav=DomYes&&NavYes?1:0;
var DomExp=DomYes&&ExpYes?1:0;
var Nav4=NavYes&&!DomYes&&document.layers?1:0;
var Exp4=ExpYes&&!DomYes&&document.all?1:0;
var PosStrt=(NavYes||ExpYes)&&!Opr?1:1;
var FrstLoc=window;
var Location=FrstLoc;
var DcLoc=window;
var FrstWinWdth,FrstWinHght,ScWinWdth,ScWinHght
var ScLdAgainWin;
var FirstColPos;
var RcrsLvl=0;
var FrstCreat=1,Loadd=0,Creatd=0,IniFlg,AcrssFrms=0;
var FrstCntnr=null, ScndCntnr=null, CurrntOvr=null,CloseTmr=null;
var CntrTxt,TxtClose,ImgStr;
var Ztop=100;
var ShwFlg=0;
var LScrlld;
var TpScrlld;
var M_Hide=Nav4?'hide':'hidden';
var M_Show=Nav4?'show':'visible';
var Par=parent.frames[0]&&FirstLineFrame!=SecLineFrame?parent:window;
var Doc=Par.document;
var Bod=Doc.body;
var Trigger=NavYes?Par:Bod;
WbMstrAlrts=["Item not defined: ","Item needs height: ","Item needs width: "];
var ChildOverlap=.2;
var ChildVerticalOverlap=.2;
var RightToLeft=0;
var FirstLineFrame='navig';
var SecLineFrame='space';
var KeepHilite=1;
var DissapearDelay=550;

function init() {
    if(document.forms['addr'] != null) {
        showAddr(document.forms['addr'].chosenAddress.options[0].value);
    }
    startMenuGG();
    Go(Block1);
}

function showAddr(div, text) {
    if(text != null) {
        visTD(div, 'show');
    }
    var head1 = document.getElementById(div);
    // head1.firstChild.nodeValue=text;
    head1.innerHTML=text;
}

function visTD(id, val) {
    if(id != null) {
        var head1 = document.getElementById(id);
        if(val == null) {
            head1.style.visibility = "hidden";
        } else {
            if(val != 'show') {
                // head1.firstChild.nodeValue=val;
                head1.innerHTML=val;
            }
            head1.style.visibility = "visible";
        }
    }
}

function NavBar(vert, horiz, MenuAlign, LowBgColor, LowSubBgColor, HighBgColor, HighSubBgColor, FontLowColor, FontSubLowColor, FontHighColor, FontSubHighColor, FontFamily, FontSize, FontBold, FontItalic, firstLineMenus, catTextAlign) {
	this.NoOffFirstLineMenus=firstLineMenus;
	this.LowBgColor=LowBgColor;
	this.LowSubBgColor=LowSubBgColor;
	this.HighBgColor=HighBgColor;
	this.HighSubBgColor=HighSubBgColor;
	this.FontLowColor=FontLowColor;
	this.FontSubLowColor=FontSubLowColor;
	this.FontHighColor=FontHighColor;
	this.FontSubHighColor=FontSubHighColor;
	this.FontFamily=FontFamily;
	this.FontSize=FontSize;
	this.FontBold=FontBold;
	this.FontItalic=FontItalic;
	this.BorderColor='black';
	this.BorderSubColor='black';
	this.BorderWidth=0;
	this.BorderBtwnElmnts=1;
	// this.MenuTextCentered='left';
	this.MenuTextCentered=catTextAlign;
	this.MenuCentered='left';
	this.MenuVerticalCentered='top';
	this.StartTop=vert;
	this.StartLeft=horiz;
	this.M_StrtTp=this.StartTop;
    this.M_StrtLft=this.StartLeft;
	this.LeftPaddng=3;
	this.TopPaddng=2;
	this.LftXtra=DomNav?this.LeftPaddng:0;
	this.TpXtra=DomNav?this.TopPaddng:0;
    if(MenuAlign == '0') {
        MenuAlign = '';
    }
	this.FirstLineHorizontal=MenuAlign;
	this.UnfoldsOnClick=0;
	this.ShowArrow=1;
	this.Arrws=['tri.gif',5,10,'tridown.gif',10,5,'trileft.gif',5,10];
	this.MenuTextCentered=this.MenuTextCentered==1||this.MenuTextCentered=='center'?'center':this.MenuTextCentered==0||this.MenuTextCentered!='right'?'left':'right';
    this.CreateRecord = NavBarCreateRecord;
}

function NavBarCreateRecord(Name, Link, BgImage, Children, Hght, Wdth) {
    this.name = Name;
    this.link = Link;
    this.bgImage = BgImage;
    this.children = Children;
    this.height = Hght;
    this.width = Wdth;
}

function BeforeStart(){return}
function AfterBuild(){return}
function BeforeFirstOpen(){return}
function AfterCloseAll(){return}
function Dummy(){return}
function CnclSlct(){return false}

function Check(WMnu,NoOf){
	var i,array,ArrayLoc;
	ArrayLoc=parent.frames[0]?parent.frames[FirstLineFrame]:self;
	for(i=0;i<NoOf;i++){
		array=WMnu+eval(i+1);
		if(!ArrayLoc[array]){WbMstrAlrt(0,array); return false}
		if(i==0){	if(!ArrayLoc[array][4]){WbMstrAlrt(1,array); return false}
			if(!ArrayLoc[array][5]){WbMstrAlrt(2,array); return false}}
		if(ArrayLoc[array][3])if(!Check(array+'_',ArrayLoc[array][3])) return false}
	return true}

function WbMstrAlrt(No,Xtra) {
	return confirm(WbMstrAlrts[No]+Xtra+'   ')
}

function Go(Block1){
// function Go(Block1, Block2){
	Dummy();
	if(Loadd||!PosStrt)return;
	BeforeStart();
	Creatd=0; Loadd=1;
	status='Building menu';
	if(FrstCreat){
		// grab page width + height
		FrstWinWdth=ExpYes?FrstLoc.document.body.clientWidth:FrstLoc.innerWidth;
		FrstWinHght=ExpYes?FrstLoc.document.body.clientHeight:FrstLoc.innerHeight;
		if(Nav4) {
            CntrTxt=Block1.MenuTextCentered!='left'?"<div align='"+Block1.MenuTextCentered+"'>":"";
			TxtClose="</font>"+Block1.MenuTextCentered!='left'?"</div>":""
        }
    }
	FirstColPos=Nav4?FrstLoc.document:FrstLoc.document.body;
	FrstCntnr=CreateMenuStructure(Block1, 'Block1.menuItem', Block1.NoOffFirstLineMenus);
	PosMenu(FrstCntnr,Block1.StartTop,Block1.StartLeft, Block1);
/*
    if (Block2) {
	    ScndCntnr=CreateMenuStructure(Block2, 'Block2.menuItem', Block2.NoOffFirstLineMenus);
	    PosMenu(ScndCntnr,Block2.StartTop,Block2.StartLeft, Block2);
    }
*/
	IniFlg=1;
	Initiate();
	Creatd=1;
	AfterBuild();
	status='Menu ready for use'
}

function PosMenu(CntnrPntr,Tp,Lt, Block){
	var Topi,Lefti,Hori;
	var Cntnr=CntnrPntr;
	var Mmbr=Cntnr.FrstMbr;
	var CntnrStyle=!Nav4?Cntnr.style:Cntnr;
	var MmbrStyle=!Nav4?Mmbr.style:Mmbr;
	var PadL=Mmbr.value.indexOf('<')==-1?Block.LftXtra:0;
	var PadT=Mmbr.value.indexOf('<')==-1?Block.TpXtra:0;

	var MmbrWt=!Nav4?parseInt(MmbrStyle.width)+PadL:MmbrStyle.clip.width;
	var MmbrHt=!Nav4?parseInt(MmbrStyle.height)+PadT:MmbrStyle.clip.height;
	var CntnrWt=!Nav4?parseInt(CntnrStyle.width):CntnrStyle.clip.width;
	var CntnrHt=!Nav4?parseInt(CntnrStyle.height):CntnrStyle.clip.height;
	var SubTp,SubLt;
	RcrsLvl++;
	CntnrStyle.top=RcrsLvl==1?Tp:0;
	Cntnr.OrgTop=Tp;
	CntnrStyle.left=RcrsLvl==1?Lt:0;
	Cntnr.OrgLeft=Lt;
	if (RcrsLvl==1 && Block.FirstLineHorizontal) {
		Hori=1;Lefti=CntnrWt-MmbrWt-2*Block.BorderWidth;Topi=0
    } else {
        Hori=Lefti=0;
        Topi=CntnrHt-MmbrHt-2*Block.BorderWidth
    }
	while(Mmbr!=null) {
		MmbrStyle.left=Lefti+Block.BorderWidth;
		MmbrStyle.top=Topi+Block.BorderWidth;
		if(Nav4) {
            Mmbr.CmdLyr.moveTo(Lefti+Block.BorderWidth,Topi+Block.BorderWidth);
        }
		if(Mmbr.ChildCntnr){
			if(RightToLeft) {
                ChldCntnrWdth=Nav4?Mmbr.ChildCntnr.clip.width:parseInt(Mmbr.ChildCntnr.style.width);
            }
			if(Hori){
                SubTp=Topi+MmbrHt+2*Block.BorderWidth;
				SubLt=RightToLeft?Lefti+MmbrWt-ChldCntnrWdth:Lefti;
            }
			else{	SubLt=RightToLeft?Lefti-ChldCntnrWdth+ChildOverlap*MmbrWt+Block.BorderWidth:Lefti+(1-ChildOverlap)*MmbrWt+Block.BorderWidth;
				SubTp=RcrsLvl==1&&AcrssFrms?Topi:Topi+ChildVerticalOverlap*MmbrHt
            }
			PosMenu(Mmbr.ChildCntnr,SubTp,SubLt, Block)
        }
		Mmbr=Mmbr.PrvMbr;
		if(Mmbr) {
            MmbrStyle=!Nav4?Mmbr.style:Mmbr;
			PadL=Mmbr.value.indexOf('<')==-1?Block.LftXtra:0;
			PadT=Mmbr.value.indexOf('<')==-1?Block.TpXtra:0;
			MmbrWt=!Nav4?parseInt(MmbrStyle.width)+PadL:MmbrStyle.clip.width;
			MmbrHt=!Nav4?parseInt(MmbrStyle.height)+PadT:MmbrStyle.clip.height;
			Hori?Lefti-=Block.BorderBtwnElmnts?(MmbrWt+Block.BorderWidth):(MmbrWt):Topi-=Block.BorderBtwnElmnts?(MmbrHt+Block.BorderWidth):(MmbrHt)
        }
    }
	RcrsLvl--
}

function Initiate(){
	if(IniFlg) {
        Init(FrstCntnr);
/*
        if (Block2) {
            Init(ScndCntnr);
        }
*/
        IniFlg=0;
		if(ShwFlg) {
            AfterCloseAll();
            ShwFlg=0;
        }
    }
}

function Init(CntnrPntr) {
	var Mmbr=CntnrPntr.FrstMbr;
	var MCStyle=Nav4?CntnrPntr:CntnrPntr.style;
	RcrsLvl++;
	MCStyle.visibility=RcrsLvl==1?M_Show:M_Hide;
	while(Mmbr!=null) {
		if(Mmbr.Hilite) {
            Mmbr.Hilite=0;
            if(KeepHilite) {
                LowItem(Mmbr);
            }
        }
		if(Mmbr.ChildCntnr) {
            Init(Mmbr.ChildCntnr);
        }
		Mmbr=Mmbr.PrvMbr}
	RcrsLvl--
}

function ClearAllChilds(Pntr){
	var CPCCStyle;
	while (Pntr){
		if(Pntr.Hilite){
			Pntr.Hilite=0;
			if(KeepHilite)LowItem(Pntr);
			if(Pntr.ChildCntnr){
				CPCCStyle=Nav4?Pntr.ChildCntnr:Pntr.ChildCntnr.style;
				CPCCStyle.visibility=M_Hide;
				ClearAllChilds(Pntr.ChildCntnr.FrstMbr)}
			break}
		Pntr=Pntr.PrvMbr}}

function GoTo(){
	if(this.LinkTxt){
		status='';
		var HP=Nav4?this.LowLyr:this;
		LowItem(HP);
		this.LinkTxt.indexOf('javascript:')!=-1?eval(this.LinkTxt):DcLoc.location.href=this.LinkTxt;
    }
}

function HiliteItem(P){
	if(Nav4){
		if(P.ro)P.document.images[P.rid].src=P.ri2;
		else{	if(P.HiBck)P.bgColor=P.HiBck;
			if(P.value.indexOf('<img')==-1){
				P.document.write(P.Ovalue);
				P.document.close()}}}
	else{
		if(P.ro){
			var Lc=FrstLoc;
			Lc.document.images[P.rid].src=P.ri2;
		} else {
			if(P.HiBck)P.style.backgroundColor=P.HiBck;
			if(P.HiFntClr)P.style.color=P.HiFntClr;
		}
	}
	P.Hilite=1
}

function LowItem(P){
	if(P.ro){
		if(Nav4) {
			P.document.images[P.rid].src=P.ri1;
		} else {
			var Lc=FrstLoc;
			Lc.document.images[P.rid].src=P.ri1;
		}
	} else {
		if(Nav4){
			if(P.LoBck) {
				P.bgColor=P.LoBck;
			}
			if(P.value.indexOf('<img')==-1) {
				P.document.write(P.value);
				P.document.close();
			}
		} else {
			if(P.LoBck)P.style.backgroundColor=P.LoBck;
			if(P.LwFntClr)P.style.color=P.LwFntClr
		}
	}
}

function OpenMenu(){	
	if(!Loadd||!Creatd) return;
	var CCnt=Nav4?this.LowLyr.ChildCntnr:this.ChildCntnr;
	var ThisHt=Nav4?this.clip.height:parseInt(this.style.height);
	var ThisWt=Nav4?this.clip.width:parseInt(this.style.width);
	var ThisLft=AcrssFrms&&this.Level==1?0:Nav4?this.Container.left:parseInt(this.Container.style.left);
	var ThisTp=AcrssFrms&&this.Level==1?0:Nav4?this.Container.top:parseInt(this.Container.style.top);
	var HP=Nav4?this.LowLyr:this;
	CurrntOvr=this;
	IniFlg=0;
	ClearAllChilds(this.Container.FrstMbr);
	HiliteItem(HP);
	if(CCnt!=null) { // this rollover has children
		if(!ShwFlg) {
            ShwFlg=1;
            BeforeFirstOpen()
        }
		var CCW=Nav4?this.LowLyr.ChildCntnr.clip.width:parseInt(this.ChildCntnr.style.width);
		var CCH=Nav4?this.LowLyr.ChildCntnr.clip.height:parseInt(this.ChildCntnr.style.height);
		var ChCntTL=Nav4?this.LowLyr.ChildCntnr:this.ChildCntnr.style;
		var SubLt=AcrssFrms&&this.Level==1?CCnt.OrgLeft+ThisLft+LScrlld:CCnt.OrgLeft+ThisLft;
		var SubTp=AcrssFrms&&this.Level==1?CCnt.OrgTop+ThisTp+TpScrlld:CCnt.OrgTop+ThisTp;
		if(RightToLeft) {
			if(SubLt<LScrlld)SubLt=this.Level==1?LScrlld:SubLt+(CCW+(1-2*ChildOverlap)*ThisWt);
			if(SubLt+CCW>ScWinWdth+LScrlld)SubLt=ScWinWdth+LScrlld-CCW;
        } else {
            if(SubLt+CCW>ScWinWdth+LScrlld)SubLt=this.Level==1?ScWinWdth+LScrlld-CCW:SubLt-(CCW+(1-2*ChildOverlap)*ThisWt);
			if(SubLt<LScrlld)SubLt=LScrlld;
        }
		if(SubTp+CCH>TpScrlld+ScWinHght)SubTp=this.Level==1?SubTp=TpScrlld+ScWinHght-CCH:SubTp-CCH+(1-2*ChildVerticalOverlap)*ThisHt;
		if(SubTp<TpScrlld) {
            SubTp=TpScrlld;
        }
		ChCntTL.top=SubTp;ChCntTL.left=SubLt;ChCntTL.visibility=M_Show;
    }
	status=this.LinkTxt
}

function OpenMenuClick(){
	if(!Loadd||!Creatd) return;
	var HP=Nav4?this.LowLyr:this;
	CurrntOvr=this;
	IniFlg=0;
	ClearAllChilds(this.Container.FrstMbr);
	HiliteItem(HP);
	status=this.LinkTxt}

function CloseMenu(){
	if(!Loadd||!Creatd) return;
	if(!KeepHilite){
		var HP=Nav4?this.LowLyr:this;
		LowItem(HP)}
	status='';
	if(this==CurrntOvr){
		IniFlg=1;
		if(CloseTmr)clearTimeout(CloseTmr);
		CloseTmr=setTimeout('Initiate(CurrntOvr)', DissapearDelay)
    }
}

function CntnrSetUp(Wdth,Hght,NoOff, Block) {
	var x=RcrsLvl==1?Block.BorderColor:Block.BorderSubColor;
	this.FrstMbr=null;
	this.OrgLeft=this.OrgTop=0;
	if(x)this.bgColor=x;
	if(Nav4) {
        this.visibility='hide';
		this.resizeTo(Wdth,Hght);
	} else {
		if(x)this.style.backgroundColor=x;
		this.style.width=Wdth;
		this.style.height=Hght;
		this.style.fontFamily=Block.FontFamily;
		this.style.fontWeight=Block.FontBold?'bold':'normal';
		this.style.fontStyle=Block.FontItalic?'italic':'normal';
		this.style.fontSize=Block.FontSize+'pt';
		this.style.zIndex=RcrsLvl+Ztop
	}
}

function MbrSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght, Block) {
	var t,T,L,W,H,S;
	var a,b,c,d;
	this.PrvMbr=PrMmbr;
	this.Level=RcrsLvl;
	var MemVal=WhatMenu.name;
	this.LinkTxt=WhatMenu.link;
	this.Container=MmbrCntnr;
	this.ChildCntnr=null;
	this.Hilite=0;
	this.style.overflow='hidden';
	this.style.cursor=ExpYes&&(this.LinkTxt||(RcrsLvl==1&&Block.UnfoldsOnClick))?'hand':'default';
	this.ro=0;
	if(MemVal.indexOf('rollover')!=-1) {
		this.ro=1;
		this.ri1=MemVal.substring(MemVal.indexOf(':')+1,MemVal.lastIndexOf(':'));
		this.ri2=MemVal.substring(MemVal.lastIndexOf(':')+1,MemVal.length);
		this.rid=WhatMenu+'i';MemVal="<img src='"+this.ri1+"' name='"+this.rid+"'>"
	}
	this.value=MemVal;
	if(RcrsLvl==1){
		a=Block.LowBgColor;
		b=Block.HighBgColor;
		c=Block.FontLowColor;
		d=Block.FontHighColor;
    } else {
        a=Block.LowSubBgColor;
		b=Block.HighSubBgColor;
		c=Block.FontSubLowColor;
		d=Block.FontSubHighColor}
	this.LoBck=a;
	this.LwFntClr=c;
	this.HiBck=b;
	this.HiFntClr=d;
	this.style.color=this.LwFntClr;
	if(this.LoBck)this.style.backgroundColor=this.LoBck;
	this.style.textAlign=Block.MenuTextCentered;
	if(MemVal.indexOf('<')==-1){
		this.style.width=Wdth-Block.LftXtra;
		this.style.height=Hght-Block.TpXtra;
		this.style.paddingLeft=Block.LeftPaddng;
		this.style.paddingTop=Block.TopPaddng}
	else{	this.style.width=Wdth;
		this.style.height=Hght}
	if(MemVal.indexOf('<')==-1&&DomYes) {
		t=Location.document.createTextNode(MemVal);
		this.appendChild(t)
    } else {
        this.innerHTML=MemVal;
    }
	if(WhatMenu[3]&&Block.ShowArrow) {
		a=RcrsLvl==1&&Block.FirstLineHorizontal?3:RightToLeft?6:0;
		S=Block.Arrws[a];
		W=Block.Arrws[a+1];
		H=Block.Arrws[a+2];
		T=RcrsLvl==1&&Block.FirstLineHorizontal?Hght-H-2:(Hght-H)/2;
		L=RightToLeft?2:Wdth-W-2;
		if(DomYes) {
			t=Location.document.createElement('img');
			this.appendChild(t);
			t.style.position='absolute';
			t.src=S;
			t.style.width=W;
			t.style.height=H;
			t.style.top=T;
			t.style.left=L
        } else {
            MemVal+="<div style='position:absolute; top:"+T+"; left:"+L+"; width:"+W+"; height:"+H+";visibility:inherit'><img src='"+S+"'></div>";
			this.innerHTML=MemVal
		}
	}
	if(ExpYes) {
        this.onselectstart=CnclSlct;
		this.onmouseover=RcrsLvl==1&&Block.UnfoldsOnClick?OpenMenuClick:OpenMenu;
		this.onmouseout=CloseMenu;
		this.onclick=RcrsLvl==1&&Block.UnfoldsOnClick&&WhatMenu.bgImage?OpenMenu:GoTo
    } else {
        RcrsLvl==1&&Block.UnfoldsOnClick?this.addEventListener('mouseover',OpenMenuClick,false):this.addEventListener('mouseover',OpenMenu,false);
		this.addEventListener('mouseout',CloseMenu,false);
		RcrsLvl==1&&Block.UnfoldsOnClick&&WhatMenu.bgImage?this.addEventListener('click',OpenMenu,false):this.addEventListener('click',GoTo,false)
	}
}

function CreateMenuStructure(Block, MName,NumberOf){
	RcrsLvl++;
	var i,NoOffSubs,Mbr,Wdth=0,Hght=0;
	var PrvMmbr=null;
	var WMnu=eval(MName+'0');
	var MenuWidth=WMnu.width;
	var MenuHeight=WMnu.height;
	if (RcrsLvl==1&&Block.FirstLineHorizontal) { // container size
		for(i=0;i<NumberOf;i++) {
			WMnu=eval(MName+i);
			Wdth=Wdth+MenuWidth;
		}
		Wdth=Block.BorderBtwnElmnts?Wdth+(NumberOf+1)*Block.BorderWidth:Wdth+2*Block.BorderWidth;
		Hght=MenuHeight+2*Block.BorderWidth;
	} else {
		for(i=0;i<NumberOf;i++) {
			WMnu=eval(MName+i);
			Hght=Hght+MenuHeight;
		}
		Hght=Block.BorderBtwnElmnts?Hght+(NumberOf+1)*Block.BorderWidth:Hght+2*Block.BorderWidth;
		Wdth=MenuWidth+2*Block.BorderWidth;
	}
	if(DomYes){
		var MmbrCntnr=Location.document.createElement("div");
		MmbrCntnr.style.position='absolute';
		MmbrCntnr.style.visibility='hidden';
		Location.document.body.appendChild(MmbrCntnr)
	} else {
		if(Nav4) {
			var MmbrCntnr=new Layer(Wdth,Location);
		} else {
			WMnu+='c';
			Location.document.body.insertAdjacentHTML("AfterBegin","<div id='"+WMnu+"' style='visibility:hidden; position:absolute;'><\/div>");
			var MmbrCntnr=Location.document.all[WMnu]
		}
	}
	MmbrCntnr.SetUp=CntnrSetUp; // method
	MmbrCntnr.SetUp(Wdth,Hght,NumberOf, Block); // function call
	if(Exp4) {
		MmbrCntnr.InnerString='';
		for(i=0;i<NumberOf;i++) {
			WMnu=MName[i];
			MmbrCntnr.InnerString+="<div id='"+WMnu+"' style='position:absolute;'><\/div>";
		}
		MmbrCntnr.innerHTML=MmbrCntnr.InnerString;
	}
	for(i=0;i<NumberOf;i++){ // go through each link (array member)
		WMnu=eval(MName+i);
		NoOffSubs=WMnu.children;
		Wdth=RcrsLvl==1&&Block.FirstLineHorizontal?WMnu[5]?WMnu[5]:MenuWidth:MenuWidth;
		Hght=RcrsLvl==1&&Block.FirstLineHorizontal?MenuHeight:WMnu[4]?WMnu[4]:MenuHeight;
		if(DomYes){
			Mbr=Location.document.createElement("div");
			Mbr.style.position='absolute';
			Mbr.style.visibility='inherit';
			MmbrCntnr.appendChild(Mbr)
		} else {
			Mbr=Nav4?new Layer(Wdth,MmbrCntnr):Location.document.all[WMnu];
		}
		Mbr.SetUp=Nav4?NavMbrSetUp:MbrSetUp; // method
		Mbr.SetUp(MmbrCntnr,PrvMmbr,WMnu,Wdth,Hght, Block); // function call
		if(NoOffSubs) {
            Mbr.ChildCntnr=CreateMenuStructure(Block, MName+i+'_', NoOffSubs);
        }
		PrvMmbr=Mbr;
	}
	MmbrCntnr.FrstMbr=Mbr;
	RcrsLvl--;
	return(MmbrCntnr)
}

// details page selectors
    function showOption(elementary, outValue, selectName) {
        var select;
        var match = 0;
        var i = 0;
        var changed = '';
        var display;
        var tempNum = tempArray.length;

        if (selectName != null) {
          if (selectName != 'single') {
            var selNum = selectName.substring(7,selectName.length);
            dispArray[selNum] = document.forms['form1'].elements[selectName].value;
            for (looking in tempArray) {
                if (tempArray[looking] == selNum) {
                    changed = 'yes'; // already been set, ignore
                }
            }
            if (changed == '') {
                tempArray[tempNum] = selNum;
            }
            if (dispArray[selNum] != '') {
                m++;
                if (m > selTotal) {
                    m = selTotal;
                }
            } else {
                m--;
            }
            tempArray.sort(); // needed!
            ///////
            // need to sort this array on keys...
            var sortArr = new Array();
            for(i in dispArray) {
                sortArr[sortArr.length] = i;
            }
            // PRODUCT STYLE DROP DOWN FIX WHEN STYLEID=10
            //sortArr.sort();
            sortArr.sort(new Function("a","b","a = parseInt(a);b = parseInt(b); if( a == b ) return 0; return a < b ? -1 : 1;"));
            var chi = new Array();
            for(i=0; i<sortArr.length; i++) {
                var car = sortArr[i];
                if(dispArray != null) {
                    chi[car] = dispArray[car];
                }
            }
            dispArray = chi;
            ///////

            if (selTotal == m && m != 0) {
                var finalOne = new Array();
                var finLen = 0;
                // maximum reached - grab record..
                for (newLad in dispArray) {
                    if ( dispArray[newLad] ) {
                        finalOne[finLen++] = dispArray[newLad];
                    }
                }
                // can remove this and use non-recursive way for data
                itemID = avail( itemVal, finalOne );
                if (itemID == '') {

                    //outText.value = display;
                    // var itemID = avail( itemVal, finalOne );
                    //itemID = avail( itemVal, finalOne );
//alert ( itemID );
                    // outValue.value = itemID;
                //} else {
                    itemID = null;
                    outValue.value = 0;
                }
            } else {
                itemID = null;
                outValue.value = 0;
            }
          } // selectName != 'single'
          // passing the selected ID to add it to the basket
          document.forms['form1'].additemID.value = itemID;
          itemDetails();
        } // from 'if selectName'
    }


    function avail( array, looking_for ) {
        var key = looking_for[0];
        if( typeof array[key] == 'undefined' ) {
// XXX ANDY XXX - fudge to fix winstanleys style bug - not too sure of knock on effects
// but seems to work 'til si gets back on fri!!!!
//				return false;
			looking_for.reverse();
			if( typeof array[ looking_for[0] ] != 'undefined' ) {
				return avail( array, looking_for );
			} else {
				return false;
			}
			
        } else if( typeof array[key] == 'object' ) {
            return avail( array[key], looking_for.slice(1) );
        }
        return array[key];
    }

// popup confirmation actions
function ConfirmAction(Type, Message, Location) {	
	if(HMError(Type, Message, Location)) {
		window.location = Location;
	}
}

function HMError(strEType,strError,strOther,strEN) {
	//strError = unescape(strError).replace(/\+/g," ");
	strError = strError.replace(/\\n/g,"\n");
	switch(strEType) {
		case "A":
			alert(strError);
			break;
		case "C":
			return(confirm(strError));
			break;
	}
}

// rollover image functions
function swapImgRestore() {
  var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function preloadImages() {
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function findObj(n, d) {
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function swapImage() {
  var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// email checking - modify to error correctly
function check_email(email){
var em_reg = new RegExp("^([\.a-zA-Z0-9_\-]+)@((\[[0-9]{1,3k\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
 
    var ar = em_reg.exec(email);
    if(ar){
        alert("ok");
    } else {
        alert("no");
    }
}

// obtaining elements (used for menu position on page
function docjslib_getRealLeft(imgElem) {
    par = document.getElementById(imgElem);
    xPos = par.offsetLeft;
    tempEl = par.offsetParent;
    while (tempEl != null) {
        xPos += tempEl.offsetLeft;
        tempEl = tempEl.offsetParent;
    }
    return xPos;
}

function docjslib_getRealTop(imgElem) {
    par = document.getElementById(imgElem);
    // slight modification to push it up the page just a little
    yPos = par.offsetTop;
    tempEl = par.offsetParent;
    while (tempEl != null) {
        yPos += tempEl.offsetTop;
        tempEl = tempEl.offsetParent;
    }
    return yPos;
}

function itempops() {			
	my_window= window.open ('', 'mywindow1','status=1, width=300, height=330, toolbar=no, menubar=no, resizable=yes, scrollbars=yes'); 		
	my_window.document.write('<table cellpadding="3" cellspacing="3"  style="font: 12px arial; background-color: #eeeeee"><tr><td bgcolor="#000099" style="color: #ffffff;"><b>Verification Code</b></td></tr><tr><td>This code is used as a test to tell computers and humans apart.<br><br>Automated programs cannot read the letters within the image as well as humans, therefore if submitted correctly, we can assume that a human has submitted the page.<br><br>This prevents automated software e.g. run by a spammer, from performing actions which degrade the quality this page.<br><br>If you cannot read this code, simply refresh the page to generate another code.</td></tr><tr><td align="right"><a href="javascript: self.close();" title="close the window"><strong>close</strong></a></td></tr></table>');  			
	my_window.focus();		
}
