/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SYSTEM VARIABLES
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
var o 		= null;																	// Default Object Container
var d 		= document;																// Document Alias
var t 		= new Array();															// Ineterval/Timeout IDs
var w 		= null;																	// Window Container
var s 		= [screen.width,screen.height,screen.availWidth,screen.availHeight];	// Current Screen Dimensions (w,h)
var p		= {};																	// Generic Page Configuration Variable
var init	= new Function;															// Document OnLoad Initializer


/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
BROWSER SNIFFER (JSBRWSNIFF)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
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)};

var br		= getBrowser();											// Browser Identifier
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 isIE5	= isIE&&isDOM&&getMajorVersion(br[1])==5?1:0;			// Internet Explorer (v5)
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 isIE8	= isIE&&isDOM&&getMajorVersion(br[1])>=8?1:0;			// Internet Explorer (v8 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 (1.0 and up)
var isMoz2	= br[0]=="firefox"&&getMajorVersion(br[1])==2?1:0;		// Firefox (2.0 and up)
var isMoz3	= br[0]=="firefox"&&getMajorVersion(br[1])==3?1:0;		// Firefox (3.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.


/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
SYSTEM FUNCTIONS
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
function $()
{
	if (!arguments.length) return null;
	else
	{
		var Argument=[];
		var Elements=[];
		var Document;
		
		if (typeof(arguments[0])=="object" && arguments[0].getElementsByTagName("html").length>0)
		{
			Document=arguments[0];
			for (var i=1;i<arguments.length;i++) Argument.push(arguments[i]);
		}
		else
		{
			Document=d;
			Argument=arguments
		}
	}
	
	for (var i=0;i<Argument.length;i++)
	{
		if (Argument[i]==null) continue; else var e=Argument[i];
		if (typeof(e)=="string") e=Document.getElementById(e);
		if (Argument.length==1) return e; else Elements.push(e);
	}
	
	return Elements.length?Elements:null
}

function $C(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 $SIZEOF(obj)
{
	return isNS4?[obj.clip.width,obj.clip.height]:[obj.bjoffsetWidth,obj.offsetHeight]
}

function $RESIZE(obj,w,h)
{
	if (w==null || w<0) w=$SIZEOF(obj)[0];
	if (h==null || h<0) h=$SIZEOF(obj)[1];
	if (isNS4) obj.width=w,obj.height=h;
	else obj.style.width=w+"px",obj.style.height=h+"px";
	return [w,h]
};

function $INC(file,bNOCACHE,type,where)
{
	var pg=d.getElementsByTagName(where?where.toLowerCase():"head").item(0);
	var rand=function rand(rng,f){if(rng==null)rng=0;var numb=Math.random()*(++rng);return f?numb:Math.floor(numb)};
	var el;
	
	switch (type?type.toUpperCase():"JS")
	{
		default:
			el=d.createElement("script");
			if (bNOCACHE) file+="?"+rand(1000)+"="+rand(1000);
			el.setAttribute("language","javascript");
			el.setAttribute("type","text/javascript");
			el.setAttribute("src",file);
		break;
		
		case "CSS":
			el=d.createElement("link");
			el.setAttribute("rel","stylesheet");
			el.setAttribute("type","text/css");
			el.setAttribute("href",file);
		break;
	}
	
	pg.appendChild(el);
	return false
};

function $GET_HTTP_VAR()
{
	if (typeof(arguments[0])=='object')
	{
		var Document	= arguments[0];
		var Name		= arguments[1];
		var Url			= arguments[2]?arguments[2]:Document.location.href;
		var bCS			= arguments[3]?true:false;
	}
	else
	{
		var Document	= document;
		var Name		= arguments[0];
		var Url			= arguments[1]?arguments[1]:Document.location.href;
		var bCS			= arguments[2]?true:false;
	}
	
	var rx="/\\b"+Name+"\\b=([^&#]*)/"+(bCS?"":"i");
	return eval(rx).test(Url)?RegExp.$1:""
};


/*
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
LOW-LEVEL OPERATIONS
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
window.onload=function(){init()};
