if ( typeof Aris != 'function' ) {
var Aris = function () {
	var pgRoot = document.getElementsByTagName('html')[0];
	var hasMinDOM = (document.getElementById && document.getElementsByTagName) ? true:false;
  return {
	InitPage: function(reqdFlash) {
		$CSS.AddClass(pgRoot,'hasScript');
		if ( Aris.Detect.Flash(reqdFlash || 6) ) $CSS.AddClass(pgRoot,'hasFlash');
	},
	
	onload: function(e){
		if ( !hasMinDOM ) return;
		for (var obj in this) { if ( this[obj].onload ) this[obj].onload(e); }
	},
	
	PopWin: function (url, name, width, height) {
		var win, s;
		if (width || height) {
			var h = height || 570;
			var w = width || 770;
			var lp = (screen.width) ? (screen.width-w)/2 : 0;
			var tp = (screen.height) ? (screen.height-h)/2 : 0;
			s = 'height='+ h +',width='+ w +',top='+tp+',left='+lp+',scrollbars=yes,resizable,menubar=1';
		} else s = '';
		win = window.open(url,name,s);
		if (win) win.focus();
		return !win ;
	}}
}();

//Aris.DOM
Aris.DOM = {
	getObj: function() {
	  var els = new Array();
	  for (var i = 0,el; el=arguments[i]; i++) {
		if (typeof el == 'string')
		  el = document.getElementById(el);
		if (arguments.length == 1) 
		  return el;
		els.push(el);
	  }
	  return els;
	},
	getElementsByClass: function (searchClass,node,tag) {
		var cEls = new Array();
		if (node == null) node = document;
		if (tag == null) tag = '*';
		var iev = Aris.Detect.IEVersion();
		var els = ( iev < 6 && iev > 0 && tag == '*' ) ? node.all : node.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
		for (var i=0,j=0; i < elsLen; i++) {
			if ( pattern.test(els[i].className) ) { cEls[j++] = els[i]; }
		}
		return cEls;
	},
	create: function(el,params,parent) {
		var o = Object.extend( document.createElement(el), params);
		if ( parent ) parent.appendChild(o);
		return o;
	}
}
var $class = Aris.DOM.getElementsByClass; // shortcut
var $ = Aris.DOM.getObj; //support prototype.lite.js

// Aris.CSS
// based inpart off of function found at 
// http://www.onlinetools.org/articles/unobtrusivejavascript/cssjsseparation.htmlvar
Aris.CSS = {
	SwapClass : function(o,c1,c2) { o.className=!this.CheckClass(o,c1)?o.className.replace(c2,c1): o.className.replace(c1,c2); },
	AddClass : function(o, c1) { if(!this.CheckClass(o,c1)){o.className+=o.className?' '+c1:c1;} },
	RemoveClass : function(o, c1) { var rep=o.className.match(' '+c1)?' '+c1:c1; o.className=o.className.replace(rep,''); },
	CheckClass : function(o, c1) { return new RegExp('\\b'+c1+'\\b').test(o.className) },
	SetOpacity: function(o,val) {
		o.style.opacity = (val<1) ? val:.999;
		if(window.ActiveXObject) o.style.filter = "alpha(opacity:"+val*100+")";
		o.style.visibility = ( val > 0 ) ?  'visible' : 'hidden' ; //fix bug in safari
	},
	include: function(params) {
		var p = Object.extend({type:'text/css',id: 'loadCSS',rel:'stylesheet',media:'screen,projection'},params);
		var h = document.getElementsByTagName('head')[0];
		var csstag = $(p.id);
		if(csstag) h.removeChild(csstag);
		var css = Aris.DOM.create('link', p);
		h.appendChild(css);
	}
}
var $CSS = Aris.CSS; //provides short cut

// DETECT OBJECT
///////////////////////////////////////////
Aris.Detect = {
 IEVersion : function () {var rv = -1;if (navigator.appName == 'Microsoft Internet Explorer') {var ua = navigator.userAgent;var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");if (re.exec(ua) != null)rv = parseFloat( RegExp.$1 );}return rv;},
 isSafari: (/Safari|Konqueror|KHTML/gi).test(navigator.userAgent),
 FlashVersion : function () {var flashversion = 0;if (navigator.plugins && navigator.mimeTypes.length) {var x = navigator.plugins["Shockwave Flash"];if(x && x.description) {var y = x.description;flashversion = y.charAt(y.indexOf('.')-1);}} else {result = false;for(var i = 15; i >= 3 && result != true; i--){execScript('on error resume next: result = IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.'+i+'"))','VBScript');flashversion = i;}}return flashversion;},
 Flash : function (ver) { return (Aris.Detect.FlashVersion() >= ver) ? true:false; }
}

//stripped down version of YAHOO.util.Events with some minor code ajustments
Aris.Events = function() {
	var pageLoaded = false;
	var listeners = []; //store for automatic event unloading
  return {
	listen: function(el,eType,fn,scope) {
		if ( !el || !fn || !fn.call ) return;
		if ( Aris.Events._isValidCollection(el) ) {
			var ok = true;
			for(var i=el.length-1,eli;eli=el[i]; i--) { ok &= this.listen(eli,eType,fn,scope); }
			return ok;
		}
		if ( typeof el == "string" ) { 
			if ( pageLoaded ) return this.listen( $(el), eType, fn, scope );
			else return false; //delay not supported
		}
		var wFn;
		if ( scope ) { wFn = fn.bindListener(scope,el); }
		else { wFn = fn.bindListener(el); }
		var li = [el,eType,fn,wFn,scope];
		var idx = listeners.length;
		listeners[idx] = li;
		if (el.addEventListener) { el.addEventListener(eType, wFn, false); }
		else if (el.attachEvent) { el.attachEvent("on" + eType, wFn); }
		return true;
	},
	
	onload: function(ev) {pageLoaded = true;},
	
	preventDefault: function(ev) {
		if (ev.preventDefault) {ev.preventDefault();}
		else {ev.returnValue = false;}
	},

	remove: function(el,eType,fn,scope) {
		if (!fn || !fn.call) return false;
		if ( this._isValidCollection(el) ) {
			var ok = true;
			for(var i=el.length-1,eli;eli=el[i]; i--) {
				ok &= this.remove(eli, eType, fn);
			}
			return ok;
		}
		el = $(el);
		var cacheItem = null;
		if ("undefined" == typeof idx) { idx = this._getCacheIndex(el, eType, fn); }
		if (idx >= 0) { cacheItem = listeners[idx]; }
		if (!el || !cacheItem) { return false; }
		if (el.removeEventListener) { el.removeEventListener(eType, cacheItem[3], false); } 
		else if (el.detachEvent) { el.detachEvent("on" + eType, cacheItem[3]); }
		// removed the wrapped handler
		delete listeners[idx][3];
		delete listeners[idx][2];
		delete listeners[idx];
		return true;
	},

	stopEvent: function(ev) {
		this.stopPropagation(ev);
		this.preventDefault(ev);
	},

	stopPropagation: function(ev) {
		if (ev.stopPropagation) {
			ev.stopPropagation();
		} else {
			ev.cancelBubble = true;
		}
	},

	unload: function(e) {
		if (listeners && listeners.length > 0) {
			for (i=0,len=listeners.length; i<len ; ++i) {
				l = listeners[i];
				if (l) this.remove(l[0], l[1], l[2], i);
			}
		}
	},

	_getCacheIndex: function(el, eType, fn) {
		for (var i=0,li; li=listeners[i]; ++i) {
			if ( li && li[3] == fn && li[0] == el && li[1] == eType ) return i;
		}
		return -1;
	},

	_isValidCollection: function(o) {
		return ( o && // o is something
			o.length && // o is indexed
			typeof o != "string" && // o is not a string
			!o.tagName && // o is not an HTML element
			!o.alert && // o is not a window
			typeof o[0] != "undefined" );
	}
  }
}();
var $AE = Aris.Events.listen;
var $RE = Aris.Events.remove;

// Various Helpful Prototypes
//////////////////////////////////////
/*	extend, bind, bindListener: from prototype.js[http://prototype.conio.net]) */
Object.extend = function (dest, src) {
	if ( !src ) return dest;
	for (var prop in src) dest[prop] = src[prop];
	return dest;
}

//Function extensions
Object.extend( Function.prototype, {
bind: function(obj) {
	var __method = this;
	return function() { return __method.apply(obj,arguments); };
},
bindListener: function(obj,orig) {
	var __method = this;
	return function(e) { return __method.call(obj,e||window.event,orig); };
}
});

//Array extensions
/* from prototype.lite.js [http://moofx.mad4milk.net]*/
Object.extend( Array.prototype, {
each: function(func) {
	for(var i=0,ob; ob=this[i];i++) func(ob,i);
},
copy: function() {
	var n = [];
	for(var i=0,li; li=this[i];i++) n.push(li);
	return n;
}
});

Aris.InitPage(8);
$AE(window,'load',Aris.onload, Aris);
$AE(window,'unload',Aris.Events.unload, Aris.Events);
}