//==============================================================================
// File     : incCOVERTools.js
// Copyright: 2004 by IN4OUT interactive ag
// Created  : 2004-01-09 Chris Wirth
// Modified : 2004-08-02 Chris Wirth
// Content  : 
//==============================================================================
	function getBrowser() {
		var b = new Object();
		b.fMouseMoves = new Array();
		b.fOnLoads = new Array();
		b.fOnResizes = new Array();
		b.fx = 0;
		b.fy = 0;
		b.V=parseFloat(navigator.appVersion.indexOf("MSIE")>0?navigator.appVersion.split(";")[1].substr(6):navigator.appVersion);
		b.N=navigator.appName;
		b.IsWin=(navigator.userAgent.indexOf('Win')!=-1);
		b.IsMac=(navigator.userAgent.indexOf('Mac')!=-1);
		b.KQ=(b.N.indexOf('Konqueror')!=-1&&(b.V>=5))?true:false;
		b.OP=(navigator.userAgent.indexOf('Opera')!=-1&&b.V>=4)?true:false;
		b.NS=(b.N.indexOf('Netscape')!=-1&&(b.V>=4&&b.V<5)&&!b.OP)?true:false;
		b.SM=(b.N.indexOf('Netscape')!=-1&&(b.V>=5)||b.OP)?true:false;
		b.IE=(b.N.indexOf('Explorer')!=-1&&(b.V>=4)||b.SM||b.KQ)?true:false;
		//b.IX=(b.IE&&b.IsWin&&!b.SM&&!b.OP&&(b.V>5.5)&&(dxFilter!=null));
		b.fDebugLevel = 0;
		b.debug = function (s) {
		} /* debug */
		b.installMouseMove = function (fp) {
			this.fMouseMoves[this.fMouseMoves.length] = fp;
		} /* installMouseMove */
		b.installOnLoad = function (fp) {
			this.fOnLoads[this.fOnLoads.length] = fp;
		} /* installOnLoad */
		b.installOnResize = function (fp) {
			this.fOnResizes[this.fOnResizes.length] = fp;
		} /* installOnResize */
		return(b);
	} /* getBrowser */
	function getObjNN4(obj,name) {
		var ls = obj.layers, l = null, i, t = null;
		for (i=0;i<ls.length;i++) {
			if (ls[i].id == name) l = ls[i]; else if (ls[i].layers.length) t = getObjNN4(ls[i],name);
			if (t) l = t;
		} /* for */
		return l;
	} /* getObjNN4 */
	function getObj(layerName) {
	  var l = null, obj = null;
	  if (gB.NS) {
		l = getObjNN4(document,layerName);
	  } else {
		if(gB.V>=5) l = document.getElementById(layerName); else l = document.all[layerName];
	  } /* if */
	  if (l != null) {
	  	obj = new Object();
		obj.fLayer = l;
		obj.fAlpha = "";
		if (gB.NS) {
		  obj.x = l.left;
		  obj.y = l.top;
		  obj.show = function () { this.fLayer.visibility="show"; };
		  obj.hide = function () { this.fLayer.visibility="hide"; };
		  obj.area = function() { return [this.x,this.y,this.fLayer.clip.width,this.fLayer.clip.height]; };
		  obj.clip = function(x,y,w,h) {x = x-this.x; y = y-this.y; var c = this.fLayer.clip; c.left = Math.max(0,x); c.top = Math.max(0,y); c.right = Math.max(0,x+w); c.bottom = Math.max(0,y+h+20); };
		  obj.moveTo = function(x,y) { this.x = x; this.y = y; this.fLayer.moveTo(x,y); };
		} else if (gB.IE&&!gB.SM) {
		  obj.show = function () { this.fLayer.style.visibility="visible"; if (this.fAlpha != "") this.fLayer.style.filter = this.fAlpha; };
		  obj.hide = function () { this.fLayer.style.visibility="hidden"; };
		  obj.area = function() { return [this.fLayer.style.pixelLeft,this.fLayer.style.pixelTop,parseInt(this.fLayer.style.width),parseInt(this.fLayer.style.height)]; };
		  if (gB.IsWin) {
		    obj.clip = function(x,y,w,h) { x = x-this.fLayer.style.pixelLeft; y = y-this.fLayer.style.pixelTop; this.fLayer.style.clip = "rect("+Math.max(0,y)+" "+Math.max(0,x+w)+" "+Math.max(0,y+h)+" "+Math.max(0,x)+")"; };
		    obj.filter = function(alpha) { this.fAlpha = alpha; if (this.fLayer.style.visibility=="visible") this.fLayer.style.filter = alpha; };
		  } else if (gB.IsMac) {
		    obj.clip = function(x,y,w,h) { x = x-this.fLayer.style.pixelLeft; y = y-this.fLayer.style.pixelTop; this.fLayer.style.clip = "rect("+Math.max(0,y)+" "+Math.max(0,x+w)+" "+Math.max(0,y+h)+" "+Math.max(0,x)+")"; };
		  }
		  obj.moveTo = function(x,y) { this.fLayer.style.pixelLeft = x; this.fLayer.style.pixelTop = y; };
		} else {
		  obj.show = function () { this.fLayer.style.visibility="visible"; };
		  obj.hide = function () { this.fLayer.style.visibility="hidden"; };
		  obj.area = function() { return [parseInt(this.fLayer.style.left),parseInt(this.fLayer.style.top),parseInt(this.fLayer.style.width),parseInt(this.fLayer.style.height)]; };
		  obj.clip = function(x,y,w,h) { x = x-parseInt(this.fLayer.style.left); y = y-parseInt(this.fLayer.style.top); this.fLayer.style.clip = "rect("+Math.max(0,y)+" "+Math.max(0,x+w)+" "+Math.max(0,y+h)+" "+Math.max(0,x)+")"; };
		  obj.moveTo = function(x,y) { this.fLayer.style.left = x; this.fLayer.style.top = y; };
		}
		if(obj.clip == null) {
			obj. clip = function(x,y,w,h) { };
		}
		if(obj.filter == null) {
			obj.filter = function(alpha) { };
		}
		obj.inside = function(x,y) { var a = this.area(); a[2] = a[0]+a[2]; a[3] = a[1]+a[3]; return(x>=a[0]&&x<=a[2]&&y>=a[1]&&y<=a[3]); };
	  } 
	  return obj;
	} /* getObj */
	function findImg(d,imgName) {
		var i;
		var tmp;
		
		if(d.images[imgName]) return d.images[imgName];
		
		for(i=0; i<d.layers.length; i++) {
			tmp = findImg(d.layers[i].document, imgName);
			if(tmp) return tmp;
		}
		return null;
	} /* findImg */
	function getImgOffset(f, imgName, ox, oy) {
		var i, tmp;
		if(f.left) {
			ox += f.left;
			oy += f.top;
		}
		if(f.document.images[imgName]) return [ox, oy];
		for(i=0; i<f.document.layers.length; i++) {
			tmp = getImgOffset(f.document.layers[i], imgName, ox, oy);
			if(tmp) return [tmp[0], tmp[1]];
		}		
		return null;
	} /* getImgOffset */
	function getImgArea(imgName) {
		var f, p, x, y, objImg;
		f = window;
		objImg = findImg(f.document,imgName);
		if (objImg == null) return[0,0,0,0];
		if(gB.IE)	{
			x = objImg.offsetLeft;
			y = objImg.offsetTop;
			p = objImg.offsetParent;
			while (p!=null)	{
				y = y+p.offsetTop;
				x = x+p.offsetLeft;
				p = p.offsetParent;
			}
		} else {
			p = getImgOffset(f,imgName,0,0);
			x = objImg.x + p[0];
			y = objImg.y + p[1];
		}
		return [x, y, parseInt(objImg.width), parseInt(objImg.height)];
	} /* getImgArea */
	function getDocArea(objDoc) {
		var p, x, y, w, h;
		if(objDoc.body != null)	{
			x = objDoc.body.offsetLeft;
			y = objDoc.body.offsetTop;
			w = objDoc.body.scrollWidth;
			h = objDoc.body.scrollHeight;
			p = objDoc.offsetParent;
			while (p!=null)	{
				y = y+p.offsetTop;
				x = x+p.offsetLeft;
				p = p.offsetParent;
			}
		} else if (objDoc.width != null || objDoc.height != null) {
			x = 0;
			y = 0;
			w = objDoc.width;
			h = objDoc.height;
		}	
		return [x, y, w, h];
	} /* getDocArea */
	function getWindowArea(objWdw) {
		var x = 0, y = 0, w = 0, h = 0;
		var d = objWdw.document;
		if (objWdw.screenX != null || objWdw.screenY != null) {
			x = objWdw.screenX;
			y = objWdw.screenY;
		} else if (objWdw.screenLeft != null || objWdw.screenTop != null) {
			x = objWdw.screenLeft;
			y = objWdw.screenTop;
		}
		if (objWdw.innerWidth != null || objWdw.innerHeight != null) {
			w = objWdw.innerWidth;
			h = objWdw.innerHeight;
		} else if (d.body != null && (d.body.clientWidth != null || d.body.clientHeight != null)) {
			w = d.body.clientWidth;
			h = d.body.clientHeight;
		} /* if */
		return [x, y, w, h];
	} /* getWindowArea */
	function getScrollOffset(objWdw) {
		var x = 0, y = 0;
		if( typeof( window.pageYOffset ) == 'number' ) {
			x = window.pageXOffset;
			y = window.pageYOffset;
		} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
			x = document.body.scrollLeft;
			y = document.body.scrollTop;
		} else if( document.documentElement &&( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
			x = document.documentElement.scrollLeft;
			y = document.documentElement.scrollTop;
		}
		return [x, y];
	} /* getScrollOffset */
	function handleMouseMove(e) {
		var i;
		if(gB.IE) {
			if(!gB.SM) {
				if(event==null) {
					if(document.window.event==null) return; else e = document.window.event;
				} else {
					e = event;
				}
			}
			gB.fx = e.clientX;
			gB.fy = e.clientY;
		}
		if(gB.NS) {
			gB.fx = e.pageX;
			gB.fy = e.pageY;
		}
		if (gB.fDebugLevel > 1) gB.debug("m "+gB.fx+" "+gB.fy);
		for(i=0;i<gB.fMouseMoves.length;i++) {
			gB.fMouseMoves[i](e);
		}
	} /* handleMouseMove */
	function handleOnLoad(e) {
		var i;
		for(i=0;i<gB.fOnLoads.length;i++) {
			gB.fOnLoads[i](e);
		}
	} /* handleOnLoad */
	function handleOnResize(e) {
		var i;
		for(i=0;i<gB.fOnResizes.length;i++) {
			gB.fOnResizes[i](e);
		}
	} /* handleOnResize */

	gB = getBrowser(); /* client browser */
	if (gB.NS) {
		window.captureEvents(Event.MOUSEMOVE);
		window.onmousemove = handleMouseMove;
	}
	if(gB.IE) {
		document.onmousemove = handleMouseMove;
		//window.onmousemove = handleMouseMove;
	}
	window.onload = handleOnLoad;
	window.onresize = handleOnResize;

//==============================================================================
// File     : incCOVERMenus.js
// Copyright: 2004 by IN4OUT interactive ag
// Created  : 2004-01-09 Chris Wirth
// Modified : 2004-08-09 Chris Wirth
// Content  : 
//==============================================================================
	var gM = new Object();
	gM.fMBars = new Array();
	gM.fClear = null;
	gM.fDebug = "";
	gM.fReady = false;
	gM.fError = "";
	gM.fAnyOpen = false;
	gM.fAnyPrev = false;
	gM.fHideFormElements = true;
	gM.fHideFormElementsCache = null;
	gM.fHideFormElementsRestoreStates = null;
	gM.fDoFade = 1; /* 0: no fading, 1: fadeIn only, 2: fadeIn and fadeOut */
	if ((gB.NS&&true)) {
		gM.fDoFade = 0;
	} /* if */
	if ((false&&false)) {
		gM.fDoFade = Math.min(gM.fDoFade,1);
	} /* if */
	gM.fFTimer = false; /* window fader timer */
	gM.fFaders = new Array();
	gM.setup = null; /* function will be installed by incCOVERMenus.asp */
	gM.getItem = function(path) {
		var i, j;
		var items = path.split("-");
		var o = this.getMBarByID(items[0]);
		for(i=1;i<items.length;i++) {
			if (o.fMenus != null) { /* menu bar */
				j = 0;
				while (j < o.fMenus.length && o.fMenus[j].fID != items[i]) j = j+1;
				if (j < o.fMenus.length) o = o.fMenus[j];
			} else if (o.fItems != null) { /* menu */
				j = 0;
				while (j < o.fItems.length && o.fItems[j].fID != items[i]) j = j+1;
				if (j < o.fItems.length) o = o.fItems[j];
			} else { /* menu item */
				o = o.fMenu;
			}
		}
		return(o);
	} /* getItem */
	gM.getPath = function(objItem) {
		var o, p;
		o = objItem;
		p = ""+objItem.fID;
		while (o.fSuper != null) {
			o = o.fSuper;
			p = o.fID+"-"+p;
		}
		return p;
	} /* getPath */
	gM.nI = function(path) { /* new MenuItem */
		var i, p, itemID;
		var objItem = new Object();
		p = ""+path;
		i = p.length-1;
		while (i > 0 && p.charAt(i) != "-") i = i-1;
		if (i > 0) {
			itemID = p.substring(i+1);
			p = p.substring(0,i);
		} /* if */
		objItem.fID = itemID;
		objItem.fMenu = null;
		objItem.fSuper = this.getItem(p);
		objItem.fParts = new Array(getObj(p+"-"+itemID+"-I"),getObj(p+"-"+itemID+"-L"));
		objItem.fOver  = getObj(p+"-"+itemID+"-O");
		var a = objItem.fParts[1].area();
		objItem.fOff_x = a[0];
		objItem.fOff_y = a[1];
		objItem.show = function () { var i; for(i=0;i<this.fParts.length;i++) { this.fParts[i].show(); }; };
		objItem.hide = function () { var i; for(i=0;i<this.fParts.length;i++) { this.fParts[i].hide(); }; this.hideSubM(); };
		objItem.area = function () { return this.fParts[1].area(); };
		objItem.clip = function (x,y,w,h) { var i; for(i=0;i<this.fParts.length;i++) { this.fParts[i].clip(x,y,w,h); }; };
		objItem.filter = function (alpha) { var i; for(i=0;i<this.fParts.length;i++) { this.fParts[i].filter(alpha); }; };
		objItem.inside = function (x,y) { return this.fParts[1].inside(x,y); };
		objItem.moveTo = function (x,y) { if (this.fOver != null) this.fOver.moveTo(x,y); var i; for(i=0;i<this.fParts.length;i++) { this.fParts[i].moveTo(x,y); }; };
		objItem.over = function() { if (this.fOver != null) this.fOver.show(); this.showSubM(); if (gB.fDebugLevel > 0) gB.debug("over "+gM.getPath(this)); };
		objItem.out  = function() { if (this.fOver != null) this.fOver.hide(); this.hideSubM(); if (gB.fDebugLevel > 0) gB.debug("out "+gM.getPath(this)); };
		objItem.showSubM = function () { if (this.fMenu != null) { this.fMenu.fShowIt = true; this.fSuper.handle(); };};
		objItem.hideSubM = function () { if (this.fMenu != null) { this.fMenu.fShowIt = false; gM.delayedHandle(); }; };
		objItem.showMenu = function() { this.fSuper.showMenu(); };
		objItem.hideMenu = function() { this.fSuper.hideMenu(); };
		objItem.fSuper.fItems[objItem.fSuper.fItems.length] = objItem;
		return objItem;
	} /* newMenu */
	gM.nM = function(path) { /* newMenu */
		var i, o, p, menuID;
		var objMenu = new Object();
		p = ""+path;
		i = p.length-1;
		while (i > 0 && p.charAt(i) != "-") i = i-1;
		if (i > 0) {
			menuID = p.substring(i+1);
			p = p.substring(0,i);
		} /* if */
		objMenu.fID = menuID;
		objMenu.fSuper = this.getItem(p);
		objMenu.fMBar = objMenu.fSuper;
		while (objMenu.fMBar.fSuper != null) objMenu.fMBar = objMenu.fMBar.fSuper;
		objMenu.fShown = false;
		objMenu.fShowIt = false;
		objMenu.fLabel = new Array(getObj(p+"-"+menuID+"-M"),getObj(p+"-"+menuID+"-L"));
		objMenu.fOver  = getObj(p+"-"+menuID+"-O");
		objMenu.fParts = new Array(getObj(p+"-"+menuID+"-B"));
		objMenu.fItems = new Array();
		objMenu.fFadeMode = 0; /* -1: out, 0: no, +1: in */
		objMenu.fFadeType = 0; /* 0: none, 1: clip, 2: alpha */
		objMenu.fFadeSCur = 0;
		objMenu.fFadeSMax = 0;
		objMenu.fFadeStep = 0;
		objMenu.show = function () { this.fShown = true; this.fadeIn(); };
		objMenu.hide = function () { if (this.fSuper != null && this.fSuper.fOver != null) this.fSuper.fOver.hide(); this.fShown = false; this.fadeOut(); };
		objMenu.area = function () { return this.fParts[0].area(); };
		objMenu.clip = function (x,y,w,h) { var i; for(i=0;i<this.fParts.length;i++) { this.fParts[i].clip(x,y,w,h); }; for(i=0;i<this.fItems.length;i++) { this.fItems[i].clip(x,y,w-0,h-0); }; };
		objMenu.filter = function (alpha) { var i; for(i=0;i<this.fParts.length;i++) { this.fParts[i].filter(alpha); }; for(i=0;i<this.fItems.length;i++) { this.fItems[i].filter(alpha); }; };
		objMenu.inside = function (x,y) { return (this.fParts[0].inside(x,y)); };
		objMenu.moveTo = function (x,y) { var i; for(i=0;i<this.fParts.length;i++) { this.fParts[i].moveTo(x,y); }; for(i=0;i<this.fItems.length;i++) { this.fItems[i].moveTo(x+this.fItems[i].fOff_x,y+this.fItems[i].fOff_y); }; };
		objMenu.over = function() { if (this.fOver != null) this.fOver.show(); if (gB.fDebugLevel > 0) gB.debug("over "+gM.getPath(this)); };
		objMenu.out  = function() { if (gB.fDebugLevel > 0) gB.debug("out "+gM.getPath(this)); };
		objMenu.showMenu = function() { if (this.fSuper != null && this.fSuper.fOver != null) this.fSuper.fOver.show(); this.fShowIt = true; if (this.fSuper.showMenu != null) this.fSuper.showMenu(); };
		objMenu.hideMenu = function() { if (this.fSuper != null && this.fSuper.fOver != null) this.fSuper.fOver.hide(); this.fShowIt = false; if (this.fSuper.hideMenu != null) this.fSuper.hideMenu(); };
		objMenu.showHide = function() {
			var i, refreshMode = -1;
			this.fShowIt = false;
			if (this.fShown && this.inside(gB.fx,gB.fy)) {
				this.showMenu();
			} else if (this.fMBar == this.fSuper) {
				if (this.fLabel[1].inside(gB.fx,gB.fy)) this.showMenu();
			} else if (this.fSuper.fMenu == this) {
				if (this.fSuper.fSuper.fShown && this.fSuper.inside(gB.fx,gB.fy)) this.showMenu();
			} /* if */
			for(i=0;i<this.fItems.length;i++) {
				if (this.fItems[i].fMenu != null) {
					refreshMode = Math.max(refreshMode,this.fItems[i].fMenu.showHide());
				}
			} /* for */
			if (this.fShowIt!=this.fShown) {
				if (this.fShowIt) refreshMode = 1; else refreshMode = Math.max(0,refreshMode);
			}
			return(refreshMode);
		} /* showHide */
		objMenu.handle = function () {
			var i, objItem, objMSub;
			for(i=0;i<this.fItems.length;i++) {
				objItem = this.fItems[i];
				objMSub = objItem.fMenu;
				if (objMSub != null) {
					if (objMSub.fShown != objMSub.fShowIt) {
						if (!objMSub.fShowIt) {
							objMSub.hide();					
						} else {
							var area = objItem.area();
							var x, y;
							if (objItem.fSuper != null && objItem.fSuper.fSuper != null && objItem.fSuper.fSuper.fSuper == null) {
								x = area[0];
								y = area[1]+area[3];
							} else {
								x = area[0]+area[2]-15;
								y = area[1]-1;
							}
							area = objMSub.area();
							if (x != area[0] || y != area[1]) {
								objMSub.moveTo(x,y);
							}
							objMSub.show();
						}
					}
					objMSub.handle();
				}
			}
		} /* handle */
		objMenu.setup = function () {
			var area = getImgArea(gM.getPath(this)+"-0");
			var i;
			if ((area[0] < 0 || area[1] < 0)) {
				gM.fError = "anchor image not found for "+gM.getPath(this);
			} else {
				for(i=0;i<this.fLabel.length&&gM.fError=="";i++) {
					if (this.fLabel[i] != null) {
						this.fLabel[i].moveTo(area[0],area[1]);
						this.fLabel[i].show();
					}
				};
				if (this.fOver != null) {
					this.fOver.moveTo(area[0],area[1]);
				}
			};
		} /* setup */
		objMenu.fadeIn = function() {
			var i, sCur = 0;
			if (this.fFadeMode < 0) {
				sCur = this.fFadeSMax-this.fFadeSCur;
				//this.fadeDone();
			}
			this.fFadeMode = 1;
			if (gM.fDoFade < 1 || this.fItems.length <= 0) {
				this.fFadeType = 0;
				this.fadeDone();
			} else if (false && gB.IsWin && gB.N.indexOf('Explorer')>=0) {
				this.fFadeType = 2;
				this.fFadeSCur = sCur;
				this.fFadeSMax = 100;
				this.fFadeStep = 25;
				this.filter("Alpha(opacity=0,finishopacity=0,style=0)");
				gM.insertFader(this);
			} else {
				this.fFadeType = 1;
				var a = this.area();
				this.fFadeSCur = sCur;
				this.fFadeSMax = a[3];
				this.fFadeStep = Math.min(40,this.fFadeSMax/4);
				this.clip(a[0],a[1],a[2],this.fFadeSCur);
				gM.insertFader(this);
			}
			for(i=0;i<this.fParts.length;i++) { this.fParts[i].show(); };
			for(i=0;i<this.fItems.length;i++) { this.fItems[i].show(); };
		} /* fadeIn */
		objMenu.fadeOut = function() {
			var i, sCur = 0;
			if (this.fFadeMode > 0) {
				sCur = this.fFadeSMax-this.fFadeSCur;
				//this.fadeDone();
			}
			this.fFadeMode = -1;
			if (gM.fDoFade < 2 || this.fItems.length <= 0) {
				this.fFadeType = 0;
				this.fadeDone();
			} else if (false && gB.IsWin && gB.N.indexOf('Explorer')>=0) {
				this.fFadeType = 2;
				this.fFadeSCur = sCur;
				this.fFadeSMax = 100;
				this.fFadeStep = 34;
				this.filter("Alpha(opacity=100,finishopacity=0,style=0)");
				gM.insertFader(this);
			} else {
				this.fFadeType = 1;
				var a = this.area();
				this.fFadeSCur = sCur;
				this.fFadeSMax = a[3];
				this.fFadeStep = Math.min(60,this.fFadeSMax/3);
				this.clip(a[0],a[1],a[2],a[3]-this.fFadeSCur);
				gM.insertFader(this);
			}
		} /* fadeOut */
		objMenu.fadeDone = function() {
			var i, a;
			gM.removeFader(this);
			if (this.fFadeMode < 0) {
				if (this.fOver != null) this.fOver.hide();
				for(i=0;i<this.fParts.length;i++) this.fParts[i].hide();
				for(i=0;i<this.fItems.length;i++) this.fItems[i].hide();
				if (this.fFadeType == 2) {
					this.filter("Alpha(opacity=100,finishopacity=100,style=0)");
				} else if (this.fFadeType == 1) {
					a = this.area();
					this.clip(a[0],a[1],a[2],a[3]);
				} /* if */
			} else if (this.fFadeMode > 0) {
				if (this.fFadeType == 2) {
					this.filter("Alpha(opacity=100,finishopacity=100,style=0)");
				} else if (this.fFadeType == 1) {
					a = this.area();
					this.clip(a[0],a[1],a[2],a[3]);
				} /* if */
			} /* if */
			this.fFadeMode = 0;
		} /* fadeDone */
		objMenu.fade = function() {
			var a;
			this.fFadeSCur = Math.min(this.fFadeSCur+this.fFadeStep,this.fFadeSMax);
			if (this.fFadeSCur < this.fFadeSMax) {
				if (this.fFadeMode < 0) {
					if (this.fFadeType == 2) {
						this.filter("Alpha(opacity="+(this.fFadeSMax-this.fFadeSCur)+",finishopacity=0,style=0)");
					} else if (this.fFadeType == 1) {
						a = this.area();
						this.clip(a[0],a[1],a[2],a[3]-this.fFadeSCur);
					}
				} else if (this.fFadeMode > 0) {
					if (this.fFadeType == 2) {
						this.filter("Alpha(opacity="+(this.fFadeSCur)+",finishopacity=0,style=0)");
					} else if (this.fFadeType == 1) {
						a = this.area();
						this.clip(a[0],a[1],a[2],this.fFadeSCur);
					}
				} /* if */
			} else {
				this.fadeDone();
			} /* if */
		} /* fade */
		if (objMenu.fSuper.fMenus != null) {
			objMenu.fSuper.fMenus[objMenu.fSuper.fMenus.length] = objMenu;
		} else {
			objMenu.fSuper.fMenu = objMenu;
		}
		return objMenu;
	} /* newMenu */
	gM.nB = function (mbarID) { /* mewMenuBar */
		var objMBar = new Object();
		objMBar.fID = mbarID;
		objMBar.fSuper = null;
		objMBar.fMenus = new Array();
		objMBar.getMenuByID = function(menuID) {
			var i = 0;
			while (i<this.fMenus.length && this.fMenus[i].fID != menuID) i = i+1;
			if (i < this.fMenus.length) {
				return (this.fMenus[i]);
			} else {
				return (null);
			} /* if */
		} /* getMenuByID */
		objMBar.showHide = function() {
			var i, refreshMode = -1;
			for(i=0;i<this.fMenus.length;i++) {
				refreshMode = Math.max(refreshMode,this.fMenus[i].showHide());
			}
			return(refreshMode);
		} /* showHide */
		objMBar.handle = function () {
			var i, objMenu;
			for(i=0;i<this.fMenus.length;i++) {
				objMenu = this.fMenus[i];
				if (objMenu.fShown != objMenu.fShowIt) {
					if (!objMenu.fShowIt) {
						objMenu.hide();					
					} else {
						var area = getImgArea(gM.getPath(objMenu)+"-0");
						var menuarea = objMenu.area();
						var x, y;
						if (objMenu.fAlignment == "right") {
							x = area[0]+area[2]-menuarea[2];
						} else {
							x = area[0];
						}
						y = area[1]+area[3];
						if (x != menuarea[0] || y != menuarea[1]) {
							objMenu.moveTo(x,y);
						}
						objMenu.show();
					}
				}
				gM.fAnyOpen = (gM.fAnyOpen||objMenu.fShown);
				objMenu.handle();
			}
		} /* handle */
		objMBar.setup = function () {
			var i;
			for(i=0;i<this.fMenus.length&&gM.fError=="";i++) {
				this.fMenus[i].setup();
			}
		} /* setup */
		this.fMBars[this.fMBars.length] = objMBar;
		return objMBar;
	} /* newMenuBar */
	gM.getMBarByID = function(mbarID) {
		var i = 0;
		while (i<this.fMBars.length && this.fMBars[i].fID != mbarID) i = i+1;
		if (i < this.fMBars.length) {
			return (this.fMBars[i]);
		} else {
			return (null);
		} /* if */
	} /* getMBarByID */
	gM.setAlignment = function(path,alignment) {
		var o = this.getItem(path);
		if (o != null) {
			o.fAlignment = alignment;
		}
	}
	gM.insertFader = function(objMenu) {
		var i = 0;
		while (i<gM.fFaders.length && gM.fFaders[i] != objMenu) {
			i = i+1;
		} /* while */
		if (i >= gM.fFaders.length) {
			gM.fFaders[gM.fFaders.length] = objMenu;
		} /* if */
		if (gM.fFTimer != true && gM.fFaders.length > 0) {
			gM.fFTimer = true;
			window.setTimeout("Mfades()",50);
		} /* if */
	} /* insertFader */
	gM.removeFader = function(objMenu) {
		var i = 0;
		while (i<gM.fFaders.length && gM.fFaders[i] != objMenu) {
			i = i+1;
		} /* while */
		if (i < gM.fFaders.length) {
			if (gM.fFaders.splice != null) {
				gM.fFaders.splice(i,1);
			} else { /* splice not implemented */
				var j, t = new Array();
				for(j=0;j<gM.fFaders.length;j++) {
					if (j != i) t[t.length] = gM.fFaders[j];
				}
				gM.fFaders = t;
			} /* if */
		} /* if */
		if (gM.fFaders.length <= 0) gM.fFTimer = false;
	} /* removeFader */
	gM.showHide = function() {
		var i, refreshMode = -1;
		for(i=0;i<this.fMBars.length;i++) {
			refreshMode = Math.max(refreshMode,this.fMBars[i].showHide());
		}
		return(refreshMode);
	} /* showHide */
	gM.over = function(path) {
		if (window.openDefaultMenu != null && path.indexOf(window.openDefaultMenu) <0) {
			var o = gM.getItem(window.openDefaultMenu);
			if (o.fShown) {
				gM.out(window.openDefaultMenu);
			}
		}
		var objItem = this.getItem(path);
		objItem.showMenu();
		var res = objItem.over();
		this.handle();
		return res;
	} /* over */
	gM.out = function(path) {
		var objItem = this.getItem(path);
		var res = objItem.out();
		objItem.hideMenu();
		this.delayedHandle();
		return res;
	} /* out */
	gM.handle = function () {
		var i;
		gM.fAnyPrev = gM.fAnyOpen;
		gM.fAnyOpen = false;
		for(i=0;i<this.fMBars.length;i++) {
			this.fMBars[i].handle();
		}
		if (gM.fDebug != "") { alert(gM.fDebug); gM.fDebug = ""; };
		if (gM.fHideFormElements && gM.fAnyPrev != gM.fAnyOpen) {
			if (gM.fAnyOpen) {
				gM.fHideFormElementsRestoreStates = gM.showHideSelects("hidden",null);
			} else {
				ignore = gM.showHideSelects("visible",gM.fHideFormElementsRestoreStates);
				gM.fHideFormElementsRestoreStates = null;
			}
		}
		if (!gM.fAnyOpen && window.openDefaultMenu != null) {
			var o = gM.getItem(window.openDefaultMenu);
			if (o != null) {
				gM.over(window.openDefaultMenu);
			}
		}
	} /* handle */
	gM.delayedHandle = function () {
		if (this.fClear != null) {
			window.clearTimeout(this.fClear);
			this.fClear = null;
		}
		this.fClear = window.setTimeout("gM.handle();",500);
	} /* delayedHandle */
	gM.showHideSelects = function(state,restoreStates) {
		var i, f, e, fe;
		var currentStates = new Array();
		if (gB.IE) {
			if (this.fHideFormElementsCache == null) {
				this.fHideFormElementsCache = new Array();
				for (f=0; f<document.forms.length; f++) {
					for (e=0; e<document.forms[f].elements.length; e++) {
						fe = document.forms[f].elements[e];
						if (fe.type != null) {
							if (fe.type.indexOf("select")==0) {
								this.fHideFormElementsCache[this.fHideFormElementsCache.length] = fe;
							}
						}
					}

				}
			}
			for(i=0;i<this.fHideFormElementsCache.length;i++) {
				fe = this.fHideFormElementsCache[i];
				currentStates[i] = fe.style.visibility;
				if (restoreStates != null && i < restoreStates.length) {
					fe.style.visibility  = restoreStates[i];
				} else {
					fe.style.visibility = state;
				}
			}
		}
		return(currentStates);
	} /* showHideSelects */
	var Msetup_errorCount = 0;
	function Mfetch(e) {
		if (gB.NS) {
			var refreshMode = gM.showHide();
			if (refreshMode == 1) {
				gM.handle();
			} else if (refreshMode == 0) {
				gM.delayedHandle();
			}
		} /* if */
	} /* Mfetch */
	function Mfades() {
		var i = 0, l;
		if (gM.fFTimer == true) {
			while(i<gM.fFaders.length) {
				if (gM.fFaders[i].fade == null) {
					gM.fFaders[i].splice(i,1);
				} else {
					l = gM.fFaders.length;
					gM.fFaders[i].fade();
					if (gM.fFaders.length >= l) i = i+1;
				} /* if */
			} /* while */
			if (gM.fFTimer == true) window.setTimeout("Mfades()",50);
		} /* if */
	} /* Mfades */
	function Msetup () {
		var i;
		gM.fError = "";
		if (gM.setup == null) {
			window.setTimeout("Msetup()",100);
			return;
		}
		gM.setup();
		if (gM.fReady != true) {
			gM.fMBars = new Array();
			window.setTimeout("Msetup()",100);
		} else {
			for(i=0;i<gM.fMBars.length&&gM.fError=="";i++) {
				gM.fMBars[i].setup();
			}
			if (gM.fError != "") {
				gM.fMBars = new Array();
				Msetup_errorCount = Msetup_errorCount+1;
				if (Msetup_errorCount < 10) {
					window.setTimeout("Msetup()",Msetup_errorCount*100);
				} else {
					gM.fDebug = gM.fDebug+"Sorry, couldnt properly setup the dynamic menus, error: "+gM.fError;
				} /* if */
			} else {
				gB.installMouseMove(Mfetch);
				gM.handle();
			}
			if (gM.fDebug != "") { alert(gM.fDebug); gM.fDebug = ""; };
		}
	} /* Msetup */
	function Mresize () {
		var i;
		if (gM.fReady == true) {
			for(i=0;i<gM.fMBars.length&&gM.fError=="";i++) {
				gM.fMBars[i].setup();
			}
			if (gM.fDebug != "") { alert(gM.fDebug); gM.fDebug = ""; };
		}
	} /* Mresize */
	gB.installOnLoad(Msetup);
	gB.installOnResize(Mresize);

//==============================================================================
// Macromedia  : 
//==============================================================================
function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_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 MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
