	function lib_bwcheck(){ //Browsercheck (needed)
		this.ver=navigator.appVersion
		this.agent=navigator.userAgent
		this.dom=document.getElementById?1:0
		this.opera5=(navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?1:0
		this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
		this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
		this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
		this.ie=this.ie4||this.ie5||this.ie6
		this.mac=this.agent.indexOf("Mac")>-1
		this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
		this.ns4=(document.layers && !this.dom)?1:0;
		this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
		return this
	}
	var bw=new lib_bwcheck()

	activemenu = 'x'
	function imageSwapLayer(layername, img, url) {
		if (bw.ns4) {
			layer = 'document.layers'
			objStr = layer + '[\'' + layername + '\'].document.' + img + '.src="' + url + '"'
		} else if (bw.ie) {
				layer = 'document.all'
				objStr = layer + '[\'' + layername + '\'].document.' + img + '.src="' + url + '"'
			} else {
					layer = 'document.getElementById'
					objStr = 'document.' + img + '.src="' + url + '"'
				}
		eval(objStr)
	}

	function showlayer(id) {
		if (bw.ns4) {
			document.layers[id].visibility = "show"
		} else if (bw.ie) {
				document.all[id].style.visibility = "visible"
			} else {
					document.getElementById(id).style.visibility = "visible"
				}
	}

	function hidelayer(id) {
		if (bw.ns4) {
			document.layers[id].visibility = "hide"
		} else if (bw.ie) {
				document.all[id].style.visibility = "hidden"
			} else {
					document.getElementById(id).style.visibility = "hidden"
				}
	}

	function isVisible(id) {
		if (bw.ns4) {
			if (document.layers[id].visibility == "show") return true
			else return false
		} else if (bw.ie) {
				if (document.all[id].style.visibility == "visible") return true
				else return false
			} else {
					if (document.getElementById(id).style.visibility == "visible") return true
					else return false
				}
	}

	activeclient = 0
	function changeclient(id)
	{
		hidelayer('divClient'+activeclient)
		showlayer('divClient'+id)
		activeclient = id
	}

	function hilite(img, lang) {
		if (!(img == activemenu)) {
			imageSwapLayer('divMenu', img, '../images/' + lang + '/m_' + img + '_on.gif')
		}
	}

	function lolite(img, lang) {
		if (!(img == activemenu)) {
			imageSwapLayer('divMenu', img, '../images/' + lang + '/m_' + img + '_off.gif')
		}
	}

	function setmenu(img, lang) {
		imageSwapLayer('divMenu', img, '../images/' + lang + '/m_' + img + '_sel.gif')
		activemenu = img
	}

	function IsEmailAddress() {
		/***********************************************************
		Purpose:
		    Ensures that an email address is properly syntaxed and ends with a 
		    valid TLD (top level domain).
		***********************************************************/
		var s = "", re;

		//retrieve email instance.
		s = "" + this + "";

		//length check: remove leading and trailing spaces and then
		//test length. I originally had this surrounding the call to the
		//function but why not encapsulate it...
		//x@x.xx is the smallest address... that's 6 characters. so, length
		//must be greater than 5 to continue.
		s = s.replace(/^\s*|\s*$/g, "");
		if (s == "undefined" || s.length < 6) {return false;}

		//test for spaces before checking syntax. spaces are illegal 
		//in an email address. if a space is found, it's definitely an
		//illegal address:
		re = /\s+/g
		if (re.test(s)) {return false;}

		//validate email address syntax and remove any emails that don't 
		//match the basic syntax pattern below.
		re = /^(\w|[^_]\.|[\-])+((\@){1}([^_]))(([a-z]|[\d]|[\-]|\.)+|([^_]\.[^_])*)+\.[a-z]{2,6}$/i
		if (!re.test(s)) {return false;}

		//validate domain part of the email against all known TLDs as of May 2001 
		re = /\.(a[c-gil-oq-uwz]|b[a-bd-jm-or-tvwyz]|c[acdf-ik-orsuvx-z]|d[ejkmoz]|e[ceghr-u]|f[i-kmorx]|g[abd-ilmnp-uwy]|h[kmnrtu]|i[delm-oq-t]|j[emop]|k[eg-imnprwyz]|l[a-cikr-vy]|m[acdghk-z]|n[ace-giloprtuz]|om|p[ae-hk-nrtwy]|qa|r[eouw]|s[a-eg-ort-vyz]|t[cdf-hjkm-prtvwz]|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[admrw]|com|edu|net|org|mil|gov|biz|pro|aero|coop|info|name|museum)$/i
		if (!re.test(s)) {return false;}

		//fix the .. problem...
		re = /\.\./
		if (re.test(s)) {return false;}

		//fix the @@ problem...
		re = /\@\@/
		return(!re.test(s));
	}

	// add IsEmail to the available methods of the String object
	String.prototype.IsEmail = IsEmailAddress;

	Xwin=30;
	Ywin=30;
	function openPop(url,titel,scr1,scr2,w,h) {
		if (parseInt(navigator.appVersion) >= 4) {
			Xwin = (screen.availWidth - w)*.4;
			Ywin = (screen.availHeight - h)*.3;
		}
		newWindow = window.open(url,titel,'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=' +scr1 +',scrolling=' +scr2 +',resizable=1,width=' +w +',height=' +h +',top=' + Ywin + ',left=' + Xwin);
	}

	activecmmenu = 'x'
	function changemenu(id) {
		if (!(activecmmenu == 'x')) {
			hidelayer('div' + activecmmenu + '_hi')
		}
		showlayer('div' + id + '_hi')
		activecmmenu = id
	}

