/*
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
SECTION A : GLOBAL VARIABLES AND SETTINGS
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

+---------------+-----------+-------+-------------------------------------------
| SUBJECT		| DATATYPE	| MODE	| DESCRIPTION
+---------------+-----------+-------+-------------------------------------------
| BUF			| MIXED		| OPT	| TEMPORARY DATA
| DOMAIN		| STRING	| OPT	| ALLOWED DOMAIN
| LISTEN_INTV	| INTEGER	| REQ	| DEFAULT INTERVAL (IN MILLI-SECONDS) FOR ALL LISTENERS
| SYS_LOADING	| OBJECT	| R/O	| OBJECT CONTAINER FOR "LOADING PROGRESS" LAYER
| MM_MENUINTV	| INTEGER	| R/O	| MENU MANAGER - CURRENT MENU INTERVAL ID
| MM_MENUTIME	| INTEGER	| REQ	| MENU MANAGER - DEFAULT MENU TIMEOUT (MILLI-SECONDS)
| MM_OPENMENU	| STRING	| R/O	| MENU MANAGER - NAME OF CURRENTLY OPEN MENU
| MM_OVERMENU	| BOOL		| R/O	| MENU MANAGER - IS MOUSE POINTER OVER THE MENU?
| MM_STATMENU	| OBJECT	| R/O	| MENU MANAGER - OBJECT CONTAINER FOR DEBUG LAYER
| PG			| OBJECT	| R/O	| PAGE - OBJECT
| PG_BODY		| OBJECT	| R/O	| PAGE - BODY OBJECT
| PG_PHPFILE	| STRING	| R/O	| PAGE - NAME OF PHP DOCUMENT LOADED VIA "PG" HTTP VARIABLE
| PG_POS		| FUNCTION	| R/O	| PAGE - GET COORDINATES
| PG_SIZ		| FUNCTION	| R/O	| PAGE - GET CURRENT SIZE
| PG_WINDOW		| BOOL		| R/O	| PAGE - IS THIS A CHILD WINDOW?
| PG_WRAPPER	| OBJECT	| R/O	| PAGE - OBJECT CONTAINER FOR CONTENT WRAPPER
| SHADOW		| OBJECT	| R/O	| SHADOW - OBJECT
| SHADOW_OP		| INTEGER	| REQ	| SHADOW - DEFAULT OPACITY VALUE (0-100)
| SHADOW_STY	| STRING	| REQ	| SHADOW - DEFAULT STYLE
| SHADOW_UPD	| FUNCTION	| R/O	| SHADOW - RE-INITIALIZES THE SHADOW SIZE/POSITION
| T_OP			| ARRAY		| R/O	| TIMERS - OPACITY/TRANSPARENCY SETTINGS
| T_POS			| ARRAY		| R/O	| TIMERS - POSITIONS
| T_SIZ			| ARRAY		| R/O	| TIMERS - SIZES
+---------------+-----------+-------+-------------------------------------------

*/
var o 	= null;																	// object
var d 	= document;																// document object
var t 	= new Array();															// ineterval/timeout IDs
var w 	= null;																	// current child window
var s 	= [screen.width,screen.height,screen.availWidth,screen.availHeight];	// current screen dimensions (w,h)
function init(){return};

var cfg					= [];
	cfg['BUF']			= null;
	cfg['DOMAIN']		= null;
	cfg['LISTEN_INTV']	= 1000;
	cfg['MM_MENUINTV']	= null;
	cfg['MM_MENUTIME']	= 500;
	cfg['MM_OPENMENU']	= null;
	cfg['MM_OVERMENU']	= false;
	cfg['MM_STATMENU']	= null;
	cfg['PG']			= null;
	cfg['PG_BODY']		= null;
	cfg['PG_PHPFILE']	= null;
	cfg['PG_POS']		= function(){return DM_getPos(cfg['PG_WRAPPER'].getElementsByTagName("td")[0])};
	cfg['PG_SIZ']		= function(){return [DM_getWinInnerSize()[0],DM_getSize(cfg["PG"])[1]]};
	cfg['PG_WINDOW']	= false;
	cfg['PG_WRAPPER']	= null;
	cfg['SHADOW']		= null;
	cfg['SHADOW_OP']	= 50;
	cfg['SHADOW_STY']	= "background:#000000;position:absolute;top:0px;left:0px;z-index:600;visibility:hidden;";
	cfg['SHADOW_UPD']	= null;
	cfg['SYS_LOADING']	= null;
	cfg['T_OP']			= [];
	cfg['T_POS']		= [];
	cfg['T_SIZ']		= [];

window.onload=function()
{
	/*
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	PRELIMINARY STABILITY CHECK + BROWSER VALIDATION
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	*/
	if (!isCmp) return;
	DM_getRealDomain(cfg['DOMAIN'],true);
	setInterval("DM_clearTimers()",cfg["LISTEN_INTV"]);
	
	/*
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	SHOW LANGUAGE SPECIFICATIONS IF POSSIBLE
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	*/
	if (o=DM_getObjCopy("PG_VALIDATION"))
	{
		var imgs=o.getElementsByTagName("img");
		for (var i=0;i<imgs.length;i++)
		{
			DM_setOp(imgs[i],50);
			imgs[i].onmouseover=function(){DM_tweenOp(this,-1,100)};
			imgs[i].onmouseout=function(){DM_tweenOp(this,-1,50)};
		}
	}
	
	/*
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	INITIALIZE GLOBAL VARIABLES
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	*/
	cfg['PG']			= DM_getObjCopy("PAGE");
	cfg['PG_BODY']		= d.getElementsByTagName("body")[0];
	cfg['PG_PHPFILE']	= DM_getLocation().replace(/^.+\?pg=([^&]*).*?$/i,"$1").toLowerCase();
	cfg['PG_WRAPPER']	= DM_getObjCopy("PG_WRAPPER");
	cfg['LOADING']		= DM_getObjCopy("LOADING");
	cfg['PG_WINDOW']	= /[\?&]win=y\&+?/i.test(DM_getLocation());
	cfg['SHADOW']		= DM_getObjCopy("SHADOW");
	
	cfg['SHADOW_UPD']	= function(action)
	{
		var o,cmd,siz;
		if (!(o=cfg['SHADOW'])) return;
		var siz=cfg['PG']?[DM_getWinInnerSize()[0],DM_getSize(cfg['PG'])[1]]:DM_getWinInnerSize();
		DM_setStyle(o,cfg['SHADOW_STY']);
		DM_setVis(o,false);
		DM_setOp(o,cfg['SHADOW_OP']);
		DM_setPos(o,0,0);
		DM_setSize(o,siz[0],siz[1]);
		
		switch (action?action.toUpperCase():"")
		{
			case "ADD_EVENTS":
				cmd=[
					'var siz=cfg["PG"]?[DM_getWinInnerSize()[0],DM_getSize(cfg["PG"])[1]]:DM_getWinInnerSize()',
					'DM_setSize(cfg["SHADOW"],siz[0],siz[1])'
					];
				isMoz?setInterval(cmd.join(";"),250):DM_chgEvent(window,"onresize",cmd.join(";"),"app");
			break;
		}
		return
	};
	
	if (!/^[\w\.]+$/.test(cfg['PG_PHPFILE'])) cfg['PG_PHPFILE']="";
	
	/*
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	MSIE FIX 1 - HIDDEN LAYERS
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	*/
	if (isIE)
	{
		o=DM_getElementsByClassName("hidden","DIV");
		for (var i=0;i<o.length;i++) o[i].style.display="none";
	}
	
	/*
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	MSIE FIX 2 - TRANSPARENT PNG IMAGES (APPLIES TO IE6 ONLY)
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	*/
	if (isIE6 && d.body.filters) 
	{
		for (var i=0;i<d.images.length;i++)
		{
			var img=d.images[i];
			var imgName=img.src.toUpperCase();
			if (imgName.substring(imgName.length-3,imgName.length)=="PNG")
			{
				var imgID=img.id?"id='"+img.id+"' ":"";
				var imgClass=img.className?"class='"+img.className+"' ":"";
				var imgTitle=img.title?"alt='"+img.title+"' ":"alt='"+img.alt+"' ";
				var imgStyle="display:inline-block;"+img.style.cssText;
				if (img.align=="left") imgStyle="float:left;"+imgStyle;
				if (img.align=="right") imgStyle="float:right;"+imgStyle;
				if (img.parentElement.href) imgStyle="cursor:hand;"+imgStyle;
				
				var htm=[
					'<span '+imgID+imgClass+imgTitle,
					' style="width:'+img.width+'px;height:'+img.height+'px;'+imgStyle+';',
					'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader',
					'(src=\''+img.src+'\',sizingMethod=\'scale\');"></span>'
					];
				
				img.outerHTML=htm.join("");
				i--
			}
		}
	}
	
	/*
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	MSIE FIX 3 - ACTIVEX OBJECTS
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	*/
	for (var i=0,buf,htm,o=DM_getElementsByClassName("ACTIVEX","DIV");i<o.length;i++)
	{
		buf=o[i].title.split(" ");
		htm=[
			'<object type="'+buf[0]+'" data="'+buf[1]+'" width="'+buf[2]+'" height="'+buf[3]+'">',
			'<param name="movie" value="'+buf[1]+'" />',
			'<param name="quality" value="'+buf[4]+'" />',
			'<img src="'+buf[5]+'" width="'+buf[2]+'" height="'+buf[3]+'" alt="" />',
			'</object>'
			];
		o[i].innerHTML=htm.join("");
		o[i].title=""
	}
	
	/*
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	FORM VALIDATION - PASSWORD-PROTECTED WEBSITE
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	*/
	if ((o=DM_getObjCopy("SYS_LOCKED")) && d.forms.length)
	{
		DM_setVis("INFO",true);		
		DM_setOp(d.forms[0].getElementsByTagName("img")[0],50);
		d.forms[0].getElementsByTagName("input")[0].onkeyup=function()
		{
			var btn=d.forms[0].getElementsByTagName("img")[0];
			if (/^\w+$/.test(this.value))
			{
				DM_setOp(btn,100);
				btn.onclick=function()
				{
					var inp=d.forms[0].getElementsByTagName("input")[0];
					inp.value=hex_md5(inp.value);
					d.forms[0].action="index.php";
					d.forms[0].submit()
				};
			}
			else
			{
				DM_setOp(btn,50);
				btn.onclick=function()
				{
					var inp=d.forms[0].getElementsByTagName("input")[0];
					inp.value="";
					alert("Invalid Password. Please try again.");
					inp.focus()
				};
			}
		};
	}
	
	/*
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	LOW-LEVEL OPERATIONS + EXTERNAL FUNCTION CALLS
	IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
	*/
	cfg['SHADOW_UPD']("ADD_EVENTS");
	if (o=cfg['SYS_LOADING']) setTimeout('DM_setVis("'+o.id+'",false,true);cfg["SYS_LOADING"].innerHTML=cfg["SYS_LOADING"].title=""',2000);
	cfg['BUF']=null;
	init();
	return
};


/*
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
SECTION B : JSBRWSNIFF (BROWSER SNIFFER LIBRARY) V0.5.2, 11-29-2006
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

--------------------------------------------------------------------------------
CLIENT-SIDE USAGE
--------------------------------------------------------------------------------
You can use it this way:

	<script type="text/javascript">
		var br=new Array(4);
		var os=new Array(2);
		var flash=new Array(2);
		br=getBrowser();
		os=getOS();
		flash=hasFlashPlugin();
		d.write("Browser identifier: "+br[0]+"<br />");
		d.write("Browser version: "+br[1]+"<br />");
		d.write("Browser major version: "+getMajorVersion(br[1])+"<br />");
		d.write("Browser minor version: "+getMinorVersion(br[1])+"<br />");
		d.write("Browser engine: "+br[2]+"<br />");
		d.write("Browser engine version: "+br[3]+"<br />");
		d.write("Full user agent string: "+getFullUAString()+"<br />");
		d.write("Operating system identifier: "+os[0]+"<br />");
		d.write("Operating system version: "+os[1]+"<br />");
		d.write("Is Flash installed? " + (flash[0]==2 ? "Yes" : (flash[0] == 1 ? "No" : "unknown")) + "<br />");
		d.write("Flash version: "+flash[1]+"<br />");
	</script>

For client-side usage, you do not need to feed getBrowser(), getOS() and getFullUAString() with any parameter.

--------------------------------------------------------------------------------
BROWSER IDENTIFIERS
--------------------------------------------------------------------------------
	msie			Microsoft Internet Explorer
	crazy			Crazy Browser
	mozsea			Mozilla (Seamonkey)
	opera			Opera
	netscape		Netscape 4.x, 6.x and 7.x (Changed: in versions earlier than 0.4.0, it was "netscape4" for Netscape 4.x)
	galeon			Galeon
	nautilus		Nautilus
	firefox			Firefox
	firebird		Firebird
	phoenix			Phoenix
	konqueror		Konqueror
	omniweb			Omniweb
	epiphany		Epiphany
	chimera			Chimera
	camino			Camino
	kmeleon			K-Meleon
	links			Links
	elinks			ELinks
	w3m				w3m
	powermarks		PowerMarks
	java			Java (Java Runtime Environment or Java Development Kit)
	icab			iCab
	netfront		NetFront
	myie2			MyIE2
	avantbrowser	Avant Browser
	msn				MSN Explorer
	netcaptor		NetCaptor
	playstation3	Playstation 3 (actually, it is a Sony-branded NetFront 2.81)
	dillo			Dillo (server-side detection only)
	lynx			Lynx (server-side detection only)
	unknown			Unknown browser (Changed: in versions before 0.4.0 it returned "other")
	
Since version 0.3.5, JsBrwSniff returns an array of four strings:

	1 - a short browser id
	2 - the version number (or "unknown" if unknown)
	3 - the engine the browser is using (or "unknown" if unknown)
	4 - the engine version (or "unknown" if unknown)

--------------------------------------------------------------------------------
OPERATING SYSTEM IDENTIFIERS
--------------------------------------------------------------------------------
	win			Windows. Version identifiers: 95, 98, me, nt4, 2000, xp, longhorn
	wince		Windows CE. Version identifier: (release version, i. e. 0.9.3)
	linux		Linux. Version identifier: (kernel version, i.e. 2.4.22)
	macclassic	Mac OS < 10.0.0
	macosx		Mac OS 10.0.0+
	os2			OS/2
	freebsd		FreeBSD. Version identifier: (release version, i.e. 4.8)
	openbsd		OpenBSD. Version identifier: (release version, i.e. 1.5)
	sunos		SunOS/Solaris
	unix		Unknown Unix
	openvms		OpenVMS
	amigaos		AmigaOS
	hurd		GNU/Hurd
	cygwin		Cygwin (Linux software compiled for Windows)
	palmos		PalmOS
	symbian		Symbian OS
	irix		Irix
	hpux		HP-UX
	java		Java (Java Runtime Environment or Java Development Kit)
	unknown		Unknown operating system (Changed: in versions before 0.4.0 it returned "other")
	
Since version 0.4.0, operating system is returned as an array of two values:

	1 - OS short identifier
	2 - second value is OS version

--------------------------------------------------------------------------------
BROWSER ENGINE IDENTIFIERS
--------------------------------------------------------------------------------
	gecko		Mozilla Gecko
	mozold		Old Netscape browsers (before 6.0)
	khtml		KHTML-based browsers (Konqueror, Safari and Omniweb>=4.5)
	msie		Microsoft Internet Explorer
	omniweb		Omniweb (<4.5)
	opera		Opera
	links		Links
	elinks		ELinks
	w3m			w3m
	java		Java Runtime Environment or Java Development Kit
	icab		iCab
	netfront	NetFront
	dillo		Dillo (server-side detection only)
	lynx		Lynx (server-side detection only)
	robot		Any bot (GoogleBot, MSNBot...) (server-side detection only)
	other		Unknown

--------------------------------------------------------------------------------
BOT IDENTIFIERS
--------------------------------------------------------------------------------
	googlebot		GoogleBot
	googlebotimg	GoogleBot-Image
	msnbot			MSN Search bot
	turnitinbot		TurnitinBot
	zyborgbot		Zyborg
	wget			wget
	
Please note that:

	- Bots do not execute JavaScript, so you only can find bots if running jsbrwsniff on the server-side
	- These bot identifiers are reported as the browser identifier
	- Bot version (if available) is reported as the browser version
	- Browser engine name is "robot" for every bot
	- Browser engine version is -1 for every bot

--------------------------------------------------------------------------------
OTHER FUNCTIONS
--------------------------------------------------------------------------------
getMajorVersion(version_string)		returns whatever there is before the first "." or -1 if an empty string is passed
getMinorVersion(version_string)		returns whatever there is after the first "." or -1 if an empty string is passed
getFullUAString()					returns a string containing the full user agent string
getGeckoVersion()					returns Gecko engine version. Be careful, it does NOT verify the browser is gecko-based.
getMSIEVersion()					returns MSIE engine version. Be careful, it does NOT verify the browser is MSIE-based.
hasFlashPlugin()					returns an array of two values:
	
	1 - First field is 2 (Flash is installed), 1 (Flash is not installed) or 0 (don't know if Flash is installed)
	2 - Second field is a number from 0 to 7, telling which Flash version is installed. If the first field is 0, this field is also 0.
*/
function getBrowser(obj){var b=new Array("unknown","unknown","unknown","unknown");(isEmpty(obj)?brs=navigator.userAgent.toLowerCase():brs=obj);if(brs.search(/omniweb[\/\s]v?(\d+([\.-]\d)*)/)!=-1){b[0]="omniweb";b[1]=brs.match(/omniweb[\/\s]v?(\d+([\.-]\d)*)/)[1];(b[1]>4.5?b[2]="khtml":b[2]="omniweb");(brs.search(/omniweb[\/\s]((\d+([\.-]\d)*)-)?v(\d+([\.-]\d)*)/)==-1?b[3]=brs.match(/omniweb[\/\s](\d+([\.-]\d)*)/)[1]:b[3]=brs.match(/omniweb[\/\s]((\d+([\.-]\d)*)-)?v(\d+([\.-]\d)*)/)[4]);return b}else if(brs.search(/opera[\/\s](\d+(\.?\d)*)/)!=-1){b[0]="opera";b[1]=brs.match(/opera[\/\s](\d+(\.?\d)*)/)[1];b[2]="opera";b[3]=b[1];return b}else if(brs.search(/crazy\s?browser\s(\d+(\.?\d)*)/)!=-1){b[0]="crazy";b[1]=brs.match(/crazy\s?browser\s(\d+(\.?\d)*)/)[1];b[2]="msie";b[3]=getMSIEVersion();return b}else if(brs.search(/myie2/)!=-1){b[0]="myie2";b[2]="msie";b[3]=brs.match(/msie\s(\d+(\.?\d)*)/)[1];return b}else if(brs.search(/netcaptor/)!=-1){b[0]="netcaptor";b[1]=brs.match(/netcaptor\s(\d+(\.?\d)*)/)[1];b[2]="msie";b[3]=getMSIEVersion();return b}else if(brs.search(/avant\sbrowser/)!=-1){b[0]="avantbrowser";b[2]="msie";b[3]=getMSIEVersion();return b}else if(brs.search(/msn\s(\d+(\.?\d)*)/)!=-1){b[0]="msn";b[1]=brs.match(/msn\s(\d+(\.?\d)*)/)[1];b[2]="msie";b[3]=getMSIEVersion();return b}else if(brs.search(/msie\s(\d+(\.?\d)*)/)!=-1){b[0]="msie";b[1]=getMSIEVersion();b[2]="msie";b[3]=b[1];return b}else if(brs.search(/powermarks\/(\d+(\.?\d)*)/)!=-1){b[0]="powermarks";b[1]=brs.match(/powermarks\/(\d+(\.?\d)*)/)[1];b[2]="msie";try{b[3]=getMSIEVersion()}catch(e){}return b}else if(brs.search(/konqueror[\/\s](\d+([\.-]\d)*)/)!=-1){b[0]="konqueror";b[1]=brs.match(/konqueror[\/\s](\d+([\.-]\d)*)/)[1];b[2]="khtml";return b}else if(brs.search(/safari\/(\d)*/)!=-1){b[0]="safari";b[1]=brs.match(/safari\/(\d+(\.?\d*)*)/)[1];b[2]="khtml";b[3]=brs.match(/applewebkit\/(\d+(\.?\d*)*)/)[1];return b}else if(brs.search(/zyborg/)!=-1){b[0]="zyborg";b[1]=brs.match(/zyborg\/(\d+(\.?\d)*)/)[1];b[2]="robot";b[3]="-1";return b}else if(brs.search(/netscape6[\/\s](\d+([\.-]\d)*)/)!=-1){b[0]="netscape";b[1]=brs.match(/netscape6[\/\s](\d+([\.-]\d)*)/)[1];b[2]="gecko";b[3]=getGeckoVersion();return b}else if(brs.search(/netscape\/(7\.\d*)/)!=-1){b[0]="netscape";b[1]=brs.match(/netscape\/(7\.\d*)/)[1];b[2]="gecko";b[3]=getGeckoVersion();return b}else if(brs.search(/galeon[\/\s](\d+([\.-]\d)*)/)!=-1){b[0]="galeon";b[1]=brs.match(/galeon[\/\s](\d+([\.-]\d)*)/)[1];b[2]="gecko";b[3]=getGeckoVersion();return b}else if(brs.search(/nautilus[\/\s](\d+([\.-]\d)*)/)!=-1){b[0]="nautilus";b[1]=brs.match(/nautilus[\/\s](\d+([\.-]\d)*)/)[1];b[2]="gecko";b[3]=getGeckoVersion();return b}else if(brs.search(/firefox[\/\s](\d+([\.-]\d)*)/)!=-1){b[0]="firefox";b[1]=brs.match(/firefox[\/\s](\d+([\.-]\d)*)/)[1];b[2]="gecko";b[3]=getGeckoVersion();return b}else if(brs.search(/k-meleon[\/\s](\d+([\.-]\d)*)/)!=-1){b[0]="kmeleon";b[1]=brs.match(/k-meleon[\/\s](\d+([\.-]\d)*)/)[1];b[2]="gecko";b[3]=getGeckoVersion();return b}else if(brs.search(/playstation\s3/)!=-1){b[0]="netfront";b[1]="2.81";b[2]="playstation3";b[3]=brs.match(/playstation\s3;\s(\d+\.\d+)/)[1];return b}else if(brs.search(/firebird[\/\s](\d+([\.-]\d)*)/)!=-1){b[0]="firebird";b[1]=brs.match(/firebird[\/\s](\d+([\.-]\d)*)/)[1];b[2]="gecko";b[3]=getGeckoVersion();return b}else if(brs.search(/phoenix[\/\s](\d+([\.-]\d)*)/)!=-1){b[0]="phoenix";b[1]=brs.match(/phoenix[\/\s](\d+([\.-]\d)*)/)[1];b[2]="gecko";b[3]=getGeckoVersion();return b}else if(brs.search(/camino[\/\s](\d+([\.-]\d)*)/)!=-1){b[0]="camino";b[1]=brs.match(/camino[\/\s](\d+([\.-]\d)*)/)[1];b[2]="gecko";b[3]=getGeckoVersion();return b}else if(brs.search(/epiphany[\/\s](\d+([\.-]\d)*)/)!=-1){b[0]="epiphany";b[1]=brs.match(/epiphany[\/\s](\d+([\.-]\d)*)/)[1];b[2]="gecko";b[3]=getGeckoVersion();return b}else if(brs.search(/chimera[\/\s](\d+([\.-]\d)*)/)!=-1){b[0]="chimera";b[1]=brs.match(/chimera[\/\s](\d+([\.-]\d)*)/)[1];b[2]="gecko";b[3]=getGeckoVersion();return b}else if(brs.search(/icab[\s\/]?(\d+(\.?\d)*)/)!=-1){b[0]="icab";b[1]=brs.match(/icab[\s\/]?(\d+(\.?\d)*)/)[1];b[2]="icab";b[3]=b[1];return b}else if(brs.search(/netfront\/(\d+([\._]\d)*)/)!=-1){b[0]="netfront";b[1]=brs.match(/netfront\/(\d+([\._]\d)*)/)[1];b[2]="netfront";b[3]=b[1];return b}else if(brs.search(/netscape4\/(\d+([\.-]\d)*)/)!=-1){b[0]="netscape";b[1]=brs.match(/netscape4\/(\d+([\.-]\d)*)/)[1];b[2]="mozold";b[3]=b[1];return b}else if((brs.search(/mozilla\/(4.\d*)/)!=-1)&&(brs.search(/msie\s(\d+(\.?\d)*)/)==-1)){b[0]="netscape";b[1]=brs.match(/mozilla\/(4.\d*)/)[1];b[2]="mozold";b[3]=b[1];return b}else if((brs.search(/mozilla\/5.0/)!=-1)&&(brs.search(/gecko\//)!=-1)){b[0]="mozsea";b[1]=brs.match(/rv\x3a(\d+(\.?\d)*)/)[1];b[2]="gecko";b[3]=getGeckoVersion();return b}else if(brs.search(/elinks/)!=-1){b[0]="elinks";(brs.search(/elinks\/(\d+(\.?\d)*)/)==-1?b[1]=brs.match(/elinks\s\x28(\d+(\.?\d)*)/)[1]:b[1]=brs.match(/elinks\/(\d+(\.?\d)*)/)[1]);b[2]="elinks";b[3]=b[1];return b}else if(brs.search(/w3m\/(\d+(\.?\d)*)/)!=-1){b[0]="w3m";b[1]=brs.match(/(^w3m|\sw3m)\/(\d+(\.?\d)*)/)[2];b[2]="w3m";b[3]=b[1];return b}else if(brs.search(/links/)!=-1){b[0]="links";(brs.search(/links\/(\d+(\.?\d)*)/)==-1?b[1]=brs.match(/links\s\x28(\d+(\.?\d)*)/)[1]:b[1]=brs.match(/links\/(\d+(\.?\d)*)/)[1]);b[2]="links";b[3]=b[1];return b}else if(brs.search(/java[\/\s]?(\d+([\._]\d)*)/)!=-1){b[0]="java";b[1]=brs.match(/java[\/\s]?(\d+([\._]\d)*)/)[1];b[2]="java";b[3]=b[1];return b}else if(brs.search(/lynx/)!=-1){b[0]="lynx";b[1]=brs.match(/lynx\/(\d+(\.?\d)*)/)[1];b[2]="libwww-fm";b[3]=brs.match(/libwww-fm\/(\d+(\.?\d)*)/)[1];return b}else if(brs.search(/dillo/)!=-1){b[0]="dillo";b[1]=brs.match(/dillo\s*\/*(\d+(\.?\d)*)/)[1];b[2]="dillo";b[3]=b[1];return b}else if(brs.search(/wget/)!=-1){b[0]="wget";b[1]=brs.match(/wget\/(\d+(\.?\d)*)/)[1];b[2]="robot";b[3]="-1";return b}else if(brs.search(/googlebot\-image/)!=-1){b[0]="googlebotimg";b[1]=brs.match(/googlebot\-image\/(\d+(\.?\d)*)/)[1];b[2]="robot";b[3]="-1";return b}else if(brs.search(/googlebot/)!=-1){b[0]="googlebot";b[1]=brs.match(/googlebot\/(\d+(\.?\d)*)/)[1];b[2]="robot";b[3]="-1";return b}else if(brs.search(/msnbot/)!=-1){b[0]="msnbot";b[1]=brs.match(/msnbot\/(\d+(\.?\d)*)/)[1];b[2]="robot";b[3]="-1";return b}else if(brs.search(/turnitinbot/)!=-1){b[0]="turnitinbot";b[1]=brs.match(/turnitinbot\/(\d+(\.?\d)*)/)[1];b[2]="robot";b[3]="-1";return b}else{b[0]="unknown";return b}};function getMajorVersion(v){return(isEmpty(v)?-1:(hasDot(v)?v:v.match(/(\d*)(\.\d*)*/)[1]))};function getMinorVersion(v){return(!isEmpty(v)?(!hasDot(v)?v.match(/\.(\d*([-\.]\d*)*)/)[1]:0):-1)};function getOS(obj){var os=new Array("unknown","unknown");(isEmpty(obj)?brs=navigator.userAgent.toLowerCase():brs=obj);if(brs.search(/windows\sce/)!=-1){os[0]="wince";try{os[1]=brs.match(/windows\sce\/(\d+(\.?\d)*)/)[1]}catch(e){}return os}else if((brs.search(/windows/)!=-1)||((brs.search(/win9\d{1}/)!=-1))){os[0]="win";if(brs.search(/nt\s5\.1/)!=-1){os[1]="xp"}else if(brs.search(/nt\s5\.0/)!=-1){os[1]="2000"}else if((brs.search(/win98/)!=-1)||(brs.search(/windows\s98/)!=-1)){os[1]="98"}else if(brs.search(/windows\sme/)!=-1){os[1]="me"}else if(brs.search(/nt\s5\.2/)!=-1){os[1]="win2k3"}else if((brs.search(/windows\s95/)!=-1)||(brs.search(/win95/)!=-1)){os[1]="95"}else if((brs.search(/nt\s4\.0/)!=-1)||(brs.search(/nt4\.0/))!=-1){os[1]="nt4"}return os}else if(brs.search(/linux/)!=-1){os[0]="linux";try{os[1]=brs.match(/linux\s?(\d+(\.?\d)*)/)[1]}catch(e){}return os}else if(brs.search(/mac\sos\sx/)!=-1){os[0]="macosx";return os}else if(brs.search(/freebsd/)!=-1){os[0]="freebsd";try{os[1]=brs.match(/freebsd\s(\d(\.\d)*)*/)[1]}catch(e){}return os}else if(brs.search(/sunos/)!=-1){os[0]="sunos";try{os[1]=brs.match(/sunos\s(\d(\.\d)*)*/)[1]}catch(e){}return os}else if(brs.search(/irix/)!=-1){os[0]="irix";try{os[1]=brs.match(/irix\s(\d(\.\d)*)*/)[1]}catch(e){}return os}else if(brs.search(/openbsd/)!=-1){os[0]="openbsd";try{os[1]=brs.match(/openbsd\s(\d(\.\d)*)*/)[1]}catch(e){}return os}else if((brs.search(/macintosh/)!=-1)||(brs.search(/mac\x5fpowerpc/)!=-1)){os[0]="macclassic";return os}else if(brs.search(/os\/2/)!=-1){os[0]="os2";try{os[1]=brs.match(/warp\s((\d(\.\d)*)*)/)[1]}catch(e){}return os}else if(brs.search(/openvms/)!=-1){os[0]="openvms";try{os[1]=brs.match(/openvms\sv((\d(\.\d)*)*)/)[1]}catch(e){}return os}else if((brs.search(/amigaos/)!=-1)||(brs.search(/amiga/)!=-1)){os[0]="amigaos";try{os[1]=brs.match(/amigaos\s?(\d(\.\d)*)*/)[1]}catch(e){}return os}else if(brs.search(/hurd/)!=-1){os[0]="hurd";return os}else if(brs.search(/hp\-ux/)!=-1){os[0]="hpux";try{os[1]=brs.match(/hp\-ux\sb\.[\/\s]?(\d+([\._]\d)*)/)[1]}catch(e){}return os}else if((brs.search(/unix/)!=-1)||(brs.search(/x11/)!=-1)){os[0]="unix";return os}else if(brs.search(/cygwin/)!=-1){os[0]="cygwin";return os}else if(brs.search(/java[\/\s]?(\d+([\._]\d)*)/)!=-1){os[0]="java";try{os[1]=brs.match(/java[\/\s]?(\d+([\._]\d)*)/)[1]}catch(e){}return os}else if(brs.search(/palmos/)!=-1){os[0]="palmos";return os}else if(brs.search(/symbian\s?os\/(\d+([\._]\d)*)/)!=-1){os[0]="symbian";try{os[1]=brs.match(/symbian\s?os\/(\d+([\._]\d)*)/)[1]}catch(e){}return os}else{os[0]="unknown";return os}};function getGeckoVersion(){return brs.match(/gecko\/([0-9]+)/)[1]};function getMSIEVersion(){return brs.match(/msie\s(\d+(\.?\d)*)/)[1]};function getFullUAString(obj){(isEmpty(obj)?brs=navigator.userAgent.toLowerCase():brs=obj);return brs};function hasFlashPlugin(obj){(isEmpty(obj)?brs=navigator.userAgent.toLowerCase():brs=obj);var f=new Array("0","0");var brwEng=getBrowser(obj)[2];var opSys=getOS(obj)[0];if((brwEng=="gecko")||(brwEng=="opera")||(brwEng=="khtml")||(brwEng=="mozold")||(opSys=="macosx")||(opSys=="macclassic")){if(navigator.plugins&&navigator.plugins.length){x=navigator.plugins["Shockwave Flash"];if(x){f[0]=2;if(x.description){y=x.description;f[1]=y.charAt(y.indexOf('.')-1)}}else{f[0]=1}if(navigator.plugins["Shockwave Flash 2.0"]){f[0]=2;f[0]=2}}else if(navigator.mimeTypes&&navigator.mimeTypes.length){x=navigator.mimeTypes['application/x-shockwave-flash'];if(x&&x.enabledPlugin){f[0]=2}else{f[0]=1}}return f}else if(brwEng=="msie"){for(var i=15;i>0;i--){try{var flash=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);f[1]=i;break}catch(e){}}if(f[1]>0){f[0]=2}else{f[0]=1}return f}else{f[0]=0;f[1]=0;return f}};function isEmpty(input){return(input==null||input=="")};function hasDot(input){return(input.search(/\./)==-1)};


/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
01: Browser Identification Variables
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
var br=getBrowser();											// Browser Identification
var os=getOS();													// Operating System
var flash=hasFlashPlugin();										// Flash Plugin Information
var isDOM=d.getElementById?1:0;									// W3C-DOM compatible browser? (IE5+, NS6+, others like Opera, Konqueror, etc.)
var isIE=(d.all&&br[0]=="msie"&&br[2]=="msie")?1:0;				// Internet Explorer (v4 and up)
var isIE4=isIE&&!isDOM?1:0;										// One of the 4-series browsers (not DOM compatible)
var isIE6=isIE&&isDOM&&getMajorVersion(br[1])==6?1:0;			// Internet Explorer (v6)
var isIE7=isIE&&isDOM&&getMajorVersion(br[1])>=7?1:0;			// Internet Explorer (v7 and up)
var isNS=br[0]=="netscape"||br[0]=="mozsea"?1:0;				// Netscape Navigator (version 4 and up)
var isNS4=isNS&&!isDOM?1:0;										// One of the 4-series browsers (not DOM compatible)
var isNS6=isNS&&isDOM&&br[2]=="gecko"?1:0;						// Netscape Navigator (v7 and up)
var isOp=br[0]=="opera"&&br[2]=="opera"?1:0;					// Any Opera version (useful as Opera emulates IE above)
var isOp9=isDOM&&isOp&&getMajorVersion(br[1])>=9?1:0;			// Opera (version 9 and up)
var isSaf=br[0]=="safari"&&getMajorVersion(br[1])>300?1:0;		// Safari (Build 300 and up)
var isMoz=br[0]=="firefox"&&getMajorVersion(br[1])>=1?1:0;		// Firefox (2.0 and up)
var isDyn=isDOM||isIE||isNS4||isOp9;							// Any DHTML-capable browser
var isWin=os[0]=="win"?1:0;										// True if Windows, false if Mac/Linux etc.
var isCmp=isIE6||isNS6||isOp9||isSaf||isMoz;					// True if browser is compatible, false otherwise
Array.prototype.push=function(value){this[this.length]=value};	// To cover IE 5.0's lack of the push method
isCmp=true;

/*
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
SECTION C : TWINHELIX SCRIPTING LIBRARY
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
*/

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
01: Cross-Browser DHTML API v1.1 RC
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function getRef(i,p){p=!p?d:p.navigator?p.document:p;return isIE?p.all[i]:isDOM?(p.getElementById?p:p.ownerDocument).getElementById(i):isNS4?p.layers[i]:null};function getSty(i,p){var r=getRef(i,p);return r?isNS4?r:r.style:null};if(!self.LayerObj)var LayerObj=new Function('i','p','this.ref=getRef(i,p);this.sty=getSty(i,p);return this');function getLyr(i,p){return new LayerObj(i,p)};function LyrFn(n,f){LayerObj.prototype[n]=new Function('var a=arguments,p=a[0],px=isNS4||isOp?0:"px";with(this){'+f+'}')};LyrFn('x','if(!isNaN(p))sty.left=p+px;else return parseInt(sty.left)');LyrFn('y','if(!isNaN(p))sty.top=p+px;else return parseInt(sty.top)');LyrFn('w','if(p)(isNS4?sty.clip:sty).width=p+px;else return(isNS4?ref.document.width:ref.offsetWidth)');LyrFn('h','if(p)(isNS4?sty.clip:sty).height=p+px;else return(isNS4?ref.document.height:ref.offsetHeight)');LyrFn('vis','sty.visibility=p');LyrFn('bgColor','if(isNS4)sty.bgColor=p?p:null;else sty.background=p?p:"transparent"');LyrFn('bgImage','if(isNS4)sty.background.src=p?p:null;else sty.background=p?"url("+p+")":"transparent"');LyrFn('clip','if(isNS4)with(sty.clip){left=a[0];top=a[1];right=a[2];bottom=a[3]}else sty.clip="rect("+a[1]+"px "+a[2]+"px "+a[3]+"px "+a[0]+"px)" ');LyrFn('write','if(isNS4)with(ref.document){write(p);close()}else ref.innerHTML=p');LyrFn('alpha','var f=ref.filters,d=(p==null),o=d?"inherit":p/100;if(f){if(!d&&sty.filter.indexOf("alpha")==-1)sty.filter+=" alpha(opacity="+p+")";else if(f.length&&f.alpha)with(f.alpha){if(d)enabled=false;else{opacity=p;enabled=true}}}else if(isDOM)sty.opacity=sty.MozOpacity=o');function setLyr(v,dw,p){if(!setLyr.seq)setLyr.seq=0;if(!dw)dw=0;var o=!p?isNS4?self:d.body:!isNS4&&p.navigator?p.document.body:p,IA='insertAdjacentHTML',AC='appendChild',id='_sl_'+setLyr.seq++;if(o[IA])o[IA]('beforeEnd','<div id="'+id+'" style="position:absolute"></div>');else if(o[AC]){var n=d.createElement('div');o[AC](n);n.id=id;n.style.position='absolute'}else if(isNS4){var n=new Layer(dw,o);id=n.id}var l=getLyr(id,p);with(l)if(ref){vis(v);x(0);y(0);sty.width=dw+(isNS4?0:'px')}return l};if(!self.page)var page={win:self,minW:0,minH:0,MS:isIE&&!isOp,db:d.compatMode&&d.compatMode.indexOf('CSS')>-1?'documentElement':'body'};page.winW=function(){with(this)return Math.max(minW,MS?win.document[db].clientWidth:win.innerWidth)};page.winH=function(){with(this)return Math.max(minH,MS?win.document[db].clientHeight:win.innerHeight)};page.scrollX=function(){with(this)return MS?win.document[db].scrollLeft:win.pageXOffset};page.scrollY=function(){with(this)return MS?win.document[db].scrollTop:win.pageYOffset};page.docW=function(){with(this)return Math.max(minW,isNS4?win.document.width:win.document.offsetWidth)};page.docH=function(){with(this)return Math.max(minH,isNS4?win.document.height:win.document.offsetHeight)};page.elmPos=function(e,p){var x=0,y=0,w=p?p:this.win;e=e?(e.substr?(isNS4?w.document.anchors[e]:getRef(e,w)):e):p;if(isNS4){if(e&&(e!=p)){x=e.x;y=e.y};if(p){x+=p.pageX;y+=p.pageY}}if(e&&this.MS&&navigator.platform.indexOf('Mac')>-1&&e.tagName=='A'){e.onfocus=new Function('with(event){self.tmpX=clientX-offsetX;self.tmpY=clientY-offsetY}');e.focus();x=tmpX;y=tmpY;e.blur()}else while(e){x+=e.offsetLeft;y+=e.offsetTop;e=e.offsetParent}return{x:x,y:y}};function addEvent(o,i,f,c){var l='addEventListener',n='on'+i,b=o[n],a=o.evts=o.evts||[],m=/u=(\d+),r/.exec(b),u=m?parseInt(m[1]):a.length;if(o[l])return o[l](i,f,false);a[u]=a[u]||[];if(!m){if(b)a[u][0]=b;o[n]=new Function('e','e=e||self.event;var u='+u+',r=true,o=this,n="'+n+'",t=n+"TMP",a=o.evts[u];for(var f in a){o[t]=a[f];r=o[t](e)!=false&&r}return r&&isNS4&&'+c+'?o.routeEvent(e):r');if(isNS4&&c)o.captureEvents(Event[i.toUpperCase()])}a[u][a[u].length]=f}function addEvent(o,n,f){var a='addEventListener',h='on'+n;if(o[a])return o[a](n,f,false);if(o[h]){o._c|=0;var b='_b'+(++o._c);o[b]=o[h]}o[h]=function(e){e=e||self.event;var r=true;if(o[b])r=o[b](e)!=false&&r;o._f=f;r=o._f(e)!=false&&r;return r}};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
02: DragResize v1.0 Beta
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
if(typeof addEvent!='function'){var addEvent=function(o,t,f,l){var d='addEventListener',n='on'+t,rO=o,rT=t,rF=f,rL=l;if(o[d]&&!l)return o[d](t,f,false);if(!o._evts)o._evts={};if(!o._evts[t]){o._evts[t]=o[n]?{b:o[n]}:{};o[n]=new Function('e','var r=true,o=this,a=o._evts["'+t+'"],i;for(i in a){o._f=a[i];r=o._f(e||window.event)!=false&&r;o._f=null}return r');if(t!='unload')addEvent(window,'unload',function(){removeEvent(rO,rT,rF,rL)})}if(!f._i)f._i=addEvent._i++;o._evts[t][f._i]=f};addEvent._i=1;var removeEvent=function(o,t,f,l){var d='removeEventListener';if(o[d]&&!l)return o[d](t,f,false);if(o._evts&&o._evts[t]&&f._i)delete o._evts[t][f._i]}}function cancelEvent(e,c){e.returnValue=false;if(e.preventDefault)e.preventDefault();if(c){e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation()}};function DragResize(myName,config){var props={myName:myName,enabled:true,handles:['tl','tm','tr','ml','mr','bl','bm','br'],isElement:null,isHandle:null,element:null,handle:null,minWidth:10,minHeight:10,minLeft:0,maxLeft:9999,minTop:0,maxTop:9999,zIndex:1,mouseX:0,mouseY:0,lastMouseX:0,lastMouseY:0,mOffX:0,mOffY:0,elmX:0,elmY:0,elmW:0,elmH:0,allowBlur:true,ondragfocus:null,ondragstart:null,ondragmove:null,ondragend:null,ondragblur:null};for(var p in props)this[p]=(typeof config[p]=='undefined')?props[p]:config[p]};DragResize.prototype.apply=function(node){var obj=this;addEvent(node,'mousedown',function(e){obj.mouseDown(e)});addEvent(node,'mousemove',function(e){obj.mouseMove(e)});addEvent(node,'mouseup',function(e){obj.mouseUp(e)})};DragResize.prototype.select=function(newElement){with(this){if(!d.getElementById||!enabled)return;if(newElement&&(newElement!=element)&&enabled){element=newElement;element.style.zIndex=++zIndex;if(this.resizeHandleSet)this.resizeHandleSet(element,true);elmX=parseInt(element.style.left);elmY=parseInt(element.style.top);elmW=element.offsetWidth;elmH=element.offsetHeight;if(ondragfocus)this.ondragfocus()}}};DragResize.prototype.deselect=function(delHandles){with(this){if(!d.getElementById||!enabled)return;if(delHandles){if(ondragblur)this.ondragblur();if(this.resizeHandleSet)this.resizeHandleSet(element,false);element=null}handle=null;mOffX=0;mOffY=0}};DragResize.prototype.mouseDown=function(e){with(this){if(!d.getElementById||!enabled)return true;var elm=e.target||e.srcElement,newElement=null,newHandle=null,hRE=new RegExp(myName+'-([trmbl]{2})','');while(elm){if(elm.className){if(!newHandle&&(hRE.test(elm.className)||isHandle(elm)))newHandle=elm;if(isElement(elm)){newElement=elm;break}}elm=elm.parentNode}if(element&&(element!=newElement)&&allowBlur)deselect(true);if(newElement&&(!element||(newElement==element))){if(newHandle)cancelEvent(e);select(newElement,newHandle);handle=newHandle;if(handle&&ondragstart)this.ondragstart(hRE.test(handle.className))}}};DragResize.prototype.mouseMove=function(e){with(this){if(!d.getElementById||!enabled)return true;mouseX=e.pageX||e.clientX+d.documentElement.scrollLeft;mouseY=e.pageY||e.clientY+d.documentElement.scrollTop;var diffX=mouseX-lastMouseX+mOffX;var diffY=mouseY-lastMouseY+mOffY;mOffX=mOffY=0;lastMouseX=mouseX;lastMouseY=mouseY;if(!handle)return true;var isResize=false;if(this.resizeHandleDrag&&this.resizeHandleDrag(diffX,diffY)){isResize=true}else{var dX=diffX,dY=diffY;if(elmX+dX<minLeft)mOffX=(dX-(diffX=minLeft-elmX));else if(elmX+elmW+dX>maxLeft)mOffX=(dX-(diffX=maxLeft-elmX-elmW));if(elmY+dY<minTop)mOffY=(dY-(diffY=minTop-elmY));else if(elmY+elmH+dY>maxTop)mOffY=(dY-(diffY=maxTop-elmY-elmH));elmX+=diffX;elmY+=diffY}with(element.style){left=elmX+'px';width=elmW+'px';top=elmY+'px';height=elmH+'px'}if(window.opera&&d.documentElement){var oDF=d.getElementById('op-drag-fix');if(!oDF){var oDF=d.createElement('input');oDF.id='op-drag-fix';oDF.style.display='none';d.body.appendChild(oDF)}oDF.focus()}if(ondragmove)this.ondragmove(isResize);cancelEvent(e)}};DragResize.prototype.mouseUp=function(e){with(this){if(!d.getElementById||!enabled)return;var hRE=new RegExp(myName+'-([trmbl]{2})','');if(handle&&ondragend)this.ondragend(hRE.test(handle.className));deselect(false)}};DragResize.prototype.resizeHandleSet=function(elm,show){with(this){if(!elm._handle_tr){for(var h=0;h<handles.length;h++){var hDiv=d.createElement('div');hDiv.className=myName+' '+myName+'-'+handles[h];elm['_handle_'+handles[h]]=elm.appendChild(hDiv)}}for(var h=0;h<handles.length;h++){elm['_handle_'+handles[h]].style.visibility=show?'inherit':'hidden'}}};DragResize.prototype.resizeHandleDrag=function(diffX,diffY){with(this){var hClass=handle&&handle.className&&handle.className.match(new RegExp(myName+'-([tmblr]{2})'))?RegExp.$1:'';var dY=diffY,dX=diffX,processed=false;if(hClass.indexOf('t')>=0){rs=1;if(elmH-dY<minHeight)mOffY=(dY-(diffY=elmH-minHeight));else if(elmY+dY<minTop)mOffY=(dY-(diffY=minTop-elmY));elmY+=diffY;elmH-=diffY;processed=true}if(hClass.indexOf('b')>=0){rs=1;if(elmH+dY<minHeight)mOffY=(dY-(diffY=minHeight-elmH));else if(elmY+elmH+dY>maxTop)mOffY=(dY-(diffY=maxTop-elmY-elmH));elmH+=diffY;processed=true}if(hClass.indexOf('l')>=0){rs=1;if(elmW-dX<minWidth)mOffX=(dX-(diffX=elmW-minWidth));else if(elmX+dX<minLeft)mOffX=(dX-(diffX=minLeft-elmX));elmX+=diffX;elmW-=diffX;processed=true}if(hClass.indexOf('r')>=0){rs=1;if(elmW+dX<minWidth)mOffX=(dX-(diffX=minWidth-elmW));else if(elmX+elmW+dX>maxLeft)mOffX=(dX-(diffX=maxLeft-elmX-elmW));elmW+=diffX;processed=true}return processed}};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
03: AddEvent Manager v1.0
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
if(typeof addEvent!='function'){var addEvent=function(o,t,f,l){var d='addEventListener',n='on'+t,rO=o,rT=t,rF=f,rL=l;if(o[d]&&!l)return o[d](t,f,false);if(!o._evts)o._evts={};if(!o._evts[t]){o._evts[t]=o[n]?{b:o[n]}:{};o[n]=new Function('e','var r=true,o=this,a=o._evts["'+t+'"],i;for(i in a){o._f=a[i];r=o._f(e||window.event)!=false&&r;o._f=null}return r');if(t!='unload')addEvent(window,'unload',function(){removeEvent(rO,rT,rF,rL)})}if(!f._i)f._i=addEvent._i++;o._evts[t][f._i]=f};addEvent._i=1;var removeEvent=function(o,t,f,l){var d='removeEventListener';if(o[d]&&!l)return o[d](t,f,false);if(o._evts&&o._evts[t]&&f._i)delete o._evts[t][f._i]}}function cancelEvent(e,c){e.returnValue=false;if(e.preventDefault)e.preventDefault();if(c){e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation()}};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
04: HTMLHttpRequest v1.0 Beta 3
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
if(typeof addEvent!='function'){var addEvent=function(o,t,f,l){var d='addEventListener',n='on'+t,rO=o,rT=t,rF=f,rL=l;if(o[d]&&!l)return o[d](t,f,false);if(!o._evts)o._evts={};if(!o._evts[t]){o._evts[t]=o[n]?{b:o[n]}:{};o[n]=new Function('e','var r=true,o=this,a=o._evts["'+t+'"],i;for(i in a){o._f=a[i];r=o._f(e||window.event)!=false&&r;o._f=null}return r');if(t!='unload')addEvent(window,'unload',function(){removeEvent(rO,rT,rF,rL)})}if(!f._i)f._i=addEvent._i++;o._evts[t][f._i]=f};addEvent._i=1;var removeEvent=function(o,t,f,l){var d='removeEventListener';if(o[d]&&!l)return o[d](t,f,false);if(o._evts&&o._evts[t]&&f._i)delete o._evts[t][f._i]}}function cancelEvent(e,c){e.returnValue=false;if(e.preventDefault)e.preventDefault();if(c){e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation()}};function HTMLHttpRequest(myName,callback){with(this){this.myName=myName;this.callback=callback;this.xmlhttp=null;this.iframe=null;window._ifr_buf_count|=0;this.iframeID='iframebuffer'+window._ifr_buf_count++;this.loadingURI='';if(window.XMLHttpRequest&&!window.ActiveXObject)xmlhttp=new XMLHttpRequest();if(!xmlhttp){if(d.createElement&&d.documentElement&&(window.opera||navigator.userAgent.indexOf('MSIE 5.0')==-1)){var ifr=d.createElement('iframe');ifr.setAttribute('id',iframeID);ifr.setAttribute('name',iframeID);ifr.style.visibility='hidden';ifr.style.position='absolute';ifr.style.width=ifr.style.height=ifr.borderWidth='0px';iframe=d.getElementsByTagName('body')[0].appendChild(ifr)}else if(d.body&&d.body.insertAdjacentHTML){d.body.insertAdjacentHTML('beforeEnd','<iframe name="'+iframeID+'" id="'+iframeID+'" style="display:none"></iframe>')}if(window.frames&&window.frames[iframeID])iframe=window.frames[iframeID];iframe.name=iframeID}return this}};HTMLHttpRequest.prototype.parseForm=function(form){with(this){var str='',gE='getElementsByTagName',inputs=[(form[gE]?form[gE]('input'):form.all?form.all.tags('input'):[]),(form[gE]?form[gE]('select'):form.all?form.all.tags('select'):[]),(form[gE]?form[gE]('textarea'):form.all?form.all.tags('textarea'):[])];for(var i=0;i<inputs.length;i++)for(j=0;j<inputs[i].length;j++)if(inputs[i][j]){var plus='++'.substring(0,1);str+=escape(inputs[i][j].getAttribute('name')).replace(plus,'%2B')+'='+escape(inputs[i][j].value).replace(plus,'%2B')+'&'}return str.substring(0,str.length-1)}};HTMLHttpRequest.prototype.xmlhttpSend=function(uri,formStr){with(this){xmlhttp.open(formStr?'POST':'GET',uri,true);xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){if(callback)callback(xmlhttp.responseXML,xmlhttp.responseText,loadingURI);loadingURI=''}};if(formStr&&xmlhttp.setRequestHeader)xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');if(xmlhttp.overrideMimeType)xmlhttp.overrideMimeType((/\.txt/i).test(uri)?'text/plain':'text/xml');xmlhttp.send(formStr);loadingURI=uri;return true}};HTMLHttpRequest.prototype.iframeSend=function(uri,formRef){with(this){if(!d.readyState)return false;if(d.getElementById)var o=d.getElementById(iframeID).offsetWidth;if(formRef)formRef.setAttribute('target',iframeID);else{var ifrDoc=iframe.contentDocument||iframe.document;if(!window.opera&&ifrDoc.location&&ifrDoc.location.href!=location.href)ifrDoc.location.replace(uri);else iframe.src=uri}loadingURI=uri;setTimeout(myName+'.iframeCheck()',(window.opera?250:100));return true}};HTMLHttpRequest.prototype.iframeCheck=function(){with(this){doc=iframe.contentDocument||iframe.document;var il=iframe.location,dr=doc.readyState;if((il&&il.href?il.href.match(loadingURI.replace("\?","\\?")):1)&&(dr=='complete'||(!d.getElementById&&dr=='interactive'))){var cbDoc=doc.documentElement||doc;if(callback)callback(cbDoc,(cbDoc.innerHTML||(cbDoc.body?cbDoc.body.innerHTML:'')),loadingURI);loadingURI=''}else setTimeout(myName+'.iframeCheck()',50)}};HTMLHttpRequest.prototype.load=function(uri){with(this){if(!uri||(!xmlhttp&&!iframe))return false;if(xmlhttp)return xmlhttpSend(uri,'');else if(iframe)return iframeSend(uri,null);else return false}};HTMLHttpRequest.prototype.submit=function(formRef,evt){with(this){evt=evt||window.event;if(!formRef||(!xmlhttp&&!iframe))return false;var method=formRef.getAttribute('method'),uri=formRef.getAttribute('action');if(method&&method.toLowerCase()=='post'){if(xmlhttp){cancelEvent(evt);return xmlhttpSend(uri,parseForm(formRef))}else if(iframe)return iframeSend(uri,formRef);else return false}else{cancelEvent(evt);return load(uri+(uri.indexOf('?')==-1?'?':'&')+parseForm(formRef))}}};function RemoteFileLoader(myName){this.myName=myName;this.threads=[];this.loadingIDs={};this.onload=null};RemoteFileLoader.prototype.getThread=function(destId){with(this){var thr=-1;for(var id in loadingIDs){if(id==destId){thr=loadingIDs[id];break}}if(thr==-1)for(var t=0;t<threads.length;t++){if(!threads[t].loadingURI){thr=t;break}}if(thr==-1){thr=threads.length;threads[thr]=new HTMLHttpRequest(myName+'.threads['+thr+']',null);loadingIDs[destId]=thr}threads[thr].callback=new Function('doc','text','uri','with('+myName+'){copyContent(doc,text,"'+destId+'");if(onload)onload(doc,uri,"'+destId+'")}');return threads[thr]}};RemoteFileLoader.prototype.loadInto=function(uri,destId){return this.getThread(destId).load(uri)};RemoteFileLoader.prototype.submitInto=function(formRef,destId,event){return this.getThread(destId).submit(formRef,event)};RemoteFileLoader.prototype.copyContent=function(docDOM,docText,destId){var src=docDOM?(docDOM.getElementsByTagName?docDOM.getElementsByTagName('body')[0]:(docDOM.body?docDOM.body:null)):null;var dest=d.getElementById?d.getElementById(destId):(d.all?d.all[destId]:null);if(!dest||(!src&&!docText))return;if(src&&src.innerHTML)dest.innerHTML=src.innerHTML;else if(src&&d.importNode){while(dest.firstChild)dest.removeChild(dest.firstChild);for(var i=0;i<src.childNodes.length;i++)dest.appendChild(d.importNode(src.childNodes.item(i),true))}else if(docText){if(docText.match(/(<body>)(.*)(<\/body>)/i))docText=RegExp.$2;dest.innerHTML=docText}};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
05: FreeStyle Menus v1.0 RC-11
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function getRef(i,p){p=!p?document:p.navigator?p.document:p;return isIE?p.all[i]:isDOM?(p.getElementById?p:p.ownerDocument).getElementById(i):isNS4?p.layers[i]:null};function getSty(i,p){var r=getRef(i,p);return r?isNS4?r:r.style:null};if(!self.LayerObj)var LayerObj=new Function('i','p','this.ref=getRef(i,p);this.sty=getSty(i,p);return this');function getLyr(i,p){return new LayerObj(i,p)};function LyrFn(n,f){LayerObj.prototype[n]=new Function('var a=arguments,p=a[0],px=isNS4||isOp?0:"px";with(this){'+f+'}')};LyrFn('x','if(!isNaN(p))sty.left=p+px;else return parseInt(sty.left)');LyrFn('y','if(!isNaN(p))sty.top=p+px;else return parseInt(sty.top)');if(typeof addEvent!='function'){var addEvent=function(o,t,f,l){var d='addEventListener',n='on'+t,rO=o,rT=t,rF=f,rL=l;if(o[d]&&!l)return o[d](t,f,false);if(!o._evts)o._evts={};if(!o._evts[t]){o._evts[t]=o[n]?{b:o[n]}:{};o[n]=new Function('e','var r=true,o=this,a=o._evts["'+t+'"],i;for(i in a){o._f=a[i];r=o._f(e||window.event)!=false&&r;o._f=null}return r');if(t!='unload')addEvent(window,'unload',function(){removeEvent(rO,rT,rF,rL)})}if(!f._i)f._i=addEvent._i++;o._evts[t][f._i]=f};addEvent._i=1;var removeEvent=function(o,t,f,l){var d='removeEventListener';if(o[d]&&!l)return o[d](t,f,false);if(o._evts&&o._evts[t]&&f._i)delete o._evts[t][f._i]}}function FSMenu(myName,nested,cssProp,cssVis,cssHid){this.myName=myName;this.nested=nested;this.cssProp=cssProp;this.cssVis=cssVis;this.cssHid=cssHid;this.cssLitClass='highlighted';this.menus={root:new FSMenuNode('root',true,this)};this.menuToShow=[];this.mtsTimer=null;this.showDelay=0;this.switchDelay=125;this.hideDelay=500;this.showOnClick=0;this.hideOnClick=true;this.animInSpeed=0.2;this.animOutSpeed=0.2;this.animations=[]};FSMenu.prototype.show=function(mN){with(this){menuToShow.length=arguments.length;for(var i=0;i<arguments.length;i++)menuToShow[i]=arguments[i];clearTimeout(mtsTimer);if(!nested)mtsTimer=setTimeout(myName+'.menus.root.over()',10)}};FSMenu.prototype.hide=function(mN){with(this){clearTimeout(mtsTimer);if(menus[mN])menus[mN].out()}};FSMenu.prototype.hideAll=function(){with(this){for(var m in menus)if(menus[m].visible&&!menus[m].isRoot)menus[m].hide(true)}};function FSMenuNode(id,isRoot,obj){this.id=id;this.isRoot=isRoot;this.obj=obj;this.lyr=this.child=this.par=this.timer=this.visible=null;this.args=[];var node=this;this.over=function(evt){with(node)with(obj){if(isNS4&&evt&&lyr.ref)lyr.ref.routeEvent(evt);clearTimeout(timer);clearTimeout(mtsTimer);if(!isRoot&&!visible)node.show();if(menuToShow.length){var a=menuToShow,m=a[0];if(!menus[m]||!menus[m].lyr.ref)menus[m]=new FSMenuNode(m,false,obj);var c=menus[m];if(c==node){menuToShow.length=0;return}clearTimeout(c.timer);if(c!=child&&c.lyr.ref){c.args.length=a.length;for(var i=0;i<a.length;i++)c.args[i]=a[i];var delay=child?switchDelay:showDelay;c.timer=setTimeout('with('+myName+'){menus["'+c.id+'"].par=menus["'+node.id+'"];menus["'+c.id+'"].show()}',delay?delay:1)}menuToShow.length=0}if(!nested&&par)par.over()}};this.out=function(evt){with(node)with(obj){if(isNS4&&evt&&lyr&&lyr.ref)lyr.ref.routeEvent(evt);clearTimeout(timer);if(!isRoot&&hideDelay>=0){timer=setTimeout(myName+'.menus["'+id+'"].hide()',hideDelay);if(!nested&&par)par.out()}}};if(this.id!='root')with(this)with(lyr=getLyr(id))if(ref){if(isNS4)ref.captureEvents(Event.MOUSEOVER|Event.MOUSEOUT);addEvent(ref,'mouseover',this.over);addEvent(ref,'mouseout',this.out);if(obj.nested){addEvent(ref,'focus',this.over);addEvent(ref,'click',this.over);addEvent(ref,'blur',this.out)}}};FSMenuNode.prototype.show=function(forced){with(this)with(obj){if(!lyr||!lyr.ref)return;if(par){if(par.child&&par.child!=this)par.child.hide();par.child=this}var offR=args[1],offX=args[2],offY=args[3],lX=0,lY=0,doX=''+offX!='undefined',doY=''+offY!='undefined';if(self.page&&offR&&(doX||doY)){with(page.elmPos(offR,par.lyr?par.lyr.ref:0))lX=x,lY=y;if(doX)lyr.x(lX+eval(offX));if(doY)lyr.y(lY+eval(offY))}if(offR)lightParent(offR,1);visible=1;if(obj.onshow)obj.onshow(id);lyr.ref.parentNode.style.zIndex='2';setVis(1,forced)}};FSMenuNode.prototype.hide=function(forced){with(this)with(obj){if(!lyr||!lyr.ref||!visible)return;if(isNS4&&self.isMouseIn&&isMouseIn(lyr.ref))return show();if(args[1])lightParent(args[1],0);if(child)child.hide();if(par&&par.child==this)par.child=null;if(lyr){visible=0;if(obj.onhide)obj.onhide(id);lyr.ref.parentNode.style.zIndex='1';setVis(0,forced)}}};FSMenuNode.prototype.lightParent=function(elm,lit){with(this)with(obj){if(!cssLitClass||isNS4)return;if(lit)elm.className+=(elm.className?' ':'')+cssLitClass;else elm.className=elm.className.replace(new RegExp('(\\s*'+cssLitClass+')+$'),'')}};FSMenuNode.prototype.setVis=function(sh,forced){with(this)with(obj){if(lyr.forced&&!forced)return;lyr.forced=forced;lyr.timer=lyr.timer||0;lyr.counter=lyr.counter||0;with(lyr){clearTimeout(timer);if(sh&&!counter)sty[cssProp]=cssVis;var speed=sh?animInSpeed:animOutSpeed;if(isDOM&&speed<1)for(var a=0;a<animations.length;a++)animations[a](ref,counter,sh);counter+=speed*(sh?1:-1);if(counter>1){counter=1;lyr.forced=false}else if(counter<0){counter=0;sty[cssProp]=cssHid;lyr.forced=false}else if(isDOM){timer=setTimeout(myName+'.menus["'+id+'"].setVis('+sh+','+forced+')',50)}}}};FSMenu.animSwipeDown=function(ref,counter,show){if(show&&(counter==0)){ref._fsm_styT=ref.style.top;ref._fsm_styMT=ref.style.marginTop;ref._fsm_offT=ref.offsetTop||0}var cP=Math.pow(Math.sin(Math.PI*counter/2),0.75);var clipY=ref.offsetHeight*(1-cP);ref.style.clip=(counter==1?((window.opera||navigator.userAgent.indexOf('KHTML')>-1)?'':'rect(auto,auto,auto,auto)'):'rect('+clipY+'px,'+ref.offsetWidth+'px,'+ref.offsetHeight+'px,0)');if(counter==1||(counter<0.01&&!show)){ref.style.top=ref._fsm_styT;ref.style.marginTop=ref._fsm_styMT}else{ref.style.top=((0-clipY)+(ref._fsm_offT))+'px';ref.style.marginTop='0'}};FSMenu.animFade=function(ref,counter,show){var done=(counter==1);if(ref.filters){var alpha=!done?' alpha(opacity='+parseInt(counter*100)+')':'';if(ref.style.filter.indexOf("alpha")==-1)ref.style.filter+=alpha;else ref.style.filter=ref.style.filter.replace(/\s*alpha\([^\)]*\)/i,alpha)}else ref.style.opacity=ref.style.MozOpacity=counter/1.001};FSMenu.animClipDown=function(ref,counter,show){var cP=Math.pow(Math.sin(Math.PI*counter/2),0.75);ref.style.clip=(counter==1?((window.opera||navigator.userAgent.indexOf('KHTML')>-1)?'':'rect(auto,auto,auto,auto)'):'rect(0,'+ref.offsetWidth+'px,'+(ref.offsetHeight*cP)+'px,0)')};FSMenu.prototype.activateMenu=function(id,subInd){with(this){if(!isDOM||!d.documentElement)return;var fsmFB=getRef('fsmenu-fallback');if(fsmFB){fsmFB.rel='alternate stylesheet';fsmFB.disabled=true}var a,ul,li,parUL,mRoot=getRef(id),nodes,count=1;var lists=mRoot.getElementsByTagName('ul');for(var i=0;i<lists.length;i++){li=ul=lists[i];while(li){if(li.nodeName.toLowerCase()=='li')break;li=li.parentNode}if(!li)continue;parUL=li;while(parUL){if(parUL.nodeName.toLowerCase()=='ul')break;parUL=parUL.parentNode}a=null;for(var j=0;j<li.childNodes.length;j++)if(li.childNodes[j].nodeName.toLowerCase()=='a')a=li.childNodes[j];if(!a)continue;var menuID=myName+'-id-'+count++;if(ul.id)menuID=ul.id;else ul.setAttribute('id',menuID);var sOC=(showOnClick==1&&li.parentNode==mRoot)||(showOnClick==2);var evtProp=navigator.userAgent.indexOf('Safari')>-1||isOp?'safRtnVal':'returnValue';var eShow=new Function('with('+myName+'){var m=menus["'+menuID+'"],pM=menus["'+parUL.id+'"];'+(sOC?'if((pM&&pM.child)||(m&&m.visible))':'')+' show("'+menuID+'",this)}');var eHide=new Function('e','if(e.'+evtProp+'!=false)'+myName+'.hide("'+menuID+'")');addEvent(a,'mouseover',eShow);addEvent(a,'focus',eShow);addEvent(a,'mouseout',eHide);addEvent(a,'blur',eHide);if(sOC)addEvent(a,'click',new Function('e',myName+'.show("'+menuID+'",this);if(e.cancelable&&e.preventDefault)e.preventDefault();e.'+evtProp+'=false;return false'));if(subInd)a.insertBefore(subInd.cloneNode(true),a.firstChild)}if(isIE&&!isOp){var aNodes=mRoot.getElementsByTagName('a');for(var i=0;i<aNodes.length;i++){addEvent(aNodes[i],'focus',new Function('e','var node=this.parentNode;while(node){if(node.onfocus)node.onfocus(e);node=node.parentNode}'));addEvent(aNodes[i],'blur',new Function('e','var node=this.parentNode;while(node){if(node.onblur)node.onblur(e);node=node.parentNode}'))}}if(hideOnClick)addEvent(mRoot,'click',new Function(myName+'.hideAll()'));menus[id]=new FSMenuNode(id,true,this)}};var page={win:self,minW:0,minH:0,MS:isIE&&!isOp,db:d.compatMode&&d.compatMode.indexOf('CSS')>-1?'documentElement':'body'};page.elmPos=function(e,p){var x=0,y=0,w=p?p:this.win;e=e?(e.substr?(isNS4?w.document.anchors[e]:getRef(e,w)):e):p;if(isNS4){if(e&&(e!=p)){x=e.x;y=e.y};if(p){x+=p.pageX;y+=p.pageY}}if(e&&this.MS&&navigator.platform.indexOf('Mac')>-1&&e.tagName=='A'){e.onfocus=new Function('with(event){self.tmpX=clientX-offsetX;self.tmpY=clientY-offsetY}');e.focus();x=tmpX;y=tmpY;e.blur()}else while(e){x+=e.offsetLeft;y+=e.offsetTop;e=e.offsetParent}return{x:x,y:y}};if(isNS4){var fsmMouseX,fsmMouseY,fsmOR=self.onresize,nsWinW=innerWidth,nsWinH=innerHeight;d.fsmMM=d.onmousemove;self.onresize=function(){if(fsmOR)fsmOR();if(nsWinW!=innerWidth||nsWinH!=innerHeight)location.reload()};d.captureEvents(Event.MOUSEMOVE);d.onmousemove=function(e){fsmMouseX=e.pageX;fsmMouseY=e.pageY;return d.fsmMM?d.fsmMM(e):d.routeEvent(e)};function isMouseIn(sty){with(sty)return((fsmMouseX>left)&&(fsmMouseX<left+clip.width)&&(fsmMouseY>top)&&(fsmMouseY<top+clip.height))}}

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
06: SuperNote v1.0 Beta 2
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
if(typeof addEvent!='function'){var addEvent=function(o,t,f,l){var d='addEventListener',n='on'+t,rO=o,rT=t,rF=f,rL=l;if(o[d]&&!l)return o[d](t,f,false);if(!o._evts)o._evts={};if(!o._evts[t]){o._evts[t]=o[n]?{b:o[n]}:{};o[n]=new Function('e','var r=true,o=this,a=o._evts["'+t+'"],i;for(i in a){o._f=a[i];r=o._f(e||window.event)!=false&&r;o._f=null}return r');if(t!='unload')addEvent(window,'unload',function(){removeEvent(rO,rT,rF,rL)})}if(!f._i)f._i=addEvent._i++;o._evts[t][f._i]=f};addEvent._i=1;var removeEvent=function(o,t,f,l){var d='removeEventListener';if(o[d]&&!l)return o[d](t,f,false);if(o._evts&&o._evts[t]&&f._i)delete o._evts[t][f._i]}}function cancelEvent(e,c){e.returnValue=false;if(e.preventDefault)e.preventDefault();if(c){e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation()}};function SuperNote(myName,config){var defaults={myName:myName,allowNesting:false,cssProp:'visibility',cssVis:'inherit',cssHid:'hidden',IESelectBoxFix:true,showDelay:0,hideDelay:500,animInSpeed:0.1,animOutSpeed:0.1,animations:[],mouseX:0,mouseY:0,notes:{},rootElm:null,onshow:null,onhide:null};for(var p in defaults)this[p]=(typeof config[p]=='undefined')?defaults[p]:config[p];var obj=this;addEvent(document,'mouseover',function(evt){obj.mouseHandler(evt,1)});addEvent(document,'click',function(evt){obj.mouseHandler(evt,2)});addEvent(document,'mousemove',function(evt){obj.mouseTrack(evt)});addEvent(document,'mouseout',function(evt){obj.mouseHandler(evt,0)});this.instance=SuperNote.instances.length;SuperNote.instances[this.instance]=this}SuperNote.instances=[];SuperNote.prototype.bTypes={};SuperNote.prototype.pTypes={};SuperNote.prototype.pTypes.mouseoffset=function(obj,noteID,nextVis,nextAnim){with(obj){var note=notes[noteID];if(nextVis&&!note.animating&&!note.visible){note.ref.style.left=checkWinX(mouseX,note)+'px';note.ref.style.top=checkWinY(mouseY,note)+'px'}}};SuperNote.prototype.pTypes.mousetrack=function(obj,noteID,nextVis,nextAnim){with(obj){var note=notes[noteID];if(nextVis&&!note.animating&&!note.visible){var posString='with('+myName+'){var note=notes["'+noteID+'"];note.ref.style.left=checkWinX(mouseX,note)+"px";note.ref.style.top=checkWinY(mouseY,note)+"px"}';eval(posString);obj.IEFrameFix(noteID,1);if(!note.trackTimer)note.trackTimer=setInterval(posString,50)}else if(!nextVis&&!nextAnim){clearInterval(note.trackTimer);note.trackTimer=null}}};SuperNote.prototype.pTypes.triggeroffset=function(obj,noteID,nextVis,nextAnim){with(obj){var note=notes[noteID];if(nextVis&&!note.animating&&!note.visible){var x=0,y=0,elm=note.trigRef;while(elm){x+=elm.offsetLeft;y+=elm.offsetTop;elm=elm.offsetParent}note.ref.style.left=checkWinX(x,note)+'px';note.ref.style.top=checkWinY(y,note)+'px'}}};SuperNote.prototype.bTypes.pinned=function(obj,noteID,nextVis){with(obj){return(!nextVis)?false:true}};SuperNote.prototype.docBody=function(){return document[(d.compatMode&&d.compatMode.indexOf('CSS')>-1)?'documentElement':'body']};SuperNote.prototype.getWinW=function(){return this.docBody().clientWidth||window.innerWidth||0};SuperNote.prototype.getWinH=function(){return this.docBody().clientHeight||window.innerHeight||0};SuperNote.prototype.getScrX=function(){return this.docBody().scrollLeft||window.scrollX||0};SuperNote.prototype.getScrY=function(){return this.docBody().scrollTop||window.scrollY||0};SuperNote.prototype.checkWinX=function(newX,note){with(this){return Math.max(getScrX(),Math.min(newX,getScrX()+getWinW()-note.ref.offsetWidth-8))}};SuperNote.prototype.checkWinY=function(newY,note){with(this){return Math.max(getScrY(),Math.min(newY,getScrY()+getWinH()-note.ref.offsetHeight-8))}};SuperNote.prototype.mouseTrack=function(evt){with(this){mouseX=evt.pageX||evt.clientX+getScrX()||0;mouseY=evt.pageY||evt.clientY+getScrY()||0}};SuperNote.prototype.mouseHandler=function(evt,show){with(this){if(!d.documentElement)return true;var srcElm=evt.target||evt.srcElement,trigRE=new RegExp(myName+'-(hover|click)-([a-z0-9]+)','i'),targRE=new RegExp(myName+'-(note)-([a-z0-9]+)','i'),trigFind=1,foundNotes={};if(srcElm.nodeType!=1)srcElm=srcElm.parentNode;var elm=srcElm;while(elm&&elm!=rootElm){if(targRE.test(elm.id)||(trigFind&&trigRE.test(elm.className))){if(!allowNesting)trigFind=0;var click=RegExp.$1=='click'?1:0,noteID=RegExp.$2,ref=d.getElementById(myName+'-note-'+noteID),trigRef=trigRE.test(elm.className)?elm:null;if(ref){if(!notes[noteID]){notes[noteID]={click:click,ref:ref,trigRef:null,visible:0,animating:0,timer:null};ref._sn_obj=this;ref._sn_id=noteID}var note=notes[noteID];if(!note.click||(trigRef!=srcElm))foundNotes[noteID]=true;if(!note.click||(show==2)){if(trigRef)notes[noteID].trigRef=notes[noteID].ref._sn_trig=elm;display(noteID,show);if(note.click&&(srcElm==trigRef))cancelEvent(evt)}}}if(elm._sn_trig){trigFind=1;elm=elm._sn_trig}else{elm=elm.parentNode}}if(show==2)for(var n in notes){if(notes[n].click&&notes[n].visible&&!foundNotes[n])display(n,0)}}};SuperNote.prototype.display=function(noteID,show){with(this){with(notes[noteID]){clearTimeout(timer);if(!animating||(show?!visible:visible)){var tmt=animating?1:(show?showDelay||1:hideDelay||1);timer=setTimeout('SuperNote.instances['+instance+'].setVis("'+noteID+'",'+show+',false)',tmt)}}}};SuperNote.prototype.checkType=function(noteID,nextVis,nextAnim){with(this){var note=notes[noteID],bType,pType;if((/snp-([a-z]+)/).test(note.ref.className))pType=RegExp.$1;if((/snb-([a-z]+)/).test(note.ref.className))bType=RegExp.$1;if(nextAnim&&bType&&bTypes[bType]&&(bTypes[bType](this,noteID,nextVis)==false))return false;if(pType&&pTypes[pType])pTypes[pType](this,noteID,nextVis,nextAnim);return true}};SuperNote.prototype.setVis=function(noteID,show,now){with(this){var note=notes[noteID];if(note&&checkType(noteID,show,1)||now){note.visible=show;note.animating=1;animate(noteID,show,now)}}};SuperNote.prototype.animate=function(noteID,show,now){with(this){var note=notes[noteID];if(!note.animTimer)note.animTimer=0;if(!note.animC)note.animC=0;with(note){clearTimeout(animTimer);var speed=(animations.length&&!now)?(show?animInSpeed:animOutSpeed):1;if(show&&!animC){if(onshow)this.onshow(noteID);IEFrameFix(noteID,1);ref.style[cssProp]=cssVis}animC=Math.max(0,Math.min(1,animC+speed*(show?1:-1)));if(d.getElementById&&speed<1)for(var a=0;a<animations.length;a++)animations[a](ref,animC);if(!show&&!animC){if(onhide)this.onhide(noteID);IEFrameFix(noteID,0);ref.style[cssProp]=cssHid}if(animC!=parseInt(animC)){animTimer=setTimeout(myName+'.animate("'+noteID+'",'+show+')',50)}else{checkType(noteID,animC?1:0,0);note.animating=0}}}};SuperNote.prototype.IEFrameFix=function(noteID,show){with(this){if(!window.createPopup||!IESelectBoxFix)return;var note=notes[noteID],ifr=note.iframe;if(!ifr){ifr=notes[noteID].iframe=d.createElement('iframe');ifr.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity=0)';ifr.style.position='absolute';ifr.style.borderWidth='0';note.ref.parentNode.insertBefore(ifr,note.ref.parentNode.firstChild)}if(show){ifr.style.left=note.ref.offsetLeft+'px';ifr.style.top=note.ref.offsetTop+'px';ifr.style.width=note.ref.offsetWidth+'px';ifr.style.height=note.ref.offsetHeight+'px';ifr.style.visibility='inherit'}else{ifr.style.visibility='hidden'}}};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
07: CheckTree v1.0 RC
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function CheckTree(myName){this.myName=myName;this.root=null;this.countAllLevels=false;this.checkFormat='(%n% checked)';this.evtProcessed=navigator.userAgent.indexOf('Safari')>-1?'safRtnVal':'returnValue';CheckTree.list[myName]=this};CheckTree.list={};CheckTree.prototype.init=function(){with(this){if(!d.getElementById)return;root=d.getElementById('tree-'+myName);if(root){var lists=root.getElementsByTagName('ul');for(var ul=0;ul<lists.length;ul++){lists[ul].style.display='none';lists[ul].treeObj=this;lists[ul].setBoxStates=setBoxStates;var fn=new Function('e','this.setBoxStates(e)');if(lists[ul].addEventListener&&navigator.vendor!='Apple Computer,Inc.'){lists[ul].addEventListener('click',fn,false)}else lists[ul].onclick=fn}root.treeObj=this;root.setBoxStates=setBoxStates;if(root.addEventListener&&navigator.vendor!='Apple Computer,Inc.'){root.addEventListener('click',new Function('e',myName+'.click(e)'),false)}else root.onclick=new Function('e',myName+'.click(e)');root.setBoxStates({},true,true);var nodes=root.getElementsByTagName('li');for(var li=0;li<nodes.length;li++){if(nodes[li].id.match(/^show-/)){nodes[li].className=(nodes[li].className=='last'?'plus-last':'plus')}}}}};CheckTree.prototype.click=function(e){with(this){e=e||window.event;var elm=e.srcElement||e.target;if(!e[evtProcessed]&&elm.id&&elm.id.match(/^check-(.*)/)){var tree=d.getElementById('tree-'+RegExp.$1);if(tree)tree.setBoxStates(e,true,false)}while(elm){if(elm.tagName.match(/^(input|ul)/i))break;if(elm.id&&elm.id.match(/^show-(.*)/)){var targ=d.getElementById('tree-'+RegExp.$1);if(targ.style){var col=(targ.style.display=='none');targ.style.display=col?'block':'none';elm.className=elm.className.replace(col?'plus':'minus',col?'minus':'plus')}break}elm=elm.parentNode}}};function setBoxStates(e,routingDown,countOnly){with(this){if(!this.childNodes)return;e=e||window.event;var elm=e.srcElement||e.target;if(elm&&elm.id&&elm.id.match(/^check-(.*)/)&&!routingDown&&!e[treeObj.evtProcessed]){var refTree=d.getElementById('tree-'+RegExp.$1);if(refTree){refTree.setBoxStates(e,true,countOnly);e[treeObj.evtProcessed]=true}}var allChecked=true,boxCount=0,subBoxes=null;var thisLevel=this.id.match(/^tree-(.*)/)[1];var parBox=d.getElementById('check-'+thisLevel);for(var li=0;li<childNodes.length;li++){for(var tag=0;tag<childNodes[li].childNodes.length;tag++){var child=childNodes[li].childNodes[tag];if(!child)continue;if(child.tagName&&child.type&&child.tagName.match(/^input/i)&&child.type.match(/^checkbox/i)){if(routingDown&&parBox&&elm&&elm.id&&elm.id.match(/^check-/)&&!countOnly)child.checked=parBox.checked;allChecked&=child.checked;if(child.checked)boxCount++}if(child.tagName&&child.tagName.match(/^ul/i)&&(!e[treeObj.evtProcessed]||routingDown))child.setBoxStates(e,true,countOnly)}}if(!routingDown)e[treeObj.evtProcessed]=true;if(parBox&&parBox!=elm&&!countOnly)parBox.checked=allChecked;if(treeObj.countAllLevels){boxCount=0;var subBoxes=this.getElementsByTagName('input');for(var i=0;i<subBoxes.length;i++)if(subBoxes[i].checked)boxCount++}var countElm=d.getElementById('count-'+thisLevel);if(countElm){while(countElm.firstChild)countElm.removeChild(countElm.firstChild);if(boxCount)countElm.appendChild(d.createTextNode(treeObj.checkFormat.replace('%n%',boxCount)))}}};var chtOldOL=window.onload;window.onload=function(){if(chtOldOL)chtOldOL();for(var i in CheckTree.list)CheckTree.list[i].init()};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
08: Image Cycler v2.0
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function imgCycle(dir){with(this){stop();currImg+=dir;currImg=currImg % data.length;if(currImg<0)currImg+=data.length;var imgRef=parLyr.document.images[myName+'Img'];var f=imgRef.filters;if(f&&f.length&&f[0])f[0].Apply();imgRef.src=data[currImg].src;if(f&&f.length&&f[0])f[0].Play()}};function imgPlay(){with(this){cycle(1);timer=setTimeout(myName+'.play()',delay)}};function imgStop(){clearTimeout(this.timer);this.timer=null};function ImageCycle(myName,delay,parLyr){this.myName=myName;this.delay=delay;this.timer=0;this.parLyr=(d.layers&&parLyr?eval(parLyr):window);this.currImg=0;this.data=new Array();for(var i=3;i<arguments.length;i++){this.data[i-3]=new Image();this.data[i-3].src=arguments[i]}this.cycle=imgCycle;this.play=imgPlay;this.stop=imgStop};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
09: DHTML Scroller v4.0 RC2
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/

if(!self.page)var page={win:self,minW:0,minH:0,MS:isIE&&!isOp};page.db=function(p){with(this.win.document)return(isDOM?documentElement[p]:0)||body[p]||0};page.winW=function(){with(this)return Math.max(minW,MS?db('clientWidth'):win.innerWidth)};page.winH=function(){with(this)return Math.max(minH,MS?db('clientHeight'):win.innerHeight)};page.scrollY=function(){with(this)return MS?db('scrollTop'):win.pageYOffset};page.elmPos=function(e,p){var x=0,y=0,w=p?p:this.win;e=e?(e.substr?(isNS4?w.d.anchors[e]:getRef(e,w)):e):p;if(isNS4){if(e&&(e!=p)){x=e.x;y=e.y};if(p){x+=p.pageX;y+=p.pageY}}if(e&&this.MS&&navigator.platform.indexOf('Mac')>-1&&e.tagName=='A'){e.onfocus=new Function('with(event){self.tmpX=clientX-offsetX;self.tmpY=clientY-offsetY}');e.focus();x=tmpX;y=tmpY;e.blur()}else while(e){x+=e.offsetLeft;y+=e.offsetTop;e=e.offsetParent}return{x:x,y:y}};function addProps(obj,data,names,addNull){for(var i=0;i<names.length;i++)if(i<data.length||addNull)obj[names[i]]=data[i]};function ScrDiv(){addProps(this,arguments,['id','x','y','w','h','v','par','lyr'],true)};function DHTMLScroller(){var names=['myName','loadingFile','loadedFile','loadedHTML','bookmark','buf','div','bar','thm','loaded','timer','loadFix','noXFrame','divHeight','thmHeight','barHeight','cHeight','cWidth','dragOffset','onbeforeload','onload','onscroll','onsetup','onlayout','onthumbdown','onthumbup'];addProps(this,arguments,names,true);this.cTop=0;this.history=new Array();this.histPos=-1;this.divs=new Array();this.minThmHeight=20;this.maxThmHeight=9999;this.padTop=this.padBot=0;this.checkBounds=true;this.ySpeed=this.stepsLeft=0;this.stick=1;this.stickTop=0;DHTMLScroller.list[this.myName]=this};DHTMLScroller.list={};var activeScr=null;var DsPt=DHTMLScroller.prototype;DsPt.load=function(fName){with(this){if(!fName||fName=='#'||!loaded||!isDyn)return;if(fName.match(/^(.*)#(.*)$/)){var r=RegExp;bookmark=r.$2;if(!r.$1||r.$1==loadedFile){fileLoaded();return}fName=r.$1}else bookmark='';loadingFile=fName;if(onbeforeload)onbeforeload();if(fName!=history[histPos]){histPos++;history[histPos]=fName;history.length=histPos+1}if(isOp&&!d.documentElement){fileLoaded();return}if(isIE||isDOM)with(isOp?getRef(myName+'Buf').contentDocument:buf.document){if(d.readyState){location.href=fName;setTimeout(myName+'.checkState()',100)}else{write('<html><body onload="setTimeout(\'parent.'+myName+'.swapContent()\',100)"><iframe name="nestBuf" src="'+fName+'"></iframe></body></html>');close();if(!buf.nestBuf){buf.location.href=fName;setTimeout(myName+'.swapContent()',5000)}}}else if(isNS4){if(window.ns4LayerLoading){setTimeout(myName+'.load("'+fName+'")',100);return}window.ns4LayerLoading=true;div.ref.onload=new Function(myName+'.fileLoaded()');div.ref.load(fName,eval(divs[0].w))}return}};DsPt.checkState=function(){with(this){var b=isOp?getRef(myName+'Buf').contentDocument:buf.document;if(b.location.href!='about:blank'&&b.readyState=='complete')swapContent();else setTimeout(myName+'.checkState()',50)}};DsPt.swapContent=function(){with(this){var bufDoc=buf.nestBuf?buf.nestBuf.document:buf.document;if(bufDoc&&bufDoc.body){loadedHTML=bufDoc.body.innerHTML;buf.location.replace('about:blank');setTimeout('with('+myName+'){div.ref.innerHTML=loadedHTML;setTimeout("'+myName+'.fileLoaded()",100)}',1)}}};DsPt.fileLoaded=function(){with(this){activeScr=null;if(isNS4){window.ns4LayerLoading=false;var tags=div.ref.d.links;for(var i in tags){tags[i].scrOC=tags[i].onclick;tags[i].onclick=new Function('return(!(this.scrOC?this.scrOC()==false:0))&&'+myName+'.checkURI(this.href)')}}loadedFile=loadingFile;var xfr='',DSL=DHTMLScroller.list;for(var s in DSL)if(!DSL[s].noXFrame&&DSL[s].loadedFile)xfr+=','+DSL[s].myName+'='+DSL[s].loadedFile;if(xfr&&isIE&&!noXFrame&&location.search.indexOf('frames(')<0)location.hash='frames('+xfr.substring(1)+')';layout();var newPos=0;if(isDOM)bookmark=d.getElementsByName(bookmark)[0];if(bookmark){newPos=page.elmPos(bookmark,div.ref).y;if(newPos)newPos-=page.elmPos(null,div.ref).y}scrollTo(newPos);if(onload)onload()}};DsPt.go=function(dir){with(this){histPos+=dir;if(histPos<0){histPos=0;return}if(histPos>=history.length){histPos=history.length-1;return}load(history[histPos])}};DsPt.checkURI=function(uri){with(this){if(uri&&(uri.indexOf(':')<0||uri.match(new RegExp(location.hostname?'^(file|http.?):\/\/[^\/]*'+location.hostname:'^file:')))){var hashPos=location.href.indexOf('#');if(hashPos==-1)hashPos=9999;var locPath=location.href.substring(0,hashPos),r=RegExp;if(uri.match(/(.*)#(.*)/)&&(!r.$1||locPath==r.$1)){if(r.$2)load('#'+r.$2)}else load(uri);return false}return true}};DsPt.scrollTo=function(pos,isStick){with(this){if(!isDyn||!loaded)return;cTop=pos;if(!isStick)stickTop=cTop;divHeight=div.h()+padTop+padBot;if(divHeight==0)divHeight=1;if(checkBounds){if(cTop+cHeight>divHeight)cTop=divHeight-cHeight;if(cTop<0)cTop=0}div.y(0-cTop+padTop);thmHeight=Math.ceil(barHeight*(cHeight/divHeight));with(Math)thmHeight=min(barHeight,min(maxThmHeight,max(thmHeight,minThmHeight)));thm.h(thmHeight);if(onscroll)onscroll();if(activeScr||isStick)return;var fracDivDown=(cTop/(divHeight-cHeight));thm.y(bar.y()+fracDivDown*(barHeight-thmHeight))}};DsPt.scrollBy=function(amount){with(this){scrollTo(cTop+amount)}};DsPt.setScroll=function(newSpeed,steps){with(this){if(!loaded)return;stepsLeft=steps;if(timer)clearInterval(timer);timer=setInterval('with('+myName+'){if(stepsLeft>0){ySpeed+='+((newSpeed-ySpeed)/steps)+';stepsLeft--}else if(parseInt(ySpeed)==0){clearInterval(timer);timer=null}scrollBy(ySpeed)}',50)}};DsPt.thumbDown=function(evt){with(this){var evt=evt?evt:window.event;activeScr=this;dragOffset=(isNS4?evt.pageY:page.scrollY()+evt.clientY)-thm.y();if(onthumbdown)onthumbdown();if(timer)clearInterval(timer);timer=null;return false}};window.scrThumbMove=function(evt){var evt=evt?evt:window.event;if(!activeScr)return true;else with(activeScr){if((cTop+cHeight>divHeight)||(thmHeight==barHeight))return true;var thmTop=(isNS4?evt.pageY:page.scrollY()+evt.clientY)-dragOffset-bar.y();if(thmTop<0)thmTop=0;if(thmTop+thmHeight>barHeight)thmTop=barHeight-thmHeight;thm.y(bar.y()+thmTop);stickTop=(divHeight-cHeight)*(thmTop/(barHeight-thmHeight));if(stick==1)scrollTo(stickTop);else if(!timer)timer=setInterval(myName+'.stickScroll()',40);return false}};window.scrThumbUp=function(evt){if(activeScr)with(activeScr)if(onthumbup)onthumbup();activeScr=null};DsPt.stickScroll=function(){with(this){if(Math.abs(cTop-stickTop)>1){cTop+=(stickTop-cTop)*stick;scrollTo(cTop,true)}else if(cTop!=stickTop){cTop=stickTop;scrollTo(cTop,true)}}};DsPt.barClick=function(evt){with(this){var evt=evt?evt:window.event;clickPos=isNS4?evt.pageY:page.scrollY()+evt.clientY;var thmY=page.elmPos(null,thm.ref).y;if(clickPos<thmY)scrollBy(0-cHeight);if(clickPos>(thmY+thmHeight))scrollBy(cHeight);if(isNS4)return d.routeEvent(evt)}};DsPt.layout=function(){with(this){if(!isDyn||!loaded)return;barHeight=eval(divs[1].h);cWidth=eval(divs[0].w);cHeight=eval(divs[0].h);divs[0].lyr.clip(0,0,cWidth,cHeight);div.vis('inherit');div.w(cWidth);var isSmall=(div.h()<cHeight);for(var i=0;i<divs.length;i++)with(divs[i].lyr){x(eval(divs[i].x));w(Math.max(0,eval(divs[i].w)));y(eval(divs[i].y));h(Math.max(0,eval(divs[i].h)));if(divs[i].v)vis(divs[i].v==1&&isSmall?'hidden':'visible')}if(onlayout)onlayout();scrollBy(0)}};DsPt.setup=function(){with(this){if(!isDyn)return;for(var i=0;i<divs.length;i++)with(divs[i]){par=eval(par);lyr=getLyr(id,par)}div=getLyr(myName+'Inner',isNS4?divs[0].lyr.ref:null);bar=divs[1].lyr;thm=divs[2].lyr;if(!isNS4)buf=eval('window.'+myName+'Buf');if(isNS4){bar.ref.captureEvents(Event.CLICK);thm.ref.captureEvents(Event.MOUSEDOWN)}bar.ref.onclick=new Function('evt','return '+myName+'.barClick(evt)');thm.ref.onmousedown=new Function('evt','return '+myName+'.thumbDown(evt)');thm.ref.ondragstart=new Function('return false');var fileName='';if(location.href.match(/frames\(([^)]+)\)/)){var files=RegExp.$1.split(',');for(var i=0;i<files.length;i++)if(files[i].match(/(\w+)\=(.+)/)&&myName==RegExp.$1)fileName=RegExp.$2}if(onsetup)onsetup();loaded=true;if(fileName)load(fileName);else if(loadingFile)load(loadingFile);else fileLoaded()}};var scrOL=window.onload,scrOR=window.onresize,nsWinW=window.innerWidth,nsWinH=window.innerHeight;d.scrMM=d.onmousemove;d.scrMU=d.onmouseup;d.scrOC=d.onclick;var DSL=DHTMLScroller.list;window.onload=function(){d.write=new Function();if(scrOL)scrOL();for(var s in DSL)DSL[s].setup()};window.onresize=function(){if(scrOR)scrOR();if(isNS4&&(nsWinW!=innerWidth||nsWinH!=innerHeight))location.reload();for(var s in DSL)DSL[s].layout()};if(isNS4)d.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP|Event.CLICK);d.onmousemove=function(evt){var ret=scrThumbMove(evt);if(d.scrMM)return d.scrMM(evt)&&ret;else return ret?isNS4?d.routeEvent(evt):true:false};d.onmouseup=function(evt){scrThumbUp(evt);return d.scrMU?d.scrMU(evt):(isNS4?d.routeEvent(evt):true)};d.onclick=function(evt){evt=evt||window.event;var e=evt.target||evt.srcElement,DSL=DHTMLScroller.list,uri='',ret=1;if(e.nodeType==3)e=e.parentNode;L:while(e){for(var s in DSL){if(e.tagName=='A'){if(!e.target)uri=e.href;if(e.target==DSL[s].myName){ret=DSL[s].checkURI(e.href);break L}}if(uri&&e==DSL[s].div.ref)ret=DSL[s].checkURI(uri)}e=e.parentNode||e.parentElement}if(!ret){evt.cancelBubble=true;evt.returnValue=false}if(d.scrOC)return d.scrOC(evt)&&ret;else return ret?isNS4?d.routeEvent(evt):true:false};d.onselectstart=d.onselect=function(){if(activeScr)return false};


/*
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
SECTION D : DHTML MICRO-API ACCESSORS
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
*/

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
01: OBJECT ACCESS
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_getObj(e)
{
	var o;
	if (o=d.getElementById?d.getElementById(e):d.all?d.all[e]:null)
	{
		this.obj=o;
		this.style=o.style
	}
	else if (d.layers && (o=DM_getObjNN4(d,e)))
	{
		this.obj=o;
		this.style=this.obj
	}
};

function DM_getObjNN4(o,e)
{
	var lyr;
	var x=o.layers;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].id==e) lyr=x[i];
		else if (x[i].layers.length) var tmp=DM_getObjNN4(x[i],e);
		if (tmp) lyr=tmp;
	}
	return lyr
};

function DM_getObjCopy(x){return (typeof(x)=="object")?x:new DM_getObj(x).obj};
function DM_getObjProps(e)
{
	var o,p=[];
	if (!(o=DM_getObjCopy(e))) return;
	for (var x in o) p.push(o[x]);
	return p
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
02: DATA RECOGNITION
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_isFunction(x){return x!=null && typeof(x)=="function"};
function DM_isEmail(x){return /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,6})+$/.test(x)};
function DM_isDomain(x){return /^([a-z0-9]([-a-z0-9]*[a-z0-9])?.)+((a[cdefgilmnoqrstuwxz]|aero|arpa)|(b[abdefghijmnorstvwyz]|biz)|(c[acdfghiklmnorsuvxyz]|cat|com|coop)|d[ejkmoz]|(e[ceghrstu]|edu)|f[ijkmor]|(g[abdefghilmnpqrstuwy]|gov)|h[kmnrtu]|(i[delmnoqrst]|info|int)|(j[emop]|jobs)|k[eghimnprwyz]|l[abcikrstuvy]|(m[acdghklmnopqrstuvwxyz]|mil|mobi|museum)|(n[acefgilopruz]|name|net)|(om|org)|(p[aefghklmnrstwy]|pro)|qa|r[eouw]|s[abcdeghijklmnortvyz]|(t[cdfghjklmnoprtvwz]|travel)|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw])$/i.test(x)};
function DM_isStyle(x){return /^\s*([a-z]+(?:-[a-z]+)*:[^:;]+(?:;[a-z]+(?:-[a-z]+)*:[^:;]+)*;?)\s*$/i.test(x)};
function DM_isNumb(x,mode)
{
	if (x==null) return;
	if (!mode) mode="DEC";
	x=x.toString();
	switch (mode.toUpperCase())
	{
		case "DEC": return x.search(/-?\d+(\.\d+)?$/)!=-1; break;
		case "POSDEC": return x.search(/^\d+\.\d+$/)!=-1; break;
		case "NEGDEC": return x.search(/-\d+(\.\d+)?$/)!=-1; break;
		case "INT": return x.search(/^-?\d+$/)!=-1; break;
		case "POSINT": return x.search(/^\d+$/)!=-1; break;
		case "NEGINT": return x.search(/^-\d+$/)!=-1; break;
	}
	return
};

function DM_isArray(x)
{
	if (!x) return;
	else if (isSaf) return typeof(x)=="object"&&x.length!="undefined";
	else if (x.constructor) return x.constructor.toString().indexOf("Array")!=-1;
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
03: GET/SET FUNCTIONS - SIZE
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_getSize(e)
{
	var o;
	if (!(o=DM_getObjCopy(e))) return;
	return isNS4?[o.clip.width,o.clip.height]:[o.offsetWidth,o.offsetHeight];
};

function DM_setSize(e,w,h)
{
	var o;
	if (!(o=DM_getObjCopy(e))) return;
	if (w==null || w<0) w=DM_getSize(e)[0];
	if (h==null || h<0) h=DM_getSize(e)[1];
	if (isNS4) o.width=w,o.height=h;
	else o.style.width=w+"px",o.style.height=h+"px";
	return [w,h]
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
04: GET/SET FUNCTIONS - POSITION
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_getPos(e)
{
	var o;
	if (!(o=DM_getObjCopy(e))) return;
	var x=y=0;
	if (o.offsetParent)
	{
		x=o.offsetLeft,y=o.offsetTop;
		while (o=o.offsetParent) x+=o.offsetLeft,y+=o.offsetTop;
	}
	return [x,y]
};

function DM_setPos(e,x,y,mode)
{
	var o,cpos;
	if (!(o=DM_getObjCopy(e))) return; else cpos=DM_getPos(o);
	if (x!=null && !DM_isNumb(x,"INT")) x=cpos[0];
	if (y!=null && !DM_isNumb(y,"INT")) y=cpos[1];
	
	switch (mode?mode.toUpperCase():"")
	{
		case "REL":
		if (x!=null) x+=cpos[0];
		if (y!=null) y+=cpos[1];
		break;
	}
	
	if (x!=null) o.style.left=x+"px";
	if (y!=null) o.style.top=y+"px";
	return [x,y]
};

function DM_getScrollPos()
{
	var pos;
	if (isIE)
	{
		pos=[d.documentElement.scrollLeft,d.documentElement.scrollTop];
		if (!DM_isNumb(pos[0],"POSINT")) pos[0]=d.body.scrollLeft;
		if (!DM_isNumb(pos[1],"POSINT")) pos[1]=d.body.scrollTop;
	}
	else pos=[window.pageXOffset,window.pageYOffset];
	return pos
};

function DM_tweenPos(e,dir,a,b,dur,spd)
{
	var o,speed,timer;
	
	if (!(o=DM_getObjCopy(e))) return;
	if (!o.id.length) o.id=DM_getRandomElementId();
	if (a==null) a=null; else if (!DM_isNumb(a,"INT")) return;
	if (!DM_isNumb(b,"INT")) return;
	if (!DM_isNumb(dur,"POSINT")) dur=1000;
	if (!DM_isNumb(spd,"POSINT")) spd=Math.floor(dur/4);
	
	speed=Math.round(dur/spd);
	timer=0;
	
	switch (dir?dir.toUpperCase():"D")
	{
		case "U":
		if (a==null) s=DM_getPos(o)[1];
		if (a>=b) DM_setPos(o,null,a); else return;
		for (var i=a;i>=b;i--,timer++) setTimeout("DM_setPos('"+o.id+"',null,"+i+")",timer*speed);
		break;
		
		case "D":
		if (a==null) s=DM_getPos(o)[1];
		if (a<=b) DM_setPos(o,null,a); else return;
		for (var i=a;i<=b;i++,timer++) setTimeout("DM_setPos('"+o.id+"',null,"+i+")",timer*speed);
		break;
		
		case "L":
		if (a==null) s=DM_getPos(o)[0];
		if (a>=b) DM_setPos(o,a,null); else return;
		for (var i=a;i>=b;i--,timer++) setTimeout("DM_setPos('"+o.id+"',"+i+",null)",timer*speed);
		break;
		
		case "R":
		if (a==null) s=DM_getPos(o)[0];
		if (a<=b) DM_setPos(o,a,null); else return;
		for (var i=a;i<=b;i++,timer++) setTimeout("DM_setPos('"+o.id+"',"+i+",null)",timer*speed);
		break;
	}
	return
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
05: GET/SET FUNCTIONS - HTML
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_populate(e,content,mode)
{
	var o;
	if (!(o=DM_getObjCopy(e))) return;
	if (content==null) content="";
	else if (DM_isArray(content)) content=content.join("");
	switch (mode)
	{
		case "APP": o.innerHTML+=content; break;
		case "PRE": o.innerHTML=content+o.innerHTML; break;
		default: o.innerHTML=content; break;
	}
	return true
};

function DM_expander(n,show)
{
	var o,lyrs;
	if (!DM_isNumb(n,"INT")
		|| !(o=DM_getObjCopy("SECTIONS"))
		|| !(lyrs=DM_getObjCopy("SECTIONS_DATA").getElementsByTagName("div"))
		|| !(rows=o.getElementsByTagName("tr")))
	{
		return
	}
	if (n<0)
	{
		for (var i=0;i<rows.length;i++)
		{
			var cols=rows[i].getElementsByTagName("td");
			cols[0].innerHTML='<img src="images/icons/tiny/expand.gif" alt="" />';
			cols[1].innerHTML='<a class="title" href="javascript:void(0)" onclick="DM_expander('+i+',true)">'+lyrs[i].title+'</a>';
			if (cols[0].className.search(/\btop\b/)!=-1)
			{
				var pad=1;
				var col=isIE?cols[0]:(isMoz||isNS||isSaf)?cols[1]:null;
				if (col) DM_setStyle(col,"padding-top:"+pad+"px");
			}
			var icon=rows[i].getElementsByTagName("img")[0];
			if (icon.src.search(/expand/)!=-1) icon.src=icon.src.replace(/collapse/,"expand");
			icon.onclick=new Function('DM_expander('+i+',true)');
			icon.onmouseover=function(){DM_setStyle(this,"cursor:pointer")};
			icon.onmouseout=function(){DM_setStyle(this,"cursor:auto")};
		}
	}
	else if (!o.getElementsByTagName("tr")[n]) return;
	else if (show)
	{
		DM_expander(-1);
		var cols=rows[n].getElementsByTagName("td");
		var icon=rows[n].getElementsByTagName("img")[0];
		icon.src=icon.src.replace(/expand/,"collapse");
		icon.onclick=function(){DM_expander(-1)};
		cols[1].innerHTML+='<br />'+lyrs[n].innerHTML;
		cols[1].getElementsByTagName("a")[0].onclick=function(){DM_expander(-1)};
	}
	else DM_expander(-1);
	return true
};


/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
06: GET/SET FUNCTIONS - VISIBILITY
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_getVis(e)
{
	var o;
	if (!(o=DM_getObjCopy(e))) return;
	var vis=isNS4?o.visibility:o.style.visibility;
	return vis?(vis.substr(0,1).toUpperCase()=="V"):o.id.length;
};

function DM_setVis(e,show,tween,tweenOp)
{
	var o;
	if (!(o=DM_getObjCopy(e))) return;
	var dur=tween?500:0;
	switch (show)
	{
		default:
		if (DM_getVis(o)==false) return;
		var cmd='isNS4?(o.visibility="hide"):(o.style.visibility="hidden");if(isIE)o.style.display="none"';
		if (!dur) eval(cmd);
		else
		{
			DM_tweenOp(o,-1,0,dur);
			setTimeout("var o=DM_getObjCopy('"+o.id+"');"+cmd,dur);
		}
		break;
		
		case true:
		if (DM_getVis(o)==true) return;
		var cmd='isNS4?(o.visibility="show"):(o.style.visibility="visible");if(isIE)o.style.display="block"';
		if (!dur) eval(cmd);
		else
		{
			if (!DM_isNumb(tweenOp,"POSINT")) tweenOp=100;
			DM_setOp(o,0);
			DM_setVis(o,true);
			DM_tweenOp(o,-1,tweenOp,dur);
			setTimeout("var o=DM_getObjCopy('"+o.id+"');"+cmd,dur);
		}
		break;
	}
	return true
};

function DM_shadowOverlay(show,tween,color)
{
	var o;
	if (!(o=DM_getObjCopy("SHADOW"))) return;
	if (!color) color="#000000";
	DM_setStyle(o,"background-color:"+color);
	if (show)
	{
		DM_setSize(o,DM_getWinInnerSize()[0],DM_getWinInnerSize()[1]);
		DM_setOp(o,0);
		DM_setVis(o,true);
		DM_tweenOp(o,-1,50);
	}
	else
	{
		DM_tweenOp(o,-1,0);
		DM_setVis(o,false);
		DM_setSize(o,100,100);
	}
	return true
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
07: GET/SET FUNCTIONS - OPACITY
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_getOp(e)
{
	var o;
	if (!(o=DM_getObjCopy(e))) return;
	var op=isNS4?o.opacity:isIE?o.style.filter:o.style.opacity;
	if (op!=null && op.length)
	{
		isIE?op.search(/(\d+)/):op.search(/(\d*(\.\d*)?)/);
		if (RegExp.$1!=null && RegExp.$1.length)
		{
			op=RegExp.$1;
			return isIE?op:op*100;
		}
	}
	return
};

function DM_setOp(e,n)
{
	var o;
	if (!(o=DM_getObjCopy(e)) || !DM_isNumb(n,'POSINT')) return;
	isIE?(o.style.filter="alpha(opacity="+n+")"):(o.style.opacity=n/100);
	return true
};

function DM_tweenOp(e,start,end,dur,spd)
{
	var o;
	if (!(o=DM_getObjCopy(e))) return;
	else if (!DM_isNumb(start,"INT") || !DM_isNumb(end,"POSINT")) return;
	if (start<0) start=DM_getOp(e)!=null?DM_getOp(e):100;
	if (!DM_isNumb(dur,"POSINT")) dur=500;
	if (!DM_isNumb(spd,"POSINT")) spd=Math.floor(dur/4);
	var speed=Math.round(dur/spd);
	var timer=0;
	if (o.id==null || !o.id.length)
	{
		var tmpId="TEMP_"+DM_rand(100);
		while (DM_getObjCopy(tmpId)) tmpId="TEMP_"+DM_rand(100);
		o.id=tmpId
	}
	if (start>end)
	{
		for (var i=(!isWin||isNS?end:start);i>=end;i--)
		{
			setTimeout("DM_setOp('"+o.id+"',"+i+")",timer*speed);
			timer++
		}
	}
	else
	{
		for (var i=(!isWin||isNS?end:start);i<=end;i++)
		{
			setTimeout("DM_setOp('"+o.id+"',"+i+")",timer*speed);
			timer++
		}
	}
	return true
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
08 GET/SET FUNCTIONS - CASCADING STYLESHEETS (CSS)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_css2js(str)
{
	if (typeof(str)!="string") return;
	var x=str.split("");
	for (var i=0;i<x.length;i++) if (x[i]=="-") x[i+1]=x[i+1].toUpperCase();
	return x.join("").replace(/-/g,"")
};

function DM_getCSSspecs(raw)
{
	var buf=['azimuth','background','background-attachment','background-color','background-image','background-position','background-repeat','border','border-collapse','border-color','border-spacing','border-style','border-top','border-right','border-bottom','border-left','border-top-color','border-right-color','border-bottom-color','border-left-color','border-top-style','border-right-style','border-bottom-style','border-left-style','border-top-width','border-right-width','border-bottom-width','border-left-width','border-width','bottom','caption-side','clear','clip','color','content','counter-increment','counter-reset','cue','cue-after','cue-before','cursor','direction','display','elevation','empty-cells','float','font','font-family','font-size','font-size-adjust','font-stretch','font-style','font-variant','font-weight','height','left','letter-spacing','line-height','list-style','list-style-image','list-style-position','list-style-type','margin','margin-top','margin-right','margin-bottom','margin-left','marker-offset','marks','max-height','max-width','min-height','min-width','orphans','outline','outline-color','outline-style','outline-width','overflow','padding','padding-top','padding-right','padding-bottom','padding-left','page','page-break-after','page-break-before','page-break-inside','pause','pause-after','pause-before','pitch','pitch-range','play-during','position','quotes','richness','right','size','speak','speak-header','speak-numeral','speak-punctuation','speech-rate','stress','table-layout','text-align','text-decoration','text-indent','text-shadow','text-transform','top','unicode-bidi','vertical-align','visibility','voice-family','volume','white-space','widows','width','word-spacing','z-index'];
	
	if (!raw) for (var i=0;i<buf.length;i++) buf[i]=DM_css2js(buf[i]);
	return buf
};

function DM_getStyleGroup(e)
{
	var o;
	if (!(o=DM_getObjCopy(e))) return;
	var sty=new Array();
	for (var i=0,css=DM_getCSSspecs();i<css.length;i++)
	{
		if (css[i]=="float"&&(isNS||isSaf)) continue;
		else if (isIE && css[i]=="zIndex" && !(css[i]>0)) continue;
		else var prop=eval("o.style."+css[i]);
		if (prop!=null&&prop.toString().search(/^\s*$/)==-1) sty.push(css[i]);
	}
	return sty
};

function DM_clrStyles(e)
{
	var o;
	if (!(o=DM_getObjCopy(e))) return;
	for (var i=0,cmd,x,sty=DM_getStyleGroup(o);i<sty.length;i++)
	{
		cmd="o.style."+sty[i];
		x=eval(cmd);
		if (x && x.length) eval(cmd+"=''");
	}
	return true
};

function DM_setStyle(e,sty)
{
	var o;
	if ((o=DM_getObjCopy(e)) && typeof(sty)=="string" && /\S/.test(sty))
	{
		for (var i=0,buf=sty.split(";"),x;i<buf.length;i++)
		{
			x=buf[i].split(":");
			if (x.length!=2) continue;
			x[0]=DM_css2js(x[0]);
			eval("o.style."+x[0]+"='"+x[1]+"'")
		}
		return true
	}
	return
};

function DM_getElementsByClassName(strClass,strTag,objContElm)
{
	strTag=strTag||"*";
	objContElm=objContElm||d;
	var objColl=objContElm.getElementsByTagName(strTag);
	if (!objColl.length&&strTag=="*"&&objContElm.all) objColl=objContElm.all;
	var arr=new Array();
	var delim=strClass.indexOf('|')!=-1?'|':' ';
	var arrClass=strClass.split(delim);
	for (var i=0,j=objColl.length;i<j;i++)
	{
		var arrObjClass=objColl[i].className.split(' ');
		if (delim==' ' && arrClass.length>arrObjClass.length) continue;
		var c=0;
		comparisonLoop:
		for (var k=0,l=arrObjClass.length;k<l;k++)
		{
			for (var m=0,n=arrClass.length;m<n;m++)
			{
				if (arrClass[m]==arrObjClass[k]) c++;
				if ((delim=='|'&&c==1) || (delim==' '&&c==arrClass.length))
				{
					arr.push(objColl[i]);
					break comparisonLoop
				}
			}
		}
	}
	return arr
};

function DM_swapMousePntr(e,pntr,ev,perm)
{
	var o;
	if (!(o=DM_getObjCopy(e))) return;
	if (typeof(ev)!="string") ev="onmouseover"; else ev=ev.toLowerCase();
	if (/\bonmouseover\b/.test(ev)) perm=false;
	if (!DM_isArray(pntr))
	{
		if (typeof(pntr)=="string") pntr=[pntr];
		else pntr=[];
	}
	if (perm)
	{
		pntr=pntr[0];
		if (pntr==null) pntr="auto"; else if (typeof(pntr)!="string") return;
		DM_chgEvent(o,ev,"this.style.cursor='"+pntr+"'","app");
	}
	else
	{
		if (typeof(pntr[0])!="string") pntr[0]="pointer";
		if (typeof(pntr[1])!="string") pntr[1]="auto";
		DM_chgEvent(o,"onmouseover","this.style.cursor='"+pntr[0]+"'","app");
		DM_chgEvent(o,"onmouseout","this.style.cursor='"+pntr[1]+"'","app");
	}
	return
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
09: GET/SET FUNCTIONS - MISCELLANEOUS
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_getLocation(){return isIE?window.location.href:d.location.href};
function DM_getRandomElementId()
{
	var n=100;
	var id=DM_rand(n);
	for (var i=DM_rand(n);!i||DM_getObjCopy(i);i=DM_rand(n)) continue;
	return i
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10: EVENT MANAGEMENT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_chgEvent(o,ev,expr,mode)
{
	if (!o || typeof(ev)!="string" && typeof(expr)!="string") return;
	if (mode)
	{
		var buf=eval("o."+ev);
		if (buf)
		{
			buf=buf.toString().replace(/\n/g,"");
			buf=buf.replace(/function[^{]*\{(.+)\}[^}]*$/,"$1");
			if (buf.charAt(buf.length-1)!=";") buf+=";";
		}
		else buf="";
		var cmd="o."+ev+"=function(){%CODE%}";
		switch (mode.toUpperCase())
		{
			default: return; break;
			case "APP": cmd=cmd.replace("%CODE%",buf+expr); break;
			case "PRE": cmd=cmd.replace("%CODE%",expr+buf); break;
		}
		eval(cmd);
	}
	else eval("o."+ev+"=function(){"+expr+"}");
	return true
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
11: SECURITY
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_disableRightClick(verbose)
{
	if (isOp) return;
	d.oncontextmenu=function()
	{
		if (verbose) alert("This feature has been disabled.");
		return false
	};
	return true
};

function DM_getRealDomain(dm,auto)
{
	if (typeof(dm)=="string") dm=dm.toLowerCase(); else return;
	var loc=DM_getLocation();
	var thisDm=loc.replace(/^https?:\/\/(?:www\.)?([^\/]+).*$/,"$1").toLowerCase();
	if (/^\w+$|^192(?:\.\d+){3}$/.test(thisDm)) return true;
	var die=false;
	if (/^\*\.((?:[^\.]+)(?:\.[^\.]+)+)$/.test(dm))
	{
		dm=RegExp.$1;
		if (!DM_isDomain(dm)) return;
		else
		{
			var buf=dm.replace(".","\\.");
			if (thisDm.search(eval("/"+buf+"/"))==-1) die=true;
		}
	}
	else if (!DM_isDomain(dm)) return;
	else if (thisDm!=dm) die=true;
	if (die)
	{
		DM_redir(auto?loc.replace(/^(https?):\/\/([^\/]+)+(.*)$/,"$1://"+dm+"$3"):"http://"+dm);
		return
	}
	return true
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
12: MISCELLANEOUS ACTIONS
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_redir(url){d.location.href=url?url:DM_getLocation()};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
13: LISTENERS
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_clearTimers(rng,timers)
{
	var rng=DM_isNumb(rng,"POSINT")?10:0;
	var tim=DM_isArray(timers)?timers:t;
	if (!DM_isArray(timers)) while (t.length>rng) clearTimeout(t.shift());
	else for (var i=0;i<timers.length;i++) clearTimeout(timers[i]);
	return []
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
14: ARITHMETIC
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_rand(rng,f)
{
	if (!DM_isNumb(rng,'POSINT')) rng=0;
	var numb=Math.random()*(++rng);
	return f?numb:Math.floor(numb);
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
15: WINDOW INTERACTION
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_getWinInnerSize()
{
	if (isIE) return [document.body.clientWidth,document.body.clientHeight];
	else if (isMoz||isNS) return [d.documentElement.clientWidth,window.innerHeight];
	else return [window.innerWidth,window.innerHeight];
};

function DM_newWin(url,id,siz,pos,attrib)
{
	if (!DM_isArray(siz)) siz=[];
	if (!DM_isArray(pos)) pos=[];
	if (id==null) id="ChildWindow";
	if (w && w.open && !w.closed) w.close();
	if (!DM_isNumb(siz[0],"POSINT")) siz[0]=Math.floor(s[0]/2);
	if (!DM_isNumb(siz[1],"POSINT")) siz[1]=Math.floor(s[1]/2);
	if (!DM_isNumb(pos[0],"POSINT")) pos[0]=Math.floor((s[0]-siz[0])/2);
	if (!DM_isNumb(pos[1],"POSINT")) pos[1]=Math.floor((s[1]-siz[1])/2);
	if (typeof(attrib)!="string") attrib="";
	switch (attrib)
	{
		case "FULL":
		attrib="width="+siz[0]+",height="+siz[1];
		attrib+=isIE?",left="+pos[0]+",top="+pos[1]:",screenX="+pos[0]+",screenY="+pos[1];
		w=window.open(url,id,attrib+",location,menubar,resizable,scrollbars,status,toolbar");
		break;
		
		case "FULLSCREEN":
		siz=[screen.availWidth,screen.availHeight];
		pos=[0,0];
		attrib="width="+siz[0]+",height="+siz[1];
		attrib+=isIE?",left=0,top=0":",screenX=0,screenY=0";
		w=window.open(url,id,attrib+",location,menubar,resizable,scrollbars,status,toolbar");
		break;
		
		default:
		if (attrib.length && attrib.charAt(attrib.length-1)!=",") attrib+=",";
		attrib+="width="+siz[0]+",height="+siz[1];
		w=window.open(url,id,attrib);
		break;
	}
	if (!(id.toUpperCase()=="XWEB" && isIE))
	{
		w.resizeTo(siz[0],siz[1]);
		w.moveTo(pos[0],pos[1]);
		w.focus();
		w.window.focus();
	}
	return
};

function DM_newDynWin(e,siz,pos,sty,mod)
{
	var o,m,x,autoW,autoH,autoX,autoY,ev;
	var scrPos=DM_getScrollPos();
	
	if (!(o=DM_getObjCopy(e))) return;
	if (!o.id.length) o.id=DM_getRandomElementId();
	if (!DM_isArray(siz)) siz=[];
	if (!DM_isArray(pos)) pos=[];
	if (!DM_isArray(sty)) sty=[];
	if (!DM_isNumb(siz[0],"POSINT")) {autoW=true;siz[0]=Math.floor(DM_getWinInnerSize()[0]/2)}
	if (!DM_isNumb(siz[1],"POSINT")) {autoH=true;siz[1]=Math.floor(DM_getWinInnerSize()[1]/2)}
	if (!DM_isNumb(pos[0],"POSINT")) {autoX=true;pos[0]=Math.floor((DM_getWinInnerSize()[0]-siz[0])/2)};
	if (!DM_isNumb(pos[1],"POSINT")) {autoY=true;pos[1]=Math.floor((DM_getWinInnerSize()[1]-siz[1])/2)};
	for (var i=0;i<6;i++) sty[i]=DM_isStyle(sty[i])?RegExp.$1:"";
	if (mod==null) mod="";
	else if (typeof(mod)!="string") return;
	else if (!/\S/.test(mod)) mod="";
	else if (!/^\s*\w+(?:=[^,]+)?(?:,\s*\w+(?:=[^,]+)?)*\s*$/.test(mod)) return;
	
	m=[];
	m['FLOAT']	= [false,false];
	m['NAVBAR']	= false;
	m['SHADOW']	= cfg['SHADOW_OP'];
	m['TITLE']	= "";
	m['TWEEN']	= /\btween\b/i.test(mod);
	m['UNLOCK']	= false;
	m['WINDOW']	= 100;
	m['XCLICK']	= false;
	
	
	
	if (/\bshadow\b(?:=([^,]+))?/i.test(mod)){x=RegExp.$1;m['SHADOW']=(DM_isNumb(x,"POSINT")&&x<=100)?x:50}
	if (/\bwindow\b(?:=([^,]+))?/i.test(mod)){x=RegExp.$1;if (DM_isNumb(x,"POSINT")&&x<=100) m['WINDOW']=x}
	if (/\bxclick\b/.test(mod)) m['XCLICK']=true;
	if (/\bunlock\b/.test(mod)) m['UNLOCK']=true;
	if (/\bfloat\b(?:=([^,]+))?/i.test(mod)){x=RegExp.$1;m['FLOAT']=[true,/\btween\b/i.test(x)]}
	if (/\bnavbar\b/.test(mod)) m['NAVBAR']=true;
	if (/\btitle\b(?:=([^,]+))?/i.test(mod)){if (RegExp.$1!=null) m['TITLE']=RegExp.$1}
	if (!m['UNLOCK']) DM_setStyle(cfg['SHADOW'],sty[5]?sty[5]:cfg['SHADOW_STY']);
	
	ev=[];
	ev['ONRESIZE']=[
		'var o=DM_getObjCopy("'+o.id+'")',
		'var pos=[]',
		'var siz=[]',
		'var autoW,autoH',
		'var autoX='+(autoX?"true":"false"),
		'var autoY='+(autoY?"true":"false")
		];
	
	if (m['FLOAT'][0])
	{
		ev['ONRESIZE']=[
			ev['ONRESIZE'].join(";"),
			'siz.push('+siz[0]+')',
			'siz.push('+siz[1]+')',
			'pos.push((autoX?Math.floor((DM_getWinInnerSize()[0]-siz[0])/2):'+pos[0]+')+DM_getScrollPos()[0])',
			'pos.push('+pos[1]+'+DM_getScrollPos()[1])'
			];
	}
	else
	{
		ev['ONRESIZE']=[
			ev['ONRESIZE'].join(";"),
			'autoW='+(autoW?"true":"false"),
			'autoH='+(autoH?"true":"false"),
			'siz.push(autoW?Math.floor(DM_getWinInnerSize()[0]/2):'+siz[0]+')',
			'siz.push(autoH?Math.floor(DM_getWinInnerSize()[1]/2):'+siz[1]+')',
			'pos.push(autoX?Math.floor((DM_getWinInnerSize()[0]-siz[0])/2):'+pos[0]+')',
			'pos.push(autoY?Math.floor((DM_getWinInnerSize()[1]-siz[1])/2):'+pos[1]+')',
			'DM_setStyle(o.getElementsByTagName("table")[0],"width:"+siz[0]+"px;height:"+siz[1]+"px")'
			];
	}
	
	ev['ONRESIZE']=[
		ev['ONRESIZE'].join(";"),
		'DM_setPos(o,pos[0],pos[1])'
		];
	
	ev["ONCLOSE"]=[
		'DM_setVis(\''+o.id+'\',false,'+(m['TWEEN']?"true":"false")+')',
		'setTimeout(\'DM_setVis(\\\'SHADOW\\\',false,true)\','+(m['TWEEN']?500:250)+')'
		];
	
	if (!/<tr\s+id=['"]?navbar["']?/i.test(o.innerHTML))
	{
		var htm;
		if (m['NAVBAR'])
		{
			htm=[
			'<table',
			'  style="padding:0px;background:#FFFFFF;border:2px solid #000000;'+sty[0]+';width:'+siz[0]+'px;height:'+siz[1]+'px;">',
			'<tr id="navbar"><td style="text-align:right;background:#F3F3F3;height:10px;'+sty[1]+'">',
			'	<table style="margin:10px;margin-left:auto;'+sty[2]+'">',
			'	<tr><td',
			'	  style="border:1px solid #000000;background:#CC0000;color:#FFFFFF;font-family:arial;font-weight:bold;font-size:10px;width:15px;height:15px;text-align:center;vertical-align:middle;'+sty[3]+'"',
			'	  onmouseover="this.style.cursor=\'pointer\'" onmouseout="this.style.cursor=\'auto\'" onclick="'+ev['ONCLOSE'].join(";")+'">X</td></tr>',
			'	</table>',
			'</td></tr>',
			'<tr><td style="font-family:arial;font-size:11px;font-weight:normal;color:#000000;vertical-align:top;padding:5px;'+sty[4]+';height:'+(siz[1]-20)+'px">'+o.innerHTML+'</td></tr>',
			'</table>'
			];
		}
		else
		{
			htm=[
			'<table',
			'  style="padding:0px;background:#FFFFFF;border:2px solid #000000;'+sty[0]+';width:'+siz[0]+'px;height:'+siz[1]+'px;">',
			'<tr id="navbar"><td style="font-family:arial;font-size:11px;font-weight:normal;color:#000000;vertical-align:top;padding:5px;'+sty[4]+';height:'+(siz[1]-20)+'px">'+o.innerHTML+'</td></tr>',
			'</table>'
			];
		}
		o.innerHTML=htm.join("")
	}
	
	if (!m['UNLOCK'])
	{
		o.style.zIndex=cfg['SHADOW'].style.zIndex+1;
		DM_setVis(cfg['SHADOW'],true,true,m['SHADOW']);
	}
	
	if (m['FLOAT'][0])
	{
		ev['ONSCROLL']=[
			'var scrPos=DM_getScrollPos()',
			'var siz=DM_getSize("'+o.id+'")',
			'var pos=[]',
			'pos.push('+(autoX?1:0)+'?Math.floor((DM_getWinInnerSize()[0]-siz[0])/2):'+pos[0]+')',
			'DM_setPos("'+o.id+'",pos[0],'+pos[1]+'+scrPos[1])'
			];
			
		pos[1]+=scrPos[1];
		DM_chgEvent(window,"onscroll",ev['ONSCROLL'].join(";"),"app");
	}
	
	DM_setPos(o,pos[0],pos[1]);
	DM_setVis(o,true,m['TWEEN'],m['WINDOW']);
	if (m['XCLICK']) o.onclick=new Function(ev["ONCLOSE"].join(";"));
	DM_chgEvent(window,"onresize",ev['ONRESIZE'].join(";"),"app");
	return
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
16: IMAGE PROCESSING
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_swapImg(e,repl,perm)
{
	var o;
	if (!(o=DM_getObjCopy(e)) || !repl) return;
	else if (!perm) DM_chgEvent(o,"onmouseout","this.src='"+o.src+"'");
	return o.src=repl;
};

function DM_prldImg(img,dir,suf)
{
	if (!DM_isArray(img) || img.length%2!=0) return;
	dir=dir!=null?dir+"/":"";
	if (!suf) suf="gif";
	for (var i=0;i<img.length;i++)
	{
		eval(img[i]+"=new Image()");
		eval(img[i]+".src='"+dir+img[i+1]+"."+suf+"'");
	}
	return img.length/2
};

function DM_initImgRollovers(e)
{
	var o,imgs,ev;
	if (!(o=DM_getObjCopy(e)) || !(imgs=o.getElementsByTagName("img"))) return;
	ev=[Array(),Array()];
	for (var i=0;i<imgs.length;i++)
	{
		if (/_omo\.\w+$/.test(imgs[i].src)) continue;
		var suf=imgs[i].src.substring(imgs[i].src.lastIndexOf('.'));
		ev[0][i]=new Image();
		ev[1][i]=new Image();
		ev[0][i].src=imgs[i].src.substring(0,imgs[i].src.lastIndexOf('.'))+"_omo"+suf;
		ev[1][i].src=imgs[i].src;
		imgs[i].onmouseover=new Function("this.src='"+ev[0][i].src+"'");
		imgs[i].onmouseout=new Function("this.src='"+ev[1][i].src+"'");
	}
	return o
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
17: DHTML MENU MANAGER
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_MenuMan(e,mode,x)
{
	var o,btn,btn_typ,buf,tween,op,props,lyr,openmenu;
	
	if (!(o=DM_getObjCopy(e))) return;
	if (btn=o.getElementsByTagName("img")) btn_typ="IMG";
	else if (btn=DM_getElementsByClassName("MM_BTN","TD",o)) btn_typ="COL";
	else return;
	if (!/\S/.test(o.id)) o.id=DM_getRandomElementId(o);
	if (mode==null) mode="INIT";
	else if (typeof(mode)!="string") return;
	else if (!/^\S+$/.test(mode)) mode="INIT";
	if (!DM_isArray(x)) x=[];
	if (/^(\w+)=(?:.+)$/.test(mode))
	{
		buf=mode;
		mode=RegExp.$1;
		if (buf.charAt(buf.length-1)!=";") buf+=";";
		if (/^\w+=((?:[a-z]+(?::[^;]+)?;)+);?$/i.test(buf))
		{
			var str=RegExp.$1.toLowerCase();
			op=/\bopacity\b:(\d+)/.test(str)?RegExp.$1:100;
			tween=/\btween\b/.test(str)
		}
	}
	mode=mode.toUpperCase();
	
	props="";
	if (tween==null) tween=false; else if (tween) props="tween;";
	if (!DM_isNumb(op,"POSINT") || op>100) op=100;
	props+="opacity:"+op;
	
	switch (mode.toUpperCase())
	{
		case "INIT":
		var rollov=x.shift();
		var layout=x.shift();
		var offset=x.shift();
		var evtype=x.shift();
		
		if (layout==null) layout="BOTTOM";
		else if (typeof(layout)!="string") return;
		else if (/^\bbottom\b|\btop\b|\bleft\b|\bright\b$/i.test(layout)) layout=layout.toUpperCase();
		else return;
		
		if (evtype==null) evtype="onmouseover";
		else if (typeof(evtype)!="string") return;
		else if (/^\bonmouseover\b|\bonclick\b$/i.test(evtype)) evtype=evtype.toLowerCase();
		else return;
		
		if (!DM_isNumb(offset,"INT")) offset=0;
		if (rollov)
		{
			switch (btn_typ)
			{
				case "IMG": DM_initImgRollovers(o.id); break;
				case "COL":
				for (var i=0,evOMO;i<btn.length;i++)
				{
					evOMO=[
						'var buf=this.className.split(" ");',
						'if(buf[buf.length-1]=="MM_ON"){',
						'this.className=this.className.substring(0,this.className.length-6)}'
						];
					DM_chgEvent(btn[i],evtype,"this.className+=' MM_ON'","app");
					DM_chgEvent(btn[i],"onmouseout",evOMO.join(""),"app");
					DM_swapMousePntr(btn[i])
				}
				break;
			}
			rollov=true
		}
		else rollov=false;
		
		for (var i=0,j=1,cmd=[];i<btn.length;i++,j++)
		{
			if (!(lyr=DM_getObjCopy("DD_MENU_"+j))) continue;
			
			cmd=[
				'DM_MenuMan("'+o.id+'","SHOW='+props+'",["'+lyr.id+'","'+layout+'",'+offset+'])',
				'DM_MenuMan("'+o.id+'","HIDE='+props+'",["'+lyr.id+'"])',
				'cfg["MM_OVERMENU"]=true;clearTimeout(cfg["MM_MENUINTV"])',
				'cfg["MM_OVERMENU"]=false;',
				'cfg["MM_MENUINTV"]=setTimeout("DM_MenuMan(\''+o.id+'\',\'HIDE='+props+'\',[\''+lyr.id+'\'])",cfg["MM_MENUTIME"])'
				];
			
			DM_chgEvent(btn[i],evtype,cmd[0],"app");
			DM_chgEvent(btn[i],"onmouseout",cmd[1],"app");
			DM_chgEvent(lyr,"onmouseover",cmd[2],"app");
			DM_chgEvent(lyr,"onmouseout",cmd[3]+cmd[4],"app");
		}
		if (cfg['MM_STATMENU']=DM_getObjCopy("MENUMAN_STAT")) setInterval("DM_MenuMan('"+e_id+"','STAT')",1000/5);
		break;
		
		case "SHOW":
		lyr				= x.shift();
		btn				= btn[lyr.replace(/^DD_MENU_(\d+)$/,"$1")-1];
		layout			= x.shift();
		offset			= x.shift();
		var openmenu	= cfg['MM_OPENMENU'];
		var btn_pos		= DM_getPos(btn);
		var btn_siz		= DM_getSize(btn);
		
		switch (layout)
		{
			case "TOP":
				var lyr_siz=DM_getSize(lyr);
				btn_pos[1]-=offset;
				btn_pos[1]-=lyr_siz[1]>btn_siz[1]?lyr_siz[1]:btn_siz[1];
			break;
			case "BOTTOM"	: btn_pos[1]+=btn_siz[1]+offset;			break;
			case "LEFT"		: btn_pos[0]-=DM_getSize(lyr)[0]+offset;	break;
			case "RIGHT"	: btn_pos[0]+=btn_siz[0]+offset;			break;
		}
		
		if (openmenu)
		{
			if (openmenu==lyr) clearTimeout(cfg['MM_MENUINTV']);
			else
			{
				clearTimeout(cfg['MM_MENUINTV']);
				DM_setVis(openmenu,false,tween);
			}
		}
		cfg['MM_OPENMENU']=lyr;
		DM_setPos(lyr,btn_pos[0],btn_pos[1]);
		DM_setVis(lyr,true,tween,op);
		break;
		
		case "HIDE":
		var menu=x.shift();
		var when=x.shift();
		var what=[
			'if(!cfg["MM_OVERMENU"]){',
			'cfg["MM_OPENMENU"]=null;cfg["MM_MENUINTV"]=null;',
			'DM_setVis("'+menu+'",false,'+(tween?"true":"false")+')}'
			];
		
		cfg['MM_MENUINTV']=setTimeout(what.join(""),DM_isNumb(when,"POSINT")?when:cfg['MM_MENUTIME']);
		break;
		
		case "STAT":
		var htm=[
			"overmenu = "+cfg['MM_OVERMENU'],
			"openmenu = "+cfg['MM_OPENMENU'],
			"menuintv = "+cfg['MM_MENUINTV']
			];
		
		cfg['MM_STATMENU'].innerHTML=htm.join("<br />");
		break;
	}
	return
};

function DM_genToolTips(groupname,color,sty)
{
	if (typeof(color)!="string" || !/\S/.test(color)) color="#FFFFE1";
	if (!DM_isArray(sty)) sty=[sty];
	for (var i=0;i<10;i++) if (typeof(sty[i])!="string" || !DM_isStyle(sty[i])) sty[i]="";
	var dir=/^#/.test(color)?color.substring(1):color;
	var lyrs=DM_getElementsByClassName(groupname.toUpperCase(),"DIV");
	var htm=[
		'<table style="width:75px;'+sty[0]+'">',
		'<tr>',
		'	<td><img src="images/bg/bubble/'+dir+'/topleft.gif" alt="" /></td>',
		'	<td style="background:url(images/bg/bubble/'+dir+'/top.gif) top repeat-x;width:100%;"></td>',
		'	<td><img src="images/bg/bubble/'+dir+'/topright.gif" alt="" /></td>',
		'</tr>',
		'<tr><td',
		'  style="background:'+color+';border-left:1px solid #000000;border-right:1px solid #000000;padding-left:5px;padding-right:5px;'+sty[1]+';"',
		'  colspan="3">%CONTENT%</td></tr>',
		'<tr>',
		'	<td colspan="3">',
		'		<table class="fullwidth">',
		'		<tr>',
		'			<td><img src="images/bg/bubble/'+dir+'/bottomleft.gif" alt="" /></td>',
		'			<td style="background:url(images/bg/bubble/'+dir+'/bottom.gif) top repeat-x;width:100%;"></td>',
		'			<td><img src="images/bg/bubble/'+dir+'/bottomright.gif" alt="" /></td>',
		'		</tr>',
		'		</table>',
		'	</td>',
		'</tr>',
		'</table>'
		];
	
	for (var i=0;i<lyrs.length;i++) lyrs[i].innerHTML=htm.join("").replace(/%CONTENT%/,lyrs[i].innerHTML);
	return
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
18: DHTML SCROLL MANAGER
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_divscroll(mwscr,ctrlOp,innerSty,mode,x)
{
	var o;
	if (!(o=DM_getElementsByClassName("SCROLLER_HOLDER","TABLE"))) return;
	if (mode==null) mode="INITIALIZE";
	if (!DM_isArray(x)) x=[];
	switch (mode.toUpperCase())
	{
		case "INITIALIZE": break;
		case "CTRL":
			x=x.shift();
			var lyrs=o[x].getElementsByTagName("div");
			if (!DM_getVis(lyrs[6]))
			{
				for (var i=3;i<lyrs.length;i++) DM_setOp(lyrs[i],25);
				DM_setStyle(o[x],"width:100%");
			}
			return true;
		break;
		default: return; break;
	}
	
	if (!DM_isNumb(ctrlOp,"POSINT")) ctrlOp=-1;
	if (!DM_isArray(innerSty))
	{
		if (typeof(innerSty)=="string")
		{
			innerSty=[innerSty];
			while (innerSty.length<o.length) innerSty.push(innerSty[0]);
		}
		else innerSty=[];
	}
	
	for (var i=0,e=[];i<o.length;i++) e.push(o[i].id.replace(/_HOLDER$/,""));
	for (var i=0;i<e.length;i++)
	{
		var wrapper,arrow;
		for (var j=0,lyrs=o[i].getElementsByTagName("div");j<lyrs.length;j++)
		{
			switch (j)
			{
				case 0:
					lyrs[j].className="SCROLLER_CONTAINER";
					if (isOp && DM_isNumb(x[0],"INT")) DM_setStyle(lyrs[j],"top:-"+x+"px");
				break;
				case 1: lyrs[j].id=e[i]+"Outer"; break;
				case 2:
					lyrs[j].id=e[i]+"Inner";
					wrapper=DM_getElementsByClassName("SCROLLER","table",lyrs[j])[0];
					if (wrapper) DM_setStyle(wrapper.getElementsByTagName("td")[0],innerSty[i]);
					if (/\bhidden\b/.test(wrapper.className))
					{
						if (isIE)
						{
							DM_setVis(wrapper,true);
							wrapper.style.filter="progid:DXImageTransform.Microsoft.Pixelate(duration=0.75,MaxSquare=10)";
							wrapper.filters.item("DXImageTransform.Microsoft.Pixelate").Enabled=true;
							wrapper.filters.item("DXImageTransform.Microsoft.Pixelate").apply();
							wrapper.filters.item("DXImageTransform.Microsoft.Pixelate").play();
						}
						else DM_setVis(wrapper,true,true);
					}
				break;
				case 3:
					lyrs[j].id=e[i]+"UpArrows";
					if (arrow=lyrs[j].getElementsByTagName("img"))
					{
						arrow=arrow[0];
						arrow.className="SCROLLER_ARROW";
						arrow.onclick=new Function(e[i]+".scrollTo(0)");
						arrow.onmouseover=new Function(e[i]+".setScroll(-5,1);return false;");
						arrow.onmouseout=new Function(e[i]+".setScroll(0,4);"+e[i]+".setScroll(0,2);return false;");
						arrow.onmousedown=new Function(e[i]+".setScroll(-15,8);return false;");
					}
				break;
				case 4:
					lyrs[j].id=e[i]+"DownArrows";
					if (arrow=lyrs[j].getElementsByTagName("img"))
					{
						arrow=arrow[0];
						arrow.className="SCROLLER_ARROW";
						arrow.onclick=new Function(e[i]+".scrollTo("+e[i]+".divHeight)");
						arrow.onmouseover=new Function(e[i]+".setScroll(5,1);return false");
						arrow.onmouseout=new Function(e[i]+".setScroll(0,4);"+e[i]+".setScroll(0,2);return false");
						arrow.onmousedown=new Function(e[i]+".setScroll(15,8);return false");
					}
				break;
				case 5: lyrs[j].id=e[i]+"Bar"; break;
				case 6: lyrs[j].id=e[i]+"Thumb"; break;
			}
			if (j>0) lyrs[j].className="SCROLLER";
		}
		eval(
		  e[i]+'=new DHTMLScroller("'+e[i]+'");'
		+ 'with ('+e[i]+'){'
		+ 'var holderSz=DM_getSize("'+e[i]+'_HOLDER");'
		+ 'var thumbsSz=DM_getSize("'+e[i]+'UpArrows");'
		+ 'divs[0]=new ScrDiv("'+e[i]+'Outer",0,0,(holderSz[0]-thumbsSz[0]),holderSz[1],2);'
		+ 'divs[1]=new ScrDiv("'+e[i]+'Bar",holderSz[0]-thumbsSz[0],thumbsSz[1],thumbsSz[1],(holderSz[1]-(thumbsSz[1]*2)),2);'
		+ 'divs[2]=new ScrDiv("'+e[i]+'Thumb",holderSz[0]-thumbsSz[0],0,thumbsSz[1],0,1);'
		+ 'divs[3]=new ScrDiv("'+e[i]+'UpArrows",holderSz[0]-thumbsSz[0],0,0,0,2);'
		+ 'divs[4]=new ScrDiv("'+e[i]+'DownArrows",holderSz[0]-thumbsSz[0],holderSz[1]-thumbsSz[1],0,0,2);'
		+ 'minThmHeight=maxThmHeight=70;'
		+ 'page.minW=page.minH=400;}'
		);
		if (ctrlOp>=0) for (var j=3;j<lyrs.length;j++) DM_setOp(lyrs[j],ctrlOp);
		setTimeout("DM_divscroll(false,-1,[],'CTRL',["+i+"])",5);
	}
	if (isIE)
	{
		var reldivs=DM_getElementsByClassName("SCROLLER_CONTAINER","DIV");
		for (var i=0;i<e.length;i++)
		{
			var holderPos=DM_getPos(e[i]+'_HOLDER');
			DM_setStyle(reldivs[i],'position:absolute;top:'+holderPos[1]+'px;left:'+holderPos[0]+'px;');
			DM_setPos(reldivs[i],holderPos[0],holderPos[1]);
		}
		window.onresize=new Function(
			  'var buf='+(window.onresize?String(window.onresize):'Function()')+';buf();'
			+ 'var layers=["'+e.join("\",\"")+'"];'
			+ 'for (var i=0;i<layers.length;i++){'
			+ 'var holderPos=DM_getPos(layers[i]+"_HOLDER");'
			+ 'DM_setPos(DM_getElementsByClassName("SCROLLER_CONTAINER")[i],holderPos[0],holderPos[1]);}'
			);
	}
	if (mwscr)
	{
		eval(
		  'var mwHandler=function(evt){'
		+ 'evt=evt?evt:window.event;'
		+ 'if (evt.wheelDelta) '+e[0]+'.scrollBy(evt.wheelDelta/(window.opera?3:-3));'
		+ 'else if (evt.detail) '+e[0]+'.scrollBy(evt.detail*12);'
		+ 'return false;};'
		);
		if (window.addEventListener&&!window.opera) window.addEventListener('DOMMouseScroll',mwHandler,false);
		else window.onmousewheel=d.onmousewheel=mwHandler;
	}
	var holders=DM_getElementsByClassName("SCROLLER_HOLDER","TABLE");
	for (var i=0;i<holders.length;i++) DM_setStyle(holders[i].getElementsByTagName("tr")[0],"vertical-align:top");
	return true
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
19: TEXT PROCESSORS
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_ucfirst(str)
{
	if (typeof(str)!="string") return;
	if (str.length>1) return str.substring(0,1).toUpperCase()+str.substring(1);
	else return str.toUpperCase();
};

function DM_lcfirst(str)
{
	if (typeof(str)!="string") return;
	if (str.length>1) return str.substring(0,1).toLowerCase()+str.substring(1);
	else return str.toLowerCase();
};

function DM_ucwords(str,n)
{
	if (typeof(str)!="string") return;
	if (!DM_isNumb(n,"POSINT") || n==0) n=1;
	for (var i=0,buf=str.split(" ");i<buf.length;i++)
	{
		if (/\S/.test(buf[i]) && buf[i].length>=n)
		{
			buf[i]=buf[i].charAt(0).toUpperCase()+(buf[i].length>1?buf[i].substring(1):"");
		}
	}
	return buf.join(" ")
};

function DM_trim(str,charlist,nocase)
{
	if (typeof(str)!="string") return;
	var def_charlist=["\\s","\\t","\\n","\\r"];
	if (!DM_isArray(charlist)) charlist=(typeof(charlist)=="string")?[charlist]:def_charlist;
	else if (!charlist.length) charlist=def_charlist;
	return str.replace(eval("/["+charlist.join("")+"]/g"+(nocase?"i":"")),"")
};

function DM_replace(str,regex,repl)
{
	if (str==null || typeof(str)!="string") return; else str=new String(str);
	if (typeof(regex)!="string" || !/^\/.*\/[gim]*$/.test(regex)) return;
	if (repl==null) repl=""; else if (typeof(repl)!="string") return;
	return eval("str.replace("+regex+",'"+repl+"')");
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
20: COOKIE MANAGEMENT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_setCookie(name,value,days)
{
	if (days)
	{
		var date=new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires="; expires="+date.toGMTString();
	}
	else var expires="";
	d.cookie=name+"="+value+expires+"; path=/";
	return true;
};

function DM_getCookie(name)
{
	var nameEQ=name+"=";
	var ca=d.cookie.split(";");
	for (var i=0;i<ca.length;i++)
	{
		var c=ca[i];
		while (c.charAt(0)==" ") c=c.substring(1,c.length);
		if (c.indexOf(nameEQ)==0) return c.substring(nameEQ.length,c.length);
	}
	return
};

function DM_remCookie(name){DM_setCookie(name,"",-1)};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
21: MSIE EXCLUSIVE FUNCTIONS
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_PNGswap(e)
{
	var o;
	if (!(o=DM_getObjCopy(e))) return;
	if (isIE6 && o.nodeName.toUpperCase()=="SPAN") o=o.filters(0);
	if (!/\.png$/i.test(o.src)) return;
	var p=/_omo\.png$/i.test(o.src)?["_omo",""]:[".png","_omo.png"];
	o.src=o.src.replace(p[0],p[1]);
	return
};

/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
21: FORM VALIDATION
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function DM_clrFormFields(e,typ)
{
	var o=[];
	var fld,pat;
	var def_typ=["text","password"];
	var die=false;
	
	if (e==null) o=d.forms;
	else
	{
		if (!DM_isArray(e)) e=[e];
		for (var i=0;i<e.length;i++)
		{
			o.push(DM_getObjCopy(e[i]));
			if (o[o.length-1] && o[o.length-1].nodeName.toUpperCase()=="FORM") continue;
			die=true;
			break
		}
	}
	
	if (die) return;
	if (!DM_isArray(typ)) typ=typeof(typ)=="string"?[typ]:def_typ;
	else if (!typ.length) typ=def_typ;
	
	for (var i=0;i<typ.length;i++) typ[i]="^\\s*"+typ[i]+"\\s*$";
	for (var i=0,pat="/"+typ.join("|")+"/i";i<o.length;i++)
	{
		for (var j=0,fld=o[i].getElementsByTagName("input");j<fld.length;j++)
		if (eval(pat).test(fld[j].type)) fld[j].value="";
	}
	return
};

